@siemens/element-ng 51.1.0 → 51.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -2
- package/fesm2022/siemens-element-ng-about.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-accordion.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-action-modal.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-ag-grid.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-application-header.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-auto-collapsable-list.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-autocomplete.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-avatar.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-badge.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-breadcrumb-router.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-breadcrumb.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-card.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-carousel.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-chat-messages.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-circle-status.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-color-picker.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-column-selection-dialog.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-common.mjs +13 -17
- package/fesm2022/siemens-element-ng-common.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-connection-strength.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-content-action-bar.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-copyright-notice.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-dashboard.mjs +15 -1
- package/fesm2022/siemens-element-ng-dashboard.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-datatable.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-date-range-filter.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-datepicker.mjs +13 -3
- package/fesm2022/siemens-element-ng-datepicker.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-electron-titlebar.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-empty-state.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-file-uploader.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-filter-bar.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-filtered-search.mjs +8 -5
- package/fesm2022/siemens-element-ng-filtered-search.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-footer.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-form.mjs +4 -4
- package/fesm2022/siemens-element-ng-form.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-formly-legacy.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-formly.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-header-dropdown.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-help-button.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-icon.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-info-page.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-inline-notification.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-ip-input.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-landing-page.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-language-switcher.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-link.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-list-details.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-loading-spinner.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-localization.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-main-detail-container.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-maplibre.mjs +2 -2
- package/fesm2022/siemens-element-ng-maplibre.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-markdown-directives-tabs.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-markdown-extensions-citations.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-markdown-extensions-katex.mjs +2 -2
- package/fesm2022/siemens-element-ng-markdown-extensions-katex.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-markdown-extensions-mermaid.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-markdown-hightlighter-highlightjs.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-markdown.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-menu.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-modal.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-navbar-vertical-next.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-navbar-vertical.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-navbar.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-notification-item.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-number-input.mjs +3 -3
- package/fesm2022/siemens-element-ng-number-input.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-pagination.mjs +2 -2
- package/fesm2022/siemens-element-ng-pagination.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-password-strength.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-password-toggle.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-phone-number.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-photo-upload.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-pills-input.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-popover-legacy.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-popover.mjs +16 -5
- package/fesm2022/siemens-element-ng-popover.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-progressbar.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-resize-observer.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-result-details-list.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-search-bar.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-select.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-shadow-root.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-side-panel.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-skip-links.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-slider.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-source-chip.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-split.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-status-bar.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-status-counter.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-status-toggle.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-summary-chip.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-summary-widget.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-system-banner.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-tabs-legacy.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-tabs.mjs +7 -5
- package/fesm2022/siemens-element-ng-tabs.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-theme.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-threshold.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-toast-notification.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-tooltip.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-tour.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-translate.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-tree-view.mjs +15 -10
- package/fesm2022/siemens-element-ng-tree-view.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-typeahead.mjs +9 -0
- package/fesm2022/siemens-element-ng-typeahead.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-wizard.mjs.map +1 -1
- package/fesm2022/siemens-element-ng.mjs.map +1 -1
- package/maplibre/styles/maplibre-gl.scss +8 -2
- package/package.json +5 -5
- package/schematics/migrations/data/attribute-selectors.js +8 -1
- package/schematics/migrations/data/element-selectors.js +7 -1
- package/schematics/migrations/data/symbol-renaming.js +10 -0
- package/schematics/migrations/utilities/attribute-selector.migration.js +26 -10
- package/schematics/migrations/utilities/element-selector.migration.js +25 -15
- package/schematics/migrations/utilities/symbol-renaming.migration.js +90 -3
- package/schematics/utils/template-edit-utils.js +9 -0
- package/template-i18n.json +2 -2
- package/types/siemens-element-ng-dashboard.d.ts +2 -0
- package/types/siemens-element-ng-datepicker.d.ts +6 -1
- package/types/siemens-element-ng-form.d.ts +1 -1
- package/types/siemens-element-ng-number-input.d.ts +2 -2
- package/types/siemens-element-ng-popover.d.ts +1 -1
- package/types/siemens-element-ng-tabs.d.ts +1 -0
- package/types/siemens-element-ng-tree-view.d.ts +1 -0
- package/types/siemens-element-ng-typeahead.d.ts +7 -0
package/README.md
CHANGED
|
@@ -10,8 +10,8 @@
|
|
|
10
10
|
<a href="https://www.npmjs.com/@siemens/element-ng">
|
|
11
11
|
<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" />
|
|
12
12
|
</a>
|
|
13
|
-
<a href="https://element.siemens.io/coverage/element-ng/index.html">
|
|
14
|
-
<img src="https://img.shields.io/endpoint?url=https://element.siemens.io/coverage-summary.json" alt="Code Coverage">
|
|
13
|
+
<a href="https://element.siemens.io/development/coverage/element-ng/index.html">
|
|
14
|
+
<img src="https://img.shields.io/endpoint?url=https://element.siemens.io/development/coverage-summary.json" alt="Code Coverage">
|
|
15
15
|
</a>
|
|
16
16
|
</p>
|
|
17
17
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"siemens-element-ng-about.mjs","sources":["../../../../projects/element-ng/about/si-about.component.ts","../../../../projects/element-ng/about/si-about.component.html","../../../../projects/element-ng/about/si-about.module.ts","../../../../projects/element-ng/about/index.ts","../../../../projects/element-ng/about/siemens-element-ng-about.ts"],"sourcesContent":["/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport { NgTemplateOutlet } from '@angular/common';\nimport { HttpClient } from '@angular/common/http';\nimport { Component, computed, inject, input, OnInit, signal } from '@angular/core';\nimport { DomSanitizer } from '@angular/platform-browser';\nimport { elementDocument } from '@siemens/element-icons';\nimport { SiCollapsiblePanelComponent } from '@siemens/element-ng/accordion';\nimport { CopyrightDetails, SiCopyrightNoticeComponent } from '@siemens/element-ng/copyright-notice';\nimport { addIcons, SiIconComponent } from '@siemens/element-ng/icon';\nimport { Link, SiLinkDirective } from '@siemens/element-ng/link';\nimport { SiTranslatePipe, t } from '@siemens/element-translate-ng/translate';\n\nimport { ApiInfo, LicenseInfo } from './si-about-data.model';\n\n@Component({\n selector: 'si-about',\n imports: [\n NgTemplateOutlet,\n SiCollapsiblePanelComponent,\n SiCopyrightNoticeComponent,\n SiIconComponent,\n SiLinkDirective,\n SiTranslatePipe\n ],\n templateUrl: './si-about.component.html',\n styleUrl: './si-about.component.scss'\n})\nexport class SiAboutComponent implements OnInit {\n private http = inject(HttpClient);\n private sanitizer = inject(DomSanitizer);\n\n /**\n * Alt text for the application logo. Supports `{{appName}}` placeholder for interpolation.\n *\n * @defaultValue\n * ```\n * t(() => $localize`:@@SI_ABOUT.LOGO_ALT:{{appName}} logo`)\n * ```\n */\n readonly logoAlt = input(t(() => $localize`:@@SI_ABOUT.LOGO_ALT:{{appName}} logo`));\n\n /**\n * Title shown above the about information.\n */\n readonly aboutTitle = input.required<string>();\n /**\n * Define mode to display the licenses. See {@link LicenseInfo}\n */\n readonly licenseInfo = input.required<LicenseInfo>();\n /**\n * Path to the application logo. Use for image\n */\n readonly icon = input<string>();\n /**\n * Name of element icon. Use as alternative to image\n */\n readonly iconName = input<string>();\n /**\n * Title of this application.\n */\n readonly appName = input.required<string>();\n /**\n * Sub titles of the application. Shown as a list below the application name. (Optional)\n */\n readonly subheading = input<string[]>();\n /**\n * Link to `Acceptable Use Policy`.\n */\n readonly acceptableUsePolicyLink = input<Link>();\n /**\n * Link to `Corporate Information`.\n */\n readonly imprintLink = input<Link>();\n /**\n * Link to `Privacy Notice`.\n */\n readonly privacyLink = input<Link>();\n /**\n * Link to `Cookie Notice`.\n */\n readonly cookieNoticeLink = input<Link>();\n /**\n * Link to `Terms of Use`.\n */\n readonly termsLink = input<Link>();\n /**\n * Additional links listed in the about section.\n *\n * @defaultValue []\n */\n readonly links = input<Link[]>([]);\n /**\n * Copyright information to be displayed. Alternatively, you can use the {@link SI_COPYRIGHT_DETAILS} global inject.\n */\n readonly copyrightDetails = input<CopyrightDetails>();\n\n protected readonly sanitizedUrl = computed(() => {\n const licenseInfo = this.licenseInfo();\n return licenseInfo.iframe != null\n ? this.sanitizer.bypassSecurityTrustResourceUrl(licenseInfo.iframe)\n : undefined;\n });\n\n protected readonly licenseApi = signal<ApiInfo[]>([]);\n protected readonly icons = addIcons({ elementDocument });\n\n ngOnInit(): void {\n const licenseInfo = this.licenseInfo();\n if (licenseInfo.api) {\n this.http.get<ApiInfo[]>(licenseInfo.api, { responseType: 'json' }).subscribe(data => {\n this.licenseApi.set(data);\n if (this.licenseApi().length === 1) {\n data[0].isOpen = false;\n this.licenseApi.set([...data]);\n this.toggleLoadLicenseApi(this.licenseApi()[0]);\n }\n });\n }\n }\n\n protected toggleLoadLicenseApi(apiInfo: ApiInfo): void {\n const licenseApi = this.licenseApi();\n if (!apiInfo.isOpen && !apiInfo.files) {\n this.http.get<ApiInfo[]>(apiInfo.href, { responseType: 'json' }).subscribe(files => {\n apiInfo.files = files;\n this.licenseApi.set([...licenseApi]);\n });\n }\n apiInfo.isOpen = !apiInfo.isOpen;\n this.licenseApi.set([...licenseApi]);\n }\n\n protected toggleLoadLicenseContent(apiInfo: ApiInfo): void {\n const licenseApi = this.licenseApi();\n apiInfo.isOpen = !apiInfo.isOpen;\n if (!apiInfo.content) {\n this.http.get(apiInfo.href, { responseType: 'text' }).subscribe((content: string) => {\n apiInfo.content = content;\n this.licenseApi.set([...licenseApi]);\n });\n }\n }\n}\n","<div class=\"row mx-6 mt-6\">\n <div class=\"col-md-6 mb-6\">\n <div class=\"card overflow-hidden\">\n <div class=\"card-header text-truncate\">\n {{ aboutTitle() }}\n </div>\n\n <div class=\"list-group\">\n <div class=\"list-group-item text-center\">\n @let appIcon = iconName();\n @if (icon()) {\n <img\n class=\"rounded-circle\"\n height=\"150\"\n [src]=\"icon()\"\n [alt]=\"logoAlt() | translate: { appName: appName() }\"\n />\n } @else if (appIcon) {\n <si-icon class=\"app-icon\" [icon]=\"appIcon\" />\n }\n <h3>{{ appName() }}</h3>\n @for (item of subheading(); track $index) {\n <p>{{ item }}</p>\n }\n <si-copyright-notice [copyright]=\"copyrightDetails()\" />\n </div>\n\n @if (imprintLink()) {\n <ng-container\n [ngTemplateOutlet]=\"linkTemplate\"\n [ngTemplateOutletContext]=\"{ link: imprintLink() }\"\n />\n }\n @if (privacyLink()) {\n <ng-container\n [ngTemplateOutlet]=\"linkTemplate\"\n [ngTemplateOutletContext]=\"{ link: privacyLink() }\"\n />\n }\n @if (cookieNoticeLink()) {\n <ng-container\n [ngTemplateOutlet]=\"linkTemplate\"\n [ngTemplateOutletContext]=\"{ link: cookieNoticeLink() }\"\n />\n }\n @if (termsLink()) {\n <ng-container\n [ngTemplateOutlet]=\"linkTemplate\"\n [ngTemplateOutletContext]=\"{ link: termsLink() }\"\n />\n }\n @if (acceptableUsePolicyLink()) {\n <ng-container\n [ngTemplateOutlet]=\"linkTemplate\"\n [ngTemplateOutletContext]=\"{ link: acceptableUsePolicyLink() }\"\n />\n }\n @for (item of links(); track $index) {\n <ng-container\n [ngTemplateOutlet]=\"linkTemplate\"\n [ngTemplateOutletContext]=\"{ link: item }\"\n />\n }\n </div>\n </div>\n </div>\n\n <div class=\"col-md-6 mb-6\">\n <div class=\"card overflow-hidden\" [class.h-100]=\"licenseInfo().iframe\">\n <div class=\"card-header text-truncate\">\n {{ licenseInfo().title }}\n </div>\n\n <div class=\"h-100\">\n @if (licenseInfo().text) {\n <pre class=\"border-0 border-bottom my-0 px-6 py-4\">{{ licenseInfo().text }}</pre>\n }\n\n @if (sanitizedUrl()) {\n <iframe class=\"w-100 h-100\" [src]=\"sanitizedUrl()\" [title]=\"licenseInfo().title\"></iframe>\n }\n\n @if (licenseInfo().api) {\n @for (api of licenseApi(); track $index) {\n <si-collapsible-panel\n colorVariant=\"base-0\"\n class=\"license-api\"\n [heading]=\"api.name\"\n (panelToggle)=\"toggleLoadLicenseApi(api)\"\n >\n @for (file of api.files; track $index) {\n <si-collapsible-panel\n colorVariant=\"base-0\"\n class=\"license-api-file\"\n [icon]=\"licenseInfo().icon ? licenseInfo().icon : icons.elementDocument\"\n [heading]=\"file.name\"\n (panelToggle)=\"toggleLoadLicenseContent(file)\"\n >\n <pre class=\"license-api-file-content px-6 py-6 my-0 border-0\">{{\n file.content\n }}</pre>\n </si-collapsible-panel>\n }\n </si-collapsible-panel>\n }\n }\n </div>\n </div>\n </div>\n</div>\n\n<ng-template #linkTemplate let-link=\"link\">\n <a\n class=\"list-group-item si-h5 text-primary focus-inside\"\n siLinkDefaultTarget=\"_blank\"\n [siLink]=\"link\"\n >\n {{ link.title | translate }}\n </a>\n</ng-template>\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport { NgModule } from '@angular/core';\n\nimport { SiAboutComponent } from './si-about.component';\n\n@NgModule({\n imports: [SiAboutComponent],\n exports: [SiAboutComponent]\n})\nexport class SiAboutModule {}\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nexport * from './si-about.component';\nexport * from './si-about.module';\nexport * from './si-about-data.model';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"siemens-element-ng-about.mjs","sources":["../../../../projects/element-ng/about/si-about.component.ts","../../../../projects/element-ng/about/si-about.component.html","../../../../projects/element-ng/about/si-about.module.ts","../../../../projects/element-ng/about/index.ts","../../../../projects/element-ng/about/siemens-element-ng-about.ts"],"sourcesContent":["/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport { NgTemplateOutlet } from '@angular/common';\nimport { HttpClient } from '@angular/common/http';\nimport { Component, computed, inject, input, OnInit, signal } from '@angular/core';\nimport { DomSanitizer } from '@angular/platform-browser';\nimport { elementDocument } from '@siemens/element-icons';\nimport { SiCollapsiblePanelComponent } from '@siemens/element-ng/accordion';\nimport { CopyrightDetails, SiCopyrightNoticeComponent } from '@siemens/element-ng/copyright-notice';\nimport { addIcons, SiIconComponent } from '@siemens/element-ng/icon';\nimport { Link, SiLinkDirective } from '@siemens/element-ng/link';\nimport { SiTranslatePipe, t } from '@siemens/element-translate-ng/translate';\n\nimport { ApiInfo, LicenseInfo } from './si-about-data.model';\n\n@Component({\n selector: 'si-about',\n imports: [\n NgTemplateOutlet,\n SiCollapsiblePanelComponent,\n SiCopyrightNoticeComponent,\n SiIconComponent,\n SiLinkDirective,\n SiTranslatePipe\n ],\n templateUrl: './si-about.component.html',\n styleUrl: './si-about.component.scss'\n})\nexport class SiAboutComponent implements OnInit {\n private http = inject(HttpClient);\n private sanitizer = inject(DomSanitizer);\n\n /**\n * Alt text for the application logo. Supports `{{appName}}` placeholder for interpolation.\n *\n * @defaultValue\n * ```\n * t(() => $localize`:@@SI_ABOUT.LOGO_ALT:{{appName}} logo`)\n * ```\n */\n readonly logoAlt = input(t(() => $localize`:@@SI_ABOUT.LOGO_ALT:{{appName}} logo`));\n\n /**\n * Title shown above the about information.\n */\n readonly aboutTitle = input.required<string>();\n /**\n * Define mode to display the licenses. See {@link LicenseInfo}\n */\n readonly licenseInfo = input.required<LicenseInfo>();\n /**\n * Path to the application logo. Use for image\n */\n readonly icon = input<string>();\n /**\n * Name of element icon. Use as alternative to image\n */\n readonly iconName = input<string>();\n /**\n * Title of this application.\n */\n readonly appName = input.required<string>();\n /**\n * Sub titles of the application. Shown as a list below the application name. (Optional)\n */\n readonly subheading = input<string[]>();\n /**\n * Link to `Acceptable Use Policy`.\n */\n readonly acceptableUsePolicyLink = input<Link>();\n /**\n * Link to `Corporate Information`.\n */\n readonly imprintLink = input<Link>();\n /**\n * Link to `Privacy Notice`.\n */\n readonly privacyLink = input<Link>();\n /**\n * Link to `Cookie Notice`.\n */\n readonly cookieNoticeLink = input<Link>();\n /**\n * Link to `Terms of Use`.\n */\n readonly termsLink = input<Link>();\n /**\n * Additional links listed in the about section.\n *\n * @defaultValue []\n */\n readonly links = input<Link[]>([]);\n /**\n * Copyright information to be displayed. Alternatively, you can use the {@link SI_COPYRIGHT_DETAILS} global inject.\n */\n readonly copyrightDetails = input<CopyrightDetails>();\n\n protected readonly sanitizedUrl = computed(() => {\n const licenseInfo = this.licenseInfo();\n return licenseInfo.iframe != null\n ? this.sanitizer.bypassSecurityTrustResourceUrl(licenseInfo.iframe)\n : undefined;\n });\n\n protected readonly licenseApi = signal<ApiInfo[]>([]);\n protected readonly icons = addIcons({ elementDocument });\n\n ngOnInit(): void {\n const licenseInfo = this.licenseInfo();\n if (licenseInfo.api) {\n this.http.get<ApiInfo[]>(licenseInfo.api, { responseType: 'json' }).subscribe(data => {\n this.licenseApi.set(data);\n if (this.licenseApi().length === 1) {\n data[0].isOpen = false;\n this.licenseApi.set([...data]);\n this.toggleLoadLicenseApi(this.licenseApi()[0]);\n }\n });\n }\n }\n\n protected toggleLoadLicenseApi(apiInfo: ApiInfo): void {\n const licenseApi = this.licenseApi();\n if (!apiInfo.isOpen && !apiInfo.files) {\n this.http.get<ApiInfo[]>(apiInfo.href, { responseType: 'json' }).subscribe(files => {\n apiInfo.files = files;\n this.licenseApi.set([...licenseApi]);\n });\n }\n apiInfo.isOpen = !apiInfo.isOpen;\n this.licenseApi.set([...licenseApi]);\n }\n\n protected toggleLoadLicenseContent(apiInfo: ApiInfo): void {\n const licenseApi = this.licenseApi();\n apiInfo.isOpen = !apiInfo.isOpen;\n if (!apiInfo.content) {\n this.http.get(apiInfo.href, { responseType: 'text' }).subscribe((content: string) => {\n apiInfo.content = content;\n this.licenseApi.set([...licenseApi]);\n });\n }\n }\n}\n","<div class=\"row mx-6 mt-6\">\n <div class=\"col-md-6 mb-6\">\n <div class=\"card overflow-hidden\">\n <div class=\"card-header text-truncate\">\n {{ aboutTitle() }}\n </div>\n\n <div class=\"list-group\">\n <div class=\"list-group-item text-center\">\n @let appIcon = iconName();\n @if (icon()) {\n <img\n class=\"rounded-circle\"\n height=\"150\"\n [src]=\"icon()\"\n [alt]=\"logoAlt() | translate: { appName: appName() }\"\n />\n } @else if (appIcon) {\n <si-icon class=\"app-icon\" [icon]=\"appIcon\" />\n }\n <h3>{{ appName() }}</h3>\n @for (item of subheading(); track $index) {\n <p>{{ item }}</p>\n }\n <si-copyright-notice [copyright]=\"copyrightDetails()\" />\n </div>\n\n @if (imprintLink()) {\n <ng-container\n [ngTemplateOutlet]=\"linkTemplate\"\n [ngTemplateOutletContext]=\"{ link: imprintLink() }\"\n />\n }\n @if (privacyLink()) {\n <ng-container\n [ngTemplateOutlet]=\"linkTemplate\"\n [ngTemplateOutletContext]=\"{ link: privacyLink() }\"\n />\n }\n @if (cookieNoticeLink()) {\n <ng-container\n [ngTemplateOutlet]=\"linkTemplate\"\n [ngTemplateOutletContext]=\"{ link: cookieNoticeLink() }\"\n />\n }\n @if (termsLink()) {\n <ng-container\n [ngTemplateOutlet]=\"linkTemplate\"\n [ngTemplateOutletContext]=\"{ link: termsLink() }\"\n />\n }\n @if (acceptableUsePolicyLink()) {\n <ng-container\n [ngTemplateOutlet]=\"linkTemplate\"\n [ngTemplateOutletContext]=\"{ link: acceptableUsePolicyLink() }\"\n />\n }\n @for (item of links(); track $index) {\n <ng-container\n [ngTemplateOutlet]=\"linkTemplate\"\n [ngTemplateOutletContext]=\"{ link: item }\"\n />\n }\n </div>\n </div>\n </div>\n\n <div class=\"col-md-6 mb-6\">\n <div class=\"card overflow-hidden\" [class.h-100]=\"licenseInfo().iframe\">\n <div class=\"card-header text-truncate\">\n {{ licenseInfo().title }}\n </div>\n\n <div class=\"h-100\">\n @if (licenseInfo().text) {\n <pre class=\"border-0 border-bottom my-0 px-6 py-4\">{{ licenseInfo().text }}</pre>\n }\n\n @if (sanitizedUrl()) {\n <iframe class=\"w-100 h-100\" [src]=\"sanitizedUrl()\" [title]=\"licenseInfo().title\"></iframe>\n }\n\n @if (licenseInfo().api) {\n @for (api of licenseApi(); track $index) {\n <si-collapsible-panel\n colorVariant=\"base-0\"\n class=\"license-api\"\n [heading]=\"api.name\"\n (panelToggle)=\"toggleLoadLicenseApi(api)\"\n >\n @for (file of api.files; track $index) {\n <si-collapsible-panel\n colorVariant=\"base-0\"\n class=\"license-api-file\"\n [icon]=\"licenseInfo().icon ? licenseInfo().icon : icons.elementDocument\"\n [heading]=\"file.name\"\n (panelToggle)=\"toggleLoadLicenseContent(file)\"\n >\n <pre class=\"license-api-file-content px-6 py-6 my-0 border-0\">{{\n file.content\n }}</pre>\n </si-collapsible-panel>\n }\n </si-collapsible-panel>\n }\n }\n </div>\n </div>\n </div>\n</div>\n\n<ng-template #linkTemplate let-link=\"link\">\n <a\n class=\"list-group-item si-h5 text-primary focus-inside\"\n siLinkDefaultTarget=\"_blank\"\n [siLink]=\"link\"\n >\n {{ link.title | translate }}\n </a>\n</ng-template>\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport { NgModule } from '@angular/core';\n\nimport { SiAboutComponent } from './si-about.component';\n\n@NgModule({\n imports: [SiAboutComponent],\n exports: [SiAboutComponent]\n})\nexport class SiAboutModule {}\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nexport * from './si-about.component';\nexport * from './si-about.module';\nexport * from './si-about-data.model';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"siemens-element-ng-accordion.mjs","sources":["../../../../projects/element-ng/accordion/si-accordion-hcollapse.service.ts","../../../../projects/element-ng/accordion/si-accordion.service.ts","../../../../projects/element-ng/accordion/si-collapsible-panel.component.ts","../../../../projects/element-ng/accordion/si-collapsible-panel.component.html","../../../../projects/element-ng/accordion/si-accordion.component.ts","../../../../projects/element-ng/accordion/si-accordion.module.ts","../../../../projects/element-ng/accordion/index.ts","../../../../projects/element-ng/accordion/siemens-element-ng-accordion.ts"],"sourcesContent":["/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport { Injectable, signal } from '@angular/core';\nimport { Subject } from 'rxjs';\n\n/** @internal */\n@Injectable({\n providedIn: null\n})\nexport class SiAccordionHCollapseService {\n /**\n * Emitting the current horizontal collapsed state.\n *\n * @defaultValue undefined\n */\n readonly hcollapsed = signal<boolean | undefined>(undefined);\n /**\n * Subject to emit to open the accordion.\n */\n readonly open$ = new Subject();\n}\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport { Injectable, signal } from '@angular/core';\nimport { Subject } from 'rxjs';\n\n/** @internal */\n@Injectable({\n providedIn: null\n})\nexport class SiAccordionService {\n /**\n * Emit an item in the accordion which should be toggled.\n */\n readonly toggle$ = new Subject<any>();\n /**\n * Subject to emit when the items should be expanded to their full height or restored to normal height.\n *\n * @defaultValue null\n */\n readonly fullHeight = signal<boolean | null>(null);\n}\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport {\n booleanAttribute,\n Component,\n computed,\n ElementRef,\n inject,\n input,\n model,\n output,\n signal,\n viewChild\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { elementDown2 } from '@siemens/element-icons';\nimport { BackgroundColorVariant } from '@siemens/element-ng/common';\nimport { addIcons, SiIconComponent } from '@siemens/element-ng/icon';\nimport { SiTooltipDirective } from '@siemens/element-ng/tooltip';\nimport { SiTranslatePipe, TranslatableString } from '@siemens/element-translate-ng/translate';\nimport { filter } from 'rxjs';\n\nimport { SiAccordionHCollapseService } from './si-accordion-hcollapse.service';\nimport { SiAccordionService } from './si-accordion.service';\n\nlet controlIdCounter = 1;\n\n@Component({\n selector: 'si-collapsible-panel',\n imports: [SiIconComponent, SiTranslatePipe, SiTooltipDirective],\n templateUrl: './si-collapsible-panel.component.html',\n styleUrl: './si-collapsible-panel.component.scss',\n host: {\n '[class]': 'colorVariant()',\n '[class.opened]': 'opened()',\n '[class.hcollapsed]': 'hcollapsed()',\n '[class.full-height]': 'fullHeight()',\n '[class.disable-animations]': 'disableAnimation()',\n 'animate.enter': 'disable-animations'\n }\n})\nexport class SiCollapsiblePanelComponent {\n /**\n * Heading for the collapsible panel.\n */\n readonly heading = input<TranslatableString>();\n /**\n * Additional CSS classes for the top element.\n *\n * @defaultValue ''\n */\n readonly headerCssClasses = input('');\n /**\n * Additional CSS classes for the collapsible content region.\n *\n * @defaultValue ''\n */\n readonly contentBgClasses = input('');\n /**\n * Additional CSS classes for the wrapping content element.\n *\n * @defaultValue ''\n */\n readonly contentCssClasses = input('');\n /**\n * Expand/collapse the panel.\n *\n * @defaultValue false\n */\n readonly opened = model(false);\n /**\n * The icon to be displayed besides the heading.\n */\n readonly icon = input<string>();\n /**\n * Whether the si-collapsible-panel is disabled.\n *\n * @defaultValue false\n */\n readonly disabled = input(false, { transform: booleanAttribute });\n /**\n * Color variant for component background.\n *\n * @deprecated This input has no effect on the component styling.\n */\n readonly colorVariant = input<BackgroundColorVariant>();\n /**\n * Defines the content of the optional badge. Should be a number or something like \"100+\".\n * if undefined or empty string, no badge is displayed\n */\n readonly badge = input<string | number>();\n /**\n * Defines the background color of the badge. Default is specific to Element flavour.\n */\n readonly badgeColor = input<string>();\n\n /**\n * An event emitted when the user triggered expand/collapse and emit with the new open state.\n * The event is emitted before the animation happens.\n */\n readonly panelToggle = output<boolean>();\n\n protected readonly hcollapsed = computed(\n () => this.accordionHCollapseService?.hcollapsed() ?? false\n );\n protected readonly fullHeight = computed(() => this.accordionService?.fullHeight() ?? false);\n protected controlId = '__si-collapsible-' + controlIdCounter++;\n protected headerId = this.controlId + '-header';\n protected isHCollapsible = false;\n protected readonly icons = addIcons({ elementDown2 });\n protected readonly disableAnimation = signal(false);\n\n private readonly accordionService = inject(SiAccordionService, { optional: true });\n private readonly accordionHCollapseService = inject(SiAccordionHCollapseService, {\n optional: true\n });\n /** Restore the content scroll position between open/close of the panel. */\n private lastScrollPos = 0;\n private readonly contentRef = viewChild.required<ElementRef<HTMLElement>>('content');\n\n constructor() {\n this.isHCollapsible = !!this.accordionHCollapseService;\n this.accordionService?.toggle$\n .pipe(\n takeUntilDestroyed(),\n filter(item => item !== this)\n )\n .subscribe(() => this.openClose(false));\n }\n\n /**\n * Expand/collapse panel.\n * @param open - indicate the panel shall open or close\n * @param enableAnimation - with animation\n */\n openClose(open: boolean, enableAnimation = true): void {\n this.opened.set(open);\n this.disableAnimation.set(!enableAnimation);\n\n if (open) {\n // Restore scroll position after opening\n setTimeout(() => {\n this.contentRef().nativeElement.scrollTop = this.lastScrollPos;\n });\n } else {\n // Save scroll position before closing\n this.lastScrollPos = this.contentRef().nativeElement.scrollTop;\n }\n }\n\n protected doToggle(event?: Event): void {\n if (this.disabled()) {\n return;\n }\n\n event?.preventDefault();\n const opened = this.opened();\n this.panelToggle.emit(!opened);\n this.openClose(this.hcollapsed() || !opened);\n this.accordionService?.toggle$.next(this);\n if (this.hcollapsed()) {\n this.accordionHCollapseService?.open$.next(this);\n }\n }\n\n protected keydown(event: KeyboardEvent): void {\n if (event.key === 'Enter' || event.key === 'Space' || event.key === ' ') {\n this.doToggle(undefined);\n }\n }\n}\n","<div\n role=\"button\"\n placement=\"start\"\n [siTooltip]=\"hcollapsed() && heading() ? (heading()! | translate) : ''\"\n [class]=\"`collapsible-header focus-inside ${headerCssClasses()}`\"\n [class.px-4]=\"hcollapsed()\"\n [class.px-6]=\"!hcollapsed()\"\n [attr.tabindex]=\"disabled() ? '' : '0'\"\n [id]=\"headerId\"\n [class.open]=\"opened()\"\n [class.disabled]=\"disabled()\"\n [attr.aria-expanded]=\"opened() && !hcollapsed()\"\n [attr.aria-disabled]=\"disabled()\"\n [attr.aria-controls]=\"controlId\"\n [attr.aria-label]=\"hcollapsed() ? (heading() | translate) : ''\"\n (keydown)=\"keydown($event)\"\n (click)=\"doToggle($event)\"\n>\n @let headerIcon = icon();\n @if (headerIcon) {\n <si-icon\n class=\"icon\"\n [class.ps-3]=\"hcollapsed()\"\n [class.pe-1]=\"hcollapsed()\"\n [class.py-1]=\"hcollapsed()\"\n [class.pe-2]=\"!hcollapsed()\"\n [icon]=\"headerIcon\"\n [class.collapsed-icon]=\"isHCollapsible\"\n />\n }\n @if (icon() && badge() !== undefined && badge() !== '') {\n <span class=\"badge-text\">\n {{ badge() }}\n </span>\n }\n <div class=\"si-h5 autohide\">\n {{ heading() | translate }}\n <ng-content select=\"[si-panel-heading]\" />\n </div>\n\n @if (badge() !== undefined && badge() !== '') {\n <span [class]=\"'badge autohide' + (badgeColor() ? ' bg-' + badgeColor() : '')\">\n {{ badge() }}\n </span>\n }\n <span class=\"ms-auto autohide\">\n <si-icon class=\"icon dropdown-caret\" [icon]=\"icons.elementDown2\" />\n </span>\n</div>\n<div\n #content\n role=\"region\"\n [id]=\"controlId\"\n [class]=\"`collapsible-content ${contentBgClasses()}`\"\n [attr.aria-labelledby]=\"headerId\"\n [class.full-height]=\"fullHeight()\"\n>\n @if (opened()) {\n <div class=\"content-motion\" animate.enter=\"content-enter\" animate.leave=\"content-leave\">\n <div class=\"overflow-hidden\">\n <div [class]=\"contentCssClasses()\">\n <ng-content />\n </div>\n </div>\n </div>\n }\n</div>\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport {\n AfterContentInit,\n booleanAttribute,\n Component,\n computed,\n contentChildren,\n DestroyRef,\n ElementRef,\n inject,\n input,\n OnChanges\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { ResizeObserverService } from '@siemens/element-ng/resize-observer';\n\nimport { SiAccordionHCollapseService } from './si-accordion-hcollapse.service';\nimport { SiAccordionService } from './si-accordion.service';\nimport { SiCollapsiblePanelComponent } from './si-collapsible-panel.component';\n\nconst PANEL_MIN_HEIGHT = 100;\n\n@Component({\n selector: 'si-accordion',\n template: '<div><ng-content /></div>',\n styleUrl: './si-accordion.component.scss',\n providers: [SiAccordionService],\n host: {\n '[class.full-height]': 'fullHeight()',\n '[class.hcollapsed]': 'collapsed()'\n }\n})\nexport class SiAccordionComponent implements AfterContentInit, OnChanges {\n /**\n * Whether the first panel is expanded initially.\n * @defaultValue true\n */\n readonly expandFirstPanel = input(true, { transform: booleanAttribute });\n /**\n * Whether panels expand to fill the accordion height.\n * @defaultValue false\n */\n readonly fullHeight = input(false, { transform: booleanAttribute });\n /**\n * Whether the accordion is horizontally collapsed.\n * @defaultValue false\n */\n readonly hcollapsed = input(false);\n /**\n * Indicate whether the accordion is collapsed.\n * @internal\n */\n readonly collapsed = computed(\n () => this.accordionHCollapseService?.hcollapsed() ?? this.hcollapsed()\n );\n\n private readonly panels = contentChildren(SiCollapsiblePanelComponent);\n private responsive = false;\n private destroyer = inject(DestroyRef);\n private service = inject(SiAccordionService);\n private resizeObserver = inject(ResizeObserverService);\n private element = inject(ElementRef);\n private accordionHCollapseService = inject(SiAccordionHCollapseService, { optional: true });\n\n ngOnChanges(): void {\n this.service.fullHeight.set(this.fullHeight() && !this.responsive);\n }\n\n ngAfterContentInit(): void {\n this.resizeObserver\n .observe(this.element.nativeElement, 100, true, true)\n .pipe(takeUntilDestroyed(this.destroyer))\n .subscribe(() => this.calcFullHeight());\n\n this.panels().at(0)?.openClose(this.expandFirstPanel(), false);\n }\n\n private calcFullHeight(): void {\n if (this.panels()?.length) {\n const height = (this.element.nativeElement as HTMLElement).offsetHeight;\n this.responsive = !this.hcollapsed() && height < this.panels().length * PANEL_MIN_HEIGHT;\n this.service.fullHeight.set(this.fullHeight() && !this.responsive);\n }\n }\n}\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport { NgModule } from '@angular/core';\n\nimport { SiAccordionComponent } from './si-accordion.component';\nimport { SiCollapsiblePanelComponent } from './si-collapsible-panel.component';\n\n@NgModule({\n imports: [SiAccordionComponent, SiCollapsiblePanelComponent],\n exports: [SiAccordionComponent, SiCollapsiblePanelComponent]\n})\nexport class SiAccordionModule {}\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nexport * from './si-collapsible-panel.component';\nexport * from './si-accordion.component';\nexport * from './si-accordion.service';\nexport * from './si-accordion-hcollapse.service';\nexport * from './si-accordion.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"siemens-element-ng-accordion.mjs","sources":["../../../../projects/element-ng/accordion/si-accordion-hcollapse.service.ts","../../../../projects/element-ng/accordion/si-accordion.service.ts","../../../../projects/element-ng/accordion/si-collapsible-panel.component.ts","../../../../projects/element-ng/accordion/si-collapsible-panel.component.html","../../../../projects/element-ng/accordion/si-accordion.component.ts","../../../../projects/element-ng/accordion/si-accordion.module.ts","../../../../projects/element-ng/accordion/index.ts","../../../../projects/element-ng/accordion/siemens-element-ng-accordion.ts"],"sourcesContent":["/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport { Injectable, signal } from '@angular/core';\nimport { Subject } from 'rxjs';\n\n/** @internal */\n@Injectable({\n providedIn: null\n})\nexport class SiAccordionHCollapseService {\n /**\n * Emitting the current horizontal collapsed state.\n *\n * @defaultValue undefined\n */\n readonly hcollapsed = signal<boolean | undefined>(undefined);\n /**\n * Subject to emit to open the accordion.\n */\n readonly open$ = new Subject();\n}\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport { Injectable, signal } from '@angular/core';\nimport { Subject } from 'rxjs';\n\n/** @internal */\n@Injectable({\n providedIn: null\n})\nexport class SiAccordionService {\n /**\n * Emit an item in the accordion which should be toggled.\n */\n readonly toggle$ = new Subject<any>();\n /**\n * Subject to emit when the items should be expanded to their full height or restored to normal height.\n *\n * @defaultValue null\n */\n readonly fullHeight = signal<boolean | null>(null);\n}\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport {\n booleanAttribute,\n Component,\n computed,\n ElementRef,\n inject,\n input,\n model,\n output,\n signal,\n viewChild\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { elementDown2 } from '@siemens/element-icons';\nimport { BackgroundColorVariant } from '@siemens/element-ng/common';\nimport { addIcons, SiIconComponent } from '@siemens/element-ng/icon';\nimport { SiTooltipDirective } from '@siemens/element-ng/tooltip';\nimport { SiTranslatePipe, TranslatableString } from '@siemens/element-translate-ng/translate';\nimport { filter } from 'rxjs';\n\nimport { SiAccordionHCollapseService } from './si-accordion-hcollapse.service';\nimport { SiAccordionService } from './si-accordion.service';\n\nlet controlIdCounter = 1;\n\n@Component({\n selector: 'si-collapsible-panel',\n imports: [SiIconComponent, SiTranslatePipe, SiTooltipDirective],\n templateUrl: './si-collapsible-panel.component.html',\n styleUrl: './si-collapsible-panel.component.scss',\n host: {\n '[class]': 'colorVariant()',\n '[class.opened]': 'opened()',\n '[class.hcollapsed]': 'hcollapsed()',\n '[class.full-height]': 'fullHeight()',\n '[class.disable-animations]': 'disableAnimation()',\n 'animate.enter': 'disable-animations'\n }\n})\nexport class SiCollapsiblePanelComponent {\n /**\n * Heading for the collapsible panel.\n */\n readonly heading = input<TranslatableString>();\n /**\n * Additional CSS classes for the top element.\n *\n * @defaultValue ''\n */\n readonly headerCssClasses = input('');\n /**\n * Additional CSS classes for the collapsible content region.\n *\n * @defaultValue ''\n */\n readonly contentBgClasses = input('');\n /**\n * Additional CSS classes for the wrapping content element.\n *\n * @defaultValue ''\n */\n readonly contentCssClasses = input('');\n /**\n * Expand/collapse the panel.\n *\n * @defaultValue false\n */\n readonly opened = model(false);\n /**\n * The icon to be displayed besides the heading.\n */\n readonly icon = input<string>();\n /**\n * Whether the si-collapsible-panel is disabled.\n *\n * @defaultValue false\n */\n readonly disabled = input(false, { transform: booleanAttribute });\n /**\n * Color variant for component background.\n *\n * @deprecated This input has no effect on the component styling.\n */\n readonly colorVariant = input<BackgroundColorVariant>();\n /**\n * Defines the content of the optional badge. Should be a number or something like \"100+\".\n * if undefined or empty string, no badge is displayed\n */\n readonly badge = input<string | number>();\n /**\n * Defines the background color of the badge. Default is specific to Element flavour.\n */\n readonly badgeColor = input<string>();\n\n /**\n * An event emitted when the user triggered expand/collapse and emit with the new open state.\n * The event is emitted before the animation happens.\n */\n readonly panelToggle = output<boolean>();\n\n protected readonly hcollapsed = computed(\n () => this.accordionHCollapseService?.hcollapsed() ?? false\n );\n protected readonly fullHeight = computed(() => this.accordionService?.fullHeight() ?? false);\n protected controlId = '__si-collapsible-' + controlIdCounter++;\n protected headerId = this.controlId + '-header';\n protected isHCollapsible = false;\n protected readonly icons = addIcons({ elementDown2 });\n protected readonly disableAnimation = signal(false);\n\n private readonly accordionService = inject(SiAccordionService, { optional: true });\n private readonly accordionHCollapseService = inject(SiAccordionHCollapseService, {\n optional: true\n });\n /** Restore the content scroll position between open/close of the panel. */\n private lastScrollPos = 0;\n private readonly contentRef = viewChild.required<ElementRef<HTMLElement>>('content');\n\n constructor() {\n this.isHCollapsible = !!this.accordionHCollapseService;\n this.accordionService?.toggle$\n .pipe(\n takeUntilDestroyed(),\n filter(item => item !== this)\n )\n .subscribe(() => this.openClose(false));\n }\n\n /**\n * Expand/collapse panel.\n * @param open - indicate the panel shall open or close\n * @param enableAnimation - with animation\n */\n openClose(open: boolean, enableAnimation = true): void {\n this.opened.set(open);\n this.disableAnimation.set(!enableAnimation);\n\n if (open) {\n // Restore scroll position after opening\n setTimeout(() => {\n this.contentRef().nativeElement.scrollTop = this.lastScrollPos;\n });\n } else {\n // Save scroll position before closing\n this.lastScrollPos = this.contentRef().nativeElement.scrollTop;\n }\n }\n\n protected doToggle(event?: Event): void {\n if (this.disabled()) {\n return;\n }\n\n event?.preventDefault();\n const opened = this.opened();\n this.panelToggle.emit(!opened);\n this.openClose(this.hcollapsed() || !opened);\n this.accordionService?.toggle$.next(this);\n if (this.hcollapsed()) {\n this.accordionHCollapseService?.open$.next(this);\n }\n }\n\n protected keydown(event: KeyboardEvent): void {\n if (event.key === 'Enter' || event.key === 'Space' || event.key === ' ') {\n this.doToggle(undefined);\n }\n }\n}\n","<div\n role=\"button\"\n placement=\"start\"\n [siTooltip]=\"hcollapsed() && heading() ? (heading()! | translate) : ''\"\n [class]=\"`collapsible-header focus-inside ${headerCssClasses()}`\"\n [class.px-4]=\"hcollapsed()\"\n [class.px-6]=\"!hcollapsed()\"\n [attr.tabindex]=\"disabled() ? '' : '0'\"\n [id]=\"headerId\"\n [class.open]=\"opened()\"\n [class.disabled]=\"disabled()\"\n [attr.aria-expanded]=\"opened() && !hcollapsed()\"\n [attr.aria-disabled]=\"disabled()\"\n [attr.aria-controls]=\"controlId\"\n [attr.aria-label]=\"hcollapsed() ? (heading() | translate) : ''\"\n (keydown)=\"keydown($event)\"\n (click)=\"doToggle($event)\"\n>\n @let headerIcon = icon();\n @if (headerIcon) {\n <si-icon\n class=\"icon\"\n [class.ps-3]=\"hcollapsed()\"\n [class.pe-1]=\"hcollapsed()\"\n [class.py-1]=\"hcollapsed()\"\n [class.pe-2]=\"!hcollapsed()\"\n [icon]=\"headerIcon\"\n [class.collapsed-icon]=\"isHCollapsible\"\n />\n }\n @if (icon() && badge() !== undefined && badge() !== '') {\n <span class=\"badge-text\">\n {{ badge() }}\n </span>\n }\n <div class=\"si-h5 autohide\">\n {{ heading() | translate }}\n <ng-content select=\"[si-panel-heading]\" />\n </div>\n\n @if (badge() !== undefined && badge() !== '') {\n <span [class]=\"'badge autohide' + (badgeColor() ? ' bg-' + badgeColor() : '')\">\n {{ badge() }}\n </span>\n }\n <span class=\"ms-auto autohide\">\n <si-icon class=\"icon dropdown-caret\" [icon]=\"icons.elementDown2\" />\n </span>\n</div>\n<div\n #content\n role=\"region\"\n [id]=\"controlId\"\n [class]=\"`collapsible-content ${contentBgClasses()}`\"\n [attr.aria-labelledby]=\"headerId\"\n [class.full-height]=\"fullHeight()\"\n>\n @if (opened()) {\n <div class=\"content-motion\" animate.enter=\"content-enter\" animate.leave=\"content-leave\">\n <div class=\"overflow-hidden\">\n <div [class]=\"contentCssClasses()\">\n <ng-content />\n </div>\n </div>\n </div>\n }\n</div>\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport {\n AfterContentInit,\n booleanAttribute,\n Component,\n computed,\n contentChildren,\n DestroyRef,\n ElementRef,\n inject,\n input,\n OnChanges\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { ResizeObserverService } from '@siemens/element-ng/resize-observer';\n\nimport { SiAccordionHCollapseService } from './si-accordion-hcollapse.service';\nimport { SiAccordionService } from './si-accordion.service';\nimport { SiCollapsiblePanelComponent } from './si-collapsible-panel.component';\n\nconst PANEL_MIN_HEIGHT = 100;\n\n@Component({\n selector: 'si-accordion',\n template: '<div><ng-content /></div>',\n styleUrl: './si-accordion.component.scss',\n providers: [SiAccordionService],\n host: {\n '[class.full-height]': 'fullHeight()',\n '[class.hcollapsed]': 'collapsed()'\n }\n})\nexport class SiAccordionComponent implements AfterContentInit, OnChanges {\n /**\n * Whether the first panel is expanded initially.\n * @defaultValue true\n */\n readonly expandFirstPanel = input(true, { transform: booleanAttribute });\n /**\n * Whether panels expand to fill the accordion height.\n * @defaultValue false\n */\n readonly fullHeight = input(false, { transform: booleanAttribute });\n /**\n * Whether the accordion is horizontally collapsed.\n * @defaultValue false\n */\n readonly hcollapsed = input(false);\n /**\n * Indicate whether the accordion is collapsed.\n * @internal\n */\n readonly collapsed = computed(\n () => this.accordionHCollapseService?.hcollapsed() ?? this.hcollapsed()\n );\n\n private readonly panels = contentChildren(SiCollapsiblePanelComponent);\n private responsive = false;\n private destroyer = inject(DestroyRef);\n private service = inject(SiAccordionService);\n private resizeObserver = inject(ResizeObserverService);\n private element = inject(ElementRef);\n private accordionHCollapseService = inject(SiAccordionHCollapseService, { optional: true });\n\n ngOnChanges(): void {\n this.service.fullHeight.set(this.fullHeight() && !this.responsive);\n }\n\n ngAfterContentInit(): void {\n this.resizeObserver\n .observe(this.element.nativeElement, 100, true, true)\n .pipe(takeUntilDestroyed(this.destroyer))\n .subscribe(() => this.calcFullHeight());\n\n this.panels().at(0)?.openClose(this.expandFirstPanel(), false);\n }\n\n private calcFullHeight(): void {\n if (this.panels()?.length) {\n const height = (this.element.nativeElement as HTMLElement).offsetHeight;\n this.responsive = !this.hcollapsed() && height < this.panels().length * PANEL_MIN_HEIGHT;\n this.service.fullHeight.set(this.fullHeight() && !this.responsive);\n }\n }\n}\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport { NgModule } from '@angular/core';\n\nimport { SiAccordionComponent } from './si-accordion.component';\nimport { SiCollapsiblePanelComponent } from './si-collapsible-panel.component';\n\n@NgModule({\n imports: [SiAccordionComponent, SiCollapsiblePanelComponent],\n exports: [SiAccordionComponent, SiCollapsiblePanelComponent]\n})\nexport class SiAccordionModule {}\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nexport * from './si-collapsible-panel.component';\nexport * from './si-accordion.component';\nexport * from './si-accordion.service';\nexport * from './si-accordion-hcollapse.service';\nexport * from './si-accordion.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"siemens-element-ng-action-modal.mjs","sources":["../../../../projects/element-ng/action-modal/si-alert-dialog/si-alert-dialog.component.ts","../../../../projects/element-ng/action-modal/si-alert-dialog/si-alert-dialog.component.html","../../../../projects/element-ng/action-modal/si-confirmation-dialog/si-confirmation-dialog.component.ts","../../../../projects/element-ng/action-modal/si-confirmation-dialog/si-confirmation-dialog.component.html","../../../../projects/element-ng/action-modal/si-delete-confirmation-dialog/si-delete-confirmation-dialog.component.ts","../../../../projects/element-ng/action-modal/si-delete-confirmation-dialog/si-delete-confirmation-dialog.component.html","../../../../projects/element-ng/action-modal/si-edit-discard-dialog/si-edit-discard-dialog.component.ts","../../../../projects/element-ng/action-modal/si-edit-discard-dialog/si-edit-discard-dialog.component.html","../../../../projects/element-ng/action-modal/si-action-dialog.service.ts","../../../../projects/element-ng/action-modal/index.ts","../../../../projects/element-ng/action-modal/siemens-element-ng-action-modal.ts"],"sourcesContent":["/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport { AsyncPipe } from '@angular/common';\nimport { Component, inject, input } from '@angular/core';\nimport { elementCancel } from '@siemens/element-icons';\nimport { addIcons, SiIconComponent } from '@siemens/element-ng/icon';\nimport { SiLoadingButtonComponent } from '@siemens/element-ng/loading-spinner';\nimport { ModalRef } from '@siemens/element-ng/modal';\nimport { SiTranslatePipe, t, TranslatableString } from '@siemens/element-translate-ng/translate';\nimport { take } from 'rxjs';\n\nimport { AlertDialogResult } from '../si-action-dialog.types';\n\n@Component({\n selector: 'si-alert-dialog',\n imports: [AsyncPipe, SiIconComponent, SiTranslatePipe, SiLoadingButtonComponent],\n templateUrl: './si-alert-dialog.component.html'\n})\nexport class SiAlertDialogComponent {\n /** ID of the dialog title element used for accessible naming. */\n readonly titleId = input<string>();\n /**\n * Heading displayed in the dialog.\n * @defaultValue ''\n */\n readonly heading = input<TranslatableString>('');\n /**\n * Message displayed in the dialog.\n * @defaultValue ''\n */\n readonly message = input<TranslatableString>('');\n /**\n * Label displayed on the confirmation button.\n * @defaultValue\n * ```\n * t(() => $localize`:@@SI_ALERT_DIALOG.OK:OK`)\n * ```\n */\n readonly confirmBtnName = input(t(() => $localize`:@@SI_ALERT_DIALOG.OK:OK`));\n /**\n * Parameters interpolated into the translated heading and message.\n * @defaultValue\n * ```\n * {}\n * ```\n */\n readonly translationParams = input<{ [key: string]: any }>({});\n /**\n * Icon displayed next to the dialog content.\n * @defaultValue ''\n */\n readonly icon = input('');\n\n protected modalRef = inject(ModalRef<SiAlertDialogComponent, AlertDialogResult>);\n protected loading$ = this.modalRef.message.pipe(take(1));\n protected readonly icons = addIcons({ elementCancel });\n}\n","@let loading = loading$ | async;\n<div class=\"modal-header\">\n @if (icon()) {\n <si-icon class=\"icon\" [icon]=\"icon()\" />\n }\n <span class=\"modal-title\" [id]=\"titleId()\">{{ heading() | translate: translationParams() }}</span>\n <button\n type=\"button\"\n class=\"btn btn-circle btn-tertiary-ghost\"\n [attr.aria-label]=\"confirmBtnName() | translate\"\n [disabled]=\"!!loading\"\n (click)=\"modalRef.messageOrHide('confirm')\"\n >\n <si-icon [icon]=\"icons.elementCancel\" />\n </button>\n</div>\n<div class=\"modal-body text-pre-wrap text-break\">{{\n message() | translate: translationParams()\n}}</div>\n<div class=\"modal-footer\">\n <si-loading-button\n buttonClass=\"btn btn-primary\"\n [disabled]=\"!!loading && loading !== 'confirm'\"\n [loading]=\"loading === 'confirm'\"\n (click)=\"modalRef.messageOrHide('confirm')\"\n >\n {{ confirmBtnName() | translate }}\n </si-loading-button>\n</div>\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport { AsyncPipe } from '@angular/common';\nimport { Component, inject, input } from '@angular/core';\nimport { SiIconComponent } from '@siemens/element-ng/icon';\nimport { SiLoadingButtonComponent } from '@siemens/element-ng/loading-spinner';\nimport { ModalRef } from '@siemens/element-ng/modal';\nimport { SiTranslatePipe, t, TranslatableString } from '@siemens/element-translate-ng/translate';\nimport { take } from 'rxjs';\n\nimport { ConfirmationDialogResult } from '../si-action-dialog.types';\n\n@Component({\n selector: 'si-confirmation-dialog',\n imports: [AsyncPipe, SiIconComponent, SiTranslatePipe, SiLoadingButtonComponent],\n templateUrl: './si-confirmation-dialog.component.html'\n})\nexport class SiConfirmationDialogComponent {\n /** ID of the dialog title element used for accessible naming. */\n readonly titleId = input<string>();\n /**\n * Heading displayed in the dialog.\n * @defaultValue ''\n */\n readonly heading = input<TranslatableString>('');\n /**\n * Message displayed in the dialog.\n * @defaultValue ''\n */\n readonly message = input<TranslatableString>('');\n /**\n * Label displayed on the confirmation button.\n * @defaultValue\n * ```\n * t(() => $localize`:@@SI_CONFIRMATION_DIALOG.YES:Yes`)\n * ```\n */\n readonly confirmBtnName = input(t(() => $localize`:@@SI_CONFIRMATION_DIALOG.YES:Yes`));\n /**\n * Label displayed on the decline button.\n * @defaultValue\n * ```\n * t(() => $localize`:@@SI_CONFIRMATION_DIALOG.NO:No`)\n * ```\n */\n readonly declineBtnName = input(t(() => $localize`:@@SI_CONFIRMATION_DIALOG.NO:No`));\n /**\n * Parameters interpolated into the translated heading and message.\n * @defaultValue\n * ```\n * {}\n * ```\n */\n readonly translationParams = input<{ [key: string]: any }>({});\n /**\n * Icon displayed next to the dialog content.\n * @defaultValue ''\n */\n readonly icon = input('');\n\n protected modalRef = inject(ModalRef<SiConfirmationDialogComponent, ConfirmationDialogResult>);\n protected loading$ = this.modalRef.message.pipe(take(1));\n}\n","@let loading = loading$ | async;\n<div class=\"modal-header\">\n @if (icon()) {\n <si-icon class=\"icon\" [icon]=\"icon()\" />\n }\n <span class=\"modal-title\" [id]=\"titleId()\">{{ heading() | translate: translationParams() }}</span>\n <button\n type=\"button\"\n class=\"btn btn-circle btn-tertiary-ghost element-cancel\"\n [attr.aria-label]=\"declineBtnName() | translate\"\n [disabled]=\"!!loading\"\n (click)=\"modalRef.messageOrHide('decline')\"\n >\n </button>\n</div>\n<div class=\"modal-body text-pre-wrap text-break\">{{\n message() | translate: translationParams()\n}}</div>\n<div class=\"modal-footer\">\n <si-loading-button\n buttonClass=\"btn btn-secondary\"\n [disabled]=\"!!loading && loading !== 'decline'\"\n [loading]=\"loading === 'decline'\"\n (click)=\"modalRef.messageOrHide('decline')\"\n >\n {{ declineBtnName() | translate }}\n </si-loading-button>\n <si-loading-button\n buttonClass=\"btn btn-primary\"\n [disabled]=\"!!loading && loading !== 'confirm'\"\n [loading]=\"loading === 'confirm'\"\n (click)=\"modalRef.messageOrHide('confirm')\"\n >\n {{ confirmBtnName() | translate }}\n </si-loading-button>\n</div>\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport { AsyncPipe } from '@angular/common';\nimport { Component, inject, input } from '@angular/core';\nimport { elementCancel } from '@siemens/element-icons';\nimport { addIcons, SiIconComponent } from '@siemens/element-ng/icon';\nimport { SiLoadingButtonComponent } from '@siemens/element-ng/loading-spinner';\nimport { ModalRef } from '@siemens/element-ng/modal';\nimport { SiTranslatePipe, t, TranslatableString } from '@siemens/element-translate-ng/translate';\nimport { take } from 'rxjs';\n\nimport { DeleteConfirmationDialogResult } from '../si-action-dialog.types';\n\n@Component({\n selector: 'si-delete-confirmation-dialog',\n imports: [AsyncPipe, SiIconComponent, SiTranslatePipe, SiLoadingButtonComponent],\n templateUrl: './si-delete-confirmation-dialog.component.html'\n})\nexport class SiDeleteConfirmationDialogComponent {\n /** ID of the dialog title element used for accessible naming. */\n readonly titleId = input<string>();\n /**\n * Heading displayed in the dialog.\n * @defaultValue ''\n */\n readonly heading = input<TranslatableString>('');\n /**\n * Message displayed in the dialog.\n * @defaultValue\n * ```\n * t(() => $localize`:@@SI_DELETE_CONFIRMATION_DIALOG.MESSAGE:Do you really want to delete the selected elements?`)\n * ```\n */\n readonly message = input(\n t(\n () =>\n $localize`:@@SI_DELETE_CONFIRMATION_DIALOG.MESSAGE:Do you really want to delete the selected elements?`\n )\n );\n /**\n * Label displayed on the delete button.\n * @defaultValue\n * ```\n * t(() => $localize`:@@SI_DELETE_CONFIRMATION_DIALOG.DELETE_BTN:Delete`)\n * ```\n */\n readonly deleteBtnName = input(\n t(() => $localize`:@@SI_DELETE_CONFIRMATION_DIALOG.DELETE_BTN:Delete`)\n );\n /**\n * Label displayed on the cancel button.\n * @defaultValue\n * ```\n * t(() => $localize`:@@SI_DELETE_CONFIRMATION_DIALOG.CANCEL_BTN:Cancel`)\n * ```\n */\n readonly cancelBtnName = input(\n t(() => $localize`:@@SI_DELETE_CONFIRMATION_DIALOG.CANCEL_BTN:Cancel`)\n );\n /**\n * Parameters interpolated into the translated heading and message.\n * @defaultValue\n * ```\n * {}\n * ```\n */\n readonly translationParams = input<{ [key: string]: any }>({});\n /**\n * Icon displayed next to the dialog content.\n * @defaultValue ''\n */\n readonly icon = input('');\n\n protected modalRef = inject(\n ModalRef<SiDeleteConfirmationDialogComponent, DeleteConfirmationDialogResult>\n );\n protected loading$ = this.modalRef.message.pipe(take(1));\n protected readonly icons = addIcons({ elementCancel });\n}\n","@let loading = loading$ | async;\n<div class=\"modal-header\">\n @if (icon()) {\n <si-icon class=\"icon\" [icon]=\"icon()\" />\n }\n <span class=\"modal-title\" [id]=\"titleId()\">{{ heading() | translate: translationParams() }}</span>\n <button\n type=\"button\"\n class=\"btn btn-circle btn-tertiary-ghost\"\n [attr.aria-label]=\"cancelBtnName() | translate\"\n [disabled]=\"!!loading\"\n (click)=\"modalRef.messageOrHide('cancel')\"\n >\n <si-icon [icon]=\"icons.elementCancel\" />\n </button>\n</div>\n<div class=\"modal-body text-pre-wrap text-break\">{{\n message() | translate: translationParams()\n}}</div>\n<div class=\"modal-footer\">\n <si-loading-button\n buttonClass=\"btn btn-secondary\"\n [disabled]=\"!!loading && loading !== 'cancel'\"\n [loading]=\"loading === 'cancel'\"\n (click)=\"modalRef.messageOrHide('cancel')\"\n >\n {{ cancelBtnName() | translate }}\n </si-loading-button>\n <si-loading-button\n buttonClass=\"btn btn-danger\"\n [disabled]=\"!!loading && loading !== 'delete'\"\n [loading]=\"loading === 'delete'\"\n (click)=\"modalRef.messageOrHide('delete')\"\n >\n {{ deleteBtnName() | translate }}\n </si-loading-button>\n</div>\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport { AsyncPipe } from '@angular/common';\nimport { booleanAttribute, Component, inject, input } from '@angular/core';\nimport { elementCancel } from '@siemens/element-icons';\nimport { addIcons, SiIconComponent } from '@siemens/element-ng/icon';\nimport { SiLoadingButtonComponent } from '@siemens/element-ng/loading-spinner';\nimport { ModalRef } from '@siemens/element-ng/modal';\nimport { SiTranslatePipe, t, TranslatableString } from '@siemens/element-translate-ng/translate';\nimport { take } from 'rxjs';\n\nimport { EditDiscardDialogResult } from '../si-action-dialog.types';\n\n@Component({\n selector: 'si-edit-discard-dialog',\n imports: [AsyncPipe, SiIconComponent, SiTranslatePipe, SiLoadingButtonComponent],\n templateUrl: './si-edit-discard-dialog.component.html'\n})\nexport class SiEditDiscardDialogComponent {\n /** ID of the dialog title element used for accessible naming. */\n readonly titleId = input<string>();\n /**\n * Heading displayed in the dialog.\n * @defaultValue ''\n */\n readonly heading = input<TranslatableString>('');\n /**\n * Message displayed in the dialog.\n * @defaultValue\n * ```\n * t(() => $localize`:@@SI_EDIT_DISCARD_DIALOG.MESSAGE:Save changes?`)\n * ```\n */\n readonly message = input(t(() => $localize`:@@SI_EDIT_DISCARD_DIALOG.MESSAGE:Save changes?`));\n /**\n * Label displayed on the save button.\n * @defaultValue\n * ```\n * t(() => $localize`:@@SI_EDIT_DISCARD_DIALOG.SAVE_BTN:Save`)\n * ```\n */\n readonly saveBtnName = input(t(() => $localize`:@@SI_EDIT_DISCARD_DIALOG.SAVE_BTN:Save`));\n /**\n * Label displayed on the discard button.\n * @defaultValue\n * ```\n * t(() => $localize`:@@SI_EDIT_DISCARD_DIALOG.DISCARD_BTN:Discard`)\n * ```\n */\n readonly discardBtnName = input(\n t(() => $localize`:@@SI_EDIT_DISCARD_DIALOG.DISCARD_BTN:Discard`)\n );\n /**\n * Label displayed on the cancel button.\n * @defaultValue\n * ```\n * t(() => $localize`:@@SI_EDIT_DISCARD_DIALOG.CANCEL_BTN:Cancel`)\n * ```\n */\n readonly cancelBtnName = input(t(() => $localize`:@@SI_EDIT_DISCARD_DIALOG.CANCEL_BTN:Cancel`));\n /**\n * Whether the save button is disabled.\n * @defaultValue false\n */\n readonly disableSave = input(false, { transform: booleanAttribute });\n /**\n * Message displayed when saving is disabled.\n * @defaultValue\n * ```\n * t(() => $localize`:@@SI_EDIT_DISCARD_DIALOG.DISABLE_SAVE_MESSAGE:Discard changes?`)\n * ```\n */\n readonly disableSaveMessage = input<TranslatableString>(\n t(() => $localize`:@@SI_EDIT_DISCARD_DIALOG.DISABLE_SAVE_MESSAGE:Discard changes?`)\n );\n /**\n * Label displayed on the discard button when saving is disabled.\n * @defaultValue\n * ```\n * t(() => $localize`:@@SI_EDIT_DISCARD_DIALOG.DISABLE_SAVE_DISCARD_BTN:Discard`)\n * ```\n */\n readonly disableSaveDiscardBtnName = input<TranslatableString>(\n t(() => $localize`:@@SI_EDIT_DISCARD_DIALOG.DISABLE_SAVE_DISCARD_BTN:Discard`)\n );\n /**\n * Parameters interpolated into the translated heading and message.\n * @defaultValue\n * ```\n * {}\n * ```\n */\n readonly translationParams = input<{ [key: string]: any }>({});\n /**\n * Icon displayed next to the dialog content.\n * @defaultValue ''\n */\n readonly icon = input('');\n\n protected modalRef = inject(ModalRef<SiEditDiscardDialogComponent, EditDiscardDialogResult>);\n protected loading$ = this.modalRef.message.pipe(take(1));\n protected readonly icons = addIcons({ elementCancel });\n}\n","@let loading = loading$ | async;\n<div class=\"modal-header\">\n @if (icon()) {\n <si-icon class=\"icon\" [icon]=\"icon()\" />\n }\n <span class=\"modal-title\" [id]=\"titleId()\">{{ heading() | translate: translationParams() }}</span>\n <button\n type=\"button\"\n class=\"btn btn-circle btn-tertiary-ghost\"\n [attr.aria-label]=\"cancelBtnName() | translate\"\n [disabled]=\"!!loading\"\n (click)=\"modalRef.messageOrHide('cancel')\"\n >\n <si-icon [icon]=\"icons.elementCancel\" />\n </button>\n</div>\n<div class=\"modal-body text-pre-wrap text-break\">{{\n (!disableSave() ? message() : disableSaveMessage()) | translate: translationParams()\n}}</div>\n<div class=\"modal-footer\">\n <si-loading-button\n buttonClass=\"btn btn-secondary\"\n [disabled]=\"!!loading && loading !== 'cancel'\"\n [loading]=\"loading === 'cancel'\"\n (click)=\"modalRef.messageOrHide('cancel')\"\n >\n {{ cancelBtnName() | translate }}\n </si-loading-button>\n <si-loading-button\n buttonClass=\"btn btn-danger\"\n [disabled]=\"!!loading && loading !== 'discard'\"\n [loading]=\"loading === 'discard'\"\n (click)=\"modalRef.messageOrHide('discard')\"\n >\n {{ (!disableSave() ? discardBtnName() : disableSaveDiscardBtnName()) | translate }}\n </si-loading-button>\n @if (!disableSave()) {\n <si-loading-button\n buttonClass=\"btn btn-primary\"\n [disabled]=\"!!loading && loading !== 'save'\"\n [loading]=\"loading === 'save'\"\n (click)=\"modalRef.messageOrHide('save')\"\n >\n {{ saveBtnName() | translate }}\n </si-loading-button>\n }\n</div>\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport { inject, Injectable } from '@angular/core';\nimport {\n createModalConfig,\n ModalDependencyInjectionOptions,\n SiModalService\n} from '@siemens/element-ng/modal';\nimport { Observable, Subscriber, Subscription, switchMap, take } from 'rxjs';\n\nimport { ActionDialog, ActionDialogReturnType } from './si-action-dialog.types';\nimport { SiAlertDialogComponent } from './si-alert-dialog/si-alert-dialog.component';\nimport { SiConfirmationDialogComponent } from './si-confirmation-dialog/si-confirmation-dialog.component';\nimport { SiDeleteConfirmationDialogComponent } from './si-delete-confirmation-dialog/si-delete-confirmation-dialog.component';\nimport { SiEditDiscardDialogComponent } from './si-edit-discard-dialog/si-edit-discard-dialog.component';\n\nconst ACTION_DIALOG_COMPONENT: Record<ActionDialog['type'], new (...args: any[]) => any> = {\n 'alert': SiAlertDialogComponent,\n 'confirmation': SiConfirmationDialogComponent,\n 'delete-confirm': SiDeleteConfirmationDialogComponent,\n 'edit-discard': SiEditDiscardDialogComponent\n};\n\nconst ACTION_DIALOG_DEFAULT_CLOSE_VALUE: Record<ActionDialog['type'], string> = {\n 'alert': 'confirm',\n 'confirmation': 'decline',\n 'delete-confirm': 'cancel',\n 'edit-discard': 'cancel'\n};\n\n/**\n * The service provides convenient methods to show common modal dialogs.\n * All return an observable, which emit the dialog results. After emitting,\n * the observables complete. Therefore, clients do not need to unsubscribe.\n */\n@Injectable({ providedIn: 'root' })\nexport class SiActionDialogService {\n private modalService = inject(SiModalService);\n\n /**\n * Shows an action dialog\n * @param dialog - The dialog configuration\n * @param diOptions - Optional DI configuration.\n * @returns Observable for the result of the dialog. Need to `subscribe()` to show the dialog\n */\n showActionDialog<T extends ActionDialog>(\n dialog: T,\n diOptions?: ModalDependencyInjectionOptions\n ): Observable<ActionDialogReturnType<T>> {\n return new Observable<ActionDialogReturnType<T>>(subscriber => {\n const { type, delayDismiss, ...inputs } = dialog;\n const config = createModalConfig(inputs);\n\n config.keyboard = true;\n config.messageInsteadOfAutoHide = !!delayDismiss;\n Object.assign(config, diOptions);\n\n const modalRef = this.modalService.show(\n ACTION_DIALOG_COMPONENT[type],\n config,\n ACTION_DIALOG_DEFAULT_CLOSE_VALUE[type] as ActionDialogReturnType<T>\n );\n\n let subscription: Subscription | undefined;\n if (delayDismiss) {\n // `any`because TS cannot infer types correctly\n subscription = modalRef.message\n .pipe(take(1), switchMap(delayDismiss as any))\n .subscribe(modalRef.hide);\n }\n // ModalRef always allows emitting undefined. But we know that we don't emit undefined here, so do typecast.\n modalRef.hidden.subscribe(subscriber as Subscriber<ActionDialogReturnType<T> | undefined>);\n\n return () => {\n subscription?.unsubscribe();\n modalRef.detach();\n };\n });\n }\n}\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nexport * from './si-action-dialog.service';\nexport * from './si-action-dialog.types';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"siemens-element-ng-action-modal.mjs","sources":["../../../../projects/element-ng/action-modal/si-alert-dialog/si-alert-dialog.component.ts","../../../../projects/element-ng/action-modal/si-alert-dialog/si-alert-dialog.component.html","../../../../projects/element-ng/action-modal/si-confirmation-dialog/si-confirmation-dialog.component.ts","../../../../projects/element-ng/action-modal/si-confirmation-dialog/si-confirmation-dialog.component.html","../../../../projects/element-ng/action-modal/si-delete-confirmation-dialog/si-delete-confirmation-dialog.component.ts","../../../../projects/element-ng/action-modal/si-delete-confirmation-dialog/si-delete-confirmation-dialog.component.html","../../../../projects/element-ng/action-modal/si-edit-discard-dialog/si-edit-discard-dialog.component.ts","../../../../projects/element-ng/action-modal/si-edit-discard-dialog/si-edit-discard-dialog.component.html","../../../../projects/element-ng/action-modal/si-action-dialog.service.ts","../../../../projects/element-ng/action-modal/index.ts","../../../../projects/element-ng/action-modal/siemens-element-ng-action-modal.ts"],"sourcesContent":["/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport { AsyncPipe } from '@angular/common';\nimport { Component, inject, input } from '@angular/core';\nimport { elementCancel } from '@siemens/element-icons';\nimport { addIcons, SiIconComponent } from '@siemens/element-ng/icon';\nimport { SiLoadingButtonComponent } from '@siemens/element-ng/loading-spinner';\nimport { ModalRef } from '@siemens/element-ng/modal';\nimport { SiTranslatePipe, t, TranslatableString } from '@siemens/element-translate-ng/translate';\nimport { take } from 'rxjs';\n\nimport { AlertDialogResult } from '../si-action-dialog.types';\n\n@Component({\n selector: 'si-alert-dialog',\n imports: [AsyncPipe, SiIconComponent, SiTranslatePipe, SiLoadingButtonComponent],\n templateUrl: './si-alert-dialog.component.html'\n})\nexport class SiAlertDialogComponent {\n /** ID of the dialog title element used for accessible naming. */\n readonly titleId = input<string>();\n /**\n * Heading displayed in the dialog.\n * @defaultValue ''\n */\n readonly heading = input<TranslatableString>('');\n /**\n * Message displayed in the dialog.\n * @defaultValue ''\n */\n readonly message = input<TranslatableString>('');\n /**\n * Label displayed on the confirmation button.\n * @defaultValue\n * ```\n * t(() => $localize`:@@SI_ALERT_DIALOG.OK:OK`)\n * ```\n */\n readonly confirmBtnName = input(t(() => $localize`:@@SI_ALERT_DIALOG.OK:OK`));\n /**\n * Parameters interpolated into the translated heading and message.\n * @defaultValue\n * ```\n * {}\n * ```\n */\n readonly translationParams = input<{ [key: string]: any }>({});\n /**\n * Icon displayed next to the dialog content.\n * @defaultValue ''\n */\n readonly icon = input('');\n\n protected modalRef = inject(ModalRef<SiAlertDialogComponent, AlertDialogResult>);\n protected loading$ = this.modalRef.message.pipe(take(1));\n protected readonly icons = addIcons({ elementCancel });\n}\n","@let loading = loading$ | async;\n<div class=\"modal-header\">\n @if (icon()) {\n <si-icon class=\"icon\" [icon]=\"icon()\" />\n }\n <span class=\"modal-title\" [id]=\"titleId()\">{{ heading() | translate: translationParams() }}</span>\n <button\n type=\"button\"\n class=\"btn btn-circle btn-tertiary-ghost\"\n [attr.aria-label]=\"confirmBtnName() | translate\"\n [disabled]=\"!!loading\"\n (click)=\"modalRef.messageOrHide('confirm')\"\n >\n <si-icon [icon]=\"icons.elementCancel\" />\n </button>\n</div>\n<div class=\"modal-body text-pre-wrap text-break\">{{\n message() | translate: translationParams()\n}}</div>\n<div class=\"modal-footer\">\n <si-loading-button\n buttonClass=\"btn btn-primary\"\n [disabled]=\"!!loading && loading !== 'confirm'\"\n [loading]=\"loading === 'confirm'\"\n (click)=\"modalRef.messageOrHide('confirm')\"\n >\n {{ confirmBtnName() | translate }}\n </si-loading-button>\n</div>\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport { AsyncPipe } from '@angular/common';\nimport { Component, inject, input } from '@angular/core';\nimport { SiIconComponent } from '@siemens/element-ng/icon';\nimport { SiLoadingButtonComponent } from '@siemens/element-ng/loading-spinner';\nimport { ModalRef } from '@siemens/element-ng/modal';\nimport { SiTranslatePipe, t, TranslatableString } from '@siemens/element-translate-ng/translate';\nimport { take } from 'rxjs';\n\nimport { ConfirmationDialogResult } from '../si-action-dialog.types';\n\n@Component({\n selector: 'si-confirmation-dialog',\n imports: [AsyncPipe, SiIconComponent, SiTranslatePipe, SiLoadingButtonComponent],\n templateUrl: './si-confirmation-dialog.component.html'\n})\nexport class SiConfirmationDialogComponent {\n /** ID of the dialog title element used for accessible naming. */\n readonly titleId = input<string>();\n /**\n * Heading displayed in the dialog.\n * @defaultValue ''\n */\n readonly heading = input<TranslatableString>('');\n /**\n * Message displayed in the dialog.\n * @defaultValue ''\n */\n readonly message = input<TranslatableString>('');\n /**\n * Label displayed on the confirmation button.\n * @defaultValue\n * ```\n * t(() => $localize`:@@SI_CONFIRMATION_DIALOG.YES:Yes`)\n * ```\n */\n readonly confirmBtnName = input(t(() => $localize`:@@SI_CONFIRMATION_DIALOG.YES:Yes`));\n /**\n * Label displayed on the decline button.\n * @defaultValue\n * ```\n * t(() => $localize`:@@SI_CONFIRMATION_DIALOG.NO:No`)\n * ```\n */\n readonly declineBtnName = input(t(() => $localize`:@@SI_CONFIRMATION_DIALOG.NO:No`));\n /**\n * Parameters interpolated into the translated heading and message.\n * @defaultValue\n * ```\n * {}\n * ```\n */\n readonly translationParams = input<{ [key: string]: any }>({});\n /**\n * Icon displayed next to the dialog content.\n * @defaultValue ''\n */\n readonly icon = input('');\n\n protected modalRef = inject(ModalRef<SiConfirmationDialogComponent, ConfirmationDialogResult>);\n protected loading$ = this.modalRef.message.pipe(take(1));\n}\n","@let loading = loading$ | async;\n<div class=\"modal-header\">\n @if (icon()) {\n <si-icon class=\"icon\" [icon]=\"icon()\" />\n }\n <span class=\"modal-title\" [id]=\"titleId()\">{{ heading() | translate: translationParams() }}</span>\n <button\n type=\"button\"\n class=\"btn btn-circle btn-tertiary-ghost element-cancel\"\n [attr.aria-label]=\"declineBtnName() | translate\"\n [disabled]=\"!!loading\"\n (click)=\"modalRef.messageOrHide('decline')\"\n >\n </button>\n</div>\n<div class=\"modal-body text-pre-wrap text-break\">{{\n message() | translate: translationParams()\n}}</div>\n<div class=\"modal-footer\">\n <si-loading-button\n buttonClass=\"btn btn-secondary\"\n [disabled]=\"!!loading && loading !== 'decline'\"\n [loading]=\"loading === 'decline'\"\n (click)=\"modalRef.messageOrHide('decline')\"\n >\n {{ declineBtnName() | translate }}\n </si-loading-button>\n <si-loading-button\n buttonClass=\"btn btn-primary\"\n [disabled]=\"!!loading && loading !== 'confirm'\"\n [loading]=\"loading === 'confirm'\"\n (click)=\"modalRef.messageOrHide('confirm')\"\n >\n {{ confirmBtnName() | translate }}\n </si-loading-button>\n</div>\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport { AsyncPipe } from '@angular/common';\nimport { Component, inject, input } from '@angular/core';\nimport { elementCancel } from '@siemens/element-icons';\nimport { addIcons, SiIconComponent } from '@siemens/element-ng/icon';\nimport { SiLoadingButtonComponent } from '@siemens/element-ng/loading-spinner';\nimport { ModalRef } from '@siemens/element-ng/modal';\nimport { SiTranslatePipe, t, TranslatableString } from '@siemens/element-translate-ng/translate';\nimport { take } from 'rxjs';\n\nimport { DeleteConfirmationDialogResult } from '../si-action-dialog.types';\n\n@Component({\n selector: 'si-delete-confirmation-dialog',\n imports: [AsyncPipe, SiIconComponent, SiTranslatePipe, SiLoadingButtonComponent],\n templateUrl: './si-delete-confirmation-dialog.component.html'\n})\nexport class SiDeleteConfirmationDialogComponent {\n /** ID of the dialog title element used for accessible naming. */\n readonly titleId = input<string>();\n /**\n * Heading displayed in the dialog.\n * @defaultValue ''\n */\n readonly heading = input<TranslatableString>('');\n /**\n * Message displayed in the dialog.\n * @defaultValue\n * ```\n * t(() => $localize`:@@SI_DELETE_CONFIRMATION_DIALOG.MESSAGE:Do you really want to delete the selected elements?`)\n * ```\n */\n readonly message = input(\n t(\n () =>\n $localize`:@@SI_DELETE_CONFIRMATION_DIALOG.MESSAGE:Do you really want to delete the selected elements?`\n )\n );\n /**\n * Label displayed on the delete button.\n * @defaultValue\n * ```\n * t(() => $localize`:@@SI_DELETE_CONFIRMATION_DIALOG.DELETE_BTN:Delete`)\n * ```\n */\n readonly deleteBtnName = input(\n t(() => $localize`:@@SI_DELETE_CONFIRMATION_DIALOG.DELETE_BTN:Delete`)\n );\n /**\n * Label displayed on the cancel button.\n * @defaultValue\n * ```\n * t(() => $localize`:@@SI_DELETE_CONFIRMATION_DIALOG.CANCEL_BTN:Cancel`)\n * ```\n */\n readonly cancelBtnName = input(\n t(() => $localize`:@@SI_DELETE_CONFIRMATION_DIALOG.CANCEL_BTN:Cancel`)\n );\n /**\n * Parameters interpolated into the translated heading and message.\n * @defaultValue\n * ```\n * {}\n * ```\n */\n readonly translationParams = input<{ [key: string]: any }>({});\n /**\n * Icon displayed next to the dialog content.\n * @defaultValue ''\n */\n readonly icon = input('');\n\n protected modalRef = inject(\n ModalRef<SiDeleteConfirmationDialogComponent, DeleteConfirmationDialogResult>\n );\n protected loading$ = this.modalRef.message.pipe(take(1));\n protected readonly icons = addIcons({ elementCancel });\n}\n","@let loading = loading$ | async;\n<div class=\"modal-header\">\n @if (icon()) {\n <si-icon class=\"icon\" [icon]=\"icon()\" />\n }\n <span class=\"modal-title\" [id]=\"titleId()\">{{ heading() | translate: translationParams() }}</span>\n <button\n type=\"button\"\n class=\"btn btn-circle btn-tertiary-ghost\"\n [attr.aria-label]=\"cancelBtnName() | translate\"\n [disabled]=\"!!loading\"\n (click)=\"modalRef.messageOrHide('cancel')\"\n >\n <si-icon [icon]=\"icons.elementCancel\" />\n </button>\n</div>\n<div class=\"modal-body text-pre-wrap text-break\">{{\n message() | translate: translationParams()\n}}</div>\n<div class=\"modal-footer\">\n <si-loading-button\n buttonClass=\"btn btn-secondary\"\n [disabled]=\"!!loading && loading !== 'cancel'\"\n [loading]=\"loading === 'cancel'\"\n (click)=\"modalRef.messageOrHide('cancel')\"\n >\n {{ cancelBtnName() | translate }}\n </si-loading-button>\n <si-loading-button\n buttonClass=\"btn btn-danger\"\n [disabled]=\"!!loading && loading !== 'delete'\"\n [loading]=\"loading === 'delete'\"\n (click)=\"modalRef.messageOrHide('delete')\"\n >\n {{ deleteBtnName() | translate }}\n </si-loading-button>\n</div>\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport { AsyncPipe } from '@angular/common';\nimport { booleanAttribute, Component, inject, input } from '@angular/core';\nimport { elementCancel } from '@siemens/element-icons';\nimport { addIcons, SiIconComponent } from '@siemens/element-ng/icon';\nimport { SiLoadingButtonComponent } from '@siemens/element-ng/loading-spinner';\nimport { ModalRef } from '@siemens/element-ng/modal';\nimport { SiTranslatePipe, t, TranslatableString } from '@siemens/element-translate-ng/translate';\nimport { take } from 'rxjs';\n\nimport { EditDiscardDialogResult } from '../si-action-dialog.types';\n\n@Component({\n selector: 'si-edit-discard-dialog',\n imports: [AsyncPipe, SiIconComponent, SiTranslatePipe, SiLoadingButtonComponent],\n templateUrl: './si-edit-discard-dialog.component.html'\n})\nexport class SiEditDiscardDialogComponent {\n /** ID of the dialog title element used for accessible naming. */\n readonly titleId = input<string>();\n /**\n * Heading displayed in the dialog.\n * @defaultValue ''\n */\n readonly heading = input<TranslatableString>('');\n /**\n * Message displayed in the dialog.\n * @defaultValue\n * ```\n * t(() => $localize`:@@SI_EDIT_DISCARD_DIALOG.MESSAGE:Save changes?`)\n * ```\n */\n readonly message = input(t(() => $localize`:@@SI_EDIT_DISCARD_DIALOG.MESSAGE:Save changes?`));\n /**\n * Label displayed on the save button.\n * @defaultValue\n * ```\n * t(() => $localize`:@@SI_EDIT_DISCARD_DIALOG.SAVE_BTN:Save`)\n * ```\n */\n readonly saveBtnName = input(t(() => $localize`:@@SI_EDIT_DISCARD_DIALOG.SAVE_BTN:Save`));\n /**\n * Label displayed on the discard button.\n * @defaultValue\n * ```\n * t(() => $localize`:@@SI_EDIT_DISCARD_DIALOG.DISCARD_BTN:Discard`)\n * ```\n */\n readonly discardBtnName = input(\n t(() => $localize`:@@SI_EDIT_DISCARD_DIALOG.DISCARD_BTN:Discard`)\n );\n /**\n * Label displayed on the cancel button.\n * @defaultValue\n * ```\n * t(() => $localize`:@@SI_EDIT_DISCARD_DIALOG.CANCEL_BTN:Cancel`)\n * ```\n */\n readonly cancelBtnName = input(t(() => $localize`:@@SI_EDIT_DISCARD_DIALOG.CANCEL_BTN:Cancel`));\n /**\n * Whether the save button is disabled.\n * @defaultValue false\n */\n readonly disableSave = input(false, { transform: booleanAttribute });\n /**\n * Message displayed when saving is disabled.\n * @defaultValue\n * ```\n * t(() => $localize`:@@SI_EDIT_DISCARD_DIALOG.DISABLE_SAVE_MESSAGE:Discard changes?`)\n * ```\n */\n readonly disableSaveMessage = input<TranslatableString>(\n t(() => $localize`:@@SI_EDIT_DISCARD_DIALOG.DISABLE_SAVE_MESSAGE:Discard changes?`)\n );\n /**\n * Label displayed on the discard button when saving is disabled.\n * @defaultValue\n * ```\n * t(() => $localize`:@@SI_EDIT_DISCARD_DIALOG.DISABLE_SAVE_DISCARD_BTN:Discard`)\n * ```\n */\n readonly disableSaveDiscardBtnName = input<TranslatableString>(\n t(() => $localize`:@@SI_EDIT_DISCARD_DIALOG.DISABLE_SAVE_DISCARD_BTN:Discard`)\n );\n /**\n * Parameters interpolated into the translated heading and message.\n * @defaultValue\n * ```\n * {}\n * ```\n */\n readonly translationParams = input<{ [key: string]: any }>({});\n /**\n * Icon displayed next to the dialog content.\n * @defaultValue ''\n */\n readonly icon = input('');\n\n protected modalRef = inject(ModalRef<SiEditDiscardDialogComponent, EditDiscardDialogResult>);\n protected loading$ = this.modalRef.message.pipe(take(1));\n protected readonly icons = addIcons({ elementCancel });\n}\n","@let loading = loading$ | async;\n<div class=\"modal-header\">\n @if (icon()) {\n <si-icon class=\"icon\" [icon]=\"icon()\" />\n }\n <span class=\"modal-title\" [id]=\"titleId()\">{{ heading() | translate: translationParams() }}</span>\n <button\n type=\"button\"\n class=\"btn btn-circle btn-tertiary-ghost\"\n [attr.aria-label]=\"cancelBtnName() | translate\"\n [disabled]=\"!!loading\"\n (click)=\"modalRef.messageOrHide('cancel')\"\n >\n <si-icon [icon]=\"icons.elementCancel\" />\n </button>\n</div>\n<div class=\"modal-body text-pre-wrap text-break\">{{\n (!disableSave() ? message() : disableSaveMessage()) | translate: translationParams()\n}}</div>\n<div class=\"modal-footer\">\n <si-loading-button\n buttonClass=\"btn btn-secondary\"\n [disabled]=\"!!loading && loading !== 'cancel'\"\n [loading]=\"loading === 'cancel'\"\n (click)=\"modalRef.messageOrHide('cancel')\"\n >\n {{ cancelBtnName() | translate }}\n </si-loading-button>\n <si-loading-button\n buttonClass=\"btn btn-danger\"\n [disabled]=\"!!loading && loading !== 'discard'\"\n [loading]=\"loading === 'discard'\"\n (click)=\"modalRef.messageOrHide('discard')\"\n >\n {{ (!disableSave() ? discardBtnName() : disableSaveDiscardBtnName()) | translate }}\n </si-loading-button>\n @if (!disableSave()) {\n <si-loading-button\n buttonClass=\"btn btn-primary\"\n [disabled]=\"!!loading && loading !== 'save'\"\n [loading]=\"loading === 'save'\"\n (click)=\"modalRef.messageOrHide('save')\"\n >\n {{ saveBtnName() | translate }}\n </si-loading-button>\n }\n</div>\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport { inject, Injectable } from '@angular/core';\nimport {\n createModalConfig,\n ModalDependencyInjectionOptions,\n SiModalService\n} from '@siemens/element-ng/modal';\nimport { Observable, Subscriber, Subscription, switchMap, take } from 'rxjs';\n\nimport { ActionDialog, ActionDialogReturnType } from './si-action-dialog.types';\nimport { SiAlertDialogComponent } from './si-alert-dialog/si-alert-dialog.component';\nimport { SiConfirmationDialogComponent } from './si-confirmation-dialog/si-confirmation-dialog.component';\nimport { SiDeleteConfirmationDialogComponent } from './si-delete-confirmation-dialog/si-delete-confirmation-dialog.component';\nimport { SiEditDiscardDialogComponent } from './si-edit-discard-dialog/si-edit-discard-dialog.component';\n\nconst ACTION_DIALOG_COMPONENT: Record<ActionDialog['type'], new (...args: any[]) => any> = {\n 'alert': SiAlertDialogComponent,\n 'confirmation': SiConfirmationDialogComponent,\n 'delete-confirm': SiDeleteConfirmationDialogComponent,\n 'edit-discard': SiEditDiscardDialogComponent\n};\n\nconst ACTION_DIALOG_DEFAULT_CLOSE_VALUE: Record<ActionDialog['type'], string> = {\n 'alert': 'confirm',\n 'confirmation': 'decline',\n 'delete-confirm': 'cancel',\n 'edit-discard': 'cancel'\n};\n\n/**\n * The service provides convenient methods to show common modal dialogs.\n * All return an observable, which emit the dialog results. After emitting,\n * the observables complete. Therefore, clients do not need to unsubscribe.\n */\n@Injectable({ providedIn: 'root' })\nexport class SiActionDialogService {\n private modalService = inject(SiModalService);\n\n /**\n * Shows an action dialog\n * @param dialog - The dialog configuration\n * @param diOptions - Optional DI configuration.\n * @returns Observable for the result of the dialog. Need to `subscribe()` to show the dialog\n */\n showActionDialog<T extends ActionDialog>(\n dialog: T,\n diOptions?: ModalDependencyInjectionOptions\n ): Observable<ActionDialogReturnType<T>> {\n return new Observable<ActionDialogReturnType<T>>(subscriber => {\n const { type, delayDismiss, ...inputs } = dialog;\n const config = createModalConfig(inputs);\n\n config.keyboard = true;\n config.messageInsteadOfAutoHide = !!delayDismiss;\n Object.assign(config, diOptions);\n\n const modalRef = this.modalService.show(\n ACTION_DIALOG_COMPONENT[type],\n config,\n ACTION_DIALOG_DEFAULT_CLOSE_VALUE[type] as ActionDialogReturnType<T>\n );\n\n let subscription: Subscription | undefined;\n if (delayDismiss) {\n // `any`because TS cannot infer types correctly\n subscription = modalRef.message\n .pipe(take(1), switchMap(delayDismiss as any))\n .subscribe(modalRef.hide);\n }\n // ModalRef always allows emitting undefined. But we know that we don't emit undefined here, so do typecast.\n modalRef.hidden.subscribe(subscriber as Subscriber<ActionDialogReturnType<T> | undefined>);\n\n return () => {\n subscription?.unsubscribe();\n modalRef.detach();\n };\n });\n }\n}\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nexport * from './si-action-dialog.service';\nexport * from './si-action-dialog.types';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"siemens-element-ng-ag-grid.mjs","sources":["../../../../projects/element-ng/ag-grid/components/ag-date-input.component.ts","../../../../projects/element-ng/ag-grid/components/ag-no-rows-overlay.component.ts","../../../../projects/element-ng/ag-grid/components/index.ts","../../../../projects/element-ng/ag-grid/parts/checkbox-style.part.ts","../../../../projects/element-ng/ag-grid/parts/color-scheme.part.ts","../../../../projects/element-ng/ag-grid/parts/icon-overrides.part.ts","../../../../projects/element-ng/ag-grid/parts/pagination-style.part.ts","../../../../projects/element-ng/ag-grid/parts/pinning-style.part.ts","../../../../projects/element-ng/ag-grid/parts/radio-style.part.ts","../../../../projects/element-ng/ag-grid/parts/skeleton-style.part.ts","../../../../projects/element-ng/ag-grid/parts/text-filter-style.part.ts","../../../../projects/element-ng/ag-grid/parts/toggle-style.part.ts","../../../../projects/element-ng/ag-grid/parts/index.ts","../../../../projects/element-ng/ag-grid/themes.ts","../../../../projects/element-ng/ag-grid/provider.ts","../../../../projects/element-ng/ag-grid/index.ts","../../../../projects/element-ng/ag-grid/siemens-element-ng-ag-grid.ts"],"sourcesContent":["/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\n\nimport { ChangeDetectionStrategy, Component, ElementRef, OnDestroy, inject } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { SiCalendarButtonComponent, SiDatepickerDirective } from '@siemens/element-ng/datepicker';\nimport { IDateComp, IDateParams } from 'ag-grid-community';\n\n/**\n * Custom AG Grid date component using Element datepicker.\n * This component replaces the native HTML date input with the Element design system datepicker.\n */\n@Component({\n selector: 'si-ag-date-input',\n imports: [FormsModule, SiDatepickerDirective, SiCalendarButtonComponent],\n template: `\n <si-calendar-button class=\"w-100\">\n <input\n type=\"text\"\n class=\"form-control\"\n siDatepicker\n [autoClose]=\"true\"\n [(ngModel)]=\"date\"\n (ngModelChange)=\"onDateChange()\"\n />\n </si-calendar-button>\n `,\n changeDetection: ChangeDetectionStrategy.Eager\n})\nexport class AgDateInputComponent implements IDateComp, OnDestroy {\n private elementRef = inject(ElementRef);\n\n /**\n * The selected date value.\n */\n public date: Date | undefined = undefined;\n\n /**\n * AG Grid date filter parameters.\n * @internal\n */\n private params!: IDateParams;\n\n /**\n * Document click event listener for calendar overlay.\n * @internal\n */\n private documentClickListener?: (event: MouseEvent) => void;\n\n /**\n * Notifies AG Grid when the date value changes.\n * @internal\n */\n onDateChange(): void {\n if (this.params) {\n this.params.onDateChanged();\n }\n }\n\n /**\n * Lifecycle hook called after the component GUI is attached.\n * Sets up event listeners to prevent filter popup from closing when interacting with calendar.\n */\n afterGuiAttached(): void {\n // Remove any existing listener to prevent duplicates\n if (this.documentClickListener) {\n document.removeEventListener('mousedown', this.documentClickListener, true);\n }\n\n // Intercept document click events to keep the filter open when clicking the calendar\n this.documentClickListener = (event: MouseEvent) => {\n const target = event.target as HTMLElement;\n const calendarOverlay = target.closest('si-datepicker, .cdk-overlay-pane');\n\n if (calendarOverlay) {\n event.stopPropagation();\n }\n };\n document.addEventListener('mousedown', this.documentClickListener, true);\n }\n\n ngOnDestroy(): void {\n if (this.documentClickListener) {\n document.removeEventListener('mousedown', this.documentClickListener, true);\n }\n }\n\n agInit(params: IDateParams): void {\n this.params = params;\n }\n\n getDate(): Date | null {\n return this.date ?? null;\n }\n\n getGui(): HTMLElement {\n return this.elementRef.nativeElement;\n }\n\n setDate(date: Date | null): void {\n this.date = date ?? undefined;\n if (this.params) {\n this.params.onDateChanged();\n }\n }\n}\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\n\nimport { ChangeDetectionStrategy, Component, signal } from '@angular/core';\nimport { SiEmptyStateComponent } from '@siemens/element-ng/empty-state';\nimport { INoRowsOverlayParams } from 'ag-grid-community';\n\n/**\n * Custom AG Grid no rows overlay component using Element Empty State.\n * This component is displayed when the grid has no data to show.\n *\n * @example\n * Using with custom parameters\n * ```typescript\n * <ag-grid-angular\n * [noRowsOverlayComponent]=\"AgNoRowsOverlayComponent\"\n * [noRowsOverlayComponentParams]=\"{\n * icon: 'element-technical-search',\n * heading: 'No results found',\n * content: 'Try adjusting your filters.'\n * }\"\n * />\n * ```\n */\n@Component({\n selector: 'si-ag-no-rows-overlay',\n imports: [SiEmptyStateComponent],\n template: ` <si-empty-state [icon]=\"icon()\" [heading]=\"heading()\" [content]=\"content()\" /> `,\n styles: `\n :host {\n display: flex;\n align-items: center;\n justify-content: center;\n height: 100%;\n width: 100%;\n }\n `,\n changeDetection: ChangeDetectionStrategy.Eager\n})\nexport class AgNoRowsOverlayComponent {\n /**\n * Icon to display in the empty state.\n *\n */\n protected readonly icon = signal<string>('');\n\n /**\n * Heading text for the empty state.\n *\n */\n protected readonly heading = signal<string>('');\n\n /**\n * Description text for the empty state.\n *\n */\n protected readonly content = signal<string | undefined>(undefined);\n\n agInit(params: INoRowsOverlayParams & { icon: string; heading: string; content?: string }): void {\n this.icon.set(params.icon);\n this.heading.set(params.heading);\n this.content.set(params.content);\n }\n}\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nexport * from './ag-date-input.component';\nexport * from './ag-no-rows-overlay.component';\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\n\nimport { createPart, type Part } from 'ag-grid-community';\n\n/**\n * Creates a checkbox style part for the Element AG Grid theme.\n * This part overrides the unchecked checkbox hover state to match Element design system.\n *\n * @returns A part that defines checkbox styling for the Element AG Grid theme.\n */\nexport const elementCheckboxStyle: Part = createPart({\n css: `\n.ag-checkbox-input-wrapper:not(.ag-checked):not(.ag-indeterminate):hover {\n border-color: var(--si-sys-color-border-accent-hover);\n background: var(--si-sys-color-background-accent-secondary-hover);\n}\n`\n});\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport { elementCheckedImageShape } from '@siemens/element-ng/icon';\nimport { Part, ThemeDefaultParams, createPart } from 'ag-grid-community';\n\n/**\n * Creates a comprehensive color scheme part for the Element AG Grid theme.\n *\n * This part applies Element design system colors and styling to all AG Grid components,\n * including:\n * - Typography (fonts, weights, sizes)\n * - Base colors (backgrounds, borders, foreground)\n * - Interactive elements (buttons, inputs, icons)\n * - Cell and row styling (hover, selection, borders)\n * - Header components\n * - Checkboxes and form controls\n * - Menus, dialogs, and overlays\n * - Tooltips and tabs\n * - Charts and visualizations\n *\n * All colors are mapped to CSS custom properties from the Element design system,\n * ensuring consistency with other Element components and automatic theme support.\n *\n * @returns A part that defines the complete color scheme for the Element AG Grid theme.\n */\nexport const elementColorScheme: Part = createPart({\n feature: 'colorScheme',\n css: `\n .ag-header-cell:focus-visible,\n .ag-header-group-cell:focus-visible {\n outline: var(--element-button-focus-width) solid var(--element-focus-default);\n outline-offset: calc(-1 * var(--element-button-focus-width));\n }\n `,\n params: {\n // Typography\n buttonFontWeight: '600',\n cellFontFamily: 'var(--element-body-font-family)',\n fontFamily: 'var(--element-body-font-family)',\n fontSize: '14px',\n headerFontWeight: '600',\n\n // Base colors:\n accentColor: 'var(--si-sys-color-effects-focus)',\n backgroundColor: 'var(--si-sys-color-background-1)',\n borderColor: 'var(--si-sys-color-border-4)',\n foregroundColor: 'var(--si-sys-color-text-primary)',\n invalidColor: 'var(--si-sys-color-background-danger)',\n subtleTextColor: 'var(--si-sys-color-text-secondary)',\n\n // Button styles\n buttonActiveBackgroundColor: 'var(--si-sys-color-background-accent-secondary-hover)',\n buttonActiveBorder: {\n color: 'var(--si-sys-color-background-accent-secondary-hover)'\n },\n buttonActiveTextColor: 'var(--si-sys-color-text-accent-hover)',\n buttonBackgroundColor: 'var(--si-sys-color-background-accent-secondary)',\n buttonBorder: {\n color: 'var(--si-sys-color-border-accent)'\n },\n buttonTextColor: 'var(--si-sys-color-text-accent)',\n\n buttonHoverBackgroundColor: 'var(--si-sys-color-background-accent-secondary-hover)',\n buttonHoverBorder: {\n color: 'var(--si-sys-color-border-accent-hover)'\n },\n buttonHoverTextColor: 'var(--si-sys-color-text-accent-hover)',\n\n buttonDisabledBackgroundColor: 'var(--si-sys-color-background-accent-secondary)',\n buttonDisabledTextColor: 'var(--si-sys-color-text-disabled)',\n buttonDisabledBorder: {\n color: 'var(--si-sys-color-border-4)'\n },\n\n // Advanced filter builder styles\n advancedFilterBuilderButtonBarBorder: {\n color: 'var(--si-sys-color-border-4)'\n },\n advancedFilterBuilderJoinPillColor: 'var(--si-sys-color-background-danger-subtle)',\n advancedFilterBuilderColumnPillColor: 'var(--si-sys-color-background-success-subtle)',\n advancedFilterBuilderOptionPillColor: 'var(--si-sys-color-background-warning-subtle)',\n advancedFilterBuilderValuePillColor: 'var(--si-sys-color-background-information-subtle)',\n\n // Cell styles\n cellEditingBorder: {\n color: 'var(--si-sys-color-background-accent)'\n },\n cellTextColor: 'var(--si-sys-color-text-primary)',\n\n // Column styles\n columnBorder: {\n color: 'var(--si-sys-color-background-accent-secondary)'\n },\n columnDropCellBackgroundColor: 'var(--si-sys-color-background-1)',\n columnDropCellBorder: {\n color: 'var(--si-sys-color-background-accent-secondary)'\n },\n columnDropCellDragHandleColor: 'var(--si-sys-color-text-primary)',\n columnDropCellTextColor: 'var(--si-sys-color-text-primary)',\n columnHoverColor: 'var(--si-sys-color-background-hover)',\n\n // Row styles\n oddRowBackgroundColor: 'var(--si-sys-color-background-1)',\n rowBorder: {\n color: 'var(--si-sys-color-border-4)'\n },\n rowHoverColor: 'var(--si-sys-color-background-hover)',\n rowLoadingSkeletonEffectColor: 'var(--si-sys-color-background-1)',\n selectedRowBackgroundColor: 'var(--si-sys-color-background-active)',\n\n // Dialog and footer styles\n footerRowBorder: {\n color: 'var(--si-sys-color-border-4)'\n },\n dialogBorder: {\n color: 'var(--si-sys-color-border-4)'\n },\n\n // Checkbox styles\n checkboxBorderRadius: '2px',\n checkboxBorderWidth: '1px',\n checkboxCheckedBackgroundColor: 'var(--si-sys-color-background-accent)',\n checkboxCheckedBorderColor: 'var(--si-sys-color-background-accent)',\n checkboxCheckedShapeColor: 'var(--si-sys-color-text-on-accent)',\n checkboxCheckedShapeImage: {\n url: elementCheckedImageShape\n },\n checkboxIndeterminateBackgroundColor: 'var(--si-sys-color-background-accent)',\n checkboxIndeterminateBorderColor: 'var(--si-sys-color-background-accent)',\n checkboxIndeterminateShapeColor: 'var(--si-sys-color-background-1)',\n checkboxUncheckedBackgroundColor: 'var(--si-sys-color-background-1)',\n checkboxUncheckedBorderColor: 'var(--si-sys-color-border-1)',\n\n // Header styles\n headerBackgroundColor: 'var(--si-sys-color-background-1)',\n headerCellHoverBackgroundColor: 'var(--si-sys-color-background-hover)',\n headerColumnBorder: {\n color: 'var(--si-sys-color-background-accent-secondary)'\n },\n headerColumnResizeHandleColor: 'var(--si-sys-color-border-4)',\n headerRowBorder: {\n color: 'var(--si-sys-color-border-4)'\n },\n\n // Input styles\n inputBackgroundColor: 'var(--si-sys-color-background-1)',\n inputBorder: {\n color: 'var(--si-sys-color-border-2)'\n },\n inputBorderRadius: '2px',\n inputDisabledBackgroundColor: 'var(--si-sys-color-background-1)',\n inputDisabledBorder: {\n color: 'var(--si-sys-color-border-3)'\n },\n inputDisabledTextColor: 'var(--si-sys-color-text-disabled)',\n inputFocusBorder: {\n color: 'var(--si-sys-color-effects-focus)'\n },\n inputFocusShadow: false,\n inputIconColor: 'var(--si-sys-color-border-1)',\n inputInvalidBorder: {\n color: 'var(--si-sys-color-background-danger)'\n },\n inputTextColor: 'var(--si-sys-color-text-primary)',\n\n // Icon styles\n iconButtonActiveBackgroundColor: 'var(--si-sys-color-background-active)',\n iconButtonActiveColor: 'var(--si-sys-color-background-accent-hover)',\n iconButtonActiveIndicatorColor: 'var(--si-sys-color-background-accent-hover)',\n iconButtonBackgroundColor: 'var(--si-sys-color-background-accent-secondary)',\n iconButtonColor: 'var(--si-sys-color-text-primary)',\n iconButtonHoverBackgroundColor: 'var(--si-sys-color-background-hover)',\n iconButtonHoverColor: 'var(--si-sys-color-text-primary)',\n iconColor: 'var(--si-sys-color-text-primary)',\n iconSize: '18px',\n\n // Menu styles\n menuBackgroundColor: 'var(--si-sys-color-background-1)',\n menuBorder: false,\n menuShadow: 'var(--si-sys-color-effects-shadow-2)',\n\n // Pinning styles\n pinnedColumnBorder: {\n color: 'var(--si-sys-color-background-active)'\n },\n pinnedRowBorder: {\n color: 'var(--si-sys-color-background-active)'\n },\n\n // Drag and drop styles\n dragAndDropImageBackgroundColor: 'var(--si-sys-color-background-3)',\n dragAndDropImageBorder: false,\n dragAndDropImageShadow: 'var(--si-sys-color-effects-shadow-2)',\n dragHandleColor: 'var(--si-sys-color-text-primary)',\n\n // Range selection styles\n rangeHeaderHighlightColor: 'var(--si-sys-color-background-1)',\n rangeSelectionBackgroundColor: 'var(--si-sys-color-background-active)',\n rangeSelectionBorderColor: 'var(--si-sys-color-background-accent-hover)',\n rangeSelectionHighlightColor: 'var(--si-sys-color-background-active)',\n\n // Sidebar styles\n sideBarBackgroundColor: 'var(--si-sys-color-background-1)',\n sidePanelBorder: {\n color: 'var(--si-sys-color-border-4)'\n },\n\n // Side button styles\n sideButtonBackgroundColor: 'var(--si-sys-color-background-accent-secondary)',\n sideButtonBarBackgroundColor: 'var(--si-sys-color-background-1)',\n sideButtonHoverBackgroundColor: 'var(--si-sys-color-background-hover)',\n sideButtonSelectedBackgroundColor: 'var(--si-sys-color-background-active)',\n sideButtonSelectedBorder: 'var(--si-sys-color-border-accent)',\n sideButtonSelectedUnderlineColor: 'var(--si-sys-color-background-active)',\n\n // Status bar styles\n statusBarLabelColor: 'var(--si-sys-color-text-primary)',\n statusBarValueColor: 'var(--si-sys-color-text-primary)',\n\n // Select cell styles\n selectCellBorder: {\n color: 'var(--si-sys-color-border-4)'\n },\n\n // Toggle button styles - matching Element switch design\n toggleButtonHeight: '20px',\n toggleButtonOffBackgroundColor: 'var(--si-sys-color-background-neutral)',\n toggleButtonOnBackgroundColor: 'var(--si-sys-color-background-accent)',\n toggleButtonSwitchBackgroundColor: 'var(--si-sys-color-background-inverse)',\n toggleButtonSwitchInset: '4px',\n toggleButtonWidth: '40px',\n\n // Value change styles\n valueChangeDeltaDownColor: 'var(--si-sys-color-background-danger)',\n valueChangeDeltaUpColor: 'var(--si-sys-color-background-success)',\n valueChangeValueHighlightBackgroundColor: 'var(--si-sys-color-background-active)',\n\n // Tooltip styles\n tooltipBackgroundColor: 'var(--si-sys-color-background-inverse)',\n tooltipBorder: false,\n tooltipTextColor: 'var(--si-sys-color-text-inverse)',\n\n // Tab styles\n tabBackgroundColor: 'var(--si-sys-color-background-accent-secondary)',\n tabBarBackgroundColor: 'var(--si-sys-color-background-1)',\n tabBarBorder: {\n color: 'var(--si-sys-color-border-4)'\n },\n tabHoverBackgroundColor: 'var(--si-sys-color-background-accent-secondary)',\n tabSelectedTextColor: 'var(--si-sys-color-background-accent)',\n tabSelectedUnderlineColor: 'var(--si-sys-color-background-accent-secondary)',\n\n // Chart styles\n chartMenuLabelColor: 'var(--si-sys-color-text-primary)',\n\n // Misc styles\n focusShadow: false,\n wrapperBorder: false\n } satisfies Partial<ThemeDefaultParams>\n});\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport {\n elementBusy,\n elementCancel,\n elementCopy,\n elementCut,\n elementDown2,\n elementDownload,\n elementEdit,\n elementFilter,\n elementHide,\n elementJumpToListItem,\n elementLayoutPane3Alt,\n elementLeft2,\n elementLeft4,\n elementLink,\n elementLinkBroken,\n elementMenu,\n elementMinus,\n elementMove,\n elementOk,\n elementOptionsVertical,\n elementOutOfService,\n elementPalette,\n elementPaste,\n elementPin,\n elementPinch,\n elementPlus,\n elementReport,\n elementRight2,\n elementRight4,\n elementShow,\n elementSortDown,\n elementSortUp,\n elementSum,\n elementUp2,\n elementZoom\n} from '@siemens/element-icons';\nimport { iconOverrides } from 'ag-grid-community';\n\n/**\n * Utility function to convert data URI icon map to AG Grid icon format.\n * Extracts base64 SVG data from data URIs.\n *\n * @param icons - Record of icon names to data URI strings\n * @returns Record of icon names to AG Grid icon objects with SVG data\n */\nconst createIconMap = (icons: Record<string, string>): Record<string, { svg: string }> =>\n Object.fromEntries(\n Object.entries(icons).map(([key, dataUri]) => [key, { svg: dataUri.split(',')[1] }])\n );\n\n/**\n * Creates an icon overrides part for the Element AG Grid theme.\n * This part allows customization of AG Grid icons with Element design system icons.\n * Icons can be added to the icons map as needed.\n *\n * @returns A part that defines icon overrides for the Element AG Grid theme.\n */\nexport const elementIconOverrides = iconOverrides({\n type: 'image',\n mask: true,\n icons: createIconMap({\n aggregation: elementSum,\n arrows: elementMove,\n asc: elementSortUp,\n cancel: elementCancel,\n chart: elementReport,\n 'chevron-down': elementDown2,\n 'chevron-left': elementLeft2,\n 'chevron-right': elementRight2,\n 'chevron-up': elementUp2,\n 'color-picker': elementPalette,\n columns: elementLayoutPane3Alt,\n contracted: elementRight2,\n copy: elementCopy,\n cross: elementCancel,\n cut: elementCut,\n desc: elementSortDown,\n edit: elementEdit,\n expanded: elementLeft2,\n 'eye-slash': elementHide,\n eye: elementShow,\n filter: elementFilter,\n group: elementJumpToListItem,\n left: elementLeft4,\n linked: elementLink,\n loading: elementBusy,\n maximize: elementZoom,\n menu: elementOptionsVertical,\n 'menu-alt': elementOptionsVertical,\n minimize: elementPinch,\n minus: elementMinus,\n next: elementRight2,\n 'not-allowed': elementOutOfService,\n paste: elementPaste,\n pin: elementPin,\n plus: elementPlus,\n previous: elementLeft2,\n right: elementRight4,\n save: elementDownload,\n 'small-down': elementDown2,\n 'small-left': elementLeft2,\n 'small-right': elementRight2,\n 'small-up': elementUp2,\n tick: elementOk,\n 'tree-closed': elementRight2,\n 'tree-indeterminate': elementMinus,\n 'tree-open': elementDown2,\n unlinked: elementLinkBroken,\n up: elementSortUp,\n grip: elementMenu\n })\n});\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\n\nimport { createPart, type Part } from 'ag-grid-community';\n\n/**\n * Creates a pagination style part for the Element AG Grid theme.\n * This part applies font weight styling to pagination summary numbers.\n *\n * @returns A part that defines pagination styling for the Element AG Grid theme.\n */\nexport const elementPaginationStyle: Part = createPart({\n css: `\n .ag-paging-row-summary-panel-number {\n font-weight: 600;\n }\n `\n});\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\n\nimport { createPart, type Part } from 'ag-grid-community';\n\n/**\n * Creates a pinning style part for the Element AG Grid theme.\n * This part applies box shadow styling to pinned top and bottom rows.\n *\n * @returns A part that defines pinning styles for the Element AG Grid theme.\n */\nexport const elementPinningStyle: Part = createPart({\n css: `\n .ag-grid-pinned-top-rows-container {\n box-shadow: var(--si-sys-color-effects-shadow-2);\n }\n\n .ag-grid-pinned-bottom-rows-container {\n box-shadow: var(--si-sys-color-effects-shadow-2);\n }\n`\n});\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\n\nimport { createPart, type Part } from 'ag-grid-community';\n\n/**\n * Creates a radio button style part for the Element AG Grid theme.\n * This part applies Element design system styling to radio buttons including colors,\n * hover states, checked states, and disabled states.\n *\n * @returns A part that defines radio button styling for the Element AG Grid theme.\n */\nexport const elementRadioStyle: Part = createPart({\n css: `\n .ag-radio-button-input-wrapper {\n background-color: var(--element-ui-5);\n border: 1px solid var(--si-sys-color-border-1);\n}\n\n.ag-radio-button-input-wrapper:hover {\n border-color: var(--si-sys-color-border-accent-hover);\n background: var(--si-sys-color-background-accent-secondary-hover);\n}\n\n.ag-radio-button-input-wrapper.ag-checked {\n border-color: var(--si-sys-color-border-accent);\n background-color: var(--element-ui-5);\n}\n\n.ag-radio-button-input-wrapper.ag-checked::after {\n background-color: var(--si-sys-color-background-accent);\n mask-image: none;\n inset: 4px;\n border-radius: 50%;\n}\n\n.ag-radio-button-input-wrapper.ag-checked:hover {\n border-color: var(--si-sys-color-border-accent-hover);\n}\n\n.ag-radio-button-input-wrapper.ag-checked:hover::after {\n background-color: var(--si-sys-color-background-accent-hover);\n}\n\n.ag-radio-button-input-wrapper.ag-disabled {\n border-color: var(--si-sys-color-border-3);\n background-color: var(--element-ui-5);\n opacity: 1;\n}\n\n.ag-radio-button-input-wrapper.ag-checked.ag-disabled {\n border-color: var(--si-sys-color-border-3);\n}\n\n.ag-radio-button-input-wrapper.ag-checked.ag-disabled::after {\n background-color: var(--si-sys-color-border-3);\n}\n`\n});\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\n\nimport { createPart, type Part } from 'ag-grid-community';\n\n/**\n * Creates a skeleton style part for the Element AG Grid theme.\n * This part applies Element design system shimmer animation to skeleton loading effects\n * to match the Element skeleton component design.\n *\n * @returns A part that defines skeleton loading styles for the Element AG Grid theme.\n */\nexport const elementSkeletonStyle: Part = createPart({\n css: `\n @keyframes shimmer {\n to {\n background-position-x: -100%;\n }\n }\n\n .ag-skeleton-effect {\n background: linear-gradient(\n 90deg,\n var(--si-sys-color-background-hover) 0%,\n var(--si-sys-color-background-active) 25%,\n var(--si-sys-color-background-hover) 50%\n );\n background-size: 200% 100%;\n background-position-x: 100%;\n animation: shimmer calc(1.6s * var(--element-animations-enabled, 1)) ease-in-out infinite;\n }\n `\n});\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\n\nimport { createPart, type Part } from 'ag-grid-community';\n\n/**\n * Creates a text filter style part for the Element AG Grid theme.\n * This part applies Element design system styling to text filter search inputs,\n * including border width and background color customization.\n *\n * @returns A part that defines text filter search input styling for the Element AG Grid theme.\n */\nexport const elementTextFilterStyle: Part = createPart({\n css: `\n .ag-column-select-header-filter-wrapper,\n.ag-filter-toolpanel-search,\n.ag-mini-filter,\n.ag-filter-filter,\n.ag-filter-add-select {\n .ag-text-field-input[type='text'] {\n border-width: 0;\n background-color: var(--si-sys-color-background-4);\n }\n}\n`\n});\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\n\nimport { createPart, type Part } from 'ag-grid-community';\n\n/**\n * Creates a toggle button style part for the Element AG Grid theme.\n * This part applies Element design system switch styling including hover states,\n * transitions, and proper knob positioning to match the Element switch component.\n *\n * @returns A part that defines toggle button styling for the Element AG Grid theme.\n */\nexport const elementToggleStyle: Part = createPart({\n css: `\n .ag-toggle-button-input-wrapper {\n transition: background-color 0.4s;\n }\n\n .ag-toggle-button-input-wrapper::before {\n transition: left 0.4s;\n }\n\n .ag-toggle-button-input-wrapper:not(.ag-checked):hover {\n background-color: var(--si-sys-color-background-neutral);\n }\n\n .ag-toggle-button-input-wrapper.ag-checked:hover {\n background-color: var(--si-sys-color-background-accent-hover);\n }\n\n .ag-toggle-button-input-wrapper.ag-checked::before {\n background-color: var(--element-ui-5);\n }\n `\n});\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nexport * from './checkbox-style.part';\nexport * from './color-scheme.part';\nexport * from './icon-overrides.part';\nexport * from './pagination-style.part';\nexport * from './pinning-style.part';\nexport * from './radio-style.part';\nexport * from './skeleton-style.part';\nexport * from './text-filter-style.part';\nexport * from './toggle-style.part';\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\n\nimport { iconSetAlpine, Theme, themeAlpine } from 'ag-grid-community';\n\nimport {\n elementCheckboxStyle,\n elementColorScheme,\n elementIconOverrides,\n elementPaginationStyle,\n elementPinningStyle,\n elementRadioStyle,\n elementSkeletonStyle,\n elementTextFilterStyle,\n elementToggleStyle\n} from './parts';\n\n/**\n * Base theme combining all Element design system parts with AG Grid Alpine theme.\n * This theme includes custom styling for checkboxes, radios, toggles, pagination,\n * pinning, skeleton loaders, text filters, icons, and color scheme.\n * @internal\n */\nconst elementBaseTheme: Theme = themeAlpine\n .withPart(iconSetAlpine)\n .withPart(elementCheckboxStyle)\n .withPart(elementRadioStyle)\n .withPart(elementToggleStyle)\n .withPart(elementPaginationStyle)\n .withPart(elementPinningStyle)\n .withPart(elementSkeletonStyle)\n .withPart(elementTextFilterStyle)\n .withPart(elementIconOverrides)\n .withPart(elementColorScheme);\n\n/**\n * Standard density Element AG Grid theme.\n * Provides balanced spacing suitable for most use cases.\n * - Row height: 42px\n * - Header height: 48px\n * - Spacing: 8px\n */\nexport const elementTheme: Theme = elementBaseTheme.withParams({\n rowHeight: '42px',\n headerHeight: '48px',\n spacing: '8px'\n});\n\n/**\n * Compact density Element AG Grid theme.\n * Optimized for displaying more data in limited space.\n * - Row height: 28px\n * - Header height: 32px\n * - Spacing: 4px\n */\nexport const elementThemeCompact: Theme = elementBaseTheme.withParams({\n rowHeight: '28px',\n headerHeight: '32px',\n spacing: '4px'\n});\n\n/**\n * Comfort density Element AG Grid theme.\n * Provides generous spacing for enhanced readability and touch interactions.\n * - Row height: 84px\n * - Header height: 96px\n * - Spacing: 12px\n */\nexport const elementThemeComfort: Theme = elementBaseTheme.withParams({\n rowHeight: '84px',\n headerHeight: '96px',\n spacing: '12px'\n});\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\n\nimport { EnvironmentProviders, makeEnvironmentProviders } from '@angular/core';\nimport { GridOptions, provideGlobalGridOptions, Theme } from 'ag-grid-community';\n\nimport { AgDateInputComponent, AgNoRowsOverlayComponent } from './components';\nimport { elementTheme, elementThemeCompact, elementThemeComfort } from './themes';\n\n/**\n * Default AG Grid options for Element theme.\n * Includes custom components for date input and empty state overlay.\n * @internal\n */\nconst ELEMENT_AG_GRID_OPTIONS: GridOptions = {\n tooltipShowDelay: 200,\n components: {\n agDateInput: AgDateInputComponent,\n agNoRowsOverlay: AgNoRowsOverlayComponent\n }\n};\n\n/**\n * Theme mapping by density variant.\n * @internal\n */\nconst THEME_BY_DENSITY = new Map<string, Theme>([\n ['compact', elementThemeCompact],\n ['comfort', elementThemeComfort],\n ['standard', elementTheme]\n]);\n\n/**\n * Provides AG Grid global configuration with Element design system theme.\n *\n * This provider configures AG Grid with the Element theme, custom components,\n * and density-specific styling. Use it in your application providers.\n *\n * @param density - The density variant to use. Options:\n * - 'compact': Minimal spacing (28px row height, 32px header height, 4px spacing)\n * - 'standard': Default spacing (42px row height, 48px header height, 8px spacing)\n * - 'comfort': Generous spacing (84px row height, 96px header height, 12px spacing)\n * @param gridOptions - Optional AG Grid options to merge with Element defaults.\n * These options will override Element defaults if specified.\n * @returns Environment providers for dependency injection\n *\n * @example\n * ```typescript\n * // In app.config.ts\n * export const appConfig: ApplicationConfig = {\n * providers: [\n * provideSiAgGridConfig()\n * ]\n * };\n *\n * // With custom options\n * export const appConfig: ApplicationConfig = {\n * providers: [\n * provideSiAgGridConfig('compact', {\n * rowHeight: 30,\n * suppressMenuHide: true\n * })\n * ]\n * };\n * ```\n */\nexport const provideSiAgGridConfig = (\n density: 'compact' | 'comfort' | 'standard' = 'standard',\n gridOptions?: GridOptions\n): EnvironmentProviders => {\n return makeEnvironmentProviders([\n {\n provide: 'ag-grid-options',\n useValue: provideGlobalGridOptions({\n ...ELEMENT_AG_GRID_OPTIONS,\n ...gridOptions,\n theme: THEME_BY_DENSITY.get(density)\n })\n }\n ]);\n};\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\n\nexport * from './components';\nexport * from './provider';\nexport * from './themes';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"siemens-element-ng-ag-grid.mjs","sources":["../../../../projects/element-ng/ag-grid/components/ag-date-input.component.ts","../../../../projects/element-ng/ag-grid/components/ag-no-rows-overlay.component.ts","../../../../projects/element-ng/ag-grid/components/index.ts","../../../../projects/element-ng/ag-grid/parts/checkbox-style.part.ts","../../../../projects/element-ng/ag-grid/parts/color-scheme.part.ts","../../../../projects/element-ng/ag-grid/parts/icon-overrides.part.ts","../../../../projects/element-ng/ag-grid/parts/pagination-style.part.ts","../../../../projects/element-ng/ag-grid/parts/pinning-style.part.ts","../../../../projects/element-ng/ag-grid/parts/radio-style.part.ts","../../../../projects/element-ng/ag-grid/parts/skeleton-style.part.ts","../../../../projects/element-ng/ag-grid/parts/text-filter-style.part.ts","../../../../projects/element-ng/ag-grid/parts/toggle-style.part.ts","../../../../projects/element-ng/ag-grid/parts/index.ts","../../../../projects/element-ng/ag-grid/themes.ts","../../../../projects/element-ng/ag-grid/provider.ts","../../../../projects/element-ng/ag-grid/index.ts","../../../../projects/element-ng/ag-grid/siemens-element-ng-ag-grid.ts"],"sourcesContent":["/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\n\nimport { ChangeDetectionStrategy, Component, ElementRef, OnDestroy, inject } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { SiCalendarButtonComponent, SiDatepickerDirective } from '@siemens/element-ng/datepicker';\nimport { IDateComp, IDateParams } from 'ag-grid-community';\n\n/**\n * Custom AG Grid date component using Element datepicker.\n * This component replaces the native HTML date input with the Element design system datepicker.\n */\n@Component({\n selector: 'si-ag-date-input',\n imports: [FormsModule, SiDatepickerDirective, SiCalendarButtonComponent],\n template: `\n <si-calendar-button class=\"w-100\">\n <input\n type=\"text\"\n class=\"form-control\"\n siDatepicker\n [autoClose]=\"true\"\n [(ngModel)]=\"date\"\n (ngModelChange)=\"onDateChange()\"\n />\n </si-calendar-button>\n `,\n changeDetection: ChangeDetectionStrategy.Eager\n})\nexport class AgDateInputComponent implements IDateComp, OnDestroy {\n private elementRef = inject(ElementRef);\n\n /**\n * The selected date value.\n */\n public date: Date | undefined = undefined;\n\n /**\n * AG Grid date filter parameters.\n * @internal\n */\n private params!: IDateParams;\n\n /**\n * Document click event listener for calendar overlay.\n * @internal\n */\n private documentClickListener?: (event: MouseEvent) => void;\n\n /**\n * Notifies AG Grid when the date value changes.\n * @internal\n */\n onDateChange(): void {\n if (this.params) {\n this.params.onDateChanged();\n }\n }\n\n /**\n * Lifecycle hook called after the component GUI is attached.\n * Sets up event listeners to prevent filter popup from closing when interacting with calendar.\n */\n afterGuiAttached(): void {\n // Remove any existing listener to prevent duplicates\n if (this.documentClickListener) {\n document.removeEventListener('mousedown', this.documentClickListener, true);\n }\n\n // Intercept document click events to keep the filter open when clicking the calendar\n this.documentClickListener = (event: MouseEvent) => {\n const target = event.target as HTMLElement;\n const calendarOverlay = target.closest('si-datepicker, .cdk-overlay-pane');\n\n if (calendarOverlay) {\n event.stopPropagation();\n }\n };\n document.addEventListener('mousedown', this.documentClickListener, true);\n }\n\n ngOnDestroy(): void {\n if (this.documentClickListener) {\n document.removeEventListener('mousedown', this.documentClickListener, true);\n }\n }\n\n agInit(params: IDateParams): void {\n this.params = params;\n }\n\n getDate(): Date | null {\n return this.date ?? null;\n }\n\n getGui(): HTMLElement {\n return this.elementRef.nativeElement;\n }\n\n setDate(date: Date | null): void {\n this.date = date ?? undefined;\n if (this.params) {\n this.params.onDateChanged();\n }\n }\n}\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\n\nimport { ChangeDetectionStrategy, Component, signal } from '@angular/core';\nimport { SiEmptyStateComponent } from '@siemens/element-ng/empty-state';\nimport { INoRowsOverlayParams } from 'ag-grid-community';\n\n/**\n * Custom AG Grid no rows overlay component using Element Empty State.\n * This component is displayed when the grid has no data to show.\n *\n * @example\n * Using with custom parameters\n * ```typescript\n * <ag-grid-angular\n * [noRowsOverlayComponent]=\"AgNoRowsOverlayComponent\"\n * [noRowsOverlayComponentParams]=\"{\n * icon: 'element-technical-search',\n * heading: 'No results found',\n * content: 'Try adjusting your filters.'\n * }\"\n * />\n * ```\n */\n@Component({\n selector: 'si-ag-no-rows-overlay',\n imports: [SiEmptyStateComponent],\n template: ` <si-empty-state [icon]=\"icon()\" [heading]=\"heading()\" [content]=\"content()\" /> `,\n styles: `\n :host {\n display: flex;\n align-items: center;\n justify-content: center;\n height: 100%;\n width: 100%;\n }\n `,\n changeDetection: ChangeDetectionStrategy.Eager\n})\nexport class AgNoRowsOverlayComponent {\n /**\n * Icon to display in the empty state.\n *\n */\n protected readonly icon = signal<string>('');\n\n /**\n * Heading text for the empty state.\n *\n */\n protected readonly heading = signal<string>('');\n\n /**\n * Description text for the empty state.\n *\n */\n protected readonly content = signal<string | undefined>(undefined);\n\n agInit(params: INoRowsOverlayParams & { icon: string; heading: string; content?: string }): void {\n this.icon.set(params.icon);\n this.heading.set(params.heading);\n this.content.set(params.content);\n }\n}\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nexport * from './ag-date-input.component';\nexport * from './ag-no-rows-overlay.component';\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\n\nimport { createPart, type Part } from 'ag-grid-community';\n\n/**\n * Creates a checkbox style part for the Element AG Grid theme.\n * This part overrides the unchecked checkbox hover state to match Element design system.\n *\n * @returns A part that defines checkbox styling for the Element AG Grid theme.\n */\nexport const elementCheckboxStyle: Part = createPart({\n css: `\n.ag-checkbox-input-wrapper:not(.ag-checked):not(.ag-indeterminate):hover {\n border-color: var(--si-sys-color-border-accent-hover);\n background: var(--si-sys-color-background-accent-secondary-hover);\n}\n`\n});\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport { elementCheckedImageShape } from '@siemens/element-ng/icon';\nimport { Part, ThemeDefaultParams, createPart } from 'ag-grid-community';\n\n/**\n * Creates a comprehensive color scheme part for the Element AG Grid theme.\n *\n * This part applies Element design system colors and styling to all AG Grid components,\n * including:\n * - Typography (fonts, weights, sizes)\n * - Base colors (backgrounds, borders, foreground)\n * - Interactive elements (buttons, inputs, icons)\n * - Cell and row styling (hover, selection, borders)\n * - Header components\n * - Checkboxes and form controls\n * - Menus, dialogs, and overlays\n * - Tooltips and tabs\n * - Charts and visualizations\n *\n * All colors are mapped to CSS custom properties from the Element design system,\n * ensuring consistency with other Element components and automatic theme support.\n *\n * @returns A part that defines the complete color scheme for the Element AG Grid theme.\n */\nexport const elementColorScheme: Part = createPart({\n feature: 'colorScheme',\n css: `\n .ag-header-cell:focus-visible,\n .ag-header-group-cell:focus-visible {\n outline: var(--element-button-focus-width) solid var(--element-focus-default);\n outline-offset: calc(-1 * var(--element-button-focus-width));\n }\n `,\n params: {\n // Typography\n buttonFontWeight: '600',\n cellFontFamily: 'var(--element-body-font-family)',\n fontFamily: 'var(--element-body-font-family)',\n fontSize: '14px',\n headerFontWeight: '600',\n\n // Base colors:\n accentColor: 'var(--si-sys-color-effects-focus)',\n backgroundColor: 'var(--si-sys-color-background-1)',\n borderColor: 'var(--si-sys-color-border-4)',\n foregroundColor: 'var(--si-sys-color-text-primary)',\n invalidColor: 'var(--si-sys-color-background-danger)',\n subtleTextColor: 'var(--si-sys-color-text-secondary)',\n\n // Button styles\n buttonActiveBackgroundColor: 'var(--si-sys-color-background-accent-secondary-hover)',\n buttonActiveBorder: {\n color: 'var(--si-sys-color-background-accent-secondary-hover)'\n },\n buttonActiveTextColor: 'var(--si-sys-color-text-accent-hover)',\n buttonBackgroundColor: 'var(--si-sys-color-background-accent-secondary)',\n buttonBorder: {\n color: 'var(--si-sys-color-border-accent)'\n },\n buttonTextColor: 'var(--si-sys-color-text-accent)',\n\n buttonHoverBackgroundColor: 'var(--si-sys-color-background-accent-secondary-hover)',\n buttonHoverBorder: {\n color: 'var(--si-sys-color-border-accent-hover)'\n },\n buttonHoverTextColor: 'var(--si-sys-color-text-accent-hover)',\n\n buttonDisabledBackgroundColor: 'var(--si-sys-color-background-accent-secondary)',\n buttonDisabledTextColor: 'var(--si-sys-color-text-disabled)',\n buttonDisabledBorder: {\n color: 'var(--si-sys-color-border-4)'\n },\n\n // Advanced filter builder styles\n advancedFilterBuilderButtonBarBorder: {\n color: 'var(--si-sys-color-border-4)'\n },\n advancedFilterBuilderJoinPillColor: 'var(--si-sys-color-background-danger-subtle)',\n advancedFilterBuilderColumnPillColor: 'var(--si-sys-color-background-success-subtle)',\n advancedFilterBuilderOptionPillColor: 'var(--si-sys-color-background-warning-subtle)',\n advancedFilterBuilderValuePillColor: 'var(--si-sys-color-background-information-subtle)',\n\n // Cell styles\n cellEditingBorder: {\n color: 'var(--si-sys-color-background-accent)'\n },\n cellTextColor: 'var(--si-sys-color-text-primary)',\n\n // Column styles\n columnBorder: {\n color: 'var(--si-sys-color-background-accent-secondary)'\n },\n columnDropCellBackgroundColor: 'var(--si-sys-color-background-1)',\n columnDropCellBorder: {\n color: 'var(--si-sys-color-background-accent-secondary)'\n },\n columnDropCellDragHandleColor: 'var(--si-sys-color-text-primary)',\n columnDropCellTextColor: 'var(--si-sys-color-text-primary)',\n columnHoverColor: 'var(--si-sys-color-background-hover)',\n\n // Row styles\n oddRowBackgroundColor: 'var(--si-sys-color-background-1)',\n rowBorder: {\n color: 'var(--si-sys-color-border-4)'\n },\n rowHoverColor: 'var(--si-sys-color-background-hover)',\n rowLoadingSkeletonEffectColor: 'var(--si-sys-color-background-1)',\n selectedRowBackgroundColor: 'var(--si-sys-color-background-active)',\n\n // Dialog and footer styles\n footerRowBorder: {\n color: 'var(--si-sys-color-border-4)'\n },\n dialogBorder: {\n color: 'var(--si-sys-color-border-4)'\n },\n\n // Checkbox styles\n checkboxBorderRadius: '2px',\n checkboxBorderWidth: '1px',\n checkboxCheckedBackgroundColor: 'var(--si-sys-color-background-accent)',\n checkboxCheckedBorderColor: 'var(--si-sys-color-background-accent)',\n checkboxCheckedShapeColor: 'var(--si-sys-color-text-on-accent)',\n checkboxCheckedShapeImage: {\n url: elementCheckedImageShape\n },\n checkboxIndeterminateBackgroundColor: 'var(--si-sys-color-background-accent)',\n checkboxIndeterminateBorderColor: 'var(--si-sys-color-background-accent)',\n checkboxIndeterminateShapeColor: 'var(--si-sys-color-background-1)',\n checkboxUncheckedBackgroundColor: 'var(--si-sys-color-background-1)',\n checkboxUncheckedBorderColor: 'var(--si-sys-color-border-1)',\n\n // Header styles\n headerBackgroundColor: 'var(--si-sys-color-background-1)',\n headerCellHoverBackgroundColor: 'var(--si-sys-color-background-hover)',\n headerColumnBorder: {\n color: 'var(--si-sys-color-background-accent-secondary)'\n },\n headerColumnResizeHandleColor: 'var(--si-sys-color-border-4)',\n headerRowBorder: {\n color: 'var(--si-sys-color-border-4)'\n },\n\n // Input styles\n inputBackgroundColor: 'var(--si-sys-color-background-1)',\n inputBorder: {\n color: 'var(--si-sys-color-border-2)'\n },\n inputBorderRadius: '2px',\n inputDisabledBackgroundColor: 'var(--si-sys-color-background-1)',\n inputDisabledBorder: {\n color: 'var(--si-sys-color-border-3)'\n },\n inputDisabledTextColor: 'var(--si-sys-color-text-disabled)',\n inputFocusBorder: {\n color: 'var(--si-sys-color-effects-focus)'\n },\n inputFocusShadow: false,\n inputIconColor: 'var(--si-sys-color-border-1)',\n inputInvalidBorder: {\n color: 'var(--si-sys-color-background-danger)'\n },\n inputTextColor: 'var(--si-sys-color-text-primary)',\n\n // Icon styles\n iconButtonActiveBackgroundColor: 'var(--si-sys-color-background-active)',\n iconButtonActiveColor: 'var(--si-sys-color-background-accent-hover)',\n iconButtonActiveIndicatorColor: 'var(--si-sys-color-background-accent-hover)',\n iconButtonBackgroundColor: 'var(--si-sys-color-background-accent-secondary)',\n iconButtonColor: 'var(--si-sys-color-text-primary)',\n iconButtonHoverBackgroundColor: 'var(--si-sys-color-background-hover)',\n iconButtonHoverColor: 'var(--si-sys-color-text-primary)',\n iconColor: 'var(--si-sys-color-text-primary)',\n iconSize: '18px',\n\n // Menu styles\n menuBackgroundColor: 'var(--si-sys-color-background-1)',\n menuBorder: false,\n menuShadow: 'var(--si-sys-color-effects-shadow-2)',\n\n // Pinning styles\n pinnedColumnBorder: {\n color: 'var(--si-sys-color-background-active)'\n },\n pinnedRowBorder: {\n color: 'var(--si-sys-color-background-active)'\n },\n\n // Drag and drop styles\n dragAndDropImageBackgroundColor: 'var(--si-sys-color-background-3)',\n dragAndDropImageBorder: false,\n dragAndDropImageShadow: 'var(--si-sys-color-effects-shadow-2)',\n dragHandleColor: 'var(--si-sys-color-text-primary)',\n\n // Range selection styles\n rangeHeaderHighlightColor: 'var(--si-sys-color-background-1)',\n rangeSelectionBackgroundColor: 'var(--si-sys-color-background-active)',\n rangeSelectionBorderColor: 'var(--si-sys-color-background-accent-hover)',\n rangeSelectionHighlightColor: 'var(--si-sys-color-background-active)',\n\n // Sidebar styles\n sideBarBackgroundColor: 'var(--si-sys-color-background-1)',\n sidePanelBorder: {\n color: 'var(--si-sys-color-border-4)'\n },\n\n // Side button styles\n sideButtonBackgroundColor: 'var(--si-sys-color-background-accent-secondary)',\n sideButtonBarBackgroundColor: 'var(--si-sys-color-background-1)',\n sideButtonHoverBackgroundColor: 'var(--si-sys-color-background-hover)',\n sideButtonSelectedBackgroundColor: 'var(--si-sys-color-background-active)',\n sideButtonSelectedBorder: 'var(--si-sys-color-border-accent)',\n sideButtonSelectedUnderlineColor: 'var(--si-sys-color-background-active)',\n\n // Status bar styles\n statusBarLabelColor: 'var(--si-sys-color-text-primary)',\n statusBarValueColor: 'var(--si-sys-color-text-primary)',\n\n // Select cell styles\n selectCellBorder: {\n color: 'var(--si-sys-color-border-4)'\n },\n\n // Toggle button styles - matching Element switch design\n toggleButtonHeight: '20px',\n toggleButtonOffBackgroundColor: 'var(--si-sys-color-background-neutral)',\n toggleButtonOnBackgroundColor: 'var(--si-sys-color-background-accent)',\n toggleButtonSwitchBackgroundColor: 'var(--si-sys-color-background-inverse)',\n toggleButtonSwitchInset: '4px',\n toggleButtonWidth: '40px',\n\n // Value change styles\n valueChangeDeltaDownColor: 'var(--si-sys-color-background-danger)',\n valueChangeDeltaUpColor: 'var(--si-sys-color-background-success)',\n valueChangeValueHighlightBackgroundColor: 'var(--si-sys-color-background-active)',\n\n // Tooltip styles\n tooltipBackgroundColor: 'var(--si-sys-color-background-inverse)',\n tooltipBorder: false,\n tooltipTextColor: 'var(--si-sys-color-text-inverse)',\n\n // Tab styles\n tabBackgroundColor: 'var(--si-sys-color-background-accent-secondary)',\n tabBarBackgroundColor: 'var(--si-sys-color-background-1)',\n tabBarBorder: {\n color: 'var(--si-sys-color-border-4)'\n },\n tabHoverBackgroundColor: 'var(--si-sys-color-background-accent-secondary)',\n tabSelectedTextColor: 'var(--si-sys-color-background-accent)',\n tabSelectedUnderlineColor: 'var(--si-sys-color-background-accent-secondary)',\n\n // Chart styles\n chartMenuLabelColor: 'var(--si-sys-color-text-primary)',\n\n // Misc styles\n focusShadow: false,\n wrapperBorder: false\n } satisfies Partial<ThemeDefaultParams>\n});\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport {\n elementBusy,\n elementCancel,\n elementCopy,\n elementCut,\n elementDown2,\n elementDownload,\n elementEdit,\n elementFilter,\n elementHide,\n elementJumpToListItem,\n elementLayoutPane3Alt,\n elementLeft2,\n elementLeft4,\n elementLink,\n elementLinkBroken,\n elementMenu,\n elementMinus,\n elementMove,\n elementOk,\n elementOptionsVertical,\n elementOutOfService,\n elementPalette,\n elementPaste,\n elementPin,\n elementPinch,\n elementPlus,\n elementReport,\n elementRight2,\n elementRight4,\n elementShow,\n elementSortDown,\n elementSortUp,\n elementSum,\n elementUp2,\n elementZoom\n} from '@siemens/element-icons';\nimport { iconOverrides } from 'ag-grid-community';\n\n/**\n * Utility function to convert data URI icon map to AG Grid icon format.\n * Extracts base64 SVG data from data URIs.\n *\n * @param icons - Record of icon names to data URI strings\n * @returns Record of icon names to AG Grid icon objects with SVG data\n */\nconst createIconMap = (icons: Record<string, string>): Record<string, { svg: string }> =>\n Object.fromEntries(\n Object.entries(icons).map(([key, dataUri]) => [key, { svg: dataUri.split(',')[1] }])\n );\n\n/**\n * Creates an icon overrides part for the Element AG Grid theme.\n * This part allows customization of AG Grid icons with Element design system icons.\n * Icons can be added to the icons map as needed.\n *\n * @returns A part that defines icon overrides for the Element AG Grid theme.\n */\nexport const elementIconOverrides = iconOverrides({\n type: 'image',\n mask: true,\n icons: createIconMap({\n aggregation: elementSum,\n arrows: elementMove,\n asc: elementSortUp,\n cancel: elementCancel,\n chart: elementReport,\n 'chevron-down': elementDown2,\n 'chevron-left': elementLeft2,\n 'chevron-right': elementRight2,\n 'chevron-up': elementUp2,\n 'color-picker': elementPalette,\n columns: elementLayoutPane3Alt,\n contracted: elementRight2,\n copy: elementCopy,\n cross: elementCancel,\n cut: elementCut,\n desc: elementSortDown,\n edit: elementEdit,\n expanded: elementLeft2,\n 'eye-slash': elementHide,\n eye: elementShow,\n filter: elementFilter,\n group: elementJumpToListItem,\n left: elementLeft4,\n linked: elementLink,\n loading: elementBusy,\n maximize: elementZoom,\n menu: elementOptionsVertical,\n 'menu-alt': elementOptionsVertical,\n minimize: elementPinch,\n minus: elementMinus,\n next: elementRight2,\n 'not-allowed': elementOutOfService,\n paste: elementPaste,\n pin: elementPin,\n plus: elementPlus,\n previous: elementLeft2,\n right: elementRight4,\n save: elementDownload,\n 'small-down': elementDown2,\n 'small-left': elementLeft2,\n 'small-right': elementRight2,\n 'small-up': elementUp2,\n tick: elementOk,\n 'tree-closed': elementRight2,\n 'tree-indeterminate': elementMinus,\n 'tree-open': elementDown2,\n unlinked: elementLinkBroken,\n up: elementSortUp,\n grip: elementMenu\n })\n});\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\n\nimport { createPart, type Part } from 'ag-grid-community';\n\n/**\n * Creates a pagination style part for the Element AG Grid theme.\n * This part applies font weight styling to pagination summary numbers.\n *\n * @returns A part that defines pagination styling for the Element AG Grid theme.\n */\nexport const elementPaginationStyle: Part = createPart({\n css: `\n .ag-paging-row-summary-panel-number {\n font-weight: 600;\n }\n `\n});\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\n\nimport { createPart, type Part } from 'ag-grid-community';\n\n/**\n * Creates a pinning style part for the Element AG Grid theme.\n * This part applies box shadow styling to pinned top and bottom rows.\n *\n * @returns A part that defines pinning styles for the Element AG Grid theme.\n */\nexport const elementPinningStyle: Part = createPart({\n css: `\n .ag-grid-pinned-top-rows-container {\n box-shadow: var(--si-sys-color-effects-shadow-2);\n }\n\n .ag-grid-pinned-bottom-rows-container {\n box-shadow: var(--si-sys-color-effects-shadow-2);\n }\n`\n});\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\n\nimport { createPart, type Part } from 'ag-grid-community';\n\n/**\n * Creates a radio button style part for the Element AG Grid theme.\n * This part applies Element design system styling to radio buttons including colors,\n * hover states, checked states, and disabled states.\n *\n * @returns A part that defines radio button styling for the Element AG Grid theme.\n */\nexport const elementRadioStyle: Part = createPart({\n css: `\n .ag-radio-button-input-wrapper {\n background-color: var(--element-ui-5);\n border: 1px solid var(--si-sys-color-border-1);\n}\n\n.ag-radio-button-input-wrapper:hover {\n border-color: var(--si-sys-color-border-accent-hover);\n background: var(--si-sys-color-background-accent-secondary-hover);\n}\n\n.ag-radio-button-input-wrapper.ag-checked {\n border-color: var(--si-sys-color-border-accent);\n background-color: var(--element-ui-5);\n}\n\n.ag-radio-button-input-wrapper.ag-checked::after {\n background-color: var(--si-sys-color-background-accent);\n mask-image: none;\n inset: 4px;\n border-radius: 50%;\n}\n\n.ag-radio-button-input-wrapper.ag-checked:hover {\n border-color: var(--si-sys-color-border-accent-hover);\n}\n\n.ag-radio-button-input-wrapper.ag-checked:hover::after {\n background-color: var(--si-sys-color-background-accent-hover);\n}\n\n.ag-radio-button-input-wrapper.ag-disabled {\n border-color: var(--si-sys-color-border-3);\n background-color: var(--element-ui-5);\n opacity: 1;\n}\n\n.ag-radio-button-input-wrapper.ag-checked.ag-disabled {\n border-color: var(--si-sys-color-border-3);\n}\n\n.ag-radio-button-input-wrapper.ag-checked.ag-disabled::after {\n background-color: var(--si-sys-color-border-3);\n}\n`\n});\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\n\nimport { createPart, type Part } from 'ag-grid-community';\n\n/**\n * Creates a skeleton style part for the Element AG Grid theme.\n * This part applies Element design system shimmer animation to skeleton loading effects\n * to match the Element skeleton component design.\n *\n * @returns A part that defines skeleton loading styles for the Element AG Grid theme.\n */\nexport const elementSkeletonStyle: Part = createPart({\n css: `\n @keyframes shimmer {\n to {\n background-position-x: -100%;\n }\n }\n\n .ag-skeleton-effect {\n background: linear-gradient(\n 90deg,\n var(--si-sys-color-background-hover) 0%,\n var(--si-sys-color-background-active) 25%,\n var(--si-sys-color-background-hover) 50%\n );\n background-size: 200% 100%;\n background-position-x: 100%;\n animation: shimmer calc(1.6s * var(--element-animations-enabled, 1)) ease-in-out infinite;\n }\n `\n});\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\n\nimport { createPart, type Part } from 'ag-grid-community';\n\n/**\n * Creates a text filter style part for the Element AG Grid theme.\n * This part applies Element design system styling to text filter search inputs,\n * including border width and background color customization.\n *\n * @returns A part that defines text filter search input styling for the Element AG Grid theme.\n */\nexport const elementTextFilterStyle: Part = createPart({\n css: `\n .ag-column-select-header-filter-wrapper,\n.ag-filter-toolpanel-search,\n.ag-mini-filter,\n.ag-filter-filter,\n.ag-filter-add-select {\n .ag-text-field-input[type='text'] {\n border-width: 0;\n background-color: var(--si-sys-color-background-4);\n }\n}\n`\n});\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\n\nimport { createPart, type Part } from 'ag-grid-community';\n\n/**\n * Creates a toggle button style part for the Element AG Grid theme.\n * This part applies Element design system switch styling including hover states,\n * transitions, and proper knob positioning to match the Element switch component.\n *\n * @returns A part that defines toggle button styling for the Element AG Grid theme.\n */\nexport const elementToggleStyle: Part = createPart({\n css: `\n .ag-toggle-button-input-wrapper {\n transition: background-color 0.4s;\n }\n\n .ag-toggle-button-input-wrapper::before {\n transition: left 0.4s;\n }\n\n .ag-toggle-button-input-wrapper:not(.ag-checked):hover {\n background-color: var(--si-sys-color-background-neutral);\n }\n\n .ag-toggle-button-input-wrapper.ag-checked:hover {\n background-color: var(--si-sys-color-background-accent-hover);\n }\n\n .ag-toggle-button-input-wrapper.ag-checked::before {\n background-color: var(--element-ui-5);\n }\n `\n});\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nexport * from './checkbox-style.part';\nexport * from './color-scheme.part';\nexport * from './icon-overrides.part';\nexport * from './pagination-style.part';\nexport * from './pinning-style.part';\nexport * from './radio-style.part';\nexport * from './skeleton-style.part';\nexport * from './text-filter-style.part';\nexport * from './toggle-style.part';\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\n\nimport { iconSetAlpine, Theme, themeAlpine } from 'ag-grid-community';\n\nimport {\n elementCheckboxStyle,\n elementColorScheme,\n elementIconOverrides,\n elementPaginationStyle,\n elementPinningStyle,\n elementRadioStyle,\n elementSkeletonStyle,\n elementTextFilterStyle,\n elementToggleStyle\n} from './parts';\n\n/**\n * Base theme combining all Element design system parts with AG Grid Alpine theme.\n * This theme includes custom styling for checkboxes, radios, toggles, pagination,\n * pinning, skeleton loaders, text filters, icons, and color scheme.\n * @internal\n */\nconst elementBaseTheme: Theme = themeAlpine\n .withPart(iconSetAlpine)\n .withPart(elementCheckboxStyle)\n .withPart(elementRadioStyle)\n .withPart(elementToggleStyle)\n .withPart(elementPaginationStyle)\n .withPart(elementPinningStyle)\n .withPart(elementSkeletonStyle)\n .withPart(elementTextFilterStyle)\n .withPart(elementIconOverrides)\n .withPart(elementColorScheme);\n\n/**\n * Standard density Element AG Grid theme.\n * Provides balanced spacing suitable for most use cases.\n * - Row height: 42px\n * - Header height: 48px\n * - Spacing: 8px\n */\nexport const elementTheme: Theme = elementBaseTheme.withParams({\n rowHeight: '42px',\n headerHeight: '48px',\n spacing: '8px'\n});\n\n/**\n * Compact density Element AG Grid theme.\n * Optimized for displaying more data in limited space.\n * - Row height: 28px\n * - Header height: 32px\n * - Spacing: 4px\n */\nexport const elementThemeCompact: Theme = elementBaseTheme.withParams({\n rowHeight: '28px',\n headerHeight: '32px',\n spacing: '4px'\n});\n\n/**\n * Comfort density Element AG Grid theme.\n * Provides generous spacing for enhanced readability and touch interactions.\n * - Row height: 84px\n * - Header height: 96px\n * - Spacing: 12px\n */\nexport const elementThemeComfort: Theme = elementBaseTheme.withParams({\n rowHeight: '84px',\n headerHeight: '96px',\n spacing: '12px'\n});\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\n\nimport { EnvironmentProviders, makeEnvironmentProviders } from '@angular/core';\nimport { GridOptions, provideGlobalGridOptions, Theme } from 'ag-grid-community';\n\nimport { AgDateInputComponent, AgNoRowsOverlayComponent } from './components';\nimport { elementTheme, elementThemeCompact, elementThemeComfort } from './themes';\n\n/**\n * Default AG Grid options for Element theme.\n * Includes custom components for date input and empty state overlay.\n * @internal\n */\nconst ELEMENT_AG_GRID_OPTIONS: GridOptions = {\n tooltipShowDelay: 200,\n components: {\n agDateInput: AgDateInputComponent,\n agNoRowsOverlay: AgNoRowsOverlayComponent\n }\n};\n\n/**\n * Theme mapping by density variant.\n * @internal\n */\nconst THEME_BY_DENSITY = new Map<string, Theme>([\n ['compact', elementThemeCompact],\n ['comfort', elementThemeComfort],\n ['standard', elementTheme]\n]);\n\n/**\n * Provides AG Grid global configuration with Element design system theme.\n *\n * This provider configures AG Grid with the Element theme, custom components,\n * and density-specific styling. Use it in your application providers.\n *\n * @param density - The density variant to use. Options:\n * - 'compact': Minimal spacing (28px row height, 32px header height, 4px spacing)\n * - 'standard': Default spacing (42px row height, 48px header height, 8px spacing)\n * - 'comfort': Generous spacing (84px row height, 96px header height, 12px spacing)\n * @param gridOptions - Optional AG Grid options to merge with Element defaults.\n * These options will override Element defaults if specified.\n * @returns Environment providers for dependency injection\n *\n * @example\n * ```typescript\n * // In app.config.ts\n * export const appConfig: ApplicationConfig = {\n * providers: [\n * provideSiAgGridConfig()\n * ]\n * };\n *\n * // With custom options\n * export const appConfig: ApplicationConfig = {\n * providers: [\n * provideSiAgGridConfig('compact', {\n * rowHeight: 30,\n * suppressMenuHide: true\n * })\n * ]\n * };\n * ```\n */\nexport const provideSiAgGridConfig = (\n density: 'compact' | 'comfort' | 'standard' = 'standard',\n gridOptions?: GridOptions\n): EnvironmentProviders => {\n return makeEnvironmentProviders([\n {\n provide: 'ag-grid-options',\n useValue: provideGlobalGridOptions({\n ...ELEMENT_AG_GRID_OPTIONS,\n ...gridOptions,\n theme: THEME_BY_DENSITY.get(density)\n })\n }\n ]);\n};\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\n\nexport * from './components';\nexport * from './provider';\nexport * from './themes';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|