open-index/open-npm huggingface dataset:
npm package: @siemens/charts-ng
Description: Element Charts library.
Author: Siemens AG
Latest version: 49.5.0

# Element Charts

The Element chart library for Angular based on ECharts. Going through the roof. Stoinks.

## Usage

To use the Element Charts Angular components in your project, add them to your dependencies
by executing:

```sh
npm install --save @siemens/charts-ng
```

You also have to install the peer dependencies of Element Charts.

```sh
npm install echarts --save
```

Import the library to your Angular `AppModule`, mostly residing in your
`src/app/app.modules.ts` file as follows:

```ts
// [...]

// Import this library
import { SiChartsNgModule } from '@siemens/charts-ng';

@NgModule({
  declarations: [AppComponent],
  imports: [BrowserModule, SiChartsNgModule],
  providers: [],
  bootstrap: [AppComponent]
})
export class AppModule {}
```

Starting with v49, Element Charts uses separate entry points for each component.
Import components directly from their specific entry points:

```ts
import { SiChartCartesianComponent } from '@siemens/charts-ng/cartesian';
import { SiChartCircleComponent } from '@siemens/charts-ng/circle';
import { SiChartGaugeComponent } from '@siemens/charts-ng/gauge';
// ... and other components

@Component({
  imports: [SiChartCartesianComponent, ...]
})
export class AppComponent {}
```

### Running unit tests

Run `npm run charts:test` to perform the unit tests via [Vitest](https://main.vitest.dev/).

## License

The following applies for code and documentation of the git repository,
unless explicitly mentioned.

Copyright (c) Siemens 2016 - 2026

MIT, see [LICENSE.md](LICENSE.md).
npm package: @siemens/element-icons
Description: Icon set for the Siemens Element design system.
Author: Siemens
Latest version: 1.1.0

<p align="center">
  <a href="https://element.siemens.io" target="_blank">
    <img src="https://raw.githubusercontent.com/siemens/element/refs/heads/main/element-logo.svg" alt="Element Website" height="132" width="132">
  </a>
</p>

<h1 align="center">Siemens Element Icons</h1>

<p align="center">
  <a href="https://www.npmjs.com/@siemens/element-icons">
    <img src="https://img.shields.io/npm/v/@siemens/element-icons.svg?logo=npm&logoColor=fff&label=NPM+package&color=limegreen" alt="Element Icons on npm" />
  </a>
</p>

<p></p>
<p align="center">
  Siemens Element Icons is an icon set for the Siemens Element design system.
</p>
<p></p>

## Contributing

Improvements are always welcome! Feel free to log a bug,
write a suggestion, or contribute code by creating a pull request.
All details are listed in our contribution guide.

See [CONTRIBUTING.md](CONTRIBUTING.md).

## License

The following applies for code and documentation of the git repository,
unless explicitly mentioned.

Copyright (c) Siemens 2016 - 2025

MIT, see [LICENSE.md](LICENSE.md).
npm package: @siemens/element-ng
Description: Element Angular component library, implementing the Siemens Design Language
Author: Siemens AG
Latest version: 49.5.0

<p align="center">
  <a href="https://element.siemens.io" target="_blank">
    <img src="https://raw.githubusercontent.com/siemens/element/refs/heads/main/element-logo.svg" alt="Element Website" height="132" width="132">
  </a>
</p>

<h1 align="center">Siemens Element</h1>

<p align="center">
  <a href="https://www.npmjs.com/@siemens/element-ng">
    <img src="https://img.shields.io/npm/v/@siemens/element-ng.svg?logo=npm&logoColor=fff&label=NPM+package&color=limegreen" alt="Element on npm" />
  </a>
  <a href="https://element.siemens.io/coverage/element-ng/index.html">
    <img src="https://img.shields.io/endpoint?url=https://element.siemens.io/coverage-summary.json" alt="Code Coverage">
  </a>
</p>

<p></p>
<p align="center">
  Siemens Element is a design system of the smart infrastructure domain
  that implements the Siemens Design Language in Angular. It includes UI
  components, design tools and resources, human interface guidelines, and a
  vibrant community of contributors.
</p>
<p></p>

<hr>

## Contributing

Improvements are always welcome! Feel free to log a bug,
write a suggestion, or contribute code by creating a pull request.
All details are listed in our contribution guide.

See [CONTRIBUTING.md](CONTRIBUTING.md).

## License

The following applies for code and documentation of the git repository,
unless explicitly mentioned.

Copyright (c) Siemens 2016 - 2026

MIT, see [LICENSE.md](LICENSE.md).

### Bootstrap

The source code in the folder [bootstrap](./projects/element-theme/src/styles/bootstrap/)
is based on [Bootstrap (v5.1.3)](https://github.com/twbs/bootstrap). We changed and adapted
the SASS component files to our needs. At that point in time, it was under _MIT License_
and _Copyright (c) 2011-2024 The Bootstrap Authors_.

### API Goldens

The source code in the folder [tools/api-goldens](./tools/api-goldens/) is based on [dev-infra-private-build-tooling-builds](https://github.com/angular/dev-infra-private-build-tooling-builds/tree/main/bazel/api-golden).
We changed and adapted the code to our needs. At that point in time it was under _MIT License_ and _Copyright Google LLC_.
npm package: @siemens/element-translate-ng
Description: Element translation abstraction layer.
Author: Siemens AG
Latest version: 49.5.0

# Element Translate

`element-translate-ng` is a translation abstraction layer. It can be used with

- `ngx-translate`
- Angular localize
- Other frameworks in the future

See [here](https://element.siemens.io/fundamentals/localization/#translation-in-element)
for details how it works and how to use it.

## Usage

Install the library as follows:

```sh
npm install --save @siemens/element-translate-ng
```

An important part of the library is the extraction of translatable keys as a TypeScript interface
as well as extracting a JSON messages file with default translations. The extraction happens on
compiled files. I.e. make sure to run the build first. Then, to run these extractions

```sh
npx update-translatable-keys
```

By default, this will pick of the configuration from a file `element-translate.conf.json`. To
use a different config file, pass as the only argument to the command.

The config file looks like this

```json
{
  "files": "dist/@simpl/**/fesm2022/**/*.mjs",
  "configs": [
    {
      "name": "element",
      "locationPrefix": "projects/element-ng",
      "keysFile": "projects/element-ng/translate/si-translatable-keys.interface.ts",
      "keysInterfaceName": "SiTranslatableKeys",
      "messagesFile": "dist/@siemens/element-ng/template-i18n.json"
    }
  ]
}
```

- `files` is a glob pattern for defining the files to scan
- `configs` is an array of configs. For mono-repos building multiple libraries, they can be
  separated into different configs. All keys are required:
  - `name` is a unique name
  - `locationsPrefix` defines the path prefix of the source files, important to distinguish
    between different libraries in a mono-repo
  - `keysFile` defines the path of the generated TypeScript interfaces file
  - `keysInterfaceName` defines the name of the TypeScript `interface`
  - `messagesFile` defines the path of the generated messages JSON file

## Testing

Run `npm run translate:test` to perform the unit tests via [Vitest](https://vitest.dev/).

## License

The following applies for code and documentation of the git repository,
unless explicitly mentioned.

Copyright (c) Siemens 2016 - 2026

MIT, see [LICENSE.md](LICENSE.md).
npm package: @siemens/eslint-plugin-defaultvalue
Description: Automatically enrich TSDoc comments with default values or check if they are all correct.
Author: Siemens
Latest version: 4.2.1

# eslint-plugin-defaultvalue

An ESLint plugin to automatically enrich TSDoc comments with default values (using --fix) or check if they are all correct.
The rule is aware of `Signals` by `@angular/core` and will automatically use the actual value instead of the whole `signal` function.

## Installation

Install `@siemens/eslint-plugin-defaultvalue` in your project.

```bash
npm install @siemens/eslint-plugin-defaultvalue --save-dev
```

## Configuration

Include the ESLint plugin and rule in your relevant `eslint.config.(m)js`:

```js
...
import defaultvalue from '@siemens/eslint-plugin-defaultvalue';

export default [
  {
    ...,
    plugins: {
      ...,
      defaultvalue
    },
    rules: {
      ...,
      'defaultvalue/tsdoc-defaultValue-annotation': ['error']
    }
  }
];
```