@siemens/element-ng 47.7.0 → 48.0.0-next.1
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 +1 -1
- package/about/index.d.ts +127 -3
- package/accordion/index.d.ts +152 -9
- package/action-modal/index.d.ts +92 -2
- package/application-header/index.d.ts +357 -13
- package/auto-collapsable-list/index.d.ts +114 -10
- package/autocomplete/index.d.ts +77 -8
- package/avatar/index.d.ts +83 -4
- package/badge/index.d.ts +21 -5
- package/breadcrumb/index.d.ts +90 -3
- package/breadcrumb-router/index.d.ts +104 -4
- package/card/index.d.ts +88 -6
- package/circle-status/index.d.ts +75 -6
- package/color-picker/index.d.ts +65 -5
- package/column-selection-dialog/index.d.ts +89 -2
- package/common/index.d.ts +421 -4
- package/connection-strength/index.d.ts +29 -6
- package/content-action-bar/index.d.ts +88 -3
- package/copyright-notice/index.d.ts +48 -3
- package/dashboard/index.d.ts +783 -0
- package/dashboard/package.json +3 -0
- package/datatable/index.d.ts +45 -6
- package/date-range-filter/index.d.ts +333 -4
- package/datepicker/index.d.ts +1409 -11
- package/electron-titlebar/index.d.ts +84 -3
- package/empty-state/index.d.ts +27 -6
- package/fesm2022/siemens-element-ng-about.mjs +7 -7
- package/fesm2022/siemens-element-ng-about.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-accordion.mjs +23 -36
- package/fesm2022/siemens-element-ng-accordion.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-action-modal.mjs +41 -125
- package/fesm2022/siemens-element-ng-action-modal.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-application-header.mjs +80 -76
- package/fesm2022/siemens-element-ng-application-header.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-auto-collapsable-list.mjs +51 -47
- package/fesm2022/siemens-element-ng-auto-collapsable-list.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-autocomplete.mjs +42 -42
- package/fesm2022/siemens-element-ng-autocomplete.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-avatar.mjs +10 -10
- package/fesm2022/siemens-element-ng-avatar.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-badge.mjs +3 -3
- package/fesm2022/siemens-element-ng-badge.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-breadcrumb-router.mjs +10 -10
- package/fesm2022/siemens-element-ng-breadcrumb-router.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-breadcrumb.mjs +13 -13
- package/fesm2022/siemens-element-ng-breadcrumb.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-card.mjs +7 -7
- package/fesm2022/siemens-element-ng-card.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-circle-status.mjs +7 -7
- package/fesm2022/siemens-element-ng-circle-status.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-color-picker.mjs +12 -13
- package/fesm2022/siemens-element-ng-color-picker.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-column-selection-dialog.mjs +29 -32
- 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 +7 -7
- package/fesm2022/siemens-element-ng-content-action-bar.mjs +14 -14
- package/fesm2022/siemens-element-ng-content-action-bar.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-copyright-notice.mjs +7 -7
- package/fesm2022/siemens-element-ng-copyright-notice.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-dashboard.mjs +1170 -0
- package/fesm2022/siemens-element-ng-dashboard.mjs.map +1 -0
- package/fesm2022/siemens-element-ng-datatable.mjs +7 -7
- package/fesm2022/siemens-element-ng-datatable.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-date-range-filter.mjs +87 -73
- package/fesm2022/siemens-element-ng-date-range-filter.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-datepicker.mjs +120 -158
- package/fesm2022/siemens-element-ng-datepicker.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-electron-titlebar.mjs +14 -14
- package/fesm2022/siemens-element-ng-electron-titlebar.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-empty-state.mjs +7 -7
- package/fesm2022/siemens-element-ng-empty-state.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-file-uploader.mjs +54 -54
- package/fesm2022/siemens-element-ng-file-uploader.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-filter-bar.mjs +19 -19
- package/fesm2022/siemens-element-ng-filter-bar.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-filtered-search.mjs +31 -74
- package/fesm2022/siemens-element-ng-filtered-search.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-footer.mjs +7 -7
- package/fesm2022/siemens-element-ng-footer.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-form.mjs +126 -271
- package/fesm2022/siemens-element-ng-form.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-formly.mjs +81 -86
- package/fesm2022/siemens-element-ng-formly.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-header-dropdown.mjs +24 -23
- package/fesm2022/siemens-element-ng-header-dropdown.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-help-button.mjs +63 -0
- package/fesm2022/siemens-element-ng-help-button.mjs.map +1 -0
- package/fesm2022/siemens-element-ng-icon-status.mjs +7 -7
- package/fesm2022/siemens-element-ng-icon-status.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-icon.mjs +32 -27
- package/fesm2022/siemens-element-ng-icon.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-info-page.mjs +3 -3
- package/fesm2022/siemens-element-ng-info-page.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-inline-notification.mjs +7 -7
- package/fesm2022/siemens-element-ng-inline-notification.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-ip-input.mjs +14 -13
- 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 +10 -10
- package/fesm2022/siemens-element-ng-language-switcher.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-link.mjs +12 -12
- package/fesm2022/siemens-element-ng-link.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-list-details.mjs +39 -39
- package/fesm2022/siemens-element-ng-list-details.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-loading-spinner.mjs +19 -19
- package/fesm2022/siemens-element-ng-loading-spinner.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-localization.mjs +9 -9
- package/fesm2022/siemens-element-ng-localization.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-main-detail-container.mjs +10 -10
- package/fesm2022/siemens-element-ng-main-detail-container.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-menu.mjs +38 -38
- package/fesm2022/siemens-element-ng-menu.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-modal.mjs +8 -8
- package/fesm2022/siemens-element-ng-modal.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-navbar-vertical.mjs +47 -61
- package/fesm2022/siemens-element-ng-navbar-vertical.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-navbar.mjs +29 -29
- package/fesm2022/siemens-element-ng-navbar.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-number-input.mjs +9 -9
- package/fesm2022/siemens-element-ng-number-input.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-pagination.mjs +14 -14
- package/fesm2022/siemens-element-ng-pagination.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-password-strength.mjs +13 -16
- package/fesm2022/siemens-element-ng-password-strength.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-password-toggle.mjs +12 -12
- package/fesm2022/siemens-element-ng-password-toggle.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-phone-number.mjs +21 -21
- package/fesm2022/siemens-element-ng-phone-number.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-photo-upload.mjs +26 -26
- package/fesm2022/siemens-element-ng-photo-upload.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-pills-input.mjs +24 -24
- package/fesm2022/siemens-element-ng-pills-input.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-popover-next.mjs +36 -25
- package/fesm2022/siemens-element-ng-popover-next.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-popover.mjs +10 -10
- package/fesm2022/siemens-element-ng-popover.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-progressbar.mjs +10 -10
- package/fesm2022/siemens-element-ng-progressbar.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-resize-observer.mjs +15 -15
- package/fesm2022/siemens-element-ng-resize-observer.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-result-details-list.mjs +8 -20
- package/fesm2022/siemens-element-ng-result-details-list.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-search-bar.mjs +20 -17
- package/fesm2022/siemens-element-ng-search-bar.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-select.mjs +73 -73
- package/fesm2022/siemens-element-ng-select.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-shadow-root.mjs +4 -5
- package/fesm2022/siemens-element-ng-shadow-root.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-side-panel.mjs +24 -24
- package/fesm2022/siemens-element-ng-side-panel.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-skip-links.mjs +12 -13
- package/fesm2022/siemens-element-ng-skip-links.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-slider.mjs +16 -16
- package/fesm2022/siemens-element-ng-slider.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-sort-bar.mjs +10 -10
- package/fesm2022/siemens-element-ng-sort-bar.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-split.mjs +13 -29
- package/fesm2022/siemens-element-ng-split.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-status-bar.mjs +19 -19
- package/fesm2022/siemens-element-ng-status-bar.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-status-toggle.mjs +7 -7
- package/fesm2022/siemens-element-ng-status-toggle.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-summary-chip.mjs +3 -3
- package/fesm2022/siemens-element-ng-summary-chip.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-summary-widget.mjs +5 -5
- package/fesm2022/siemens-element-ng-summary-widget.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-system-banner.mjs +3 -3
- package/fesm2022/siemens-element-ng-system-banner.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-tabs-next.mjs +148 -177
- package/fesm2022/siemens-element-ng-tabs-next.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-tabs.mjs +12 -11
- package/fesm2022/siemens-element-ng-tabs.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-theme.mjs +5 -5
- package/fesm2022/siemens-element-ng-theme.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-threshold.mjs +22 -22
- package/fesm2022/siemens-element-ng-threshold.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-toast-notification.mjs +15 -15
- package/fesm2022/siemens-element-ng-toast-notification.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-tooltip.mjs +24 -18
- package/fesm2022/siemens-element-ng-tooltip.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-tour.mjs +19 -19
- 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 +72 -97
- package/fesm2022/siemens-element-ng-tree-view.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-typeahead.mjs +22 -39
- package/fesm2022/siemens-element-ng-typeahead.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-unauthorized-page.mjs +7 -7
- package/fesm2022/siemens-element-ng-unauthorized-page.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-wizard.mjs +76 -109
- package/fesm2022/siemens-element-ng-wizard.mjs.map +1 -1
- package/file-uploader/index.d.ts +419 -4
- package/filter-bar/index.d.ts +117 -4
- package/filtered-search/index.d.ts +433 -3
- package/footer/index.d.ts +23 -6
- package/form/index.d.ts +411 -10
- package/formly/index.d.ts +217 -2
- package/header-dropdown/index.d.ts +150 -5
- package/help-button/index.d.ts +26 -0
- package/help-button/package.json +3 -0
- package/icon/index.d.ts +210 -7
- package/icon-status/index.d.ts +33 -6
- package/index.d.ts +5 -3
- package/info-page/index.d.ts +39 -3
- package/inline-notification/index.d.ts +49 -6
- package/ip-input/index.d.ts +87 -3
- package/landing-page/index.d.ts +95 -3
- package/language-switcher/index.d.ts +53 -3
- package/link/index.d.ts +127 -4
- package/list-details/index.d.ts +176 -12
- package/loading-spinner/index.d.ts +128 -9
- package/localization/index.d.ts +147 -4
- package/main-detail-container/index.d.ts +161 -6
- package/menu/index.d.ts +195 -11
- package/modal/index.d.ts +129 -3
- package/navbar/index.d.ts +304 -4
- package/navbar-vertical/index.d.ts +226 -3
- package/number-input/index.d.ts +111 -6
- package/package.json +21 -13
- package/pagination/index.d.ts +75 -6
- package/password-strength/index.d.ts +96 -7
- package/password-toggle/index.d.ts +49 -6
- package/phone-number/index.d.ts +192 -3
- package/photo-upload/index.d.ts +304 -4
- package/pills-input/index.d.ts +135 -9
- package/popover/index.d.ts +98 -6
- package/popover-next/index.d.ts +112 -7
- package/progressbar/index.d.ts +54 -6
- package/resize-observer/index.d.ts +143 -6
- package/result-details-list/index.d.ts +58 -3
- package/search-bar/index.d.ts +93 -6
- package/select/index.d.ts +605 -14
- package/shadow-root/index.d.ts +39 -1
- package/side-panel/index.d.ts +276 -5
- package/skip-links/index.d.ts +24 -3
- package/slider/index.d.ts +139 -6
- package/sort-bar/index.d.ts +49 -6
- package/split/index.d.ts +207 -4
- package/status-bar/index.d.ts +178 -3
- package/status-toggle/index.d.ts +81 -2
- package/summary-chip/index.d.ts +48 -5
- package/summary-widget/index.d.ts +48 -5
- package/system-banner/index.d.ts +24 -3
- package/tabs/index.d.ts +161 -7
- package/tabs-next/index.d.ts +121 -7
- package/template-i18n.json +5 -3
- package/theme/index.d.ts +259 -3
- package/threshold/index.d.ts +156 -4
- package/toast-notification/index.d.ts +66 -2
- package/tooltip/index.d.ts +92 -3
- package/tour/index.d.ts +114 -2
- package/translate/index.d.ts +199 -3
- package/tree-view/index.d.ts +818 -8
- package/typeahead/index.d.ts +262 -4
- package/unauthorized-page/index.d.ts +42 -4
- package/wizard/index.d.ts +209 -7
- package/about/si-about-data.model.d.ts +0 -49
- package/about/si-about.component.d.ts +0 -71
- package/about/si-about.module.d.ts +0 -7
- package/accordion/si-accordion-hcollapse.service.d.ts +0 -17
- package/accordion/si-accordion.component.d.ts +0 -37
- package/accordion/si-accordion.module.d.ts +0 -8
- package/accordion/si-accordion.service.d.ts +0 -17
- package/accordion/si-collapsible-panel.component.d.ts +0 -89
- package/action-modal/si-action-dialog.service.d.ts +0 -49
- package/action-modal/si-action-dialog.types.d.ts +0 -92
- package/action-modal/si-alert-dialog/si-alert-dialog.component.d.ts +0 -32
- package/action-modal/si-confirmation-dialog/si-confirmation-dialog.component.d.ts +0 -40
- package/action-modal/si-delete-confirmation-dialog/si-delete-confirmation-dialog.component.d.ts +0 -45
- package/action-modal/si-edit-discard-dialog/si-edit-discard-dialog.component.d.ts +0 -68
- package/application-header/launchpad/si-launchpad-app.component.d.ts +0 -21
- package/application-header/launchpad/si-launchpad-factory.component.d.ts +0 -83
- package/application-header/launchpad/si-launchpad.model.d.ts +0 -33
- package/application-header/si-application-header.component.d.ts +0 -60
- package/application-header/si-header-account-item.component.d.ts +0 -13
- package/application-header/si-header-action-item-icon-base.directive.d.ts +0 -26
- package/application-header/si-header-action-item.base.d.ts +0 -19
- package/application-header/si-header-action-item.component.d.ts +0 -9
- package/application-header/si-header-actions.directive.d.ts +0 -5
- package/application-header/si-header-brand.directive.d.ts +0 -5
- package/application-header/si-header-collapsible-actions.component.d.ts +0 -33
- package/application-header/si-header-logo.directive.d.ts +0 -16
- package/application-header/si-header-navigation-item.component.d.ts +0 -10
- package/application-header/si-header-navigation.component.d.ts +0 -11
- package/application-header/si-header-selection-item.component.d.ts +0 -12
- package/application-header/si-header-siemens-logo.component.d.ts +0 -21
- package/auto-collapsable-list/si-auto-collapsable-list-additional-content.directive.d.ts +0 -6
- package/auto-collapsable-list/si-auto-collapsable-list-item.directive.d.ts +0 -29
- package/auto-collapsable-list/si-auto-collapsable-list-measurable.class.d.ts +0 -16
- package/auto-collapsable-list/si-auto-collapsable-list-overflow-item.directive.d.ts +0 -12
- package/auto-collapsable-list/si-auto-collapsable-list.directive.d.ts +0 -47
- package/auto-collapsable-list/si-auto-collapsable-list.module.d.ts +0 -10
- package/autocomplete/si-autocomplete-listbox.directive.d.ts +0 -31
- package/autocomplete/si-autocomplete-option.directive.d.ts +0 -31
- package/autocomplete/si-autocomplete.directive.d.ts +0 -14
- package/autocomplete/si-autocomplete.model.d.ts +0 -7
- package/autocomplete/si-autocomplete.module.d.ts +0 -9
- package/avatar/si-avatar-background-color.directive.d.ts +0 -35
- package/avatar/si-avatar.component.d.ts +0 -51
- package/badge/si-badge.component.d.ts +0 -17
- package/breadcrumb/breadcrumb-item.model.d.ts +0 -36
- package/breadcrumb/si-breadcrumb-item-template.directive.d.ts +0 -10
- package/breadcrumb/si-breadcrumb.component.d.ts +0 -46
- package/breadcrumb/si-breadcrumb.module.d.ts +0 -7
- package/breadcrumb-router/si-breadcrumb-default-resolver.service.d.ts +0 -23
- package/breadcrumb-router/si-breadcrumb-router.component.d.ts +0 -30
- package/breadcrumb-router/si-breadcrumb-router.model.d.ts +0 -53
- package/breadcrumb-router/si-breadcrumb-router.module.d.ts +0 -7
- package/card/si-card.component.d.ts +0 -79
- package/card/si-card.module.d.ts +0 -7
- package/circle-status/si-circle-status.component.d.ts +0 -66
- package/circle-status/si-circle-status.module.d.ts +0 -7
- package/color-picker/si-color-picker.component.d.ts +0 -61
- package/column-selection-dialog/column-selection-editor/si-column-selection-editor.component.d.ts +0 -23
- package/column-selection-dialog/si-column-selection-dialog.component.d.ts +0 -114
- package/column-selection-dialog/si-column-selection-dialog.service.d.ts +0 -20
- package/column-selection-dialog/si-column-selection-dialog.types.d.ts +0 -68
- package/common/decorators/index.d.ts +0 -5
- package/common/decorators/webcomponent.decorator.d.ts +0 -6
- package/common/helpers/animation.helpers.d.ts +0 -10
- package/common/helpers/global-events.helpers.d.ts +0 -5
- package/common/helpers/index.d.ts +0 -10
- package/common/helpers/overlay-helper.d.ts +0 -24
- package/common/helpers/positioning.helpers.d.ts +0 -58
- package/common/helpers/rtl.d.ts +0 -6
- package/common/helpers/track-by.helper.d.ts +0 -27
- package/common/models/color-variant.model.d.ts +0 -8
- package/common/models/index.d.ts +0 -8
- package/common/models/menu.model.d.ts +0 -85
- package/common/models/positions.model.d.ts +0 -18
- package/common/models/status-type.model.d.ts +0 -21
- package/common/services/blink.service.d.ts +0 -41
- package/common/services/index.d.ts +0 -8
- package/common/services/scrollbar-helper.service.d.ts +0 -17
- package/common/services/si-uistate.service.d.ts +0 -61
- package/common/services/text-measure.service.d.ts +0 -21
- package/connection-strength/si-connection-strength.component.d.ts +0 -19
- package/connection-strength/si-connection-strength.module.d.ts +0 -7
- package/content-action-bar/si-content-action-bar-toggle.component.d.ts +0 -6
- package/content-action-bar/si-content-action-bar.component.d.ts +0 -72
- package/content-action-bar/si-content-action-bar.model.d.ts +0 -9
- package/content-action-bar/si-content-action-bar.module.d.ts +0 -7
- package/copyright-notice/si-copyright-notice.component.d.ts +0 -18
- package/copyright-notice/si-copyright-notice.d.ts +0 -23
- package/copyright-notice/si-copyright-notice.module.d.ts +0 -7
- package/datatable/si-datatable-interaction.directive.d.ts +0 -34
- package/datatable/si-datatable.module.d.ts +0 -7
- package/date-range-filter/si-date-range-calculation.service.d.ts +0 -33
- package/date-range-filter/si-date-range-filter.component.d.ts +0 -252
- package/date-range-filter/si-date-range-filter.module.d.ts +0 -7
- package/date-range-filter/si-date-range-filter.types.d.ts +0 -40
- package/date-range-filter/si-relative-date.component.d.ts +0 -31
- package/datepicker/components/si-calendar-body.component.d.ts +0 -137
- package/datepicker/components/si-calendar-date-cell.directive.d.ts +0 -16
- package/datepicker/components/si-calendar-direction-button.component.d.ts +0 -18
- package/datepicker/components/si-compare-adapter.d.ts +0 -37
- package/datepicker/components/si-day-selection.component.d.ts +0 -76
- package/datepicker/components/si-initial-focus.component.d.ts +0 -74
- package/datepicker/components/si-month-selection.component.d.ts +0 -62
- package/datepicker/components/si-year-selection.component.d.ts +0 -65
- package/datepicker/date-time-helper.d.ts +0 -302
- package/datepicker/si-calendar-button.component.d.ts +0 -49
- package/datepicker/si-date-input.directive.d.ts +0 -114
- package/datepicker/si-date-range.component.d.ts +0 -150
- package/datepicker/si-datepicker-overlay.component.d.ts +0 -82
- package/datepicker/si-datepicker-overlay.directive.d.ts +0 -104
- package/datepicker/si-datepicker.component.d.ts +0 -228
- package/datepicker/si-datepicker.directive.d.ts +0 -62
- package/datepicker/si-datepicker.model.d.ts +0 -129
- package/datepicker/si-datepicker.module.d.ts +0 -12
- package/datepicker/si-timepicker.component.d.ts +0 -214
- package/electron-titlebar/electron.helpers.d.ts +0 -5
- package/electron-titlebar/si-electron-titlebar.component.d.ts +0 -72
- package/electron-titlebar/si-electron-titlebar.module.d.ts +0 -7
- package/empty-state/si-empty-state.component.d.ts +0 -18
- package/empty-state/si-empty-state.module.d.ts +0 -7
- package/file-uploader/si-file-dropzone.component.d.ts +0 -106
- package/file-uploader/si-file-uploader.component.d.ts +0 -296
- package/file-uploader/si-file-uploader.model.d.ts +0 -12
- package/file-uploader/si-file-uploader.module.d.ts +0 -8
- package/filter-bar/filter.d.ts +0 -26
- package/filter-bar/si-filter-bar.component.d.ts +0 -65
- package/filter-bar/si-filter-bar.module.d.ts +0 -7
- package/filter-bar/si-filter-pill.component.d.ts +0 -20
- package/filtered-search/si-filtered-search-helper.d.ts +0 -22
- package/filtered-search/si-filtered-search-value.component.d.ts +0 -53
- package/filtered-search/si-filtered-search.component.d.ts +0 -329
- package/filtered-search/si-filtered-search.model.d.ts +0 -139
- package/filtered-search/si-filtered-search.module.d.ts +0 -7
- package/filtered-search/values/date-value/si-filtered-search-date-value.component.d.ts +0 -57
- package/filtered-search/values/si-filtered-search-value.base.d.ts +0 -27
- package/filtered-search/values/typeahead/si-filtered-search-typeahead.component.d.ts +0 -45
- package/footer/si-footer.component.d.ts +0 -14
- package/footer/si-footer.module.d.ts +0 -7
- package/form/form-fieldset/si-form-fieldset.component.d.ts +0 -40
- package/form/si-form-container/si-form-container.component.d.ts +0 -155
- package/form/si-form-item/si-form-field-native.control.d.ts +0 -22
- package/form/si-form-item/si-form-item.component.d.ts +0 -90
- package/form/si-form-item-control-input.directive.d.ts +0 -18
- package/form/si-form-item.control.d.ts +0 -35
- package/form/si-form-validation-error.model.d.ts +0 -55
- package/form/si-form-validation-error.provider.d.ts +0 -11
- package/form/si-form-validation-error.service.d.ts +0 -42
- package/form/si-form-validation-tooltip/si-form-validation-tooltip.component.d.ts +0 -13
- package/form/si-form-validation-tooltip/si-form-validation-tooltip.directive.d.ts +0 -42
- package/form/si-form.module.d.ts +0 -25
- package/formly/fields/button/si-formly-button.component.d.ts +0 -7
- package/formly/fields/date-range/si-formly-date-range.component.d.ts +0 -6
- package/formly/fields/datetime/si-formly-datetime.component.d.ts +0 -13
- package/formly/fields/email/si-formly-email.component.d.ts +0 -6
- package/formly/fields/ip-input/si-formly-ip-input.component.d.ts +0 -6
- package/formly/fields/number/si-formly-number.component.d.ts +0 -6
- package/formly/fields/password/si-formly-password.component.d.ts +0 -6
- package/formly/fields/select/si-formly-select.component.d.ts +0 -6
- package/formly/fields/text/si-formly-text-display.component.d.ts +0 -7
- package/formly/fields/textarea/si-formly-textarea.component.d.ts +0 -18
- package/formly/fields/time/si-formly-time.component.d.ts +0 -13
- package/formly/si-formly-translate.extension.d.ts +0 -9
- package/formly/si-formly.component.d.ts +0 -62
- package/formly/si-formly.module.d.ts +0 -35
- package/formly/structural/si-formly-accordion/si-formly-accordion.component.d.ts +0 -13
- package/formly/structural/si-formly-array/si-formly-array.component.d.ts +0 -6
- package/formly/structural/si-formly-object/si-formly-object.component.d.ts +0 -6
- package/formly/structural/si-formly-object-grid/si-formly-object-grid.component.d.ts +0 -22
- package/formly/structural/si-formly-object-grid/si-formly-object-grid.model.d.ts +0 -21
- package/formly/structural/si-formly-object-plain/si-formly-object-plain.component.d.ts +0 -6
- package/formly/structural/si-formly-tabset/si-formly-object-tabset.component.d.ts +0 -7
- package/formly/utils.d.ts +0 -6
- package/formly/wrapper/si-formly-fieldset.component.d.ts +0 -8
- package/formly/wrapper/si-formly-form-field-provider.directive.d.ts +0 -19
- package/formly/wrapper/si-formly-horizontal-wrapper.component.d.ts +0 -6
- package/formly/wrapper/si-formly-icon-wrapper.component.d.ts +0 -6
- package/formly/wrapper/si-formly-wrapper.component.d.ts +0 -8
- package/header-dropdown/si-header-dropdown-item.component.d.ts +0 -23
- package/header-dropdown/si-header-dropdown-items-factory.component.d.ts +0 -14
- package/header-dropdown/si-header-dropdown-trigger.directive.d.ts +0 -57
- package/header-dropdown/si-header-dropdown.component.d.ts +0 -20
- package/header-dropdown/si-header.model.d.ts +0 -37
- package/icon/element-icons.d.ts +0 -55
- package/icon/icon-status.d.ts +0 -22
- package/icon/si-icon-next.component.d.ts +0 -64
- package/icon/si-icon.component.d.ts +0 -23
- package/icon/si-icon.module.d.ts +0 -7
- package/icon/si-icons.d.ts +0 -31
- package/icon/si-status-icon.component.d.ts +0 -9
- package/icon-status/si-icon-status.component.d.ts +0 -24
- package/icon-status/si-icon-status.module.d.ts +0 -7
- package/info-page/si-info-page.component.d.ts +0 -38
- package/inline-notification/si-inline-notification.component.d.ts +0 -40
- package/inline-notification/si-inline-notification.module.d.ts +0 -7
- package/ip-input/address-utils.d.ts +0 -28
- package/ip-input/address-validators.d.ts +0 -21
- package/ip-input/si-ip-input.directive.d.ts +0 -53
- package/ip-input/si-ip4-input.directive.d.ts +0 -9
- package/ip-input/si-ip6-input.directive.d.ts +0 -10
- package/landing-page/alert-config.model.d.ts +0 -15
- package/landing-page/si-landing-page.component.d.ts +0 -74
- package/landing-page/si-landing-page.module.d.ts +0 -7
- package/language-switcher/iso-language-value.d.ts +0 -14
- package/language-switcher/si-language-switcher.component.d.ts +0 -31
- package/language-switcher/si-language-switcher.module.d.ts +0 -7
- package/link/aria-current.model.d.ts +0 -5
- package/link/link.model.d.ts +0 -57
- package/link/si-link-action.service.d.ts +0 -17
- package/link/si-link.directive.d.ts +0 -42
- package/link/si-link.module.d.ts +0 -7
- package/list-details/si-details-pane/si-details-pane.component.d.ts +0 -8
- package/list-details/si-details-pane-body/si-details-pane-body.component.d.ts +0 -6
- package/list-details/si-details-pane-footer/si-details-pane-footer.component.d.ts +0 -6
- package/list-details/si-details-pane-header/si-details-pane-header.component.d.ts +0 -38
- package/list-details/si-list-details.component.d.ts +0 -100
- package/list-details/si-list-pane/si-list-pane.component.d.ts +0 -10
- package/list-details/si-list-pane-body/si-list-pane-body.component.d.ts +0 -6
- package/list-details/si-list-pane-header/si-list-pane-header.component.d.ts +0 -6
- package/loading-spinner/si-loading-button.component.d.ts +0 -31
- package/loading-spinner/si-loading-spinner.component.d.ts +0 -32
- package/loading-spinner/si-loading-spinner.directive.d.ts +0 -37
- package/loading-spinner/si-loading-spinner.module.d.ts +0 -8
- package/loading-spinner/si-loading-spinner.service.d.ts +0 -18
- package/localization/si-directionality.d.ts +0 -41
- package/localization/si-locale-id.d.ts +0 -22
- package/localization/si-locale-store.d.ts +0 -16
- package/localization/si-locale.service.d.ts +0 -73
- package/main-detail-container/si-main-detail-container.component.d.ts +0 -151
- package/main-detail-container/si-main-detail-container.module.d.ts +0 -7
- package/menu/si-menu-action.service.d.ts +0 -13
- package/menu/si-menu-bar.directive.d.ts +0 -12
- package/menu/si-menu-divider.directive.d.ts +0 -5
- package/menu/si-menu-factory-item-guard.directive.d.ts +0 -11
- package/menu/si-menu-factory.component.d.ts +0 -15
- package/menu/si-menu-header.directive.d.ts +0 -5
- package/menu/si-menu-item-base.directive.d.ts +0 -16
- package/menu/si-menu-item-checkbox.component.d.ts +0 -11
- package/menu/si-menu-item-radio.component.d.ts +0 -10
- package/menu/si-menu-item.component.d.ts +0 -10
- package/menu/si-menu-model.d.ts +0 -91
- package/menu/si-menu.directive.d.ts +0 -6
- package/menu/si-menu.module.d.ts +0 -14
- package/modal/modal.helpers.d.ts +0 -8
- package/modal/modalref.d.ts +0 -64
- package/modal/si-modal.component.d.ts +0 -32
- package/modal/si-modal.service.d.ts +0 -57
- package/navbar/account.model.d.ts +0 -39
- package/navbar/si-navbar-item/index.d.ts +0 -5
- package/navbar/si-navbar-item/si-navbar-item.component.d.ts +0 -29
- package/navbar/si-navbar-primary/index.d.ts +0 -6
- package/navbar/si-navbar-primary/si-navbar-primary.component.d.ts +0 -198
- package/navbar/si-navbar-primary/si-navbar-primary.model.d.ts +0 -34
- package/navbar/si-navbar.module.d.ts +0 -9
- package/navbar-vertical/si-navbar-vertical-divider.component.d.ts +0 -5
- package/navbar-vertical/si-navbar-vertical-group-trigger.directive.d.ts +0 -38
- package/navbar-vertical/si-navbar-vertical-group.component.d.ts +0 -16
- package/navbar-vertical/si-navbar-vertical-header.component.d.ts +0 -6
- package/navbar-vertical/si-navbar-vertical-item-legacy.component.d.ts +0 -17
- package/navbar-vertical/si-navbar-vertical-item.component.d.ts +0 -21
- package/navbar-vertical/si-navbar-vertical.component.d.ts +0 -148
- package/navbar-vertical/si-navbar-vertical.model.d.ts +0 -77
- package/navbar-vertical/si-navbar-vertical.module.d.ts +0 -7
- package/navbar-vertical/si-navbar-vertical.provider.d.ts +0 -7
- package/number-input/si-number-input.component.d.ts +0 -106
- package/number-input/si-number-input.module.d.ts +0 -7
- package/pagination/si-pagination.component.d.ts +0 -65
- package/pagination/si-pagination.module.d.ts +0 -7
- package/password-strength/si-password-strength.component.d.ts +0 -25
- package/password-strength/si-password-strength.directive.d.ts +0 -65
- package/password-strength/si-password-strength.module.d.ts +0 -8
- package/password-toggle/si-password-toggle.component.d.ts +0 -39
- package/password-toggle/si-password-toggle.module.d.ts +0 -7
- package/phone-number/si-phone-number-input-select.directive.d.ts +0 -10
- package/phone-number/si-phone-number-input.component.d.ts +0 -137
- package/phone-number/si-phone-number-input.models.d.ts +0 -48
- package/phone-number/si-phone-number-input.module.d.ts +0 -7
- package/photo-upload/si-image-cropper-style.component.d.ts +0 -5
- package/photo-upload/si-photo-upload.component.d.ts +0 -298
- package/pills-input/si-input-pill.component.d.ts +0 -9
- package/pills-input/si-pills-input-csv.directive.d.ts +0 -8
- package/pills-input/si-pills-input-email.directive.d.ts +0 -10
- package/pills-input/si-pills-input-pattern-base.d.ts +0 -19
- package/pills-input/si-pills-input-value-handler.d.ts +0 -12
- package/pills-input/si-pills-input.component.d.ts +0 -87
- package/pills-input/si-pills-input.module.d.ts +0 -9
- package/popover/si-popover.component.d.ts +0 -26
- package/popover/si-popover.directive.d.ts +0 -89
- package/popover/si-popover.module.d.ts +0 -7
- package/popover-next/si-popover-description.directive.d.ts +0 -7
- package/popover-next/si-popover-next.directive.d.ts +0 -61
- package/popover-next/si-popover-title.directive.d.ts +0 -7
- package/popover-next/si-popover.component.d.ts +0 -27
- package/progressbar/si-progressbar.component.d.ts +0 -43
- package/progressbar/si-progressbar.module.d.ts +0 -7
- package/public-api.d.ts +0 -5
- package/resize-observer/resize-observer.service.d.ts +0 -41
- package/resize-observer/si-resize-observer.directive.d.ts +0 -31
- package/resize-observer/si-resize-observer.module.d.ts +0 -8
- package/resize-observer/si-responsive-container.directive.d.ts +0 -73
- package/result-details-list/si-result-details-list.component.d.ts +0 -14
- package/result-details-list/si-result-details-list.datamodel.d.ts +0 -48
- package/result-details-list/si-result-details-list.module.d.ts +0 -7
- package/search-bar/si-search-bar.component.d.ts +0 -87
- package/search-bar/si-search-bar.module.d.ts +0 -7
- package/select/options/si-select-complex-options.directive.d.ts +0 -69
- package/select/options/si-select-lazy-options.directive.d.ts +0 -38
- package/select/options/si-select-option.source.d.ts +0 -49
- package/select/options/si-select-options-strategy.base.d.ts +0 -35
- package/select/options/si-select-options-strategy.d.ts +0 -37
- package/select/options/si-select-simple-options.directive.d.ts +0 -34
- package/select/select-input/si-select-input.component.d.ts +0 -43
- package/select/select-list/si-select-list-has-filter.component.d.ts +0 -20
- package/select/select-list/si-select-list.base.d.ts +0 -37
- package/select/select-list/si-select-list.component.d.ts +0 -15
- package/select/select-option/si-select-option-row.component.d.ts +0 -16
- package/select/select-option/si-select-option.component.d.ts +0 -9
- package/select/selection/si-select-multi-value.directive.d.ts +0 -26
- package/select/selection/si-select-selection-strategy.d.ts +0 -58
- package/select/selection/si-select-single-value.directive.d.ts +0 -26
- package/select/si-select-action.directive.d.ts +0 -12
- package/select/si-select-actions.directive.d.ts +0 -5
- package/select/si-select-group-template.directive.d.ts +0 -20
- package/select/si-select-option-row-template.directive.d.ts +0 -9
- package/select/si-select-option-template.directive.d.ts +0 -21
- package/select/si-select.component.d.ts +0 -96
- package/select/si-select.module.d.ts +0 -15
- package/select/si-select.types.d.ts +0 -65
- package/shadow-root/si-shadow-root.directive.d.ts +0 -39
- package/side-panel/si-side-panel-content.component.d.ts +0 -105
- package/side-panel/si-side-panel.component.d.ts +0 -108
- package/side-panel/si-side-panel.module.d.ts +0 -8
- package/side-panel/si-side-panel.service.d.ts +0 -45
- package/side-panel/side-panel.model.d.ts +0 -16
- package/skip-links/si-skip-link-target.directive.d.ts +0 -27
- package/skip-links/si-skip-links.component.d.ts +0 -9
- package/skip-links/skip-link.service.d.ts +0 -14
- package/slider/si-slider.component.d.ts +0 -129
- package/slider/si-slider.module.d.ts +0 -7
- package/sort-bar/si-sort-bar.component.d.ts +0 -42
- package/sort-bar/si-sort-bar.module.d.ts +0 -7
- package/split/si-split-part.component.d.ts +0 -154
- package/split/si-split.component.d.ts +0 -48
- package/split/si-split.interfaces.d.ts +0 -17
- package/split/si-split.module.d.ts +0 -8
- package/status-bar/si-status-bar-item/index.d.ts +0 -6
- package/status-bar/si-status-bar-item/si-status-bar-item.component.d.ts +0 -22
- package/status-bar/si-status-bar-item/si-status-bar-item.model.d.ts +0 -33
- package/status-bar/si-status-bar.component.d.ts +0 -116
- package/status-bar/si-status-bar.module.d.ts +0 -7
- package/status-toggle/si-status-toggle.component.d.ts +0 -54
- package/status-toggle/status-toggle.model.d.ts +0 -26
- package/summary-chip/si-summary-chip.component.d.ts +0 -44
- package/summary-widget/si-summary-widget.component.d.ts +0 -44
- package/system-banner/system-banner.component.d.ts +0 -23
- package/tabs/si-tab/index.d.ts +0 -5
- package/tabs/si-tab/si-tab.component.d.ts +0 -58
- package/tabs/si-tabs.module.d.ts +0 -8
- package/tabs/si-tabset/index.d.ts +0 -5
- package/tabs/si-tabset/si-tabset.component.d.ts +0 -100
- package/tabs-next/si-tab-next-base.directive.d.ts +0 -63
- package/tabs-next/si-tab-next-link.component.d.ts +0 -16
- package/tabs-next/si-tab-next.component.d.ts +0 -16
- package/tabs-next/si-tabs-tokens.d.ts +0 -7
- package/tabs-next/si-tabset-next.component.d.ts +0 -57
- package/theme/si-theme-store.d.ts +0 -82
- package/theme/si-theme.model.d.ts +0 -48
- package/theme/si-theme.service.d.ts +0 -129
- package/threshold/si-readonly-threshold-option.component.d.ts +0 -11
- package/threshold/si-threshold.component.d.ts +0 -147
- package/threshold/si-threshold.module.d.ts +0 -7
- package/toast-notification/si-toast-notification/si-toast-notification.component.d.ts +0 -17
- package/toast-notification/si-toast-notification-drawer/si-toast-notification-drawer.component.d.ts +0 -9
- package/toast-notification/si-toast-notification.service.d.ts +0 -41
- package/toast-notification/si-toast.model.d.ts +0 -25
- package/tooltip/si-tooltip.component.d.ts +0 -25
- package/tooltip/si-tooltip.directive.d.ts +0 -45
- package/tooltip/si-tooltip.module.d.ts +0 -7
- package/tooltip/si-tooltip.service.d.ts +0 -44
- package/tour/si-tour-highlight.component.d.ts +0 -15
- package/tour/si-tour-token.model.d.ts +0 -27
- package/tour/si-tour.component.d.ts +0 -31
- package/tour/si-tour.model.d.ts +0 -51
- package/tour/si-tour.service.d.ts +0 -62
- package/translate/si-translatable-keys.interface.d.ts +0 -188
- package/translate/si-translatable-overrides.provider.d.ts +0 -7
- package/tree-view/drag-drop.util.d.ts +0 -32
- package/tree-view/si-tree-view-converter.service.d.ts +0 -41
- package/tree-view/si-tree-view-item/si-tree-view-item.component.d.ts +0 -105
- package/tree-view/si-tree-view-item/si-tree-view-item.directive.d.ts +0 -24
- package/tree-view/si-tree-view-item-context.d.ts +0 -11
- package/tree-view/si-tree-view-item-height.service.d.ts +0 -49
- package/tree-view/si-tree-view-item-template.directive.d.ts +0 -18
- package/tree-view/si-tree-view-virtualization.service.d.ts +0 -150
- package/tree-view/si-tree-view.component.d.ts +0 -466
- package/tree-view/si-tree-view.model.d.ts +0 -146
- package/tree-view/si-tree-view.module.d.ts +0 -10
- package/tree-view/si-tree-view.service.d.ts +0 -55
- package/tree-view/si-tree-view.utils.d.ts +0 -46
- package/typeahead/si-typeahead-item-template.directive.d.ts +0 -7
- package/typeahead/si-typeahead.component.d.ts +0 -22
- package/typeahead/si-typeahead.directive.d.ts +0 -196
- package/typeahead/si-typeahead.model.d.ts +0 -60
- package/typeahead/si-typeahead.module.d.ts +0 -8
- package/typeahead/si-typeahead.sorting.d.ts +0 -10
- package/unauthorized-page/si-unauthorized-page.component.d.ts +0 -35
- package/unauthorized-page/si-unauthorized-page.module.d.ts +0 -7
- package/wizard/si-wizard-step.component.d.ts +0 -21
- package/wizard/si-wizard.component.d.ts +0 -196
- package/wizard/si-wizard.module.d.ts +0 -8
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"siemens-element-ng-select.mjs","sources":["../../../../projects/element-ng/select/options/si-select-options-strategy.ts","../../../../projects/element-ng/select/options/si-select-options-strategy.base.ts","../../../../projects/element-ng/select/options/si-select-complex-options.directive.ts","../../../../projects/element-ng/select/si-select-option-template.directive.ts","../../../../projects/element-ng/select/select-option/si-select-option.component.ts","../../../../projects/element-ng/select/select-option/si-select-option.component.html","../../../../projects/element-ng/select/selection/si-select-selection-strategy.ts","../../../../projects/element-ng/select/select-input/si-select-input.component.ts","../../../../projects/element-ng/select/select-input/si-select-input.component.html","../../../../projects/element-ng/select/select-option/si-select-option-row.component.ts","../../../../projects/element-ng/select/select-option/si-select-option-row.component.html","../../../../projects/element-ng/select/si-select-group-template.directive.ts","../../../../projects/element-ng/select/si-select-option-row-template.directive.ts","../../../../projects/element-ng/select/select-list/si-select-list.base.ts","../../../../projects/element-ng/select/select-list/si-select-list-has-filter.component.ts","../../../../projects/element-ng/select/select-list/si-select-list-has-filter.component.html","../../../../projects/element-ng/select/select-list/si-select-list.component.ts","../../../../projects/element-ng/select/select-list/si-select-list.component.html","../../../../projects/element-ng/select/si-select-actions.directive.ts","../../../../projects/element-ng/select/si-select.component.ts","../../../../projects/element-ng/select/si-select.component.html","../../../../projects/element-ng/select/options/si-select-lazy-options.directive.ts","../../../../projects/element-ng/select/options/si-select-simple-options.directive.ts","../../../../projects/element-ng/select/selection/si-select-single-value.directive.ts","../../../../projects/element-ng/select/selection/si-select-multi-value.directive.ts","../../../../projects/element-ng/select/si-select-action.directive.ts","../../../../projects/element-ng/select/si-select.module.ts","../../../../projects/element-ng/select/index.ts","../../../../projects/element-ng/select/siemens-element-ng-select.ts"],"sourcesContent":["/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nimport { InjectionToken, Signal } from '@angular/core';\n\nimport { SelectItem, SelectOption } from '../si-select.types';\n\nexport const SI_SELECT_OPTIONS_STRATEGY = new InjectionToken<SiSelectOptionsStrategy<unknown>>(\n 'si-select.options-strategy'\n);\n\nexport interface SiSelectOptionsStrategy<T> {\n /**\n * List of all rows that should be rendered in a selection list.\n */\n readonly rows: Signal<readonly SelectItem<T>[]>;\n\n /**\n * List of all options that are currently selected.\n * Must be updated when {@link onValueChange} is called.\n */\n readonly selectedRows: Signal<readonly SelectOption<T>[]>;\n\n /**\n * Indicate loading state of the options.\n */\n readonly loading?: Signal<boolean>;\n\n /**\n * Is always called when the value changes.\n * The implementation must update {@link selectedRows} when called.\n *\n * @param value - currently selected value of the related si-select.\n */\n onValueChange(value: readonly T[]): void;\n\n /**\n * This function is called when a user enters a filter query.\n * It is expected that an implementation will update the `rows`\n * based on the query.\n *\n * @param filterInput - Unprocessed input by user in the filterInput field\n */\n onFilter?(filterInput?: string): void;\n}\n","/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nimport { computed, Directive, InputSignal, Signal, signal } from '@angular/core';\n\nimport { SelectItem, SelectOption } from '../si-select.types';\nimport { SiSelectOptionsStrategy } from './si-select-options-strategy';\n\n/**\n * Input options strategy base class, for eagerly fetched options.\n */\n@Directive()\nexport abstract class SiSelectOptionsStrategyBase<T> implements SiSelectOptionsStrategy<T> {\n /**\n * Function to compare two values on equality which is used to match/filter options.\n */\n abstract optionsEqual: InputSignal<(a: T, b: T) => boolean>;\n\n /**\n * Rows that should be shown.\n *\n * @defaultValue []\n */\n readonly rows = signal<SelectItem<T>[]>([]);\n /**\n * All group and option items in the dropdown.\n *\n * @defaultValue []\n */\n abstract readonly allRows: Signal<(SelectItem<T> | SelectOption<T>)[]>;\n\n private readonly value = signal<T[]>([]);\n\n readonly selectedRows = computed(() => {\n const values = this.value();\n return this.allRows()\n .map(row => (row.type === 'group' ? row.options : row))\n .flat()\n .filter(option => values.some(value => this.optionsEqual()(value, option.value)));\n });\n\n onValueChange(value: T[]): void {\n this.value.set(value);\n }\n\n onFilter(filterValue?: string): void {\n if (filterValue) {\n const filterValueLC = filterValue.toLowerCase();\n const checkRow: (row: SelectOption<T>) => boolean = (row: SelectOption<T>) =>\n (row.typeaheadLabel ?? row.label)!.toLowerCase().includes(filterValueLC!);\n\n this.rows.set(\n this.allRows().reduce((rows, row) => {\n if (row.type === 'option' && checkRow(row)) {\n rows.push(row);\n } else if (row.type === 'group') {\n if (row.label!.toLowerCase().includes(filterValueLC!)) {\n rows.push(row);\n } else {\n const options = row.options.filter(checkRow);\n\n if (options.length) {\n rows.push({ ...row, options });\n }\n }\n }\n\n return rows;\n }, [] as SelectItem<T>[])\n );\n } else {\n this.rows.set(this.allRows());\n }\n }\n}\n","/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nimport { computed, Directive, input, OnChanges } from '@angular/core';\nimport { buildTrackByIdentity } from '@siemens/element-ng/common';\n\nimport { SelectGroup, SelectOption } from '../si-select.types';\nimport { SI_SELECT_OPTIONS_STRATEGY } from './si-select-options-strategy';\nimport { SiSelectOptionsStrategyBase } from './si-select-options-strategy.base';\n\n/**\n * The directive allows passing custom options.\n * Otherwise, use the {@link SiSelectSimpleOptionsDirective} directive.\n *\n * @deprecated Use {@link SiSelectSimpleOptionsDirective} instead.\n *\n * @example\n * ```html\n * <si-select [complexOptions]=\"['v1', 'v2', 'v3']\"></si-select>\n * <si-select [complexOptions]=\"{ g1: ['g1.i1', 'g1.i2'], g2: ['g2.i1']}\"></si-select>\n * ```\n */\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: 'si-select[complexOptions]',\n providers: [{ provide: SI_SELECT_OPTIONS_STRATEGY, useExisting: SiSelectComplexOptionsDirective }]\n})\nexport class SiSelectComplexOptionsDirective<T>\n extends SiSelectOptionsStrategyBase<T>\n implements OnChanges\n{\n /** Options to be shown in select dropdown. */\n readonly complexOptions = input<T[] | Record<string, T[]> | null>();\n\n /**\n * @deprecated Property has no effect and can be removed.\n *\n * @defaultValue\n * ```\n * buildTrackByIdentity<T>()\n * ```\n */\n readonly trackBy = input(buildTrackByIdentity<T>());\n\n /**\n * By default, values are check on equality by reference. Override to customize the behavior.\n *\n * @defaultValue\n * ```\n * (a: T, b: T): boolean => a === b\n * ```\n */\n override readonly optionsEqual = input((a: T, b: T): boolean => a === b, {\n // eslint-disable-next-line @angular-eslint/no-input-rename\n alias: 'optionEqualCheckFn'\n });\n\n /**\n * The valueProvider is used to extract the display text of a value.\n */\n readonly valueProvider = input<(dropdownOption: T) => string | undefined>();\n\n /**\n * Provides Value for the display text of the dropdown group\n *\n * @defaultValue\n * ```\n * () => undefined\n * ```\n */\n readonly groupProvider = input<(groupKey: string) => string | undefined>(() => undefined);\n\n /**\n * The disabledProvider is used to display menu items as disabled.\n *\n * @defaultValue\n * ```\n * () => false\n * ```\n */\n readonly disabledProvider = input<(dropdownOption: T) => boolean>(() => false);\n\n override readonly allRows = computed(() => {\n const complexOptions = this.complexOptions();\n if (complexOptions instanceof Array) {\n return this.convertOptionsArray(complexOptions);\n } else if (complexOptions) {\n const groupProvider = this.groupProvider();\n return Object.entries(complexOptions).map(\n ([key, value]) =>\n ({\n type: 'group',\n key,\n label: groupProvider(key) ?? key,\n options: this.convertOptionsArray(value)\n }) as SelectGroup<T>\n );\n } else {\n return [];\n }\n });\n\n ngOnChanges(): void {\n this.onFilter();\n }\n\n private convertOptionsArray(options: T[]): SelectOption<T>[] {\n const provide = this.valueProvider();\n return options.map(option => {\n return {\n type: 'option',\n value: option,\n label: (provide ? provide(option) : undefined) ?? option + '',\n typeaheadLabel: provide ? provide(option) : undefined,\n disabled: this.disabledProvider()(option)\n };\n });\n }\n}\n","/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nimport { Directive } from '@angular/core';\n\nimport { SelectOption } from './si-select.types';\n\n/**\n * The directive allows to template/customize the value option rendering.\n * This requires using the {@link SiSelectComplexOptionsDirective} to specify complex options as input.\n *\n * @example\n * ```html\n * <si-select [options]=\"[{ id: 'good', title: 'Good' }, { id: 'fair', title: 'Fair' }, { id: 'bad', title: 'Bad' }]\" >\n * <ng-template siSelectOptionTemplate let-option>{{ option.value | uppercase }}</ng-template>\n * </si-select>\n * ```\n */\n@Directive({\n selector: '[siSelectOptionTemplate]'\n})\nexport class SiSelectOptionTemplateDirective {\n /** @internal */\n static ngTemplateContextGuard<T = any>(\n directive: SiSelectOptionTemplateDirective,\n context: unknown\n ): context is { $implicit: SelectOption<T> } {\n return true;\n }\n}\n","/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nimport { NgClass, NgTemplateOutlet } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, input, TemplateRef } from '@angular/core';\nimport { SiIconNextComponent } from '@siemens/element-ng/icon';\nimport { SiTranslatePipe } from '@siemens/element-translate-ng/translate';\n\nimport { SiSelectOptionTemplateDirective } from '../si-select-option-template.directive';\nimport { SelectOption } from '../si-select.types';\n\n@Component({\n selector: 'si-select-option',\n imports: [\n NgClass,\n NgTemplateOutlet,\n SiIconNextComponent,\n SiTranslatePipe,\n SiSelectOptionTemplateDirective\n ],\n templateUrl: './si-select-option.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'd-flex align-items-center overflow-hidden'\n }\n})\nexport class SiSelectOptionComponent {\n readonly option = input.required<SelectOption<unknown>>();\n readonly optionTemplate = input<TemplateRef<unknown>>();\n}\n","<ng-container\n [ngTemplateOutlet]=\"optionTemplate() ?? defaultOptionTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: option() }\"\n/>\n\n<ng-template #defaultOptionTemplate let-item siSelectOptionTemplate>\n @if (item.icon) {\n <i class=\"icon-stack\">\n <si-icon-next\n class=\"icon me-2\"\n [icon]=\"item.icon\"\n [ngClass]=\"[(!item.disabled && item.iconColor) || '']\"\n />\n @if (item.stackedIcon) {\n <si-icon-next\n class=\"icon me-2\"\n [icon]=\"item.stackedIcon\"\n [ngClass]=\"item.stackedIconColor\"\n />\n }\n </i>\n }\n @if (item.label) {\n <span class=\"text-truncate\">{{ item.label | translate }}</span>\n }\n</ng-template>\n","/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nimport {\n booleanAttribute,\n computed,\n Directive,\n inject,\n input,\n Input,\n output,\n signal,\n Signal\n} from '@angular/core';\nimport { ControlValueAccessor } from '@angular/forms';\n\nimport {\n SI_SELECT_OPTIONS_STRATEGY,\n SiSelectOptionsStrategy\n} from '../options/si-select-options-strategy';\n\n/**\n * Selection strategy base class.\n */\n@Directive({\n host: {\n '[class.disabled]': 'disabled()'\n }\n})\nexport abstract class SiSelectSelectionStrategy<T, IV = T | T[]> implements ControlValueAccessor {\n /**\n * Whether the select input is disabled.\n *\n * @defaultValue false\n */\n // eslint-disable-next-line @angular-eslint/no-input-rename\n readonly disabledInput = input(false, { alias: 'disabled', transform: booleanAttribute });\n\n /**\n * The selected value(s).\n */\n @Input() set value(value: IV | undefined) {\n this.updateFromInput(this.toArrayValue(value));\n }\n\n /** Emitted when the selection is changed */\n readonly valueChange = output<IV>();\n\n /**\n * Whether the select control allows to select multiple values.\n * @internal\n */\n abstract readonly allowMultiple: boolean;\n\n /**\n * Provides the internal value always as an array\n * @internal\n */\n readonly arrayValue: Signal<readonly T[]> = computed(() =>\n this.selectOptions.selectedRows().map(option => option.value)\n );\n\n /**\n * Registered form callback which shall be called on blur.\n * @internal\n */\n onTouched: () => void = () => {};\n /** @internal */\n public readonly disabled = computed(() => this.disabledInput() || this.disabledNgControl());\n protected onChange: (_: any) => void = () => {};\n private readonly disabledNgControl = signal(false);\n private readonly selectOptions = inject<SiSelectOptionsStrategy<T>>(SI_SELECT_OPTIONS_STRATEGY);\n\n registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n /**\n * CDK Listbox value changed handler.\n * @internal\n */\n updateFromUser(values: T[]): void {\n const parsedValue = this.fromArrayValue(values);\n this.onChange(parsedValue);\n this.valueChange.emit(parsedValue);\n this.selectOptions.onValueChange(values);\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.disabledNgControl.set(isDisabled);\n }\n\n writeValue(obj: any): void {\n this.updateFromInput(this.toArrayValue(obj));\n }\n\n protected abstract toArrayValue(value: IV | undefined): readonly T[];\n\n protected abstract fromArrayValue(value: readonly T[]): IV;\n\n private updateFromInput(values: readonly T[]): void {\n this.selectOptions.onValueChange(values);\n }\n}\n","/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nimport {\n booleanAttribute,\n ChangeDetectionStrategy,\n Component,\n computed,\n HostListener,\n inject,\n input,\n output,\n TemplateRef\n} from '@angular/core';\nimport { SiAutoCollapsableListModule } from '@siemens/element-ng/auto-collapsable-list';\nimport { addIcons, elementDown2, SiIconNextComponent } from '@siemens/element-ng/icon';\nimport { SiTranslatePipe, TranslatableString } from '@siemens/element-translate-ng/translate';\n\nimport {\n SI_SELECT_OPTIONS_STRATEGY,\n SiSelectOptionsStrategy\n} from '../options/si-select-options-strategy';\nimport { SiSelectOptionComponent } from '../select-option/si-select-option.component';\nimport { SiSelectSelectionStrategy } from '../selection/si-select-selection-strategy';\nimport { SelectOption } from '../si-select.types';\n\n@Component({\n selector: 'si-select-input',\n imports: [\n SiAutoCollapsableListModule,\n SiIconNextComponent,\n SiSelectOptionComponent,\n SiTranslatePipe\n ],\n templateUrl: './si-select-input.component.html',\n styleUrl: './si-select-input.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n role: 'combobox',\n class: 'select focus-none dropdown-toggle d-flex align-items-center ps-4',\n 'aria-autocomplete': 'none',\n 'aria-haspopup': 'listbox',\n '[attr.aria-expanded]': 'open()',\n '[attr.aria-readonly]': 'readonly()',\n '[attr.aria-controls]': 'controls()',\n '[attr.aria-labelledby]': 'labeledBy()',\n '[attr.aria-disabled]': 'selectionStrategy.disabled()',\n '[attr.tabindex]': 'selectionStrategy.disabled() ? \"-1\" : \"0\"',\n '[class.disabled]': 'selectionStrategy.disabled()',\n '[class.active]': 'open()'\n }\n})\nexport class SiSelectInputComponent<T> {\n readonly baseId = input.required<string>();\n /**\n * Aria labelledby of the select.\n *\n * @defaultValue null\n */\n readonly labelledby = input<string | null>(null);\n /**\n * Aria label of the select.\n *\n * @defaultValue null\n */\n readonly ariaLabel = input<string | null>(null);\n /** @defaultValue false */\n readonly open = input(false, { transform: booleanAttribute });\n readonly placeholder = input<TranslatableString>();\n readonly controls = input.required<string>();\n readonly optionTemplate = input<\n TemplateRef<{\n $implicit: SelectOption<T>;\n }>\n >();\n\n /** @defaultValue false */\n readonly readonly = input(false, { transform: booleanAttribute });\n\n readonly openListbox = output<void>();\n protected readonly selectionStrategy = inject<SiSelectSelectionStrategy<T>>(\n SiSelectSelectionStrategy<T>\n );\n private readonly selectOptions = inject<SiSelectOptionsStrategy<T>>(SI_SELECT_OPTIONS_STRATEGY);\n protected readonly selectedRows = this.selectOptions.selectedRows;\n protected readonly labeledBy = computed(() => `${this.baseId()}-aria-label ${this.labelledby()}`);\n protected readonly icons = addIcons({ elementDown2 });\n\n @HostListener('blur')\n protected blur(): void {\n if (!this.open()) {\n this.selectionStrategy.onTouched();\n }\n }\n\n @HostListener('click')\n @HostListener('keydown.arrowDown', ['$event'])\n @HostListener('keydown.alt.arrowDown', ['$event'])\n @HostListener('keydown.arrowUp', ['$event'])\n @HostListener('keydown.enter')\n @HostListener('keydown.space')\n protected click(event?: Event): void {\n event?.preventDefault();\n this.openListbox.emit();\n }\n}\n","@if (ariaLabel()) {\n <span class=\"visually-hidden\" [id]=\"baseId() + '-aria-label'\">{{ ariaLabel() }}</span>\n}\n<div\n class=\"d-flex align-items-center flex-grow-1\"\n [class.overflow-hidden]=\"!selectionStrategy.allowMultiple\"\n [id]=\"baseId() + '-content'\"\n [siAutoCollapsableList]=\"selectionStrategy.allowMultiple\"\n>\n @for (activeOption of selectedRows(); track activeOption) {\n @if (activeOption) {\n <si-select-option\n siAutoCollapsableListItem\n [option]=\"activeOption\"\n [optionTemplate]=\"optionTemplate()\"\n [class.overflow-hidden]=\"!selectionStrategy.allowMultiple\"\n />\n }\n } @empty {\n <div class=\"text-secondary\">{{ placeholder() | translate }}</div>\n }\n @if (selectionStrategy.allowMultiple) {\n <div #overflowItem=\"siAutoCollapsableListOverflowItem\" siAutoCollapsableListOverflowItem>\n <div class=\"overflow-item\"> {{ overflowItem.hiddenItemCount }}+</div>\n </div>\n }\n</div>\n<si-icon-next\n class=\"dropdown-caret icon flip-rtl\"\n [class.text-muted]=\"readonly()\"\n [icon]=\"icons.elementDown2\"\n/>\n","/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nimport {\n booleanAttribute,\n ChangeDetectionStrategy,\n Component,\n input,\n TemplateRef\n} from '@angular/core';\nimport { elementOk, addIcons, SiIconNextComponent } from '@siemens/element-ng/icon';\n\nimport { SiSelectOptionComponent } from '../select-option/si-select-option.component';\nimport { SelectOption } from '../si-select.types';\n\n@Component({\n selector: 'si-select-option-row',\n imports: [SiIconNextComponent, SiSelectOptionComponent],\n templateUrl: './si-select-option-row.component.html',\n styleUrl: './si-select-option-row.component.scss',\n host: {\n class: 'dropdown-item focus-none pe-4 gap-4',\n '[class.disabled]': '!!this.option().disabled',\n '[attr.aria-selected]': 'selected()',\n '[attr.data-id]': 'this.option().value'\n },\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class SiSelectOptionRowComponent {\n readonly option = input.required<SelectOption<unknown>>();\n readonly optionTemplate = input<TemplateRef<unknown>>();\n /** @defaultValue false */\n readonly selected = input(false, { transform: booleanAttribute });\n protected readonly icons = addIcons({ elementOk });\n}\n","<span\n class=\"form-check-input si-form-checkbox\"\n [class.checked]=\"selected()\"\n [class.disabled]=\"option().disabled\"\n></span>\n<si-select-option [option]=\"option()\" [optionTemplate]=\"optionTemplate()\" />\n@if (selected()) {\n <span class=\"ms-auto selected-marker\" aria-hidden=\"true\">\n <si-icon-next [icon]=\"icons.elementOk\" />\n </span>\n}\n","/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nimport { Directive } from '@angular/core';\n\nimport { SelectGroup } from './si-select.types';\n\n/**\n * The directive allows to template/customize the group option rendering.\n * This requires using the {@link SiSelectComplexOptionsDirective} to specify complex options as input.\n *\n * @example\n * ```html\n * <si-select [complexOptions]=\"{ g1: ['g1.i1', 'g1.i2'], g2: ['g2.i1'] }\" >\n * <ng-template siSelectGroupTemplate let-group>{{ group.key | uppercase }}</ng-template>\n * </si-select>\n * ```\n */\n@Directive({\n selector: '[siSelectGroupTemplate]'\n})\nexport class SiSelectGroupTemplateDirective {\n static ngTemplateContextGuard<T = any>(\n directive: SiSelectGroupTemplateDirective,\n context: unknown\n ): context is { $implicit: SelectGroup<T> } {\n return true;\n }\n}\n","/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nimport { Directive } from '@angular/core';\n\nimport { SelectOption } from './si-select.types';\n\n@Directive({\n selector: '[siSelectOptionRowTemplate]'\n})\nexport class SiSelectOptionRowTemplateDirective {\n static ngTemplateContextGuard<T = any>(\n directive: SiSelectOptionRowTemplateDirective,\n context: unknown\n ): context is { $implicit: SelectOption<T> } {\n return true;\n }\n}\n","/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nimport { ConfigurableFocusTrap, ConfigurableFocusTrapFactory } from '@angular/cdk/a11y';\nimport {\n Directive,\n ElementRef,\n HostBinding,\n HostListener,\n inject,\n input,\n OnDestroy,\n OnInit,\n output,\n TemplateRef\n} from '@angular/core';\n\nimport {\n SI_SELECT_OPTIONS_STRATEGY,\n SiSelectOptionsStrategy\n} from '../options/si-select-options-strategy';\nimport { SiSelectSelectionStrategy } from '../selection/si-select-selection-strategy';\nimport { SelectGroup, SelectOption } from '../si-select.types';\n\n@Directive({\n host: {\n class: 'dropdown-menu position-static w-100 py-4 d-flex flex-column'\n }\n})\nexport abstract class SiSelectListBase<T> implements OnInit, OnDestroy {\n readonly baseId = input.required<string>();\n readonly optionTemplate = input<\n TemplateRef<{\n $implicit: SelectOption<T>;\n }>\n >();\n readonly groupTemplate = input<\n TemplateRef<{\n $implicit: SelectGroup<T>;\n }>\n >();\n /** @defaultValue null */\n readonly labelledby = input<string | null>(null);\n readonly actionsTemplate = input<TemplateRef<any>>();\n\n readonly closeOverlay = output<void>();\n\n protected readonly selectionStrategy =\n inject<SiSelectSelectionStrategy<T>>(SiSelectSelectionStrategy);\n protected readonly selectOptions = inject<SiSelectOptionsStrategy<T>>(SI_SELECT_OPTIONS_STRATEGY);\n protected readonly focusTrapFactory = inject(ConfigurableFocusTrapFactory);\n protected readonly elementRef = inject(ElementRef);\n protected rows = this.selectOptions.rows;\n protected focusTrap!: ConfigurableFocusTrap;\n\n @HostBinding('class.si-multi-select')\n protected multiSelect = this.selectionStrategy.allowMultiple;\n\n ngOnInit(): void {\n this.focusTrap = this.focusTrapFactory.create(this.elementRef.nativeElement);\n }\n\n ngOnDestroy(): void {\n this.focusTrap.destroy();\n }\n\n @HostListener('keydown.tab')\n protected keydownTab(): void {\n // Ignore tab key if actions are displayed.\n if (!this.actionsTemplate()) {\n this.closeOverlayAlways();\n }\n }\n\n protected closeOverlayAlways(): void {\n this.closeOverlay.emit();\n }\n\n protected closeOverlayIfSingle(): void {\n if (!this.selectionStrategy.allowMultiple) {\n this.closeOverlayAlways();\n }\n }\n}\n","/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nimport { NgTemplateOutlet } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n computed,\n ElementRef,\n input,\n OnInit,\n Signal,\n signal,\n viewChild\n} from '@angular/core';\nimport { SiAutocompleteDirective, SiAutocompleteModule } from '@siemens/element-ng/autocomplete';\nimport { addIcons, elementSearch, SiIconNextComponent } from '@siemens/element-ng/icon';\nimport { SiLoadingSpinnerComponent } from '@siemens/element-ng/loading-spinner';\nimport { SiTranslatePipe, TranslatableString } from '@siemens/element-translate-ng/translate';\n\nimport { SiSelectOptionRowComponent } from '../select-option/si-select-option-row.component';\nimport { SiSelectGroupTemplateDirective } from '../si-select-group-template.directive';\nimport { SiSelectOptionRowTemplateDirective } from '../si-select-option-row-template.directive';\nimport { SiSelectListBase } from './si-select-list.base';\n\n@Component({\n selector: 'si-select-list-has-filter',\n imports: [\n NgTemplateOutlet,\n SiAutocompleteDirective,\n SiIconNextComponent,\n SiSelectGroupTemplateDirective,\n SiSelectOptionRowComponent,\n SiSelectOptionRowTemplateDirective,\n SiTranslatePipe,\n SiAutocompleteModule,\n SiLoadingSpinnerComponent\n ],\n templateUrl: './si-select-list-has-filter.component.html',\n styleUrl: './si-select-list-has-filter.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'pt-0',\n '[attr.id]': 'id()'\n }\n})\nexport class SiSelectListHasFilterComponent<T> extends SiSelectListBase<T> implements OnInit {\n /** Placeholder for search input field. */\n readonly filterPlaceholder = input.required<TranslatableString>();\n /** Label if no item can be found. */\n readonly noResultsFoundLabel = input.required<TranslatableString>();\n\n protected readonly filterInput = viewChild.required<ElementRef<HTMLInputElement>>('filter');\n protected readonly initIndex: Signal<number>;\n protected readonly id = computed(() => `${this.baseId()}-listbox`);\n protected readonly icons = addIcons({ elementSearch });\n\n constructor() {\n super();\n if (!this.selectOptions.onFilter) {\n console.error('Missing implementation for `onFilter`');\n }\n const firstValue = this.selectionStrategy.arrayValue()[0];\n if (firstValue) {\n this.initIndex = computed(() =>\n this.rows().findIndex(row => row.type === 'option' && row.value === firstValue)\n );\n } else {\n this.initIndex = signal(0);\n }\n }\n\n override ngOnInit(): void {\n super.ngOnInit();\n this.selectOptions.onFilter!();\n setTimeout(() => this.filterInput().nativeElement.focus());\n }\n\n protected input(): void {\n this.selectOptions.onFilter!(this.filterInput().nativeElement.value);\n }\n\n protected select(newValue: T): void {\n if (this.selectionStrategy.allowMultiple) {\n if (this.selectionStrategy.arrayValue().includes(newValue)) {\n this.selectionStrategy.updateFromUser(\n this.selectionStrategy.arrayValue().filter(value => value !== newValue)\n );\n } else {\n this.selectionStrategy.updateFromUser([...this.selectionStrategy.arrayValue(), newValue]);\n }\n } else {\n this.selectionStrategy.updateFromUser([newValue]);\n }\n this.closeOverlayIfSingle();\n }\n}\n","<div class=\"pt-5 pb-5 px-5 top-0\">\n <div class=\"position-relative\">\n <input\n #filter\n #siAutocomplete=\"siAutocomplete\"\n siAutocomplete\n class=\"form-control ps-9 border-0 rounded-2 bg-base-0\"\n [placeholder]=\"filterPlaceholder() | translate\"\n [id]=\"baseId() + 'filter-input'\"\n [attr.aria-labelledby]=\"baseId() + '-aria-label' + ' ' + labelledby()\"\n (input)=\"input()\"\n />\n <si-icon-next\n class=\"icon text-secondary position-absolute top-0 bottom-0 d-flex align-items-center ps-2\"\n [icon]=\"icons.elementSearch\"\n />\n @if (selectOptions.loading?.()) {\n <si-loading-spinner class=\"position-absolute end-0 bottom-0 d-flex align-items-center p-2\" />\n }\n </div>\n</div>\n<div\n class=\"si-select-filtered-items\"\n tabindex=\"-1\"\n [siAutocompleteListboxFor]=\"siAutocomplete\"\n [siAutocompleteDefaultIndex]=\"initIndex()\"\n [attr.aria-labelledby]=\"baseId() + '-aria-label' + ' ' + labelledby()\"\n (siAutocompleteOptionSubmitted)=\"select($event)\"\n>\n @if (!rows().length) {\n <div\n role=\"option\"\n aria-disabled=\"true\"\n aria-selected=\"false\"\n class=\"dropdown-item disabled text-secondary justify-content-center mb-2\"\n >\n <span>{{ noResultsFoundLabel() | translate }}</span>\n </div>\n }\n @for (item of rows(); track item; let index = $index) {\n @if (item.type === 'group') {\n <div\n role=\"group\"\n class=\"ps-0\"\n aria-disabled=\"false\"\n [attr.aria-labelledby]=\"baseId() + '-' + index + '-group-header'\"\n >\n <div class=\"dropdown-header\" [id]=\"baseId() + '-' + index + '-group-header'\">\n <ng-container\n [ngTemplateOutlet]=\"groupTemplate() ?? defaultGroupTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: item }\"\n />\n </div>\n @for (optionRow of item.options; track optionRow) {\n <ng-container\n [ngTemplateOutlet]=\"optionRowTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: optionRow }\"\n />\n }\n </div>\n }\n @if (item.type === 'option') {\n <ng-container\n [ngTemplateOutlet]=\"optionRowTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: item }\"\n />\n }\n }\n\n <ng-template #optionRowTemplate let-option siSelectOptionRowTemplate>\n <si-select-option-row\n [option]=\"option\"\n [optionTemplate]=\"optionTemplate()\"\n [siAutocompleteOption]=\"option.value\"\n [disabled]=\"option.disabled\"\n [selected]=\"selectionStrategy.arrayValue().includes(option.value)\"\n />\n </ng-template>\n</div>\n@if (actionsTemplate()) {\n <div class=\"dropdown-divider\"></div>\n <div class=\"d-flex flex-column align-items-start\">\n <ng-container\n [ngTemplateOutlet]=\"actionsTemplate()!\"\n [ngTemplateOutletContext]=\"{\n searchText: filter.value,\n visibleOptionsCount: rows().length\n }\"\n />\n </div>\n}\n\n<ng-template #defaultGroupTemplate let-group siSelectGroupTemplate>\n {{ group.label | translate }}\n</ng-template>\n","/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nimport { CdkListbox, CdkOption, ListboxValueChangeEvent } from '@angular/cdk/listbox';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, ElementRef, OnInit, viewChild } from '@angular/core';\nimport { SiTranslatePipe } from '@siemens/element-translate-ng/translate';\n\nimport { SiSelectOptionRowComponent } from '../select-option/si-select-option-row.component';\nimport { SiSelectGroupTemplateDirective } from '../si-select-group-template.directive';\nimport { SiSelectOptionRowTemplateDirective } from '../si-select-option-row-template.directive';\nimport { SiSelectListBase } from './si-select-list.base';\n\n@Component({\n selector: 'si-select-list',\n imports: [\n CommonModule,\n CdkListbox,\n SiTranslatePipe,\n CdkOption,\n SiSelectOptionRowTemplateDirective,\n SiSelectGroupTemplateDirective,\n SiSelectOptionRowComponent\n ],\n templateUrl: './si-select-list.component.html',\n styleUrl: './si-select-list.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class SiSelectListComponent<T> extends SiSelectListBase<T> implements OnInit {\n private readonly listbox = viewChild.required<CdkListbox, ElementRef<HTMLUListElement>>(\n CdkListbox,\n {\n read: ElementRef\n }\n );\n\n override ngOnInit(): void {\n super.ngOnInit();\n setTimeout(() => this.listbox().nativeElement.focus());\n }\n\n protected listBoxValueChange(changeEvent: ListboxValueChangeEvent<T>): void {\n this.selectionStrategy.updateFromUser(changeEvent.value.slice());\n }\n}\n","<div\n cdkListbox\n class=\"si-select-filtered-items focus-none\"\n [id]=\"baseId() + '-listbox'\"\n [cdkListboxMultiple]=\"selectionStrategy.allowMultiple\"\n [cdkListboxValue]=\"selectionStrategy.arrayValue()\"\n [attr.aria-labelledby]=\"baseId() + '-aria-label' + ' ' + labelledby()\"\n (cdkListboxValueChange)=\"listBoxValueChange($event)\"\n (click)=\"closeOverlayIfSingle()\"\n (keydown.enter)=\"closeOverlayIfSingle()\"\n (keydown.space)=\"closeOverlayIfSingle()\"\n>\n @for (item of rows(); track item; let index = $index) {\n @if (item.type === 'group') {\n <div\n role=\"group\"\n class=\"ps-0\"\n aria-disabled=\"false\"\n [attr.aria-labelledby]=\"baseId() + '-' + index + '-group-header'\"\n >\n <span class=\"dropdown-header\" [id]=\"baseId() + '-' + index + '-group-header'\">\n <ng-container\n [ngTemplateOutlet]=\"groupTemplate() ?? defaultGroupTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: item }\"\n />\n </span>\n @for (optionRow of item.options; track optionRow) {\n <ng-container\n [ngTemplateOutlet]=\"optionRowTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: optionRow }\"\n />\n }\n </div>\n }\n @if (item.type === 'option') {\n <ng-container\n [ngTemplateOutlet]=\"optionRowTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: item }\"\n />\n }\n }\n <ng-template #optionRowTemplate let-option siSelectOptionRowTemplate>\n <si-select-option-row\n #cdkOption=\"cdkOption\"\n [option]=\"option\"\n [optionTemplate]=\"optionTemplate()\"\n [cdkOption]=\"option.value\"\n [cdkOptionDisabled]=\"!!option.disabled\"\n [cdkOptionTypeaheadLabel]=\"(option.typeaheadLabel | translate)!\"\n [class.active]=\"cdkOption.isActive()\"\n [selected]=\"cdkOption.isSelected()\"\n />\n </ng-template>\n</div>\n@if (actionsTemplate()) {\n <div class=\"dropdown-divider\"></div>\n <div class=\"d-flex flex-column align-items-start\">\n <ng-container [ngTemplateOutlet]=\"actionsTemplate()!\" />\n </div>\n}\n\n<ng-template #defaultGroupTemplate let-group siSelectGroupTemplate>\n {{ group.label | translate }}\n</ng-template>\n","/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nimport { Directive } from '@angular/core';\n\n@Directive({\n selector: '[siSelectActions]',\n exportAs: 'si-select-actions'\n})\nexport class SiSelectActionsDirective {}\n","/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nimport { CdkOverlayOrigin, OverlayModule } from '@angular/cdk/overlay';\nimport {\n AfterContentInit,\n booleanAttribute,\n ChangeDetectionStrategy,\n Component,\n computed,\n contentChild,\n ElementRef,\n inject,\n input,\n OnChanges,\n output,\n signal,\n SimpleChanges,\n TemplateRef,\n viewChild\n} from '@angular/core';\nimport { SI_FORM_ITEM_CONTROL, SiFormItemControl } from '@siemens/element-ng/form';\nimport { TranslatableString } from '@siemens/element-translate-ng/translate';\n\nimport { SiSelectComplexOptionsDirective } from './options/si-select-complex-options.directive';\nimport { SI_SELECT_OPTIONS_STRATEGY } from './options/si-select-options-strategy';\nimport { SiSelectInputComponent } from './select-input/si-select-input.component';\nimport { SiSelectListHasFilterComponent } from './select-list/si-select-list-has-filter.component';\nimport { SiSelectListComponent } from './select-list/si-select-list.component';\nimport { SiSelectSelectionStrategy } from './selection/si-select-selection-strategy';\nimport { SiSelectActionsDirective } from './si-select-actions.directive';\nimport { SiSelectGroupTemplateDirective } from './si-select-group-template.directive';\nimport { SiSelectOptionTemplateDirective } from './si-select-option-template.directive';\nimport { SelectGroup, SelectItem, SelectOption } from './si-select.types';\n\n@Component({\n selector: 'si-select',\n imports: [\n OverlayModule,\n SiSelectInputComponent,\n SiSelectListComponent,\n SiSelectListHasFilterComponent\n ],\n templateUrl: './si-select.component.html',\n styleUrl: './si-select.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'dropdown',\n '[class.readonly]': 'readonly()',\n '[class.open]': 'isOpen()',\n '[class.si-select-has-filter]': 'hasFilter()'\n },\n providers: [{ provide: SI_FORM_ITEM_CONTROL, useExisting: SiSelectComponent }]\n})\nexport class SiSelectComponent<T> implements OnChanges, AfterContentInit, SiFormItemControl {\n private static idCounter = 0;\n /**\n * Unique identifier.\n *\n * @defaultValue\n * ```\n * `__si-select-${SiSelectComponent.idCounter++}`\n * ```\n */\n readonly id = input(`__si-select-${SiSelectComponent.idCounter++}`);\n /**\n * Aria label of the select.\n *\n * @defaultValue null\n */\n readonly ariaLabel = input<string | null>(null);\n /**\n * Aria labelledby of the select.\n * @defaultValue undefined\n */\n // eslint-disable-next-line @angular-eslint/no-input-rename\n readonly labelledbyInput = input<string | undefined>(undefined, { alias: 'labelledby' });\n /**\n * Placeholder for search input field.\n *\n * @defaultValue\n * ```\n * $localize`:@@SI_SELECT.SEARCH-PLACEHOLDER:Search...`\n * ```\n */\n readonly filterPlaceholder = input($localize`:@@SI_SELECT.SEARCH-PLACEHOLDER:Search...`);\n /**\n * Label if no item can be found.\n *\n * @defaultValue\n * ```\n * $localize`:@@SI_SELECT.NO-RESULTS-FOUND:No results found`\n * ```\n */\n readonly noResultsFoundLabel = input($localize`:@@SI_SELECT.NO-RESULTS-FOUND:No results found`);\n /** Placeholder text to display when no options are selected. */\n readonly placeholder = input<TranslatableString>();\n /**\n * Readonly state. Similar to disabled but with higher contrast *\n *\n * @defaultValue false\n */\n readonly readonly = input(false, { transform: booleanAttribute });\n\n /**\n * Emits on selection dropdown close.\n * @deprecated Use {@link openChange} instead.\n */\n readonly dropdownClose = output<void>();\n /** Emits when the dropdown open state changes. */\n readonly openChange = output<boolean>();\n\n protected readonly isOpen = signal(false);\n\n protected readonly optionTemplate = contentChild<\n SiSelectOptionTemplateDirective,\n TemplateRef<{ $implicit: SelectOption<T> }>\n >(SiSelectOptionTemplateDirective, { read: TemplateRef });\n\n protected readonly groupTemplate = contentChild<\n SiSelectGroupTemplateDirective,\n TemplateRef<{ $implicit: SelectGroup<T> }>\n >(SiSelectGroupTemplateDirective, { read: TemplateRef });\n\n protected readonly actionsTemplate = contentChild<SiSelectActionsDirective, TemplateRef<any>>(\n SiSelectActionsDirective,\n { read: TemplateRef }\n );\n\n private readonly trigger = viewChild.required<CdkOverlayOrigin, ElementRef<HTMLDivElement>>(\n CdkOverlayOrigin,\n {\n read: ElementRef\n }\n );\n\n /** @internal */\n readonly labelledby = computed(() => this.labelledbyInput() ?? this.id() + '-label');\n /** @internal */\n readonly errormessageId = `${this.id()}-errormessage`;\n\n protected rows: readonly SelectItem<T>[] = [];\n protected overlayWidth = 0;\n protected readonly selectionStrategy = inject(SiSelectSelectionStrategy<T>);\n\n private backdropClicked = false;\n private readonly selectOptions = inject(SI_SELECT_OPTIONS_STRATEGY);\n\n /**\n * Enables the filter input\n * @defaultValue false\n * @defaultref {@link SiSelectComponent#_hasFilter}\n */\n readonly hasFilter = input(false, { transform: booleanAttribute });\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes.hasFilter && this.hasFilter()) {\n this.verifyValueProvider();\n }\n }\n\n ngAfterContentInit(): void {\n this.verifyValueProvider();\n }\n\n /** Opens the `si-select`. */\n open(): void {\n if (this.readonly() || this.selectionStrategy.disabled()) {\n return;\n }\n this.overlayWidth = this.trigger().nativeElement.getBoundingClientRect().width + 2; // 2px border\n this.isOpen.set(true);\n this.openChange.emit(true);\n }\n\n /** Closes the `si-select`. */\n close(): void {\n this.isOpen.set(false);\n if (!this.backdropClicked) {\n this.trigger().nativeElement.focus();\n } else {\n this.backdropClicked = false;\n this.selectionStrategy.onTouched();\n }\n this.dropdownClose.emit();\n this.openChange.emit(false);\n }\n\n protected backdropClick(): void {\n this.backdropClicked = true;\n this.isOpen.set(false);\n }\n\n private verifyValueProvider(): void {\n if (\n this.hasFilter() &&\n this.optionTemplate() &&\n this.selectOptions instanceof SiSelectComplexOptionsDirective &&\n !this.selectOptions.valueProvider()\n ) {\n console.error(\n 'A valueProvider is required when [hasFilter]=\"true\" and having custom option template on si-select'\n );\n }\n }\n}\n","<si-select-input\n #trigger=\"cdkOverlayOrigin\"\n cdkOverlayOrigin\n [baseId]=\"id()\"\n [labelledby]=\"labelledby()\"\n [optionTemplate]=\"optionTemplate()\"\n [ariaLabel]=\"ariaLabel()\"\n [controls]=\"id() + '-listbox'\"\n [open]=\"isOpen()\"\n [placeholder]=\"placeholder()\"\n [readonly]=\"readonly()\"\n [attr.aria-describedby]=\"errormessageId\"\n (openListbox)=\"open()\"\n/>\n\n<ng-template\n cdkConnectedOverlay\n cdkConnectedOverlayBackdropClass=\"cdk-overlay-transparent-backdrop\"\n [cdkConnectedOverlayHasBackdrop]=\"true\"\n [cdkConnectedOverlayOrigin]=\"trigger\"\n [cdkConnectedOverlayOpen]=\"isOpen()\"\n [cdkConnectedOverlayFlexibleDimensions]=\"true\"\n [cdkConnectedOverlayOffsetX]=\"-1\"\n [cdkConnectedOverlayMinWidth]=\"overlayWidth\"\n (backdropClick)=\"backdropClick()\"\n (detach)=\"close()\"\n>\n @if (!hasFilter()) {\n <si-select-list\n [baseId]=\"id()\"\n [optionTemplate]=\"optionTemplate()\"\n [groupTemplate]=\"groupTemplate()\"\n [labelledby]=\"labelledby()\"\n [actionsTemplate]=\"actionsTemplate()\"\n (closeOverlay)=\"close()\"\n />\n } @else {\n <si-select-list-has-filter\n [baseId]=\"id()\"\n [filterPlaceholder]=\"filterPlaceholder()\"\n [noResultsFoundLabel]=\"noResultsFoundLabel()\"\n [optionTemplate]=\"optionTemplate()\"\n [groupTemplate]=\"groupTemplate()\"\n [labelledby]=\"labelledby()\"\n [actionsTemplate]=\"actionsTemplate()\"\n (closeOverlay)=\"close()\"\n />\n }\n</ng-template>\n","/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nimport { Directive, input, OnDestroy, signal } from '@angular/core';\nimport { of, Subject, switchMap } from 'rxjs';\nimport { debounceTime, takeUntil } from 'rxjs/operators';\n\nimport { SelectItem, SelectOption } from '../si-select.types';\nimport { SelectOptionSource } from './si-select-option.source';\nimport { SI_SELECT_OPTIONS_STRATEGY, SiSelectOptionsStrategy } from './si-select-options-strategy';\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: 'si-select[optionSource]',\n providers: [{ provide: SI_SELECT_OPTIONS_STRATEGY, useExisting: SiSelectLazyOptionsDirective }]\n})\nexport class SiSelectLazyOptionsDirective<T> implements SiSelectOptionsStrategy<T>, OnDestroy {\n /**\n * {@inheritDoc SiSelectOptionsStrategy#loading}\n * @defaultValue false\n */\n readonly loading = signal(false);\n\n /**\n * {@inheritDoc SiSelectOptionsStrategy#rows}\n * @defaultValue []\n */\n readonly rows = signal<SelectItem<T>[]>([]);\n\n /**\n * {@inheritDoc SiSelectOptionsStrategy#selectedRows}\n * @defaultValue []\n */\n readonly selectedRows = signal<SelectOption<T>[]>([]);\n\n readonly optionSource = input.required<SelectOptionSource<T>>();\n\n private valueChange = new Subject<void>();\n private filterChange = new Subject<string | undefined>();\n\n constructor() {\n this.filterChange\n .pipe(\n debounceTime(100),\n switchMap(filterInput => {\n if (filterInput) {\n return this.optionSource().getOptionsForSearch!(filterInput);\n } else {\n const optionSource = this.optionSource();\n if (optionSource.getAllOptions) {\n return optionSource.getAllOptions();\n } else {\n return of(this.selectedRows());\n }\n }\n })\n )\n .subscribe(rows => {\n this.loading.set(false);\n this.rows.set(rows);\n });\n }\n\n ngOnDestroy(): void {\n this.valueChange.next();\n this.valueChange.complete();\n this.filterChange.complete();\n }\n\n /** {@inheritDoc SiSelectOptionsStrategy.onValueChange} */\n onValueChange(value: T[]): void {\n this.valueChange.next();\n\n // To prevent flickering, we need to check if we already got all the requested options.\n // This should always be the case if the user selects one\n const knownSelectedOptions = value\n .map(\n valueEntry =>\n this.selectedRows().find(selected => this.valueEqual(selected.value, valueEntry)) ??\n (this.rows().find(\n selected => selected.type === 'option' && this.valueEqual(selected.value, valueEntry)\n ) as SelectOption<T>)\n )\n .filter(v => !!v);\n\n const optionSource = this.optionSource();\n if (knownSelectedOptions.length === value.length) {\n if (optionSource.compareOptions) {\n knownSelectedOptions.sort(optionSource.compareOptions);\n }\n this.selectedRows.set(knownSelectedOptions);\n } else {\n // We don't have all options, so we need to fetch them.\n optionSource\n .getOptionsForValues(value)\n .pipe(takeUntil(this.valueChange))\n .subscribe(selectedOptions => this.selectedRows.set(selectedOptions));\n }\n }\n\n /** {@inheritDoc SiSelectOptionsStrategy.onFilter} */\n onFilter(filterInput?: string): void {\n this.filterChange.next(filterInput);\n this.loading.set(true);\n }\n\n private valueEqual(a?: T, b?: T): boolean {\n if (a === b) {\n return true;\n }\n if (!a || !b) {\n return false;\n }\n\n const optionSource = this.optionSource();\n if (optionSource.valuesEqual) {\n return optionSource.valuesEqual(a, b);\n }\n\n return false;\n }\n}\n","/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nimport { computed, Directive, input, OnChanges } from '@angular/core';\n\nimport { SelectItem, SelectOption, SelectOptionLegacy } from '../si-select.types';\nimport { SI_SELECT_OPTIONS_STRATEGY } from './si-select-options-strategy';\nimport { SiSelectOptionsStrategyBase } from './si-select-options-strategy.base';\n\n/**\n * This directive allows passing {@link SelectItem} to the {@link SiSelectComponent}.\n *\n * @example\n * ```html\n * <si-select [options]=\"[{ type: 'option', value: 'one', label: 'One' }, { type: 'option', value: 'two', label: 'Two' }]\"></si-select>\n * <si-select [options]=\"[{ type: 'group', label: 'Group', options [{ type: 'option', value: 1, label: 'One' }, { type: 'option', value: 2, label: 'Two' }] }]\"></si-select>\n * ```\n */\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: 'si-select[options]',\n providers: [{ provide: SI_SELECT_OPTIONS_STRATEGY, useExisting: SiSelectSimpleOptionsDirective }]\n})\nexport class SiSelectSimpleOptionsDirective<T = string>\n extends SiSelectOptionsStrategyBase<T>\n implements OnChanges\n{\n /** Options to be shown in select dropdown */\n readonly options = input<(SelectOptionLegacy | SelectItem<T>)[] | null>();\n\n /**\n * By default, values are check on referential equality. Provide a function to customize the behavior.\n *\n * @defaultValue\n * ```\n * (a: T, b: T): boolean => a === b\n * ```\n */\n override readonly optionsEqual = input((a: T, b: T): boolean => a === b, {\n // eslint-disable-next-line @angular-eslint/no-input-rename\n alias: 'optionEqualCheckFn'\n });\n\n override readonly allRows = computed(() => {\n const options = this.options();\n if (options) {\n return options?.map(option =>\n option.type\n ? option\n : ({\n type: 'option',\n value: option.id as T,\n label: option.title,\n iconColor: option.color,\n icon: option.icon,\n disabled: option.disabled\n } as SelectOption<T>)\n );\n } else {\n return [];\n }\n });\n\n ngOnChanges(): void {\n this.onFilter();\n }\n}\n","/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nimport { Directive } from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\n\nimport { SiSelectSelectionStrategy } from './si-select-selection-strategy';\n\n/**\n * The directive enables the single-select behavior.\n * Otherwise, use the {@link SiSelectMultiValueDirective} directive.\n *\n * @example\n * ```html\n * <si-select [(value)]=\"selectedValue\" [options]=\"[\n * { id: 'good', title: 'Good' },\n * { id: 'average', title: 'Average' },\n * { id: 'poor', title: 'Poor' }\n * ]\"></si-select>\n * ```\n */\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: 'si-select:not([multi])',\n providers: [\n { provide: SiSelectSelectionStrategy, useExisting: SiSelectSingleValueDirective },\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: SiSelectSingleValueDirective,\n multi: true\n }\n ]\n})\nexport class SiSelectSingleValueDirective<T> extends SiSelectSelectionStrategy<T, T> {\n /**\n * {@inheritDoc SiSelectSelectionStrategy#allowMultiple}\n * @defaultValue false\n */\n override allowMultiple = false;\n\n protected toArrayValue(value: T | undefined): readonly T[] {\n return value !== undefined ? [value] : [];\n }\n\n protected fromArrayValue([value]: readonly T[]): T {\n return value;\n }\n}\n","/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nimport { Directive } from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\n\nimport { SiSelectSelectionStrategy } from './si-select-selection-strategy';\n\n/**\n * The directive enables the multi-select behavior.\n * Otherwise, use the {@link SiSelectSingleValueDirective} directive.\n *\n * @example\n * ```html\n * <si-select multi [(value)]=\"multiValue\" [options]=\"[\n * { id: 'good', title: 'Good' },\n * { id: 'average', title: 'Average' },\n * { id: 'poor', title: 'Poor' }\n * ]\"></si-select>\n * ```\n */\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: 'si-select[multi]',\n providers: [\n { provide: SiSelectSelectionStrategy, useExisting: SiSelectMultiValueDirective },\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: SiSelectMultiValueDirective,\n multi: true\n }\n ]\n})\nexport class SiSelectMultiValueDirective<T> extends SiSelectSelectionStrategy<T, T[]> {\n /**\n * {@inheritDoc SiSelectSelectionStrategy#allowMultiple}\n * @defaultValue true\n */\n override readonly allowMultiple = true;\n\n protected fromArrayValue(value: T[]): T[] {\n return value;\n }\n\n protected toArrayValue(value: T[] | undefined): T[] {\n return value ?? [];\n }\n}\n","/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nimport { booleanAttribute, Directive, HostListener, inject, input } from '@angular/core';\n\nimport { SiSelectComponent } from './si-select.component';\n\n@Directive({\n selector: '[siSelectAction]',\n exportAs: 'si-select-action',\n host: {\n class: 'mx-5 my-4'\n }\n})\nexport class SiSelectActionDirective {\n private readonly select = inject(SiSelectComponent);\n /**\n * Close the select drop down on click.\n * @defaultValue false\n */\n readonly selectActionAutoClose = input(false, { transform: booleanAttribute });\n\n @HostListener('click')\n protected close(): void {\n if (this.selectActionAutoClose()) {\n this.select.close();\n }\n }\n}\n","/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nimport { NgModule } from '@angular/core';\n\nimport { SiSelectComplexOptionsDirective } from './options/si-select-complex-options.directive';\nimport { SiSelectSimpleOptionsDirective } from './options/si-select-simple-options.directive';\nimport { SiSelectMultiValueDirective } from './selection/si-select-multi-value.directive';\nimport { SiSelectSingleValueDirective } from './selection/si-select-single-value.directive';\nimport { SiSelectActionDirective } from './si-select-action.directive';\nimport { SiSelectActionsDirective } from './si-select-actions.directive';\nimport { SiSelectGroupTemplateDirective } from './si-select-group-template.directive';\nimport { SiSelectOptionTemplateDirective } from './si-select-option-template.directive';\nimport { SiSelectComponent } from './si-select.component';\n\n@NgModule({\n imports: [\n SiSelectActionDirective,\n SiSelectActionsDirective,\n SiSelectComplexOptionsDirective,\n SiSelectComponent,\n SiSelectGroupTemplateDirective,\n SiSelectMultiValueDirective,\n SiSelectOptionTemplateDirective,\n SiSelectSimpleOptionsDirective,\n SiSelectSingleValueDirective\n ],\n exports: [\n SiSelectActionDirective,\n SiSelectActionsDirective,\n SiSelectComplexOptionsDirective,\n SiSelectComponent,\n SiSelectGroupTemplateDirective,\n SiSelectMultiValueDirective,\n SiSelectOptionTemplateDirective,\n SiSelectSimpleOptionsDirective,\n SiSelectSingleValueDirective\n ]\n})\nexport class SiSelectModule {}\n","/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nexport * from './si-select.component';\nexport * from './options/si-select-lazy-options.directive';\nexport * from './options/si-select-simple-options.directive';\nexport * from './options/si-select-complex-options.directive';\nexport * from './options/si-select-option.source';\nexport * from './selection/si-select-single-value.directive';\nexport * from './selection/si-select-multi-value.directive';\nexport * from './si-select-option-template.directive';\nexport * from './si-select-group-template.directive';\nexport * from './si-select.module';\nexport * from './select-list/si-select-list-has-filter.component';\nexport * from './si-select-action.directive';\nexport * from './si-select-actions.directive';\nexport * from './si-select.types';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"siemens-element-ng-select.mjs","sources":["../../../../projects/element-ng/select/options/si-select-options-strategy.ts","../../../../projects/element-ng/select/options/si-select-options-strategy.base.ts","../../../../projects/element-ng/select/options/si-select-complex-options.directive.ts","../../../../projects/element-ng/select/si-select-option-template.directive.ts","../../../../projects/element-ng/select/select-option/si-select-option.component.ts","../../../../projects/element-ng/select/select-option/si-select-option.component.html","../../../../projects/element-ng/select/selection/si-select-selection-strategy.ts","../../../../projects/element-ng/select/select-input/si-select-input.component.ts","../../../../projects/element-ng/select/select-input/si-select-input.component.html","../../../../projects/element-ng/select/select-option/si-select-option-row.component.ts","../../../../projects/element-ng/select/select-option/si-select-option-row.component.html","../../../../projects/element-ng/select/si-select-group-template.directive.ts","../../../../projects/element-ng/select/si-select-option-row-template.directive.ts","../../../../projects/element-ng/select/select-list/si-select-list.base.ts","../../../../projects/element-ng/select/select-list/si-select-list-has-filter.component.ts","../../../../projects/element-ng/select/select-list/si-select-list-has-filter.component.html","../../../../projects/element-ng/select/select-list/si-select-list.component.ts","../../../../projects/element-ng/select/select-list/si-select-list.component.html","../../../../projects/element-ng/select/si-select-actions.directive.ts","../../../../projects/element-ng/select/si-select.component.ts","../../../../projects/element-ng/select/si-select.component.html","../../../../projects/element-ng/select/options/si-select-lazy-options.directive.ts","../../../../projects/element-ng/select/options/si-select-simple-options.directive.ts","../../../../projects/element-ng/select/selection/si-select-single-value.directive.ts","../../../../projects/element-ng/select/selection/si-select-multi-value.directive.ts","../../../../projects/element-ng/select/si-select-action.directive.ts","../../../../projects/element-ng/select/si-select.module.ts","../../../../projects/element-ng/select/index.ts","../../../../projects/element-ng/select/siemens-element-ng-select.ts"],"sourcesContent":["/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nimport { InjectionToken, Signal } from '@angular/core';\n\nimport { SelectItem, SelectOption } from '../si-select.types';\n\nexport const SI_SELECT_OPTIONS_STRATEGY = new InjectionToken<SiSelectOptionsStrategy<unknown>>(\n 'si-select.options-strategy'\n);\n\nexport interface SiSelectOptionsStrategy<T> {\n /**\n * List of all rows that should be rendered in a selection list.\n */\n readonly rows: Signal<readonly SelectItem<T>[]>;\n\n /**\n * List of all options that are currently selected.\n * Must be updated when {@link onValueChange} is called.\n */\n readonly selectedRows: Signal<readonly SelectOption<T>[]>;\n\n /**\n * Indicate loading state of the options.\n */\n readonly loading?: Signal<boolean>;\n\n /**\n * Is always called when the value changes.\n * The implementation must update {@link selectedRows} when called.\n *\n * @param value - currently selected value of the related si-select.\n */\n onValueChange(value: readonly T[]): void;\n\n /**\n * This function is called when a user enters a filter query.\n * It is expected that an implementation will update the `rows`\n * based on the query.\n *\n * @param filterInput - Unprocessed input by user in the filterInput field\n */\n onFilter?(filterInput?: string): void;\n}\n","/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nimport { computed, Directive, InputSignal, Signal, signal } from '@angular/core';\n\nimport { SelectItem, SelectOption } from '../si-select.types';\nimport { SiSelectOptionsStrategy } from './si-select-options-strategy';\n\n/**\n * Input options strategy base class, for eagerly fetched options.\n */\n@Directive()\nexport abstract class SiSelectOptionsStrategyBase<T> implements SiSelectOptionsStrategy<T> {\n /**\n * Function to compare two values on equality which is used to match/filter options.\n */\n abstract optionsEqual: InputSignal<(a: T, b: T) => boolean>;\n\n /**\n * Rows that should be shown.\n *\n * @defaultValue []\n */\n readonly rows = signal<SelectItem<T>[]>([]);\n /**\n * All group and option items in the dropdown.\n *\n * @defaultValue []\n */\n abstract readonly allRows: Signal<(SelectItem<T> | SelectOption<T>)[]>;\n\n private readonly value = signal<T[]>([]);\n\n readonly selectedRows = computed(() => {\n const values = this.value();\n return this.allRows()\n .map(row => (row.type === 'group' ? row.options : row))\n .flat()\n .filter(option => values.some(value => this.optionsEqual()(value, option.value)));\n });\n\n onValueChange(value: T[]): void {\n this.value.set(value);\n }\n\n onFilter(filterValue?: string): void {\n if (filterValue) {\n const filterValueLC = filterValue.toLowerCase();\n const checkRow: (row: SelectOption<T>) => boolean = (row: SelectOption<T>) =>\n (row.typeaheadLabel ?? row.label)!.toLowerCase().includes(filterValueLC!);\n\n this.rows.set(\n this.allRows().reduce((rows, row) => {\n if (row.type === 'option' && checkRow(row)) {\n rows.push(row);\n } else if (row.type === 'group') {\n if (row.label!.toLowerCase().includes(filterValueLC!)) {\n rows.push(row);\n } else {\n const options = row.options.filter(checkRow);\n\n if (options.length) {\n rows.push({ ...row, options });\n }\n }\n }\n\n return rows;\n }, [] as SelectItem<T>[])\n );\n } else {\n this.rows.set(this.allRows());\n }\n }\n}\n","/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nimport { computed, Directive, input, OnChanges } from '@angular/core';\nimport { buildTrackByIdentity } from '@siemens/element-ng/common';\n\nimport { SelectGroup, SelectOption } from '../si-select.types';\nimport { SI_SELECT_OPTIONS_STRATEGY } from './si-select-options-strategy';\nimport { SiSelectOptionsStrategyBase } from './si-select-options-strategy.base';\n\n/**\n * The directive allows passing custom options.\n * Otherwise, use the {@link SiSelectSimpleOptionsDirective} directive.\n *\n * @deprecated Use {@link SiSelectSimpleOptionsDirective} instead.\n *\n * @example\n * ```html\n * <si-select [complexOptions]=\"['v1', 'v2', 'v3']\"></si-select>\n * <si-select [complexOptions]=\"{ g1: ['g1.i1', 'g1.i2'], g2: ['g2.i1']}\"></si-select>\n * ```\n */\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: 'si-select[complexOptions]',\n providers: [{ provide: SI_SELECT_OPTIONS_STRATEGY, useExisting: SiSelectComplexOptionsDirective }]\n})\nexport class SiSelectComplexOptionsDirective<T>\n extends SiSelectOptionsStrategyBase<T>\n implements OnChanges\n{\n /** Options to be shown in select dropdown. */\n readonly complexOptions = input<T[] | Record<string, T[]> | null>();\n\n /**\n * @deprecated Property has no effect and can be removed.\n *\n * @defaultValue\n * ```\n * buildTrackByIdentity<T>()\n * ```\n */\n readonly trackBy = input(buildTrackByIdentity<T>());\n\n /**\n * By default, values are check on equality by reference. Override to customize the behavior.\n *\n * @defaultValue\n * ```\n * (a: T, b: T): boolean => a === b\n * ```\n */\n override readonly optionsEqual = input((a: T, b: T): boolean => a === b, {\n // eslint-disable-next-line @angular-eslint/no-input-rename\n alias: 'optionEqualCheckFn'\n });\n\n /**\n * The valueProvider is used to extract the display text of a value.\n */\n readonly valueProvider = input<(dropdownOption: T) => string | undefined>();\n\n /**\n * Provides Value for the display text of the dropdown group\n *\n * @defaultValue\n * ```\n * () => undefined\n * ```\n */\n readonly groupProvider = input<(groupKey: string) => string | undefined>(() => undefined);\n\n /**\n * The disabledProvider is used to display menu items as disabled.\n *\n * @defaultValue\n * ```\n * () => false\n * ```\n */\n readonly disabledProvider = input<(dropdownOption: T) => boolean>(() => false);\n\n override readonly allRows = computed(() => {\n const complexOptions = this.complexOptions();\n if (complexOptions instanceof Array) {\n return this.convertOptionsArray(complexOptions);\n } else if (complexOptions) {\n const groupProvider = this.groupProvider();\n return Object.entries(complexOptions).map(\n ([key, value]) =>\n ({\n type: 'group',\n key,\n label: groupProvider(key) ?? key,\n options: this.convertOptionsArray(value)\n }) as SelectGroup<T>\n );\n } else {\n return [];\n }\n });\n\n ngOnChanges(): void {\n this.onFilter();\n }\n\n private convertOptionsArray(options: T[]): SelectOption<T>[] {\n const provide = this.valueProvider();\n return options.map(option => {\n return {\n type: 'option',\n value: option,\n label: (provide ? provide(option) : undefined) ?? option + '',\n typeaheadLabel: provide ? provide(option) : undefined,\n disabled: this.disabledProvider()(option)\n };\n });\n }\n}\n","/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nimport { Directive } from '@angular/core';\n\nimport { SelectOption } from './si-select.types';\n\n/**\n * The directive allows to template/customize the value option rendering.\n * This requires using the {@link SiSelectComplexOptionsDirective} to specify complex options as input.\n *\n * @example\n * ```html\n * <si-select [options]=\"[{ id: 'good', title: 'Good' }, { id: 'fair', title: 'Fair' }, { id: 'bad', title: 'Bad' }]\" >\n * <ng-template siSelectOptionTemplate let-option>{{ option.value | uppercase }}</ng-template>\n * </si-select>\n * ```\n */\n@Directive({\n selector: '[siSelectOptionTemplate]'\n})\nexport class SiSelectOptionTemplateDirective {\n /** @internal */\n static ngTemplateContextGuard<T = any>(\n directive: SiSelectOptionTemplateDirective,\n context: unknown\n ): context is { $implicit: SelectOption<T> } {\n return true;\n }\n}\n","/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nimport { NgClass, NgTemplateOutlet } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, input, TemplateRef } from '@angular/core';\nimport { SiIconNextComponent } from '@siemens/element-ng/icon';\nimport { SiTranslatePipe } from '@siemens/element-translate-ng/translate';\n\nimport { SiSelectOptionTemplateDirective } from '../si-select-option-template.directive';\nimport { SelectOption } from '../si-select.types';\n\n@Component({\n selector: 'si-select-option',\n imports: [\n NgClass,\n NgTemplateOutlet,\n SiIconNextComponent,\n SiTranslatePipe,\n SiSelectOptionTemplateDirective\n ],\n templateUrl: './si-select-option.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'd-flex align-items-center overflow-hidden'\n }\n})\nexport class SiSelectOptionComponent {\n readonly option = input.required<SelectOption<unknown>>();\n readonly optionTemplate = input<TemplateRef<unknown>>();\n}\n","<ng-container\n [ngTemplateOutlet]=\"optionTemplate() ?? defaultOptionTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: option() }\"\n/>\n\n<ng-template #defaultOptionTemplate let-item siSelectOptionTemplate>\n @if (item.icon) {\n <i class=\"icon-stack\">\n <si-icon-next\n class=\"icon me-2\"\n [icon]=\"item.icon\"\n [ngClass]=\"[(!item.disabled && item.iconColor) || '']\"\n />\n @if (item.stackedIcon) {\n <si-icon-next\n class=\"icon me-2\"\n [icon]=\"item.stackedIcon\"\n [ngClass]=\"item.stackedIconColor\"\n />\n }\n </i>\n }\n @if (item.label) {\n <span class=\"text-truncate\">{{ item.label | translate }}</span>\n }\n</ng-template>\n","/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nimport {\n booleanAttribute,\n computed,\n Directive,\n inject,\n input,\n Input,\n output,\n signal,\n Signal\n} from '@angular/core';\nimport { ControlValueAccessor } from '@angular/forms';\n\nimport {\n SI_SELECT_OPTIONS_STRATEGY,\n SiSelectOptionsStrategy\n} from '../options/si-select-options-strategy';\n\n/**\n * Selection strategy base class.\n */\n@Directive({\n host: {\n '[class.disabled]': 'disabled()'\n }\n})\nexport abstract class SiSelectSelectionStrategy<T, IV = T | T[]> implements ControlValueAccessor {\n /**\n * Whether the select input is disabled.\n *\n * @defaultValue false\n */\n // eslint-disable-next-line @angular-eslint/no-input-rename\n readonly disabledInput = input(false, { alias: 'disabled', transform: booleanAttribute });\n\n /**\n * The selected value(s).\n */\n @Input() set value(value: IV | undefined) {\n this.updateFromInput(this.toArrayValue(value));\n }\n\n /** Emitted when the selection is changed */\n readonly valueChange = output<IV>();\n\n /**\n * Whether the select control allows to select multiple values.\n * @internal\n */\n abstract readonly allowMultiple: boolean;\n\n /**\n * Provides the internal value always as an array\n * @internal\n */\n readonly arrayValue: Signal<readonly T[]> = computed(() =>\n this.selectOptions.selectedRows().map(option => option.value)\n );\n\n /**\n * Registered form callback which shall be called on blur.\n * @internal\n */\n onTouched: () => void = () => {};\n /** @internal */\n public readonly disabled = computed(() => this.disabledInput() || this.disabledNgControl());\n protected onChange: (_: any) => void = () => {};\n private readonly disabledNgControl = signal(false);\n private readonly selectOptions = inject<SiSelectOptionsStrategy<T>>(SI_SELECT_OPTIONS_STRATEGY);\n\n registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n /**\n * CDK Listbox value changed handler.\n * @internal\n */\n updateFromUser(values: T[]): void {\n const parsedValue = this.fromArrayValue(values);\n this.onChange(parsedValue);\n this.valueChange.emit(parsedValue);\n this.selectOptions.onValueChange(values);\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.disabledNgControl.set(isDisabled);\n }\n\n writeValue(obj: any): void {\n this.updateFromInput(this.toArrayValue(obj));\n }\n\n protected abstract toArrayValue(value: IV | undefined): readonly T[];\n\n protected abstract fromArrayValue(value: readonly T[]): IV;\n\n private updateFromInput(values: readonly T[]): void {\n this.selectOptions.onValueChange(values);\n }\n}\n","/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nimport {\n booleanAttribute,\n ChangeDetectionStrategy,\n Component,\n computed,\n HostListener,\n inject,\n input,\n output,\n TemplateRef\n} from '@angular/core';\nimport { SiAutoCollapsableListModule } from '@siemens/element-ng/auto-collapsable-list';\nimport { addIcons, elementDown2, SiIconNextComponent } from '@siemens/element-ng/icon';\nimport { SiTranslatePipe, TranslatableString } from '@siemens/element-translate-ng/translate';\n\nimport {\n SI_SELECT_OPTIONS_STRATEGY,\n SiSelectOptionsStrategy\n} from '../options/si-select-options-strategy';\nimport { SiSelectOptionComponent } from '../select-option/si-select-option.component';\nimport { SiSelectSelectionStrategy } from '../selection/si-select-selection-strategy';\nimport { SelectOption } from '../si-select.types';\n\n@Component({\n selector: 'si-select-input',\n imports: [\n SiAutoCollapsableListModule,\n SiIconNextComponent,\n SiSelectOptionComponent,\n SiTranslatePipe\n ],\n templateUrl: './si-select-input.component.html',\n styleUrl: './si-select-input.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n role: 'combobox',\n class: 'select focus-none dropdown-toggle d-flex align-items-center ps-4',\n 'aria-autocomplete': 'none',\n 'aria-haspopup': 'listbox',\n '[attr.aria-expanded]': 'open()',\n '[attr.aria-readonly]': 'readonly()',\n '[attr.aria-controls]': 'controls()',\n '[attr.aria-labelledby]': 'labeledBy()',\n '[attr.aria-disabled]': 'selectionStrategy.disabled()',\n '[attr.tabindex]': 'selectionStrategy.disabled() ? \"-1\" : \"0\"',\n '[class.disabled]': 'selectionStrategy.disabled()',\n '[class.active]': 'open()'\n }\n})\nexport class SiSelectInputComponent<T> {\n readonly baseId = input.required<string>();\n /**\n * Aria labelledby of the select.\n *\n * @defaultValue null\n */\n readonly labelledby = input<string | null>(null);\n /**\n * Aria label of the select.\n *\n * @defaultValue null\n */\n readonly ariaLabel = input<string | null>(null);\n /** @defaultValue false */\n readonly open = input(false, { transform: booleanAttribute });\n readonly placeholder = input<TranslatableString>();\n readonly controls = input.required<string>();\n readonly optionTemplate = input<\n TemplateRef<{\n $implicit: SelectOption<T>;\n }>\n >();\n\n /** @defaultValue false */\n readonly readonly = input(false, { transform: booleanAttribute });\n\n readonly openListbox = output<void>();\n protected readonly selectionStrategy = inject<SiSelectSelectionStrategy<T>>(\n SiSelectSelectionStrategy<T>\n );\n private readonly selectOptions = inject<SiSelectOptionsStrategy<T>>(SI_SELECT_OPTIONS_STRATEGY);\n protected readonly selectedRows = this.selectOptions.selectedRows;\n protected readonly labeledBy = computed(() => `${this.baseId()}-aria-label ${this.labelledby()}`);\n protected readonly icons = addIcons({ elementDown2 });\n\n @HostListener('blur')\n protected blur(): void {\n if (!this.open()) {\n this.selectionStrategy.onTouched();\n }\n }\n\n @HostListener('click')\n @HostListener('keydown.arrowDown', ['$event'])\n @HostListener('keydown.alt.arrowDown', ['$event'])\n @HostListener('keydown.arrowUp', ['$event'])\n @HostListener('keydown.enter')\n @HostListener('keydown.space')\n protected click(event?: Event): void {\n event?.preventDefault();\n this.openListbox.emit();\n }\n}\n","@if (ariaLabel()) {\n <span class=\"visually-hidden\" [id]=\"baseId() + '-aria-label'\">{{ ariaLabel() }}</span>\n}\n<div\n class=\"d-flex align-items-center flex-grow-1\"\n [class.overflow-hidden]=\"!selectionStrategy.allowMultiple\"\n [id]=\"baseId() + '-content'\"\n [siAutoCollapsableList]=\"selectionStrategy.allowMultiple\"\n>\n @for (activeOption of selectedRows(); track activeOption) {\n @if (activeOption) {\n <si-select-option\n siAutoCollapsableListItem\n [option]=\"activeOption\"\n [optionTemplate]=\"optionTemplate()\"\n [class.overflow-hidden]=\"!selectionStrategy.allowMultiple\"\n />\n }\n } @empty {\n <div class=\"text-secondary\">{{ placeholder() | translate }}</div>\n }\n @if (selectionStrategy.allowMultiple) {\n <div #overflowItem=\"siAutoCollapsableListOverflowItem\" siAutoCollapsableListOverflowItem>\n <div class=\"overflow-item\"> {{ overflowItem.hiddenItemCount }}+</div>\n </div>\n }\n</div>\n<si-icon-next\n class=\"dropdown-caret icon flip-rtl\"\n [class.text-muted]=\"readonly()\"\n [icon]=\"icons.elementDown2\"\n/>\n","/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nimport {\n booleanAttribute,\n ChangeDetectionStrategy,\n Component,\n input,\n TemplateRef\n} from '@angular/core';\nimport { elementOk, addIcons, SiIconNextComponent } from '@siemens/element-ng/icon';\n\nimport { SiSelectOptionComponent } from '../select-option/si-select-option.component';\nimport { SelectOption } from '../si-select.types';\n\n@Component({\n selector: 'si-select-option-row',\n imports: [SiIconNextComponent, SiSelectOptionComponent],\n templateUrl: './si-select-option-row.component.html',\n styleUrl: './si-select-option-row.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'dropdown-item focus-none pe-4 gap-4',\n '[class.disabled]': '!!this.option().disabled',\n '[attr.aria-selected]': 'selected()',\n '[attr.data-id]': 'this.option().value'\n }\n})\nexport class SiSelectOptionRowComponent {\n readonly option = input.required<SelectOption<unknown>>();\n readonly optionTemplate = input<TemplateRef<unknown>>();\n /** @defaultValue false */\n readonly selected = input(false, { transform: booleanAttribute });\n protected readonly icons = addIcons({ elementOk });\n}\n","<span\n class=\"form-check-input si-form-checkbox\"\n [class.checked]=\"selected()\"\n [class.disabled]=\"option().disabled\"\n></span>\n<si-select-option [option]=\"option()\" [optionTemplate]=\"optionTemplate()\" />\n@if (selected()) {\n <span class=\"ms-auto selected-marker\" aria-hidden=\"true\">\n <si-icon-next class=\"d-block icon\" [icon]=\"icons.elementOk\" />\n </span>\n}\n","/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nimport { Directive } from '@angular/core';\n\nimport { SelectGroup } from './si-select.types';\n\n/**\n * The directive allows to template/customize the group option rendering.\n * This requires using the {@link SiSelectComplexOptionsDirective} to specify complex options as input.\n *\n * @example\n * ```html\n * <si-select [complexOptions]=\"{ g1: ['g1.i1', 'g1.i2'], g2: ['g2.i1'] }\" >\n * <ng-template siSelectGroupTemplate let-group>{{ group.key | uppercase }}</ng-template>\n * </si-select>\n * ```\n */\n@Directive({\n selector: '[siSelectGroupTemplate]'\n})\nexport class SiSelectGroupTemplateDirective {\n static ngTemplateContextGuard<T = any>(\n directive: SiSelectGroupTemplateDirective,\n context: unknown\n ): context is { $implicit: SelectGroup<T> } {\n return true;\n }\n}\n","/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nimport { Directive } from '@angular/core';\n\nimport { SelectOption } from './si-select.types';\n\n@Directive({\n selector: '[siSelectOptionRowTemplate]'\n})\nexport class SiSelectOptionRowTemplateDirective {\n static ngTemplateContextGuard<T = any>(\n directive: SiSelectOptionRowTemplateDirective,\n context: unknown\n ): context is { $implicit: SelectOption<T> } {\n return true;\n }\n}\n","/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nimport { ConfigurableFocusTrap, ConfigurableFocusTrapFactory } from '@angular/cdk/a11y';\nimport {\n Directive,\n ElementRef,\n HostBinding,\n HostListener,\n inject,\n input,\n OnDestroy,\n OnInit,\n output,\n TemplateRef\n} from '@angular/core';\n\nimport {\n SI_SELECT_OPTIONS_STRATEGY,\n SiSelectOptionsStrategy\n} from '../options/si-select-options-strategy';\nimport { SiSelectSelectionStrategy } from '../selection/si-select-selection-strategy';\nimport { SelectGroup, SelectOption } from '../si-select.types';\n\n@Directive({\n host: {\n class: 'dropdown-menu position-static w-100 py-4 d-flex flex-column'\n }\n})\nexport abstract class SiSelectListBase<T> implements OnInit, OnDestroy {\n readonly baseId = input.required<string>();\n readonly optionTemplate = input<\n TemplateRef<{\n $implicit: SelectOption<T>;\n }>\n >();\n readonly groupTemplate = input<\n TemplateRef<{\n $implicit: SelectGroup<T>;\n }>\n >();\n /** @defaultValue null */\n readonly labelledby = input<string | null>(null);\n readonly actionsTemplate = input<TemplateRef<any>>();\n\n readonly closeOverlay = output<void>();\n\n protected readonly selectionStrategy =\n inject<SiSelectSelectionStrategy<T>>(SiSelectSelectionStrategy);\n protected readonly selectOptions = inject<SiSelectOptionsStrategy<T>>(SI_SELECT_OPTIONS_STRATEGY);\n protected readonly focusTrapFactory = inject(ConfigurableFocusTrapFactory);\n protected readonly elementRef = inject(ElementRef);\n protected rows = this.selectOptions.rows;\n protected focusTrap!: ConfigurableFocusTrap;\n\n @HostBinding('class.si-multi-select')\n protected multiSelect = this.selectionStrategy.allowMultiple;\n\n ngOnInit(): void {\n this.focusTrap = this.focusTrapFactory.create(this.elementRef.nativeElement);\n }\n\n ngOnDestroy(): void {\n this.focusTrap.destroy();\n }\n\n @HostListener('keydown.tab')\n protected keydownTab(): void {\n // Ignore tab key if actions are displayed.\n if (!this.actionsTemplate()) {\n this.closeOverlayAlways();\n }\n }\n\n protected closeOverlayAlways(): void {\n this.closeOverlay.emit();\n }\n\n protected closeOverlayIfSingle(): void {\n if (!this.selectionStrategy.allowMultiple) {\n this.closeOverlayAlways();\n }\n }\n}\n","/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nimport { NgTemplateOutlet } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n computed,\n ElementRef,\n input,\n OnInit,\n Signal,\n signal,\n viewChild\n} from '@angular/core';\nimport { SiAutocompleteDirective, SiAutocompleteModule } from '@siemens/element-ng/autocomplete';\nimport { addIcons, elementSearch, SiIconNextComponent } from '@siemens/element-ng/icon';\nimport { SiLoadingSpinnerComponent } from '@siemens/element-ng/loading-spinner';\nimport { SiTranslatePipe, TranslatableString } from '@siemens/element-translate-ng/translate';\n\nimport { SiSelectOptionRowComponent } from '../select-option/si-select-option-row.component';\nimport { SiSelectGroupTemplateDirective } from '../si-select-group-template.directive';\nimport { SiSelectOptionRowTemplateDirective } from '../si-select-option-row-template.directive';\nimport { SiSelectListBase } from './si-select-list.base';\n\n@Component({\n selector: 'si-select-list-has-filter',\n imports: [\n NgTemplateOutlet,\n SiAutocompleteDirective,\n SiIconNextComponent,\n SiSelectGroupTemplateDirective,\n SiSelectOptionRowComponent,\n SiSelectOptionRowTemplateDirective,\n SiTranslatePipe,\n SiAutocompleteModule,\n SiLoadingSpinnerComponent\n ],\n templateUrl: './si-select-list-has-filter.component.html',\n styleUrl: './si-select-list-has-filter.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'pt-0',\n '[attr.id]': 'id()'\n }\n})\nexport class SiSelectListHasFilterComponent<T> extends SiSelectListBase<T> implements OnInit {\n /** Placeholder for search input field. */\n readonly filterPlaceholder = input.required<TranslatableString>();\n /** Label if no item can be found. */\n readonly noResultsFoundLabel = input.required<TranslatableString>();\n\n protected readonly filterInput = viewChild.required<ElementRef<HTMLInputElement>>('filter');\n protected readonly initIndex: Signal<number>;\n protected readonly id = computed(() => `${this.baseId()}-listbox`);\n protected readonly icons = addIcons({ elementSearch });\n\n constructor() {\n super();\n if (!this.selectOptions.onFilter) {\n console.error('Missing implementation for `onFilter`');\n }\n const firstValue = this.selectionStrategy.arrayValue()[0];\n if (firstValue) {\n this.initIndex = computed(() =>\n this.rows().findIndex(row => row.type === 'option' && row.value === firstValue)\n );\n } else {\n this.initIndex = signal(0);\n }\n }\n\n override ngOnInit(): void {\n super.ngOnInit();\n this.selectOptions.onFilter!();\n setTimeout(() => this.filterInput().nativeElement.focus());\n }\n\n protected input(): void {\n this.selectOptions.onFilter!(this.filterInput().nativeElement.value);\n }\n\n protected select(newValue: T): void {\n if (this.selectionStrategy.allowMultiple) {\n if (this.selectionStrategy.arrayValue().includes(newValue)) {\n this.selectionStrategy.updateFromUser(\n this.selectionStrategy.arrayValue().filter(value => value !== newValue)\n );\n } else {\n this.selectionStrategy.updateFromUser([...this.selectionStrategy.arrayValue(), newValue]);\n }\n } else {\n this.selectionStrategy.updateFromUser([newValue]);\n }\n this.closeOverlayIfSingle();\n }\n}\n","<div class=\"pt-5 pb-5 px-5 top-0\">\n <div class=\"position-relative\">\n <input\n #filter\n #siAutocomplete=\"siAutocomplete\"\n siAutocomplete\n class=\"form-control ps-9 border-0 rounded-2 bg-base-0\"\n [placeholder]=\"filterPlaceholder() | translate\"\n [id]=\"baseId() + 'filter-input'\"\n [attr.aria-labelledby]=\"baseId() + '-aria-label' + ' ' + labelledby()\"\n (input)=\"input()\"\n />\n <si-icon-next\n class=\"icon text-secondary position-absolute top-0 bottom-0 d-flex align-items-center ps-2\"\n [icon]=\"icons.elementSearch\"\n />\n @if (selectOptions.loading?.()) {\n <si-loading-spinner class=\"position-absolute end-0 bottom-0 d-flex align-items-center p-2\" />\n }\n </div>\n</div>\n<div\n class=\"si-select-filtered-items\"\n tabindex=\"-1\"\n [siAutocompleteListboxFor]=\"siAutocomplete\"\n [siAutocompleteDefaultIndex]=\"initIndex()\"\n [attr.aria-labelledby]=\"baseId() + '-aria-label' + ' ' + labelledby()\"\n (siAutocompleteOptionSubmitted)=\"select($event)\"\n>\n @for (item of rows(); track item; let index = $index) {\n @if (item.type === 'group') {\n <div\n role=\"group\"\n class=\"ps-0\"\n aria-disabled=\"false\"\n [attr.aria-labelledby]=\"baseId() + '-' + index + '-group-header'\"\n >\n <div class=\"dropdown-header\" [id]=\"baseId() + '-' + index + '-group-header'\">\n <ng-container\n [ngTemplateOutlet]=\"groupTemplate() ?? defaultGroupTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: item }\"\n />\n </div>\n @for (optionRow of item.options; track optionRow) {\n <ng-container\n [ngTemplateOutlet]=\"optionRowTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: optionRow }\"\n />\n }\n </div>\n }\n @if (item.type === 'option') {\n <ng-container\n [ngTemplateOutlet]=\"optionRowTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: item }\"\n />\n }\n } @empty {\n <div\n role=\"option\"\n aria-disabled=\"true\"\n aria-selected=\"false\"\n class=\"dropdown-item disabled text-secondary justify-content-center mb-2\"\n >\n <span>{{ noResultsFoundLabel() | translate }}</span>\n </div>\n }\n\n <ng-template #optionRowTemplate let-option siSelectOptionRowTemplate>\n <si-select-option-row\n [option]=\"option\"\n [optionTemplate]=\"optionTemplate()\"\n [siAutocompleteOption]=\"option.value\"\n [disabled]=\"option.disabled\"\n [selected]=\"selectionStrategy.arrayValue().includes(option.value)\"\n />\n </ng-template>\n</div>\n@if (actionsTemplate()) {\n <div class=\"dropdown-divider\"></div>\n <div class=\"d-flex flex-column align-items-start\">\n <ng-container\n [ngTemplateOutlet]=\"actionsTemplate()!\"\n [ngTemplateOutletContext]=\"{\n searchText: filter.value,\n visibleOptionsCount: rows().length\n }\"\n />\n </div>\n}\n\n<ng-template #defaultGroupTemplate let-group siSelectGroupTemplate>\n {{ group.label | translate }}\n</ng-template>\n","/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nimport { CdkListbox, CdkOption, ListboxValueChangeEvent } from '@angular/cdk/listbox';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, ElementRef, OnInit, viewChild } from '@angular/core';\nimport { SiTranslatePipe } from '@siemens/element-translate-ng/translate';\n\nimport { SiSelectOptionRowComponent } from '../select-option/si-select-option-row.component';\nimport { SiSelectGroupTemplateDirective } from '../si-select-group-template.directive';\nimport { SiSelectOptionRowTemplateDirective } from '../si-select-option-row-template.directive';\nimport { SiSelectListBase } from './si-select-list.base';\n\n@Component({\n selector: 'si-select-list',\n imports: [\n CommonModule,\n CdkListbox,\n SiTranslatePipe,\n CdkOption,\n SiSelectOptionRowTemplateDirective,\n SiSelectGroupTemplateDirective,\n SiSelectOptionRowComponent\n ],\n templateUrl: './si-select-list.component.html',\n styleUrl: './si-select-list.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class SiSelectListComponent<T> extends SiSelectListBase<T> implements OnInit {\n private readonly listbox = viewChild.required<CdkListbox, ElementRef<HTMLUListElement>>(\n CdkListbox,\n {\n read: ElementRef\n }\n );\n\n override ngOnInit(): void {\n super.ngOnInit();\n setTimeout(() => this.listbox().nativeElement.focus());\n }\n\n protected listBoxValueChange(changeEvent: ListboxValueChangeEvent<T>): void {\n this.selectionStrategy.updateFromUser(changeEvent.value.slice());\n }\n}\n","<div\n cdkListbox\n class=\"si-select-filtered-items focus-none\"\n [id]=\"baseId() + '-listbox'\"\n [cdkListboxMultiple]=\"selectionStrategy.allowMultiple\"\n [cdkListboxValue]=\"selectionStrategy.arrayValue()\"\n [attr.aria-labelledby]=\"baseId() + '-aria-label' + ' ' + labelledby()\"\n (cdkListboxValueChange)=\"listBoxValueChange($event)\"\n (click)=\"closeOverlayIfSingle()\"\n (keydown.enter)=\"closeOverlayIfSingle()\"\n (keydown.space)=\"closeOverlayIfSingle()\"\n>\n @for (item of rows(); track item; let index = $index) {\n @if (item.type === 'group') {\n <div\n role=\"group\"\n class=\"ps-0\"\n aria-disabled=\"false\"\n [attr.aria-labelledby]=\"baseId() + '-' + index + '-group-header'\"\n >\n <span class=\"dropdown-header\" [id]=\"baseId() + '-' + index + '-group-header'\">\n <ng-container\n [ngTemplateOutlet]=\"groupTemplate() ?? defaultGroupTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: item }\"\n />\n </span>\n @for (optionRow of item.options; track optionRow) {\n <ng-container\n [ngTemplateOutlet]=\"optionRowTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: optionRow }\"\n />\n }\n </div>\n }\n @if (item.type === 'option') {\n <ng-container\n [ngTemplateOutlet]=\"optionRowTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: item }\"\n />\n }\n }\n <ng-template #optionRowTemplate let-option siSelectOptionRowTemplate>\n <si-select-option-row\n #cdkOption=\"cdkOption\"\n [option]=\"option\"\n [optionTemplate]=\"optionTemplate()\"\n [cdkOption]=\"option.value\"\n [cdkOptionDisabled]=\"!!option.disabled\"\n [cdkOptionTypeaheadLabel]=\"(option.typeaheadLabel | translate)!\"\n [class.active]=\"cdkOption.isActive()\"\n [selected]=\"cdkOption.isSelected()\"\n />\n </ng-template>\n</div>\n@if (actionsTemplate()) {\n <div class=\"dropdown-divider\"></div>\n <div class=\"d-flex flex-column align-items-start\">\n <ng-container [ngTemplateOutlet]=\"actionsTemplate()!\" />\n </div>\n}\n\n<ng-template #defaultGroupTemplate let-group siSelectGroupTemplate>\n {{ group.label | translate }}\n</ng-template>\n","/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nimport { Directive } from '@angular/core';\n\n@Directive({\n selector: '[siSelectActions]',\n exportAs: 'si-select-actions'\n})\nexport class SiSelectActionsDirective {}\n","/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nimport { CdkOverlayOrigin, OverlayModule } from '@angular/cdk/overlay';\nimport {\n AfterContentInit,\n booleanAttribute,\n ChangeDetectionStrategy,\n Component,\n computed,\n contentChild,\n ElementRef,\n inject,\n input,\n OnChanges,\n output,\n signal,\n SimpleChanges,\n TemplateRef,\n viewChild\n} from '@angular/core';\nimport { SI_FORM_ITEM_CONTROL, SiFormItemControl } from '@siemens/element-ng/form';\nimport { t, TranslatableString } from '@siemens/element-translate-ng/translate';\n\nimport { SiSelectComplexOptionsDirective } from './options/si-select-complex-options.directive';\nimport { SI_SELECT_OPTIONS_STRATEGY } from './options/si-select-options-strategy';\nimport { SiSelectInputComponent } from './select-input/si-select-input.component';\nimport { SiSelectListHasFilterComponent } from './select-list/si-select-list-has-filter.component';\nimport { SiSelectListComponent } from './select-list/si-select-list.component';\nimport { SiSelectSelectionStrategy } from './selection/si-select-selection-strategy';\nimport { SiSelectActionsDirective } from './si-select-actions.directive';\nimport { SiSelectGroupTemplateDirective } from './si-select-group-template.directive';\nimport { SiSelectOptionTemplateDirective } from './si-select-option-template.directive';\nimport { SelectGroup, SelectItem, SelectOption } from './si-select.types';\n\n@Component({\n selector: 'si-select',\n imports: [\n OverlayModule,\n SiSelectInputComponent,\n SiSelectListComponent,\n SiSelectListHasFilterComponent\n ],\n templateUrl: './si-select.component.html',\n styleUrl: './si-select.component.scss',\n providers: [{ provide: SI_FORM_ITEM_CONTROL, useExisting: SiSelectComponent }],\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'dropdown',\n '[class.readonly]': 'readonly()',\n '[class.open]': 'isOpen()',\n '[class.si-select-has-filter]': 'hasFilter()'\n }\n})\nexport class SiSelectComponent<T> implements OnChanges, AfterContentInit, SiFormItemControl {\n private static idCounter = 0;\n /**\n * Unique identifier.\n *\n * @defaultValue\n * ```\n * `__si-select-${SiSelectComponent.idCounter++}`\n * ```\n */\n readonly id = input(`__si-select-${SiSelectComponent.idCounter++}`);\n /**\n * Aria label of the select.\n *\n * @defaultValue null\n */\n readonly ariaLabel = input<string | null>(null);\n /**\n * Aria labelledby of the select.\n * @defaultValue undefined\n */\n // eslint-disable-next-line @angular-eslint/no-input-rename\n readonly labelledbyInput = input<string | undefined>(undefined, { alias: 'labelledby' });\n /**\n * Placeholder for search input field.\n *\n * @defaultValue\n * ```\n * t(() => $localize`:@@SI_SELECT.SEARCH-PLACEHOLDER:Search...`)\n * ```\n */\n readonly filterPlaceholder = input(t(() => $localize`:@@SI_SELECT.SEARCH-PLACEHOLDER:Search...`));\n /**\n * Label if no item can be found.\n *\n * @defaultValue\n * ```\n * t(() => $localize`:@@SI_SELECT.NO-RESULTS-FOUND:No results found`)\n * ```\n */\n readonly noResultsFoundLabel = input(\n t(() => $localize`:@@SI_SELECT.NO-RESULTS-FOUND:No results found`)\n );\n /** Placeholder text to display when no options are selected. */\n readonly placeholder = input<TranslatableString>();\n /**\n * Readonly state. Similar to disabled but with higher contrast *\n *\n * @defaultValue false\n */\n readonly readonly = input(false, { transform: booleanAttribute });\n\n /**\n * Emits on selection dropdown close.\n * @deprecated Use {@link openChange} instead.\n */\n readonly dropdownClose = output<void>();\n /** Emits when the dropdown open state changes. */\n readonly openChange = output<boolean>();\n\n protected readonly isOpen = signal(false);\n\n protected readonly optionTemplate = contentChild<\n SiSelectOptionTemplateDirective,\n TemplateRef<{ $implicit: SelectOption<T> }>\n >(SiSelectOptionTemplateDirective, { read: TemplateRef });\n\n protected readonly groupTemplate = contentChild<\n SiSelectGroupTemplateDirective,\n TemplateRef<{ $implicit: SelectGroup<T> }>\n >(SiSelectGroupTemplateDirective, { read: TemplateRef });\n\n protected readonly actionsTemplate = contentChild<SiSelectActionsDirective, TemplateRef<any>>(\n SiSelectActionsDirective,\n { read: TemplateRef }\n );\n\n private readonly trigger = viewChild.required<CdkOverlayOrigin, ElementRef<HTMLDivElement>>(\n CdkOverlayOrigin,\n {\n read: ElementRef\n }\n );\n\n /** @internal */\n readonly labelledby = computed(() => this.labelledbyInput() ?? this.id() + '-label');\n /** @internal */\n readonly errormessageId = `${this.id()}-errormessage`;\n\n protected rows: readonly SelectItem<T>[] = [];\n protected overlayWidth = 0;\n protected readonly selectionStrategy = inject(SiSelectSelectionStrategy<T>);\n\n private backdropClicked = false;\n private readonly selectOptions = inject(SI_SELECT_OPTIONS_STRATEGY);\n\n /**\n * Enables the filter input\n * @defaultValue false\n * @defaultref {@link SiSelectComponent#_hasFilter}\n */\n readonly hasFilter = input(false, { transform: booleanAttribute });\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes.hasFilter && this.hasFilter()) {\n this.verifyValueProvider();\n }\n }\n\n ngAfterContentInit(): void {\n this.verifyValueProvider();\n }\n\n /** Opens the `si-select`. */\n open(): void {\n if (this.readonly() || this.selectionStrategy.disabled()) {\n return;\n }\n this.overlayWidth = this.trigger().nativeElement.getBoundingClientRect().width + 2; // 2px border\n this.isOpen.set(true);\n this.openChange.emit(true);\n }\n\n /** Closes the `si-select`. */\n close(): void {\n this.isOpen.set(false);\n if (!this.backdropClicked) {\n this.trigger().nativeElement.focus();\n } else {\n this.backdropClicked = false;\n this.selectionStrategy.onTouched();\n }\n this.dropdownClose.emit();\n this.openChange.emit(false);\n }\n\n protected backdropClick(): void {\n this.backdropClicked = true;\n this.isOpen.set(false);\n }\n\n private verifyValueProvider(): void {\n if (\n this.hasFilter() &&\n this.optionTemplate() &&\n this.selectOptions instanceof SiSelectComplexOptionsDirective &&\n !this.selectOptions.valueProvider()\n ) {\n console.error(\n 'A valueProvider is required when [hasFilter]=\"true\" and having custom option template on si-select'\n );\n }\n }\n}\n","<si-select-input\n #trigger=\"cdkOverlayOrigin\"\n cdkOverlayOrigin\n [baseId]=\"id()\"\n [labelledby]=\"labelledby()\"\n [optionTemplate]=\"optionTemplate()\"\n [ariaLabel]=\"ariaLabel()\"\n [controls]=\"id() + '-listbox'\"\n [open]=\"isOpen()\"\n [placeholder]=\"placeholder()\"\n [readonly]=\"readonly()\"\n [attr.aria-describedby]=\"errormessageId\"\n (openListbox)=\"open()\"\n/>\n\n<ng-template\n cdkConnectedOverlay\n cdkConnectedOverlayBackdropClass=\"cdk-overlay-transparent-backdrop\"\n [cdkConnectedOverlayHasBackdrop]=\"true\"\n [cdkConnectedOverlayOrigin]=\"trigger\"\n [cdkConnectedOverlayOpen]=\"isOpen()\"\n [cdkConnectedOverlayFlexibleDimensions]=\"true\"\n [cdkConnectedOverlayOffsetX]=\"-1\"\n [cdkConnectedOverlayMinWidth]=\"overlayWidth\"\n (backdropClick)=\"backdropClick()\"\n (detach)=\"close()\"\n>\n @if (!hasFilter()) {\n <si-select-list\n [baseId]=\"id()\"\n [optionTemplate]=\"optionTemplate()\"\n [groupTemplate]=\"groupTemplate()\"\n [labelledby]=\"labelledby()\"\n [actionsTemplate]=\"actionsTemplate()\"\n (closeOverlay)=\"close()\"\n />\n } @else {\n <si-select-list-has-filter\n [baseId]=\"id()\"\n [filterPlaceholder]=\"filterPlaceholder()\"\n [noResultsFoundLabel]=\"noResultsFoundLabel()\"\n [optionTemplate]=\"optionTemplate()\"\n [groupTemplate]=\"groupTemplate()\"\n [labelledby]=\"labelledby()\"\n [actionsTemplate]=\"actionsTemplate()\"\n (closeOverlay)=\"close()\"\n />\n }\n</ng-template>\n","/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nimport { Directive, input, OnDestroy, signal } from '@angular/core';\nimport { of, Subject, switchMap } from 'rxjs';\nimport { debounceTime, takeUntil } from 'rxjs/operators';\n\nimport { SelectItem, SelectOption } from '../si-select.types';\nimport { SelectOptionSource } from './si-select-option.source';\nimport { SI_SELECT_OPTIONS_STRATEGY, SiSelectOptionsStrategy } from './si-select-options-strategy';\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: 'si-select[optionSource]',\n providers: [{ provide: SI_SELECT_OPTIONS_STRATEGY, useExisting: SiSelectLazyOptionsDirective }]\n})\nexport class SiSelectLazyOptionsDirective<T> implements SiSelectOptionsStrategy<T>, OnDestroy {\n /**\n * {@inheritDoc SiSelectOptionsStrategy#loading}\n * @defaultValue false\n */\n readonly loading = signal(false);\n\n /**\n * {@inheritDoc SiSelectOptionsStrategy#rows}\n * @defaultValue []\n */\n readonly rows = signal<SelectItem<T>[]>([]);\n\n /**\n * {@inheritDoc SiSelectOptionsStrategy#selectedRows}\n * @defaultValue []\n */\n readonly selectedRows = signal<SelectOption<T>[]>([]);\n\n readonly optionSource = input.required<SelectOptionSource<T>>();\n\n private valueChange = new Subject<void>();\n private filterChange = new Subject<string | undefined>();\n\n constructor() {\n this.filterChange\n .pipe(\n debounceTime(100),\n switchMap(filterInput => {\n if (filterInput) {\n return this.optionSource().getOptionsForSearch!(filterInput);\n } else {\n const optionSource = this.optionSource();\n if (optionSource.getAllOptions) {\n return optionSource.getAllOptions();\n } else {\n return of(this.selectedRows());\n }\n }\n })\n )\n .subscribe(rows => {\n this.loading.set(false);\n this.rows.set(rows);\n });\n }\n\n ngOnDestroy(): void {\n this.valueChange.next();\n this.valueChange.complete();\n this.filterChange.complete();\n }\n\n /** {@inheritDoc SiSelectOptionsStrategy.onValueChange} */\n onValueChange(value: T[]): void {\n this.valueChange.next();\n\n // To prevent flickering, we need to check if we already got all the requested options.\n // This should always be the case if the user selects one\n const knownSelectedOptions = value\n .map(\n valueEntry =>\n this.selectedRows().find(selected => this.valueEqual(selected.value, valueEntry)) ??\n (this.rows().find(\n selected => selected.type === 'option' && this.valueEqual(selected.value, valueEntry)\n ) as SelectOption<T>)\n )\n .filter(v => !!v);\n\n const optionSource = this.optionSource();\n if (knownSelectedOptions.length === value.length) {\n if (optionSource.compareOptions) {\n knownSelectedOptions.sort(optionSource.compareOptions);\n }\n this.selectedRows.set(knownSelectedOptions);\n } else {\n // We don't have all options, so we need to fetch them.\n optionSource\n .getOptionsForValues(value)\n .pipe(takeUntil(this.valueChange))\n .subscribe(selectedOptions => this.selectedRows.set(selectedOptions));\n }\n }\n\n /** {@inheritDoc SiSelectOptionsStrategy.onFilter} */\n onFilter(filterInput?: string): void {\n this.filterChange.next(filterInput);\n this.loading.set(true);\n }\n\n private valueEqual(a?: T, b?: T): boolean {\n if (a === b) {\n return true;\n }\n if (!a || !b) {\n return false;\n }\n\n const optionSource = this.optionSource();\n if (optionSource.valuesEqual) {\n return optionSource.valuesEqual(a, b);\n }\n\n return false;\n }\n}\n","/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nimport { computed, Directive, input, OnChanges } from '@angular/core';\n\nimport { SelectItem, SelectOption, SelectOptionLegacy } from '../si-select.types';\nimport { SI_SELECT_OPTIONS_STRATEGY } from './si-select-options-strategy';\nimport { SiSelectOptionsStrategyBase } from './si-select-options-strategy.base';\n\n/**\n * This directive allows passing {@link SelectItem} to the {@link SiSelectComponent}.\n *\n * @example\n * ```html\n * <si-select [options]=\"[{ type: 'option', value: 'one', label: 'One' }, { type: 'option', value: 'two', label: 'Two' }]\"></si-select>\n * <si-select [options]=\"[{ type: 'group', label: 'Group', options [{ type: 'option', value: 1, label: 'One' }, { type: 'option', value: 2, label: 'Two' }] }]\"></si-select>\n * ```\n */\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: 'si-select[options]',\n providers: [{ provide: SI_SELECT_OPTIONS_STRATEGY, useExisting: SiSelectSimpleOptionsDirective }]\n})\nexport class SiSelectSimpleOptionsDirective<T = string>\n extends SiSelectOptionsStrategyBase<T>\n implements OnChanges\n{\n /** Options to be shown in select dropdown */\n readonly options = input<(SelectOptionLegacy | SelectItem<T>)[] | null>();\n\n /**\n * By default, values are check on referential equality. Provide a function to customize the behavior.\n *\n * @defaultValue\n * ```\n * (a: T, b: T): boolean => a === b\n * ```\n */\n override readonly optionsEqual = input((a: T, b: T): boolean => a === b, {\n // eslint-disable-next-line @angular-eslint/no-input-rename\n alias: 'optionEqualCheckFn'\n });\n\n override readonly allRows = computed(() => {\n const options = this.options();\n if (options) {\n return options?.map(option =>\n option.type\n ? option\n : ({\n type: 'option',\n value: option.id as T,\n label: option.title,\n iconColor: option.color,\n icon: option.icon,\n disabled: option.disabled\n } as SelectOption<T>)\n );\n } else {\n return [];\n }\n });\n\n ngOnChanges(): void {\n this.onFilter();\n }\n}\n","/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nimport { Directive } from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\n\nimport { SiSelectSelectionStrategy } from './si-select-selection-strategy';\n\n/**\n * The directive enables the single-select behavior.\n * Otherwise, use the {@link SiSelectMultiValueDirective} directive.\n *\n * @example\n * ```html\n * <si-select [(value)]=\"selectedValue\" [options]=\"[\n * { id: 'good', title: 'Good' },\n * { id: 'average', title: 'Average' },\n * { id: 'poor', title: 'Poor' }\n * ]\"></si-select>\n * ```\n */\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: 'si-select:not([multi])',\n providers: [\n { provide: SiSelectSelectionStrategy, useExisting: SiSelectSingleValueDirective },\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: SiSelectSingleValueDirective,\n multi: true\n }\n ]\n})\nexport class SiSelectSingleValueDirective<T> extends SiSelectSelectionStrategy<T, T> {\n /**\n * {@inheritDoc SiSelectSelectionStrategy#allowMultiple}\n * @defaultValue false\n */\n override allowMultiple = false;\n\n protected toArrayValue(value: T | undefined): readonly T[] {\n return value !== undefined ? [value] : [];\n }\n\n protected fromArrayValue([value]: readonly T[]): T {\n return value;\n }\n}\n","/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nimport { Directive } from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\n\nimport { SiSelectSelectionStrategy } from './si-select-selection-strategy';\n\n/**\n * The directive enables the multi-select behavior.\n * Otherwise, use the {@link SiSelectSingleValueDirective} directive.\n *\n * @example\n * ```html\n * <si-select multi [(value)]=\"multiValue\" [options]=\"[\n * { id: 'good', title: 'Good' },\n * { id: 'average', title: 'Average' },\n * { id: 'poor', title: 'Poor' }\n * ]\"></si-select>\n * ```\n */\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: 'si-select[multi]',\n providers: [\n { provide: SiSelectSelectionStrategy, useExisting: SiSelectMultiValueDirective },\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: SiSelectMultiValueDirective,\n multi: true\n }\n ]\n})\nexport class SiSelectMultiValueDirective<T> extends SiSelectSelectionStrategy<T, T[]> {\n /**\n * {@inheritDoc SiSelectSelectionStrategy#allowMultiple}\n * @defaultValue true\n */\n override readonly allowMultiple = true;\n\n protected fromArrayValue(value: T[]): T[] {\n return value;\n }\n\n protected toArrayValue(value: T[] | undefined): T[] {\n return value ?? [];\n }\n}\n","/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nimport { booleanAttribute, Directive, HostListener, inject, input } from '@angular/core';\n\nimport { SiSelectComponent } from './si-select.component';\n\n@Directive({\n selector: '[siSelectAction]',\n host: {\n class: 'mx-5 my-4'\n },\n exportAs: 'si-select-action'\n})\nexport class SiSelectActionDirective {\n private readonly select = inject(SiSelectComponent);\n /**\n * Close the select drop down on click.\n * @defaultValue false\n */\n readonly selectActionAutoClose = input(false, { transform: booleanAttribute });\n\n @HostListener('click')\n protected close(): void {\n if (this.selectActionAutoClose()) {\n this.select.close();\n }\n }\n}\n","/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nimport { NgModule } from '@angular/core';\n\nimport { SiSelectComplexOptionsDirective } from './options/si-select-complex-options.directive';\nimport { SiSelectSimpleOptionsDirective } from './options/si-select-simple-options.directive';\nimport { SiSelectMultiValueDirective } from './selection/si-select-multi-value.directive';\nimport { SiSelectSingleValueDirective } from './selection/si-select-single-value.directive';\nimport { SiSelectActionDirective } from './si-select-action.directive';\nimport { SiSelectActionsDirective } from './si-select-actions.directive';\nimport { SiSelectGroupTemplateDirective } from './si-select-group-template.directive';\nimport { SiSelectOptionTemplateDirective } from './si-select-option-template.directive';\nimport { SiSelectComponent } from './si-select.component';\n\n@NgModule({\n imports: [\n SiSelectActionDirective,\n SiSelectActionsDirective,\n SiSelectComplexOptionsDirective,\n SiSelectComponent,\n SiSelectGroupTemplateDirective,\n SiSelectMultiValueDirective,\n SiSelectOptionTemplateDirective,\n SiSelectSimpleOptionsDirective,\n SiSelectSingleValueDirective\n ],\n exports: [\n SiSelectActionDirective,\n SiSelectActionsDirective,\n SiSelectComplexOptionsDirective,\n SiSelectComponent,\n SiSelectGroupTemplateDirective,\n SiSelectMultiValueDirective,\n SiSelectOptionTemplateDirective,\n SiSelectSimpleOptionsDirective,\n SiSelectSingleValueDirective\n ]\n})\nexport class SiSelectModule {}\n","/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nexport * from './si-select.component';\nexport * from './options/si-select-lazy-options.directive';\nexport * from './options/si-select-simple-options.directive';\nexport * from './options/si-select-complex-options.directive';\nexport * from './options/si-select-option.source';\nexport * from './selection/si-select-single-value.directive';\nexport * from './selection/si-select-multi-value.directive';\nexport * from './si-select-option-template.directive';\nexport * from './si-select-group-template.directive';\nexport * from './si-select.module';\nexport * from './select-list/si-select-list-has-filter.component';\nexport * from './si-select-action.directive';\nexport * from './si-select-actions.directive';\nexport * from './si-select.types';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1"],"mappings":"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"}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { OverlayContainer, Overlay } from '@angular/cdk/overlay';
|
|
2
|
-
import { DOCUMENT } from '@angular/common';
|
|
3
2
|
import * as i0 from '@angular/core';
|
|
4
|
-
import { inject, ElementRef, Directive } from '@angular/core';
|
|
3
|
+
import { inject, ElementRef, DOCUMENT, Directive } from '@angular/core';
|
|
5
4
|
|
|
6
5
|
/**
|
|
7
6
|
* Copyright (c) Siemens 2016 - 2025
|
|
@@ -46,10 +45,10 @@ class SiShadowRootDirective extends OverlayContainer {
|
|
|
46
45
|
shadow.append(...Array.from(this.elementRef.nativeElement.shadowRoot.styleSheets).map(styleSheet => styleSheet.ownerNode.cloneNode(true)), shadowElement);
|
|
47
46
|
this._containerElement = shadowElement;
|
|
48
47
|
}
|
|
49
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
50
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "
|
|
48
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: SiShadowRootDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
|
|
49
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.0.6", type: SiShadowRootDirective, isStandalone: true, selector: "[siShadowRoot]", providers: [{ provide: OverlayContainer, useExisting: SiShadowRootDirective }, Overlay], usesInheritance: true, ngImport: i0 });
|
|
51
50
|
}
|
|
52
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
51
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: SiShadowRootDirective, decorators: [{
|
|
53
52
|
type: Directive,
|
|
54
53
|
args: [{
|
|
55
54
|
selector: '[siShadowRoot]',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"siemens-element-ng-shadow-root.mjs","sources":["../../../../projects/element-ng/shadow-root/si-shadow-root.directive.ts","../../../../projects/element-ng/shadow-root/index.ts","../../../../projects/element-ng/shadow-root/siemens-element-ng-shadow-root.ts"],"sourcesContent":["/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nimport { Overlay, OverlayContainer } from '@angular/cdk/overlay';\nimport {
|
|
1
|
+
{"version":3,"file":"siemens-element-ng-shadow-root.mjs","sources":["../../../../projects/element-ng/shadow-root/si-shadow-root.directive.ts","../../../../projects/element-ng/shadow-root/index.ts","../../../../projects/element-ng/shadow-root/siemens-element-ng-shadow-root.ts"],"sourcesContent":["/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nimport { Overlay, OverlayContainer } from '@angular/cdk/overlay';\nimport { Directive, ElementRef, inject, DOCUMENT } from '@angular/core';\n\n/**\n * This directive is intended to be used in applications that do NOT load element styles in the root HTML element.\n * So typically module federation, single SPA apps or apps that bootstrap element manually in a shadow root.\n *\n * This directive will ensure that overlays created within this shadow root will have the correct styles applied.\n * It does this by creating a new shadow root in the document body\n * and copying the styles from this shadow root to new one.\n *\n * With that approach, we can ensure that overlay can span the entire screen without being limited to the current shadow root.\n *\n * To use this directive, add it to the component / element which creates the shadow root which holds the element styles.\n *\n * @example\n * ```ts\n * @Component({\n * selector: 'app-root',\n * encapsulation: ViewEncapsulation.ShadowDom,\n * hostDirectives: [SiShadowRootDirective],\n * stylesUrls: ['element-styles.scss'],\n * template: `<si-element-component />`\n * })\n * export class AppComponent { }\n *\n * ```\n *\n */\n@Directive({\n selector: '[siShadowRoot]',\n providers: [{ provide: OverlayContainer, useExisting: SiShadowRootDirective }, Overlay]\n})\nexport class SiShadowRootDirective extends OverlayContainer {\n private elementRef = inject<ElementRef<HTMLElement>>(ElementRef);\n private document = inject(DOCUMENT);\n\n // eslint-disable-next-line @typescript-eslint/naming-convention\n protected override _createContainer(): void {\n const root = document.createElement('element-overlay-root');\n this.document.body.append(root);\n const shadow = root.attachShadow({ mode: 'open' });\n const shadowElement = document.createElement('div');\n shadowElement.classList.add('cdk-overlay-container');\n shadow.append(\n ...Array.from(this.elementRef.nativeElement.shadowRoot!.styleSheets).map(styleSheet =>\n styleSheet.ownerNode!.cloneNode(true)\n ),\n shadowElement\n );\n\n this._containerElement = shadowElement;\n }\n}\n","/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nexport * from './si-shadow-root.directive';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;AAAA;;;AAGG;AAIH;;;;;;;;;;;;;;;;;;;;;;;;;AAyBG;AAKG,MAAO,qBAAsB,SAAQ,gBAAgB,CAAA;AACjD,IAAA,UAAU,GAAG,MAAM,CAA0B,UAAU,CAAC;AACxD,IAAA,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;;IAGhB,gBAAgB,GAAA;QACjC,MAAM,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,sBAAsB,CAAC;QAC3D,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;AAC/B,QAAA,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;QAClD,MAAM,aAAa,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC;AACnD,QAAA,aAAa,CAAC,SAAS,CAAC,GAAG,CAAC,uBAAuB,CAAC;AACpD,QAAA,MAAM,CAAC,MAAM,CACX,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,UAAW,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,UAAU,IACjF,UAAU,CAAC,SAAU,CAAC,SAAS,CAAC,IAAI,CAAC,CACtC,EACD,aAAa,CACd;AAED,QAAA,IAAI,CAAC,iBAAiB,GAAG,aAAa;;uGAlB7B,qBAAqB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAArB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,qBAAqB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,SAAA,EAFrB,CAAC,EAAE,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,qBAAqB,EAAE,EAAE,OAAO,CAAC,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA;;2FAE5E,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBAJjC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,gBAAgB;AAC1B,oBAAA,SAAS,EAAE,CAAC,EAAE,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAA,qBAAuB,EAAE,EAAE,OAAO;AACvF,iBAAA;;;ACpCD;;;AAGG;;ACHH;;AAEG;;;;"}
|