@siemens/element-ng 48.9.0 → 49.0.0-rc.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/about/package.json +2 -1
- package/accordion/package.json +2 -1
- package/action-modal/package.json +2 -1
- package/ag-grid/package.json +4 -0
- package/application-header/package.json +2 -1
- package/auto-collapsable-list/package.json +2 -1
- package/autocomplete/package.json +2 -1
- package/avatar/package.json +2 -1
- package/badge/package.json +2 -1
- package/breadcrumb/package.json +2 -1
- package/breadcrumb-router/package.json +2 -1
- package/card/package.json +2 -1
- package/chat-messages/package.json +2 -1
- package/circle-status/package.json +2 -1
- package/color-picker/package.json +2 -1
- package/column-selection-dialog/package.json +2 -1
- package/common/package.json +2 -1
- package/connection-strength/package.json +2 -1
- package/content-action-bar/package.json +2 -1
- package/copyright-notice/package.json +2 -1
- package/dashboard/package.json +2 -1
- package/datatable/package.json +2 -1
- package/date-range-filter/package.json +2 -1
- package/datepicker/package.json +2 -1
- package/electron-titlebar/package.json +2 -1
- package/empty-state/package.json +2 -1
- package/fesm2022/siemens-element-ng-about.mjs +23 -23
- package/fesm2022/siemens-element-ng-about.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-accordion.mjs +39 -40
- package/fesm2022/siemens-element-ng-accordion.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-action-modal.mjs +50 -50
- package/fesm2022/siemens-element-ng-action-modal.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-ag-grid.mjs +842 -0
- package/fesm2022/siemens-element-ng-ag-grid.mjs.map +1 -0
- package/fesm2022/siemens-element-ng-application-header.mjs +103 -134
- package/fesm2022/siemens-element-ng-application-header.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-auto-collapsable-list.mjs +30 -32
- package/fesm2022/siemens-element-ng-auto-collapsable-list.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-autocomplete.mjs +22 -24
- package/fesm2022/siemens-element-ng-autocomplete.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-avatar.mjs +23 -24
- package/fesm2022/siemens-element-ng-avatar.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-badge.mjs +6 -6
- package/fesm2022/siemens-element-ng-badge.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-breadcrumb-router.mjs +14 -14
- package/fesm2022/siemens-element-ng-breadcrumb-router.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-breadcrumb.mjs +15 -15
- package/fesm2022/siemens-element-ng-breadcrumb.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-card.mjs +32 -34
- package/fesm2022/siemens-element-ng-card.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-chat-messages.mjs +97 -99
- package/fesm2022/siemens-element-ng-chat-messages.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-circle-status.mjs +24 -25
- package/fesm2022/siemens-element-ng-circle-status.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-color-picker.mjs +15 -15
- package/fesm2022/siemens-element-ng-color-picker.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-column-selection-dialog.mjs +32 -32
- package/fesm2022/siemens-element-ng-column-selection-dialog.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-common.mjs +13 -38
- package/fesm2022/siemens-element-ng-common.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-connection-strength.mjs +11 -11
- package/fesm2022/siemens-element-ng-connection-strength.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-content-action-bar.mjs +27 -27
- package/fesm2022/siemens-element-ng-content-action-bar.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-copyright-notice.mjs +13 -13
- package/fesm2022/siemens-element-ng-copyright-notice.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-dashboard.mjs +159 -168
- package/fesm2022/siemens-element-ng-dashboard.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-datatable.mjs +9 -9
- package/fesm2022/siemens-element-ng-datatable.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-date-range-filter.mjs +124 -147
- package/fesm2022/siemens-element-ng-date-range-filter.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-datepicker.mjs +225 -252
- package/fesm2022/siemens-element-ng-datepicker.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-electron-titlebar.mjs +16 -16
- package/fesm2022/siemens-element-ng-electron-titlebar.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-empty-state.mjs +11 -11
- package/fesm2022/siemens-element-ng-empty-state.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-file-uploader.mjs +58 -62
- package/fesm2022/siemens-element-ng-file-uploader.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-filter-bar.mjs +22 -22
- package/fesm2022/siemens-element-ng-filter-bar.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-filtered-search.mjs +131 -135
- package/fesm2022/siemens-element-ng-filtered-search.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-footer.mjs +10 -10
- package/fesm2022/siemens-element-ng-footer.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-form.mjs +66 -65
- package/fesm2022/siemens-element-ng-form.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-formly.mjs +90 -90
- package/fesm2022/siemens-element-ng-formly.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-header-dropdown.mjs +29 -29
- package/fesm2022/siemens-element-ng-header-dropdown.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-help-button.mjs +3 -3
- package/fesm2022/siemens-element-ng-icon-status.mjs +4 -4
- package/fesm2022/siemens-element-ng-icon.mjs +65 -44
- package/fesm2022/siemens-element-ng-icon.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-info-page.mjs +10 -10
- package/fesm2022/siemens-element-ng-info-page.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-inline-notification.mjs +15 -16
- package/fesm2022/siemens-element-ng-inline-notification.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-ip-input.mjs +16 -16
- package/fesm2022/siemens-element-ng-ip-input.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-landing-page.mjs +71 -71
- package/fesm2022/siemens-element-ng-landing-page.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-language-switcher.mjs +13 -13
- package/fesm2022/siemens-element-ng-language-switcher.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-link.mjs +22 -22
- package/fesm2022/siemens-element-ng-link.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-list-details.mjs +66 -77
- package/fesm2022/siemens-element-ng-list-details.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-loading-spinner.mjs +38 -52
- package/fesm2022/siemens-element-ng-loading-spinner.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-localization.mjs +10 -10
- package/fesm2022/siemens-element-ng-localization.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-main-detail-container.mjs +26 -26
- package/fesm2022/siemens-element-ng-main-detail-container.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-markdown-renderer.mjs +5 -5
- package/fesm2022/siemens-element-ng-markdown-renderer.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-menu.mjs +46 -46
- package/fesm2022/siemens-element-ng-menu.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-modal.mjs +10 -13
- package/fesm2022/siemens-element-ng-modal.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-navbar-vertical.mjs +79 -83
- package/fesm2022/siemens-element-ng-navbar-vertical.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-navbar.mjs +41 -42
- package/fesm2022/siemens-element-ng-navbar.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-notification-item.mjs +12 -12
- package/fesm2022/siemens-element-ng-notification-item.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-number-input.mjs +27 -29
- package/fesm2022/siemens-element-ng-number-input.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-pagination.mjs +19 -19
- package/fesm2022/siemens-element-ng-pagination.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-password-strength.mjs +21 -21
- 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 +51 -47
- package/fesm2022/siemens-element-ng-phone-number.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-photo-upload.mjs +43 -43
- package/fesm2022/siemens-element-ng-photo-upload.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-pills-input.mjs +40 -40
- package/fesm2022/siemens-element-ng-pills-input.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-popover-legacy.mjs +29 -29
- package/fesm2022/siemens-element-ng-popover-legacy.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-popover.mjs +29 -29
- package/fesm2022/siemens-element-ng-popover.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-progressbar.mjs +15 -15
- package/fesm2022/siemens-element-ng-progressbar.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-resize-observer.mjs +25 -61
- package/fesm2022/siemens-element-ng-resize-observer.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-result-details-list.mjs +10 -10
- package/fesm2022/siemens-element-ng-result-details-list.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-search-bar.mjs +21 -21
- package/fesm2022/siemens-element-ng-search-bar.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-select.mjs +200 -346
- package/fesm2022/siemens-element-ng-select.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-shadow-root.mjs +3 -3
- package/fesm2022/siemens-element-ng-shadow-root.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-side-panel.mjs +132 -67
- package/fesm2022/siemens-element-ng-side-panel.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-skip-links.mjs +13 -13
- package/fesm2022/siemens-element-ng-skip-links.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-slider.mjs +26 -26
- package/fesm2022/siemens-element-ng-slider.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-sort-bar.mjs +11 -11
- package/fesm2022/siemens-element-ng-sort-bar.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-split.mjs +24 -24
- package/fesm2022/siemens-element-ng-split.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-status-bar.mjs +37 -38
- package/fesm2022/siemens-element-ng-status-bar.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-status-counter.mjs +11 -12
- package/fesm2022/siemens-element-ng-status-counter.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-status-toggle.mjs +12 -12
- package/fesm2022/siemens-element-ng-status-toggle.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-summary-chip.mjs +16 -17
- package/fesm2022/siemens-element-ng-summary-chip.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-summary-widget.mjs +16 -16
- package/fesm2022/siemens-element-ng-summary-widget.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-system-banner.mjs +7 -7
- package/fesm2022/siemens-element-ng-system-banner.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-tabs-legacy.mjs +14 -15
- package/fesm2022/siemens-element-ng-tabs-legacy.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-tabs.mjs +40 -44
- package/fesm2022/siemens-element-ng-tabs.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-theme.mjs +4 -4
- package/fesm2022/siemens-element-ng-theme.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-threshold.mjs +49 -70
- package/fesm2022/siemens-element-ng-threshold.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-toast-notification.mjs +23 -45
- package/fesm2022/siemens-element-ng-toast-notification.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-tooltip.mjs +30 -30
- package/fesm2022/siemens-element-ng-tooltip.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-tour.mjs +18 -19
- package/fesm2022/siemens-element-ng-tour.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-tree-view.mjs +92 -117
- package/fesm2022/siemens-element-ng-tree-view.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-typeahead.mjs +46 -62
- package/fesm2022/siemens-element-ng-typeahead.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-wizard.mjs +47 -47
- package/fesm2022/siemens-element-ng-wizard.mjs.map +1 -1
- package/file-uploader/package.json +2 -1
- package/filter-bar/package.json +2 -1
- package/filtered-search/package.json +2 -1
- package/footer/package.json +2 -1
- package/form/package.json +2 -1
- package/formly/package.json +2 -1
- package/header-dropdown/package.json +2 -1
- package/help-button/package.json +2 -1
- package/icon/package.json +2 -1
- package/icon-status/package.json +2 -1
- package/info-page/package.json +2 -1
- package/inline-notification/package.json +2 -1
- package/ip-input/package.json +2 -1
- package/landing-page/package.json +2 -1
- package/language-switcher/package.json +2 -1
- package/link/package.json +2 -1
- package/list-details/package.json +2 -1
- package/loading-spinner/package.json +2 -1
- package/localization/package.json +2 -1
- package/main-detail-container/package.json +2 -1
- package/markdown-renderer/package.json +2 -1
- package/menu/package.json +2 -1
- package/modal/package.json +2 -1
- package/navbar/package.json +2 -1
- package/navbar-vertical/package.json +2 -1
- package/notification-item/package.json +2 -1
- package/number-input/package.json +2 -1
- package/package.json +116 -112
- package/pagination/package.json +2 -1
- package/password-strength/package.json +2 -1
- package/password-toggle/package.json +2 -1
- package/phone-number/package.json +2 -1
- package/photo-upload/package.json +2 -1
- package/pills-input/package.json +2 -1
- package/popover/package.json +2 -1
- package/popover-legacy/package.json +2 -1
- package/progressbar/package.json +2 -1
- package/resize-observer/package.json +2 -1
- package/result-details-list/package.json +2 -1
- package/schematics/migrations/data/component-names.js +4 -0
- package/schematics/migrations/data/symbol-removals.js +5 -0
- package/schematics/ts-import-to-siemens-migration/mappings/element-ng-mappings.js +0 -3
- package/search-bar/package.json +2 -1
- package/select/package.json +2 -1
- package/shadow-root/package.json +2 -1
- package/side-panel/package.json +2 -1
- package/skip-links/package.json +2 -1
- package/slider/package.json +2 -1
- package/sort-bar/package.json +2 -1
- package/split/package.json +2 -1
- package/status-bar/package.json +2 -1
- package/status-counter/package.json +2 -1
- package/status-toggle/package.json +2 -1
- package/summary-chip/package.json +2 -1
- package/summary-widget/package.json +2 -1
- package/system-banner/package.json +2 -1
- package/tabs/package.json +2 -1
- package/tabs-legacy/package.json +2 -1
- package/test-styles.scss +5 -0
- package/theme/package.json +2 -1
- package/threshold/package.json +2 -1
- package/toast-notification/package.json +2 -1
- package/tooltip/package.json +2 -1
- package/tour/package.json +2 -1
- package/translate/package.json +2 -1
- package/tree-view/package.json +2 -1
- package/typeahead/package.json +2 -1
- package/types/siemens-element-ng-ag-grid.d.ts +162 -0
- package/{application-header/index.d.ts → types/siemens-element-ng-application-header.d.ts} +16 -11
- package/{breadcrumb/index.d.ts → types/siemens-element-ng-breadcrumb.d.ts} +2 -2
- package/{chat-messages/index.d.ts → types/siemens-element-ng-chat-messages.d.ts} +6 -6
- package/{common/index.d.ts → types/siemens-element-ng-common.d.ts} +2 -30
- package/{content-action-bar/index.d.ts → types/siemens-element-ng-content-action-bar.d.ts} +2 -2
- package/{dashboard/index.d.ts → types/siemens-element-ng-dashboard.d.ts} +6 -6
- package/{date-range-filter/index.d.ts → types/siemens-element-ng-date-range-filter.d.ts} +28 -27
- package/{datepicker/index.d.ts → types/siemens-element-ng-datepicker.d.ts} +2 -2
- package/{electron-titlebar/index.d.ts → types/siemens-element-ng-electron-titlebar.d.ts} +4 -4
- package/{file-uploader/index.d.ts → types/siemens-element-ng-file-uploader.d.ts} +21 -21
- package/{filter-bar/index.d.ts → types/siemens-element-ng-filter-bar.d.ts} +4 -4
- package/{form/index.d.ts → types/siemens-element-ng-form.d.ts} +1 -1
- package/{icon/index.d.ts → types/siemens-element-ng-icon.d.ts} +24 -2
- package/{landing-page/index.d.ts → types/siemens-element-ng-landing-page.d.ts} +15 -15
- package/{language-switcher/index.d.ts → types/siemens-element-ng-language-switcher.d.ts} +1 -2
- package/{list-details/index.d.ts → types/siemens-element-ng-list-details.d.ts} +4 -3
- package/{loading-spinner/index.d.ts → types/siemens-element-ng-loading-spinner.d.ts} +2 -3
- package/{modal/index.d.ts → types/siemens-element-ng-modal.d.ts} +0 -6
- package/{navbar-vertical/index.d.ts → types/siemens-element-ng-navbar-vertical.d.ts} +7 -7
- package/{navbar/index.d.ts → types/siemens-element-ng-navbar.d.ts} +11 -11
- package/{pagination/index.d.ts → types/siemens-element-ng-pagination.d.ts} +4 -4
- package/{password-toggle/index.d.ts → types/siemens-element-ng-password-toggle.d.ts} +3 -3
- package/{phone-number/index.d.ts → types/siemens-element-ng-phone-number.d.ts} +7 -11
- package/{pills-input/index.d.ts → types/siemens-element-ng-pills-input.d.ts} +2 -2
- package/{popover/index.d.ts → types/siemens-element-ng-popover.d.ts} +2 -2
- package/{resize-observer/index.d.ts → types/siemens-element-ng-resize-observer.d.ts} +0 -30
- package/{search-bar/index.d.ts → types/siemens-element-ng-search-bar.d.ts} +2 -2
- package/{select/index.d.ts → types/siemens-element-ng-select.d.ts} +30 -105
- package/{side-panel/index.d.ts → types/siemens-element-ng-side-panel.d.ts} +25 -4
- package/{slider/index.d.ts → types/siemens-element-ng-slider.d.ts} +4 -4
- package/{status-bar/index.d.ts → types/siemens-element-ng-status-bar.d.ts} +6 -6
- package/{tabs-legacy/index.d.ts → types/siemens-element-ng-tabs-legacy.d.ts} +5 -0
- package/{threshold/index.d.ts → types/siemens-element-ng-threshold.d.ts} +7 -7
- package/{tour/index.d.ts → types/siemens-element-ng-tour.d.ts} +1 -10
- package/{tree-view/index.d.ts → types/siemens-element-ng-tree-view.d.ts} +0 -1
- package/{typeahead/index.d.ts → types/siemens-element-ng-typeahead.d.ts} +0 -2
- package/{wizard/index.d.ts → types/siemens-element-ng-wizard.d.ts} +6 -6
- package/wizard/package.json +2 -1
- package/fesm2022/siemens-element-ng-unauthorized-page.mjs +0 -75
- package/fesm2022/siemens-element-ng-unauthorized-page.mjs.map +0 -1
- package/unauthorized-page/index.d.ts +0 -44
- package/unauthorized-page/package.json +0 -3
- /package/{about/index.d.ts → types/siemens-element-ng-about.d.ts} +0 -0
- /package/{accordion/index.d.ts → types/siemens-element-ng-accordion.d.ts} +0 -0
- /package/{action-modal/index.d.ts → types/siemens-element-ng-action-modal.d.ts} +0 -0
- /package/{auto-collapsable-list/index.d.ts → types/siemens-element-ng-auto-collapsable-list.d.ts} +0 -0
- /package/{autocomplete/index.d.ts → types/siemens-element-ng-autocomplete.d.ts} +0 -0
- /package/{avatar/index.d.ts → types/siemens-element-ng-avatar.d.ts} +0 -0
- /package/{badge/index.d.ts → types/siemens-element-ng-badge.d.ts} +0 -0
- /package/{breadcrumb-router/index.d.ts → types/siemens-element-ng-breadcrumb-router.d.ts} +0 -0
- /package/{card/index.d.ts → types/siemens-element-ng-card.d.ts} +0 -0
- /package/{circle-status/index.d.ts → types/siemens-element-ng-circle-status.d.ts} +0 -0
- /package/{color-picker/index.d.ts → types/siemens-element-ng-color-picker.d.ts} +0 -0
- /package/{column-selection-dialog/index.d.ts → types/siemens-element-ng-column-selection-dialog.d.ts} +0 -0
- /package/{connection-strength/index.d.ts → types/siemens-element-ng-connection-strength.d.ts} +0 -0
- /package/{copyright-notice/index.d.ts → types/siemens-element-ng-copyright-notice.d.ts} +0 -0
- /package/{datatable/index.d.ts → types/siemens-element-ng-datatable.d.ts} +0 -0
- /package/{empty-state/index.d.ts → types/siemens-element-ng-empty-state.d.ts} +0 -0
- /package/{filtered-search/index.d.ts → types/siemens-element-ng-filtered-search.d.ts} +0 -0
- /package/{footer/index.d.ts → types/siemens-element-ng-footer.d.ts} +0 -0
- /package/{formly/index.d.ts → types/siemens-element-ng-formly.d.ts} +0 -0
- /package/{header-dropdown/index.d.ts → types/siemens-element-ng-header-dropdown.d.ts} +0 -0
- /package/{help-button/index.d.ts → types/siemens-element-ng-help-button.d.ts} +0 -0
- /package/{icon-status/index.d.ts → types/siemens-element-ng-icon-status.d.ts} +0 -0
- /package/{info-page/index.d.ts → types/siemens-element-ng-info-page.d.ts} +0 -0
- /package/{inline-notification/index.d.ts → types/siemens-element-ng-inline-notification.d.ts} +0 -0
- /package/{ip-input/index.d.ts → types/siemens-element-ng-ip-input.d.ts} +0 -0
- /package/{link/index.d.ts → types/siemens-element-ng-link.d.ts} +0 -0
- /package/{localization/index.d.ts → types/siemens-element-ng-localization.d.ts} +0 -0
- /package/{main-detail-container/index.d.ts → types/siemens-element-ng-main-detail-container.d.ts} +0 -0
- /package/{markdown-renderer/index.d.ts → types/siemens-element-ng-markdown-renderer.d.ts} +0 -0
- /package/{menu/index.d.ts → types/siemens-element-ng-menu.d.ts} +0 -0
- /package/{notification-item/index.d.ts → types/siemens-element-ng-notification-item.d.ts} +0 -0
- /package/{number-input/index.d.ts → types/siemens-element-ng-number-input.d.ts} +0 -0
- /package/{password-strength/index.d.ts → types/siemens-element-ng-password-strength.d.ts} +0 -0
- /package/{photo-upload/index.d.ts → types/siemens-element-ng-photo-upload.d.ts} +0 -0
- /package/{popover-legacy/index.d.ts → types/siemens-element-ng-popover-legacy.d.ts} +0 -0
- /package/{progressbar/index.d.ts → types/siemens-element-ng-progressbar.d.ts} +0 -0
- /package/{result-details-list/index.d.ts → types/siemens-element-ng-result-details-list.d.ts} +0 -0
- /package/{shadow-root/index.d.ts → types/siemens-element-ng-shadow-root.d.ts} +0 -0
- /package/{skip-links/index.d.ts → types/siemens-element-ng-skip-links.d.ts} +0 -0
- /package/{sort-bar/index.d.ts → types/siemens-element-ng-sort-bar.d.ts} +0 -0
- /package/{split/index.d.ts → types/siemens-element-ng-split.d.ts} +0 -0
- /package/{status-counter/index.d.ts → types/siemens-element-ng-status-counter.d.ts} +0 -0
- /package/{status-toggle/index.d.ts → types/siemens-element-ng-status-toggle.d.ts} +0 -0
- /package/{summary-chip/index.d.ts → types/siemens-element-ng-summary-chip.d.ts} +0 -0
- /package/{summary-widget/index.d.ts → types/siemens-element-ng-summary-widget.d.ts} +0 -0
- /package/{system-banner/index.d.ts → types/siemens-element-ng-system-banner.d.ts} +0 -0
- /package/{tabs/index.d.ts → types/siemens-element-ng-tabs.d.ts} +0 -0
- /package/{theme/index.d.ts → types/siemens-element-ng-theme.d.ts} +0 -0
- /package/{toast-notification/index.d.ts → types/siemens-element-ng-toast-notification.d.ts} +0 -0
- /package/{tooltip/index.d.ts → types/siemens-element-ng-tooltip.d.ts} +0 -0
- /package/{translate/index.d.ts → types/siemens-element-ng-translate.d.ts} +0 -0
- /package/{index.d.ts → types/siemens-element-ng.d.ts} +0 -0
|
@@ -1,15 +1,14 @@
|
|
|
1
1
|
import * as i1$3 from '@angular/cdk/overlay';
|
|
2
2
|
import { CdkOverlayOrigin, OverlayModule } from '@angular/cdk/overlay';
|
|
3
3
|
import * as i0 from '@angular/core';
|
|
4
|
-
import { InjectionToken,
|
|
4
|
+
import { InjectionToken, Directive, input, ChangeDetectionStrategy, Component, booleanAttribute, output, computed, signal, inject, Input, HostListener, ElementRef, HostBinding, viewChild, contentChild, TemplateRef, NgModule } from '@angular/core';
|
|
5
5
|
import { SI_FORM_ITEM_CONTROL } from '@siemens/element-ng/form';
|
|
6
6
|
import { SiTranslatePipe, t } from '@siemens/element-translate-ng/translate';
|
|
7
|
-
import { buildTrackByIdentity } from '@siemens/element-ng/common';
|
|
8
7
|
import * as i1 from '@siemens/element-ng/auto-collapsable-list';
|
|
9
8
|
import { SiAutoCollapsableListModule } from '@siemens/element-ng/auto-collapsable-list';
|
|
10
9
|
import { SiIconComponent, addIcons, elementDown2, elementOk, elementSearch } from '@siemens/element-ng/icon';
|
|
11
10
|
import * as i1$2 from '@angular/common';
|
|
12
|
-
import {
|
|
11
|
+
import { NgTemplateOutlet, CommonModule } from '@angular/common';
|
|
13
12
|
import * as i1$1 from '@siemens/element-ng/autocomplete';
|
|
14
13
|
import { SiAutocompleteDirective, SiAutocompleteModule } from '@siemens/element-ng/autocomplete';
|
|
15
14
|
import { SiLoadingSpinnerComponent } from '@siemens/element-ng/loading-spinner';
|
|
@@ -25,178 +24,13 @@ import { NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
|
25
24
|
*/
|
|
26
25
|
const SI_SELECT_OPTIONS_STRATEGY = new InjectionToken('si-select.options-strategy');
|
|
27
26
|
|
|
28
|
-
/**
|
|
29
|
-
* Copyright (c) Siemens 2016 - 2025
|
|
30
|
-
* SPDX-License-Identifier: MIT
|
|
31
|
-
*/
|
|
32
|
-
/**
|
|
33
|
-
* Input options strategy base class, for eagerly fetched options.
|
|
34
|
-
*/
|
|
35
|
-
class SiSelectOptionsStrategyBase {
|
|
36
|
-
/**
|
|
37
|
-
* Rows that should be shown.
|
|
38
|
-
*
|
|
39
|
-
* @defaultValue []
|
|
40
|
-
*/
|
|
41
|
-
rows = signal([]);
|
|
42
|
-
value = signal([]);
|
|
43
|
-
selectedRows = computed(() => {
|
|
44
|
-
const values = this.value();
|
|
45
|
-
return this.allRows()
|
|
46
|
-
.map(row => (row.type === 'group' ? row.options : row))
|
|
47
|
-
.flat()
|
|
48
|
-
.filter(option => values.some(value => this.optionsEqual()(value, option.value)));
|
|
49
|
-
});
|
|
50
|
-
onValueChange(value) {
|
|
51
|
-
this.value.set(value);
|
|
52
|
-
}
|
|
53
|
-
onFilter(filterValue) {
|
|
54
|
-
if (filterValue) {
|
|
55
|
-
const filterValueLC = filterValue.toLowerCase();
|
|
56
|
-
const checkRow = (row) => (row.typeaheadLabel ?? row.label).toLowerCase().includes(filterValueLC);
|
|
57
|
-
this.rows.set(this.allRows().reduce((rows, row) => {
|
|
58
|
-
if (row.type === 'option' && checkRow(row)) {
|
|
59
|
-
rows.push(row);
|
|
60
|
-
}
|
|
61
|
-
else if (row.type === 'group') {
|
|
62
|
-
if (row.label.toLowerCase().includes(filterValueLC)) {
|
|
63
|
-
rows.push(row);
|
|
64
|
-
}
|
|
65
|
-
else {
|
|
66
|
-
const options = row.options.filter(checkRow);
|
|
67
|
-
if (options.length) {
|
|
68
|
-
rows.push({ ...row, options });
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
return rows;
|
|
73
|
-
}, []));
|
|
74
|
-
}
|
|
75
|
-
else {
|
|
76
|
-
this.rows.set(this.allRows());
|
|
77
|
-
}
|
|
78
|
-
}
|
|
79
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: SiSelectOptionsStrategyBase, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
80
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.0.6", type: SiSelectOptionsStrategyBase, isStandalone: true, ngImport: i0 });
|
|
81
|
-
}
|
|
82
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: SiSelectOptionsStrategyBase, decorators: [{
|
|
83
|
-
type: Directive
|
|
84
|
-
}] });
|
|
85
|
-
|
|
86
|
-
/**
|
|
87
|
-
* Copyright (c) Siemens 2016 - 2025
|
|
88
|
-
* SPDX-License-Identifier: MIT
|
|
89
|
-
*/
|
|
90
|
-
/**
|
|
91
|
-
* The directive allows passing custom options.
|
|
92
|
-
* Otherwise, use the {@link SiSelectSimpleOptionsDirective} directive.
|
|
93
|
-
*
|
|
94
|
-
* @deprecated Use {@link SiSelectSimpleOptionsDirective} instead.
|
|
95
|
-
*
|
|
96
|
-
* @example
|
|
97
|
-
* ```html
|
|
98
|
-
* <si-select [complexOptions]="['v1', 'v2', 'v3']"></si-select>
|
|
99
|
-
* <si-select [complexOptions]="{ g1: ['g1.i1', 'g1.i2'], g2: ['g2.i1']}"></si-select>
|
|
100
|
-
* ```
|
|
101
|
-
*/
|
|
102
|
-
class SiSelectComplexOptionsDirective extends SiSelectOptionsStrategyBase {
|
|
103
|
-
/** Options to be shown in select dropdown. */
|
|
104
|
-
complexOptions = input();
|
|
105
|
-
/**
|
|
106
|
-
* @deprecated Property has no effect and can be removed.
|
|
107
|
-
*
|
|
108
|
-
* @defaultValue
|
|
109
|
-
* ```
|
|
110
|
-
* buildTrackByIdentity<T>()
|
|
111
|
-
* ```
|
|
112
|
-
*/
|
|
113
|
-
trackBy = input(buildTrackByIdentity());
|
|
114
|
-
/**
|
|
115
|
-
* By default, values are check on equality by reference. Override to customize the behavior.
|
|
116
|
-
*
|
|
117
|
-
* @defaultValue
|
|
118
|
-
* ```
|
|
119
|
-
* (a: T, b: T): boolean => a === b
|
|
120
|
-
* ```
|
|
121
|
-
*/
|
|
122
|
-
optionsEqual = input((a, b) => a === b, {
|
|
123
|
-
// eslint-disable-next-line @angular-eslint/no-input-rename
|
|
124
|
-
alias: 'optionEqualCheckFn'
|
|
125
|
-
});
|
|
126
|
-
/**
|
|
127
|
-
* The valueProvider is used to extract the display text of a value.
|
|
128
|
-
*/
|
|
129
|
-
valueProvider = input();
|
|
130
|
-
/**
|
|
131
|
-
* Provides Value for the display text of the dropdown group
|
|
132
|
-
*
|
|
133
|
-
* @defaultValue
|
|
134
|
-
* ```
|
|
135
|
-
* () => undefined
|
|
136
|
-
* ```
|
|
137
|
-
*/
|
|
138
|
-
groupProvider = input(() => undefined);
|
|
139
|
-
/**
|
|
140
|
-
* The disabledProvider is used to display menu items as disabled.
|
|
141
|
-
*
|
|
142
|
-
* @defaultValue
|
|
143
|
-
* ```
|
|
144
|
-
* () => false
|
|
145
|
-
* ```
|
|
146
|
-
*/
|
|
147
|
-
disabledProvider = input(() => false);
|
|
148
|
-
allRows = computed(() => {
|
|
149
|
-
const complexOptions = this.complexOptions();
|
|
150
|
-
if (complexOptions instanceof Array) {
|
|
151
|
-
return this.convertOptionsArray(complexOptions);
|
|
152
|
-
}
|
|
153
|
-
else if (complexOptions) {
|
|
154
|
-
const groupProvider = this.groupProvider();
|
|
155
|
-
return Object.entries(complexOptions).map(([key, value]) => ({
|
|
156
|
-
type: 'group',
|
|
157
|
-
key,
|
|
158
|
-
label: groupProvider(key) ?? key,
|
|
159
|
-
options: this.convertOptionsArray(value)
|
|
160
|
-
}));
|
|
161
|
-
}
|
|
162
|
-
else {
|
|
163
|
-
return [];
|
|
164
|
-
}
|
|
165
|
-
});
|
|
166
|
-
ngOnChanges() {
|
|
167
|
-
this.onFilter();
|
|
168
|
-
}
|
|
169
|
-
convertOptionsArray(options) {
|
|
170
|
-
const provide = this.valueProvider();
|
|
171
|
-
return options.map(option => {
|
|
172
|
-
return {
|
|
173
|
-
type: 'option',
|
|
174
|
-
value: option,
|
|
175
|
-
label: (provide ? provide(option) : undefined) ?? option + '',
|
|
176
|
-
typeaheadLabel: provide ? provide(option) : undefined,
|
|
177
|
-
disabled: this.disabledProvider()(option)
|
|
178
|
-
};
|
|
179
|
-
});
|
|
180
|
-
}
|
|
181
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: SiSelectComplexOptionsDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
|
|
182
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.0.6", type: SiSelectComplexOptionsDirective, isStandalone: true, selector: "si-select[complexOptions]", inputs: { complexOptions: { classPropertyName: "complexOptions", publicName: "complexOptions", isSignal: true, isRequired: false, transformFunction: null }, trackBy: { classPropertyName: "trackBy", publicName: "trackBy", isSignal: true, isRequired: false, transformFunction: null }, optionsEqual: { classPropertyName: "optionsEqual", publicName: "optionEqualCheckFn", isSignal: true, isRequired: false, transformFunction: null }, valueProvider: { classPropertyName: "valueProvider", publicName: "valueProvider", isSignal: true, isRequired: false, transformFunction: null }, groupProvider: { classPropertyName: "groupProvider", publicName: "groupProvider", isSignal: true, isRequired: false, transformFunction: null }, disabledProvider: { classPropertyName: "disabledProvider", publicName: "disabledProvider", isSignal: true, isRequired: false, transformFunction: null } }, providers: [{ provide: SI_SELECT_OPTIONS_STRATEGY, useExisting: SiSelectComplexOptionsDirective }], usesInheritance: true, usesOnChanges: true, ngImport: i0 });
|
|
183
|
-
}
|
|
184
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: SiSelectComplexOptionsDirective, decorators: [{
|
|
185
|
-
type: Directive,
|
|
186
|
-
args: [{
|
|
187
|
-
// eslint-disable-next-line @angular-eslint/directive-selector
|
|
188
|
-
selector: 'si-select[complexOptions]',
|
|
189
|
-
providers: [{ provide: SI_SELECT_OPTIONS_STRATEGY, useExisting: SiSelectComplexOptionsDirective }]
|
|
190
|
-
}]
|
|
191
|
-
}] });
|
|
192
|
-
|
|
193
27
|
/**
|
|
194
28
|
* Copyright (c) Siemens 2016 - 2025
|
|
195
29
|
* SPDX-License-Identifier: MIT
|
|
196
30
|
*/
|
|
197
31
|
/**
|
|
198
32
|
* The directive allows to template/customize the value option rendering.
|
|
199
|
-
* This requires using the {@link
|
|
33
|
+
* This requires using the {@link SiSelectSimpleOptionsDirective} to specify options as input.
|
|
200
34
|
*
|
|
201
35
|
* @example
|
|
202
36
|
* ```html
|
|
@@ -210,10 +44,10 @@ class SiSelectOptionTemplateDirective {
|
|
|
210
44
|
static ngTemplateContextGuard(directive, context) {
|
|
211
45
|
return true;
|
|
212
46
|
}
|
|
213
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
214
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "
|
|
47
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiSelectOptionTemplateDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
48
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.0.8", type: SiSelectOptionTemplateDirective, isStandalone: true, selector: "[siSelectOptionTemplate]", ngImport: i0 });
|
|
215
49
|
}
|
|
216
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
50
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiSelectOptionTemplateDirective, decorators: [{
|
|
217
51
|
type: Directive,
|
|
218
52
|
args: [{
|
|
219
53
|
selector: '[siSelectOptionTemplate]'
|
|
@@ -225,23 +59,17 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImpor
|
|
|
225
59
|
* SPDX-License-Identifier: MIT
|
|
226
60
|
*/
|
|
227
61
|
class SiSelectOptionComponent {
|
|
228
|
-
option = input.required();
|
|
229
|
-
optionTemplate = input();
|
|
230
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
231
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
62
|
+
option = input.required(...(ngDevMode ? [{ debugName: "option" }] : []));
|
|
63
|
+
optionTemplate = input(...(ngDevMode ? [undefined, { debugName: "optionTemplate" }] : []));
|
|
64
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiSelectOptionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
65
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.8", type: SiSelectOptionComponent, isStandalone: true, selector: "si-select-option", inputs: { option: { classPropertyName: "option", publicName: "option", isSignal: true, isRequired: true, transformFunction: null }, optionTemplate: { classPropertyName: "optionTemplate", publicName: "optionTemplate", isSignal: true, isRequired: false, transformFunction: null } }, host: { classAttribute: "d-flex align-items-center overflow-hidden" }, ngImport: i0, template: "<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\n class=\"icon me-2\"\n [icon]=\"item.icon\"\n [class]=\"!item.disabled && item.iconColor ? item.iconColor : ''\"\n />\n @if (item.stackedIcon) {\n <si-icon\n class=\"icon me-2\"\n [class]=\"item.stackedIconColor ?? ''\"\n [icon]=\"item.stackedIcon\"\n />\n }\n </i>\n }\n @if (item.label) {\n <span class=\"text-truncate\">{{ item.label | translate }}</span>\n }\n</ng-template>\n", dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: SiIconComponent, selector: "si-icon", inputs: ["icon"] }, { kind: "directive", type: SiSelectOptionTemplateDirective, selector: "[siSelectOptionTemplate]" }, { kind: "pipe", type: SiTranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
232
66
|
}
|
|
233
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
67
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiSelectOptionComponent, decorators: [{
|
|
234
68
|
type: Component,
|
|
235
|
-
args: [{ selector: 'si-select-option', imports: [
|
|
236
|
-
NgClass,
|
|
237
|
-
NgTemplateOutlet,
|
|
238
|
-
SiIconComponent,
|
|
239
|
-
SiTranslatePipe,
|
|
240
|
-
SiSelectOptionTemplateDirective
|
|
241
|
-
], changeDetection: ChangeDetectionStrategy.OnPush, host: {
|
|
69
|
+
args: [{ selector: 'si-select-option', imports: [NgTemplateOutlet, SiIconComponent, SiTranslatePipe, SiSelectOptionTemplateDirective], changeDetection: ChangeDetectionStrategy.OnPush, host: {
|
|
242
70
|
class: 'd-flex align-items-center overflow-hidden'
|
|
243
|
-
}, template: "<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\n class=\"icon me-2\"\n [icon]=\"item.icon\"\n [
|
|
244
|
-
}] });
|
|
71
|
+
}, template: "<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\n class=\"icon me-2\"\n [icon]=\"item.icon\"\n [class]=\"!item.disabled && item.iconColor ? item.iconColor : ''\"\n />\n @if (item.stackedIcon) {\n <si-icon\n class=\"icon me-2\"\n [class]=\"item.stackedIconColor ?? ''\"\n [icon]=\"item.stackedIcon\"\n />\n }\n </i>\n }\n @if (item.label) {\n <span class=\"text-truncate\">{{ item.label | translate }}</span>\n }\n</ng-template>\n" }]
|
|
72
|
+
}], propDecorators: { option: [{ type: i0.Input, args: [{ isSignal: true, alias: "option", required: true }] }], optionTemplate: [{ type: i0.Input, args: [{ isSignal: true, alias: "optionTemplate", required: false }] }] } });
|
|
245
73
|
|
|
246
74
|
/**
|
|
247
75
|
* Copyright (c) Siemens 2016 - 2025
|
|
@@ -257,7 +85,7 @@ class SiSelectSelectionStrategy {
|
|
|
257
85
|
* @defaultValue false
|
|
258
86
|
*/
|
|
259
87
|
// eslint-disable-next-line @angular-eslint/no-input-rename
|
|
260
|
-
disabledInput = input(false, { alias: 'disabled', transform: booleanAttribute });
|
|
88
|
+
disabledInput = input(false, { ...(ngDevMode ? { debugName: "disabledInput" } : {}), alias: 'disabled', transform: booleanAttribute });
|
|
261
89
|
/**
|
|
262
90
|
* The selected value(s).
|
|
263
91
|
*/
|
|
@@ -270,16 +98,16 @@ class SiSelectSelectionStrategy {
|
|
|
270
98
|
* Provides the internal value always as an array
|
|
271
99
|
* @internal
|
|
272
100
|
*/
|
|
273
|
-
arrayValue = computed(() => this.selectOptions.selectedRows().map(option => option.value));
|
|
101
|
+
arrayValue = computed(() => this.selectOptions.selectedRows().map(option => option.value), ...(ngDevMode ? [{ debugName: "arrayValue" }] : []));
|
|
274
102
|
/**
|
|
275
103
|
* Registered form callback which shall be called on blur.
|
|
276
104
|
* @internal
|
|
277
105
|
*/
|
|
278
106
|
onTouched = () => { };
|
|
279
107
|
/** @internal */
|
|
280
|
-
disabled = computed(() => this.disabledInput() || this.disabledNgControl());
|
|
108
|
+
disabled = computed(() => this.disabledInput() || this.disabledNgControl(), ...(ngDevMode ? [{ debugName: "disabled" }] : []));
|
|
281
109
|
onChange = () => { };
|
|
282
|
-
disabledNgControl = signal(false);
|
|
110
|
+
disabledNgControl = signal(false, ...(ngDevMode ? [{ debugName: "disabledNgControl" }] : []));
|
|
283
111
|
selectOptions = inject(SI_SELECT_OPTIONS_STRATEGY);
|
|
284
112
|
registerOnTouched(fn) {
|
|
285
113
|
this.onTouched = fn;
|
|
@@ -306,50 +134,50 @@ class SiSelectSelectionStrategy {
|
|
|
306
134
|
updateFromInput(values) {
|
|
307
135
|
this.selectOptions.onValueChange(values);
|
|
308
136
|
}
|
|
309
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
310
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "
|
|
137
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiSelectSelectionStrategy, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
138
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.0.8", type: SiSelectSelectionStrategy, isStandalone: true, inputs: { disabledInput: { classPropertyName: "disabledInput", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: false, isRequired: false, transformFunction: null } }, outputs: { valueChange: "valueChange" }, host: { properties: { "class.disabled": "disabled()" } }, ngImport: i0 });
|
|
311
139
|
}
|
|
312
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
140
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiSelectSelectionStrategy, decorators: [{
|
|
313
141
|
type: Directive,
|
|
314
142
|
args: [{
|
|
315
143
|
host: {
|
|
316
144
|
'[class.disabled]': 'disabled()'
|
|
317
145
|
}
|
|
318
146
|
}]
|
|
319
|
-
}], propDecorators: { value: [{
|
|
147
|
+
}], propDecorators: { disabledInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], value: [{
|
|
320
148
|
type: Input
|
|
321
|
-
}] } });
|
|
149
|
+
}], valueChange: [{ type: i0.Output, args: ["valueChange"] }] } });
|
|
322
150
|
|
|
323
151
|
/**
|
|
324
152
|
* Copyright (c) Siemens 2016 - 2025
|
|
325
153
|
* SPDX-License-Identifier: MIT
|
|
326
154
|
*/
|
|
327
155
|
class SiSelectInputComponent {
|
|
328
|
-
baseId = input.required();
|
|
156
|
+
baseId = input.required(...(ngDevMode ? [{ debugName: "baseId" }] : []));
|
|
329
157
|
/**
|
|
330
158
|
* Aria labelledby of the select.
|
|
331
159
|
*
|
|
332
160
|
* @defaultValue null
|
|
333
161
|
*/
|
|
334
|
-
labelledby = input(null);
|
|
162
|
+
labelledby = input(null, ...(ngDevMode ? [{ debugName: "labelledby" }] : []));
|
|
335
163
|
/**
|
|
336
164
|
* Aria label of the select.
|
|
337
165
|
*
|
|
338
166
|
* @defaultValue null
|
|
339
167
|
*/
|
|
340
|
-
ariaLabel = input(null);
|
|
168
|
+
ariaLabel = input(null, ...(ngDevMode ? [{ debugName: "ariaLabel" }] : []));
|
|
341
169
|
/** @defaultValue false */
|
|
342
|
-
open = input(false, { transform: booleanAttribute });
|
|
343
|
-
placeholder = input();
|
|
344
|
-
controls = input.required();
|
|
345
|
-
optionTemplate = input();
|
|
170
|
+
open = input(false, { ...(ngDevMode ? { debugName: "open" } : {}), transform: booleanAttribute });
|
|
171
|
+
placeholder = input(...(ngDevMode ? [undefined, { debugName: "placeholder" }] : []));
|
|
172
|
+
controls = input.required(...(ngDevMode ? [{ debugName: "controls" }] : []));
|
|
173
|
+
optionTemplate = input(...(ngDevMode ? [undefined, { debugName: "optionTemplate" }] : []));
|
|
346
174
|
/** @defaultValue false */
|
|
347
|
-
readonly = input(false, { transform: booleanAttribute });
|
|
175
|
+
readonly = input(false, { ...(ngDevMode ? { debugName: "readonly" } : {}), transform: booleanAttribute });
|
|
348
176
|
openListbox = output();
|
|
349
177
|
selectionStrategy = inject((SiSelectSelectionStrategy));
|
|
350
178
|
selectOptions = inject(SI_SELECT_OPTIONS_STRATEGY);
|
|
351
179
|
selectedRows = this.selectOptions.selectedRows;
|
|
352
|
-
labeledBy = computed(() => `${this.baseId()}-aria-label ${this.labelledby()}
|
|
180
|
+
labeledBy = computed(() => `${this.baseId()}-aria-label ${this.labelledby()}`, ...(ngDevMode ? [{ debugName: "labeledBy" }] : []));
|
|
353
181
|
icons = addIcons({ elementDown2 });
|
|
354
182
|
blur() {
|
|
355
183
|
if (!this.open()) {
|
|
@@ -360,10 +188,10 @@ class SiSelectInputComponent {
|
|
|
360
188
|
event?.preventDefault();
|
|
361
189
|
this.openListbox.emit();
|
|
362
190
|
}
|
|
363
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
364
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
191
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiSelectInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
192
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.8", type: SiSelectInputComponent, isStandalone: true, selector: "si-select-input", inputs: { baseId: { classPropertyName: "baseId", publicName: "baseId", isSignal: true, isRequired: true, transformFunction: null }, labelledby: { classPropertyName: "labelledby", publicName: "labelledby", isSignal: true, isRequired: false, transformFunction: null }, ariaLabel: { classPropertyName: "ariaLabel", publicName: "ariaLabel", isSignal: true, isRequired: false, transformFunction: null }, open: { classPropertyName: "open", publicName: "open", isSignal: true, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null }, controls: { classPropertyName: "controls", publicName: "controls", isSignal: true, isRequired: true, transformFunction: null }, optionTemplate: { classPropertyName: "optionTemplate", publicName: "optionTemplate", isSignal: true, isRequired: false, transformFunction: null }, readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { openListbox: "openListbox" }, host: { attributes: { "aria-autocomplete": "none" }, listeners: { "blur": "blur()", "click": "click()", "keydown.arrowDown": "click($event)", "keydown.alt.arrowDown": "click($event)", "keydown.arrowUp": "click($event)", "keydown.enter": "click()", "keydown.space": "click()" }, properties: { "attr.role": "readonly() ? \"textbox\": \"combobox\"", "attr.aria-haspopup": "readonly() ? undefined : \"listbox\"", "attr.aria-expanded": "readonly() ? undefined : open()", "attr.aria-controls": "readonly() ? undefined : controls()", "attr.aria-readonly": "readonly()", "attr.aria-labelledby": "labeledBy()", "attr.aria-disabled": "selectionStrategy.disabled()", "attr.tabindex": "selectionStrategy.disabled() ? \"-1\" : \"0\"", "class.disabled": "selectionStrategy.disabled()", "class.active": "open()" }, classAttribute: "select focus-none dropdown-toggle d-flex align-items-center ps-4" }, ngImport: i0, template: "@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\n class=\"dropdown-caret icon flip-rtl\"\n [class.text-muted]=\"readonly()\"\n [icon]=\"icons.elementDown2\"\n/>\n", styles: ["@charset \"UTF-8\";:host{cursor:pointer;font-weight:600;min-inline-size:72px;block-size:100%;color:var(--element-text-primary);padding-block:4px;padding-inline-end:calc(12px + var(--si-feedback-icon-offset, 0px))}:host.disabled{color:var(--element-text-disabled)}:host-context(.form-control) :host{font-weight:400;padding-block:3px}:host-context(.dropdown:not(.form-control)) :host:not(.disabled):hover{background:var(--element-base-1-hover)}:host-context(.dropdown:not(.form-control)) :host:not(.disabled).active{background:var(--element-base-1-selected)}si-select-option+si-select-option:before{content:\",\\a0\"}.overflow-item{border-radius:var(--element-radius-3);background:var(--element-base-0);margin-inline-start:4px;padding-inline:8px}.dropdown-caret{transform:translate(var(--si-feedback-icon-offset, 0))}\n"], dependencies: [{ kind: "ngmodule", type: SiAutoCollapsableListModule }, { kind: "directive", type: i1.SiAutoCollapsableListDirective, selector: "[siAutoCollapsableList]", inputs: ["siAutoCollapsableList", "gap", "siAutoCollapsableListContainerElement"], exportAs: ["siAutoCollapsableList"] }, { kind: "directive", type: i1.SiAutoCollapsableListItemDirective, selector: "[siAutoCollapsableListItem]", inputs: ["forceHide"], exportAs: ["siAutoCollapsableListItem"] }, { kind: "directive", type: i1.SiAutoCollapsableListOverflowItemDirective, selector: "[siAutoCollapsableListOverflowItem]", exportAs: ["siAutoCollapsableListOverflowItem"] }, { kind: "component", type: SiIconComponent, selector: "si-icon", inputs: ["icon"] }, { kind: "component", type: SiSelectOptionComponent, selector: "si-select-option", inputs: ["option", "optionTemplate"] }, { kind: "pipe", type: SiTranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
365
193
|
}
|
|
366
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
194
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiSelectInputComponent, decorators: [{
|
|
367
195
|
type: Component,
|
|
368
196
|
args: [{ selector: 'si-select-input', imports: [SiAutoCollapsableListModule, SiIconComponent, SiSelectOptionComponent, SiTranslatePipe], changeDetection: ChangeDetectionStrategy.OnPush, host: {
|
|
369
197
|
// In readonly mode, the select needs to be announced as a textbox.
|
|
@@ -381,7 +209,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImpor
|
|
|
381
209
|
'[class.disabled]': 'selectionStrategy.disabled()',
|
|
382
210
|
'[class.active]': 'open()'
|
|
383
211
|
}, template: "@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\n class=\"dropdown-caret icon flip-rtl\"\n [class.text-muted]=\"readonly()\"\n [icon]=\"icons.elementDown2\"\n/>\n", styles: ["@charset \"UTF-8\";:host{cursor:pointer;font-weight:600;min-inline-size:72px;block-size:100%;color:var(--element-text-primary);padding-block:4px;padding-inline-end:calc(12px + var(--si-feedback-icon-offset, 0px))}:host.disabled{color:var(--element-text-disabled)}:host-context(.form-control) :host{font-weight:400;padding-block:3px}:host-context(.dropdown:not(.form-control)) :host:not(.disabled):hover{background:var(--element-base-1-hover)}:host-context(.dropdown:not(.form-control)) :host:not(.disabled).active{background:var(--element-base-1-selected)}si-select-option+si-select-option:before{content:\",\\a0\"}.overflow-item{border-radius:var(--element-radius-3);background:var(--element-base-0);margin-inline-start:4px;padding-inline:8px}.dropdown-caret{transform:translate(var(--si-feedback-icon-offset, 0))}\n"] }]
|
|
384
|
-
}], propDecorators: { blur: [{
|
|
212
|
+
}], propDecorators: { baseId: [{ type: i0.Input, args: [{ isSignal: true, alias: "baseId", required: true }] }], labelledby: [{ type: i0.Input, args: [{ isSignal: true, alias: "labelledby", required: false }] }], ariaLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "ariaLabel", required: false }] }], open: [{ type: i0.Input, args: [{ isSignal: true, alias: "open", required: false }] }], placeholder: [{ type: i0.Input, args: [{ isSignal: true, alias: "placeholder", required: false }] }], controls: [{ type: i0.Input, args: [{ isSignal: true, alias: "controls", required: true }] }], optionTemplate: [{ type: i0.Input, args: [{ isSignal: true, alias: "optionTemplate", required: false }] }], readonly: [{ type: i0.Input, args: [{ isSignal: true, alias: "readonly", required: false }] }], openListbox: [{ type: i0.Output, args: ["openListbox"] }], blur: [{
|
|
385
213
|
type: HostListener,
|
|
386
214
|
args: ['blur']
|
|
387
215
|
}], click: [{
|
|
@@ -409,15 +237,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImpor
|
|
|
409
237
|
* SPDX-License-Identifier: MIT
|
|
410
238
|
*/
|
|
411
239
|
class SiSelectOptionRowComponent {
|
|
412
|
-
option = input.required();
|
|
413
|
-
optionTemplate = input();
|
|
240
|
+
option = input.required(...(ngDevMode ? [{ debugName: "option" }] : []));
|
|
241
|
+
optionTemplate = input(...(ngDevMode ? [undefined, { debugName: "optionTemplate" }] : []));
|
|
414
242
|
/** @defaultValue false */
|
|
415
|
-
selected = input(false, { transform: booleanAttribute });
|
|
243
|
+
selected = input(false, { ...(ngDevMode ? { debugName: "selected" } : {}), transform: booleanAttribute });
|
|
416
244
|
icons = addIcons({ elementOk });
|
|
417
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
418
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
245
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiSelectOptionRowComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
246
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.8", type: SiSelectOptionRowComponent, isStandalone: true, selector: "si-select-option-row", inputs: { option: { classPropertyName: "option", publicName: "option", isSignal: true, isRequired: true, transformFunction: null }, optionTemplate: { classPropertyName: "optionTemplate", publicName: "optionTemplate", isSignal: true, isRequired: false, transformFunction: null }, selected: { classPropertyName: "selected", publicName: "selected", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class.disabled": "!!this.option().disabled", "attr.aria-selected": "selected()", "attr.data-id": "this.option().value" }, classAttribute: "dropdown-item focus-none pe-4 gap-4" }, ngImport: i0, template: "<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 class=\"d-block icon\" [icon]=\"icons.elementOk\" />\n </span>\n}\n", styles: [".selected-marker>span{font-size:1.5rem;margin-inline-end:-.25rem}.form-check-input{display:none}:host-context(.si-multi-select) .selected-marker{display:none}:host-context(.si-multi-select) .form-check-input{display:block}\n"], dependencies: [{ kind: "component", type: SiIconComponent, selector: "si-icon", inputs: ["icon"] }, { kind: "component", type: SiSelectOptionComponent, selector: "si-select-option", inputs: ["option", "optionTemplate"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
419
247
|
}
|
|
420
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
248
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiSelectOptionRowComponent, decorators: [{
|
|
421
249
|
type: Component,
|
|
422
250
|
args: [{ selector: 'si-select-option-row', imports: [SiIconComponent, SiSelectOptionComponent], changeDetection: ChangeDetectionStrategy.OnPush, host: {
|
|
423
251
|
class: 'dropdown-item focus-none pe-4 gap-4',
|
|
@@ -425,7 +253,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImpor
|
|
|
425
253
|
'[attr.aria-selected]': 'selected()',
|
|
426
254
|
'[attr.data-id]': 'this.option().value'
|
|
427
255
|
}, template: "<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 class=\"d-block icon\" [icon]=\"icons.elementOk\" />\n </span>\n}\n", styles: [".selected-marker>span{font-size:1.5rem;margin-inline-end:-.25rem}.form-check-input{display:none}:host-context(.si-multi-select) .selected-marker{display:none}:host-context(.si-multi-select) .form-check-input{display:block}\n"] }]
|
|
428
|
-
}] });
|
|
256
|
+
}], propDecorators: { option: [{ type: i0.Input, args: [{ isSignal: true, alias: "option", required: true }] }], optionTemplate: [{ type: i0.Input, args: [{ isSignal: true, alias: "optionTemplate", required: false }] }], selected: [{ type: i0.Input, args: [{ isSignal: true, alias: "selected", required: false }] }] } });
|
|
429
257
|
|
|
430
258
|
/**
|
|
431
259
|
* Copyright (c) Siemens 2016 - 2025
|
|
@@ -433,11 +261,19 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImpor
|
|
|
433
261
|
*/
|
|
434
262
|
/**
|
|
435
263
|
* The directive allows to template/customize the group option rendering.
|
|
436
|
-
* This requires using the {@link
|
|
264
|
+
* This requires using the {@link SiSelectSimpleOptionsDirective} to specify options as input.
|
|
437
265
|
*
|
|
438
266
|
* @example
|
|
439
267
|
* ```html
|
|
440
|
-
* <si-select [
|
|
268
|
+
* <si-select [options]="[
|
|
269
|
+
* { type: 'group', key: 'g1', label: 'Group 1', options: [
|
|
270
|
+
* { type: 'option', value: 'g1.i1', label: 'Item 1' },
|
|
271
|
+
* { type: 'option', value: 'g1.i2', label: 'Item 2' }
|
|
272
|
+
* ]},
|
|
273
|
+
* { type: 'group', key: 'g2', label: 'Group 2', options: [
|
|
274
|
+
* { type: 'option', value: 'g2.i1', label: 'Item 1' }
|
|
275
|
+
* ]}
|
|
276
|
+
* ]">
|
|
441
277
|
* <ng-template siSelectGroupTemplate let-group>{{ group.key | uppercase }}</ng-template>
|
|
442
278
|
* </si-select>
|
|
443
279
|
* ```
|
|
@@ -446,10 +282,10 @@ class SiSelectGroupTemplateDirective {
|
|
|
446
282
|
static ngTemplateContextGuard(directive, context) {
|
|
447
283
|
return true;
|
|
448
284
|
}
|
|
449
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
450
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "
|
|
285
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiSelectGroupTemplateDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
286
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.0.8", type: SiSelectGroupTemplateDirective, isStandalone: true, selector: "[siSelectGroupTemplate]", ngImport: i0 });
|
|
451
287
|
}
|
|
452
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
288
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiSelectGroupTemplateDirective, decorators: [{
|
|
453
289
|
type: Directive,
|
|
454
290
|
args: [{
|
|
455
291
|
selector: '[siSelectGroupTemplate]'
|
|
@@ -464,10 +300,10 @@ class SiSelectOptionRowTemplateDirective {
|
|
|
464
300
|
static ngTemplateContextGuard(directive, context) {
|
|
465
301
|
return true;
|
|
466
302
|
}
|
|
467
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
468
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "
|
|
303
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiSelectOptionRowTemplateDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
304
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.0.8", type: SiSelectOptionRowTemplateDirective, isStandalone: true, selector: "[siSelectOptionRowTemplate]", ngImport: i0 });
|
|
469
305
|
}
|
|
470
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
306
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiSelectOptionRowTemplateDirective, decorators: [{
|
|
471
307
|
type: Directive,
|
|
472
308
|
args: [{
|
|
473
309
|
selector: '[siSelectOptionRowTemplate]'
|
|
@@ -479,12 +315,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImpor
|
|
|
479
315
|
* SPDX-License-Identifier: MIT
|
|
480
316
|
*/
|
|
481
317
|
class SiSelectListBase {
|
|
482
|
-
baseId = input.required();
|
|
483
|
-
optionTemplate = input();
|
|
484
|
-
groupTemplate = input();
|
|
318
|
+
baseId = input.required(...(ngDevMode ? [{ debugName: "baseId" }] : []));
|
|
319
|
+
optionTemplate = input(...(ngDevMode ? [undefined, { debugName: "optionTemplate" }] : []));
|
|
320
|
+
groupTemplate = input(...(ngDevMode ? [undefined, { debugName: "groupTemplate" }] : []));
|
|
485
321
|
/** @defaultValue null */
|
|
486
|
-
labelledby = input(null);
|
|
487
|
-
actionsTemplate = input();
|
|
322
|
+
labelledby = input(null, ...(ngDevMode ? [{ debugName: "labelledby" }] : []));
|
|
323
|
+
actionsTemplate = input(...(ngDevMode ? [undefined, { debugName: "actionsTemplate" }] : []));
|
|
488
324
|
closeOverlay = output();
|
|
489
325
|
selectionStrategy = inject(SiSelectSelectionStrategy);
|
|
490
326
|
selectOptions = inject(SI_SELECT_OPTIONS_STRATEGY);
|
|
@@ -513,17 +349,17 @@ class SiSelectListBase {
|
|
|
513
349
|
this.closeOverlayAlways();
|
|
514
350
|
}
|
|
515
351
|
}
|
|
516
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
517
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "
|
|
352
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiSelectListBase, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
353
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.0.8", type: SiSelectListBase, isStandalone: true, inputs: { baseId: { classPropertyName: "baseId", publicName: "baseId", isSignal: true, isRequired: true, transformFunction: null }, optionTemplate: { classPropertyName: "optionTemplate", publicName: "optionTemplate", isSignal: true, isRequired: false, transformFunction: null }, groupTemplate: { classPropertyName: "groupTemplate", publicName: "groupTemplate", isSignal: true, isRequired: false, transformFunction: null }, labelledby: { classPropertyName: "labelledby", publicName: "labelledby", isSignal: true, isRequired: false, transformFunction: null }, actionsTemplate: { classPropertyName: "actionsTemplate", publicName: "actionsTemplate", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { closeOverlay: "closeOverlay" }, host: { listeners: { "keydown.tab": "keydownTab()" }, properties: { "class.si-multi-select": "this.multiSelect" }, classAttribute: "dropdown-menu position-static w-100 py-4 d-flex flex-column" }, ngImport: i0 });
|
|
518
354
|
}
|
|
519
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
355
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiSelectListBase, decorators: [{
|
|
520
356
|
type: Directive,
|
|
521
357
|
args: [{
|
|
522
358
|
host: {
|
|
523
359
|
class: 'dropdown-menu position-static w-100 py-4 d-flex flex-column'
|
|
524
360
|
}
|
|
525
361
|
}]
|
|
526
|
-
}], propDecorators: { multiSelect: [{
|
|
362
|
+
}], propDecorators: { baseId: [{ type: i0.Input, args: [{ isSignal: true, alias: "baseId", required: true }] }], optionTemplate: [{ type: i0.Input, args: [{ isSignal: true, alias: "optionTemplate", required: false }] }], groupTemplate: [{ type: i0.Input, args: [{ isSignal: true, alias: "groupTemplate", required: false }] }], labelledby: [{ type: i0.Input, args: [{ isSignal: true, alias: "labelledby", required: false }] }], actionsTemplate: [{ type: i0.Input, args: [{ isSignal: true, alias: "actionsTemplate", required: false }] }], closeOverlay: [{ type: i0.Output, args: ["closeOverlay"] }], multiSelect: [{
|
|
527
363
|
type: HostBinding,
|
|
528
364
|
args: ['class.si-multi-select']
|
|
529
365
|
}], keydownTab: [{
|
|
@@ -537,12 +373,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImpor
|
|
|
537
373
|
*/
|
|
538
374
|
class SiSelectListHasFilterComponent extends SiSelectListBase {
|
|
539
375
|
/** Placeholder for search input field. */
|
|
540
|
-
filterPlaceholder = input.required();
|
|
376
|
+
filterPlaceholder = input.required(...(ngDevMode ? [{ debugName: "filterPlaceholder" }] : []));
|
|
541
377
|
/** Label if no item can be found. */
|
|
542
|
-
noResultsFoundLabel = input.required();
|
|
378
|
+
noResultsFoundLabel = input.required(...(ngDevMode ? [{ debugName: "noResultsFoundLabel" }] : []));
|
|
543
379
|
filterInput = viewChild.required('filter');
|
|
544
380
|
initIndex;
|
|
545
|
-
id = computed(() => `${this.baseId()}-listbox
|
|
381
|
+
id = computed(() => `${this.baseId()}-listbox`, ...(ngDevMode ? [{ debugName: "id" }] : []));
|
|
546
382
|
icons = addIcons({ elementSearch });
|
|
547
383
|
constructor() {
|
|
548
384
|
super();
|
|
@@ -551,10 +387,10 @@ class SiSelectListHasFilterComponent extends SiSelectListBase {
|
|
|
551
387
|
}
|
|
552
388
|
const firstValue = this.selectionStrategy.arrayValue()[0];
|
|
553
389
|
if (firstValue) {
|
|
554
|
-
this.initIndex = computed(() => this.rows().findIndex(row => row.type === 'option' && row.value === firstValue));
|
|
390
|
+
this.initIndex = computed(() => this.rows().findIndex(row => row.type === 'option' && row.value === firstValue), ...(ngDevMode ? [{ debugName: "initIndex" }] : []));
|
|
555
391
|
}
|
|
556
392
|
else {
|
|
557
|
-
this.initIndex = signal(0);
|
|
393
|
+
this.initIndex = signal(0, ...(ngDevMode ? [{ debugName: "initIndex" }] : []));
|
|
558
394
|
}
|
|
559
395
|
}
|
|
560
396
|
ngOnInit() {
|
|
@@ -579,10 +415,10 @@ class SiSelectListHasFilterComponent extends SiSelectListBase {
|
|
|
579
415
|
}
|
|
580
416
|
this.closeOverlayIfSingle();
|
|
581
417
|
}
|
|
582
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
583
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
418
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiSelectListHasFilterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
419
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.8", type: SiSelectListHasFilterComponent, isStandalone: true, selector: "si-select-list-has-filter", inputs: { filterPlaceholder: { classPropertyName: "filterPlaceholder", publicName: "filterPlaceholder", isSignal: true, isRequired: true, transformFunction: null }, noResultsFoundLabel: { classPropertyName: "noResultsFoundLabel", publicName: "noResultsFoundLabel", isSignal: true, isRequired: true, transformFunction: null } }, host: { properties: { "attr.id": "id()" }, classAttribute: "pt-0" }, viewQueries: [{ propertyName: "filterInput", first: true, predicate: ["filter"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<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\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", styles: [".si-select-filtered-items{max-block-size:min(100vh - 56px,266px);overflow-y:auto}si-loading-spinner{--loading-spinner-size: 1.5rem}\n"], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: SiAutocompleteDirective, selector: "input[siAutocomplete]", exportAs: ["siAutocomplete"] }, { kind: "component", type: SiIconComponent, selector: "si-icon", inputs: ["icon"] }, { kind: "directive", type: SiSelectGroupTemplateDirective, selector: "[siSelectGroupTemplate]" }, { kind: "component", type: SiSelectOptionRowComponent, selector: "si-select-option-row", inputs: ["option", "optionTemplate", "selected"] }, { kind: "directive", type: SiSelectOptionRowTemplateDirective, selector: "[siSelectOptionRowTemplate]" }, { kind: "ngmodule", type: SiAutocompleteModule }, { kind: "directive", type: i1$1.SiAutocompleteListboxDirective, selector: "[siAutocompleteListboxFor]", inputs: ["id", "siAutocompleteListboxFor", "siAutocompleteDefaultIndex"], outputs: ["siAutocompleteOptionSubmitted"], exportAs: ["siAutocompleteListbox"] }, { kind: "directive", type: i1$1.SiAutocompleteOptionDirective, selector: "[siAutocompleteOption]", inputs: ["id", "disabled", "siAutocompleteOption"], exportAs: ["siAutocompleteOption"] }, { kind: "component", type: SiLoadingSpinnerComponent, selector: "si-loading-spinner", inputs: ["isBlockingSpinner", "isSpinnerOverlay", "ariaLabel"] }, { kind: "pipe", type: SiTranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
584
420
|
}
|
|
585
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
421
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiSelectListHasFilterComponent, decorators: [{
|
|
586
422
|
type: Component,
|
|
587
423
|
args: [{ selector: 'si-select-list-has-filter', imports: [
|
|
588
424
|
NgTemplateOutlet,
|
|
@@ -598,7 +434,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImpor
|
|
|
598
434
|
class: 'pt-0',
|
|
599
435
|
'[attr.id]': 'id()'
|
|
600
436
|
}, template: "<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\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", styles: [".si-select-filtered-items{max-block-size:min(100vh - 56px,266px);overflow-y:auto}si-loading-spinner{--loading-spinner-size: 1.5rem}\n"] }]
|
|
601
|
-
}], ctorParameters: () => [] });
|
|
437
|
+
}], ctorParameters: () => [], propDecorators: { filterPlaceholder: [{ type: i0.Input, args: [{ isSignal: true, alias: "filterPlaceholder", required: true }] }], noResultsFoundLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "noResultsFoundLabel", required: true }] }], filterInput: [{ type: i0.ViewChild, args: ['filter', { isSignal: true }] }] } });
|
|
602
438
|
|
|
603
439
|
/**
|
|
604
440
|
* Copyright (c) Siemens 2016 - 2025
|
|
@@ -615,10 +451,10 @@ class SiSelectListComponent extends SiSelectListBase {
|
|
|
615
451
|
listBoxValueChange(changeEvent) {
|
|
616
452
|
this.selectionStrategy.updateFromUser(changeEvent.value.slice());
|
|
617
453
|
}
|
|
618
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
619
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
454
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiSelectListComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
455
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.8", type: SiSelectListComponent, isStandalone: true, selector: "si-select-list", viewQueries: [{ propertyName: "listbox", first: true, predicate: CdkListbox, descendants: true, read: ElementRef, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<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", styles: [".si-select-filtered-items{max-block-size:min(100vh,266px);overflow-y:auto}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: CdkListbox, selector: "[cdkListbox]", inputs: ["id", "tabindex", "cdkListboxValue", "cdkListboxMultiple", "cdkListboxDisabled", "cdkListboxUseActiveDescendant", "cdkListboxOrientation", "cdkListboxCompareWith", "cdkListboxNavigationWrapDisabled", "cdkListboxNavigatesDisabledOptions"], outputs: ["cdkListboxValueChange"], exportAs: ["cdkListbox"] }, { kind: "directive", type: CdkOption, selector: "[cdkOption]", inputs: ["id", "cdkOption", "cdkOptionTypeaheadLabel", "cdkOptionDisabled", "tabindex"], exportAs: ["cdkOption"] }, { kind: "directive", type: SiSelectOptionRowTemplateDirective, selector: "[siSelectOptionRowTemplate]" }, { kind: "directive", type: SiSelectGroupTemplateDirective, selector: "[siSelectGroupTemplate]" }, { kind: "component", type: SiSelectOptionRowComponent, selector: "si-select-option-row", inputs: ["option", "optionTemplate", "selected"] }, { kind: "pipe", type: SiTranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
620
456
|
}
|
|
621
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
457
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiSelectListComponent, decorators: [{
|
|
622
458
|
type: Component,
|
|
623
459
|
args: [{ selector: 'si-select-list', imports: [
|
|
624
460
|
CommonModule,
|
|
@@ -629,7 +465,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImpor
|
|
|
629
465
|
SiSelectGroupTemplateDirective,
|
|
630
466
|
SiSelectOptionRowComponent
|
|
631
467
|
], changeDetection: ChangeDetectionStrategy.OnPush, template: "<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", styles: [".si-select-filtered-items{max-block-size:min(100vh,266px);overflow-y:auto}\n"] }]
|
|
632
|
-
}]
|
|
468
|
+
}], propDecorators: { listbox: [{ type: i0.ViewChild, args: [i0.forwardRef(() => CdkListbox), { ...{
|
|
469
|
+
read: ElementRef
|
|
470
|
+
}, isSignal: true }] }] } });
|
|
633
471
|
|
|
634
472
|
/**
|
|
635
473
|
* Copyright (c) Siemens 2016 - 2025
|
|
@@ -640,10 +478,10 @@ class SiSelectActionsDirective {
|
|
|
640
478
|
static ngTemplateContextGuard(directive, context) {
|
|
641
479
|
return true;
|
|
642
480
|
}
|
|
643
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
644
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "
|
|
481
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiSelectActionsDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
482
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.0.8", type: SiSelectActionsDirective, isStandalone: true, selector: "[siSelectActions]", exportAs: ["si-select-actions"], ngImport: i0 });
|
|
645
483
|
}
|
|
646
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
484
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiSelectActionsDirective, decorators: [{
|
|
647
485
|
type: Directive,
|
|
648
486
|
args: [{
|
|
649
487
|
selector: '[siSelectActions]',
|
|
@@ -665,19 +503,19 @@ class SiSelectComponent {
|
|
|
665
503
|
* `__si-select-${SiSelectComponent.idCounter++}`
|
|
666
504
|
* ```
|
|
667
505
|
*/
|
|
668
|
-
id = input(`__si-select-${SiSelectComponent.idCounter++}
|
|
506
|
+
id = input(`__si-select-${SiSelectComponent.idCounter++}`, ...(ngDevMode ? [{ debugName: "id" }] : []));
|
|
669
507
|
/**
|
|
670
508
|
* Aria label of the select.
|
|
671
509
|
*
|
|
672
510
|
* @defaultValue null
|
|
673
511
|
*/
|
|
674
|
-
ariaLabel = input(null);
|
|
512
|
+
ariaLabel = input(null, ...(ngDevMode ? [{ debugName: "ariaLabel" }] : []));
|
|
675
513
|
/**
|
|
676
514
|
* Aria labelledby of the select.
|
|
677
515
|
* @defaultValue undefined
|
|
678
516
|
*/
|
|
679
517
|
// eslint-disable-next-line @angular-eslint/no-input-rename
|
|
680
|
-
labelledbyInput = input(undefined, { alias: 'labelledby' });
|
|
518
|
+
labelledbyInput = input(undefined, { ...(ngDevMode ? { debugName: "labelledbyInput" } : {}), alias: 'labelledby' });
|
|
681
519
|
/**
|
|
682
520
|
* Placeholder for search input field.
|
|
683
521
|
*
|
|
@@ -686,7 +524,7 @@ class SiSelectComponent {
|
|
|
686
524
|
* t(() => $localize`:@@SI_SELECT.SEARCH-PLACEHOLDER:Search...`)
|
|
687
525
|
* ```
|
|
688
526
|
*/
|
|
689
|
-
filterPlaceholder = input(t(() => $localize `:@@SI_SELECT.SEARCH-PLACEHOLDER:Search...`));
|
|
527
|
+
filterPlaceholder = input(t(() => $localize `:@@SI_SELECT.SEARCH-PLACEHOLDER:Search...`), ...(ngDevMode ? [{ debugName: "filterPlaceholder" }] : []));
|
|
690
528
|
/**
|
|
691
529
|
* Label if no item can be found.
|
|
692
530
|
*
|
|
@@ -695,31 +533,26 @@ class SiSelectComponent {
|
|
|
695
533
|
* t(() => $localize`:@@SI_SELECT.NO-RESULTS-FOUND:No results found`)
|
|
696
534
|
* ```
|
|
697
535
|
*/
|
|
698
|
-
noResultsFoundLabel = input(t(() => $localize `:@@SI_SELECT.NO-RESULTS-FOUND:No results found`));
|
|
536
|
+
noResultsFoundLabel = input(t(() => $localize `:@@SI_SELECT.NO-RESULTS-FOUND:No results found`), ...(ngDevMode ? [{ debugName: "noResultsFoundLabel" }] : []));
|
|
699
537
|
/** Placeholder text to display when no options are selected. */
|
|
700
|
-
placeholder = input();
|
|
538
|
+
placeholder = input(...(ngDevMode ? [undefined, { debugName: "placeholder" }] : []));
|
|
701
539
|
/**
|
|
702
540
|
* Readonly state. Similar to disabled but with higher contrast *
|
|
703
541
|
*
|
|
704
542
|
* @defaultValue false
|
|
705
543
|
*/
|
|
706
|
-
readonly = input(false, { transform: booleanAttribute });
|
|
707
|
-
/**
|
|
708
|
-
* Emits on selection dropdown close.
|
|
709
|
-
* @deprecated Use {@link openChange} instead.
|
|
710
|
-
*/
|
|
711
|
-
dropdownClose = output();
|
|
544
|
+
readonly = input(false, { ...(ngDevMode ? { debugName: "readonly" } : {}), transform: booleanAttribute });
|
|
712
545
|
/** Emits when the dropdown open state changes. */
|
|
713
546
|
openChange = output();
|
|
714
|
-
isOpen = signal(false);
|
|
715
|
-
optionTemplate = contentChild(SiSelectOptionTemplateDirective, { read: TemplateRef });
|
|
716
|
-
groupTemplate = contentChild(SiSelectGroupTemplateDirective, { read: TemplateRef });
|
|
717
|
-
actionsTemplate = contentChild(SiSelectActionsDirective, { read: TemplateRef });
|
|
547
|
+
isOpen = signal(false, ...(ngDevMode ? [{ debugName: "isOpen" }] : []));
|
|
548
|
+
optionTemplate = contentChild(SiSelectOptionTemplateDirective, { ...(ngDevMode ? { debugName: "optionTemplate" } : {}), read: TemplateRef });
|
|
549
|
+
groupTemplate = contentChild(SiSelectGroupTemplateDirective, { ...(ngDevMode ? { debugName: "groupTemplate" } : {}), read: TemplateRef });
|
|
550
|
+
actionsTemplate = contentChild(SiSelectActionsDirective, { ...(ngDevMode ? { debugName: "actionsTemplate" } : {}), read: TemplateRef });
|
|
718
551
|
trigger = viewChild.required(CdkOverlayOrigin, {
|
|
719
552
|
read: ElementRef
|
|
720
553
|
});
|
|
721
554
|
/** @internal */
|
|
722
|
-
labelledby = computed(() => this.labelledbyInput() ?? this.id() + '-label');
|
|
555
|
+
labelledby = computed(() => this.labelledbyInput() ?? this.id() + '-label', ...(ngDevMode ? [{ debugName: "labelledby" }] : []));
|
|
723
556
|
/**
|
|
724
557
|
* This ID will be bound to the `aria-describedby` attribute of the select.
|
|
725
558
|
* Use this to reference the element containing the error message(s) for the select.
|
|
@@ -730,26 +563,17 @@ class SiSelectComponent {
|
|
|
730
563
|
* `${this.id()}-errormessage`
|
|
731
564
|
* ```
|
|
732
565
|
*/
|
|
733
|
-
errormessageId = input(`${this.id()}-errormessage
|
|
566
|
+
errormessageId = input(`${this.id()}-errormessage`, ...(ngDevMode ? [{ debugName: "errormessageId" }] : []));
|
|
734
567
|
rows = [];
|
|
735
568
|
overlayWidth = 0;
|
|
736
569
|
selectionStrategy = inject((SiSelectSelectionStrategy));
|
|
737
570
|
backdropClicked = false;
|
|
738
|
-
selectOptions = inject(SI_SELECT_OPTIONS_STRATEGY);
|
|
739
571
|
/**
|
|
740
572
|
* Enables the filter input
|
|
741
573
|
* @defaultValue false
|
|
742
574
|
* @defaultref {@link SiSelectComponent#_hasFilter}
|
|
743
575
|
*/
|
|
744
|
-
hasFilter = input(false, { transform: booleanAttribute });
|
|
745
|
-
ngOnChanges(changes) {
|
|
746
|
-
if (changes.hasFilter && this.hasFilter()) {
|
|
747
|
-
this.verifyValueProvider();
|
|
748
|
-
}
|
|
749
|
-
}
|
|
750
|
-
ngAfterContentInit() {
|
|
751
|
-
this.verifyValueProvider();
|
|
752
|
-
}
|
|
576
|
+
hasFilter = input(false, { ...(ngDevMode ? { debugName: "hasFilter" } : {}), transform: booleanAttribute });
|
|
753
577
|
/** Opens the `si-select`. */
|
|
754
578
|
open() {
|
|
755
579
|
if (this.readonly() || this.selectionStrategy.disabled()) {
|
|
@@ -769,25 +593,16 @@ class SiSelectComponent {
|
|
|
769
593
|
this.backdropClicked = false;
|
|
770
594
|
this.selectionStrategy.onTouched();
|
|
771
595
|
}
|
|
772
|
-
this.dropdownClose.emit();
|
|
773
596
|
this.openChange.emit(false);
|
|
774
597
|
}
|
|
775
598
|
backdropClick() {
|
|
776
599
|
this.backdropClicked = true;
|
|
777
600
|
this.isOpen.set(false);
|
|
778
601
|
}
|
|
779
|
-
|
|
780
|
-
|
|
781
|
-
this.optionTemplate() &&
|
|
782
|
-
this.selectOptions instanceof SiSelectComplexOptionsDirective &&
|
|
783
|
-
!this.selectOptions.valueProvider()) {
|
|
784
|
-
console.error('A valueProvider is required when [hasFilter]="true" and having custom option template on si-select');
|
|
785
|
-
}
|
|
786
|
-
}
|
|
787
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: SiSelectComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
788
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.6", type: SiSelectComponent, isStandalone: true, selector: "si-select", inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, ariaLabel: { classPropertyName: "ariaLabel", publicName: "ariaLabel", isSignal: true, isRequired: false, transformFunction: null }, labelledbyInput: { classPropertyName: "labelledbyInput", publicName: "labelledby", isSignal: true, isRequired: false, transformFunction: null }, filterPlaceholder: { classPropertyName: "filterPlaceholder", publicName: "filterPlaceholder", isSignal: true, isRequired: false, transformFunction: null }, noResultsFoundLabel: { classPropertyName: "noResultsFoundLabel", publicName: "noResultsFoundLabel", isSignal: true, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null }, readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: true, isRequired: false, transformFunction: null }, errormessageId: { classPropertyName: "errormessageId", publicName: "errormessageId", isSignal: true, isRequired: false, transformFunction: null }, hasFilter: { classPropertyName: "hasFilter", publicName: "hasFilter", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { dropdownClose: "dropdownClose", openChange: "openChange" }, host: { properties: { "class.readonly": "readonly()", "class.open": "isOpen()", "class.si-select-has-filter": "hasFilter()" }, classAttribute: "dropdown" }, providers: [{ provide: SI_FORM_ITEM_CONTROL, useExisting: SiSelectComponent }], queries: [{ propertyName: "optionTemplate", first: true, predicate: SiSelectOptionTemplateDirective, descendants: true, read: TemplateRef, isSignal: true }, { propertyName: "groupTemplate", first: true, predicate: SiSelectGroupTemplateDirective, descendants: true, read: TemplateRef, isSignal: true }, { propertyName: "actionsTemplate", first: true, predicate: SiSelectActionsDirective, descendants: true, read: TemplateRef, isSignal: true }], viewQueries: [{ propertyName: "trigger", first: true, predicate: CdkOverlayOrigin, descendants: true, read: ElementRef, isSignal: true }], usesOnChanges: true, ngImport: i0, template: "<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", styles: [":host{display:inline-block;padding:0;block-size:2rem;--si-action-icon-offset: 20px}:host:focus-within,:host.open:not(.si-select-has-filter){outline:var(--element-button-focus-width) solid var(--element-focus-default);outline-offset:var(--element-button-focus-overlay-width)}:host.readonly,:host.disabled{pointer-events:none}\n"], dependencies: [{ kind: "ngmodule", type: OverlayModule }, { kind: "directive", type: i1$3.CdkConnectedOverlay, selector: "[cdk-connected-overlay], [connected-overlay], [cdkConnectedOverlay]", inputs: ["cdkConnectedOverlayOrigin", "cdkConnectedOverlayPositions", "cdkConnectedOverlayPositionStrategy", "cdkConnectedOverlayOffsetX", "cdkConnectedOverlayOffsetY", "cdkConnectedOverlayWidth", "cdkConnectedOverlayHeight", "cdkConnectedOverlayMinWidth", "cdkConnectedOverlayMinHeight", "cdkConnectedOverlayBackdropClass", "cdkConnectedOverlayPanelClass", "cdkConnectedOverlayViewportMargin", "cdkConnectedOverlayScrollStrategy", "cdkConnectedOverlayOpen", "cdkConnectedOverlayDisableClose", "cdkConnectedOverlayTransformOriginOn", "cdkConnectedOverlayHasBackdrop", "cdkConnectedOverlayLockPosition", "cdkConnectedOverlayFlexibleDimensions", "cdkConnectedOverlayGrowAfterOpen", "cdkConnectedOverlayPush", "cdkConnectedOverlayDisposeOnNavigation"], outputs: ["backdropClick", "positionChange", "attach", "detach", "overlayKeydown", "overlayOutsideClick"], exportAs: ["cdkConnectedOverlay"] }, { kind: "directive", type: i1$3.CdkOverlayOrigin, selector: "[cdk-overlay-origin], [overlay-origin], [cdkOverlayOrigin]", exportAs: ["cdkOverlayOrigin"] }, { kind: "component", type: SiSelectInputComponent, selector: "si-select-input", inputs: ["baseId", "labelledby", "ariaLabel", "open", "placeholder", "controls", "optionTemplate", "readonly"], outputs: ["openListbox"] }, { kind: "component", type: SiSelectListComponent, selector: "si-select-list" }, { kind: "component", type: SiSelectListHasFilterComponent, selector: "si-select-list-has-filter", inputs: ["filterPlaceholder", "noResultsFoundLabel"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
602
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiSelectComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
603
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.8", type: SiSelectComponent, isStandalone: true, selector: "si-select", inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, ariaLabel: { classPropertyName: "ariaLabel", publicName: "ariaLabel", isSignal: true, isRequired: false, transformFunction: null }, labelledbyInput: { classPropertyName: "labelledbyInput", publicName: "labelledby", isSignal: true, isRequired: false, transformFunction: null }, filterPlaceholder: { classPropertyName: "filterPlaceholder", publicName: "filterPlaceholder", isSignal: true, isRequired: false, transformFunction: null }, noResultsFoundLabel: { classPropertyName: "noResultsFoundLabel", publicName: "noResultsFoundLabel", isSignal: true, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null }, readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: true, isRequired: false, transformFunction: null }, errormessageId: { classPropertyName: "errormessageId", publicName: "errormessageId", isSignal: true, isRequired: false, transformFunction: null }, hasFilter: { classPropertyName: "hasFilter", publicName: "hasFilter", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { openChange: "openChange" }, host: { properties: { "class.readonly": "readonly()", "class.open": "isOpen()", "class.si-select-has-filter": "hasFilter()" }, classAttribute: "dropdown" }, providers: [{ provide: SI_FORM_ITEM_CONTROL, useExisting: SiSelectComponent }], queries: [{ propertyName: "optionTemplate", first: true, predicate: SiSelectOptionTemplateDirective, descendants: true, read: TemplateRef, isSignal: true }, { propertyName: "groupTemplate", first: true, predicate: SiSelectGroupTemplateDirective, descendants: true, read: TemplateRef, isSignal: true }, { propertyName: "actionsTemplate", first: true, predicate: SiSelectActionsDirective, descendants: true, read: TemplateRef, isSignal: true }], viewQueries: [{ propertyName: "trigger", first: true, predicate: CdkOverlayOrigin, descendants: true, read: ElementRef, isSignal: true }], ngImport: i0, template: "<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", styles: [":host{display:inline-block;padding:0;block-size:2rem;--si-action-icon-offset: 20px}:host:focus-within,:host.open:not(.si-select-has-filter){outline:var(--element-button-focus-width) solid var(--element-focus-default);outline-offset:var(--element-button-focus-overlay-width)}:host.readonly,:host.disabled{pointer-events:none}\n"], dependencies: [{ kind: "ngmodule", type: OverlayModule }, { kind: "directive", type: i1$3.CdkConnectedOverlay, selector: "[cdk-connected-overlay], [connected-overlay], [cdkConnectedOverlay]", inputs: ["cdkConnectedOverlayOrigin", "cdkConnectedOverlayPositions", "cdkConnectedOverlayPositionStrategy", "cdkConnectedOverlayOffsetX", "cdkConnectedOverlayOffsetY", "cdkConnectedOverlayWidth", "cdkConnectedOverlayHeight", "cdkConnectedOverlayMinWidth", "cdkConnectedOverlayMinHeight", "cdkConnectedOverlayBackdropClass", "cdkConnectedOverlayPanelClass", "cdkConnectedOverlayViewportMargin", "cdkConnectedOverlayScrollStrategy", "cdkConnectedOverlayOpen", "cdkConnectedOverlayDisableClose", "cdkConnectedOverlayTransformOriginOn", "cdkConnectedOverlayHasBackdrop", "cdkConnectedOverlayLockPosition", "cdkConnectedOverlayFlexibleDimensions", "cdkConnectedOverlayGrowAfterOpen", "cdkConnectedOverlayPush", "cdkConnectedOverlayDisposeOnNavigation", "cdkConnectedOverlayUsePopover", "cdkConnectedOverlayMatchWidth", "cdkConnectedOverlay"], outputs: ["backdropClick", "positionChange", "attach", "detach", "overlayKeydown", "overlayOutsideClick"], exportAs: ["cdkConnectedOverlay"] }, { kind: "directive", type: i1$3.CdkOverlayOrigin, selector: "[cdk-overlay-origin], [overlay-origin], [cdkOverlayOrigin]", exportAs: ["cdkOverlayOrigin"] }, { kind: "component", type: SiSelectInputComponent, selector: "si-select-input", inputs: ["baseId", "labelledby", "ariaLabel", "open", "placeholder", "controls", "optionTemplate", "readonly"], outputs: ["openListbox"] }, { kind: "component", type: SiSelectListComponent, selector: "si-select-list" }, { kind: "component", type: SiSelectListHasFilterComponent, selector: "si-select-list-has-filter", inputs: ["filterPlaceholder", "noResultsFoundLabel"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
789
604
|
}
|
|
790
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
605
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiSelectComponent, decorators: [{
|
|
791
606
|
type: Component,
|
|
792
607
|
args: [{ selector: 'si-select', imports: [
|
|
793
608
|
OverlayModule,
|
|
@@ -800,7 +615,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImpor
|
|
|
800
615
|
'[class.open]': 'isOpen()',
|
|
801
616
|
'[class.si-select-has-filter]': 'hasFilter()'
|
|
802
617
|
}, template: "<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", styles: [":host{display:inline-block;padding:0;block-size:2rem;--si-action-icon-offset: 20px}:host:focus-within,:host.open:not(.si-select-has-filter){outline:var(--element-button-focus-width) solid var(--element-focus-default);outline-offset:var(--element-button-focus-overlay-width)}:host.readonly,:host.disabled{pointer-events:none}\n"] }]
|
|
803
|
-
}] })
|
|
618
|
+
}], propDecorators: { id: [{ type: i0.Input, args: [{ isSignal: true, alias: "id", required: false }] }], ariaLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "ariaLabel", required: false }] }], labelledbyInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "labelledby", required: false }] }], filterPlaceholder: [{ type: i0.Input, args: [{ isSignal: true, alias: "filterPlaceholder", required: false }] }], noResultsFoundLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "noResultsFoundLabel", required: false }] }], placeholder: [{ type: i0.Input, args: [{ isSignal: true, alias: "placeholder", required: false }] }], readonly: [{ type: i0.Input, args: [{ isSignal: true, alias: "readonly", required: false }] }], openChange: [{ type: i0.Output, args: ["openChange"] }], optionTemplate: [{ type: i0.ContentChild, args: [i0.forwardRef(() => SiSelectOptionTemplateDirective), { ...{ read: TemplateRef }, isSignal: true }] }], groupTemplate: [{ type: i0.ContentChild, args: [i0.forwardRef(() => SiSelectGroupTemplateDirective), { ...{ read: TemplateRef }, isSignal: true }] }], actionsTemplate: [{ type: i0.ContentChild, args: [i0.forwardRef(() => SiSelectActionsDirective), { ...{ read: TemplateRef }, isSignal: true }] }], trigger: [{ type: i0.ViewChild, args: [i0.forwardRef(() => CdkOverlayOrigin), { ...{
|
|
619
|
+
read: ElementRef
|
|
620
|
+
}, isSignal: true }] }], errormessageId: [{ type: i0.Input, args: [{ isSignal: true, alias: "errormessageId", required: false }] }], hasFilter: [{ type: i0.Input, args: [{ isSignal: true, alias: "hasFilter", required: false }] }] } });
|
|
804
621
|
|
|
805
622
|
/**
|
|
806
623
|
* Copyright (c) Siemens 2016 - 2025
|
|
@@ -811,18 +628,18 @@ class SiSelectLazyOptionsDirective {
|
|
|
811
628
|
* {@inheritDoc SiSelectOptionsStrategy#loading}
|
|
812
629
|
* @defaultValue false
|
|
813
630
|
*/
|
|
814
|
-
loading = signal(false);
|
|
631
|
+
loading = signal(false, ...(ngDevMode ? [{ debugName: "loading" }] : []));
|
|
815
632
|
/**
|
|
816
633
|
* {@inheritDoc SiSelectOptionsStrategy#rows}
|
|
817
634
|
* @defaultValue []
|
|
818
635
|
*/
|
|
819
|
-
rows = signal([]);
|
|
636
|
+
rows = signal([], ...(ngDevMode ? [{ debugName: "rows" }] : []));
|
|
820
637
|
/**
|
|
821
638
|
* {@inheritDoc SiSelectOptionsStrategy#selectedRows}
|
|
822
639
|
* @defaultValue []
|
|
823
640
|
*/
|
|
824
|
-
selectedRows = signal([]);
|
|
825
|
-
optionSource = input.required();
|
|
641
|
+
selectedRows = signal([], ...(ngDevMode ? [{ debugName: "selectedRows" }] : []));
|
|
642
|
+
optionSource = input.required(...(ngDevMode ? [{ debugName: "optionSource" }] : []));
|
|
826
643
|
valueChange = new Subject();
|
|
827
644
|
filterChange = new Subject();
|
|
828
645
|
constructor() {
|
|
@@ -893,17 +710,79 @@ class SiSelectLazyOptionsDirective {
|
|
|
893
710
|
}
|
|
894
711
|
return false;
|
|
895
712
|
}
|
|
896
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
897
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "
|
|
713
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiSelectLazyOptionsDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
714
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.0.8", type: SiSelectLazyOptionsDirective, isStandalone: true, selector: "si-select[optionSource]", inputs: { optionSource: { classPropertyName: "optionSource", publicName: "optionSource", isSignal: true, isRequired: true, transformFunction: null } }, providers: [{ provide: SI_SELECT_OPTIONS_STRATEGY, useExisting: SiSelectLazyOptionsDirective }], ngImport: i0 });
|
|
898
715
|
}
|
|
899
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
716
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiSelectLazyOptionsDirective, decorators: [{
|
|
900
717
|
type: Directive,
|
|
901
718
|
args: [{
|
|
902
719
|
// eslint-disable-next-line @angular-eslint/directive-selector
|
|
903
720
|
selector: 'si-select[optionSource]',
|
|
904
721
|
providers: [{ provide: SI_SELECT_OPTIONS_STRATEGY, useExisting: SiSelectLazyOptionsDirective }]
|
|
905
722
|
}]
|
|
906
|
-
}], ctorParameters: () => [] });
|
|
723
|
+
}], ctorParameters: () => [], propDecorators: { optionSource: [{ type: i0.Input, args: [{ isSignal: true, alias: "optionSource", required: true }] }] } });
|
|
724
|
+
|
|
725
|
+
/**
|
|
726
|
+
* Copyright (c) Siemens 2016 - 2025
|
|
727
|
+
* SPDX-License-Identifier: MIT
|
|
728
|
+
*/
|
|
729
|
+
/**
|
|
730
|
+
* Input options strategy base class, for eagerly fetched options.
|
|
731
|
+
*/
|
|
732
|
+
class SiSelectOptionsStrategyBase {
|
|
733
|
+
value = signal([], ...(ngDevMode ? [{ debugName: "value" }] : []));
|
|
734
|
+
filterValue = signal('', ...(ngDevMode ? [{ debugName: "filterValue" }] : []));
|
|
735
|
+
/**
|
|
736
|
+
* Rows that should be shown.
|
|
737
|
+
*
|
|
738
|
+
* @defaultValue []
|
|
739
|
+
*/
|
|
740
|
+
rows = computed(() => {
|
|
741
|
+
const filterValue = this.filterValue();
|
|
742
|
+
if (filterValue) {
|
|
743
|
+
const filterValueLC = filterValue.toLowerCase();
|
|
744
|
+
const checkRow = (row) => (row.typeaheadLabel ?? row.label).toLowerCase().includes(filterValueLC);
|
|
745
|
+
return this.allRows().reduce((rows, row) => {
|
|
746
|
+
if (row.type === 'option' && checkRow(row)) {
|
|
747
|
+
rows.push(row);
|
|
748
|
+
}
|
|
749
|
+
else if (row.type === 'group') {
|
|
750
|
+
if (row.label.toLowerCase().includes(filterValueLC)) {
|
|
751
|
+
rows.push(row);
|
|
752
|
+
}
|
|
753
|
+
else {
|
|
754
|
+
const options = row.options.filter(checkRow);
|
|
755
|
+
if (options.length) {
|
|
756
|
+
rows.push({ ...row, options });
|
|
757
|
+
}
|
|
758
|
+
}
|
|
759
|
+
}
|
|
760
|
+
return rows;
|
|
761
|
+
}, []);
|
|
762
|
+
}
|
|
763
|
+
else {
|
|
764
|
+
return this.allRows();
|
|
765
|
+
}
|
|
766
|
+
}, ...(ngDevMode ? [{ debugName: "rows" }] : []));
|
|
767
|
+
selectedRows = computed(() => {
|
|
768
|
+
const values = this.value();
|
|
769
|
+
return this.allRows()
|
|
770
|
+
.map(row => (row.type === 'group' ? row.options : row))
|
|
771
|
+
.flat()
|
|
772
|
+
.filter(option => values.some(value => this.optionsEqual()(value, option.value)));
|
|
773
|
+
}, ...(ngDevMode ? [{ debugName: "selectedRows" }] : []));
|
|
774
|
+
onValueChange(value) {
|
|
775
|
+
this.value.set(value);
|
|
776
|
+
}
|
|
777
|
+
onFilter(filterValue) {
|
|
778
|
+
this.filterValue.set(filterValue ?? '');
|
|
779
|
+
}
|
|
780
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiSelectOptionsStrategyBase, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
781
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.0.8", type: SiSelectOptionsStrategyBase, isStandalone: true, ngImport: i0 });
|
|
782
|
+
}
|
|
783
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiSelectOptionsStrategyBase, decorators: [{
|
|
784
|
+
type: Directive
|
|
785
|
+
}] });
|
|
907
786
|
|
|
908
787
|
/**
|
|
909
788
|
* Copyright (c) Siemens 2016 - 2025
|
|
@@ -920,7 +799,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImpor
|
|
|
920
799
|
*/
|
|
921
800
|
class SiSelectSimpleOptionsDirective extends SiSelectOptionsStrategyBase {
|
|
922
801
|
/** Options to be shown in select dropdown */
|
|
923
|
-
options = input();
|
|
802
|
+
options = input(...(ngDevMode ? [undefined, { debugName: "options" }] : []));
|
|
924
803
|
/**
|
|
925
804
|
* By default, values are check on referential equality. Provide a function to customize the behavior.
|
|
926
805
|
*
|
|
@@ -929,42 +808,21 @@ class SiSelectSimpleOptionsDirective extends SiSelectOptionsStrategyBase {
|
|
|
929
808
|
* (a: T, b: T): boolean => a === b
|
|
930
809
|
* ```
|
|
931
810
|
*/
|
|
932
|
-
optionsEqual = input((a, b) => a === b, {
|
|
811
|
+
optionsEqual = input((a, b) => a === b, { ...(ngDevMode ? { debugName: "optionsEqual" } : {}),
|
|
933
812
|
// eslint-disable-next-line @angular-eslint/no-input-rename
|
|
934
|
-
alias: 'optionEqualCheckFn'
|
|
935
|
-
});
|
|
936
|
-
|
|
937
|
-
|
|
938
|
-
if (options) {
|
|
939
|
-
return options?.map(option => option.type
|
|
940
|
-
? option
|
|
941
|
-
: {
|
|
942
|
-
type: 'option',
|
|
943
|
-
value: option.id,
|
|
944
|
-
label: option.title,
|
|
945
|
-
iconColor: option.color,
|
|
946
|
-
icon: option.icon,
|
|
947
|
-
disabled: option.disabled
|
|
948
|
-
});
|
|
949
|
-
}
|
|
950
|
-
else {
|
|
951
|
-
return [];
|
|
952
|
-
}
|
|
953
|
-
});
|
|
954
|
-
ngOnChanges() {
|
|
955
|
-
this.onFilter();
|
|
956
|
-
}
|
|
957
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: SiSelectSimpleOptionsDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
|
|
958
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.0.6", type: SiSelectSimpleOptionsDirective, isStandalone: true, selector: "si-select[options]", inputs: { options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: false, transformFunction: null }, optionsEqual: { classPropertyName: "optionsEqual", publicName: "optionEqualCheckFn", isSignal: true, isRequired: false, transformFunction: null } }, providers: [{ provide: SI_SELECT_OPTIONS_STRATEGY, useExisting: SiSelectSimpleOptionsDirective }], usesInheritance: true, usesOnChanges: true, ngImport: i0 });
|
|
813
|
+
alias: 'optionEqualCheckFn' });
|
|
814
|
+
allRows = computed(() => this.options() ?? [], ...(ngDevMode ? [{ debugName: "allRows" }] : []));
|
|
815
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiSelectSimpleOptionsDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
|
|
816
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.0.8", type: SiSelectSimpleOptionsDirective, isStandalone: true, selector: "si-select[options]", inputs: { options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: false, transformFunction: null }, optionsEqual: { classPropertyName: "optionsEqual", publicName: "optionEqualCheckFn", isSignal: true, isRequired: false, transformFunction: null } }, providers: [{ provide: SI_SELECT_OPTIONS_STRATEGY, useExisting: SiSelectSimpleOptionsDirective }], usesInheritance: true, ngImport: i0 });
|
|
959
817
|
}
|
|
960
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
818
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiSelectSimpleOptionsDirective, decorators: [{
|
|
961
819
|
type: Directive,
|
|
962
820
|
args: [{
|
|
963
821
|
// eslint-disable-next-line @angular-eslint/directive-selector
|
|
964
822
|
selector: 'si-select[options]',
|
|
965
823
|
providers: [{ provide: SI_SELECT_OPTIONS_STRATEGY, useExisting: SiSelectSimpleOptionsDirective }]
|
|
966
824
|
}]
|
|
967
|
-
}] });
|
|
825
|
+
}], propDecorators: { options: [{ type: i0.Input, args: [{ isSignal: true, alias: "options", required: false }] }], optionsEqual: [{ type: i0.Input, args: [{ isSignal: true, alias: "optionEqualCheckFn", required: false }] }] } });
|
|
968
826
|
|
|
969
827
|
/**
|
|
970
828
|
* Copyright (c) Siemens 2016 - 2025
|
|
@@ -995,8 +853,8 @@ class SiSelectSingleValueDirective extends SiSelectSelectionStrategy {
|
|
|
995
853
|
fromArrayValue([value]) {
|
|
996
854
|
return value;
|
|
997
855
|
}
|
|
998
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
999
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "
|
|
856
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiSelectSingleValueDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
|
|
857
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.0.8", type: SiSelectSingleValueDirective, isStandalone: true, selector: "si-select:not([multi])", providers: [
|
|
1000
858
|
{ provide: SiSelectSelectionStrategy, useExisting: SiSelectSingleValueDirective },
|
|
1001
859
|
{
|
|
1002
860
|
provide: NG_VALUE_ACCESSOR,
|
|
@@ -1005,7 +863,7 @@ class SiSelectSingleValueDirective extends SiSelectSelectionStrategy {
|
|
|
1005
863
|
}
|
|
1006
864
|
], usesInheritance: true, ngImport: i0 });
|
|
1007
865
|
}
|
|
1008
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
866
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiSelectSingleValueDirective, decorators: [{
|
|
1009
867
|
type: Directive,
|
|
1010
868
|
args: [{
|
|
1011
869
|
// eslint-disable-next-line @angular-eslint/directive-selector
|
|
@@ -1050,8 +908,8 @@ class SiSelectMultiValueDirective extends SiSelectSelectionStrategy {
|
|
|
1050
908
|
toArrayValue(value) {
|
|
1051
909
|
return value ?? [];
|
|
1052
910
|
}
|
|
1053
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
1054
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "
|
|
911
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiSelectMultiValueDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
|
|
912
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.0.8", type: SiSelectMultiValueDirective, isStandalone: true, selector: "si-select[multi]", providers: [
|
|
1055
913
|
{ provide: SiSelectSelectionStrategy, useExisting: SiSelectMultiValueDirective },
|
|
1056
914
|
{
|
|
1057
915
|
provide: NG_VALUE_ACCESSOR,
|
|
@@ -1060,7 +918,7 @@ class SiSelectMultiValueDirective extends SiSelectSelectionStrategy {
|
|
|
1060
918
|
}
|
|
1061
919
|
], usesInheritance: true, ngImport: i0 });
|
|
1062
920
|
}
|
|
1063
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
921
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiSelectMultiValueDirective, decorators: [{
|
|
1064
922
|
type: Directive,
|
|
1065
923
|
args: [{
|
|
1066
924
|
// eslint-disable-next-line @angular-eslint/directive-selector
|
|
@@ -1086,16 +944,16 @@ class SiSelectActionDirective {
|
|
|
1086
944
|
* Close the select drop down on click.
|
|
1087
945
|
* @defaultValue false
|
|
1088
946
|
*/
|
|
1089
|
-
selectActionAutoClose = input(false, { transform: booleanAttribute });
|
|
947
|
+
selectActionAutoClose = input(false, { ...(ngDevMode ? { debugName: "selectActionAutoClose" } : {}), transform: booleanAttribute });
|
|
1090
948
|
close() {
|
|
1091
949
|
if (this.selectActionAutoClose()) {
|
|
1092
950
|
this.select.close();
|
|
1093
951
|
}
|
|
1094
952
|
}
|
|
1095
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
1096
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "
|
|
953
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiSelectActionDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
954
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.0.8", type: SiSelectActionDirective, isStandalone: true, selector: "[siSelectAction]", inputs: { selectActionAutoClose: { classPropertyName: "selectActionAutoClose", publicName: "selectActionAutoClose", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "click": "close()" }, classAttribute: "mx-5 my-4" }, exportAs: ["si-select-action"], ngImport: i0 });
|
|
1097
955
|
}
|
|
1098
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
956
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiSelectActionDirective, decorators: [{
|
|
1099
957
|
type: Directive,
|
|
1100
958
|
args: [{
|
|
1101
959
|
selector: '[siSelectAction]',
|
|
@@ -1104,7 +962,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImpor
|
|
|
1104
962
|
},
|
|
1105
963
|
exportAs: 'si-select-action'
|
|
1106
964
|
}]
|
|
1107
|
-
}], propDecorators: { close: [{
|
|
965
|
+
}], propDecorators: { selectActionAutoClose: [{ type: i0.Input, args: [{ isSignal: true, alias: "selectActionAutoClose", required: false }] }], close: [{
|
|
1108
966
|
type: HostListener,
|
|
1109
967
|
args: ['click']
|
|
1110
968
|
}] } });
|
|
@@ -1114,10 +972,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImpor
|
|
|
1114
972
|
* SPDX-License-Identifier: MIT
|
|
1115
973
|
*/
|
|
1116
974
|
class SiSelectModule {
|
|
1117
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
1118
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
975
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiSelectModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
976
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.0.8", ngImport: i0, type: SiSelectModule, imports: [SiSelectActionDirective,
|
|
1119
977
|
SiSelectActionsDirective,
|
|
1120
|
-
SiSelectComplexOptionsDirective,
|
|
1121
978
|
SiSelectComponent,
|
|
1122
979
|
SiSelectGroupTemplateDirective,
|
|
1123
980
|
SiSelectMultiValueDirective,
|
|
@@ -1125,22 +982,20 @@ class SiSelectModule {
|
|
|
1125
982
|
SiSelectSimpleOptionsDirective,
|
|
1126
983
|
SiSelectSingleValueDirective], exports: [SiSelectActionDirective,
|
|
1127
984
|
SiSelectActionsDirective,
|
|
1128
|
-
SiSelectComplexOptionsDirective,
|
|
1129
985
|
SiSelectComponent,
|
|
1130
986
|
SiSelectGroupTemplateDirective,
|
|
1131
987
|
SiSelectMultiValueDirective,
|
|
1132
988
|
SiSelectOptionTemplateDirective,
|
|
1133
989
|
SiSelectSimpleOptionsDirective,
|
|
1134
990
|
SiSelectSingleValueDirective] });
|
|
1135
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
991
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiSelectModule, imports: [SiSelectComponent] });
|
|
1136
992
|
}
|
|
1137
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
993
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiSelectModule, decorators: [{
|
|
1138
994
|
type: NgModule,
|
|
1139
995
|
args: [{
|
|
1140
996
|
imports: [
|
|
1141
997
|
SiSelectActionDirective,
|
|
1142
998
|
SiSelectActionsDirective,
|
|
1143
|
-
SiSelectComplexOptionsDirective,
|
|
1144
999
|
SiSelectComponent,
|
|
1145
1000
|
SiSelectGroupTemplateDirective,
|
|
1146
1001
|
SiSelectMultiValueDirective,
|
|
@@ -1151,7 +1006,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImpor
|
|
|
1151
1006
|
exports: [
|
|
1152
1007
|
SiSelectActionDirective,
|
|
1153
1008
|
SiSelectActionsDirective,
|
|
1154
|
-
SiSelectComplexOptionsDirective,
|
|
1155
1009
|
SiSelectComponent,
|
|
1156
1010
|
SiSelectGroupTemplateDirective,
|
|
1157
1011
|
SiSelectMultiValueDirective,
|
|
@@ -1171,5 +1025,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImpor
|
|
|
1171
1025
|
* Generated bundle index. Do not edit.
|
|
1172
1026
|
*/
|
|
1173
1027
|
|
|
1174
|
-
export { SiSelectActionDirective, SiSelectActionsDirective,
|
|
1028
|
+
export { SiSelectActionDirective, SiSelectActionsDirective, SiSelectComponent, SiSelectGroupTemplateDirective, SiSelectLazyOptionsDirective, SiSelectListHasFilterComponent, SiSelectModule, SiSelectMultiValueDirective, SiSelectOptionTemplateDirective, SiSelectSimpleOptionsDirective, SiSelectSingleValueDirective };
|
|
1175
1029
|
//# sourceMappingURL=siemens-element-ng-select.mjs.map
|