@siemens/element-ng 49.0.0-rc.3 → 49.0.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/LICENSE.md +1 -1
- package/README.md +1 -1
- package/fesm2022/siemens-element-ng-about.mjs +3 -3
- package/fesm2022/siemens-element-ng-about.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-accordion.mjs +6 -6
- package/fesm2022/siemens-element-ng-accordion.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-action-modal.mjs +6 -6
- package/fesm2022/siemens-element-ng-action-modal.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-ag-grid.mjs +16 -16
- package/fesm2022/siemens-element-ng-ag-grid.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-application-header.mjs +17 -17
- package/fesm2022/siemens-element-ng-application-header.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-auto-collapsable-list.mjs +7 -7
- package/fesm2022/siemens-element-ng-auto-collapsable-list.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-autocomplete.mjs +5 -5
- package/fesm2022/siemens-element-ng-autocomplete.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-avatar.mjs +5 -5
- package/fesm2022/siemens-element-ng-avatar.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-badge.mjs +2 -2
- package/fesm2022/siemens-element-ng-badge.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-breadcrumb-router.mjs +5 -5
- package/fesm2022/siemens-element-ng-breadcrumb-router.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-breadcrumb.mjs +6 -6
- package/fesm2022/siemens-element-ng-breadcrumb.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-card.mjs +5 -5
- package/fesm2022/siemens-element-ng-card.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-chat-messages.mjs +11 -11
- package/fesm2022/siemens-element-ng-chat-messages.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-circle-status.mjs +3 -3
- package/fesm2022/siemens-element-ng-circle-status.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-color-picker.mjs +2 -2
- package/fesm2022/siemens-element-ng-color-picker.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-column-selection-dialog.mjs +4 -4
- package/fesm2022/siemens-element-ng-column-selection-dialog.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-common.mjs +14 -14
- package/fesm2022/siemens-element-ng-common.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-connection-strength.mjs +3 -3
- package/fesm2022/siemens-element-ng-connection-strength.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-content-action-bar.mjs +4 -4
- package/fesm2022/siemens-element-ng-content-action-bar.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-copyright-notice.mjs +4 -4
- package/fesm2022/siemens-element-ng-copyright-notice.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-dashboard.mjs +15 -15
- package/fesm2022/siemens-element-ng-dashboard.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-datatable.mjs +3 -3
- package/fesm2022/siemens-element-ng-datatable.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-date-range-filter.mjs +5 -5
- package/fesm2022/siemens-element-ng-date-range-filter.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-datepicker.mjs +19 -19
- package/fesm2022/siemens-element-ng-datepicker.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-electron-titlebar.mjs +4 -4
- package/fesm2022/siemens-element-ng-electron-titlebar.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-empty-state.mjs +3 -3
- package/fesm2022/siemens-element-ng-empty-state.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-file-uploader.mjs +6 -6
- package/fesm2022/siemens-element-ng-file-uploader.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-filter-bar.mjs +4 -4
- package/fesm2022/siemens-element-ng-filter-bar.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-filtered-search.mjs +11 -11
- package/fesm2022/siemens-element-ng-filtered-search.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-footer.mjs +3 -3
- package/fesm2022/siemens-element-ng-footer.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-form.mjs +9 -9
- package/fesm2022/siemens-element-ng-form.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-formly.mjs +26 -26
- package/fesm2022/siemens-element-ng-formly.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-header-dropdown.mjs +5 -5
- package/fesm2022/siemens-element-ng-header-dropdown.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-help-button.mjs +2 -2
- package/fesm2022/siemens-element-ng-help-button.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-icon-status.mjs +3 -3
- package/fesm2022/siemens-element-ng-icon-status.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-icon.mjs +23 -38
- package/fesm2022/siemens-element-ng-icon.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-info-page.mjs +2 -2
- package/fesm2022/siemens-element-ng-info-page.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-inline-notification.mjs +3 -3
- package/fesm2022/siemens-element-ng-inline-notification.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-ip-input.mjs +4 -4
- package/fesm2022/siemens-element-ng-ip-input.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-landing-page.mjs +7 -7
- package/fesm2022/siemens-element-ng-landing-page.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-language-switcher.mjs +3 -3
- package/fesm2022/siemens-element-ng-language-switcher.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-link.mjs +4 -4
- package/fesm2022/siemens-element-ng-link.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-list-details.mjs +9 -9
- package/fesm2022/siemens-element-ng-list-details.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-loading-spinner.mjs +6 -6
- package/fesm2022/siemens-element-ng-loading-spinner.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-localization.mjs +4 -4
- package/fesm2022/siemens-element-ng-localization.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-main-detail-container.mjs +3 -3
- package/fesm2022/siemens-element-ng-main-detail-container.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-markdown-renderer.mjs +3 -3
- package/fesm2022/siemens-element-ng-markdown-renderer.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-menu.mjs +12 -12
- package/fesm2022/siemens-element-ng-menu.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-modal.mjs +6 -5
- package/fesm2022/siemens-element-ng-modal.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-navbar-vertical.mjs +11 -10
- package/fesm2022/siemens-element-ng-navbar-vertical.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-navbar.mjs +6 -6
- package/fesm2022/siemens-element-ng-navbar.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-notification-item.mjs +2 -2
- 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 +3 -3
- package/fesm2022/siemens-element-ng-pagination.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-password-strength.mjs +4 -4
- package/fesm2022/siemens-element-ng-password-strength.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-password-toggle.mjs +3 -3
- package/fesm2022/siemens-element-ng-password-toggle.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-phone-number.mjs +4 -4
- package/fesm2022/siemens-element-ng-phone-number.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-photo-upload.mjs +3 -3
- package/fesm2022/siemens-element-ng-photo-upload.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-pills-input.mjs +8 -8
- package/fesm2022/siemens-element-ng-pills-input.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-popover-legacy.mjs +3 -3
- package/fesm2022/siemens-element-ng-popover-legacy.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-popover.mjs +5 -5
- package/fesm2022/siemens-element-ng-popover.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-progressbar.mjs +3 -3
- package/fesm2022/siemens-element-ng-progressbar.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-resize-observer.mjs +5 -5
- package/fesm2022/siemens-element-ng-resize-observer.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-result-details-list.mjs +4 -4
- package/fesm2022/siemens-element-ng-result-details-list.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-search-bar.mjs +3 -3
- package/fesm2022/siemens-element-ng-search-bar.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-select.mjs +21 -21
- package/fesm2022/siemens-element-ng-select.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-shadow-root.mjs +2 -2
- package/fesm2022/siemens-element-ng-shadow-root.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-side-panel.mjs +5 -5
- package/fesm2022/siemens-element-ng-side-panel.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-skip-links.mjs +4 -4
- package/fesm2022/siemens-element-ng-skip-links.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-slider.mjs +3 -3
- package/fesm2022/siemens-element-ng-slider.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-sort-bar.mjs +13 -3
- package/fesm2022/siemens-element-ng-sort-bar.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-split.mjs +3 -3
- package/fesm2022/siemens-element-ng-split.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-status-bar.mjs +5 -5
- package/fesm2022/siemens-element-ng-status-bar.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-status-counter.mjs +2 -2
- package/fesm2022/siemens-element-ng-status-counter.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-status-toggle.mjs +2 -2
- package/fesm2022/siemens-element-ng-status-toggle.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-summary-chip.mjs +2 -2
- package/fesm2022/siemens-element-ng-summary-chip.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-summary-widget.mjs +2 -2
- package/fesm2022/siemens-element-ng-summary-widget.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-system-banner.mjs +2 -2
- package/fesm2022/siemens-element-ng-system-banner.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-tabs-legacy.mjs +5 -5
- package/fesm2022/siemens-element-ng-tabs-legacy.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-tabs.mjs +6 -6
- package/fesm2022/siemens-element-ng-tabs.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-theme.mjs +5 -19
- package/fesm2022/siemens-element-ng-theme.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-threshold.mjs +4 -4
- package/fesm2022/siemens-element-ng-threshold.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-toast-notification.mjs +4 -4
- package/fesm2022/siemens-element-ng-toast-notification.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-tooltip.mjs +14 -11
- package/fesm2022/siemens-element-ng-tooltip.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-tour.mjs +4 -4
- package/fesm2022/siemens-element-ng-tour.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-translate.mjs +1 -1
- package/fesm2022/siemens-element-ng-translate.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-tree-view.mjs +10 -10
- package/fesm2022/siemens-element-ng-tree-view.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-typeahead.mjs +6 -6
- package/fesm2022/siemens-element-ng-typeahead.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-wizard.mjs +5 -5
- package/fesm2022/siemens-element-ng-wizard.mjs.map +1 -1
- package/fesm2022/siemens-element-ng.mjs +1 -1
- package/fesm2022/siemens-element-ng.mjs.map +1 -1
- package/package.json +5 -4
- package/schematics/migrations/data/class-member-replacement.js +1 -1
- package/schematics/migrations/data/element-class-changes.js +1 -1
- package/schematics/migrations/data/index.js +1 -1
- package/schematics/migrations/data/migration-test-data.js +1 -1
- package/schematics/migrations/data/symbol-renaming.js +29 -0
- package/schematics/migrations/element-migration/element-migration.js +1 -1
- package/schematics/migrations/element-migration/index.js +1 -1
- package/schematics/migrations/icon-path-migration/icon-path-migration.js +1 -1
- package/schematics/migrations/icon-path-migration/index.js +1 -1
- package/schematics/migrations/ngx-translate/index.js +1 -1
- package/schematics/migrations/utilities/attribute-selector.migration.js +1 -1
- package/schematics/migrations/utilities/class-member-replacement.migration.js +1 -1
- package/schematics/migrations/utilities/component-property-name.migration.js +1 -1
- package/schematics/migrations/utilities/element-class-change.migration.js +1 -1
- package/schematics/migrations/utilities/element-selector.migration.js +1 -1
- package/schematics/migrations/utilities/index.js +1 -1
- package/schematics/migrations/utilities/symbol-removal.migration.js +1 -1
- package/schematics/migrations/utilities/symbol-renaming.migration.js +1 -1
- package/schematics/ng-add/index.js +1 -1
- package/schematics/ng-update/index.js +13 -3
- package/schematics/utils/html-utils.js +1 -1
- package/schematics/utils/index.js +1 -1
- package/schematics/utils/project-utils.js +1 -1
- package/schematics/utils/schematics-file-system.js +1 -1
- package/schematics/utils/template-utils.js +1 -1
- package/schematics/utils/ts-compiler-host.js +1 -1
- package/schematics/utils/ts-utils.js +1 -1
- package/types/siemens-element-ng-about.d.ts +1 -1
- package/types/siemens-element-ng-action-modal.d.ts +1 -1
- package/types/siemens-element-ng-ag-grid.d.ts +3 -3
- package/types/siemens-element-ng-application-header.d.ts +3 -3
- package/types/siemens-element-ng-breadcrumb-router.d.ts +1 -1
- package/types/siemens-element-ng-breadcrumb.d.ts +1 -1
- package/types/siemens-element-ng-chat-messages.d.ts +1 -1
- package/types/siemens-element-ng-column-selection-dialog.d.ts +1 -1
- package/types/siemens-element-ng-common.d.ts +9 -9
- package/types/siemens-element-ng-content-action-bar.d.ts +1 -1
- package/types/siemens-element-ng-copyright-notice.d.ts +1 -1
- package/types/siemens-element-ng-datatable.d.ts +1 -1
- package/types/siemens-element-ng-date-range-filter.d.ts +1 -1
- package/types/siemens-element-ng-datepicker.d.ts +1 -1
- package/types/siemens-element-ng-electron-titlebar.d.ts +1 -1
- package/types/siemens-element-ng-file-uploader.d.ts +1 -1
- package/types/siemens-element-ng-filter-bar.d.ts +1 -1
- package/types/siemens-element-ng-filtered-search.d.ts +1 -1
- package/types/siemens-element-ng-form.d.ts +4 -4
- package/types/siemens-element-ng-formly.d.ts +5 -5
- package/types/siemens-element-ng-header-dropdown.d.ts +1 -1
- package/types/siemens-element-ng-icon-status.d.ts +1 -1
- package/types/siemens-element-ng-icon.d.ts +4 -11
- package/types/siemens-element-ng-ip-input.d.ts +1 -1
- package/types/siemens-element-ng-landing-page.d.ts +2 -2
- package/types/siemens-element-ng-language-switcher.d.ts +1 -1
- package/types/siemens-element-ng-link.d.ts +2 -2
- package/types/siemens-element-ng-localization.d.ts +1 -1
- package/types/siemens-element-ng-menu.d.ts +2 -2
- package/types/siemens-element-ng-modal.d.ts +2 -2
- package/types/siemens-element-ng-navbar-vertical.d.ts +1 -1
- package/types/siemens-element-ng-navbar.d.ts +2 -2
- package/types/siemens-element-ng-phone-number.d.ts +1 -1
- package/types/siemens-element-ng-result-details-list.d.ts +1 -1
- package/types/siemens-element-ng-select.d.ts +4 -4
- package/types/siemens-element-ng-shadow-root.d.ts +1 -1
- package/types/siemens-element-ng-side-panel.d.ts +1 -1
- package/types/siemens-element-ng-sort-bar.d.ts +10 -0
- package/types/siemens-element-ng-split.d.ts +1 -1
- package/types/siemens-element-ng-status-bar.d.ts +1 -1
- package/types/siemens-element-ng-status-toggle.d.ts +1 -1
- package/types/siemens-element-ng-tabs-legacy.d.ts +1 -1
- package/types/siemens-element-ng-theme.d.ts +3 -6
- package/types/siemens-element-ng-toast-notification.d.ts +1 -1
- package/types/siemens-element-ng-tooltip.d.ts +4 -3
- package/types/siemens-element-ng-tour.d.ts +1 -1
- package/types/siemens-element-ng-translate.d.ts +1 -1
- package/types/siemens-element-ng-tree-view.d.ts +4 -4
- package/types/siemens-element-ng-typeahead.d.ts +2 -2
- package/types/siemens-element-ng.d.ts +1 -1
- package/schematics/migrations/index.js +0 -19
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"siemens-element-ng-resize-observer.mjs","sources":["../../../../projects/element-ng/resize-observer/resize-observer.service.ts","../../../../projects/element-ng/resize-observer/si-resize-observer.directive.ts","../../../../projects/element-ng/resize-observer/si-responsive-container.directive.ts","../../../../projects/element-ng/resize-observer/si-resize-observer.module.ts","../../../../projects/element-ng/resize-observer/index.ts","../../../../projects/element-ng/resize-observer/siemens-element-ng-resize-observer.ts"],"sourcesContent":["/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nimport { isPlatformBrowser } from '@angular/common';\nimport { inject, Injectable, NgZone, PLATFORM_ID } from '@angular/core';\nimport { Observable, Subscriber } from 'rxjs';\n\nexport interface ElementDimensions {\n width: number;\n height: number;\n}\n\ninterface ResizeSubscriber {\n sub: Subscriber<ElementDimensions>;\n dim?: ElementDimensions;\n throttle: number;\n blocked: boolean;\n emitImmediate?: boolean;\n}\n\ninterface Listener {\n element: Element;\n subscribers: ResizeSubscriber[];\n}\n\ninterface QueueEntry {\n element: Element;\n subscriber: ResizeSubscriber;\n unblock: boolean;\n force: boolean;\n}\n\n/**\n * A service wrapping `ResizeObserver`. This is a service for those reasons:\n * - only one `ResizeObserver` should be used for performance reason.\n * - For Angular change detection to work, explicit `ngZone` calls are necessary\n * - Observable stream\n */\n@Injectable({\n providedIn: 'root'\n})\nexport class ResizeObserverService {\n private listeners = new Map<Element, Listener>();\n private resizeObserver?: ResizeObserver;\n private timerQueue = new Map<number, QueueEntry[]>();\n private zone = inject(NgZone);\n\n constructor() {\n const isBrowser = isPlatformBrowser(inject(PLATFORM_ID));\n if (!isBrowser || !ResizeObserver) {\n return;\n }\n this.resizeObserver = new ResizeObserver((entries: ResizeObserverEntry[]) =>\n entries.forEach(entry => this.handleElement(entry.target))\n );\n }\n\n /**\n * Observe the size of an element. Returns an observable with the changes.\n * @param element - The element to observe\n * @param throttle - Throttle time in ms. Will emit this time after the resize\n * @param emitInitial - Emit the initial size after subscribe?\n * @param emitImmediate - Emit an event immediately after the size changes. Useful e.g. for visibility checks.\n */\n observe(\n element: Element,\n throttle: number,\n emitInitial?: boolean,\n emitImmediate?: boolean\n ): Observable<ElementDimensions> {\n let entry = this.listeners.get(element);\n if (!entry) {\n entry = { element, subscribers: [] };\n this.listeners.set(element, entry);\n }\n\n return new Observable<ElementDimensions>(subscriber => {\n const sub: ResizeSubscriber = {\n sub: subscriber,\n dim: undefined,\n throttle,\n blocked: false,\n emitImmediate\n };\n this.subscriberAdded(entry!, sub, emitInitial);\n return () => this.subscriberRemoved(entry!, sub);\n });\n }\n\n private subscriberAdded(\n entry: Listener,\n subscriber: ResizeSubscriber,\n emitInitial?: boolean\n ): void {\n entry.subscribers.push(subscriber);\n if (entry.subscribers.length === 1) {\n this.resizeObserver?.observe(entry.element);\n }\n\n if (emitInitial) {\n this.schedule(0, entry.element, subscriber, false, true);\n }\n }\n\n private subscriberRemoved(entry: Listener, subscriber: ResizeSubscriber): void {\n const index = entry.subscribers.indexOf(subscriber);\n if (index >= 0) {\n entry.subscribers.splice(index, 1);\n }\n if (entry.subscribers.length === 0) {\n // no more subscribers, tear down everything\n this.resizeObserver?.unobserve(entry.element);\n this.listeners.delete(entry.element);\n }\n this.unschedule(subscriber);\n // close down, no re-subscription possible\n subscriber.sub.complete();\n }\n\n private handleElement(element: Element): void {\n const entry = this.listeners.get(element);\n if (!entry) {\n this.resizeObserver?.unobserve(element);\n return;\n }\n entry.subscribers.forEach(sub => this.handleResizeSubscriber(element, sub));\n }\n\n private handleResizeSubscriber(element: Element, entry: ResizeSubscriber): void {\n if (entry.blocked) {\n return;\n }\n if (entry.emitImmediate) {\n this.schedule(0, element, entry, false);\n }\n this.schedule(entry.throttle, element, entry, true);\n }\n\n private emitSize(element: Element, entry: ResizeSubscriber, force = false): void {\n const dimensions = { width: element.clientWidth, height: element.clientHeight };\n if (\n !force &&\n entry.dim?.width === dimensions.width &&\n entry.dim?.height === dimensions.height\n ) {\n // Prevent spurious emissions. Subpixels and all..\n return;\n }\n entry.dim = dimensions;\n entry.sub.next(dimensions);\n }\n\n private schedule(\n timeout: number,\n element: Element,\n subscriber: ResizeSubscriber,\n unblock: boolean,\n force = false\n ): void {\n if (unblock) {\n subscriber.blocked = true;\n }\n\n let queue = this.timerQueue.get(timeout);\n if (!queue) {\n queue = [];\n this.timerQueue.set(timeout, queue);\n setTimeout(() => {\n this.timerQueue.delete(timeout);\n this.processQueue(queue!);\n }, timeout);\n }\n\n queue.push({ element, subscriber, unblock, force });\n }\n\n private unschedule(entry: ResizeSubscriber): void {\n const queued = this.timerQueue.get(entry.throttle);\n if (queued) {\n const index = queued.findIndex(q => q.subscriber === entry);\n if (index > -1) {\n queued.splice(index, 1);\n }\n }\n }\n\n private processQueue(queue: QueueEntry[]): void {\n this.zone.run(() => {\n queue?.forEach(q => {\n if (q.unblock) {\n q.subscriber.blocked = false;\n }\n this.emitSize(q.element, q.subscriber, q.force);\n });\n });\n }\n\n /**\n * check size on all observed elements. Only use in testing!\n * @deprecated Will be removed in major version 50! For testing purposes use the resize observer mock:\n *\n * ```ts\n * beforeEach(() => mockResizeObserver());\n * afterEach(() => restoreResizeObserver());\n * it('should trigger resize', () => {\n * // For all observed elements\n * MockResizeObserver.triggerResize({});\n * // For specific HTML element\n * MockResizeObserver.triggerResize({ target: myElement });\n * });\n * ```\n\n */\n // eslint-disable-next-line @typescript-eslint/naming-convention\n _checkAll(): void {\n this.listeners.forEach(entry => this.handleElement(entry.element));\n }\n}\n","/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nimport {\n booleanAttribute,\n Directive,\n ElementRef,\n inject,\n input,\n OnDestroy,\n OnInit,\n output\n} from '@angular/core';\nimport { Subscription } from 'rxjs';\n\nimport { ElementDimensions, ResizeObserverService } from './resize-observer.service';\n\n/**\n * Directive to emit events on element size change. Use like this:\n * `<div (siResizeObserver)=\"handleResize($event)\">`\n * When the size of the element changes, an event in the format\n * `{ width: number, height: number }`\n * will be emitted. Also an initial event will be emitted on init.\n *\n * By default, events are throttled and to an event every 100ms. To change\n * this, add `[resizeThrottle]=\"200\"` on the same element. Input in milliseconds.\n */\n@Directive({\n selector: '[siResizeObserver]'\n})\nexport class SiResizeObserverDirective implements OnInit, OnDestroy {\n /** @defaultValue 100 */\n readonly resizeThrottle = input(100);\n /** @defaultValue true */\n readonly emitInitial = input(true, { transform: booleanAttribute });\n readonly siResizeObserver = output<ElementDimensions>();\n\n private subs?: Subscription;\n private element = inject(ElementRef);\n private service = inject(ResizeObserverService);\n\n ngOnInit(): void {\n this.subs = this.service\n .observe(this.element.nativeElement, this.resizeThrottle(), this.emitInitial())\n .subscribe(value => this.siResizeObserver.emit(value));\n }\n\n ngOnDestroy(): void {\n this.subs?.unsubscribe();\n }\n}\n","/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nimport { Directive, ElementRef, inject, input, OnDestroy, OnInit, signal } from '@angular/core';\nimport { Subscription } from 'rxjs';\n\nimport { ResizeObserverService } from './resize-observer.service';\n\nexport interface Breakpoints {\n smMinimum: number;\n mdMinimum: number;\n lgMinimum: number;\n xlMinimum: number;\n xxlMinimum: number;\n}\n\n// keep in sync with the Bootstrap variables\nexport const BOOTSTRAP_BREAKPOINTS: Breakpoints = {\n smMinimum: 576,\n mdMinimum: 768,\n lgMinimum: 992,\n xlMinimum: 1200,\n xxlMinimum: 1400\n};\n\n/**\n * Directive to automatically set `si-container-*` classes so Bootstrap column classes work\n * in the context of the container instead of viewport size.\n */\n@Directive({\n selector: '[siResponsiveContainer]',\n host: {\n '[class.si-container-xs]': 'xs()',\n '[class.si-container-sm]': 'sm()',\n '[class.si-container-md]': 'md()',\n '[class.si-container-lg]': 'lg()',\n '[class.si-container-xl]': 'xl()',\n '[class.si-container-xxl]': 'xxl()'\n },\n exportAs: 'siResponsiveContainer'\n})\nexport class SiResponsiveContainerDirective implements OnInit, OnDestroy {\n /** @defaultValue false */\n readonly xs = signal(false);\n /** @defaultValue false */\n readonly sm = signal(false);\n /** @defaultValue false */\n readonly md = signal(false);\n /** @defaultValue false */\n readonly lg = signal(false);\n /** @defaultValue false */\n readonly xl = signal(false);\n /** @defaultValue false */\n readonly xxl = signal(false);\n\n /** @defaultValue 100 */\n readonly resizeThrottle = input(100);\n readonly breakpoints = input<Breakpoints>();\n\n private subs?: Subscription;\n\n private element = inject(ElementRef);\n private service = inject(ResizeObserverService);\n\n ngOnInit(): void {\n this.subs = this.service\n .observe(this.element.nativeElement, this.resizeThrottle(), true)\n .subscribe(event => this.setResponsiveSize(event.width, event.height));\n }\n\n ngOnDestroy(): void {\n this.subs?.unsubscribe();\n }\n\n private setResponsiveSize(width: number, height: number): void {\n if (!width && !height) {\n // element is not visible, no point in changing anything\n return;\n }\n const breakpoints = this.breakpoints() ?? BOOTSTRAP_BREAKPOINTS;\n\n this.xs.set(width < breakpoints.smMinimum);\n this.sm.set(width >= breakpoints.smMinimum && width < breakpoints.mdMinimum);\n this.md.set(width >= breakpoints.mdMinimum && width < breakpoints.lgMinimum);\n this.lg.set(width >= breakpoints.lgMinimum && width < breakpoints.xlMinimum);\n this.xl.set(width >= breakpoints.xlMinimum && width < breakpoints.xxlMinimum);\n this.xxl.set(width >= breakpoints.xxlMinimum);\n }\n}\n","/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nimport { NgModule } from '@angular/core';\n\nimport { SiResizeObserverDirective } from './si-resize-observer.directive';\nimport { SiResponsiveContainerDirective } from './si-responsive-container.directive';\n\n@NgModule({\n imports: [SiResizeObserverDirective, SiResponsiveContainerDirective],\n exports: [SiResizeObserverDirective, SiResponsiveContainerDirective]\n})\nexport class SiResizeObserverModule {}\n","/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nexport * from './resize-observer.service';\nexport * from './si-resize-observer.directive';\nexport * from './si-resize-observer.module';\nexport * from './si-responsive-container.directive';\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-resize-observer.mjs","sources":["../../../../projects/element-ng/resize-observer/resize-observer.service.ts","../../../../projects/element-ng/resize-observer/si-resize-observer.directive.ts","../../../../projects/element-ng/resize-observer/si-responsive-container.directive.ts","../../../../projects/element-ng/resize-observer/si-resize-observer.module.ts","../../../../projects/element-ng/resize-observer/index.ts","../../../../projects/element-ng/resize-observer/siemens-element-ng-resize-observer.ts"],"sourcesContent":["/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport { isPlatformBrowser } from '@angular/common';\nimport { inject, Injectable, NgZone, PLATFORM_ID } from '@angular/core';\nimport { Observable, Subscriber } from 'rxjs';\n\nexport interface ElementDimensions {\n width: number;\n height: number;\n}\n\ninterface ResizeSubscriber {\n sub: Subscriber<ElementDimensions>;\n dim?: ElementDimensions;\n throttle: number;\n blocked: boolean;\n emitImmediate?: boolean;\n}\n\ninterface Listener {\n element: Element;\n subscribers: ResizeSubscriber[];\n}\n\ninterface QueueEntry {\n element: Element;\n subscriber: ResizeSubscriber;\n unblock: boolean;\n force: boolean;\n}\n\n/**\n * A service wrapping `ResizeObserver`. This is a service for those reasons:\n * - only one `ResizeObserver` should be used for performance reason.\n * - For Angular change detection to work, explicit `ngZone` calls are necessary\n * - Observable stream\n */\n@Injectable({\n providedIn: 'root'\n})\nexport class ResizeObserverService {\n private listeners = new Map<Element, Listener>();\n private resizeObserver?: ResizeObserver;\n private timerQueue = new Map<number, QueueEntry[]>();\n private zone = inject(NgZone);\n\n constructor() {\n const isBrowser = isPlatformBrowser(inject(PLATFORM_ID));\n if (!isBrowser || !ResizeObserver) {\n return;\n }\n this.resizeObserver = new ResizeObserver((entries: ResizeObserverEntry[]) =>\n entries.forEach(entry => this.handleElement(entry.target))\n );\n }\n\n /**\n * Observe the size of an element. Returns an observable with the changes.\n * @param element - The element to observe\n * @param throttle - Throttle time in ms. Will emit this time after the resize\n * @param emitInitial - Emit the initial size after subscribe?\n * @param emitImmediate - Emit an event immediately after the size changes. Useful e.g. for visibility checks.\n */\n observe(\n element: Element,\n throttle: number,\n emitInitial?: boolean,\n emitImmediate?: boolean\n ): Observable<ElementDimensions> {\n let entry = this.listeners.get(element);\n if (!entry) {\n entry = { element, subscribers: [] };\n this.listeners.set(element, entry);\n }\n\n return new Observable<ElementDimensions>(subscriber => {\n const sub: ResizeSubscriber = {\n sub: subscriber,\n dim: undefined,\n throttle,\n blocked: false,\n emitImmediate\n };\n this.subscriberAdded(entry!, sub, emitInitial);\n return () => this.subscriberRemoved(entry!, sub);\n });\n }\n\n private subscriberAdded(\n entry: Listener,\n subscriber: ResizeSubscriber,\n emitInitial?: boolean\n ): void {\n entry.subscribers.push(subscriber);\n if (entry.subscribers.length === 1) {\n this.resizeObserver?.observe(entry.element);\n }\n\n if (emitInitial) {\n this.schedule(0, entry.element, subscriber, false, true);\n }\n }\n\n private subscriberRemoved(entry: Listener, subscriber: ResizeSubscriber): void {\n const index = entry.subscribers.indexOf(subscriber);\n if (index >= 0) {\n entry.subscribers.splice(index, 1);\n }\n if (entry.subscribers.length === 0) {\n // no more subscribers, tear down everything\n this.resizeObserver?.unobserve(entry.element);\n this.listeners.delete(entry.element);\n }\n this.unschedule(subscriber);\n // close down, no re-subscription possible\n subscriber.sub.complete();\n }\n\n private handleElement(element: Element): void {\n const entry = this.listeners.get(element);\n if (!entry) {\n this.resizeObserver?.unobserve(element);\n return;\n }\n entry.subscribers.forEach(sub => this.handleResizeSubscriber(element, sub));\n }\n\n private handleResizeSubscriber(element: Element, entry: ResizeSubscriber): void {\n if (entry.blocked) {\n return;\n }\n if (entry.emitImmediate) {\n this.schedule(0, element, entry, false);\n }\n this.schedule(entry.throttle, element, entry, true);\n }\n\n private emitSize(element: Element, entry: ResizeSubscriber, force = false): void {\n const dimensions = { width: element.clientWidth, height: element.clientHeight };\n if (\n !force &&\n entry.dim?.width === dimensions.width &&\n entry.dim?.height === dimensions.height\n ) {\n // Prevent spurious emissions. Subpixels and all..\n return;\n }\n entry.dim = dimensions;\n entry.sub.next(dimensions);\n }\n\n private schedule(\n timeout: number,\n element: Element,\n subscriber: ResizeSubscriber,\n unblock: boolean,\n force = false\n ): void {\n if (unblock) {\n subscriber.blocked = true;\n }\n\n let queue = this.timerQueue.get(timeout);\n if (!queue) {\n queue = [];\n this.timerQueue.set(timeout, queue);\n setTimeout(() => {\n this.timerQueue.delete(timeout);\n this.processQueue(queue!);\n }, timeout);\n }\n\n queue.push({ element, subscriber, unblock, force });\n }\n\n private unschedule(entry: ResizeSubscriber): void {\n const queued = this.timerQueue.get(entry.throttle);\n if (queued) {\n const index = queued.findIndex(q => q.subscriber === entry);\n if (index > -1) {\n queued.splice(index, 1);\n }\n }\n }\n\n private processQueue(queue: QueueEntry[]): void {\n this.zone.run(() => {\n queue?.forEach(q => {\n if (q.unblock) {\n q.subscriber.blocked = false;\n }\n this.emitSize(q.element, q.subscriber, q.force);\n });\n });\n }\n\n /**\n * check size on all observed elements. Only use in testing!\n * @deprecated Will be removed in major version 50! For testing purposes use the resize observer mock:\n *\n * ```ts\n * beforeEach(() => mockResizeObserver());\n * afterEach(() => restoreResizeObserver());\n * it('should trigger resize', () => {\n * // For all observed elements\n * MockResizeObserver.triggerResize({});\n * // For specific HTML element\n * MockResizeObserver.triggerResize({ target: myElement });\n * });\n * ```\n\n */\n // eslint-disable-next-line @typescript-eslint/naming-convention\n _checkAll(): void {\n this.listeners.forEach(entry => this.handleElement(entry.element));\n }\n}\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport {\n booleanAttribute,\n Directive,\n ElementRef,\n inject,\n input,\n OnDestroy,\n OnInit,\n output\n} from '@angular/core';\nimport { Subscription } from 'rxjs';\n\nimport { ElementDimensions, ResizeObserverService } from './resize-observer.service';\n\n/**\n * Directive to emit events on element size change. Use like this:\n * `<div (siResizeObserver)=\"handleResize($event)\">`\n * When the size of the element changes, an event in the format\n * `{ width: number, height: number }`\n * will be emitted. Also an initial event will be emitted on init.\n *\n * By default, events are throttled and to an event every 100ms. To change\n * this, add `[resizeThrottle]=\"200\"` on the same element. Input in milliseconds.\n */\n@Directive({\n selector: '[siResizeObserver]'\n})\nexport class SiResizeObserverDirective implements OnInit, OnDestroy {\n /** @defaultValue 100 */\n readonly resizeThrottle = input(100);\n /** @defaultValue true */\n readonly emitInitial = input(true, { transform: booleanAttribute });\n readonly siResizeObserver = output<ElementDimensions>();\n\n private subs?: Subscription;\n private element = inject(ElementRef);\n private service = inject(ResizeObserverService);\n\n ngOnInit(): void {\n this.subs = this.service\n .observe(this.element.nativeElement, this.resizeThrottle(), this.emitInitial())\n .subscribe(value => this.siResizeObserver.emit(value));\n }\n\n ngOnDestroy(): void {\n this.subs?.unsubscribe();\n }\n}\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport { Directive, ElementRef, inject, input, OnDestroy, OnInit, signal } from '@angular/core';\nimport { Subscription } from 'rxjs';\n\nimport { ResizeObserverService } from './resize-observer.service';\n\nexport interface Breakpoints {\n smMinimum: number;\n mdMinimum: number;\n lgMinimum: number;\n xlMinimum: number;\n xxlMinimum: number;\n}\n\n// keep in sync with the Bootstrap variables\nexport const BOOTSTRAP_BREAKPOINTS: Breakpoints = {\n smMinimum: 576,\n mdMinimum: 768,\n lgMinimum: 992,\n xlMinimum: 1200,\n xxlMinimum: 1400\n};\n\n/**\n * Directive to automatically set `si-container-*` classes so Bootstrap column classes work\n * in the context of the container instead of viewport size.\n */\n@Directive({\n selector: '[siResponsiveContainer]',\n host: {\n '[class.si-container-xs]': 'xs()',\n '[class.si-container-sm]': 'sm()',\n '[class.si-container-md]': 'md()',\n '[class.si-container-lg]': 'lg()',\n '[class.si-container-xl]': 'xl()',\n '[class.si-container-xxl]': 'xxl()'\n },\n exportAs: 'siResponsiveContainer'\n})\nexport class SiResponsiveContainerDirective implements OnInit, OnDestroy {\n /** @defaultValue false */\n readonly xs = signal(false);\n /** @defaultValue false */\n readonly sm = signal(false);\n /** @defaultValue false */\n readonly md = signal(false);\n /** @defaultValue false */\n readonly lg = signal(false);\n /** @defaultValue false */\n readonly xl = signal(false);\n /** @defaultValue false */\n readonly xxl = signal(false);\n\n /** @defaultValue 100 */\n readonly resizeThrottle = input(100);\n readonly breakpoints = input<Breakpoints>();\n\n private subs?: Subscription;\n\n private element = inject(ElementRef);\n private service = inject(ResizeObserverService);\n\n ngOnInit(): void {\n this.subs = this.service\n .observe(this.element.nativeElement, this.resizeThrottle(), true)\n .subscribe(event => this.setResponsiveSize(event.width, event.height));\n }\n\n ngOnDestroy(): void {\n this.subs?.unsubscribe();\n }\n\n private setResponsiveSize(width: number, height: number): void {\n if (!width && !height) {\n // element is not visible, no point in changing anything\n return;\n }\n const breakpoints = this.breakpoints() ?? BOOTSTRAP_BREAKPOINTS;\n\n this.xs.set(width < breakpoints.smMinimum);\n this.sm.set(width >= breakpoints.smMinimum && width < breakpoints.mdMinimum);\n this.md.set(width >= breakpoints.mdMinimum && width < breakpoints.lgMinimum);\n this.lg.set(width >= breakpoints.lgMinimum && width < breakpoints.xlMinimum);\n this.xl.set(width >= breakpoints.xlMinimum && width < breakpoints.xxlMinimum);\n this.xxl.set(width >= breakpoints.xxlMinimum);\n }\n}\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport { NgModule } from '@angular/core';\n\nimport { SiResizeObserverDirective } from './si-resize-observer.directive';\nimport { SiResponsiveContainerDirective } from './si-responsive-container.directive';\n\n@NgModule({\n imports: [SiResizeObserverDirective, SiResponsiveContainerDirective],\n exports: [SiResizeObserverDirective, SiResponsiveContainerDirective]\n})\nexport class SiResizeObserverModule {}\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nexport * from './resize-observer.service';\nexport * from './si-resize-observer.directive';\nexport * from './si-resize-observer.module';\nexport * from './si-responsive-container.directive';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -6,7 +6,7 @@ import { SiLoadingSpinnerComponent } from '@siemens/element-ng/loading-spinner';
|
|
|
6
6
|
import { SiTranslatePipe } from '@siemens/element-translate-ng/translate';
|
|
7
7
|
|
|
8
8
|
/**
|
|
9
|
-
* Copyright (c) Siemens 2016 -
|
|
9
|
+
* Copyright (c) Siemens 2016 - 2026
|
|
10
10
|
* SPDX-License-Identifier: MIT
|
|
11
11
|
*/
|
|
12
12
|
class SiResultDetailsListComponent {
|
|
@@ -33,12 +33,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImpor
|
|
|
33
33
|
}], propDecorators: { steps: [{ type: i0.Input, args: [{ isSignal: true, alias: "steps", required: false }] }] } });
|
|
34
34
|
|
|
35
35
|
/**
|
|
36
|
-
* Copyright (c) Siemens 2016 -
|
|
36
|
+
* Copyright (c) Siemens 2016 - 2026
|
|
37
37
|
* SPDX-License-Identifier: MIT
|
|
38
38
|
*/
|
|
39
39
|
|
|
40
40
|
/**
|
|
41
|
-
* Copyright (c) Siemens 2016 -
|
|
41
|
+
* Copyright (c) Siemens 2016 - 2026
|
|
42
42
|
* SPDX-License-Identifier: MIT
|
|
43
43
|
*/
|
|
44
44
|
class SiResultDetailsListModule {
|
|
@@ -55,7 +55,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImpor
|
|
|
55
55
|
}] });
|
|
56
56
|
|
|
57
57
|
/**
|
|
58
|
-
* Copyright (c) Siemens 2016 -
|
|
58
|
+
* Copyright (c) Siemens 2016 - 2026
|
|
59
59
|
* SPDX-License-Identifier: MIT
|
|
60
60
|
*/
|
|
61
61
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"siemens-element-ng-result-details-list.mjs","sources":["../../../../projects/element-ng/result-details-list/si-result-details-list.component.ts","../../../../projects/element-ng/result-details-list/si-result-details-list.component.html","../../../../projects/element-ng/result-details-list/si-result-details-list.datamodel.ts","../../../../projects/element-ng/result-details-list/si-result-details-list.module.ts","../../../../projects/element-ng/result-details-list/index.ts","../../../../projects/element-ng/result-details-list/siemens-element-ng-result-details-list.ts"],"sourcesContent":["/**\n * Copyright (c) Siemens 2016 -
|
|
1
|
+
{"version":3,"file":"siemens-element-ng-result-details-list.mjs","sources":["../../../../projects/element-ng/result-details-list/si-result-details-list.component.ts","../../../../projects/element-ng/result-details-list/si-result-details-list.component.html","../../../../projects/element-ng/result-details-list/si-result-details-list.datamodel.ts","../../../../projects/element-ng/result-details-list/si-result-details-list.module.ts","../../../../projects/element-ng/result-details-list/index.ts","../../../../projects/element-ng/result-details-list/siemens-element-ng-result-details-list.ts"],"sourcesContent":["/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport { Component, computed, input } from '@angular/core';\nimport {\n elementCircleFilled,\n elementNotChecked,\n elementOutOfService,\n elementStateExclamationMark,\n elementStateTick\n} from '@siemens/element-icons';\nimport { addIcons, SiIconComponent } from '@siemens/element-ng/icon';\nimport { SiLoadingSpinnerComponent } from '@siemens/element-ng/loading-spinner';\nimport { SiTranslatePipe } from '@siemens/element-translate-ng/translate';\n\nimport { ResultDetailStep } from './si-result-details-list.datamodel';\n\n@Component({\n selector: 'si-result-details-list',\n imports: [SiLoadingSpinnerComponent, SiIconComponent, SiTranslatePipe],\n templateUrl: './si-result-details-list.component.html',\n styleUrl: './si-result-details-list.component.scss'\n})\nexport class SiResultDetailsListComponent {\n /**\n * Array of steps to show in the list.\n *\n * @defaultValue []\n */\n readonly steps = input<ResultDetailStep[]>([]);\n\n protected readonly stepHasValue = computed(() => this.steps().some(item => !!item.value));\n\n protected readonly icons = addIcons({\n elementCircleFilled,\n elementNotChecked,\n elementOutOfService,\n elementStateExclamationMark,\n elementStateTick\n });\n}\n","<ul class=\"list-unstyled d-flex flex-column mb-0\">\n @for (step of steps(); track $index) {\n <li\n class=\"position-relative d-flex align-items-center timeline px-6 py-5\"\n [class.text-primary]=\"step.state === 'running'\"\n >\n @if (step.state === 'running') {\n <si-loading-spinner class=\"me-4\" />\n }\n @if (step.icon && step.state !== 'running') {\n <si-icon class=\"me-4 icon\" [icon]=\"step.icon\" />\n }\n @if (!step.icon && step.state !== 'running') {\n @switch (step.state) {\n @case ('passed') {\n <span class=\"me-4 icon icon-stack\">\n <si-icon class=\"status-success\" [icon]=\"icons.elementCircleFilled\" />\n <si-icon class=\"status-critical-contrast\" [icon]=\"icons.elementStateTick\" />\n </span>\n }\n @case ('failed') {\n <span class=\"me-4 icon icon-stack\">\n <si-icon class=\"status-danger\" [icon]=\"icons.elementCircleFilled\" />\n <si-icon\n class=\"status-critical-contrast\"\n [icon]=\"icons.elementStateExclamationMark\"\n />\n </span>\n }\n @case ('not-started') {\n <si-icon class=\"me-4 icon\" [icon]=\"icons.elementNotChecked\" />\n }\n @default {\n <si-icon class=\"me-4 icon\" [icon]=\"icons.elementOutOfService\" />\n }\n }\n }\n <div class=\"d-flex flex-column justify-content-center w-100 overflow-hidden\">\n <div class=\"d-flex\">\n <div class=\"result-description\">\n <span class=\"si-h5\">{{ step.description | translate: step.translationParams }}</span>\n @if (step.detail) {\n <div class=\"si-body text-secondary result-detail\">{{\n step.detail | translate: step.translationParams\n }}</div>\n }\n @if (step.errorMessage) {\n <div class=\"si-h5 text-danger\">{{\n step.errorMessage | translate: step.translationParams\n }}</div>\n }\n </div>\n @if (step.value) {\n <span class=\"result-value\">{{ step.value }}</span>\n } @else if (stepHasValue()) {\n <!-- empty placeholder to align step description with other steps-->\n <span class=\"result-value\"></span>\n }\n </div>\n </div>\n </li>\n }\n</ul>\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\n\nimport { TranslatableString } from '@siemens/element-translate-ng/translate';\n\n/** */\nexport interface ResultDetailStep {\n /**\n * A description of the step.\n */\n description: TranslatableString;\n /**\n * A state object defining the state of the step.\n */\n state: ResultDetailStepState;\n /**\n * Optional value to be displayed for the step.\n */\n value?: string;\n /**\n * Optional error message to display.\n */\n errorMessage?: string;\n /**\n * Optional custom icon to display. Otherwise a default icon will be shown based on the state property.\n */\n icon?: string;\n /**\n * Optional detail text which appears below description.\n */\n detail?: TranslatableString;\n /**\n * Optional translation params to be used with translate pipe.\n */\n translationParams?: Record<string, unknown>;\n}\n\n/**\n * This type defines the state that a detailed result step can have.\n */\nexport type ResultDetailStepState =\n | 'passed'\n | 'failed'\n | 'running'\n | 'not-supported'\n | 'not-started';\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport { NgModule } from '@angular/core';\n\nimport { SiResultDetailsListComponent } from './si-result-details-list.component';\n\n@NgModule({\n imports: [SiResultDetailsListComponent],\n exports: [SiResultDetailsListComponent]\n})\nexport class SiResultDetailsListModule {}\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nexport * from './si-result-details-list.component';\nexport * from './si-result-details-list.datamodel';\nexport * from './si-result-details-list.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;AAAA;;;AAGG;MAqBU,4BAA4B,CAAA;AACvC;;;;AAIG;AACM,IAAA,KAAK,GAAG,KAAK,CAAqB,EAAE,iDAAC;IAE3B,YAAY,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,EAAA,IAAA,SAAA,GAAA,CAAA,EAAA,SAAA,EAAA,cAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAAC;IAEtE,KAAK,GAAG,QAAQ,CAAC;QAClC,mBAAmB;QACnB,iBAAiB;QACjB,mBAAmB;QACnB,2BAA2B;QAC3B;AACD,KAAA,CAAC;uGAhBS,4BAA4B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAA5B,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,4BAA4B,sNCxBzC,28EA+DA,EAAA,MAAA,EAAA,CAAA,myBAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,ED3CY,yBAAyB,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,mBAAA,EAAA,kBAAA,EAAA,WAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,eAAe,iEAAE,eAAe,EAAA,IAAA,EAAA,WAAA,EAAA,CAAA,EAAA,CAAA;;2FAI1D,4BAA4B,EAAA,UAAA,EAAA,CAAA;kBANxC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,wBAAwB,WACzB,CAAC,yBAAyB,EAAE,eAAe,EAAE,eAAe,CAAC,EAAA,QAAA,EAAA,28EAAA,EAAA,MAAA,EAAA,CAAA,myBAAA,CAAA,EAAA;;;AEpBxE;;;AAGG;;ACHH;;;AAGG;MASU,yBAAyB,CAAA;uGAAzB,yBAAyB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA;wGAAzB,yBAAyB,EAAA,OAAA,EAAA,CAH1B,4BAA4B,CAAA,EAAA,OAAA,EAAA,CAC5B,4BAA4B,CAAA,EAAA,CAAA;AAE3B,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,yBAAyB,YAH1B,4BAA4B,CAAA,EAAA,CAAA;;2FAG3B,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBAJrC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,OAAO,EAAE,CAAC,4BAA4B,CAAC;oBACvC,OAAO,EAAE,CAAC,4BAA4B;AACvC,iBAAA;;;ACXD;;;AAGG;;ACHH;;AAEG;;;;"}
|
|
@@ -8,7 +8,7 @@ import { Subject } from 'rxjs';
|
|
|
8
8
|
import { debounceTime } from 'rxjs/operators';
|
|
9
9
|
|
|
10
10
|
/**
|
|
11
|
-
* Copyright (c) Siemens 2016 -
|
|
11
|
+
* Copyright (c) Siemens 2016 - 2026
|
|
12
12
|
* SPDX-License-Identifier: MIT
|
|
13
13
|
*/
|
|
14
14
|
class SiSearchBarComponent {
|
|
@@ -178,7 +178,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImpor
|
|
|
178
178
|
}] } });
|
|
179
179
|
|
|
180
180
|
/**
|
|
181
|
-
* Copyright (c) Siemens 2016 -
|
|
181
|
+
* Copyright (c) Siemens 2016 - 2026
|
|
182
182
|
* SPDX-License-Identifier: MIT
|
|
183
183
|
*/
|
|
184
184
|
class SiSearchBarModule {
|
|
@@ -195,7 +195,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImpor
|
|
|
195
195
|
}] });
|
|
196
196
|
|
|
197
197
|
/**
|
|
198
|
-
* Copyright (c) Siemens 2016 -
|
|
198
|
+
* Copyright (c) Siemens 2016 - 2026
|
|
199
199
|
* SPDX-License-Identifier: MIT
|
|
200
200
|
*/
|
|
201
201
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"siemens-element-ng-search-bar.mjs","sources":["../../../../projects/element-ng/search-bar/si-search-bar.component.ts","../../../../projects/element-ng/search-bar/si-search-bar.component.html","../../../../projects/element-ng/search-bar/si-search-bar.module.ts","../../../../projects/element-ng/search-bar/index.ts","../../../../projects/element-ng/search-bar/siemens-element-ng-search-bar.ts"],"sourcesContent":["/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nimport {\n booleanAttribute,\n ChangeDetectionStrategy,\n Component,\n computed,\n ElementRef,\n HostListener,\n input,\n numberAttribute,\n OnChanges,\n OnDestroy,\n OnInit,\n output,\n signal,\n SimpleChanges,\n viewChild\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { elementCancel, elementSearch } from '@siemens/element-icons';\nimport { BackgroundColorVariant } from '@siemens/element-ng/common';\nimport { addIcons, SiIconComponent } from '@siemens/element-ng/icon';\nimport { SiTranslatePipe, t } from '@siemens/element-translate-ng/translate';\nimport { Subject } from 'rxjs';\nimport { debounceTime } from 'rxjs/operators';\n\n@Component({\n selector: 'si-search-bar',\n imports: [SiIconComponent, SiTranslatePipe],\n templateUrl: './si-search-bar.component.html',\n styleUrl: './si-search-bar.component.scss',\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: SiSearchBarComponent,\n multi: true\n }\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '[class.readonly]': 'readonly()'\n }\n})\nexport class SiSearchBarComponent implements OnInit, OnDestroy, ControlValueAccessor, OnChanges {\n private readonly inputRef = viewChild.required<ElementRef<HTMLInputElement>>('inputRef');\n private debouncer = new Subject<string>();\n private readonly disabledNgControl = signal(false);\n\n /**\n * Time unit change of search input takes effect.\n *\n * @defaultValue 400\n */\n readonly debounceTime = input(400, { transform: numberAttribute });\n /**\n * Prohibited characters restricting search.\n */\n readonly prohibitedCharacters = input<string>();\n /**\n * Define search input placeholder.\n *\n * @defaultValue ''\n */\n readonly placeholder = input('');\n /**\n * Display search icon before search input.\n *\n * @defaultValue false\n */\n readonly showIcon = input(false, { transform: booleanAttribute });\n /**\n * Whether the search is tabbable or not.\n *\n * @defaultValue true\n */\n readonly tabbable = input(true, { transform: booleanAttribute });\n\n /**\n * Define search input content.\n */\n readonly value = input<string>();\n\n /** @defaultValue false */\n readonly readonly = input(false, { transform: booleanAttribute });\n /**\n * Color to use for component background\n *\n * @defaultValue 'base-1'\n */\n readonly colorVariant = input<BackgroundColorVariant>('base-1');\n\n /** @defaultValue false */\n // eslint-disable-next-line @angular-eslint/no-input-rename\n readonly disabledInput = input(false, { alias: 'disabled', transform: booleanAttribute });\n\n /**\n * Aria label for the clear button.\n *\n * @defaultValue\n * ```\n * t(() => $localize`:@@SI_SEARCH_BAR.CLEAR_BUTTON:clear`)\n * ```\n */\n readonly clearButtonAriaLabel = input(t(() => $localize`:@@SI_SEARCH_BAR.CLEAR_BUTTON:clear`));\n\n /**\n * Output callback event will provide you with search term if search input changes.\n */\n readonly searchChange = output<string>();\n\n protected isInvalid = false;\n protected inFocus = false;\n\n protected onChange = (val: any): void => {};\n protected onTouch = (): void => {};\n\n protected readonly disabled = computed(() => this.disabledInput() || this.disabledNgControl());\n\n protected readonly searchValue = signal('');\n protected readonly icons = addIcons({ elementCancel, elementSearch });\n\n /** @internal */\n writeValue(value: string): void {\n this.writeSearchValue(value ?? '');\n }\n\n /** @internal */\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n /** @internal */\n registerOnTouched(fn: () => void): void {\n this.onTouch = fn;\n }\n\n /** @internal */\n setDisabledState(disabled: boolean): void {\n this.disabledNgControl.set(disabled);\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes.value) {\n this.writeSearchValue(changes.value.currentValue);\n }\n }\n\n ngOnInit(): void {\n this.debouncer.pipe(debounceTime(this.debounceTime())).subscribe(value => {\n this.setSearch(value);\n });\n }\n\n ngOnDestroy(): void {\n this.debouncer.complete();\n }\n\n private setSearch(value?: string): void {\n value ??= '';\n if (value !== this.searchValue()) {\n this.searchValue.set(value);\n this.inputRef().nativeElement.value = value;\n this.onChange(value);\n this.searchChange.emit(value);\n }\n }\n\n private isProhibitedCharactersUsed(searchString: string | null): boolean {\n const prohibitedCharacters = this.prohibitedCharacters();\n if (!prohibitedCharacters || !searchString) {\n return false;\n }\n\n for (const prohibitedCharacter of prohibitedCharacters) {\n if (searchString.includes(prohibitedCharacter)) {\n return true;\n }\n }\n\n return false;\n }\n\n /** @internal */\n @HostListener('focus')\n focus(): void {\n this.inputRef().nativeElement.focus();\n }\n\n protected onCancelFocus(event: Event): void {\n event.stopPropagation();\n }\n\n protected input(event: Event): void {\n const value = (event.target as HTMLInputElement).value;\n if (!this.isProhibitedCharactersUsed(value)) {\n this.debouncer.next(value);\n }\n }\n\n protected onBlur(): void {\n this.inFocus = false;\n this.onTouch();\n }\n\n protected resetForm(): void {\n this.setSearch('');\n }\n\n protected writeSearchValue(value: string): void {\n this.searchValue.set(value);\n this.inputRef().nativeElement.value = value;\n }\n}\n","<div class=\"position-relative\" [class.disabled]=\"disabled()\" [class.focus]=\"inFocus\">\n @if (showIcon()) {\n <si-icon class=\"search-bar-icon icon text-secondary\" [icon]=\"icons.elementSearch\" />\n }\n <input\n #inputRef\n type=\"text\"\n class=\"form-control\"\n [disabled]=\"disabled()\"\n [placeholder]=\"placeholder()\"\n [class.dark-background]=\"colorVariant() === 'base-0'\"\n [class.ps-9]=\"showIcon()\"\n [class.is-invalid]=\"isInvalid\"\n [class.icon-end]=\"searchValue()\"\n [attr.tabindex]=\"tabbable() ? '' : '-1'\"\n [readonly]=\"readonly()\"\n (focus)=\"inFocus = true\"\n (blur)=\"onBlur()\"\n (input)=\"input($event)\"\n />\n @if (searchValue()) {\n <button\n type=\"button\"\n class=\"btn btn-icon btn-sm btn-ghost cancel-button\"\n [attr.aria-label]=\"clearButtonAriaLabel() | translate\"\n [disabled]=\"disabled() || readonly()\"\n (click)=\"resetForm()\"\n (focusin)=\"onCancelFocus($event)\"\n >\n <si-icon [icon]=\"icons.elementCancel\" />\n </button>\n }\n</div>\n","/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nimport { NgModule } from '@angular/core';\n\nimport { SiSearchBarComponent } from './si-search-bar.component';\n\n@NgModule({\n imports: [SiSearchBarComponent],\n exports: [SiSearchBarComponent]\n})\nexport class SiSearchBarModule {}\n","/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nexport * from './si-search-bar.component';\nexport * from './si-search-bar.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-search-bar.mjs","sources":["../../../../projects/element-ng/search-bar/si-search-bar.component.ts","../../../../projects/element-ng/search-bar/si-search-bar.component.html","../../../../projects/element-ng/search-bar/si-search-bar.module.ts","../../../../projects/element-ng/search-bar/index.ts","../../../../projects/element-ng/search-bar/siemens-element-ng-search-bar.ts"],"sourcesContent":["/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport {\n booleanAttribute,\n ChangeDetectionStrategy,\n Component,\n computed,\n ElementRef,\n HostListener,\n input,\n numberAttribute,\n OnChanges,\n OnDestroy,\n OnInit,\n output,\n signal,\n SimpleChanges,\n viewChild\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { elementCancel, elementSearch } from '@siemens/element-icons';\nimport { BackgroundColorVariant } from '@siemens/element-ng/common';\nimport { addIcons, SiIconComponent } from '@siemens/element-ng/icon';\nimport { SiTranslatePipe, t } from '@siemens/element-translate-ng/translate';\nimport { Subject } from 'rxjs';\nimport { debounceTime } from 'rxjs/operators';\n\n@Component({\n selector: 'si-search-bar',\n imports: [SiIconComponent, SiTranslatePipe],\n templateUrl: './si-search-bar.component.html',\n styleUrl: './si-search-bar.component.scss',\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: SiSearchBarComponent,\n multi: true\n }\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '[class.readonly]': 'readonly()'\n }\n})\nexport class SiSearchBarComponent implements OnInit, OnDestroy, ControlValueAccessor, OnChanges {\n private readonly inputRef = viewChild.required<ElementRef<HTMLInputElement>>('inputRef');\n private debouncer = new Subject<string>();\n private readonly disabledNgControl = signal(false);\n\n /**\n * Time unit change of search input takes effect.\n *\n * @defaultValue 400\n */\n readonly debounceTime = input(400, { transform: numberAttribute });\n /**\n * Prohibited characters restricting search.\n */\n readonly prohibitedCharacters = input<string>();\n /**\n * Define search input placeholder.\n *\n * @defaultValue ''\n */\n readonly placeholder = input('');\n /**\n * Display search icon before search input.\n *\n * @defaultValue false\n */\n readonly showIcon = input(false, { transform: booleanAttribute });\n /**\n * Whether the search is tabbable or not.\n *\n * @defaultValue true\n */\n readonly tabbable = input(true, { transform: booleanAttribute });\n\n /**\n * Define search input content.\n */\n readonly value = input<string>();\n\n /** @defaultValue false */\n readonly readonly = input(false, { transform: booleanAttribute });\n /**\n * Color to use for component background\n *\n * @defaultValue 'base-1'\n */\n readonly colorVariant = input<BackgroundColorVariant>('base-1');\n\n /** @defaultValue false */\n // eslint-disable-next-line @angular-eslint/no-input-rename\n readonly disabledInput = input(false, { alias: 'disabled', transform: booleanAttribute });\n\n /**\n * Aria label for the clear button.\n *\n * @defaultValue\n * ```\n * t(() => $localize`:@@SI_SEARCH_BAR.CLEAR_BUTTON:clear`)\n * ```\n */\n readonly clearButtonAriaLabel = input(t(() => $localize`:@@SI_SEARCH_BAR.CLEAR_BUTTON:clear`));\n\n /**\n * Output callback event will provide you with search term if search input changes.\n */\n readonly searchChange = output<string>();\n\n protected isInvalid = false;\n protected inFocus = false;\n\n protected onChange = (val: any): void => {};\n protected onTouch = (): void => {};\n\n protected readonly disabled = computed(() => this.disabledInput() || this.disabledNgControl());\n\n protected readonly searchValue = signal('');\n protected readonly icons = addIcons({ elementCancel, elementSearch });\n\n /** @internal */\n writeValue(value: string): void {\n this.writeSearchValue(value ?? '');\n }\n\n /** @internal */\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n /** @internal */\n registerOnTouched(fn: () => void): void {\n this.onTouch = fn;\n }\n\n /** @internal */\n setDisabledState(disabled: boolean): void {\n this.disabledNgControl.set(disabled);\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes.value) {\n this.writeSearchValue(changes.value.currentValue);\n }\n }\n\n ngOnInit(): void {\n this.debouncer.pipe(debounceTime(this.debounceTime())).subscribe(value => {\n this.setSearch(value);\n });\n }\n\n ngOnDestroy(): void {\n this.debouncer.complete();\n }\n\n private setSearch(value?: string): void {\n value ??= '';\n if (value !== this.searchValue()) {\n this.searchValue.set(value);\n this.inputRef().nativeElement.value = value;\n this.onChange(value);\n this.searchChange.emit(value);\n }\n }\n\n private isProhibitedCharactersUsed(searchString: string | null): boolean {\n const prohibitedCharacters = this.prohibitedCharacters();\n if (!prohibitedCharacters || !searchString) {\n return false;\n }\n\n for (const prohibitedCharacter of prohibitedCharacters) {\n if (searchString.includes(prohibitedCharacter)) {\n return true;\n }\n }\n\n return false;\n }\n\n /** @internal */\n @HostListener('focus')\n focus(): void {\n this.inputRef().nativeElement.focus();\n }\n\n protected onCancelFocus(event: Event): void {\n event.stopPropagation();\n }\n\n protected input(event: Event): void {\n const value = (event.target as HTMLInputElement).value;\n if (!this.isProhibitedCharactersUsed(value)) {\n this.debouncer.next(value);\n }\n }\n\n protected onBlur(): void {\n this.inFocus = false;\n this.onTouch();\n }\n\n protected resetForm(): void {\n this.setSearch('');\n }\n\n protected writeSearchValue(value: string): void {\n this.searchValue.set(value);\n this.inputRef().nativeElement.value = value;\n }\n}\n","<div class=\"position-relative\" [class.disabled]=\"disabled()\" [class.focus]=\"inFocus\">\n @if (showIcon()) {\n <si-icon class=\"search-bar-icon icon text-secondary\" [icon]=\"icons.elementSearch\" />\n }\n <input\n #inputRef\n type=\"text\"\n class=\"form-control\"\n [disabled]=\"disabled()\"\n [placeholder]=\"placeholder()\"\n [class.dark-background]=\"colorVariant() === 'base-0'\"\n [class.ps-9]=\"showIcon()\"\n [class.is-invalid]=\"isInvalid\"\n [class.icon-end]=\"searchValue()\"\n [attr.tabindex]=\"tabbable() ? '' : '-1'\"\n [readonly]=\"readonly()\"\n (focus)=\"inFocus = true\"\n (blur)=\"onBlur()\"\n (input)=\"input($event)\"\n />\n @if (searchValue()) {\n <button\n type=\"button\"\n class=\"btn btn-icon btn-sm btn-ghost cancel-button\"\n [attr.aria-label]=\"clearButtonAriaLabel() | translate\"\n [disabled]=\"disabled() || readonly()\"\n (click)=\"resetForm()\"\n (focusin)=\"onCancelFocus($event)\"\n >\n <si-icon [icon]=\"icons.elementCancel\" />\n </button>\n }\n</div>\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport { NgModule } from '@angular/core';\n\nimport { SiSearchBarComponent } from './si-search-bar.component';\n\n@NgModule({\n imports: [SiSearchBarComponent],\n exports: [SiSearchBarComponent]\n})\nexport class SiSearchBarModule {}\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nexport * from './si-search-bar.component';\nexport * from './si-search-bar.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -20,13 +20,13 @@ import { debounceTime, takeUntil } from 'rxjs/operators';
|
|
|
20
20
|
import { NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
21
21
|
|
|
22
22
|
/**
|
|
23
|
-
* Copyright (c) Siemens 2016 -
|
|
23
|
+
* Copyright (c) Siemens 2016 - 2026
|
|
24
24
|
* SPDX-License-Identifier: MIT
|
|
25
25
|
*/
|
|
26
26
|
const SI_SELECT_OPTIONS_STRATEGY = new InjectionToken('si-select.options-strategy');
|
|
27
27
|
|
|
28
28
|
/**
|
|
29
|
-
* Copyright (c) Siemens 2016 -
|
|
29
|
+
* Copyright (c) Siemens 2016 - 2026
|
|
30
30
|
* SPDX-License-Identifier: MIT
|
|
31
31
|
*/
|
|
32
32
|
/**
|
|
@@ -56,7 +56,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImpor
|
|
|
56
56
|
}] });
|
|
57
57
|
|
|
58
58
|
/**
|
|
59
|
-
* Copyright (c) Siemens 2016 -
|
|
59
|
+
* Copyright (c) Siemens 2016 - 2026
|
|
60
60
|
* SPDX-License-Identifier: MIT
|
|
61
61
|
*/
|
|
62
62
|
class SiSelectOptionComponent {
|
|
@@ -73,7 +73,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImpor
|
|
|
73
73
|
}], propDecorators: { option: [{ type: i0.Input, args: [{ isSignal: true, alias: "option", required: true }] }], optionTemplate: [{ type: i0.Input, args: [{ isSignal: true, alias: "optionTemplate", required: false }] }] } });
|
|
74
74
|
|
|
75
75
|
/**
|
|
76
|
-
* Copyright (c) Siemens 2016 -
|
|
76
|
+
* Copyright (c) Siemens 2016 - 2026
|
|
77
77
|
* SPDX-License-Identifier: MIT
|
|
78
78
|
*/
|
|
79
79
|
/**
|
|
@@ -150,7 +150,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImpor
|
|
|
150
150
|
}], valueChange: [{ type: i0.Output, args: ["valueChange"] }] } });
|
|
151
151
|
|
|
152
152
|
/**
|
|
153
|
-
* Copyright (c) Siemens 2016 -
|
|
153
|
+
* Copyright (c) Siemens 2016 - 2026
|
|
154
154
|
* SPDX-License-Identifier: MIT
|
|
155
155
|
*/
|
|
156
156
|
class SiSelectInputComponent {
|
|
@@ -234,7 +234,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImpor
|
|
|
234
234
|
}] } });
|
|
235
235
|
|
|
236
236
|
/**
|
|
237
|
-
* Copyright (c) Siemens 2016 -
|
|
237
|
+
* Copyright (c) Siemens 2016 - 2026
|
|
238
238
|
* SPDX-License-Identifier: MIT
|
|
239
239
|
*/
|
|
240
240
|
class SiSelectOptionRowComponent {
|
|
@@ -257,7 +257,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImpor
|
|
|
257
257
|
}], propDecorators: { option: [{ type: i0.Input, args: [{ isSignal: true, alias: "option", required: true }] }], optionTemplate: [{ type: i0.Input, args: [{ isSignal: true, alias: "optionTemplate", required: false }] }], selected: [{ type: i0.Input, args: [{ isSignal: true, alias: "selected", required: false }] }] } });
|
|
258
258
|
|
|
259
259
|
/**
|
|
260
|
-
* Copyright (c) Siemens 2016 -
|
|
260
|
+
* Copyright (c) Siemens 2016 - 2026
|
|
261
261
|
* SPDX-License-Identifier: MIT
|
|
262
262
|
*/
|
|
263
263
|
/**
|
|
@@ -294,7 +294,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImpor
|
|
|
294
294
|
}] });
|
|
295
295
|
|
|
296
296
|
/**
|
|
297
|
-
* Copyright (c) Siemens 2016 -
|
|
297
|
+
* Copyright (c) Siemens 2016 - 2026
|
|
298
298
|
* SPDX-License-Identifier: MIT
|
|
299
299
|
*/
|
|
300
300
|
class SiSelectOptionRowTemplateDirective {
|
|
@@ -312,7 +312,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImpor
|
|
|
312
312
|
}] });
|
|
313
313
|
|
|
314
314
|
/**
|
|
315
|
-
* Copyright (c) Siemens 2016 -
|
|
315
|
+
* Copyright (c) Siemens 2016 - 2026
|
|
316
316
|
* SPDX-License-Identifier: MIT
|
|
317
317
|
*/
|
|
318
318
|
class SiSelectListBase {
|
|
@@ -369,7 +369,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImpor
|
|
|
369
369
|
}] } });
|
|
370
370
|
|
|
371
371
|
/**
|
|
372
|
-
* Copyright (c) Siemens 2016 -
|
|
372
|
+
* Copyright (c) Siemens 2016 - 2026
|
|
373
373
|
* SPDX-License-Identifier: MIT
|
|
374
374
|
*/
|
|
375
375
|
class SiSelectListHasFilterComponent extends SiSelectListBase {
|
|
@@ -438,7 +438,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImpor
|
|
|
438
438
|
}], ctorParameters: () => [], propDecorators: { filterPlaceholder: [{ type: i0.Input, args: [{ isSignal: true, alias: "filterPlaceholder", required: true }] }], noResultsFoundLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "noResultsFoundLabel", required: true }] }], filterInput: [{ type: i0.ViewChild, args: ['filter', { isSignal: true }] }] } });
|
|
439
439
|
|
|
440
440
|
/**
|
|
441
|
-
* Copyright (c) Siemens 2016 -
|
|
441
|
+
* Copyright (c) Siemens 2016 - 2026
|
|
442
442
|
* SPDX-License-Identifier: MIT
|
|
443
443
|
*/
|
|
444
444
|
class SiSelectListComponent extends SiSelectListBase {
|
|
@@ -471,7 +471,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImpor
|
|
|
471
471
|
}, isSignal: true }] }] } });
|
|
472
472
|
|
|
473
473
|
/**
|
|
474
|
-
* Copyright (c) Siemens 2016 -
|
|
474
|
+
* Copyright (c) Siemens 2016 - 2026
|
|
475
475
|
* SPDX-License-Identifier: MIT
|
|
476
476
|
*/
|
|
477
477
|
class SiSelectActionsDirective {
|
|
@@ -491,7 +491,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImpor
|
|
|
491
491
|
}] });
|
|
492
492
|
|
|
493
493
|
/**
|
|
494
|
-
* Copyright (c) Siemens 2016 -
|
|
494
|
+
* Copyright (c) Siemens 2016 - 2026
|
|
495
495
|
* SPDX-License-Identifier: MIT
|
|
496
496
|
*/
|
|
497
497
|
class SiSelectComponent {
|
|
@@ -621,7 +621,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImpor
|
|
|
621
621
|
}, isSignal: true }] }], errormessageId: [{ type: i0.Input, args: [{ isSignal: true, alias: "errormessageId", required: false }] }], hasFilter: [{ type: i0.Input, args: [{ isSignal: true, alias: "hasFilter", required: false }] }] } });
|
|
622
622
|
|
|
623
623
|
/**
|
|
624
|
-
* Copyright (c) Siemens 2016 -
|
|
624
|
+
* Copyright (c) Siemens 2016 - 2026
|
|
625
625
|
* SPDX-License-Identifier: MIT
|
|
626
626
|
*/
|
|
627
627
|
class SiSelectLazyOptionsDirective {
|
|
@@ -724,7 +724,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImpor
|
|
|
724
724
|
}], ctorParameters: () => [], propDecorators: { optionSource: [{ type: i0.Input, args: [{ isSignal: true, alias: "optionSource", required: true }] }] } });
|
|
725
725
|
|
|
726
726
|
/**
|
|
727
|
-
* Copyright (c) Siemens 2016 -
|
|
727
|
+
* Copyright (c) Siemens 2016 - 2026
|
|
728
728
|
* SPDX-License-Identifier: MIT
|
|
729
729
|
*/
|
|
730
730
|
/**
|
|
@@ -786,7 +786,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImpor
|
|
|
786
786
|
}] });
|
|
787
787
|
|
|
788
788
|
/**
|
|
789
|
-
* Copyright (c) Siemens 2016 -
|
|
789
|
+
* Copyright (c) Siemens 2016 - 2026
|
|
790
790
|
* SPDX-License-Identifier: MIT
|
|
791
791
|
*/
|
|
792
792
|
/**
|
|
@@ -826,7 +826,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImpor
|
|
|
826
826
|
}], propDecorators: { options: [{ type: i0.Input, args: [{ isSignal: true, alias: "options", required: false }] }], optionsEqual: [{ type: i0.Input, args: [{ isSignal: true, alias: "optionEqualCheckFn", required: false }] }] } });
|
|
827
827
|
|
|
828
828
|
/**
|
|
829
|
-
* Copyright (c) Siemens 2016 -
|
|
829
|
+
* Copyright (c) Siemens 2016 - 2026
|
|
830
830
|
* SPDX-License-Identifier: MIT
|
|
831
831
|
*/
|
|
832
832
|
/**
|
|
@@ -881,7 +881,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImpor
|
|
|
881
881
|
}] });
|
|
882
882
|
|
|
883
883
|
/**
|
|
884
|
-
* Copyright (c) Siemens 2016 -
|
|
884
|
+
* Copyright (c) Siemens 2016 - 2026
|
|
885
885
|
* SPDX-License-Identifier: MIT
|
|
886
886
|
*/
|
|
887
887
|
/**
|
|
@@ -936,7 +936,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImpor
|
|
|
936
936
|
}] });
|
|
937
937
|
|
|
938
938
|
/**
|
|
939
|
-
* Copyright (c) Siemens 2016 -
|
|
939
|
+
* Copyright (c) Siemens 2016 - 2026
|
|
940
940
|
* SPDX-License-Identifier: MIT
|
|
941
941
|
*/
|
|
942
942
|
class SiSelectActionDirective {
|
|
@@ -969,7 +969,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImpor
|
|
|
969
969
|
}] } });
|
|
970
970
|
|
|
971
971
|
/**
|
|
972
|
-
* Copyright (c) Siemens 2016 -
|
|
972
|
+
* Copyright (c) Siemens 2016 - 2026
|
|
973
973
|
* SPDX-License-Identifier: MIT
|
|
974
974
|
*/
|
|
975
975
|
class SiSelectModule {
|
|
@@ -1018,7 +1018,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImpor
|
|
|
1018
1018
|
}] });
|
|
1019
1019
|
|
|
1020
1020
|
/**
|
|
1021
|
-
* Copyright (c) Siemens 2016 -
|
|
1021
|
+
* Copyright (c) Siemens 2016 - 2026
|
|
1022
1022
|
* SPDX-License-Identifier: MIT
|
|
1023
1023
|
*/
|
|
1024
1024
|
|