@siemens/element-ng 49.16.0 → 51.0.0-rc.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/fesm2022/siemens-element-ng-about.mjs +41 -25
- package/fesm2022/siemens-element-ng-about.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-accordion.mjs +59 -41
- package/fesm2022/siemens-element-ng-accordion.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-action-modal.mjs +83 -53
- package/fesm2022/siemens-element-ng-action-modal.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-ag-grid.mjs +143 -148
- package/fesm2022/siemens-element-ng-ag-grid.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-application-header.mjs +180 -188
- package/fesm2022/siemens-element-ng-application-header.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-auto-collapsable-list.mjs +34 -28
- package/fesm2022/siemens-element-ng-auto-collapsable-list.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-autocomplete.mjs +27 -22
- package/fesm2022/siemens-element-ng-autocomplete.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-avatar.mjs +34 -24
- package/fesm2022/siemens-element-ng-avatar.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-badge.mjs +9 -8
- package/fesm2022/siemens-element-ng-badge.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-breadcrumb-router.mjs +17 -14
- package/fesm2022/siemens-element-ng-breadcrumb-router.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-breadcrumb.mjs +21 -17
- package/fesm2022/siemens-element-ng-breadcrumb.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-card.mjs +72 -47
- package/fesm2022/siemens-element-ng-card.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-carousel.mjs +58 -34
- package/fesm2022/siemens-element-ng-carousel.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-chat-messages.mjs +323 -215
- package/fesm2022/siemens-element-ng-chat-messages.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-circle-status.mjs +39 -25
- package/fesm2022/siemens-element-ng-circle-status.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-color-picker.mjs +44 -34
- package/fesm2022/siemens-element-ng-color-picker.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-column-selection-dialog.mjs +58 -37
- package/fesm2022/siemens-element-ng-column-selection-dialog.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-common.mjs +22 -22
- package/fesm2022/siemens-element-ng-common.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-connection-strength.mjs +14 -12
- package/fesm2022/siemens-element-ng-connection-strength.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-content-action-bar.mjs +37 -28
- package/fesm2022/siemens-element-ng-content-action-bar.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-copyright-notice.mjs +19 -14
- package/fesm2022/siemens-element-ng-copyright-notice.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-dashboard.mjs +337 -223
- package/fesm2022/siemens-element-ng-dashboard.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-datatable.mjs +12 -15
- package/fesm2022/siemens-element-ng-datatable.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-date-range-filter.mjs +126 -76
- package/fesm2022/siemens-element-ng-date-range-filter.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-datepicker.mjs +393 -251
- package/fesm2022/siemens-element-ng-datepicker.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-electron-titlebar.mjs +22 -17
- package/fesm2022/siemens-element-ng-electron-titlebar.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-empty-state.mjs +15 -12
- package/fesm2022/siemens-element-ng-empty-state.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-file-uploader.mjs +105 -91
- package/fesm2022/siemens-element-ng-file-uploader.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-filter-bar.mjs +33 -25
- package/fesm2022/siemens-element-ng-filter-bar.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-filtered-search.mjs +274 -165
- package/fesm2022/siemens-element-ng-filtered-search.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-footer.mjs +12 -10
- package/fesm2022/siemens-element-ng-footer.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-form.mjs +361 -116
- package/fesm2022/siemens-element-ng-form.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-formly-legacy.mjs +99 -0
- package/fesm2022/siemens-element-ng-formly-legacy.mjs.map +1 -0
- package/fesm2022/siemens-element-ng-formly.mjs +224 -318
- package/fesm2022/siemens-element-ng-formly.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-header-dropdown.mjs +40 -30
- package/fesm2022/siemens-element-ng-header-dropdown.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-help-button.mjs +6 -6
- package/fesm2022/siemens-element-ng-help-button.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-icon.mjs +56 -57
- package/fesm2022/siemens-element-ng-icon.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-info-page.mjs +17 -11
- package/fesm2022/siemens-element-ng-info-page.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-inline-notification.mjs +19 -14
- package/fesm2022/siemens-element-ng-inline-notification.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-ip-input.mjs +19 -15
- package/fesm2022/siemens-element-ng-ip-input.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-landing-page.mjs +121 -75
- package/fesm2022/siemens-element-ng-landing-page.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-language-switcher.mjs +16 -12
- package/fesm2022/siemens-element-ng-language-switcher.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-link.mjs +31 -21
- package/fesm2022/siemens-element-ng-link.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-list-details.mjs +132 -66
- package/fesm2022/siemens-element-ng-list-details.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-loading-spinner.mjs +51 -64
- package/fesm2022/siemens-element-ng-loading-spinner.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-localization.mjs +14 -12
- package/fesm2022/siemens-element-ng-localization.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-main-detail-container.mjs +116 -51
- package/fesm2022/siemens-element-ng-main-detail-container.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-maplibre.mjs +401 -0
- package/fesm2022/siemens-element-ng-maplibre.mjs.map +1 -0
- package/fesm2022/siemens-element-ng-markdown-directives-tabs.mjs +70 -0
- package/fesm2022/siemens-element-ng-markdown-directives-tabs.mjs.map +1 -0
- package/fesm2022/siemens-element-ng-markdown-extensions-citations.mjs +215 -0
- package/fesm2022/siemens-element-ng-markdown-extensions-citations.mjs.map +1 -0
- package/fesm2022/siemens-element-ng-markdown-extensions-katex.mjs +76 -0
- package/fesm2022/siemens-element-ng-markdown-extensions-katex.mjs.map +1 -0
- package/fesm2022/siemens-element-ng-markdown-extensions-mermaid.mjs +86 -0
- package/fesm2022/siemens-element-ng-markdown-extensions-mermaid.mjs.map +1 -0
- package/fesm2022/siemens-element-ng-markdown-hightlighter-highlightjs.mjs +130 -0
- package/fesm2022/siemens-element-ng-markdown-hightlighter-highlightjs.mjs.map +1 -0
- package/fesm2022/siemens-element-ng-markdown.mjs +800 -0
- package/fesm2022/siemens-element-ng-markdown.mjs.map +1 -0
- package/fesm2022/siemens-element-ng-menu.mjs +71 -57
- package/fesm2022/siemens-element-ng-menu.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-modal.mjs +14 -11
- package/fesm2022/siemens-element-ng-modal.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-navbar-vertical-next.mjs +251 -206
- package/fesm2022/siemens-element-ng-navbar-vertical-next.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-navbar-vertical.mjs +123 -86
- package/fesm2022/siemens-element-ng-navbar-vertical.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-navbar.mjs +72 -45
- package/fesm2022/siemens-element-ng-navbar.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-notification-item.mjs +19 -11
- package/fesm2022/siemens-element-ng-notification-item.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-number-input.mjs +41 -29
- package/fesm2022/siemens-element-ng-number-input.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-pagination.mjs +31 -20
- package/fesm2022/siemens-element-ng-pagination.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-password-strength.mjs +33 -24
- package/fesm2022/siemens-element-ng-password-strength.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-password-toggle.mjs +19 -14
- package/fesm2022/siemens-element-ng-password-toggle.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-phone-number.mjs +144 -139
- package/fesm2022/siemens-element-ng-phone-number.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-photo-upload.mjs +85 -52
- package/fesm2022/siemens-element-ng-photo-upload.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-pills-input.mjs +56 -41
- package/fesm2022/siemens-element-ng-pills-input.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-popover-legacy.mjs +43 -28
- package/fesm2022/siemens-element-ng-popover-legacy.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-popover.mjs +35 -27
- package/fesm2022/siemens-element-ng-popover.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-progressbar.mjs +23 -16
- package/fesm2022/siemens-element-ng-progressbar.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-resize-observer.mjs +32 -43
- package/fesm2022/siemens-element-ng-resize-observer.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-result-details-list.mjs +12 -10
- package/fesm2022/siemens-element-ng-result-details-list.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-search-bar.mjs +38 -37
- package/fesm2022/siemens-element-ng-search-bar.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-select.mjs +265 -170
- package/fesm2022/siemens-element-ng-select.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-shadow-root.mjs +4 -4
- package/fesm2022/siemens-element-ng-shadow-root.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-side-panel.mjs +181 -104
- package/fesm2022/siemens-element-ng-side-panel.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-skip-links.mjs +21 -24
- package/fesm2022/siemens-element-ng-skip-links.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-slider.mjs +45 -30
- package/fesm2022/siemens-element-ng-slider.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-source-chip.mjs +79 -0
- package/fesm2022/siemens-element-ng-source-chip.mjs.map +1 -0
- package/fesm2022/siemens-element-ng-split.mjs +290 -306
- package/fesm2022/siemens-element-ng-split.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-status-bar.mjs +66 -52
- package/fesm2022/siemens-element-ng-status-bar.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-status-counter.mjs +15 -11
- package/fesm2022/siemens-element-ng-status-counter.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-status-toggle.mjs +26 -16
- package/fesm2022/siemens-element-ng-status-toggle.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-summary-chip.mjs +25 -16
- package/fesm2022/siemens-element-ng-summary-chip.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-summary-widget.mjs +27 -17
- package/fesm2022/siemens-element-ng-summary-widget.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-system-banner.mjs +13 -10
- package/fesm2022/siemens-element-ng-system-banner.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-tabs-legacy.mjs +20 -17
- package/fesm2022/siemens-element-ng-tabs-legacy.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-tabs.mjs +156 -131
- package/fesm2022/siemens-element-ng-tabs.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-theme.mjs +29 -6
- package/fesm2022/siemens-element-ng-theme.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-threshold.mjs +62 -42
- package/fesm2022/siemens-element-ng-threshold.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-toast-notification.mjs +59 -40
- package/fesm2022/siemens-element-ng-toast-notification.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-tooltip.mjs +108 -82
- package/fesm2022/siemens-element-ng-tooltip.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-tour.mjs +36 -19
- package/fesm2022/siemens-element-ng-tour.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-translate.mjs +0 -1
- package/fesm2022/siemens-element-ng-translate.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-tree-view.mjs +113 -84
- package/fesm2022/siemens-element-ng-tree-view.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-typeahead.mjs +69 -49
- package/fesm2022/siemens-element-ng-typeahead.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-wizard.mjs +95 -54
- package/fesm2022/siemens-element-ng-wizard.mjs.map +1 -1
- package/formly-legacy/package.json +4 -0
- package/maplibre/package.json +4 -0
- package/maplibre/styles/_index.scss +1 -0
- package/maplibre/styles/maplibre-gl.scss +724 -0
- package/markdown/directives/tabs/package.json +4 -0
- package/markdown/extensions/citations/package.json +4 -0
- package/markdown/extensions/katex/package.json +4 -0
- package/markdown/extensions/mermaid/package.json +4 -0
- package/markdown/hightlighter/highlightjs/package.json +4 -0
- package/markdown/package.json +4 -0
- package/package.json +96 -25
- package/schematics/collection.json +5 -0
- package/schematics/{migrations/icon-path-migration → migrate-tabs-legacy}/index.js +1 -1
- package/schematics/migrate-tabs-legacy/migrate-tabs-legacy-rule.js +675 -0
- package/schematics/migrate-tabs-legacy/schema.json +14 -0
- package/schematics/migration.json +4 -4
- package/schematics/migrations/data/class-member-replacement.js +1 -19
- package/schematics/migrations/data/component-property-names.js +1 -25
- package/schematics/migrations/data/component-property-to-child.js +11 -0
- package/schematics/migrations/data/css-custom-properties.js +224 -0
- package/schematics/migrations/data/element-class-changes.js +116 -18
- package/schematics/migrations/data/element-migration-data.js +6 -0
- package/schematics/migrations/data/element-selectors.js +1 -9
- package/schematics/migrations/data/index.js +0 -4
- package/schematics/migrations/data/migration-test-data.js +49 -6
- package/schematics/migrations/data/provider-function-removals.js +7 -0
- package/schematics/migrations/data/symbol-removals.js +17 -7
- package/schematics/migrations/data/symbol-renaming.js +3 -44
- package/schematics/migrations/element-migration/element-migration.js +6 -6
- package/schematics/migrations/utilities/component-property-to-child.migration.js +73 -0
- package/schematics/migrations/utilities/css-custom-property.migration.js +51 -0
- package/schematics/migrations/utilities/element-class-change.migration.js +10 -5
- package/schematics/migrations/utilities/import-removal.js +39 -0
- package/schematics/migrations/utilities/index.js +4 -0
- package/schematics/migrations/utilities/provider-function-removal.migration.js +116 -0
- package/schematics/ng-update/index.js +1 -1
- package/schematics/ng-update/migrate-content-formatter.js +288 -0
- package/schematics/ng-update/migrate-list-details-units.js +86 -0
- package/schematics/ng-update/migrate-main-detail-units.js +89 -0
- package/schematics/ng-update/migrate-markdown-renderer.js +106 -0
- package/schematics/ng-update/migrate-spacers.js +32 -0
- package/schematics/ng-update/migrate-split-collapse.js +276 -0
- package/schematics/ng-update/migrate-split-scale.js +524 -0
- package/schematics/ng-update/migrate-split-sizes.js +107 -0
- package/schematics/ng-update/migrate-to-v51.js +35 -0
- package/schematics/utils/index.js +1 -0
- package/schematics/utils/template-edit-utils.js +35 -0
- package/schematics/utils/template-utils.js +31 -45
- package/source-chip/package.json +4 -0
- package/template-i18n.json +78 -47
- package/types/siemens-element-ng-application-header.d.ts +7 -33
- package/types/siemens-element-ng-avatar.d.ts +1 -1
- package/types/siemens-element-ng-breadcrumb.d.ts +1 -1
- package/types/siemens-element-ng-chat-messages.d.ts +118 -70
- package/types/siemens-element-ng-circle-status.d.ts +1 -1
- package/types/siemens-element-ng-content-action-bar.d.ts +1 -1
- package/types/siemens-element-ng-dashboard.d.ts +2 -2
- package/types/siemens-element-ng-datatable.d.ts +5 -56
- package/types/siemens-element-ng-date-range-filter.d.ts +1 -1
- package/types/siemens-element-ng-datepicker.d.ts +8 -15
- package/types/siemens-element-ng-electron-titlebar.d.ts +1 -1
- package/types/siemens-element-ng-file-uploader.d.ts +13 -31
- package/types/siemens-element-ng-filter-bar.d.ts +1 -1
- package/types/siemens-element-ng-filtered-search.d.ts +4 -4
- package/types/siemens-element-ng-form.d.ts +183 -44
- package/types/siemens-element-ng-formly-legacy.d.ts +40 -0
- package/types/siemens-element-ng-formly.d.ts +34 -167
- package/types/siemens-element-ng-icon.d.ts +2 -19
- package/types/siemens-element-ng-landing-page.d.ts +2 -2
- package/types/siemens-element-ng-list-details.d.ts +25 -3
- package/types/siemens-element-ng-loading-spinner.d.ts +11 -17
- package/types/siemens-element-ng-main-detail-container.d.ts +23 -3
- package/types/siemens-element-ng-maplibre.d.ts +190 -0
- package/types/siemens-element-ng-markdown-directives-tabs.d.ts +10 -0
- package/types/siemens-element-ng-markdown-extensions-citations.d.ts +11 -0
- package/types/siemens-element-ng-markdown-extensions-katex.d.ts +19 -0
- package/types/siemens-element-ng-markdown-extensions-mermaid.d.ts +11 -0
- package/types/siemens-element-ng-markdown-hightlighter-highlightjs.d.ts +48 -0
- package/types/siemens-element-ng-markdown.d.ts +367 -0
- package/types/siemens-element-ng-menu.d.ts +2 -0
- package/types/siemens-element-ng-navbar-vertical-next.d.ts +87 -39
- package/types/siemens-element-ng-navbar-vertical.d.ts +1 -1
- package/types/siemens-element-ng-navbar.d.ts +3 -3
- package/types/siemens-element-ng-notification-item.d.ts +12 -0
- package/types/siemens-element-ng-phone-number.d.ts +28 -10
- package/types/siemens-element-ng-photo-upload.d.ts +4 -4
- package/types/siemens-element-ng-resize-observer.d.ts +0 -17
- package/types/siemens-element-ng-search-bar.d.ts +2 -9
- package/types/siemens-element-ng-select.d.ts +32 -5
- package/types/siemens-element-ng-side-panel.d.ts +25 -11
- package/types/siemens-element-ng-source-chip.d.ts +53 -0
- package/types/siemens-element-ng-split.d.ts +101 -78
- package/types/siemens-element-ng-status-bar.d.ts +5 -13
- package/types/siemens-element-ng-status-counter.d.ts +1 -1
- package/types/siemens-element-ng-system-banner.d.ts +2 -2
- package/types/siemens-element-ng-tabs.d.ts +1 -2
- package/types/siemens-element-ng-theme.d.ts +12 -2
- package/types/siemens-element-ng-threshold.d.ts +1 -1
- package/types/siemens-element-ng-toast-notification.d.ts +0 -1
- package/types/siemens-element-ng-tooltip.d.ts +7 -7
- package/types/siemens-element-ng-translate.d.ts +35 -5
- package/types/siemens-element-ng-tree-view.d.ts +3 -0
- package/types/siemens-element-ng-wizard.d.ts +18 -3
- package/fesm2022/siemens-element-ng-icon-status.mjs +0 -46
- package/fesm2022/siemens-element-ng-icon-status.mjs.map +0 -1
- package/fesm2022/siemens-element-ng-markdown-renderer.mjs +0 -263
- package/fesm2022/siemens-element-ng-markdown-renderer.mjs.map +0 -1
- package/fesm2022/siemens-element-ng-sort-bar.mjs +0 -99
- package/fesm2022/siemens-element-ng-sort-bar.mjs.map +0 -1
- package/icon-status/package.json +0 -4
- package/markdown-renderer/package.json +0 -4
- package/schematics/migrations/icon-path-migration/icon-path-migration.js +0 -95
- package/schematics/ng-update/migrate-to-v49.js +0 -21
- package/schematics/vitest-setup.js +0 -5
- package/sort-bar/package.json +0 -4
- package/types/siemens-element-ng-icon-status.d.ts +0 -25
- package/types/siemens-element-ng-markdown-renderer.d.ts +0 -36
- package/types/siemens-element-ng-sort-bar.d.ts +0 -59
- /package/{LICENSE.md → LICENSE} +0 -0
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as i1$3 from '@angular/cdk/overlay';
|
|
2
2
|
import { CdkOverlayOrigin, OverlayModule, Overlay } from '@angular/cdk/overlay';
|
|
3
3
|
import * as i0 from '@angular/core';
|
|
4
|
-
import { InjectionToken, Directive, input,
|
|
4
|
+
import { InjectionToken, Directive, input, Component, booleanAttribute, output, computed, signal, inject, Input, ElementRef, viewChild, contentChild, TemplateRef, NgModule, model, ViewContainerRef, DestroyRef, PLATFORM_ID } from '@angular/core';
|
|
5
5
|
import { defaultConnectedOverlayScrollStrategy } from '@siemens/element-ng/common';
|
|
6
6
|
import { SI_FORM_ITEM_CONTROL } from '@siemens/element-ng/form';
|
|
7
7
|
import { SiTranslatePipe, t } from '@siemens/element-translate-ng/translate';
|
|
@@ -33,7 +33,8 @@ const SI_SELECT_OPTIONS_STRATEGY = new InjectionToken('si-select.options-strateg
|
|
|
33
33
|
* SPDX-License-Identifier: MIT
|
|
34
34
|
*/
|
|
35
35
|
/**
|
|
36
|
-
* The directive allows to template/customize the
|
|
36
|
+
* The directive allows to template/customize the option rendering in the dropdown.
|
|
37
|
+
* It is also used for rendering selected values in the input if no input template is provided.
|
|
37
38
|
* This requires using the {@link SiSelectSimpleOptionsDirective} to specify options as input.
|
|
38
39
|
*
|
|
39
40
|
* @example
|
|
@@ -48,10 +49,10 @@ class SiSelectOptionTemplateDirective {
|
|
|
48
49
|
static ngTemplateContextGuard(directive, context) {
|
|
49
50
|
return true;
|
|
50
51
|
}
|
|
51
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
52
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "
|
|
52
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SiSelectOptionTemplateDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
53
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.0.8", type: SiSelectOptionTemplateDirective, isStandalone: true, selector: "[siSelectOptionTemplate]", ngImport: i0 });
|
|
53
54
|
}
|
|
54
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
55
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SiSelectOptionTemplateDirective, decorators: [{
|
|
55
56
|
type: Directive,
|
|
56
57
|
args: [{
|
|
57
58
|
selector: '[siSelectOptionTemplate]'
|
|
@@ -66,17 +67,19 @@ class SiSelectOptionComponent {
|
|
|
66
67
|
/**
|
|
67
68
|
* Option to render.
|
|
68
69
|
*/
|
|
69
|
-
option = input.required(
|
|
70
|
+
option = input.required(/* @ts-ignore */
|
|
71
|
+
...(ngDevMode ? [{ debugName: "option" }] : /* istanbul ignore next */ []));
|
|
70
72
|
/**
|
|
71
73
|
* Custom template for rendering the option.
|
|
72
74
|
*/
|
|
73
|
-
optionTemplate = input(
|
|
74
|
-
|
|
75
|
-
static
|
|
75
|
+
optionTemplate = input(/* @ts-ignore */
|
|
76
|
+
...(ngDevMode ? [undefined, { debugName: "optionTemplate" }] : /* istanbul ignore next */ []));
|
|
77
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SiSelectOptionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
78
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.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" }] });
|
|
76
79
|
}
|
|
77
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
80
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SiSelectOptionComponent, decorators: [{
|
|
78
81
|
type: Component,
|
|
79
|
-
args: [{ selector: 'si-select-option', imports: [NgTemplateOutlet, SiIconComponent, SiTranslatePipe, SiSelectOptionTemplateDirective],
|
|
82
|
+
args: [{ selector: 'si-select-option', imports: [NgTemplateOutlet, SiIconComponent, SiTranslatePipe, SiSelectOptionTemplateDirective], host: {
|
|
80
83
|
class: 'd-flex align-items-center overflow-hidden'
|
|
81
84
|
}, 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" }]
|
|
82
85
|
}], propDecorators: { option: [{ type: i0.Input, args: [{ isSignal: true, alias: "option", required: true }] }], optionTemplate: [{ type: i0.Input, args: [{ isSignal: true, alias: "optionTemplate", required: false }] }] } });
|
|
@@ -95,7 +98,7 @@ class SiSelectSelectionStrategy {
|
|
|
95
98
|
* @defaultValue false
|
|
96
99
|
*/
|
|
97
100
|
// eslint-disable-next-line @angular-eslint/no-input-rename
|
|
98
|
-
disabledInput = input(false, { ...(ngDevMode ? { debugName: "disabledInput" } : {}), alias: 'disabled', transform: booleanAttribute });
|
|
101
|
+
disabledInput = input(false, { ...(ngDevMode ? { debugName: "disabledInput" } : /* istanbul ignore next */ {}), alias: 'disabled', transform: booleanAttribute });
|
|
99
102
|
/**
|
|
100
103
|
* The selected value(s).
|
|
101
104
|
*/
|
|
@@ -108,16 +111,19 @@ class SiSelectSelectionStrategy {
|
|
|
108
111
|
* Provides the internal value always as an array
|
|
109
112
|
* @internal
|
|
110
113
|
*/
|
|
111
|
-
arrayValue = computed(() => this.selectOptions.selectedRows().map(option => option.value),
|
|
114
|
+
arrayValue = computed(() => this.selectOptions.selectedRows().map(option => option.value), /* @ts-ignore */
|
|
115
|
+
...(ngDevMode ? [{ debugName: "arrayValue" }] : /* istanbul ignore next */ []));
|
|
112
116
|
/**
|
|
113
117
|
* Registered form callback which shall be called on blur.
|
|
114
118
|
* @internal
|
|
115
119
|
*/
|
|
116
120
|
onTouched = () => { };
|
|
117
121
|
/** @internal */
|
|
118
|
-
disabled = computed(() => this.disabledInput() || this.disabledNgControl(),
|
|
122
|
+
disabled = computed(() => this.disabledInput() || this.disabledNgControl(), /* @ts-ignore */
|
|
123
|
+
...(ngDevMode ? [{ debugName: "disabled" }] : /* istanbul ignore next */ []));
|
|
119
124
|
onChange = () => { };
|
|
120
|
-
disabledNgControl = signal(false,
|
|
125
|
+
disabledNgControl = signal(false, /* @ts-ignore */
|
|
126
|
+
...(ngDevMode ? [{ debugName: "disabledNgControl" }] : /* istanbul ignore next */ []));
|
|
121
127
|
selectOptions = inject(SI_SELECT_OPTIONS_STRATEGY);
|
|
122
128
|
registerOnTouched(fn) {
|
|
123
129
|
this.onTouched = fn;
|
|
@@ -144,10 +150,10 @@ class SiSelectSelectionStrategy {
|
|
|
144
150
|
updateFromInput(values) {
|
|
145
151
|
this.selectOptions.onValueChange(values);
|
|
146
152
|
}
|
|
147
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
148
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "
|
|
153
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SiSelectSelectionStrategy, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
154
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "22.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 });
|
|
149
155
|
}
|
|
150
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
156
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SiSelectSelectionStrategy, decorators: [{
|
|
151
157
|
type: Directive,
|
|
152
158
|
args: [{
|
|
153
159
|
host: {
|
|
@@ -166,43 +172,49 @@ class SiSelectInputComponent {
|
|
|
166
172
|
/**
|
|
167
173
|
* Base ID used to associate the input with its label.
|
|
168
174
|
*/
|
|
169
|
-
baseId = input.required(
|
|
175
|
+
baseId = input.required(/* @ts-ignore */
|
|
176
|
+
...(ngDevMode ? [{ debugName: "baseId" }] : /* istanbul ignore next */ []));
|
|
170
177
|
/**
|
|
171
178
|
* Aria labelledby of the select.
|
|
172
179
|
*
|
|
173
180
|
* @defaultValue null
|
|
174
181
|
*/
|
|
175
|
-
labelledby = input(null,
|
|
182
|
+
labelledby = input(null, /* @ts-ignore */
|
|
183
|
+
...(ngDevMode ? [{ debugName: "labelledby" }] : /* istanbul ignore next */ []));
|
|
176
184
|
/**
|
|
177
185
|
* Aria label of the select.
|
|
178
186
|
*
|
|
179
187
|
* @defaultValue null
|
|
180
188
|
*/
|
|
181
|
-
ariaLabel = input(null,
|
|
189
|
+
ariaLabel = input(null, /* @ts-ignore */
|
|
190
|
+
...(ngDevMode ? [{ debugName: "ariaLabel" }] : /* istanbul ignore next */ []));
|
|
182
191
|
/**
|
|
183
192
|
* Whether the listbox is open.
|
|
184
193
|
*
|
|
185
194
|
* @defaultValue false
|
|
186
195
|
*/
|
|
187
|
-
open = input(false, { ...(ngDevMode ? { debugName: "open" } : {}), transform: booleanAttribute });
|
|
196
|
+
open = input(false, { ...(ngDevMode ? { debugName: "open" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
|
|
188
197
|
/**
|
|
189
198
|
* Text shown when no option is selected.
|
|
190
199
|
*/
|
|
191
|
-
placeholder = input(
|
|
200
|
+
placeholder = input(/* @ts-ignore */
|
|
201
|
+
...(ngDevMode ? [undefined, { debugName: "placeholder" }] : /* istanbul ignore next */ []));
|
|
192
202
|
/**
|
|
193
203
|
* ID of the associated listbox.
|
|
194
204
|
*/
|
|
195
|
-
controls = input.required(
|
|
205
|
+
controls = input.required(/* @ts-ignore */
|
|
206
|
+
...(ngDevMode ? [{ debugName: "controls" }] : /* istanbul ignore next */ []));
|
|
196
207
|
/**
|
|
197
208
|
* Custom template for rendering selected options.
|
|
198
209
|
*/
|
|
199
|
-
optionTemplate = input(
|
|
210
|
+
optionTemplate = input(/* @ts-ignore */
|
|
211
|
+
...(ngDevMode ? [undefined, { debugName: "optionTemplate" }] : /* istanbul ignore next */ []));
|
|
200
212
|
/**
|
|
201
213
|
* Whether the input is read-only.
|
|
202
214
|
*
|
|
203
215
|
* @defaultValue false
|
|
204
216
|
*/
|
|
205
|
-
readonly = input(false, { ...(ngDevMode ? { debugName: "readonly" } : {}), transform: booleanAttribute });
|
|
217
|
+
readonly = input(false, { ...(ngDevMode ? { debugName: "readonly" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
|
|
206
218
|
/**
|
|
207
219
|
* Emits when the user requests to open the listbox.
|
|
208
220
|
*/
|
|
@@ -210,7 +222,8 @@ class SiSelectInputComponent {
|
|
|
210
222
|
selectionStrategy = inject((SiSelectSelectionStrategy));
|
|
211
223
|
selectOptions = inject(SI_SELECT_OPTIONS_STRATEGY);
|
|
212
224
|
selectedRows = this.selectOptions.selectedRows;
|
|
213
|
-
labeledBy = computed(() => `${this.baseId()}-aria-label ${this.labelledby()}`,
|
|
225
|
+
labeledBy = computed(() => `${this.baseId()}-aria-label ${this.labelledby()}`, /* @ts-ignore */
|
|
226
|
+
...(ngDevMode ? [{ debugName: "labeledBy" }] : /* istanbul ignore next */ []));
|
|
214
227
|
icons = addIcons({ elementDown2 });
|
|
215
228
|
blur() {
|
|
216
229
|
if (!this.open()) {
|
|
@@ -221,12 +234,12 @@ class SiSelectInputComponent {
|
|
|
221
234
|
event?.preventDefault();
|
|
222
235
|
this.openListbox.emit();
|
|
223
236
|
}
|
|
224
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
225
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
237
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SiSelectInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
238
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.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($event)", "keydown.arrowDown": "click($event)", "keydown.alt.arrowDown": "click($event)", "keydown.arrowUp": "click($event)", "keydown.enter": "click($event)", "keydown.space": "click($event)" }, 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-fill overflow-hidden h-100\"\n [id]=\"baseId() + '-content'\"\n [siAutoCollapsableList]=\"selectionStrategy.allowMultiple && selectedRows().length > 1\"\n>\n @for (activeOption of selectedRows(); track activeOption) {\n @if (activeOption) {\n <si-select-option\n class=\"h-100\"\n siAutoCollapsableListItem\n [option]=\"activeOption\"\n [optionTemplate]=\"optionTemplate()\"\n [class.overflow-hidden]=\"!selectionStrategy.allowMultiple || $count === 1\"\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=\"pill py-0 ms-2\"> {{ overflowItem.hiddenItemCount }}+</div>\n </div>\n }\n</div>\n<div class=\"form-control-actions\">\n <si-icon\n class=\"dropdown-caret icon flip-rtl ps-0 m-0\"\n [class.text-disabled]=\"readonly()\"\n [icon]=\"icons.elementDown2\"\n />\n</div>\n", styles: ["@charset \"UTF-8\";:host{cursor:pointer;min-inline-size:72px;block-size:100%;color:var(--si-sys-text-primary);padding-inline-end:calc(var(--si-sys-sizing-spacing-y-20) - 1px + var(--si-feedback-icon-size, 0px))}:host.disabled{color:var(--si-sys-text-disabled)}:host-context(.form-control) :host{padding-block:calc(var(--si-sys-sizing-spacing-y-20) - 1px);padding-inline-end:var(--si-input-padding-inline-end)}si-select-option+si-select-option:before{content:\",\\a0\"}\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" }] });
|
|
226
239
|
}
|
|
227
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
240
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SiSelectInputComponent, decorators: [{
|
|
228
241
|
type: Component,
|
|
229
|
-
args: [{ selector: 'si-select-input', imports: [SiAutoCollapsableListModule, SiIconComponent, SiSelectOptionComponent, SiTranslatePipe],
|
|
242
|
+
args: [{ selector: 'si-select-input', imports: [SiAutoCollapsableListModule, SiIconComponent, SiSelectOptionComponent, SiTranslatePipe], host: {
|
|
230
243
|
// In readonly mode, the select needs to be announced as a textbox.
|
|
231
244
|
// Otherwise, screen-reader won't announce the readonly state.
|
|
232
245
|
class: 'select focus-none dropdown-toggle d-flex align-items-center ps-4',
|
|
@@ -248,7 +261,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImpor
|
|
|
248
261
|
'(keydown.arrowUp)': 'click($event)',
|
|
249
262
|
'(keydown.enter)': 'click($event)',
|
|
250
263
|
'(keydown.space)': 'click($event)'
|
|
251
|
-
}, 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-fill overflow-hidden\"\n [id]=\"baseId() + '-content'\"\n [siAutoCollapsableList]=\"selectionStrategy.allowMultiple && selectedRows().length > 1\"\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 || $count === 1\"\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=\"pill py-0 ms-2\"> {{ overflowItem.hiddenItemCount }}+</div>\n </div>\n }\n</div>\n<div class=\"form-control-actions\">\n <si-icon\n class=\"dropdown-caret icon flip-rtl ps-0 m-0\"\n [class.text-
|
|
264
|
+
}, 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-fill overflow-hidden h-100\"\n [id]=\"baseId() + '-content'\"\n [siAutoCollapsableList]=\"selectionStrategy.allowMultiple && selectedRows().length > 1\"\n>\n @for (activeOption of selectedRows(); track activeOption) {\n @if (activeOption) {\n <si-select-option\n class=\"h-100\"\n siAutoCollapsableListItem\n [option]=\"activeOption\"\n [optionTemplate]=\"optionTemplate()\"\n [class.overflow-hidden]=\"!selectionStrategy.allowMultiple || $count === 1\"\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=\"pill py-0 ms-2\"> {{ overflowItem.hiddenItemCount }}+</div>\n </div>\n }\n</div>\n<div class=\"form-control-actions\">\n <si-icon\n class=\"dropdown-caret icon flip-rtl ps-0 m-0\"\n [class.text-disabled]=\"readonly()\"\n [icon]=\"icons.elementDown2\"\n />\n</div>\n", styles: ["@charset \"UTF-8\";:host{cursor:pointer;min-inline-size:72px;block-size:100%;color:var(--si-sys-text-primary);padding-inline-end:calc(var(--si-sys-sizing-spacing-y-20) - 1px + var(--si-feedback-icon-size, 0px))}:host.disabled{color:var(--si-sys-text-disabled)}:host-context(.form-control) :host{padding-block:calc(var(--si-sys-sizing-spacing-y-20) - 1px);padding-inline-end:var(--si-input-padding-inline-end)}si-select-option+si-select-option:before{content:\",\\a0\"}\n"] }]
|
|
252
265
|
}], 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"] }] } });
|
|
253
266
|
|
|
254
267
|
/**
|
|
@@ -259,24 +272,26 @@ class SiSelectOptionRowComponent {
|
|
|
259
272
|
/**
|
|
260
273
|
* Option displayed by the row.
|
|
261
274
|
*/
|
|
262
|
-
option = input.required(
|
|
275
|
+
option = input.required(/* @ts-ignore */
|
|
276
|
+
...(ngDevMode ? [{ debugName: "option" }] : /* istanbul ignore next */ []));
|
|
263
277
|
/**
|
|
264
278
|
* Custom template for rendering the option.
|
|
265
279
|
*/
|
|
266
|
-
optionTemplate = input(
|
|
280
|
+
optionTemplate = input(/* @ts-ignore */
|
|
281
|
+
...(ngDevMode ? [undefined, { debugName: "optionTemplate" }] : /* istanbul ignore next */ []));
|
|
267
282
|
/**
|
|
268
283
|
* Whether the option is selected.
|
|
269
284
|
*
|
|
270
285
|
* @defaultValue false
|
|
271
286
|
*/
|
|
272
|
-
selected = input(false, { ...(ngDevMode ? { debugName: "selected" } : {}), transform: booleanAttribute });
|
|
287
|
+
selected = input(false, { ...(ngDevMode ? { debugName: "selected" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
|
|
273
288
|
icons = addIcons({ elementOk });
|
|
274
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
275
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
289
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SiSelectOptionRowComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
290
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.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:0}.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"] }] });
|
|
276
291
|
}
|
|
277
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
292
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SiSelectOptionRowComponent, decorators: [{
|
|
278
293
|
type: Component,
|
|
279
|
-
args: [{ selector: 'si-select-option-row', imports: [SiIconComponent, SiSelectOptionComponent],
|
|
294
|
+
args: [{ selector: 'si-select-option-row', imports: [SiIconComponent, SiSelectOptionComponent], host: {
|
|
280
295
|
class: 'dropdown-item focus-none pe-4 gap-4',
|
|
281
296
|
'[class.disabled]': '!!this.option().disabled',
|
|
282
297
|
'[attr.aria-selected]': 'selected()',
|
|
@@ -311,10 +326,10 @@ class SiSelectGroupTemplateDirective {
|
|
|
311
326
|
static ngTemplateContextGuard(directive, context) {
|
|
312
327
|
return true;
|
|
313
328
|
}
|
|
314
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
315
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "
|
|
329
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SiSelectGroupTemplateDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
330
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.0.8", type: SiSelectGroupTemplateDirective, isStandalone: true, selector: "[siSelectGroupTemplate]", ngImport: i0 });
|
|
316
331
|
}
|
|
317
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
332
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SiSelectGroupTemplateDirective, decorators: [{
|
|
318
333
|
type: Directive,
|
|
319
334
|
args: [{
|
|
320
335
|
selector: '[siSelectGroupTemplate]'
|
|
@@ -329,10 +344,10 @@ class SiSelectOptionRowTemplateDirective {
|
|
|
329
344
|
static ngTemplateContextGuard(directive, context) {
|
|
330
345
|
return true;
|
|
331
346
|
}
|
|
332
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
333
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "
|
|
347
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SiSelectOptionRowTemplateDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
348
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.0.8", type: SiSelectOptionRowTemplateDirective, isStandalone: true, selector: "[siSelectOptionRowTemplate]", ngImport: i0 });
|
|
334
349
|
}
|
|
335
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
350
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SiSelectOptionRowTemplateDirective, decorators: [{
|
|
336
351
|
type: Directive,
|
|
337
352
|
args: [{
|
|
338
353
|
selector: '[siSelectOptionRowTemplate]'
|
|
@@ -347,21 +362,26 @@ class SiSelectListBase {
|
|
|
347
362
|
/**
|
|
348
363
|
* Base ID used to associate the listbox with its label.
|
|
349
364
|
*/
|
|
350
|
-
baseId = input.required(
|
|
365
|
+
baseId = input.required(/* @ts-ignore */
|
|
366
|
+
...(ngDevMode ? [{ debugName: "baseId" }] : /* istanbul ignore next */ []));
|
|
351
367
|
/**
|
|
352
368
|
* Custom template for rendering options.
|
|
353
369
|
*/
|
|
354
|
-
optionTemplate = input(
|
|
370
|
+
optionTemplate = input(/* @ts-ignore */
|
|
371
|
+
...(ngDevMode ? [undefined, { debugName: "optionTemplate" }] : /* istanbul ignore next */ []));
|
|
355
372
|
/**
|
|
356
373
|
* Custom template for rendering option groups.
|
|
357
374
|
*/
|
|
358
|
-
groupTemplate = input(
|
|
375
|
+
groupTemplate = input(/* @ts-ignore */
|
|
376
|
+
...(ngDevMode ? [undefined, { debugName: "groupTemplate" }] : /* istanbul ignore next */ []));
|
|
359
377
|
/** @defaultValue null */
|
|
360
|
-
labelledby = input(null,
|
|
378
|
+
labelledby = input(null, /* @ts-ignore */
|
|
379
|
+
...(ngDevMode ? [{ debugName: "labelledby" }] : /* istanbul ignore next */ []));
|
|
361
380
|
/**
|
|
362
381
|
* Custom template for actions displayed below the options.
|
|
363
382
|
*/
|
|
364
|
-
actionsTemplate = input(
|
|
383
|
+
actionsTemplate = input(/* @ts-ignore */
|
|
384
|
+
...(ngDevMode ? [undefined, { debugName: "actionsTemplate" }] : /* istanbul ignore next */ []));
|
|
365
385
|
/**
|
|
366
386
|
* Emits when the listbox should close.
|
|
367
387
|
*/
|
|
@@ -393,10 +413,10 @@ class SiSelectListBase {
|
|
|
393
413
|
this.closeOverlayAlways();
|
|
394
414
|
}
|
|
395
415
|
}
|
|
396
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
397
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "
|
|
416
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SiSelectListBase, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
417
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "22.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": "multiSelect" }, classAttribute: "dropdown-menu position-static w-100 py-4 d-flex flex-column" }, ngImport: i0 });
|
|
398
418
|
}
|
|
399
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
419
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SiSelectListBase, decorators: [{
|
|
400
420
|
type: Directive,
|
|
401
421
|
args: [{
|
|
402
422
|
host: {
|
|
@@ -413,12 +433,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImpor
|
|
|
413
433
|
*/
|
|
414
434
|
class SiSelectListHasFilterComponent extends SiSelectListBase {
|
|
415
435
|
/** Placeholder for search input field. */
|
|
416
|
-
filterPlaceholder = input.required(
|
|
436
|
+
filterPlaceholder = input.required(/* @ts-ignore */
|
|
437
|
+
...(ngDevMode ? [{ debugName: "filterPlaceholder" }] : /* istanbul ignore next */ []));
|
|
417
438
|
/** Label if no item can be found. */
|
|
418
|
-
noResultsFoundLabel = input.required(
|
|
419
|
-
|
|
439
|
+
noResultsFoundLabel = input.required(/* @ts-ignore */
|
|
440
|
+
...(ngDevMode ? [{ debugName: "noResultsFoundLabel" }] : /* istanbul ignore next */ []));
|
|
441
|
+
filterInput = viewChild.required('filter', /* @ts-ignore */
|
|
442
|
+
...(ngDevMode ? [{ debugName: "filterInput" }] : /* istanbul ignore next */ []));
|
|
420
443
|
initIndex;
|
|
421
|
-
id = computed(() => `${this.baseId()}-listbox`,
|
|
444
|
+
id = computed(() => `${this.baseId()}-listbox`, /* @ts-ignore */
|
|
445
|
+
...(ngDevMode ? [{ debugName: "id" }] : /* istanbul ignore next */ []));
|
|
422
446
|
icons = addIcons({ elementSearch });
|
|
423
447
|
constructor() {
|
|
424
448
|
super();
|
|
@@ -427,10 +451,12 @@ class SiSelectListHasFilterComponent extends SiSelectListBase {
|
|
|
427
451
|
}
|
|
428
452
|
const firstValue = this.selectionStrategy.arrayValue()[0];
|
|
429
453
|
if (firstValue) {
|
|
430
|
-
this.initIndex = computed(() => this.rows().findIndex(row => row.type === 'option' && row.value === firstValue),
|
|
454
|
+
this.initIndex = computed(() => this.rows().findIndex(row => row.type === 'option' && row.value === firstValue), /* @ts-ignore */
|
|
455
|
+
...(ngDevMode ? [{ debugName: "initIndex" }] : /* istanbul ignore next */ []));
|
|
431
456
|
}
|
|
432
457
|
else {
|
|
433
|
-
this.initIndex = signal(0,
|
|
458
|
+
this.initIndex = signal(0, /* @ts-ignore */
|
|
459
|
+
...(ngDevMode ? [{ debugName: "initIndex" }] : /* istanbul ignore next */ []));
|
|
434
460
|
}
|
|
435
461
|
}
|
|
436
462
|
ngOnInit() {
|
|
@@ -455,10 +481,10 @@ class SiSelectListHasFilterComponent extends SiSelectListBase {
|
|
|
455
481
|
}
|
|
456
482
|
this.closeOverlayIfSingle();
|
|
457
483
|
}
|
|
458
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
459
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
484
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SiSelectListHasFilterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
485
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.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=\"search-bar variant-background-0\">\n <input\n #filter\n #siAutocomplete=\"siAutocomplete\"\n siAutocomplete\n class=\"search-bar-input form-control\"\n [placeholder]=\"filterPlaceholder() | translate\"\n [id]=\"baseId() + 'filter-input'\"\n [attr.aria-labelledby]=\"baseId() + '-aria-label' + ' ' + labelledby()\"\n (input)=\"input()\"\n />\n <si-icon class=\"search-bar-icon\" [icon]=\"icons.elementSearch\" />\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(100vb - 56px,266px);overflow-y:auto}si-loading-spinner{--loading-spinner-size: var(--si-sys-sizing-icon-md)}\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" }] });
|
|
460
486
|
}
|
|
461
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
487
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SiSelectListHasFilterComponent, decorators: [{
|
|
462
488
|
type: Component,
|
|
463
489
|
args: [{ selector: 'si-select-list-has-filter', imports: [
|
|
464
490
|
NgTemplateOutlet,
|
|
@@ -470,10 +496,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImpor
|
|
|
470
496
|
SiTranslatePipe,
|
|
471
497
|
SiAutocompleteModule,
|
|
472
498
|
SiLoadingSpinnerComponent
|
|
473
|
-
],
|
|
499
|
+
], host: {
|
|
474
500
|
class: 'pt-0',
|
|
475
501
|
'[attr.id]': 'id()'
|
|
476
|
-
}, template: "<div class=\"pt-5 pb-5 px-5 top-0\">\n <div class=\"
|
|
502
|
+
}, template: "<div class=\"pt-5 pb-5 px-5 top-0\">\n <div class=\"search-bar variant-background-0\">\n <input\n #filter\n #siAutocomplete=\"siAutocomplete\"\n siAutocomplete\n class=\"search-bar-input form-control\"\n [placeholder]=\"filterPlaceholder() | translate\"\n [id]=\"baseId() + 'filter-input'\"\n [attr.aria-labelledby]=\"baseId() + '-aria-label' + ' ' + labelledby()\"\n (input)=\"input()\"\n />\n <si-icon class=\"search-bar-icon\" [icon]=\"icons.elementSearch\" />\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(100vb - 56px,266px);overflow-y:auto}si-loading-spinner{--loading-spinner-size: var(--si-sys-sizing-icon-md)}\n"] }]
|
|
477
503
|
}], 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 }] }] } });
|
|
478
504
|
|
|
479
505
|
/**
|
|
@@ -481,9 +507,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImpor
|
|
|
481
507
|
* SPDX-License-Identifier: MIT
|
|
482
508
|
*/
|
|
483
509
|
class SiSelectListComponent extends SiSelectListBase {
|
|
484
|
-
listbox = viewChild.required(CdkListbox, {
|
|
485
|
-
read: ElementRef
|
|
486
|
-
});
|
|
510
|
+
listbox = viewChild.required(CdkListbox, { ...(ngDevMode ? { debugName: "listbox" } : /* istanbul ignore next */ {}), read: ElementRef });
|
|
487
511
|
ngOnInit() {
|
|
488
512
|
super.ngOnInit();
|
|
489
513
|
setTimeout(() => this.listbox().nativeElement.focus());
|
|
@@ -491,10 +515,10 @@ class SiSelectListComponent extends SiSelectListBase {
|
|
|
491
515
|
listBoxValueChange(changeEvent) {
|
|
492
516
|
this.selectionStrategy.updateFromUser(changeEvent.value.slice());
|
|
493
517
|
}
|
|
494
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
495
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
518
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SiSelectListComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
519
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.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=\"dropdown-menu-scroller 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", 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" }] });
|
|
496
520
|
}
|
|
497
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
521
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SiSelectListComponent, decorators: [{
|
|
498
522
|
type: Component,
|
|
499
523
|
args: [{ selector: 'si-select-list', imports: [
|
|
500
524
|
CommonModule,
|
|
@@ -504,7 +528,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImpor
|
|
|
504
528
|
SiSelectOptionRowTemplateDirective,
|
|
505
529
|
SiSelectGroupTemplateDirective,
|
|
506
530
|
SiSelectOptionRowComponent
|
|
507
|
-
],
|
|
531
|
+
], template: "<div\n cdkListbox\n class=\"dropdown-menu-scroller 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" }]
|
|
508
532
|
}], propDecorators: { listbox: [{ type: i0.ViewChild, args: [i0.forwardRef(() => CdkListbox), { ...{
|
|
509
533
|
read: ElementRef
|
|
510
534
|
}, isSignal: true }] }] } });
|
|
@@ -518,10 +542,10 @@ class SiSelectActionsDirective {
|
|
|
518
542
|
static ngTemplateContextGuard(directive, context) {
|
|
519
543
|
return true;
|
|
520
544
|
}
|
|
521
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
522
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "
|
|
545
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SiSelectActionsDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
546
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.0.8", type: SiSelectActionsDirective, isStandalone: true, selector: "[siSelectActions]", exportAs: ["si-select-actions"], ngImport: i0 });
|
|
523
547
|
}
|
|
524
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
548
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SiSelectActionsDirective, decorators: [{
|
|
525
549
|
type: Directive,
|
|
526
550
|
args: [{
|
|
527
551
|
selector: '[siSelectActions]',
|
|
@@ -529,6 +553,39 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImpor
|
|
|
529
553
|
}]
|
|
530
554
|
}] });
|
|
531
555
|
|
|
556
|
+
/**
|
|
557
|
+
* Copyright (c) Siemens 2016 - 2026
|
|
558
|
+
* SPDX-License-Identifier: MIT
|
|
559
|
+
*/
|
|
560
|
+
/**
|
|
561
|
+
* The directive allows to template/customize the selected value rendering in the select input.
|
|
562
|
+
* This requires using the {@link SiSelectSimpleOptionsDirective} to specify options as input.
|
|
563
|
+
*
|
|
564
|
+
* @example
|
|
565
|
+
* ```html
|
|
566
|
+
* <si-select [options]="[
|
|
567
|
+
* { type: 'option', value: 'good', label: 'Good' },
|
|
568
|
+
* { type: 'option', value: 'fair', label: 'Fair' }
|
|
569
|
+
* ]">
|
|
570
|
+
* <ng-template siSelectValueTemplate let-option>{{ option.label }}</ng-template>
|
|
571
|
+
* </si-select>
|
|
572
|
+
* ```
|
|
573
|
+
*/
|
|
574
|
+
class SiSelectValueTemplateDirective {
|
|
575
|
+
/** @internal */
|
|
576
|
+
static ngTemplateContextGuard(directive, context) {
|
|
577
|
+
return true;
|
|
578
|
+
}
|
|
579
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SiSelectValueTemplateDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
580
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.0.8", type: SiSelectValueTemplateDirective, isStandalone: true, selector: "[siSelectValueTemplate]", ngImport: i0 });
|
|
581
|
+
}
|
|
582
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SiSelectValueTemplateDirective, decorators: [{
|
|
583
|
+
type: Directive,
|
|
584
|
+
args: [{
|
|
585
|
+
selector: '[siSelectValueTemplate]'
|
|
586
|
+
}]
|
|
587
|
+
}] });
|
|
588
|
+
|
|
532
589
|
/**
|
|
533
590
|
* Copyright (c) Siemens 2016 - 2026
|
|
534
591
|
* SPDX-License-Identifier: MIT
|
|
@@ -543,28 +600,31 @@ class SiSelectComponent {
|
|
|
543
600
|
* `__si-select-${SiSelectComponent.idCounter++}`
|
|
544
601
|
* ```
|
|
545
602
|
*/
|
|
546
|
-
id = input(`__si-select-${SiSelectComponent.idCounter++}`,
|
|
603
|
+
id = input(`__si-select-${SiSelectComponent.idCounter++}`, /* @ts-ignore */
|
|
604
|
+
...(ngDevMode ? [{ debugName: "id" }] : /* istanbul ignore next */ []));
|
|
547
605
|
/**
|
|
548
606
|
* Aria label of the select.
|
|
549
607
|
*
|
|
550
608
|
* @defaultValue null
|
|
551
609
|
*/
|
|
552
|
-
ariaLabel = input(null,
|
|
610
|
+
ariaLabel = input(null, /* @ts-ignore */
|
|
611
|
+
...(ngDevMode ? [{ debugName: "ariaLabel" }] : /* istanbul ignore next */ []));
|
|
553
612
|
/**
|
|
554
613
|
* Aria labelledby of the select.
|
|
555
614
|
* @defaultValue undefined
|
|
556
615
|
*/
|
|
557
616
|
// eslint-disable-next-line @angular-eslint/no-input-rename
|
|
558
|
-
labelledbyInput = input(undefined, { ...(ngDevMode ? { debugName: "labelledbyInput" } : {}), alias: 'labelledby' });
|
|
617
|
+
labelledbyInput = input(undefined, { ...(ngDevMode ? { debugName: "labelledbyInput" } : /* istanbul ignore next */ {}), alias: 'labelledby' });
|
|
559
618
|
/**
|
|
560
619
|
* Placeholder for search input field.
|
|
561
620
|
*
|
|
562
621
|
* @defaultValue
|
|
563
622
|
* ```
|
|
564
|
-
* t(() => $localize`:@@SI_SELECT.SEARCH-PLACEHOLDER:Search
|
|
623
|
+
* t(() => $localize`:@@SI_SELECT.SEARCH-PLACEHOLDER:Search…`)
|
|
565
624
|
* ```
|
|
566
625
|
*/
|
|
567
|
-
filterPlaceholder = input(t(() => $localize `:@@SI_SELECT.SEARCH-PLACEHOLDER:Search
|
|
626
|
+
filterPlaceholder = input(t(() => $localize `:@@SI_SELECT.SEARCH-PLACEHOLDER:Search…`), /* @ts-ignore */
|
|
627
|
+
...(ngDevMode ? [{ debugName: "filterPlaceholder" }] : /* istanbul ignore next */ []));
|
|
568
628
|
/**
|
|
569
629
|
* Label if no item can be found.
|
|
570
630
|
*
|
|
@@ -573,32 +633,36 @@ class SiSelectComponent {
|
|
|
573
633
|
* t(() => $localize`:@@SI_SELECT.NO-RESULTS-FOUND:No results found`)
|
|
574
634
|
* ```
|
|
575
635
|
*/
|
|
576
|
-
noResultsFoundLabel = input(t(() => $localize `:@@SI_SELECT.NO-RESULTS-FOUND:No results found`),
|
|
636
|
+
noResultsFoundLabel = input(t(() => $localize `:@@SI_SELECT.NO-RESULTS-FOUND:No results found`), /* @ts-ignore */
|
|
637
|
+
...(ngDevMode ? [{ debugName: "noResultsFoundLabel" }] : /* istanbul ignore next */ []));
|
|
577
638
|
/** Placeholder text to display when no options are selected. */
|
|
578
|
-
placeholder = input(
|
|
639
|
+
placeholder = input(/* @ts-ignore */
|
|
640
|
+
...(ngDevMode ? [undefined, { debugName: "placeholder" }] : /* istanbul ignore next */ []));
|
|
579
641
|
/**
|
|
580
642
|
* Readonly state. Similar to disabled but with higher contrast *
|
|
581
643
|
*
|
|
582
644
|
* @defaultValue false
|
|
583
645
|
*/
|
|
584
|
-
readonly = input(false, { ...(ngDevMode ? { debugName: "readonly" } : {}), transform: booleanAttribute });
|
|
646
|
+
readonly = input(false, { ...(ngDevMode ? { debugName: "readonly" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
|
|
585
647
|
/**
|
|
586
648
|
* Optional CDK scroll strategy used for the select overlay.
|
|
587
649
|
*
|
|
588
650
|
* @defaultValue defaultConnectedOverlayScrollStrategy()
|
|
589
651
|
*/
|
|
590
|
-
scrollStrategy = input(defaultConnectedOverlayScrollStrategy(),
|
|
652
|
+
scrollStrategy = input(defaultConnectedOverlayScrollStrategy(), /* @ts-ignore */
|
|
653
|
+
...(ngDevMode ? [{ debugName: "scrollStrategy" }] : /* istanbul ignore next */ []));
|
|
591
654
|
/** Emits when the dropdown open state changes. */
|
|
592
655
|
openChange = output();
|
|
593
|
-
isOpen = signal(false,
|
|
594
|
-
|
|
595
|
-
|
|
596
|
-
|
|
597
|
-
|
|
598
|
-
|
|
599
|
-
});
|
|
656
|
+
isOpen = signal(false, /* @ts-ignore */
|
|
657
|
+
...(ngDevMode ? [{ debugName: "isOpen" }] : /* istanbul ignore next */ []));
|
|
658
|
+
optionTemplate = contentChild(SiSelectOptionTemplateDirective, { ...(ngDevMode ? { debugName: "optionTemplate" } : /* istanbul ignore next */ {}), read: TemplateRef });
|
|
659
|
+
selectedValueTemplate = contentChild(SiSelectValueTemplateDirective, { ...(ngDevMode ? { debugName: "selectedValueTemplate" } : /* istanbul ignore next */ {}), read: TemplateRef });
|
|
660
|
+
groupTemplate = contentChild(SiSelectGroupTemplateDirective, { ...(ngDevMode ? { debugName: "groupTemplate" } : /* istanbul ignore next */ {}), read: TemplateRef });
|
|
661
|
+
actionsTemplate = contentChild(SiSelectActionsDirective, { ...(ngDevMode ? { debugName: "actionsTemplate" } : /* istanbul ignore next */ {}), read: TemplateRef });
|
|
662
|
+
trigger = viewChild.required(CdkOverlayOrigin, { ...(ngDevMode ? { debugName: "trigger" } : /* istanbul ignore next */ {}), read: ElementRef });
|
|
600
663
|
/** @internal */
|
|
601
|
-
labelledby = computed(() => this.labelledbyInput() ?? this.id() + '-label',
|
|
664
|
+
labelledby = computed(() => this.labelledbyInput() ?? this.id() + '-label', /* @ts-ignore */
|
|
665
|
+
...(ngDevMode ? [{ debugName: "labelledby" }] : /* istanbul ignore next */ []));
|
|
602
666
|
/**
|
|
603
667
|
* This ID will be bound to the `aria-describedby` attribute of the select.
|
|
604
668
|
* Use this to reference the element containing the error message(s) for the select.
|
|
@@ -609,7 +673,8 @@ class SiSelectComponent {
|
|
|
609
673
|
* `${this.id()}-errormessage`
|
|
610
674
|
* ```
|
|
611
675
|
*/
|
|
612
|
-
errormessageId = input(`${this.id()}-errormessage`,
|
|
676
|
+
errormessageId = input(`${this.id()}-errormessage`, /* @ts-ignore */
|
|
677
|
+
...(ngDevMode ? [{ debugName: "errormessageId" }] : /* istanbul ignore next */ []));
|
|
613
678
|
rows = [];
|
|
614
679
|
overlayWidth = 0;
|
|
615
680
|
selectionStrategy = inject((SiSelectSelectionStrategy));
|
|
@@ -619,7 +684,7 @@ class SiSelectComponent {
|
|
|
619
684
|
* @defaultValue false
|
|
620
685
|
* @defaultref {@link SiSelectComponent#_hasFilter}
|
|
621
686
|
*/
|
|
622
|
-
hasFilter = input(false, { ...(ngDevMode ? { debugName: "hasFilter" } : {}), transform: booleanAttribute });
|
|
687
|
+
hasFilter = input(false, { ...(ngDevMode ? { debugName: "hasFilter" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
|
|
623
688
|
/** Opens the `si-select`. */
|
|
624
689
|
open() {
|
|
625
690
|
if (this.readonly() || this.selectionStrategy.disabled()) {
|
|
@@ -645,23 +710,23 @@ class SiSelectComponent {
|
|
|
645
710
|
this.backdropClicked = true;
|
|
646
711
|
this.isOpen.set(false);
|
|
647
712
|
}
|
|
648
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
649
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
713
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SiSelectComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
714
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.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 }, scrollStrategy: { classPropertyName: "scrollStrategy", publicName: "scrollStrategy", 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: "selectedValueTemplate", first: true, predicate: SiSelectValueTemplateDirective, 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]=\"selectedValueTemplate() ?? 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 [cdkConnectedOverlayScrollStrategy]=\"scrollStrategy()\"\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}:host:focus-within,:host.open:not(.si-select-has-filter){outline:var(--element-button-focus-width) solid var(--si-sys-effects-focus);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"] }] });
|
|
650
715
|
}
|
|
651
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
716
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SiSelectComponent, decorators: [{
|
|
652
717
|
type: Component,
|
|
653
718
|
args: [{ selector: 'si-select', imports: [
|
|
654
719
|
OverlayModule,
|
|
655
720
|
SiSelectInputComponent,
|
|
656
721
|
SiSelectListComponent,
|
|
657
722
|
SiSelectListHasFilterComponent
|
|
658
|
-
], providers: [{ provide: SI_FORM_ITEM_CONTROL, useExisting: SiSelectComponent }],
|
|
723
|
+
], providers: [{ provide: SI_FORM_ITEM_CONTROL, useExisting: SiSelectComponent }], host: {
|
|
659
724
|
class: 'dropdown',
|
|
660
725
|
'[class.readonly]': 'readonly()',
|
|
661
726
|
'[class.open]': 'isOpen()',
|
|
662
727
|
'[class.si-select-has-filter]': 'hasFilter()'
|
|
663
|
-
}, 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 [cdkConnectedOverlayScrollStrategy]=\"scrollStrategy()\"\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}:host:focus-within,:host.open:not(.si-select-has-filter){outline:var(--element-button-focus-width) solid var(--
|
|
664
|
-
}], 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 }] }], scrollStrategy: [{ type: i0.Input, args: [{ isSignal: true, alias: "scrollStrategy", 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), { ...{
|
|
728
|
+
}, template: "<si-select-input\n #trigger=\"cdkOverlayOrigin\"\n cdkOverlayOrigin\n [baseId]=\"id()\"\n [labelledby]=\"labelledby()\"\n [optionTemplate]=\"selectedValueTemplate() ?? 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 [cdkConnectedOverlayScrollStrategy]=\"scrollStrategy()\"\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}:host:focus-within,:host.open:not(.si-select-has-filter){outline:var(--element-button-focus-width) solid var(--si-sys-effects-focus);outline-offset:var(--element-button-focus-overlay-width)}:host.readonly,:host.disabled{pointer-events:none}\n"] }]
|
|
729
|
+
}], 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 }] }], scrollStrategy: [{ type: i0.Input, args: [{ isSignal: true, alias: "scrollStrategy", required: false }] }], openChange: [{ type: i0.Output, args: ["openChange"] }], optionTemplate: [{ type: i0.ContentChild, args: [i0.forwardRef(() => SiSelectOptionTemplateDirective), { ...{ read: TemplateRef }, isSignal: true }] }], selectedValueTemplate: [{ type: i0.ContentChild, args: [i0.forwardRef(() => SiSelectValueTemplateDirective), { ...{ 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), { ...{
|
|
665
730
|
read: ElementRef
|
|
666
731
|
}, isSignal: true }] }], errormessageId: [{ type: i0.Input, args: [{ isSignal: true, alias: "errormessageId", required: false }] }], hasFilter: [{ type: i0.Input, args: [{ isSignal: true, alias: "hasFilter", required: false }] }] } });
|
|
667
732
|
|
|
@@ -674,22 +739,26 @@ class SiSelectLazyOptionsDirective {
|
|
|
674
739
|
* {@inheritDoc SiSelectOptionsStrategy#loading}
|
|
675
740
|
* @defaultValue false
|
|
676
741
|
*/
|
|
677
|
-
loading = signal(false,
|
|
742
|
+
loading = signal(false, /* @ts-ignore */
|
|
743
|
+
...(ngDevMode ? [{ debugName: "loading" }] : /* istanbul ignore next */ []));
|
|
678
744
|
/**
|
|
679
745
|
* {@inheritDoc SiSelectOptionsStrategy#rows}
|
|
680
746
|
* @defaultValue []
|
|
681
747
|
*/
|
|
682
|
-
rows = signal([],
|
|
748
|
+
rows = signal([], /* @ts-ignore */
|
|
749
|
+
...(ngDevMode ? [{ debugName: "rows" }] : /* istanbul ignore next */ []));
|
|
683
750
|
/**
|
|
684
751
|
* {@inheritDoc SiSelectOptionsStrategy#selectedRows}
|
|
685
752
|
* @defaultValue []
|
|
686
753
|
*/
|
|
687
|
-
selectedRows = signal([],
|
|
754
|
+
selectedRows = signal([], /* @ts-ignore */
|
|
755
|
+
...(ngDevMode ? [{ debugName: "selectedRows" }] : /* istanbul ignore next */ []));
|
|
688
756
|
/**
|
|
689
757
|
* Lazy source that resolves selected values and provides the options displayed by the select.
|
|
690
758
|
* Implement `getAllOptions` when the select has no filter, or `getOptionsForSearch` when it has one.
|
|
691
759
|
*/
|
|
692
|
-
optionSource = input.required(
|
|
760
|
+
optionSource = input.required(/* @ts-ignore */
|
|
761
|
+
...(ngDevMode ? [{ debugName: "optionSource" }] : /* istanbul ignore next */ []));
|
|
693
762
|
valueChange = new Subject();
|
|
694
763
|
filterChange = new Subject();
|
|
695
764
|
constructor() {
|
|
@@ -760,10 +829,10 @@ class SiSelectLazyOptionsDirective {
|
|
|
760
829
|
}
|
|
761
830
|
return false;
|
|
762
831
|
}
|
|
763
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
764
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "
|
|
832
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SiSelectLazyOptionsDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
833
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "22.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 });
|
|
765
834
|
}
|
|
766
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
835
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SiSelectLazyOptionsDirective, decorators: [{
|
|
767
836
|
type: Directive,
|
|
768
837
|
args: [{
|
|
769
838
|
// eslint-disable-next-line @angular-eslint/directive-selector
|
|
@@ -780,8 +849,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImpor
|
|
|
780
849
|
* Input options strategy base class, for eagerly fetched options.
|
|
781
850
|
*/
|
|
782
851
|
class SiSelectOptionsStrategyBase {
|
|
783
|
-
value = signal([],
|
|
784
|
-
|
|
852
|
+
value = signal([], /* @ts-ignore */
|
|
853
|
+
...(ngDevMode ? [{ debugName: "value" }] : /* istanbul ignore next */ []));
|
|
854
|
+
filterValue = signal('', /* @ts-ignore */
|
|
855
|
+
...(ngDevMode ? [{ debugName: "filterValue" }] : /* istanbul ignore next */ []));
|
|
785
856
|
/**
|
|
786
857
|
* Rows that should be shown.
|
|
787
858
|
*
|
|
@@ -813,24 +884,26 @@ class SiSelectOptionsStrategyBase {
|
|
|
813
884
|
else {
|
|
814
885
|
return this.allRows();
|
|
815
886
|
}
|
|
816
|
-
},
|
|
887
|
+
}, /* @ts-ignore */
|
|
888
|
+
...(ngDevMode ? [{ debugName: "rows" }] : /* istanbul ignore next */ []));
|
|
817
889
|
selectedRows = computed(() => {
|
|
818
890
|
const values = this.value();
|
|
819
891
|
return this.allRows()
|
|
820
892
|
.map(row => (row.type === 'group' ? row.options : row))
|
|
821
893
|
.flat()
|
|
822
894
|
.filter(option => values.some(value => this.optionsEqual()(value, option.value)));
|
|
823
|
-
},
|
|
895
|
+
}, /* @ts-ignore */
|
|
896
|
+
...(ngDevMode ? [{ debugName: "selectedRows" }] : /* istanbul ignore next */ []));
|
|
824
897
|
onValueChange(value) {
|
|
825
898
|
this.value.set(value);
|
|
826
899
|
}
|
|
827
900
|
onFilter(filterValue) {
|
|
828
901
|
this.filterValue.set(filterValue ?? '');
|
|
829
902
|
}
|
|
830
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
831
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "
|
|
903
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SiSelectOptionsStrategyBase, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
904
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.0.8", type: SiSelectOptionsStrategyBase, isStandalone: true, ngImport: i0 });
|
|
832
905
|
}
|
|
833
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
906
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SiSelectOptionsStrategyBase, decorators: [{
|
|
834
907
|
type: Directive
|
|
835
908
|
}] });
|
|
836
909
|
|
|
@@ -849,7 +922,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImpor
|
|
|
849
922
|
*/
|
|
850
923
|
class SiSelectSimpleOptionsDirective extends SiSelectOptionsStrategyBase {
|
|
851
924
|
/** Options to be shown in select dropdown */
|
|
852
|
-
options = input(
|
|
925
|
+
options = input(/* @ts-ignore */
|
|
926
|
+
...(ngDevMode ? [undefined, { debugName: "options" }] : /* istanbul ignore next */ []));
|
|
853
927
|
/**
|
|
854
928
|
* By default, values are check on referential equality. Provide a function to customize the behavior.
|
|
855
929
|
*
|
|
@@ -858,14 +932,15 @@ class SiSelectSimpleOptionsDirective extends SiSelectOptionsStrategyBase {
|
|
|
858
932
|
* (a: T, b: T): boolean => a === b
|
|
859
933
|
* ```
|
|
860
934
|
*/
|
|
861
|
-
optionsEqual = input((a, b) => a === b, { ...(ngDevMode ? { debugName: "optionsEqual" } : {}),
|
|
935
|
+
optionsEqual = input((a, b) => a === b, { ...(ngDevMode ? { debugName: "optionsEqual" } : /* istanbul ignore next */ {}),
|
|
862
936
|
// eslint-disable-next-line @angular-eslint/no-input-rename
|
|
863
937
|
alias: 'optionEqualCheckFn' });
|
|
864
|
-
allRows = computed(() => this.options() ?? [],
|
|
865
|
-
|
|
866
|
-
static
|
|
938
|
+
allRows = computed(() => this.options() ?? [], /* @ts-ignore */
|
|
939
|
+
...(ngDevMode ? [{ debugName: "allRows" }] : /* istanbul ignore next */ []));
|
|
940
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SiSelectSimpleOptionsDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
|
|
941
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "22.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 });
|
|
867
942
|
}
|
|
868
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
943
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SiSelectSimpleOptionsDirective, decorators: [{
|
|
869
944
|
type: Directive,
|
|
870
945
|
args: [{
|
|
871
946
|
// eslint-disable-next-line @angular-eslint/directive-selector
|
|
@@ -903,8 +978,8 @@ class SiSelectSingleValueDirective extends SiSelectSelectionStrategy {
|
|
|
903
978
|
fromArrayValue([value]) {
|
|
904
979
|
return value;
|
|
905
980
|
}
|
|
906
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
907
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "
|
|
981
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SiSelectSingleValueDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
|
|
982
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.0.8", type: SiSelectSingleValueDirective, isStandalone: true, selector: "si-select:not([multi])", providers: [
|
|
908
983
|
{ provide: SiSelectSelectionStrategy, useExisting: SiSelectSingleValueDirective },
|
|
909
984
|
{
|
|
910
985
|
provide: NG_VALUE_ACCESSOR,
|
|
@@ -913,7 +988,7 @@ class SiSelectSingleValueDirective extends SiSelectSelectionStrategy {
|
|
|
913
988
|
}
|
|
914
989
|
], usesInheritance: true, ngImport: i0 });
|
|
915
990
|
}
|
|
916
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
991
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SiSelectSingleValueDirective, decorators: [{
|
|
917
992
|
type: Directive,
|
|
918
993
|
args: [{
|
|
919
994
|
// eslint-disable-next-line @angular-eslint/directive-selector
|
|
@@ -958,8 +1033,8 @@ class SiSelectMultiValueDirective extends SiSelectSelectionStrategy {
|
|
|
958
1033
|
toArrayValue(value) {
|
|
959
1034
|
return value ?? [];
|
|
960
1035
|
}
|
|
961
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
962
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "
|
|
1036
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SiSelectMultiValueDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
|
|
1037
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.0.8", type: SiSelectMultiValueDirective, isStandalone: true, selector: "si-select[multi]", providers: [
|
|
963
1038
|
{ provide: SiSelectSelectionStrategy, useExisting: SiSelectMultiValueDirective },
|
|
964
1039
|
{
|
|
965
1040
|
provide: NG_VALUE_ACCESSOR,
|
|
@@ -968,7 +1043,7 @@ class SiSelectMultiValueDirective extends SiSelectSelectionStrategy {
|
|
|
968
1043
|
}
|
|
969
1044
|
], usesInheritance: true, ngImport: i0 });
|
|
970
1045
|
}
|
|
971
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1046
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SiSelectMultiValueDirective, decorators: [{
|
|
972
1047
|
type: Directive,
|
|
973
1048
|
args: [{
|
|
974
1049
|
// eslint-disable-next-line @angular-eslint/directive-selector
|
|
@@ -994,16 +1069,16 @@ class SiSelectActionDirective {
|
|
|
994
1069
|
* Close the select drop down on click.
|
|
995
1070
|
* @defaultValue false
|
|
996
1071
|
*/
|
|
997
|
-
selectActionAutoClose = input(false, { ...(ngDevMode ? { debugName: "selectActionAutoClose" } : {}), transform: booleanAttribute });
|
|
1072
|
+
selectActionAutoClose = input(false, { ...(ngDevMode ? { debugName: "selectActionAutoClose" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
|
|
998
1073
|
close() {
|
|
999
1074
|
if (this.selectActionAutoClose()) {
|
|
1000
1075
|
this.select.close();
|
|
1001
1076
|
}
|
|
1002
1077
|
}
|
|
1003
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
1004
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "
|
|
1078
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SiSelectActionDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
1079
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "22.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 });
|
|
1005
1080
|
}
|
|
1006
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1081
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SiSelectActionDirective, decorators: [{
|
|
1007
1082
|
type: Directive,
|
|
1008
1083
|
args: [{
|
|
1009
1084
|
selector: '[siSelectAction]',
|
|
@@ -1020,13 +1095,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImpor
|
|
|
1020
1095
|
* SPDX-License-Identifier: MIT
|
|
1021
1096
|
*/
|
|
1022
1097
|
class SiSelectModule {
|
|
1023
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
1024
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
1098
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SiSelectModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
1099
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "22.0.8", ngImport: i0, type: SiSelectModule, imports: [SiSelectActionDirective,
|
|
1025
1100
|
SiSelectActionsDirective,
|
|
1026
1101
|
SiSelectComponent,
|
|
1027
1102
|
SiSelectGroupTemplateDirective,
|
|
1028
1103
|
SiSelectMultiValueDirective,
|
|
1029
1104
|
SiSelectOptionTemplateDirective,
|
|
1105
|
+
SiSelectValueTemplateDirective,
|
|
1030
1106
|
SiSelectSimpleOptionsDirective,
|
|
1031
1107
|
SiSelectSingleValueDirective], exports: [SiSelectActionDirective,
|
|
1032
1108
|
SiSelectActionsDirective,
|
|
@@ -1034,11 +1110,12 @@ class SiSelectModule {
|
|
|
1034
1110
|
SiSelectGroupTemplateDirective,
|
|
1035
1111
|
SiSelectMultiValueDirective,
|
|
1036
1112
|
SiSelectOptionTemplateDirective,
|
|
1113
|
+
SiSelectValueTemplateDirective,
|
|
1037
1114
|
SiSelectSimpleOptionsDirective,
|
|
1038
1115
|
SiSelectSingleValueDirective] });
|
|
1039
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
1116
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SiSelectModule, imports: [SiSelectComponent] });
|
|
1040
1117
|
}
|
|
1041
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1118
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SiSelectModule, decorators: [{
|
|
1042
1119
|
type: NgModule,
|
|
1043
1120
|
args: [{
|
|
1044
1121
|
imports: [
|
|
@@ -1048,6 +1125,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImpor
|
|
|
1048
1125
|
SiSelectGroupTemplateDirective,
|
|
1049
1126
|
SiSelectMultiValueDirective,
|
|
1050
1127
|
SiSelectOptionTemplateDirective,
|
|
1128
|
+
SiSelectValueTemplateDirective,
|
|
1051
1129
|
SiSelectSimpleOptionsDirective,
|
|
1052
1130
|
SiSelectSingleValueDirective
|
|
1053
1131
|
],
|
|
@@ -1058,6 +1136,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImpor
|
|
|
1058
1136
|
SiSelectGroupTemplateDirective,
|
|
1059
1137
|
SiSelectMultiValueDirective,
|
|
1060
1138
|
SiSelectOptionTemplateDirective,
|
|
1139
|
+
SiSelectValueTemplateDirective,
|
|
1061
1140
|
SiSelectSimpleOptionsDirective,
|
|
1062
1141
|
SiSelectSingleValueDirective
|
|
1063
1142
|
]
|
|
@@ -1118,26 +1197,27 @@ class SiCustomSelectDirective {
|
|
|
1118
1197
|
* `__si-custom-select-${SiCustomSelectDirective.idCounter++}`
|
|
1119
1198
|
* ```
|
|
1120
1199
|
*/
|
|
1121
|
-
id = input(`__si-custom-select-${SiCustomSelectDirective.idCounter++}`,
|
|
1200
|
+
id = input(`__si-custom-select-${SiCustomSelectDirective.idCounter++}`, /* @ts-ignore */
|
|
1201
|
+
...(ngDevMode ? [{ debugName: "id" }] : /* istanbul ignore next */ []));
|
|
1122
1202
|
/**
|
|
1123
1203
|
* Whether the select input is disabled.
|
|
1124
1204
|
*
|
|
1125
1205
|
* @defaultValue false
|
|
1126
1206
|
*/
|
|
1127
1207
|
// eslint-disable-next-line @angular-eslint/no-input-rename
|
|
1128
|
-
disabledInput = input(false, { ...(ngDevMode ? { debugName: "disabledInput" } : {}), alias: 'disabled', transform: booleanAttribute });
|
|
1208
|
+
disabledInput = input(false, { ...(ngDevMode ? { debugName: "disabledInput" } : /* istanbul ignore next */ {}), alias: 'disabled', transform: booleanAttribute });
|
|
1129
1209
|
/**
|
|
1130
1210
|
* Readonly state. Similar to disabled but with higher contrast.
|
|
1131
1211
|
*
|
|
1132
1212
|
* @defaultValue false
|
|
1133
1213
|
*/
|
|
1134
|
-
readonly = input(false, { ...(ngDevMode ? { debugName: "readonly" } : {}), transform: booleanAttribute });
|
|
1214
|
+
readonly = input(false, { ...(ngDevMode ? { debugName: "readonly" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
|
|
1135
1215
|
/**
|
|
1136
1216
|
* Optional CDK scroll strategy used for the custom select overlay.
|
|
1137
1217
|
*
|
|
1138
1218
|
* @defaultValue defaultConnectedOverlayScrollStrategy()
|
|
1139
1219
|
*/
|
|
1140
|
-
scrollStrategy = input(defaultConnectedOverlayScrollStrategy(), { ...(ngDevMode ? { debugName: "scrollStrategy" } : {}), alias: 'siCustomSelectScrollStrategy' });
|
|
1220
|
+
scrollStrategy = input(defaultConnectedOverlayScrollStrategy(), { ...(ngDevMode ? { debugName: "scrollStrategy" } : /* istanbul ignore next */ {}), alias: 'siCustomSelectScrollStrategy' });
|
|
1141
1221
|
/** Emits when the dropdown open state changes. */
|
|
1142
1222
|
openChange = output();
|
|
1143
1223
|
/**
|
|
@@ -1145,26 +1225,32 @@ class SiCustomSelectDirective {
|
|
|
1145
1225
|
*
|
|
1146
1226
|
* @defaultValue undefined
|
|
1147
1227
|
*/
|
|
1148
|
-
value = model(undefined,
|
|
1228
|
+
value = model(undefined, /* @ts-ignore */
|
|
1229
|
+
...(ngDevMode ? [{ debugName: "value" }] : /* istanbul ignore next */ []));
|
|
1149
1230
|
/**
|
|
1150
1231
|
* Whether the dropdown is currently open.
|
|
1151
1232
|
*
|
|
1152
1233
|
* @defaultValue false
|
|
1153
1234
|
*/
|
|
1154
|
-
isOpen = signal(false,
|
|
1235
|
+
isOpen = signal(false, /* @ts-ignore */
|
|
1236
|
+
...(ngDevMode ? [{ debugName: "isOpen" }] : /* istanbul ignore next */ []));
|
|
1155
1237
|
/** @internal */
|
|
1156
|
-
labelledby = computed(() => `${this.id()}-label ${this.id()}-combobox`,
|
|
1238
|
+
labelledby = computed(() => `${this.id()}-label ${this.id()}-combobox`, /* @ts-ignore */
|
|
1239
|
+
...(ngDevMode ? [{ debugName: "labelledby" }] : /* istanbul ignore next */ []));
|
|
1157
1240
|
/** @internal */
|
|
1158
|
-
comboboxLabelId = computed(() => `${this.id()}-combobox`,
|
|
1241
|
+
comboboxLabelId = computed(() => `${this.id()}-combobox`, /* @ts-ignore */
|
|
1242
|
+
...(ngDevMode ? [{ debugName: "comboboxLabelId" }] : /* istanbul ignore next */ []));
|
|
1159
1243
|
/** @internal */
|
|
1160
|
-
dropdownId = computed(() => this.id() + '-dropdown',
|
|
1244
|
+
dropdownId = computed(() => this.id() + '-dropdown', /* @ts-ignore */
|
|
1245
|
+
...(ngDevMode ? [{ debugName: "dropdownId" }] : /* istanbul ignore next */ []));
|
|
1161
1246
|
/**
|
|
1162
1247
|
* Value forwarded to the `aria-haspopup` attribute. Reflects the
|
|
1163
1248
|
* `contentType` input of the registered {@link SiSelectDropdownDirective},
|
|
1164
1249
|
* defaulting to `'listbox'` until a dropdown template is registered.
|
|
1165
1250
|
* @internal
|
|
1166
1251
|
*/
|
|
1167
|
-
haspopup = computed(() => this.dropdownDirective()?.contentType() ?? 'listbox',
|
|
1252
|
+
haspopup = computed(() => this.dropdownDirective()?.contentType() ?? 'listbox', /* @ts-ignore */
|
|
1253
|
+
...(ngDevMode ? [{ debugName: "haspopup" }] : /* istanbul ignore next */ []));
|
|
1168
1254
|
/**
|
|
1169
1255
|
* This ID will be bound to the `aria-describedby` attribute of the select.
|
|
1170
1256
|
*
|
|
@@ -1173,12 +1259,15 @@ class SiCustomSelectDirective {
|
|
|
1173
1259
|
* `${this.id()}-errormessage`
|
|
1174
1260
|
* ```
|
|
1175
1261
|
*/
|
|
1176
|
-
errormessageId = input(`${this.id()}-errormessage`,
|
|
1262
|
+
errormessageId = input(`${this.id()}-errormessage`, /* @ts-ignore */
|
|
1263
|
+
...(ngDevMode ? [{ debugName: "errormessageId" }] : /* istanbul ignore next */ []));
|
|
1177
1264
|
/** Combined disabled state from input and form control. */
|
|
1178
|
-
disabled = computed(() => this.disabledInput() || this.disabledByForm(),
|
|
1265
|
+
disabled = computed(() => this.disabledInput() || this.disabledByForm(), /* @ts-ignore */
|
|
1266
|
+
...(ngDevMode ? [{ debugName: "disabled" }] : /* istanbul ignore next */ []));
|
|
1179
1267
|
onTouched = () => { };
|
|
1180
1268
|
onChange = () => { };
|
|
1181
|
-
disabledByForm = signal(false,
|
|
1269
|
+
disabledByForm = signal(false, /* @ts-ignore */
|
|
1270
|
+
...(ngDevMode ? [{ debugName: "disabledByForm" }] : /* istanbul ignore next */ []));
|
|
1182
1271
|
overlay = inject(Overlay);
|
|
1183
1272
|
focusTrapFactory = inject(ConfigurableFocusTrapFactory);
|
|
1184
1273
|
elementRef = inject(ElementRef);
|
|
@@ -1188,7 +1277,8 @@ class SiCustomSelectDirective {
|
|
|
1188
1277
|
overlayRef;
|
|
1189
1278
|
focusTrap;
|
|
1190
1279
|
closeOverlay$ = new Subject();
|
|
1191
|
-
dropdownDirective = signal(undefined,
|
|
1280
|
+
dropdownDirective = signal(undefined, /* @ts-ignore */
|
|
1281
|
+
...(ngDevMode ? [{ debugName: "dropdownDirective" }] : /* istanbul ignore next */ []));
|
|
1192
1282
|
constructor() {
|
|
1193
1283
|
this.destroyRef.onDestroy(() => {
|
|
1194
1284
|
this.disposeOverlay();
|
|
@@ -1298,13 +1388,13 @@ class SiCustomSelectDirective {
|
|
|
1298
1388
|
this.overlayRef = undefined;
|
|
1299
1389
|
}
|
|
1300
1390
|
}
|
|
1301
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
1302
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "
|
|
1391
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SiCustomSelectDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
1392
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "22.0.8", type: SiCustomSelectDirective, isStandalone: true, selector: "[siCustomSelect]", inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, disabledInput: { classPropertyName: "disabledInput", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: true, isRequired: false, transformFunction: null }, scrollStrategy: { classPropertyName: "scrollStrategy", publicName: "siCustomSelectScrollStrategy", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, errormessageId: { classPropertyName: "errormessageId", publicName: "errormessageId", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { openChange: "openChange", value: "valueChange" }, host: { attributes: { "role": "combobox", "aria-autocomplete": "none" }, listeners: { "click": "open()", "keydown.enter": "open()", "keydown.space": "open($event)", "keydown.arrowDown": "open($event)", "keydown.arrowUp": "open($event)" }, properties: { "style.--si-action-icon-offset.rem": "1.5", "attr.aria-haspopup": "haspopup()", "attr.aria-labelledby": "labelledby()", "attr.aria-describedby": "errormessageId()", "attr.aria-controls": "isOpen() ? dropdownId() : null", "attr.aria-expanded": "isOpen()", "attr.aria-disabled": "disabled()", "attr.id": "id()", "attr.tabindex": "disabled() ? \"-1\" : \"0\"", "class.disabled": "disabled()", "class.pe-none": "disabled()", "class.readonly": "readonly()", "class.open": "isOpen()", "class.show": "isOpen()" }, classAttribute: "dropdown" }, providers: [
|
|
1303
1393
|
{ provide: NG_VALUE_ACCESSOR, useExisting: SiCustomSelectDirective, multi: true },
|
|
1304
1394
|
{ provide: SI_FORM_ITEM_CONTROL, useExisting: SiCustomSelectDirective }
|
|
1305
1395
|
], ngImport: i0 });
|
|
1306
1396
|
}
|
|
1307
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1397
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SiCustomSelectDirective, decorators: [{
|
|
1308
1398
|
type: Directive,
|
|
1309
1399
|
args: [{
|
|
1310
1400
|
selector: '[siCustomSelect]',
|
|
@@ -1362,26 +1452,26 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImpor
|
|
|
1362
1452
|
class SiSelectComboboxComponent {
|
|
1363
1453
|
icons = addIcons({ elementDown2 });
|
|
1364
1454
|
customSelect = inject(SiCustomSelectDirective);
|
|
1365
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
1366
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
1455
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SiSelectComboboxComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
1456
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.8", type: SiSelectComboboxComponent, isStandalone: true, selector: "si-select-combobox", host: { properties: { "attr.id": "customSelect.comboboxLabelId()", "class.show": "customSelect.isOpen()" }, classAttribute: "select focus-none dropdown-toggle d-flex align-items-center w-100" }, ngImport: i0, template: `
|
|
1367
1457
|
<ng-content />
|
|
1368
1458
|
<div class="form-control-actions ms-auto my-n4">
|
|
1369
1459
|
<si-icon class="dropdown-caret icon flip-rtl p-0 m-0" [icon]="icons.elementDown2" />
|
|
1370
1460
|
</div>
|
|
1371
|
-
`, isInline: true, styles: [":host-context(.form-control.dropdown) .dropdown-caret{margin-inline-end:calc((var(--si-feedback-icon-
|
|
1461
|
+
`, isInline: true, styles: [":host-context(.form-control.dropdown) .dropdown-caret{margin-inline-end:calc((var(--si-feedback-icon-size, 0px) + var(--si-action-icon-offset)) * -1)}.dropdown-caret{transform-origin:center}\n"], dependencies: [{ kind: "component", type: SiIconComponent, selector: "si-icon", inputs: ["icon"] }] });
|
|
1372
1462
|
}
|
|
1373
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1463
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SiSelectComboboxComponent, decorators: [{
|
|
1374
1464
|
type: Component,
|
|
1375
1465
|
args: [{ selector: 'si-select-combobox', imports: [SiIconComponent], template: `
|
|
1376
1466
|
<ng-content />
|
|
1377
1467
|
<div class="form-control-actions ms-auto my-n4">
|
|
1378
1468
|
<si-icon class="dropdown-caret icon flip-rtl p-0 m-0" [icon]="icons.elementDown2" />
|
|
1379
1469
|
</div>
|
|
1380
|
-
`,
|
|
1470
|
+
`, host: {
|
|
1381
1471
|
class: 'select focus-none dropdown-toggle d-flex align-items-center w-100',
|
|
1382
1472
|
'[attr.id]': 'customSelect.comboboxLabelId()',
|
|
1383
1473
|
'[class.show]': 'customSelect.isOpen()'
|
|
1384
|
-
}, styles: [":host-context(.form-control.dropdown) .dropdown-caret{margin-inline-end:calc((var(--si-feedback-icon-
|
|
1474
|
+
}, styles: [":host-context(.form-control.dropdown) .dropdown-caret{margin-inline-end:calc((var(--si-feedback-icon-size, 0px) + var(--si-action-icon-offset)) * -1)}.dropdown-caret{transform-origin:center}\n"] }]
|
|
1385
1475
|
}] });
|
|
1386
1476
|
|
|
1387
1477
|
/**
|
|
@@ -1415,15 +1505,19 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImpor
|
|
|
1415
1505
|
*/
|
|
1416
1506
|
class SiSelectComboboxValueComponent {
|
|
1417
1507
|
/** An optional icon rendered before the projected content. */
|
|
1418
|
-
icon = input(
|
|
1508
|
+
icon = input(/* @ts-ignore */
|
|
1509
|
+
...(ngDevMode ? [undefined, { debugName: "icon" }] : /* istanbul ignore next */ []));
|
|
1419
1510
|
/** Optional CSS color class applied to {@link icon}. */
|
|
1420
|
-
iconColor = input(
|
|
1511
|
+
iconColor = input(/* @ts-ignore */
|
|
1512
|
+
...(ngDevMode ? [undefined, { debugName: "iconColor" }] : /* istanbul ignore next */ []));
|
|
1421
1513
|
/** Optional secondary icon stacked on top of {@link icon}. */
|
|
1422
|
-
stackedIcon = input(
|
|
1514
|
+
stackedIcon = input(/* @ts-ignore */
|
|
1515
|
+
...(ngDevMode ? [undefined, { debugName: "stackedIcon" }] : /* istanbul ignore next */ []));
|
|
1423
1516
|
/** Optional CSS color class applied to {@link stackedIcon}. */
|
|
1424
|
-
stackedIconColor = input(
|
|
1425
|
-
|
|
1426
|
-
static
|
|
1517
|
+
stackedIconColor = input(/* @ts-ignore */
|
|
1518
|
+
...(ngDevMode ? [undefined, { debugName: "stackedIconColor" }] : /* istanbul ignore next */ []));
|
|
1519
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SiSelectComboboxValueComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
1520
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.8", type: SiSelectComboboxValueComponent, isStandalone: true, selector: "si-select-combobox-value", inputs: { icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, iconColor: { classPropertyName: "iconColor", publicName: "iconColor", isSignal: true, isRequired: false, transformFunction: null }, stackedIcon: { classPropertyName: "stackedIcon", publicName: "stackedIcon", isSignal: true, isRequired: false, transformFunction: null }, stackedIconColor: { classPropertyName: "stackedIconColor", publicName: "stackedIconColor", isSignal: true, isRequired: false, transformFunction: null } }, host: { classAttribute: "text-nowrap" }, ngImport: i0, template: `
|
|
1427
1521
|
@if (icon(); as iconName) {
|
|
1428
1522
|
<div class="icon-stack icon me-2 my-n4">
|
|
1429
1523
|
<si-icon [icon]="iconName" [class]="iconColor() ?? ''" />
|
|
@@ -1433,9 +1527,9 @@ class SiSelectComboboxValueComponent {
|
|
|
1433
1527
|
</div>
|
|
1434
1528
|
}
|
|
1435
1529
|
<ng-content />
|
|
1436
|
-
`, isInline: true, styles: ["@charset \"UTF-8\";:host{display:inline-block;max-inline-size:100%}:host(.comma-separated:not(:first-of-type)):before{content:\",\\a0\"}\n"], dependencies: [{ kind: "component", type: SiIconComponent, selector: "si-icon", inputs: ["icon"] }]
|
|
1530
|
+
`, isInline: true, styles: ["@charset \"UTF-8\";:host{display:inline-block;max-inline-size:100%}:host(.comma-separated:not(:first-of-type)):before{content:\",\\a0\"}\n"], dependencies: [{ kind: "component", type: SiIconComponent, selector: "si-icon", inputs: ["icon"] }] });
|
|
1437
1531
|
}
|
|
1438
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1532
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SiSelectComboboxValueComponent, decorators: [{
|
|
1439
1533
|
type: Component,
|
|
1440
1534
|
args: [{ selector: 'si-select-combobox-value', imports: [SiIconComponent], template: `
|
|
1441
1535
|
@if (icon(); as iconName) {
|
|
@@ -1447,7 +1541,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImpor
|
|
|
1447
1541
|
</div>
|
|
1448
1542
|
}
|
|
1449
1543
|
<ng-content />
|
|
1450
|
-
`,
|
|
1544
|
+
`, host: {
|
|
1451
1545
|
class: 'text-nowrap'
|
|
1452
1546
|
}, styles: ["@charset \"UTF-8\";:host{display:inline-block;max-inline-size:100%}:host(.comma-separated:not(:first-of-type)):before{content:\",\\a0\"}\n"] }]
|
|
1453
1547
|
}], propDecorators: { icon: [{ type: i0.Input, args: [{ isSignal: true, alias: "icon", required: false }] }], iconColor: [{ type: i0.Input, args: [{ isSignal: true, alias: "iconColor", required: false }] }], stackedIcon: [{ type: i0.Input, args: [{ isSignal: true, alias: "stackedIcon", required: false }] }], stackedIconColor: [{ type: i0.Input, args: [{ isSignal: true, alias: "stackedIconColor", required: false }] }] } });
|
|
@@ -1478,17 +1572,18 @@ class SiSelectDropdownDirective {
|
|
|
1478
1572
|
* forwarded to the `aria-haspopup` attribute of the combobox host of
|
|
1479
1573
|
* the parent {@link SiCustomSelectDirective}.
|
|
1480
1574
|
*/
|
|
1481
|
-
contentType = input.required(
|
|
1575
|
+
contentType = input.required(/* @ts-ignore */
|
|
1576
|
+
...(ngDevMode ? [{ debugName: "contentType" }] : /* istanbul ignore next */ []));
|
|
1482
1577
|
/** @internal */
|
|
1483
1578
|
templateRef = inject(TemplateRef);
|
|
1484
1579
|
constructor() {
|
|
1485
1580
|
const customSelect = inject(SiCustomSelectDirective, { optional: true });
|
|
1486
1581
|
customSelect?.registerDropdown(this);
|
|
1487
1582
|
}
|
|
1488
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
1489
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "
|
|
1583
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SiSelectDropdownDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
1584
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "22.0.8", type: SiSelectDropdownDirective, isStandalone: true, selector: "[si-select-dropdown]", inputs: { contentType: { classPropertyName: "contentType", publicName: "contentType", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0 });
|
|
1490
1585
|
}
|
|
1491
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1586
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SiSelectDropdownDirective, decorators: [{
|
|
1492
1587
|
type: Directive,
|
|
1493
1588
|
args: [{
|
|
1494
1589
|
// eslint-disable-next-line @angular-eslint/directive-selector
|
|
@@ -1505,5 +1600,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImpor
|
|
|
1505
1600
|
* Generated bundle index. Do not edit.
|
|
1506
1601
|
*/
|
|
1507
1602
|
|
|
1508
|
-
export { SiCustomSelectDirective, SiSelectActionDirective, SiSelectActionsDirective, SiSelectComboboxComponent, SiSelectComboboxValueComponent, SiSelectComponent, SiSelectDropdownDirective, SiSelectGroupTemplateDirective, SiSelectLazyOptionsDirective, SiSelectListHasFilterComponent, SiSelectModule, SiSelectMultiValueDirective, SiSelectOptionTemplateDirective, SiSelectSimpleOptionsDirective, SiSelectSingleValueDirective };
|
|
1603
|
+
export { SiCustomSelectDirective, SiSelectActionDirective, SiSelectActionsDirective, SiSelectComboboxComponent, SiSelectComboboxValueComponent, SiSelectComponent, SiSelectDropdownDirective, SiSelectGroupTemplateDirective, SiSelectLazyOptionsDirective, SiSelectListHasFilterComponent, SiSelectModule, SiSelectMultiValueDirective, SiSelectOptionTemplateDirective, SiSelectSimpleOptionsDirective, SiSelectSingleValueDirective, SiSelectValueTemplateDirective };
|
|
1509
1604
|
//# sourceMappingURL=siemens-element-ng-select.mjs.map
|