@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
|
@@ -3,7 +3,7 @@ import { CdkTrapFocus, A11yModule } from '@angular/cdk/a11y';
|
|
|
3
3
|
import { BreakpointObserver } from '@angular/cdk/layout';
|
|
4
4
|
import { NgTemplateOutlet } from '@angular/common';
|
|
5
5
|
import * as i0 from '@angular/core';
|
|
6
|
-
import { input, signal, inject, Injector, viewChild, effect, untracked,
|
|
6
|
+
import { input, signal, inject, Injector, viewChild, effect, untracked, Component, Directive, ElementRef, computed, afterNextRender, HostListener, booleanAttribute, model, output } from '@angular/core';
|
|
7
7
|
import { toSignal, toObservable } from '@angular/core/rxjs-interop';
|
|
8
8
|
import { elementMenu, elementThumbnails, elementDown2, elementOptionsVertical, elementFavoritesFilled, elementFavorites, elementExport, elementCancel } from '@siemens/element-icons';
|
|
9
9
|
import { SI_HEADER_WITH_DROPDOWNS, SiHeaderDropdownTriggerDirective, SI_HEADER_DROPDOWN_OPTIONS } from '@siemens/element-ng/header-dropdown';
|
|
@@ -29,9 +29,11 @@ class SiApplicationHeaderComponent {
|
|
|
29
29
|
*
|
|
30
30
|
* @defaultValue 'sm'
|
|
31
31
|
*/
|
|
32
|
-
expandBreakpoint = input('sm',
|
|
32
|
+
expandBreakpoint = input('sm', /* @ts-ignore */
|
|
33
|
+
...(ngDevMode ? [{ debugName: "expandBreakpoint" }] : /* istanbul ignore next */ []));
|
|
33
34
|
/** Template reference for the launchpad content rendered inside the header. */
|
|
34
|
-
launchpad = input(
|
|
35
|
+
launchpad = input(/* @ts-ignore */
|
|
36
|
+
...(ngDevMode ? [undefined, { debugName: "launchpad" }] : /* istanbul ignore next */ []));
|
|
35
37
|
/**
|
|
36
38
|
* Accessible label for the launchpad toggle button.
|
|
37
39
|
*
|
|
@@ -40,21 +42,28 @@ class SiApplicationHeaderComponent {
|
|
|
40
42
|
* t(() => $localize`:@@SI_APPLICATION_HEADER.LAUNCHPAD:Launchpad`)
|
|
41
43
|
* ```
|
|
42
44
|
*/
|
|
43
|
-
launchpadLabel = input(t(() => $localize `:@@SI_APPLICATION_HEADER.LAUNCHPAD:Launchpad`),
|
|
45
|
+
launchpadLabel = input(t(() => $localize `:@@SI_APPLICATION_HEADER.LAUNCHPAD:Launchpad`), /* @ts-ignore */
|
|
46
|
+
...(ngDevMode ? [{ debugName: "launchpadLabel" }] : /* istanbul ignore next */ []));
|
|
44
47
|
/** @internal */
|
|
45
48
|
closeMobileMenus = new Subject();
|
|
46
49
|
/** @internal */
|
|
47
|
-
mobileNavigationExpanded = signal(false,
|
|
50
|
+
mobileNavigationExpanded = signal(false, /* @ts-ignore */
|
|
51
|
+
...(ngDevMode ? [{ debugName: "mobileNavigationExpanded" }] : /* istanbul ignore next */ []));
|
|
48
52
|
/** @internal */
|
|
49
|
-
hasNavigation = signal(false,
|
|
50
|
-
|
|
51
|
-
|
|
53
|
+
hasNavigation = signal(false, /* @ts-ignore */
|
|
54
|
+
...(ngDevMode ? [{ debugName: "hasNavigation" }] : /* istanbul ignore next */ []));
|
|
55
|
+
openDropdownCount = signal(0, /* @ts-ignore */
|
|
56
|
+
...(ngDevMode ? [{ debugName: "openDropdownCount" }] : /* istanbul ignore next */ []));
|
|
57
|
+
launchpadOpen = signal(false, /* @ts-ignore */
|
|
58
|
+
...(ngDevMode ? [{ debugName: "launchpadOpen" }] : /* istanbul ignore next */ []));
|
|
52
59
|
id = `__si-application-header-${SiApplicationHeaderComponent.idCounter++}`;
|
|
53
|
-
toggleNavigation = t(() => $localize `:@@SI_APPLICATION_HEADER.TOGGLE_NAVIGATION:
|
|
60
|
+
toggleNavigation = t(() => $localize `:@@SI_APPLICATION_HEADER.TOGGLE_NAVIGATION:Show navigation`);
|
|
54
61
|
injector = inject(Injector);
|
|
55
62
|
icons = addIcons({ elementThumbnails, elementMenu });
|
|
56
|
-
navigationToggle = viewChild('navigationToggle',
|
|
57
|
-
|
|
63
|
+
navigationToggle = viewChild('navigationToggle', /* @ts-ignore */
|
|
64
|
+
...(ngDevMode ? [{ debugName: "navigationToggle" }] : /* istanbul ignore next */ []));
|
|
65
|
+
focusTrap = viewChild.required(CdkTrapFocus, /* @ts-ignore */
|
|
66
|
+
...(ngDevMode ? [{ debugName: "focusTrap" }] : /* istanbul ignore next */ []));
|
|
58
67
|
breakpointObserver = inject(BreakpointObserver);
|
|
59
68
|
openDropdown;
|
|
60
69
|
closeMobileSub = this.closeMobileMenus.subscribe(() => {
|
|
@@ -156,12 +165,12 @@ class SiApplicationHeaderComponent {
|
|
|
156
165
|
this.dropdownClosed();
|
|
157
166
|
}
|
|
158
167
|
}
|
|
159
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
160
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
168
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SiApplicationHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
169
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.8", type: SiApplicationHeaderComponent, isStandalone: true, selector: "si-application-header", inputs: { expandBreakpoint: { classPropertyName: "expandBreakpoint", publicName: "expandBreakpoint", isSignal: true, isRequired: false, transformFunction: null }, launchpad: { classPropertyName: "launchpad", publicName: "launchpad", isSignal: true, isRequired: false, transformFunction: null }, launchpadLabel: { classPropertyName: "launchpadLabel", publicName: "launchpadLabel", isSignal: true, isRequired: false, transformFunction: null } }, providers: [{ provide: SI_HEADER_WITH_DROPDOWNS, useExisting: SiApplicationHeaderComponent }], viewQueries: [{ propertyName: "navigationToggle", first: true, predicate: ["navigationToggle"], descendants: true, isSignal: true }, { propertyName: "focusTrap", first: true, predicate: CdkTrapFocus, descendants: true, isSignal: true }], ngImport: i0, template: "<header\n [class]=\"`application-header expand-${expandBreakpoint()}`\"\n [class.show-navigation]=\"mobileNavigationExpanded()\"\n>\n @if (launchpad()) {\n <button\n type=\"button\"\n aria-haspopup=\"dialog\"\n [class]=\"`header-toggle focus-inside d-${expandBreakpoint()}-block`\"\n [class.show]=\"launchpadOpen()\"\n [class.d-none]=\"hasNavigation()\"\n [attr.aria-expanded]=\"launchpadOpen()\"\n [attr.aria-label]=\"launchpadLabel() | translate\"\n [attr.aria-controls]=\"id + '-launchpad'\"\n (click)=\"toggleLaunchpad()\"\n >\n <si-icon class=\"icon\" [icon]=\"icons.elementThumbnails\" />\n </button>\n }\n @if (hasNavigation()) {\n <button\n #navigationToggle\n type=\"button\"\n class=\"header-toggle focus-inside\"\n [class.show]=\"mobileNavigationExpanded()\"\n [attr.aria-expanded]=\"mobileNavigationExpanded()\"\n [attr.aria-label]=\"toggleNavigation | translate\"\n [attr.aria-controls]=\"id + '-navigation-wrapper'\"\n (click)=\"toggleMobileNavigationExpanded()\"\n >\n <si-icon class=\"icon\" [icon]=\"icons.elementMenu\" />\n </button>\n }\n <ng-content select=\"si-header-brand, element-header-brand\">\n <div class=\"header-brand\"></div>\n </ng-content>\n\n <div\n class=\"d-contents\"\n [id]=\"id + '-navigation-wrapper'\"\n [cdkTrapFocus]=\"mobileNavigationExpanded()\"\n (keydown.escape)=\"navigationEscapePressed()\"\n >\n <ng-content select=\"si-header-navigation, element-header-navigation\">\n <div class=\"header-navigation\"></div>\n </ng-content>\n </div>\n\n <ng-content select=\"si-header-actions, element-header-actions\">\n <div class=\"header-actions\"></div>\n </ng-content>\n</header>\n\n@if (launchpadOpen() && launchpad()) {\n <div\n role=\"dialog\"\n aria-modal=\"true\"\n [id]=\"id + '-launchpad'\"\n [attr.aria-label]=\"launchpadLabel() | translate\"\n >\n <ng-template [ngTemplateOutlet]=\"launchpad()!\" [ngTemplateOutletInjector]=\"injector\" />\n </div>\n}\n\n@if (openDropdownCount() || launchpadOpen()) {\n <div\n [class]=\"`modal-backdrop ${launchpadOpen() ? 'd-block' : `d-${expandBreakpoint()}-none`}`\"\n (click)=\"backdropClicked()\"\n ></div>\n}\n", styles: [".modal-backdrop{z-index:1032}\n"], dependencies: [{ kind: "ngmodule", type: A11yModule }, { kind: "directive", type: i1.CdkTrapFocus, selector: "[cdkTrapFocus]", inputs: ["cdkTrapFocus", "cdkTrapFocusAutoCapture"], exportAs: ["cdkTrapFocus"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: SiIconComponent, selector: "si-icon", inputs: ["icon"] }, { kind: "pipe", type: SiTranslatePipe, name: "translate" }] });
|
|
161
170
|
}
|
|
162
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
171
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SiApplicationHeaderComponent, decorators: [{
|
|
163
172
|
type: Component,
|
|
164
|
-
args: [{ selector: 'si-application-header', imports: [SiTranslatePipe, A11yModule, NgTemplateOutlet, SiIconComponent], providers: [{ provide: SI_HEADER_WITH_DROPDOWNS, useExisting: SiApplicationHeaderComponent }],
|
|
173
|
+
args: [{ selector: 'si-application-header', imports: [SiTranslatePipe, A11yModule, NgTemplateOutlet, SiIconComponent], providers: [{ provide: SI_HEADER_WITH_DROPDOWNS, useExisting: SiApplicationHeaderComponent }], template: "<header\n [class]=\"`application-header expand-${expandBreakpoint()}`\"\n [class.show-navigation]=\"mobileNavigationExpanded()\"\n>\n @if (launchpad()) {\n <button\n type=\"button\"\n aria-haspopup=\"dialog\"\n [class]=\"`header-toggle focus-inside d-${expandBreakpoint()}-block`\"\n [class.show]=\"launchpadOpen()\"\n [class.d-none]=\"hasNavigation()\"\n [attr.aria-expanded]=\"launchpadOpen()\"\n [attr.aria-label]=\"launchpadLabel() | translate\"\n [attr.aria-controls]=\"id + '-launchpad'\"\n (click)=\"toggleLaunchpad()\"\n >\n <si-icon class=\"icon\" [icon]=\"icons.elementThumbnails\" />\n </button>\n }\n @if (hasNavigation()) {\n <button\n #navigationToggle\n type=\"button\"\n class=\"header-toggle focus-inside\"\n [class.show]=\"mobileNavigationExpanded()\"\n [attr.aria-expanded]=\"mobileNavigationExpanded()\"\n [attr.aria-label]=\"toggleNavigation | translate\"\n [attr.aria-controls]=\"id + '-navigation-wrapper'\"\n (click)=\"toggleMobileNavigationExpanded()\"\n >\n <si-icon class=\"icon\" [icon]=\"icons.elementMenu\" />\n </button>\n }\n <ng-content select=\"si-header-brand, element-header-brand\">\n <div class=\"header-brand\"></div>\n </ng-content>\n\n <div\n class=\"d-contents\"\n [id]=\"id + '-navigation-wrapper'\"\n [cdkTrapFocus]=\"mobileNavigationExpanded()\"\n (keydown.escape)=\"navigationEscapePressed()\"\n >\n <ng-content select=\"si-header-navigation, element-header-navigation\">\n <div class=\"header-navigation\"></div>\n </ng-content>\n </div>\n\n <ng-content select=\"si-header-actions, element-header-actions\">\n <div class=\"header-actions\"></div>\n </ng-content>\n</header>\n\n@if (launchpadOpen() && launchpad()) {\n <div\n role=\"dialog\"\n aria-modal=\"true\"\n [id]=\"id + '-launchpad'\"\n [attr.aria-label]=\"launchpadLabel() | translate\"\n >\n <ng-template [ngTemplateOutlet]=\"launchpad()!\" [ngTemplateOutletInjector]=\"injector\" />\n </div>\n}\n\n@if (openDropdownCount() || launchpadOpen()) {\n <div\n [class]=\"`modal-backdrop ${launchpadOpen() ? 'd-block' : `d-${expandBreakpoint()}-none`}`\"\n (click)=\"backdropClicked()\"\n ></div>\n}\n", styles: [".modal-backdrop{z-index:1032}\n"] }]
|
|
165
174
|
}], ctorParameters: () => [], propDecorators: { expandBreakpoint: [{ type: i0.Input, args: [{ isSignal: true, alias: "expandBreakpoint", required: false }] }], launchpad: [{ type: i0.Input, args: [{ isSignal: true, alias: "launchpad", required: false }] }], launchpadLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "launchpadLabel", required: false }] }], navigationToggle: [{ type: i0.ViewChild, args: ['navigationToggle', { isSignal: true }] }], focusTrap: [{ type: i0.ViewChild, args: [i0.forwardRef(() => CdkTrapFocus), { isSignal: true }] }] } });
|
|
166
175
|
|
|
167
176
|
/**
|
|
@@ -170,15 +179,19 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImpor
|
|
|
170
179
|
*/
|
|
171
180
|
class SiAccountDetailsComponent {
|
|
172
181
|
/** The user's full name. */
|
|
173
|
-
name = input.required(
|
|
182
|
+
name = input.required(/* @ts-ignore */
|
|
183
|
+
...(ngDevMode ? [{ debugName: "name" }] : /* istanbul ignore next */ []));
|
|
174
184
|
/** The user's company name. */
|
|
175
|
-
company = input(
|
|
185
|
+
company = input(/* @ts-ignore */
|
|
186
|
+
...(ngDevMode ? [undefined, { debugName: "company" }] : /* istanbul ignore next */ []));
|
|
176
187
|
/** The user's email address. */
|
|
177
|
-
email = input(
|
|
188
|
+
email = input(/* @ts-ignore */
|
|
189
|
+
...(ngDevMode ? [undefined, { debugName: "email" }] : /* istanbul ignore next */ []));
|
|
178
190
|
/** The user's role. */
|
|
179
|
-
userRole = input(
|
|
180
|
-
|
|
181
|
-
static
|
|
191
|
+
userRole = input(/* @ts-ignore */
|
|
192
|
+
...(ngDevMode ? [undefined, { debugName: "userRole" }] : /* istanbul ignore next */ []));
|
|
193
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SiAccountDetailsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
194
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.8", type: SiAccountDetailsComponent, isStandalone: true, selector: "si-account-details", inputs: { name: { classPropertyName: "name", publicName: "name", isSignal: true, isRequired: true, transformFunction: null }, company: { classPropertyName: "company", publicName: "company", isSignal: true, isRequired: false, transformFunction: null }, email: { classPropertyName: "email", publicName: "email", isSignal: true, isRequired: false, transformFunction: null }, userRole: { classPropertyName: "userRole", publicName: "userRole", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
|
|
182
195
|
<div class="mx-5">
|
|
183
196
|
<div class="si-h5">{{ name() }}</div>
|
|
184
197
|
@if (email()) {
|
|
@@ -195,9 +208,9 @@ class SiAccountDetailsComponent {
|
|
|
195
208
|
</div>
|
|
196
209
|
}
|
|
197
210
|
</div>
|
|
198
|
-
`, isInline: true, dependencies: [{ kind: "pipe", type: SiTranslatePipe, name: "translate" }]
|
|
211
|
+
`, isInline: true, dependencies: [{ kind: "pipe", type: SiTranslatePipe, name: "translate" }] });
|
|
199
212
|
}
|
|
200
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
213
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SiAccountDetailsComponent, decorators: [{
|
|
201
214
|
type: Component,
|
|
202
215
|
args: [{
|
|
203
216
|
selector: 'si-account-details',
|
|
@@ -219,8 +232,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImpor
|
|
|
219
232
|
</div>
|
|
220
233
|
}
|
|
221
234
|
</div>
|
|
222
|
-
|
|
223
|
-
changeDetection: ChangeDetectionStrategy.OnPush
|
|
235
|
+
`
|
|
224
236
|
}]
|
|
225
237
|
}], propDecorators: { name: [{ type: i0.Input, args: [{ isSignal: true, alias: "name", required: true }] }], company: [{ type: i0.Input, args: [{ isSignal: true, alias: "company", required: false }] }], email: [{ type: i0.Input, args: [{ isSignal: true, alias: "email", required: false }] }], userRole: [{ type: i0.Input, args: [{ isSignal: true, alias: "userRole", required: false }] }] } });
|
|
226
238
|
|
|
@@ -236,8 +248,8 @@ class SiHeaderNavigationItemComponent {
|
|
|
236
248
|
optional: true
|
|
237
249
|
});
|
|
238
250
|
icons = addIcons({ elementDown2 });
|
|
239
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
240
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
251
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SiHeaderNavigationItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
252
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.8", type: SiHeaderNavigationItemComponent, isStandalone: true, selector: "button[si-header-navigation-item], a[si-header-navigation-item]", host: { properties: { "class.dropdown-toggle": "!!dropdownTrigger" }, classAttribute: "header-item focus-inside" }, providers: [
|
|
241
253
|
{ provide: SI_HEADER_DROPDOWN_OPTIONS, useValue: { disableRootFocusTrapForInlineMode: true } }
|
|
242
254
|
], ngImport: i0, template: `
|
|
243
255
|
<div class="item-title">
|
|
@@ -246,9 +258,9 @@ class SiHeaderNavigationItemComponent {
|
|
|
246
258
|
@if (dropdownTrigger) {
|
|
247
259
|
<si-icon class="dropdown-caret" [icon]="icons.elementDown2" />
|
|
248
260
|
}
|
|
249
|
-
`, isInline: true, dependencies: [{ kind: "component", type: SiIconComponent, selector: "si-icon", inputs: ["icon"] }]
|
|
261
|
+
`, isInline: true, dependencies: [{ kind: "component", type: SiIconComponent, selector: "si-icon", inputs: ["icon"] }] });
|
|
250
262
|
}
|
|
251
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
263
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SiHeaderNavigationItemComponent, decorators: [{
|
|
252
264
|
type: Component,
|
|
253
265
|
args: [{
|
|
254
266
|
// eslint-disable-next-line @angular-eslint/component-selector
|
|
@@ -265,7 +277,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImpor
|
|
|
265
277
|
providers: [
|
|
266
278
|
{ provide: SI_HEADER_DROPDOWN_OPTIONS, useValue: { disableRootFocusTrapForInlineMode: true } }
|
|
267
279
|
],
|
|
268
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
269
280
|
host: {
|
|
270
281
|
class: 'header-item focus-inside',
|
|
271
282
|
'[class.dropdown-toggle]': '!!dropdownTrigger'
|
|
@@ -285,18 +296,23 @@ class SiHeaderCollapsibleActionsComponent {
|
|
|
285
296
|
*
|
|
286
297
|
* @defaultValue
|
|
287
298
|
* ```
|
|
288
|
-
* t(() => $localize`:@@SI_APPLICATION_HEADER.TOGGLE_ACTIONS:
|
|
299
|
+
* t(() => $localize`:@@SI_APPLICATION_HEADER.TOGGLE_ACTIONS:Show actions`)
|
|
289
300
|
* ```
|
|
290
301
|
*/
|
|
291
|
-
mobileToggleLabel = input(t(() => $localize `:@@SI_APPLICATION_HEADER.TOGGLE_ACTIONS:
|
|
302
|
+
mobileToggleLabel = input(t(() => $localize `:@@SI_APPLICATION_HEADER.TOGGLE_ACTIONS:Show actions`), /* @ts-ignore */
|
|
303
|
+
...(ngDevMode ? [{ debugName: "mobileToggleLabel" }] : /* istanbul ignore next */ []));
|
|
292
304
|
/** @internal **/
|
|
293
|
-
mobileExpanded = signal(false,
|
|
305
|
+
mobileExpanded = signal(false, /* @ts-ignore */
|
|
306
|
+
...(ngDevMode ? [{ debugName: "mobileExpanded" }] : /* istanbul ignore next */ []));
|
|
294
307
|
/** @internal **/
|
|
295
|
-
badgeCount = signal(0,
|
|
308
|
+
badgeCount = signal(0, /* @ts-ignore */
|
|
309
|
+
...(ngDevMode ? [{ debugName: "badgeCount" }] : /* istanbul ignore next */ []));
|
|
296
310
|
id = `__si-header-collapsible-actions-${SiHeaderCollapsibleActionsComponent.idCounter++}`;
|
|
297
311
|
icons = addIcons({ elementOptionsVertical });
|
|
298
|
-
toggle = viewChild.required('toggle'
|
|
299
|
-
|
|
312
|
+
toggle = viewChild.required('toggle', /* @ts-ignore */
|
|
313
|
+
...(ngDevMode ? [{ debugName: "toggle" }] : /* istanbul ignore next */ []));
|
|
314
|
+
focusTrap = viewChild.required(CdkTrapFocus, /* @ts-ignore */
|
|
315
|
+
...(ngDevMode ? [{ debugName: "focusTrap" }] : /* istanbul ignore next */ []));
|
|
300
316
|
header = inject(SiApplicationHeaderComponent);
|
|
301
317
|
closeMobileSub = this.header.closeMobileMenus.subscribe(() => this.closeMobile());
|
|
302
318
|
ngOnDestroy() {
|
|
@@ -329,16 +345,16 @@ class SiHeaderCollapsibleActionsComponent {
|
|
|
329
345
|
this.toggle().nativeElement.focus();
|
|
330
346
|
}
|
|
331
347
|
}
|
|
332
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
333
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "
|
|
348
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SiHeaderCollapsibleActionsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
349
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "22.0.8", type: SiHeaderCollapsibleActionsComponent, isStandalone: true, selector: "si-header-collapsible-actions", inputs: { mobileToggleLabel: { classPropertyName: "mobileToggleLabel", publicName: "mobileToggleLabel", isSignal: true, isRequired: false, transformFunction: null } }, host: { classAttribute: "d-contents" }, providers: [
|
|
334
350
|
{ provide: SI_HEADER_DROPDOWN_OPTIONS, useValue: { disableRootFocusTrapForInlineMode: true } }
|
|
335
|
-
], viewQueries: [{ propertyName: "toggle", first: true, predicate: ["toggle"], descendants: true, isSignal: true }, { propertyName: "focusTrap", first: true, predicate: CdkTrapFocus, descendants: true, isSignal: true }], ngImport: i0, template: "<button\n #toggle\n type=\"button\"\n class=\"header-toggle focus-inside\"\n [class.show]=\"mobileExpanded()\"\n [attr.aria-expanded]=\"mobileExpanded()\"\n [attr.aria-label]=\"mobileToggleLabel() | translate\"\n [attr.aria-controls]=\"id + '-content'\"\n (click)=\"toggleMobileExpanded()\"\n>\n <si-icon class=\"icon
|
|
351
|
+
], viewQueries: [{ propertyName: "toggle", first: true, predicate: ["toggle"], descendants: true, isSignal: true }, { propertyName: "focusTrap", first: true, predicate: CdkTrapFocus, descendants: true, isSignal: true }], ngImport: i0, template: "<button\n #toggle\n type=\"button\"\n class=\"header-toggle focus-inside\"\n [class.show]=\"mobileExpanded()\"\n [attr.aria-expanded]=\"mobileExpanded()\"\n [attr.aria-label]=\"mobileToggleLabel() | translate\"\n [attr.aria-controls]=\"id + '-content'\"\n (click)=\"toggleMobileExpanded()\"\n>\n <si-icon class=\"icon\" [icon]=\"icons.elementOptionsVertical\" [class.badge-dot]=\"badgeCount()\" />\n</button>\n<div\n class=\"header-collapsible-actions\"\n [id]=\"id + '-content'\"\n [class.show]=\"mobileExpanded()\"\n [cdkTrapFocus]=\"mobileExpanded()\"\n (keydown.escape)=\"escapePressed()\"\n>\n <ng-content />\n</div>\n", styles: [".badge-dot:after{inset-inline-end:4px}\n"], dependencies: [{ kind: "ngmodule", type: A11yModule }, { kind: "directive", type: i1.CdkTrapFocus, selector: "[cdkTrapFocus]", inputs: ["cdkTrapFocus", "cdkTrapFocusAutoCapture"], exportAs: ["cdkTrapFocus"] }, { kind: "component", type: SiIconComponent, selector: "si-icon", inputs: ["icon"] }, { kind: "pipe", type: SiTranslatePipe, name: "translate" }] });
|
|
336
352
|
}
|
|
337
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
353
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SiHeaderCollapsibleActionsComponent, decorators: [{
|
|
338
354
|
type: Component,
|
|
339
355
|
args: [{ selector: 'si-header-collapsible-actions', imports: [SiTranslatePipe, A11yModule, SiIconComponent], providers: [
|
|
340
356
|
{ provide: SI_HEADER_DROPDOWN_OPTIONS, useValue: { disableRootFocusTrapForInlineMode: true } }
|
|
341
|
-
],
|
|
357
|
+
], host: { class: 'd-contents' }, template: "<button\n #toggle\n type=\"button\"\n class=\"header-toggle focus-inside\"\n [class.show]=\"mobileExpanded()\"\n [attr.aria-expanded]=\"mobileExpanded()\"\n [attr.aria-label]=\"mobileToggleLabel() | translate\"\n [attr.aria-controls]=\"id + '-content'\"\n (click)=\"toggleMobileExpanded()\"\n>\n <si-icon class=\"icon\" [icon]=\"icons.elementOptionsVertical\" [class.badge-dot]=\"badgeCount()\" />\n</button>\n<div\n class=\"header-collapsible-actions\"\n [id]=\"id + '-content'\"\n [class.show]=\"mobileExpanded()\"\n [cdkTrapFocus]=\"mobileExpanded()\"\n (keydown.escape)=\"escapePressed()\"\n>\n <ng-content />\n</div>\n", styles: [".badge-dot:after{inset-inline-end:4px}\n"] }]
|
|
342
358
|
}], propDecorators: { mobileToggleLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "mobileToggleLabel", required: false }] }], toggle: [{ type: i0.ViewChild, args: ['toggle', { isSignal: true }] }], focusTrap: [{ type: i0.ViewChild, args: [i0.forwardRef(() => CdkTrapFocus), { isSignal: true }] }] } });
|
|
343
359
|
|
|
344
360
|
/**
|
|
@@ -371,10 +387,10 @@ class SiHeaderActionItemBase {
|
|
|
371
387
|
queueMicrotask(() => this.header.closeMobileMenus.next());
|
|
372
388
|
}
|
|
373
389
|
}
|
|
374
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
375
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "
|
|
390
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SiHeaderActionItemBase, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
391
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.0.8", type: SiHeaderActionItemBase, isStandalone: true, host: { listeners: { "click": "click()" } }, ngImport: i0 });
|
|
376
392
|
}
|
|
377
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
393
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SiHeaderActionItemBase, decorators: [{
|
|
378
394
|
type: Directive,
|
|
379
395
|
args: [{
|
|
380
396
|
host: {
|
|
@@ -398,34 +414,35 @@ class SiHeaderActionIconItemBase extends SiHeaderActionItemBase {
|
|
|
398
414
|
* - =number, the number will be shown and automatically trimmed if \>99
|
|
399
415
|
* - =true, an empty red dot will be shown
|
|
400
416
|
*/
|
|
401
|
-
badge = input(
|
|
417
|
+
badge = input(/* @ts-ignore */
|
|
418
|
+
...(ngDevMode ? [undefined, { debugName: "badge" }] : /* istanbul ignore next */ []));
|
|
402
419
|
tooltipService = inject(SiTooltipService);
|
|
403
420
|
elementRef = inject(ElementRef);
|
|
404
421
|
existingTooltip = inject(SiTooltipDirective, { optional: true, host: true });
|
|
405
|
-
|
|
422
|
+
canShowTooltip = computed(() => this.visuallyHideTitle() &&
|
|
423
|
+
(!this.existingTooltip ||
|
|
424
|
+
this.existingTooltip.isDisabled() ||
|
|
425
|
+
!this.existingTooltip.siTooltip()), /* @ts-ignore */
|
|
426
|
+
...(ngDevMode ? [{ debugName: "canShowTooltip" }] : /* istanbul ignore next */ []));
|
|
427
|
+
badgeDot = computed(() => typeof this.badge() === 'boolean' ? this.badge() : false, /* @ts-ignore */
|
|
428
|
+
...(ngDevMode ? [{ debugName: "badgeDot" }] : /* istanbul ignore next */ []));
|
|
406
429
|
badgeValue = computed(() => {
|
|
407
430
|
const badge = this.badge();
|
|
408
431
|
return typeof badge === 'number'
|
|
409
432
|
? `${badge > 99 ? '+' : ''}${Math.min(99, Math.round(badge))}`
|
|
410
433
|
: undefined;
|
|
411
|
-
},
|
|
434
|
+
}, /* @ts-ignore */
|
|
435
|
+
...(ngDevMode ? [{ debugName: "badgeValue" }] : /* istanbul ignore next */ []));
|
|
412
436
|
constructor() {
|
|
413
437
|
super();
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
element: this.elementRef,
|
|
423
|
-
placement: 'auto',
|
|
424
|
-
tooltip: this.itemTitle,
|
|
425
|
-
tooltipContext: () => undefined
|
|
426
|
-
});
|
|
427
|
-
onCleanup(() => tooltipRef.destroy());
|
|
428
|
-
}
|
|
438
|
+
this.tooltipService.createTooltip({
|
|
439
|
+
element: this.elementRef,
|
|
440
|
+
placement: () => 'auto',
|
|
441
|
+
canShow: this.canShowTooltip,
|
|
442
|
+
// Subclass field initializers run after this base constructor. So we cannot directly pass `this.itemTitle`.
|
|
443
|
+
tooltip: () => this.itemTitle(),
|
|
444
|
+
tooltipContext: () => undefined
|
|
445
|
+
});
|
|
429
446
|
}
|
|
430
447
|
ngOnChanges(changes) {
|
|
431
448
|
if (changes.badge) {
|
|
@@ -437,11 +454,12 @@ class SiHeaderActionIconItemBase extends SiHeaderActionItemBase {
|
|
|
437
454
|
}
|
|
438
455
|
}
|
|
439
456
|
}
|
|
440
|
-
visuallyHideTitle = computed(() => !this.collapsibleActions?.mobileExpanded(),
|
|
441
|
-
|
|
442
|
-
static
|
|
457
|
+
visuallyHideTitle = computed(() => !this.collapsibleActions?.mobileExpanded(), /* @ts-ignore */
|
|
458
|
+
...(ngDevMode ? [{ debugName: "visuallyHideTitle" }] : /* istanbul ignore next */ []));
|
|
459
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SiHeaderActionIconItemBase, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
460
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "22.0.8", type: SiHeaderActionIconItemBase, isStandalone: true, inputs: { badge: { classPropertyName: "badge", publicName: "badge", isSignal: true, isRequired: false, transformFunction: null } }, usesInheritance: true, usesOnChanges: true, ngImport: i0 });
|
|
443
461
|
}
|
|
444
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
462
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SiHeaderActionIconItemBase, decorators: [{
|
|
445
463
|
type: Directive,
|
|
446
464
|
args: [{}]
|
|
447
465
|
}], ctorParameters: () => [], propDecorators: { badge: [{ type: i0.Input, args: [{ isSignal: true, alias: "badge", required: false }] }] } });
|
|
@@ -453,17 +471,19 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImpor
|
|
|
453
471
|
/** Adds an action item to the header. Should be located inside `.header-actions`. */
|
|
454
472
|
class SiHeaderActionItemComponent extends SiHeaderActionIconItemBase {
|
|
455
473
|
/** The icon to be shown. */
|
|
456
|
-
icon = input.required(
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
474
|
+
icon = input.required(/* @ts-ignore */
|
|
475
|
+
...(ngDevMode ? [{ debugName: "icon" }] : /* istanbul ignore next */ []));
|
|
476
|
+
itemTitle = viewChild.required('itemTitle', /* @ts-ignore */
|
|
477
|
+
...(ngDevMode ? [{ debugName: "itemTitle" }] : /* istanbul ignore next */ []));
|
|
478
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SiHeaderActionItemComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
479
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.8", type: SiHeaderActionItemComponent, isStandalone: true, selector: "button[si-header-action-item], a[si-header-action-item]", inputs: { icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: true, transformFunction: null } }, host: { properties: { "class.dropdown-toggle": "!!dropdownTrigger" }, classAttribute: "header-item focus-inside" }, providers: [SiTooltipService], viewQueries: [{ propertyName: "itemTitle", first: true, predicate: ["itemTitle"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<si-icon class=\"icon\" [class.badge-dot]=\"badgeDot()\" [icon]=\"icon()\" />\n@if (badgeValue()) {\n <span class=\"badge-text\">{{ badgeValue() }}</span>\n}\n<ng-content select=\"si-avatar\" />\n<div #itemTitle class=\"item-title\" [class.visually-hidden]=\"visuallyHideTitle()\">\n <ng-content />\n</div>\n@if (dropdownTrigger) {\n <si-icon class=\"dropdown-caret\" [icon]=\"icons.elementDown2\" />\n}\n", dependencies: [{ kind: "component", type: SiIconComponent, selector: "si-icon", inputs: ["icon"] }] });
|
|
460
480
|
}
|
|
461
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
481
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SiHeaderActionItemComponent, decorators: [{
|
|
462
482
|
type: Component,
|
|
463
|
-
args: [{ selector: 'button[si-header-action-item], a[si-header-action-item]', imports: [SiIconComponent], providers: [SiTooltipService],
|
|
483
|
+
args: [{ selector: 'button[si-header-action-item], a[si-header-action-item]', imports: [SiIconComponent], providers: [SiTooltipService], host: {
|
|
464
484
|
class: 'header-item focus-inside',
|
|
465
485
|
'[class.dropdown-toggle]': '!!dropdownTrigger'
|
|
466
|
-
}, template: "<si-icon class=\"icon
|
|
486
|
+
}, template: "<si-icon class=\"icon\" [class.badge-dot]=\"badgeDot()\" [icon]=\"icon()\" />\n@if (badgeValue()) {\n <span class=\"badge-text\">{{ badgeValue() }}</span>\n}\n<ng-content select=\"si-avatar\" />\n<div #itemTitle class=\"item-title\" [class.visually-hidden]=\"visuallyHideTitle()\">\n <ng-content />\n</div>\n@if (dropdownTrigger) {\n <si-icon class=\"dropdown-caret\" [icon]=\"icons.elementDown2\" />\n}\n" }]
|
|
467
487
|
}], propDecorators: { icon: [{ type: i0.Input, args: [{ isSignal: true, alias: "icon", required: true }] }], itemTitle: [{ type: i0.ViewChild, args: ['itemTitle', { isSignal: true }] }] } });
|
|
468
488
|
|
|
469
489
|
/**
|
|
@@ -473,21 +493,24 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImpor
|
|
|
473
493
|
/** Adds an account item to the header. Should be located inside `.header-actions`. */
|
|
474
494
|
class SiHeaderAccountItemComponent extends SiHeaderActionIconItemBase {
|
|
475
495
|
/** Name of the account. */
|
|
476
|
-
name = input.required(
|
|
496
|
+
name = input.required(/* @ts-ignore */
|
|
497
|
+
...(ngDevMode ? [{ debugName: "name" }] : /* istanbul ignore next */ []));
|
|
477
498
|
/** Initials of the account. If not provided, they will be calculated. */
|
|
478
|
-
initials = input(
|
|
499
|
+
initials = input(/* @ts-ignore */
|
|
500
|
+
...(ngDevMode ? [undefined, { debugName: "initials" }] : /* istanbul ignore next */ []));
|
|
479
501
|
/** URL to an image which should be shown instead of the initials. */
|
|
480
|
-
imageUrl = input(
|
|
502
|
+
imageUrl = input(/* @ts-ignore */
|
|
503
|
+
...(ngDevMode ? [undefined, { debugName: "imageUrl" }] : /* istanbul ignore next */ []));
|
|
481
504
|
itemTitle = this.name;
|
|
482
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
483
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
505
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SiHeaderAccountItemComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
506
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.8", type: SiHeaderAccountItemComponent, isStandalone: true, selector: "button[si-header-account-item]", inputs: { name: { classPropertyName: "name", publicName: "name", isSignal: true, isRequired: true, transformFunction: null }, initials: { classPropertyName: "initials", publicName: "initials", isSignal: true, isRequired: false, transformFunction: null }, imageUrl: { classPropertyName: "imageUrl", publicName: "imageUrl", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class.dropdown-toggle": "!!dropdownTrigger" }, classAttribute: "header-item focus-inside px-4 py-0" }, providers: [SiTooltipService], usesInheritance: true, ngImport: i0, template: "<si-avatar\n size=\"small\"\n color=\"0\"\n [altText]=\"name()\"\n [initials]=\"initials()\"\n [imageUrl]=\"imageUrl()\"\n/>\n<div class=\"item-title\" aria-hidden=\"true\" [class.d-none]=\"visuallyHideTitle()\">\n {{ name() }}\n</div>\n@if (badgeValue()) {\n <div class=\"badge-text\">{{ badgeValue() }}</div>\n}\n@if (dropdownTrigger) {\n <si-icon class=\"dropdown-caret\" [icon]=\"icons.elementDown2\" />\n}\n", styles: ["si-avatar.small{--avatar-size: calc(1.5rem + 2 * var(--si-sys-sizing-spacing-y-20))}\n"], dependencies: [{ kind: "component", type: SiAvatarComponent, selector: "si-avatar", inputs: ["size", "imageUrl", "icon", "initials", "color", "altText", "status", "statusAriaLabel"] }, { kind: "component", type: SiIconComponent, selector: "si-icon", inputs: ["icon"] }] });
|
|
484
507
|
}
|
|
485
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
508
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SiHeaderAccountItemComponent, decorators: [{
|
|
486
509
|
type: Component,
|
|
487
|
-
args: [{ selector: 'button[si-header-account-item]', imports: [SiAvatarComponent, SiIconComponent], providers: [SiTooltipService],
|
|
510
|
+
args: [{ selector: 'button[si-header-account-item]', imports: [SiAvatarComponent, SiIconComponent], providers: [SiTooltipService], host: {
|
|
488
511
|
class: 'header-item focus-inside px-4 py-0',
|
|
489
512
|
'[class.dropdown-toggle]': '!!dropdownTrigger'
|
|
490
|
-
}, template: "<si-avatar\n size=\"small\"\n color=\"0\"\n [altText]=\"name()\"\n [initials]=\"initials()\"\n [imageUrl]=\"imageUrl()\"\n/>\n<div class=\"item-title\" aria-hidden=\"true\" [class.d-none]=\"visuallyHideTitle()\">\n {{ name() }}\n</div>\n@if (badgeValue()) {\n <div class=\"badge-text\">{{ badgeValue() }}</div>\n}\n@if (dropdownTrigger) {\n <si-icon class=\"dropdown-caret\" [icon]=\"icons.elementDown2\" />\n}\n", styles: ["si-avatar.small{--avatar-size: calc(1.5rem +
|
|
513
|
+
}, template: "<si-avatar\n size=\"small\"\n color=\"0\"\n [altText]=\"name()\"\n [initials]=\"initials()\"\n [imageUrl]=\"imageUrl()\"\n/>\n<div class=\"item-title\" aria-hidden=\"true\" [class.d-none]=\"visuallyHideTitle()\">\n {{ name() }}\n</div>\n@if (badgeValue()) {\n <div class=\"badge-text\">{{ badgeValue() }}</div>\n}\n@if (dropdownTrigger) {\n <si-icon class=\"dropdown-caret\" [icon]=\"icons.elementDown2\" />\n}\n", styles: ["si-avatar.small{--avatar-size: calc(1.5rem + 2 * var(--si-sys-sizing-spacing-y-20))}\n"] }]
|
|
491
514
|
}], propDecorators: { name: [{ type: i0.Input, args: [{ isSignal: true, alias: "name", required: true }] }], initials: [{ type: i0.Input, args: [{ isSignal: true, alias: "initials", required: false }] }], imageUrl: [{ type: i0.Input, args: [{ isSignal: true, alias: "imageUrl", required: false }] }] } });
|
|
492
515
|
|
|
493
516
|
/**
|
|
@@ -500,13 +523,14 @@ class SiHeaderSelectionItemComponent extends SiHeaderActionItemBase {
|
|
|
500
523
|
*
|
|
501
524
|
* @defaultValue false
|
|
502
525
|
*/
|
|
503
|
-
open = input(false,
|
|
504
|
-
|
|
505
|
-
static
|
|
526
|
+
open = input(false, /* @ts-ignore */
|
|
527
|
+
...(ngDevMode ? [{ debugName: "open" }] : /* istanbul ignore next */ []));
|
|
528
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SiHeaderSelectionItemComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
529
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.8", type: SiHeaderSelectionItemComponent, isStandalone: true, selector: "button[si-header-selection-item]", inputs: { open: { classPropertyName: "open", publicName: "open", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class.show": "open()" }, classAttribute: "header-item header-selection-item focus-inside dropdown-toggle" }, usesInheritance: true, ngImport: i0, template: "<div class=\"item-title\">\n <ng-content />\n</div>\n<si-icon class=\"d-block dropdown-caret\" [icon]=\"icons.elementDown2\" />\n", dependencies: [{ kind: "component", type: SiIconComponent, selector: "si-icon", inputs: ["icon"] }] });
|
|
506
530
|
}
|
|
507
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
531
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SiHeaderSelectionItemComponent, decorators: [{
|
|
508
532
|
type: Component,
|
|
509
|
-
args: [{ selector: 'button[si-header-selection-item]', imports: [SiIconComponent],
|
|
533
|
+
args: [{ selector: 'button[si-header-selection-item]', imports: [SiIconComponent], host: {
|
|
510
534
|
class: 'header-item header-selection-item focus-inside dropdown-toggle',
|
|
511
535
|
'[class.show]': 'open()'
|
|
512
536
|
}, template: "<div class=\"item-title\">\n <ng-content />\n</div>\n<si-icon class=\"d-block dropdown-caret\" [icon]=\"icons.elementDown2\" />\n" }]
|
|
@@ -518,7 +542,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImpor
|
|
|
518
542
|
*/
|
|
519
543
|
/** The siemens logo. Should be located inside `.header-brand`. */
|
|
520
544
|
class SiHeaderLogoDirective {
|
|
521
|
-
logoText = signal(undefined,
|
|
545
|
+
logoText = signal(undefined, /* @ts-ignore */
|
|
546
|
+
...(ngDevMode ? [{ debugName: "logoText" }] : /* istanbul ignore next */ []));
|
|
522
547
|
elementRef = inject(ElementRef);
|
|
523
548
|
injector = inject(Injector);
|
|
524
549
|
ngOnInit() {
|
|
@@ -532,10 +557,10 @@ class SiHeaderLogoDirective {
|
|
|
532
557
|
.replace(/^["']|["']$/g, ''))
|
|
533
558
|
}, { injector: this.injector });
|
|
534
559
|
}
|
|
535
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
536
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "
|
|
560
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SiHeaderLogoDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
561
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.0.8", type: SiHeaderLogoDirective, isStandalone: true, selector: "si-header-logo, [siHeaderLogo]", host: { listeners: { "window:theme-switch": "updateLogoText()" }, properties: { "attr.aria-label": "logoText()" }, classAttribute: "header-logo px-6 focus-inside" }, ngImport: i0 });
|
|
537
562
|
}
|
|
538
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
563
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SiHeaderLogoDirective, decorators: [{
|
|
539
564
|
type: Directive,
|
|
540
565
|
args: [{
|
|
541
566
|
selector: 'si-header-logo, [siHeaderLogo]',
|
|
@@ -549,47 +574,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImpor
|
|
|
549
574
|
args: ['window:theme-switch']
|
|
550
575
|
}] } });
|
|
551
576
|
|
|
552
|
-
/**
|
|
553
|
-
* Copyright (c) Siemens 2016 - 2026
|
|
554
|
-
* SPDX-License-Identifier: MIT
|
|
555
|
-
*/
|
|
556
|
-
/**
|
|
557
|
-
* The siemens logo.
|
|
558
|
-
* Should be located inside `.header-brand`.
|
|
559
|
-
*
|
|
560
|
-
* @deprecated Use the {@link SiHeaderLogoDirective} instead.
|
|
561
|
-
* The new component will use the logo provided by the global theme instead
|
|
562
|
-
* of containing a hard coded siemens logo.
|
|
563
|
-
* ```html
|
|
564
|
-
* // previous
|
|
565
|
-
* <a si-header-siemens-logo routerLink="/" aria-label="Siemens" class="d-none d-md-flex"></a>
|
|
566
|
-
* // new
|
|
567
|
-
* <a siHeaderLogo routerLink="/" class="d-none d-md-flex"></a>
|
|
568
|
-
* ```
|
|
569
|
-
*
|
|
570
|
-
*/
|
|
571
|
-
class SiHeaderSiemensLogoComponent extends SiHeaderLogoDirective {
|
|
572
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiHeaderSiemensLogoComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
573
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.0.8", type: SiHeaderSiemensLogoComponent, isStandalone: true, selector: "si-header-siemens-logo, [si-header-siemens-logo]", usesInheritance: true, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
574
|
-
}
|
|
575
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiHeaderSiemensLogoComponent, decorators: [{
|
|
576
|
-
type: Component,
|
|
577
|
-
args: [{
|
|
578
|
-
selector: 'si-header-siemens-logo, [si-header-siemens-logo]',
|
|
579
|
-
template: '',
|
|
580
|
-
changeDetection: ChangeDetectionStrategy.OnPush
|
|
581
|
-
}]
|
|
582
|
-
}] });
|
|
583
|
-
|
|
584
577
|
/**
|
|
585
578
|
* Copyright (c) Siemens 2016 - 2026
|
|
586
579
|
* SPDX-License-Identifier: MIT
|
|
587
580
|
*/
|
|
588
581
|
class SiHeaderActionsDirective {
|
|
589
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
590
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "
|
|
582
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SiHeaderActionsDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
583
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.0.8", type: SiHeaderActionsDirective, isStandalone: true, selector: "si-header-actions", host: { classAttribute: "header-actions" }, ngImport: i0 });
|
|
591
584
|
}
|
|
592
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
585
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SiHeaderActionsDirective, decorators: [{
|
|
593
586
|
type: Directive,
|
|
594
587
|
args: [{
|
|
595
588
|
// eslint-disable-next-line @angular-eslint/directive-selector
|
|
@@ -603,10 +596,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImpor
|
|
|
603
596
|
* SPDX-License-Identifier: MIT
|
|
604
597
|
*/
|
|
605
598
|
class SiHeaderBrandDirective {
|
|
606
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
607
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "
|
|
599
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SiHeaderBrandDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
600
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.0.8", type: SiHeaderBrandDirective, isStandalone: true, selector: "si-header-brand", host: { classAttribute: "header-brand" }, ngImport: i0 });
|
|
608
601
|
}
|
|
609
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
602
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SiHeaderBrandDirective, decorators: [{
|
|
610
603
|
type: Directive,
|
|
611
604
|
args: [{
|
|
612
605
|
// eslint-disable-next-line @angular-eslint/directive-selector
|
|
@@ -628,12 +621,12 @@ class SiHeaderNavigationComponent {
|
|
|
628
621
|
ngOnDestroy() {
|
|
629
622
|
this.header.hasNavigation.set(false);
|
|
630
623
|
}
|
|
631
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
632
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
624
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SiHeaderNavigationComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
625
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.8", type: SiHeaderNavigationComponent, isStandalone: true, selector: "si-header-navigation", host: { attributes: { "role": "navigation" }, classAttribute: "header-navigation" }, ngImport: i0, template: "@if (header.launchpad()) {\n <button\n type=\"button\"\n [class]=\"`header-item focus-inside d-${header.expandBreakpoint()}-none`\"\n (click)=\"header.openLaunchpad()\"\n >\n <si-icon class=\"icon pe-5\" [icon]=\"icons.elementThumbnails\" />\n {{ header.launchpadLabel() | translate }}\n </button>\n}\n<ng-content />\n", dependencies: [{ kind: "component", type: SiIconComponent, selector: "si-icon", inputs: ["icon"] }, { kind: "pipe", type: SiTranslatePipe, name: "translate" }] });
|
|
633
626
|
}
|
|
634
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
627
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SiHeaderNavigationComponent, decorators: [{
|
|
635
628
|
type: Component,
|
|
636
|
-
args: [{ selector: 'si-header-navigation', imports: [SiTranslatePipe, SiIconComponent],
|
|
629
|
+
args: [{ selector: 'si-header-navigation', imports: [SiTranslatePipe, SiIconComponent], host: { class: 'header-navigation', role: 'navigation' }, template: "@if (header.launchpad()) {\n <button\n type=\"button\"\n [class]=\"`header-item focus-inside d-${header.expandBreakpoint()}-none`\"\n (click)=\"header.openLaunchpad()\"\n >\n <si-icon class=\"icon pe-5\" [icon]=\"icons.elementThumbnails\" />\n {{ header.launchpadLabel() | translate }}\n </button>\n}\n<ng-content />\n" }]
|
|
637
630
|
}], ctorParameters: () => [] });
|
|
638
631
|
|
|
639
632
|
/**
|
|
@@ -646,44 +639,48 @@ class SiLaunchpadAppComponent {
|
|
|
646
639
|
*
|
|
647
640
|
* @defaultValue false
|
|
648
641
|
*/
|
|
649
|
-
external = input(false, { ...(ngDevMode ? { debugName: "external" } : {}), transform: booleanAttribute });
|
|
642
|
+
external = input(false, { ...(ngDevMode ? { debugName: "external" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
|
|
650
643
|
/**
|
|
651
644
|
* When `true`, the app item is highlighted as the currently active application.
|
|
652
645
|
*
|
|
653
646
|
* @defaultValue false
|
|
654
647
|
*/
|
|
655
|
-
active = input(false, { ...(ngDevMode ? { debugName: "active" } : {}), transform: booleanAttribute });
|
|
648
|
+
active = input(false, { ...(ngDevMode ? { debugName: "active" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
|
|
656
649
|
/**
|
|
657
650
|
* When `true`, a toggle button is shown to allow the user to mark or unmark this app as a favorite.
|
|
658
651
|
*
|
|
659
652
|
* @defaultValue false
|
|
660
653
|
*/
|
|
661
|
-
enableFavoriteToggle = input(false, { ...(ngDevMode ? { debugName: "enableFavoriteToggle" } : {}), transform: booleanAttribute });
|
|
654
|
+
enableFavoriteToggle = input(false, { ...(ngDevMode ? { debugName: "enableFavoriteToggle" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
|
|
662
655
|
/**
|
|
663
656
|
* Whether this app is currently marked as a favorite by the user.
|
|
664
657
|
*
|
|
665
658
|
* @defaultValue false
|
|
666
659
|
*/
|
|
667
|
-
favorite = model(false,
|
|
660
|
+
favorite = model(false, /* @ts-ignore */
|
|
661
|
+
...(ngDevMode ? [{ debugName: "favorite" }] : /* istanbul ignore next */ []));
|
|
668
662
|
/**
|
|
669
663
|
* When `true`, the item is styled as an action entry rather than a regular app link.
|
|
670
664
|
*
|
|
671
665
|
* @defaultValue false
|
|
672
666
|
*/
|
|
673
|
-
action = input(false, { ...(ngDevMode ? { debugName: "action" } : {}), transform: booleanAttribute });
|
|
667
|
+
action = input(false, { ...(ngDevMode ? { debugName: "action" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
|
|
674
668
|
/** URL of the app icon. */
|
|
675
|
-
iconUrl = input(
|
|
669
|
+
iconUrl = input(/* @ts-ignore */
|
|
670
|
+
...(ngDevMode ? [undefined, { debugName: "iconUrl" }] : /* istanbul ignore next */ []));
|
|
676
671
|
/** CSS class applied to the app icon element. */
|
|
677
|
-
iconClass = input(
|
|
672
|
+
iconClass = input(/* @ts-ignore */
|
|
673
|
+
...(ngDevMode ? [undefined, { debugName: "iconClass" }] : /* istanbul ignore next */ []));
|
|
678
674
|
/**
|
|
679
675
|
* Aria-label for the external link icon.
|
|
680
676
|
*
|
|
681
677
|
* @defaultValue
|
|
682
678
|
* ```
|
|
683
|
-
* t(() => $localize`:@@SI_LAUNCHPAD.EXTERNAL_LINK:
|
|
679
|
+
* t(() => $localize`:@@SI_LAUNCHPAD.EXTERNAL_LINK:Open in new tab`)
|
|
684
680
|
* ```
|
|
685
681
|
*/
|
|
686
|
-
externalLinkText = input(t(() => $localize `:@@SI_LAUNCHPAD.EXTERNAL_LINK:
|
|
682
|
+
externalLinkText = input(t(() => $localize `:@@SI_LAUNCHPAD.EXTERNAL_LINK:Open in new tab`), /* @ts-ignore */
|
|
683
|
+
...(ngDevMode ? [{ debugName: "externalLinkText" }] : /* istanbul ignore next */ []));
|
|
687
684
|
icons = addIcons({ elementExport, elementFavorites, elementFavoritesFilled });
|
|
688
685
|
header = inject(SiApplicationHeaderComponent);
|
|
689
686
|
favoriteClicked(event) {
|
|
@@ -694,16 +691,16 @@ class SiLaunchpadAppComponent {
|
|
|
694
691
|
click() {
|
|
695
692
|
this.header.closeLaunchpad();
|
|
696
693
|
}
|
|
697
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
698
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
694
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SiLaunchpadAppComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
695
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.8", type: SiLaunchpadAppComponent, isStandalone: true, selector: "a[si-launchpad-app]", inputs: { external: { classPropertyName: "external", publicName: "external", isSignal: true, isRequired: false, transformFunction: null }, active: { classPropertyName: "active", publicName: "active", isSignal: true, isRequired: false, transformFunction: null }, enableFavoriteToggle: { classPropertyName: "enableFavoriteToggle", publicName: "enableFavoriteToggle", isSignal: true, isRequired: false, transformFunction: null }, favorite: { classPropertyName: "favorite", publicName: "favorite", isSignal: true, isRequired: false, transformFunction: null }, action: { classPropertyName: "action", publicName: "action", isSignal: true, isRequired: false, transformFunction: null }, iconUrl: { classPropertyName: "iconUrl", publicName: "iconUrl", isSignal: true, isRequired: false, transformFunction: null }, iconClass: { classPropertyName: "iconClass", publicName: "iconClass", isSignal: true, isRequired: false, transformFunction: null }, externalLinkText: { classPropertyName: "externalLinkText", publicName: "externalLinkText", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { favorite: "favoriteChange" }, host: { listeners: { "keydown.space": "favoriteClicked($event)", "click": "click()" }, properties: { "class.active": "active()", "class.action": "action()" }, classAttribute: "focus-inside" }, ngImport: i0, template: "@if (iconUrl()) {\n <img alt=\"\" width=\"64\" height=\"64\" class=\"app-icon\" [src]=\"iconUrl()\" />\n} @else if (iconClass()) {\n <si-icon class=\"app-icon\" [icon]=\"iconClass()!\" />\n}\n<div class=\"app-text\">\n <div class=\"si-h4 d-flex align-items-center mw-100 gap-1\">\n <span class=\"text-truncate\">\n <ng-content select=\"[app-name]\" />\n </span>\n @if (external()) {\n <si-icon\n class=\"icon\"\n [icon]=\"icons.elementExport\"\n [attr.aria-label]=\"externalLinkText() | translate\"\n />\n }\n </div>\n <div class=\"si-body text-secondary mt-2 text-truncate mw-100\">\n <ng-content select=\"[app-systemName]\" />\n </div>\n</div>\n@if (enableFavoriteToggle()) {\n <si-icon\n class=\"icon favorite-icon\"\n [class.is-favorite]=\"favorite()\"\n [icon]=\"favorite() ? icons.elementFavoritesFilled : icons.elementFavorites\"\n (click)=\"favoriteClicked($event)\"\n />\n}\n", styles: [":host{display:flex;align-items:center;flex-flow:column nowrap;position:relative;padding-block:var(--si-sys-sizing-spacing-y-80);inline-size:calc(7rem + 2 * var(--si-sys-sizing-spacing-x-70));max-inline-size:calc(7rem + 2 * var(--si-sys-sizing-spacing-x-70));padding-inline:var(--si-sys-sizing-spacing-x-40);color:var(--si-sys-text-primary);border-radius:var(--element-radius-2)}:host.action{color:var(--si-sys-text-accent)}:host.active,:host:hover{color:var(--si-sys-text-primary);text-decoration:none}:host.active{background-color:var(--si-sys-background-active)}:host:hover{background-color:var(--si-sys-background-hover)}.app-text{display:flex;align-items:center;flex-direction:column;max-inline-size:100%;overflow:hidden}.app-icon{display:flex;align-items:center;justify-content:center;inline-size:3rem;block-size:3rem;margin-block-end:var(--si-sys-sizing-spacing-y-40);border-radius:var(--element-radius-2)}.app-icon:is(si-icon){background:var(--element-launchpad-app-background);font-size:2.5rem;padding:var(--si-sys-sizing-spacing-y-20) var(--si-sys-sizing-spacing-x-20);color:var(--element-launchpad-app-color)}.favorite-icon{position:absolute;inset-inline-end:var(--si-sys-sizing-spacing-x-60);inset-block-start:var(--si-sys-sizing-spacing-y-60);color:var(--si-sys-text-secondary)}.is-favorite{color:var(--si-sys-background-caution)}@media(max-width:767.98px){:host{flex-flow:row nowrap;inline-size:100%;max-inline-size:100%;padding:var(--si-sys-sizing-spacing-y-40) var(--si-sys-sizing-spacing-x-40)}:host:has(.favorite-icon){padding-inline-end:var(--si-sys-sizing-spacing-x-90)}.app-icon{margin-block-end:0;margin-inline-end:var(--si-sys-sizing-spacing-x-40)}.app-text{align-items:start}.favorite-icon{inset-inline-end:var(--si-sys-sizing-spacing-x-40);inset-block-start:var(--si-sys-sizing-spacing-y-40)}}\n"], dependencies: [{ kind: "component", type: SiIconComponent, selector: "si-icon", inputs: ["icon"] }, { kind: "pipe", type: SiTranslatePipe, name: "translate" }] });
|
|
699
696
|
}
|
|
700
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
697
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SiLaunchpadAppComponent, decorators: [{
|
|
701
698
|
type: Component,
|
|
702
|
-
args: [{ selector: 'a[si-launchpad-app]', imports: [SiIconComponent, SiTranslatePipe],
|
|
699
|
+
args: [{ selector: 'a[si-launchpad-app]', imports: [SiIconComponent, SiTranslatePipe], host: {
|
|
703
700
|
class: 'focus-inside',
|
|
704
701
|
'[class.active]': 'active()',
|
|
705
702
|
'[class.action]': 'action()'
|
|
706
|
-
}, template: "@if (iconUrl()) {\n <img alt=\"\" width=\"64\" height=\"64\" class=\"app-icon\" [src]=\"iconUrl()\" />\n} @else if (iconClass()) {\n <si-icon class=\"app-icon\" [icon]=\"iconClass()!\" />\n}\n<div class=\"app-text\">\n <div class=\"si-h4 d-flex align-items-center mw-100 gap-1\">\n <span class=\"text-truncate\">\n <ng-content select=\"[app-name]\" />\n </span>\n @if (external()) {\n <si-icon\n class=\"icon\"\n [icon]=\"icons.elementExport\"\n [attr.aria-label]=\"externalLinkText() | translate\"\n />\n }\n </div>\n <div class=\"si-body text-secondary mt-2 text-truncate mw-100\">\n <ng-content select=\"[app-systemName]\" />\n </div>\n</div>\n@if (enableFavoriteToggle()) {\n <si-icon\n class=\"icon favorite-icon\"\n [class.is-favorite]=\"favorite()\"\n [icon]=\"favorite() ? icons.elementFavoritesFilled : icons.elementFavorites\"\n (click)=\"favoriteClicked($event)\"\n />\n}\n", styles: [":host{display:flex;align-items:center;flex-flow:column nowrap;position:relative;padding-block:
|
|
703
|
+
}, template: "@if (iconUrl()) {\n <img alt=\"\" width=\"64\" height=\"64\" class=\"app-icon\" [src]=\"iconUrl()\" />\n} @else if (iconClass()) {\n <si-icon class=\"app-icon\" [icon]=\"iconClass()!\" />\n}\n<div class=\"app-text\">\n <div class=\"si-h4 d-flex align-items-center mw-100 gap-1\">\n <span class=\"text-truncate\">\n <ng-content select=\"[app-name]\" />\n </span>\n @if (external()) {\n <si-icon\n class=\"icon\"\n [icon]=\"icons.elementExport\"\n [attr.aria-label]=\"externalLinkText() | translate\"\n />\n }\n </div>\n <div class=\"si-body text-secondary mt-2 text-truncate mw-100\">\n <ng-content select=\"[app-systemName]\" />\n </div>\n</div>\n@if (enableFavoriteToggle()) {\n <si-icon\n class=\"icon favorite-icon\"\n [class.is-favorite]=\"favorite()\"\n [icon]=\"favorite() ? icons.elementFavoritesFilled : icons.elementFavorites\"\n (click)=\"favoriteClicked($event)\"\n />\n}\n", styles: [":host{display:flex;align-items:center;flex-flow:column nowrap;position:relative;padding-block:var(--si-sys-sizing-spacing-y-80);inline-size:calc(7rem + 2 * var(--si-sys-sizing-spacing-x-70));max-inline-size:calc(7rem + 2 * var(--si-sys-sizing-spacing-x-70));padding-inline:var(--si-sys-sizing-spacing-x-40);color:var(--si-sys-text-primary);border-radius:var(--element-radius-2)}:host.action{color:var(--si-sys-text-accent)}:host.active,:host:hover{color:var(--si-sys-text-primary);text-decoration:none}:host.active{background-color:var(--si-sys-background-active)}:host:hover{background-color:var(--si-sys-background-hover)}.app-text{display:flex;align-items:center;flex-direction:column;max-inline-size:100%;overflow:hidden}.app-icon{display:flex;align-items:center;justify-content:center;inline-size:3rem;block-size:3rem;margin-block-end:var(--si-sys-sizing-spacing-y-40);border-radius:var(--element-radius-2)}.app-icon:is(si-icon){background:var(--element-launchpad-app-background);font-size:2.5rem;padding:var(--si-sys-sizing-spacing-y-20) var(--si-sys-sizing-spacing-x-20);color:var(--element-launchpad-app-color)}.favorite-icon{position:absolute;inset-inline-end:var(--si-sys-sizing-spacing-x-60);inset-block-start:var(--si-sys-sizing-spacing-y-60);color:var(--si-sys-text-secondary)}.is-favorite{color:var(--si-sys-background-caution)}@media(max-width:767.98px){:host{flex-flow:row nowrap;inline-size:100%;max-inline-size:100%;padding:var(--si-sys-sizing-spacing-y-40) var(--si-sys-sizing-spacing-x-40)}:host:has(.favorite-icon){padding-inline-end:var(--si-sys-sizing-spacing-x-90)}.app-icon{margin-block-end:0;margin-inline-end:var(--si-sys-sizing-spacing-x-40)}.app-text{align-items:start}.favorite-icon{inset-inline-end:var(--si-sys-sizing-spacing-x-40);inset-block-start:var(--si-sys-sizing-spacing-y-40)}}\n"] }]
|
|
707
704
|
}], propDecorators: { external: [{ type: i0.Input, args: [{ isSignal: true, alias: "external", required: false }] }], active: [{ type: i0.Input, args: [{ isSignal: true, alias: "active", required: false }] }], enableFavoriteToggle: [{ type: i0.Input, args: [{ isSignal: true, alias: "enableFavoriteToggle", required: false }] }], favorite: [{ type: i0.Input, args: [{ isSignal: true, alias: "favorite", required: false }] }, { type: i0.Output, args: ["favoriteChange"] }], action: [{ type: i0.Input, args: [{ isSignal: true, alias: "action", required: false }] }], iconUrl: [{ type: i0.Input, args: [{ isSignal: true, alias: "iconUrl", required: false }] }], iconClass: [{ type: i0.Input, args: [{ isSignal: true, alias: "iconClass", required: false }] }], externalLinkText: [{ type: i0.Input, args: [{ isSignal: true, alias: "externalLinkText", required: false }] }], favoriteClicked: [{
|
|
708
705
|
type: HostListener,
|
|
709
706
|
args: ['keydown.space', ['$event']]
|
|
@@ -717,9 +714,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImpor
|
|
|
717
714
|
* SPDX-License-Identifier: MIT
|
|
718
715
|
*/
|
|
719
716
|
class SiLaunchpadCategoryComponent {
|
|
720
|
-
category = input.required(
|
|
717
|
+
category = input.required(/* @ts-ignore */
|
|
718
|
+
...(ngDevMode ? [{ debugName: "category" }] : /* istanbul ignore next */ []));
|
|
721
719
|
/** @defaultValue false */
|
|
722
|
-
enableFavorites = input(false,
|
|
720
|
+
enableFavorites = input(false, /* @ts-ignore */
|
|
721
|
+
...(ngDevMode ? [{ debugName: "enableFavorites" }] : /* istanbul ignore next */ []));
|
|
723
722
|
favoriteChange = output();
|
|
724
723
|
activatedRoute = inject(ActivatedRoute, { optional: true });
|
|
725
724
|
toggleFavorite(app, favorite) {
|
|
@@ -728,10 +727,10 @@ class SiLaunchpadCategoryComponent {
|
|
|
728
727
|
isFavoriteToggleDisabled(app) {
|
|
729
728
|
return '_noFavorite' in app && !!app._noFavorite;
|
|
730
729
|
}
|
|
731
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
732
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
730
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SiLaunchpadCategoryComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
731
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.8", type: SiLaunchpadCategoryComponent, isStandalone: true, selector: "si-launchpad-category", inputs: { category: { classPropertyName: "category", publicName: "category", isSignal: true, isRequired: true, transformFunction: null }, enableFavorites: { classPropertyName: "enableFavorites", publicName: "enableFavorites", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { favoriteChange: "favoriteChange" }, host: { properties: { "class.has-title": "!!category().name" }, classAttribute: "d-block" }, ngImport: i0, template: "@if (category().name) {\n <div class=\"si-h4 launchpad-category-title mt-4 mb-6\">\n {{ category().name | translate }}\n </div>\n}\n<div class=\"d-flex flex-wrap gap-4\">\n @for (app of category().apps; track app) {\n @switch (app.type) {\n @case ('router-link') {\n <a\n si-launchpad-app\n routerLinkActive=\"active\"\n [routerLinkActiveOptions]=\"app.activeMatchOptions ?? { exact: false }\"\n [enableFavoriteToggle]=\"enableFavorites() && !isFavoriteToggleDisabled(app)\"\n [external]=\"app.external\"\n [iconUrl]=\"app.iconUrl\"\n [iconClass]=\"app.iconClass\"\n [favorite]=\"!!app.favorite\"\n [routerLink]=\"app.routerLink\"\n [queryParams]=\"app.extras?.queryParams\"\n [queryParamsHandling]=\"app.extras?.queryParamsHandling\"\n [fragment]=\"app.extras?.fragment\"\n [state]=\"app.extras?.state\"\n [relativeTo]=\"app.extras?.relativeTo ?? this.activatedRoute\"\n [preserveFragment]=\"app.extras?.preserveFragment\"\n [skipLocationChange]=\"app.extras?.skipLocationChange\"\n [replaceUrl]=\"app.extras?.replaceUrl\"\n (favoriteChange)=\"toggleFavorite(app, $event)\"\n >\n <span app-name>{{ app.name | translate }}</span>\n <span app-systemName>{{ app.systemName | translate }}</span>\n </a>\n }\n @default {\n <!--fallback for existing apps that do not have a type defined -->\n <a\n si-launchpad-app\n [enableFavoriteToggle]=\"enableFavorites() && !isFavoriteToggleDisabled(app)\"\n [favorite]=\"!!app.favorite\"\n [href]=\"app.href\"\n [target]=\"app.target ?? ''\"\n [active]=\"app.active\"\n [external]=\"app.external\"\n [iconUrl]=\"app.iconUrl\"\n [iconClass]=\"app.iconClass\"\n (favoriteChange)=\"toggleFavorite(app, $event)\"\n >\n <span app-name>{{ app.name | translate }}</span>\n <span app-systemName>{{ app.systemName | translate }}</span>\n </a>\n }\n }\n }\n</div>\n", dependencies: [{ kind: "component", type: SiLaunchpadAppComponent, selector: "a[si-launchpad-app]", inputs: ["external", "active", "enableFavoriteToggle", "favorite", "action", "iconUrl", "iconClass", "externalLinkText"], outputs: ["favoriteChange"] }, { kind: "directive", type: RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "ariaCurrentWhenActive", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "browserUrl", "routerLink"] }, { kind: "pipe", type: SiTranslatePipe, name: "translate" }] });
|
|
733
732
|
}
|
|
734
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
733
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SiLaunchpadCategoryComponent, decorators: [{
|
|
735
734
|
type: Component,
|
|
736
735
|
args: [{ selector: 'si-launchpad-category', imports: [SiLaunchpadAppComponent, SiTranslatePipe, RouterLinkActive, RouterLink], host: {
|
|
737
736
|
class: 'd-block',
|
|
@@ -752,7 +751,8 @@ class SiLaunchpadFactoryComponent {
|
|
|
752
751
|
* t(() => $localize`:@@SI_LAUNCHPAD.CLOSE:Close launchpad`)
|
|
753
752
|
* ```
|
|
754
753
|
*/
|
|
755
|
-
closeText = input(t(() => $localize `:@@SI_LAUNCHPAD.CLOSE:Close launchpad`),
|
|
754
|
+
closeText = input(t(() => $localize `:@@SI_LAUNCHPAD.CLOSE:Close launchpad`), /* @ts-ignore */
|
|
755
|
+
...(ngDevMode ? [{ debugName: "closeText" }] : /* istanbul ignore next */ []));
|
|
756
756
|
/**
|
|
757
757
|
* Title of the launchpad.
|
|
758
758
|
*
|
|
@@ -761,20 +761,23 @@ class SiLaunchpadFactoryComponent {
|
|
|
761
761
|
* t(() => $localize`:@@SI_LAUNCHPAD.TITLE:Switch app`)
|
|
762
762
|
* ```
|
|
763
763
|
*/
|
|
764
|
-
titleText = input(t(() => $localize `:@@SI_LAUNCHPAD.TITLE:Switch app`),
|
|
764
|
+
titleText = input(t(() => $localize `:@@SI_LAUNCHPAD.TITLE:Switch app`), /* @ts-ignore */
|
|
765
|
+
...(ngDevMode ? [{ debugName: "titleText" }] : /* istanbul ignore next */ []));
|
|
765
766
|
/**
|
|
766
767
|
* Subtitle of the launchpad.
|
|
767
768
|
* When not provided, no subtitle is displayed.
|
|
768
769
|
*/
|
|
769
|
-
subtitleText = input(
|
|
770
|
+
subtitleText = input(/* @ts-ignore */
|
|
771
|
+
...(ngDevMode ? [undefined, { debugName: "subtitleText" }] : /* istanbul ignore next */ []));
|
|
770
772
|
/** All app items shown in the launchpad. */
|
|
771
|
-
apps = input.required(
|
|
773
|
+
apps = input.required(/* @ts-ignore */
|
|
774
|
+
...(ngDevMode ? [{ debugName: "apps" }] : /* istanbul ignore next */ []));
|
|
772
775
|
/**
|
|
773
776
|
* Allow the user to select favorite apps which will then be displayed at the top.
|
|
774
777
|
*
|
|
775
778
|
* @defaultValue false
|
|
776
779
|
*/
|
|
777
|
-
enableFavorites = input(false, { ...(ngDevMode ? { debugName: "enableFavorites" } : {}), transform: booleanAttribute });
|
|
780
|
+
enableFavorites = input(false, { ...(ngDevMode ? { debugName: "enableFavorites" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
|
|
778
781
|
/**
|
|
779
782
|
* Title of the favorite apps section.
|
|
780
783
|
*
|
|
@@ -783,7 +786,8 @@ class SiLaunchpadFactoryComponent {
|
|
|
783
786
|
* t(() => $localize`:@@SI_LAUNCHPAD.FAVORITE_APPS:Favorites`)
|
|
784
787
|
* ```
|
|
785
788
|
*/
|
|
786
|
-
favoriteAppsText = input(t(() => $localize `:@@SI_LAUNCHPAD.FAVORITE_APPS:Favorites`),
|
|
789
|
+
favoriteAppsText = input(t(() => $localize `:@@SI_LAUNCHPAD.FAVORITE_APPS:Favorites`), /* @ts-ignore */
|
|
790
|
+
...(ngDevMode ? [{ debugName: "favoriteAppsText" }] : /* istanbul ignore next */ []));
|
|
787
791
|
/**
|
|
788
792
|
* Title of the show more apps button.
|
|
789
793
|
*
|
|
@@ -792,40 +796,28 @@ class SiLaunchpadFactoryComponent {
|
|
|
792
796
|
* t(() => $localize`:@@SI_LAUNCHPAD.SHOW_MORE:Show more`)
|
|
793
797
|
* ```
|
|
794
798
|
*/
|
|
795
|
-
showMoreAppsText = input(t(() => $localize `:@@SI_LAUNCHPAD.SHOW_MORE:Show more`),
|
|
796
|
-
|
|
797
|
-
|
|
798
|
-
|
|
799
|
-
|
|
800
|
-
* ```
|
|
801
|
-
* t(() => $localize`:@@SI_LAUNCHPAD.SHOW_LESS:Show less`)
|
|
802
|
-
* ```
|
|
803
|
-
*/
|
|
804
|
-
showLessAppsText = input(t(() => $localize `:@@SI_LAUNCHPAD.SHOW_LESS:Show less`), ...(ngDevMode ? [{ debugName: "showLessAppsText" }] : []));
|
|
799
|
+
showMoreAppsText = input(t(() => $localize `:@@SI_LAUNCHPAD.SHOW_MORE:Show more`), /* @ts-ignore */
|
|
800
|
+
...(ngDevMode ? [{ debugName: "showMoreAppsText" }] : /* istanbul ignore next */ []));
|
|
801
|
+
/** @deprecated This input no longer has an effect. {@link showMoreAppsText} is shown in all cases. */
|
|
802
|
+
showLessAppsText = input(/* @ts-ignore */
|
|
803
|
+
...(ngDevMode ? [undefined, { debugName: "showLessAppsText" }] : /* istanbul ignore next */ []));
|
|
805
804
|
favoriteChange = output();
|
|
806
805
|
showAllApps = false;
|
|
806
|
+
allAppsId = '__si-launchpad-factory-all-apps';
|
|
807
807
|
categories = computed(() => {
|
|
808
808
|
const apps = this.apps();
|
|
809
|
-
const favorites = this.favorites();
|
|
810
|
-
const categories = [];
|
|
811
|
-
if (this.enableFavorites() && this.hasFavorites()) {
|
|
812
|
-
categories.push({
|
|
813
|
-
name: this.favoriteAppsText(),
|
|
814
|
-
apps: favorites
|
|
815
|
-
});
|
|
816
|
-
}
|
|
817
809
|
if (this.isCategories(apps)) {
|
|
818
|
-
|
|
819
|
-
}
|
|
820
|
-
else {
|
|
821
|
-
categories.push({ name: '', apps: [...apps] });
|
|
810
|
+
return apps;
|
|
822
811
|
}
|
|
823
|
-
return
|
|
824
|
-
},
|
|
812
|
+
return [{ name: '', apps: [...apps] }];
|
|
813
|
+
}, /* @ts-ignore */
|
|
814
|
+
...(ngDevMode ? [{ debugName: "categories" }] : /* istanbul ignore next */ []));
|
|
825
815
|
favorites = computed(() => this.apps()
|
|
826
816
|
.flatMap(app => ('apps' in app ? app.apps : app))
|
|
827
|
-
.filter(app => app.favorite),
|
|
828
|
-
|
|
817
|
+
.filter(app => app.favorite), /* @ts-ignore */
|
|
818
|
+
...(ngDevMode ? [{ debugName: "favorites" }] : /* istanbul ignore next */ []));
|
|
819
|
+
hasFavorites = computed(() => this.favorites().length > 0, /* @ts-ignore */
|
|
820
|
+
...(ngDevMode ? [{ debugName: "hasFavorites" }] : /* istanbul ignore next */ []));
|
|
829
821
|
icons = addIcons({ elementDown2, elementCancel });
|
|
830
822
|
header = inject(SiApplicationHeaderComponent);
|
|
831
823
|
closeLaunchpad() {
|
|
@@ -840,10 +832,10 @@ class SiLaunchpadFactoryComponent {
|
|
|
840
832
|
isCategories(items) {
|
|
841
833
|
return items.some(item => 'apps' in item);
|
|
842
834
|
}
|
|
843
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
844
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
835
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SiLaunchpadFactoryComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
836
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.8", type: SiLaunchpadFactoryComponent, isStandalone: true, selector: "si-launchpad-factory", inputs: { closeText: { classPropertyName: "closeText", publicName: "closeText", isSignal: true, isRequired: false, transformFunction: null }, titleText: { classPropertyName: "titleText", publicName: "titleText", isSignal: true, isRequired: false, transformFunction: null }, subtitleText: { classPropertyName: "subtitleText", publicName: "subtitleText", isSignal: true, isRequired: false, transformFunction: null }, apps: { classPropertyName: "apps", publicName: "apps", isSignal: true, isRequired: true, transformFunction: null }, enableFavorites: { classPropertyName: "enableFavorites", publicName: "enableFavorites", isSignal: true, isRequired: false, transformFunction: null }, favoriteAppsText: { classPropertyName: "favoriteAppsText", publicName: "favoriteAppsText", isSignal: true, isRequired: false, transformFunction: null }, showMoreAppsText: { classPropertyName: "showMoreAppsText", publicName: "showMoreAppsText", isSignal: true, isRequired: false, transformFunction: null }, showLessAppsText: { classPropertyName: "showLessAppsText", publicName: "showLessAppsText", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { favoriteChange: "favoriteChange" }, ngImport: i0, template: "<!-- temporary until old primary-navbar is removed -->\n<div\n class=\"app-switcher gap-6 g-5 g-sm-9 container-fluid\"\n cdkTrapFocus\n cdkTrapFocusAutoCapture\n (keydown.escape)=\"escape()\"\n>\n @if (titleText()) {\n <div class=\"apps-header\">\n <span>\n <p class=\"si-h4 lh-1 m-0\">{{ titleText() | translate }}</p>\n @if (subtitleText()) {\n <p class=\"si-body text-secondary mt-4 mb-0\">{{ subtitleText() | translate }}</p>\n }\n </span>\n <button\n type=\"button\"\n class=\"btn btn-circle btn-tertiary-ghost\"\n [attr.aria-label]=\"closeText() | translate\"\n (click)=\"closeLaunchpad()\"\n >\n <si-icon [icon]=\"icons.elementCancel\" />\n </button>\n </div>\n }\n <div class=\"apps-scroll ms-n2 ps-2\">\n @if (enableFavorites() && hasFavorites()) {\n <si-launchpad-category\n [category]=\"{ name: favoriteAppsText(), apps: favorites() }\"\n [enableFavorites]=\"enableFavorites()\"\n (favoriteChange)=\"toggleFavorite($event)\"\n />\n <button\n type=\"button\"\n class=\"btn btn-link btn-show-all dropdown-toggle text-decoration-none\"\n [class.show]=\"showAllApps\"\n [attr.aria-expanded]=\"showAllApps\"\n [attr.aria-controls]=\"allAppsId\"\n (click)=\"showAllApps = !showAllApps\"\n >\n <b>{{ showMoreAppsText() | translate }}</b>\n <si-icon class=\"link-icon dropdown-caret\" [icon]=\"icons.elementDown2\" />\n </button>\n }\n\n <div class=\"all-apps\" [id]=\"allAppsId\">\n @if (!enableFavorites() || !hasFavorites() || showAllApps) {\n @for (category of categories(); track category.name) {\n <si-launchpad-category\n [class.pt-6]=\"!!category.name && (hasFavorites() || !$first)\"\n [category]=\"category\"\n [enableFavorites]=\"enableFavorites()\"\n (favoriteChange)=\"toggleFavorite($event)\"\n />\n }\n }\n </div>\n </div>\n</div>\n", styles: [".app-switcher{position:fixed;inset-block-start:calc(var(--si-sys-sizing-sizing-100) + 1px + var(--element-titlebar-spacing, 0px) + var(--element-system-banner-spacing, 0px));inset-inline:0;min-block-size:200px;max-block-size:calc(100vb - (var(--si-sys-sizing-sizing-100) + 1px) - var(--element-titlebar-spacing, 0px) - var(--element-system-banner-spacing, 0px));padding:var(--si-sys-sizing-spacing-y-60) var(--si-sys-sizing-spacing-x-60);display:flex;flex-direction:column;z-index:1033;background-color:var(--si-sys-background-1)}@media(min-width:992px){.app-switcher{padding-block:var(--si-sys-sizing-spacing-y-60);padding-inline:var(--si-sys-sizing-spacing-x-80)}}.apps-header{display:flex;align-items:center;justify-content:space-between}.apps-scroll{overflow-y:auto;padding-inline-end:var(--si-sys-sizing-spacing-x-60);margin-inline-end:calc(var(--si-sys-sizing-spacing-x-60) * -1)}.btn-show-all{margin-block-start:var(--si-sys-sizing-spacing-y-60);margin-block-end:var(--si-sys-sizing-spacing-y-40)}.btn-show-all.show{margin-block-end:var(--si-sys-sizing-spacing-y-80)}.btn-show-all.show:has(+.all-apps>si-launchpad-category.has-title){margin-block-end:0}\n"], dependencies: [{ kind: "ngmodule", type: A11yModule }, { kind: "directive", type: i1.CdkTrapFocus, selector: "[cdkTrapFocus]", inputs: ["cdkTrapFocus", "cdkTrapFocusAutoCapture"], exportAs: ["cdkTrapFocus"] }, { kind: "ngmodule", type: SiLinkModule }, { kind: "component", type: SiLaunchpadCategoryComponent, selector: "si-launchpad-category", inputs: ["category", "enableFavorites"], outputs: ["favoriteChange"] }, { kind: "component", type: SiIconComponent, selector: "si-icon", inputs: ["icon"] }, { kind: "pipe", type: SiTranslatePipe, name: "translate" }] });
|
|
845
837
|
}
|
|
846
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
838
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SiLaunchpadFactoryComponent, decorators: [{
|
|
847
839
|
type: Component,
|
|
848
840
|
args: [{ selector: 'si-launchpad-factory', imports: [
|
|
849
841
|
A11yModule,
|
|
@@ -851,7 +843,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImpor
|
|
|
851
843
|
SiTranslatePipe,
|
|
852
844
|
SiLaunchpadCategoryComponent,
|
|
853
845
|
SiIconComponent
|
|
854
|
-
], template: "<!-- temporary until old primary-navbar is removed -->\n<div\n class=\"app-switcher gap-6 g-5 g-sm-9 container-fluid\"\n cdkTrapFocus\n cdkTrapFocusAutoCapture\n (keydown.escape)=\"escape()\"\n>\n @if (titleText()) {\n <div class=\"apps-header\">\n <span>\n <p class=\"si-h4 lh-1 m-0\">{{ titleText() | translate }}</p>\n @if (subtitleText()) {\n <p class=\"si-body text-secondary mt-4 mb-0\">{{ subtitleText() | translate }}</p>\n }\n </span>\n <button\n type=\"button\"\n class=\"btn btn-circle btn-tertiary-ghost\"\n [attr.aria-label]=\"closeText() | translate\"\n (click)=\"closeLaunchpad()\"\n >\n <si-icon [icon]=\"icons.elementCancel\" />\n </button>\n </div>\n }\n <div class=\"apps-scroll ms-n2 ps-2\">\n @
|
|
846
|
+
], template: "<!-- temporary until old primary-navbar is removed -->\n<div\n class=\"app-switcher gap-6 g-5 g-sm-9 container-fluid\"\n cdkTrapFocus\n cdkTrapFocusAutoCapture\n (keydown.escape)=\"escape()\"\n>\n @if (titleText()) {\n <div class=\"apps-header\">\n <span>\n <p class=\"si-h4 lh-1 m-0\">{{ titleText() | translate }}</p>\n @if (subtitleText()) {\n <p class=\"si-body text-secondary mt-4 mb-0\">{{ subtitleText() | translate }}</p>\n }\n </span>\n <button\n type=\"button\"\n class=\"btn btn-circle btn-tertiary-ghost\"\n [attr.aria-label]=\"closeText() | translate\"\n (click)=\"closeLaunchpad()\"\n >\n <si-icon [icon]=\"icons.elementCancel\" />\n </button>\n </div>\n }\n <div class=\"apps-scroll ms-n2 ps-2\">\n @if (enableFavorites() && hasFavorites()) {\n <si-launchpad-category\n [category]=\"{ name: favoriteAppsText(), apps: favorites() }\"\n [enableFavorites]=\"enableFavorites()\"\n (favoriteChange)=\"toggleFavorite($event)\"\n />\n <button\n type=\"button\"\n class=\"btn btn-link btn-show-all dropdown-toggle text-decoration-none\"\n [class.show]=\"showAllApps\"\n [attr.aria-expanded]=\"showAllApps\"\n [attr.aria-controls]=\"allAppsId\"\n (click)=\"showAllApps = !showAllApps\"\n >\n <b>{{ showMoreAppsText() | translate }}</b>\n <si-icon class=\"link-icon dropdown-caret\" [icon]=\"icons.elementDown2\" />\n </button>\n }\n\n <div class=\"all-apps\" [id]=\"allAppsId\">\n @if (!enableFavorites() || !hasFavorites() || showAllApps) {\n @for (category of categories(); track category.name) {\n <si-launchpad-category\n [class.pt-6]=\"!!category.name && (hasFavorites() || !$first)\"\n [category]=\"category\"\n [enableFavorites]=\"enableFavorites()\"\n (favoriteChange)=\"toggleFavorite($event)\"\n />\n }\n }\n </div>\n </div>\n</div>\n", styles: [".app-switcher{position:fixed;inset-block-start:calc(var(--si-sys-sizing-sizing-100) + 1px + var(--element-titlebar-spacing, 0px) + var(--element-system-banner-spacing, 0px));inset-inline:0;min-block-size:200px;max-block-size:calc(100vb - (var(--si-sys-sizing-sizing-100) + 1px) - var(--element-titlebar-spacing, 0px) - var(--element-system-banner-spacing, 0px));padding:var(--si-sys-sizing-spacing-y-60) var(--si-sys-sizing-spacing-x-60);display:flex;flex-direction:column;z-index:1033;background-color:var(--si-sys-background-1)}@media(min-width:992px){.app-switcher{padding-block:var(--si-sys-sizing-spacing-y-60);padding-inline:var(--si-sys-sizing-spacing-x-80)}}.apps-header{display:flex;align-items:center;justify-content:space-between}.apps-scroll{overflow-y:auto;padding-inline-end:var(--si-sys-sizing-spacing-x-60);margin-inline-end:calc(var(--si-sys-sizing-spacing-x-60) * -1)}.btn-show-all{margin-block-start:var(--si-sys-sizing-spacing-y-60);margin-block-end:var(--si-sys-sizing-spacing-y-40)}.btn-show-all.show{margin-block-end:var(--si-sys-sizing-spacing-y-80)}.btn-show-all.show:has(+.all-apps>si-launchpad-category.has-title){margin-block-end:0}\n"] }]
|
|
855
847
|
}], propDecorators: { closeText: [{ type: i0.Input, args: [{ isSignal: true, alias: "closeText", required: false }] }], titleText: [{ type: i0.Input, args: [{ isSignal: true, alias: "titleText", required: false }] }], subtitleText: [{ type: i0.Input, args: [{ isSignal: true, alias: "subtitleText", required: false }] }], apps: [{ type: i0.Input, args: [{ isSignal: true, alias: "apps", required: true }] }], enableFavorites: [{ type: i0.Input, args: [{ isSignal: true, alias: "enableFavorites", required: false }] }], favoriteAppsText: [{ type: i0.Input, args: [{ isSignal: true, alias: "favoriteAppsText", required: false }] }], showMoreAppsText: [{ type: i0.Input, args: [{ isSignal: true, alias: "showMoreAppsText", required: false }] }], showLessAppsText: [{ type: i0.Input, args: [{ isSignal: true, alias: "showLessAppsText", required: false }] }], favoriteChange: [{ type: i0.Output, args: ["favoriteChange"] }] } });
|
|
856
848
|
|
|
857
849
|
/**
|
|
@@ -863,5 +855,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImpor
|
|
|
863
855
|
* Generated bundle index. Do not edit.
|
|
864
856
|
*/
|
|
865
857
|
|
|
866
|
-
export { SiAccountDetailsComponent, SiApplicationHeaderComponent, SiHeaderAccountItemComponent, SiHeaderActionItemComponent, SiHeaderActionsDirective, SiHeaderBrandDirective, SiHeaderCollapsibleActionsComponent, SiHeaderLogoDirective, SiHeaderNavigationComponent, SiHeaderNavigationItemComponent, SiHeaderSelectionItemComponent,
|
|
858
|
+
export { SiAccountDetailsComponent, SiApplicationHeaderComponent, SiHeaderAccountItemComponent, SiHeaderActionItemComponent, SiHeaderActionsDirective, SiHeaderBrandDirective, SiHeaderCollapsibleActionsComponent, SiHeaderLogoDirective, SiHeaderNavigationComponent, SiHeaderNavigationItemComponent, SiHeaderSelectionItemComponent, SiLaunchpadFactoryComponent };
|
|
867
859
|
//# sourceMappingURL=siemens-element-ng-application-header.mjs.map
|