@siemens/element-ng 47.8.0 → 48.0.0-next.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/about/index.d.ts +127 -3
- package/accordion/index.d.ts +152 -9
- package/action-modal/index.d.ts +92 -2
- package/application-header/index.d.ts +357 -13
- package/auto-collapsable-list/index.d.ts +114 -10
- package/autocomplete/index.d.ts +77 -8
- package/avatar/index.d.ts +83 -4
- package/badge/index.d.ts +21 -5
- package/breadcrumb/index.d.ts +90 -3
- package/breadcrumb-router/index.d.ts +104 -4
- package/card/index.d.ts +88 -6
- package/circle-status/index.d.ts +75 -6
- package/color-picker/index.d.ts +65 -5
- package/column-selection-dialog/index.d.ts +89 -2
- package/common/index.d.ts +421 -4
- package/connection-strength/index.d.ts +29 -6
- package/content-action-bar/index.d.ts +88 -3
- package/copyright-notice/index.d.ts +48 -3
- package/dashboard/index.d.ts +782 -16
- package/datatable/index.d.ts +45 -6
- package/date-range-filter/index.d.ts +333 -4
- package/datepicker/index.d.ts +1409 -11
- package/electron-titlebar/index.d.ts +84 -3
- package/empty-state/index.d.ts +27 -6
- package/fesm2022/siemens-element-ng-about.mjs +7 -7
- package/fesm2022/siemens-element-ng-about.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-accordion.mjs +17 -30
- package/fesm2022/siemens-element-ng-accordion.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-action-modal.mjs +41 -125
- package/fesm2022/siemens-element-ng-action-modal.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-application-header.mjs +69 -65
- package/fesm2022/siemens-element-ng-application-header.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-auto-collapsable-list.mjs +47 -43
- package/fesm2022/siemens-element-ng-auto-collapsable-list.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-autocomplete.mjs +35 -35
- package/fesm2022/siemens-element-ng-autocomplete.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-avatar.mjs +6 -6
- package/fesm2022/siemens-element-ng-avatar.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-badge.mjs +3 -3
- package/fesm2022/siemens-element-ng-badge.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-breadcrumb-router.mjs +10 -10
- package/fesm2022/siemens-element-ng-breadcrumb-router.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-breadcrumb.mjs +13 -13
- package/fesm2022/siemens-element-ng-breadcrumb.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-card.mjs +7 -7
- package/fesm2022/siemens-element-ng-card.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-circle-status.mjs +7 -7
- package/fesm2022/siemens-element-ng-circle-status.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-color-picker.mjs +11 -12
- package/fesm2022/siemens-element-ng-color-picker.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-column-selection-dialog.mjs +28 -31
- package/fesm2022/siemens-element-ng-column-selection-dialog.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-common.mjs +14 -14
- package/fesm2022/siemens-element-ng-common.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-connection-strength.mjs +7 -7
- package/fesm2022/siemens-element-ng-content-action-bar.mjs +13 -13
- package/fesm2022/siemens-element-ng-content-action-bar.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-copyright-notice.mjs +7 -7
- package/fesm2022/siemens-element-ng-copyright-notice.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-dashboard.mjs +61 -61
- package/fesm2022/siemens-element-ng-dashboard.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-datatable.mjs +7 -7
- package/fesm2022/siemens-element-ng-datatable.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-date-range-filter.mjs +87 -73
- package/fesm2022/siemens-element-ng-date-range-filter.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-datepicker.mjs +104 -142
- package/fesm2022/siemens-element-ng-datepicker.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-electron-titlebar.mjs +14 -14
- package/fesm2022/siemens-element-ng-electron-titlebar.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-empty-state.mjs +7 -7
- package/fesm2022/siemens-element-ng-empty-state.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-file-uploader.mjs +54 -54
- package/fesm2022/siemens-element-ng-file-uploader.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-filter-bar.mjs +18 -18
- package/fesm2022/siemens-element-ng-filter-bar.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-filtered-search.mjs +31 -74
- package/fesm2022/siemens-element-ng-filtered-search.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-footer.mjs +7 -7
- package/fesm2022/siemens-element-ng-footer.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-form.mjs +125 -271
- package/fesm2022/siemens-element-ng-form.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-formly.mjs +78 -83
- package/fesm2022/siemens-element-ng-formly.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-header-dropdown.mjs +18 -17
- package/fesm2022/siemens-element-ng-header-dropdown.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-help-button.mjs +63 -0
- package/fesm2022/siemens-element-ng-help-button.mjs.map +1 -0
- package/fesm2022/siemens-element-ng-icon-status.mjs +7 -7
- package/fesm2022/siemens-element-ng-icon-status.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-icon.mjs +28 -27
- package/fesm2022/siemens-element-ng-icon.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-info-page.mjs +3 -3
- package/fesm2022/siemens-element-ng-info-page.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-inline-notification.mjs +7 -7
- package/fesm2022/siemens-element-ng-inline-notification.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-ip-input.mjs +10 -9
- package/fesm2022/siemens-element-ng-ip-input.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-landing-page.mjs +7 -7
- package/fesm2022/siemens-element-ng-landing-page.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-language-switcher.mjs +10 -10
- package/fesm2022/siemens-element-ng-language-switcher.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-link.mjs +10 -10
- package/fesm2022/siemens-element-ng-list-details.mjs +27 -27
- package/fesm2022/siemens-element-ng-list-details.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-loading-spinner.mjs +19 -19
- package/fesm2022/siemens-element-ng-loading-spinner.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-localization.mjs +9 -9
- package/fesm2022/siemens-element-ng-localization.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-main-detail-container.mjs +10 -10
- package/fesm2022/siemens-element-ng-main-detail-container.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-menu.mjs +34 -34
- package/fesm2022/siemens-element-ng-menu.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-modal.mjs +8 -8
- package/fesm2022/siemens-element-ng-modal.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-navbar-vertical.mjs +43 -57
- package/fesm2022/siemens-element-ng-navbar-vertical.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-navbar.mjs +29 -29
- package/fesm2022/siemens-element-ng-navbar.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-number-input.mjs +7 -7
- package/fesm2022/siemens-element-ng-number-input.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-pagination.mjs +14 -14
- package/fesm2022/siemens-element-ng-pagination.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-password-strength.mjs +13 -16
- package/fesm2022/siemens-element-ng-password-strength.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-password-toggle.mjs +12 -12
- package/fesm2022/siemens-element-ng-password-toggle.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-phone-number.mjs +19 -19
- package/fesm2022/siemens-element-ng-phone-number.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-photo-upload.mjs +25 -25
- package/fesm2022/siemens-element-ng-photo-upload.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-pills-input.mjs +22 -22
- package/fesm2022/siemens-element-ng-pills-input.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-popover-next.mjs +34 -23
- package/fesm2022/siemens-element-ng-popover-next.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-popover.mjs +10 -10
- package/fesm2022/siemens-element-ng-popover.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-progressbar.mjs +10 -10
- package/fesm2022/siemens-element-ng-progressbar.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-resize-observer.mjs +13 -13
- package/fesm2022/siemens-element-ng-resize-observer.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-result-details-list.mjs +8 -20
- package/fesm2022/siemens-element-ng-result-details-list.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-search-bar.mjs +18 -15
- package/fesm2022/siemens-element-ng-search-bar.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-select.mjs +66 -66
- package/fesm2022/siemens-element-ng-select.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-shadow-root.mjs +4 -5
- package/fesm2022/siemens-element-ng-shadow-root.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-side-panel.mjs +24 -24
- package/fesm2022/siemens-element-ng-side-panel.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-skip-links.mjs +12 -13
- package/fesm2022/siemens-element-ng-skip-links.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-slider.mjs +14 -14
- package/fesm2022/siemens-element-ng-slider.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-sort-bar.mjs +10 -10
- package/fesm2022/siemens-element-ng-sort-bar.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-split.mjs +13 -29
- package/fesm2022/siemens-element-ng-split.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-status-bar.mjs +19 -19
- package/fesm2022/siemens-element-ng-status-bar.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-status-toggle.mjs +7 -7
- package/fesm2022/siemens-element-ng-status-toggle.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-summary-chip.mjs +3 -3
- package/fesm2022/siemens-element-ng-summary-chip.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-summary-widget.mjs +5 -5
- package/fesm2022/siemens-element-ng-summary-widget.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-system-banner.mjs +3 -3
- package/fesm2022/siemens-element-ng-system-banner.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-tabs-next.mjs +147 -176
- package/fesm2022/siemens-element-ng-tabs-next.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-tabs.mjs +12 -11
- package/fesm2022/siemens-element-ng-tabs.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-theme.mjs +5 -5
- package/fesm2022/siemens-element-ng-theme.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-threshold.mjs +22 -22
- package/fesm2022/siemens-element-ng-threshold.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-toast-notification.mjs +11 -11
- package/fesm2022/siemens-element-ng-toast-notification.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-tooltip.mjs +22 -16
- package/fesm2022/siemens-element-ng-tooltip.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-tour.mjs +19 -19
- package/fesm2022/siemens-element-ng-tour.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-translate.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-tree-view.mjs +44 -55
- package/fesm2022/siemens-element-ng-tree-view.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-typeahead.mjs +19 -36
- package/fesm2022/siemens-element-ng-typeahead.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-unauthorized-page.mjs +7 -7
- package/fesm2022/siemens-element-ng-unauthorized-page.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-wizard.mjs +76 -109
- package/fesm2022/siemens-element-ng-wizard.mjs.map +1 -1
- package/file-uploader/index.d.ts +419 -4
- package/filter-bar/index.d.ts +117 -4
- package/filtered-search/index.d.ts +433 -3
- package/footer/index.d.ts +23 -6
- package/form/index.d.ts +411 -10
- package/formly/index.d.ts +217 -2
- package/header-dropdown/index.d.ts +150 -5
- package/help-button/index.d.ts +26 -0
- package/help-button/package.json +3 -0
- package/icon/index.d.ts +210 -7
- package/icon-status/index.d.ts +33 -6
- package/index.d.ts +5 -3
- package/info-page/index.d.ts +39 -3
- package/inline-notification/index.d.ts +49 -6
- package/ip-input/index.d.ts +87 -3
- package/landing-page/index.d.ts +95 -3
- package/language-switcher/index.d.ts +53 -3
- package/link/index.d.ts +127 -4
- package/list-details/index.d.ts +176 -12
- package/loading-spinner/index.d.ts +128 -9
- package/localization/index.d.ts +147 -4
- package/main-detail-container/index.d.ts +161 -6
- package/menu/index.d.ts +195 -11
- package/modal/index.d.ts +129 -3
- package/navbar/index.d.ts +304 -4
- package/navbar-vertical/index.d.ts +226 -3
- package/number-input/index.d.ts +111 -6
- package/package.json +17 -13
- package/pagination/index.d.ts +75 -6
- package/password-strength/index.d.ts +96 -7
- package/password-toggle/index.d.ts +49 -6
- package/phone-number/index.d.ts +192 -3
- package/photo-upload/index.d.ts +304 -4
- package/pills-input/index.d.ts +135 -9
- package/popover/index.d.ts +98 -6
- package/popover-next/index.d.ts +112 -7
- package/progressbar/index.d.ts +54 -6
- package/resize-observer/index.d.ts +143 -6
- package/result-details-list/index.d.ts +58 -3
- package/search-bar/index.d.ts +93 -6
- package/select/index.d.ts +605 -14
- package/shadow-root/index.d.ts +39 -1
- package/side-panel/index.d.ts +276 -5
- package/skip-links/index.d.ts +24 -3
- package/slider/index.d.ts +139 -6
- package/sort-bar/index.d.ts +49 -6
- package/split/index.d.ts +207 -4
- package/status-bar/index.d.ts +178 -3
- package/status-toggle/index.d.ts +81 -2
- package/summary-chip/index.d.ts +48 -5
- package/summary-widget/index.d.ts +48 -5
- package/system-banner/index.d.ts +24 -3
- package/tabs/index.d.ts +161 -7
- package/tabs-next/index.d.ts +121 -7
- package/template-i18n.json +0 -3
- package/theme/index.d.ts +259 -3
- package/threshold/index.d.ts +156 -4
- package/toast-notification/index.d.ts +66 -2
- package/tooltip/index.d.ts +92 -3
- package/tour/index.d.ts +114 -2
- package/translate/index.d.ts +199 -3
- package/tree-view/index.d.ts +818 -8
- package/typeahead/index.d.ts +262 -4
- package/unauthorized-page/index.d.ts +42 -4
- package/wizard/index.d.ts +209 -7
- package/about/si-about-data.model.d.ts +0 -49
- package/about/si-about.component.d.ts +0 -71
- package/about/si-about.module.d.ts +0 -7
- package/accordion/si-accordion-hcollapse.service.d.ts +0 -17
- package/accordion/si-accordion.component.d.ts +0 -37
- package/accordion/si-accordion.module.d.ts +0 -8
- package/accordion/si-accordion.service.d.ts +0 -17
- package/accordion/si-collapsible-panel.component.d.ts +0 -89
- package/action-modal/si-action-dialog.service.d.ts +0 -49
- package/action-modal/si-action-dialog.types.d.ts +0 -92
- package/action-modal/si-alert-dialog/si-alert-dialog.component.d.ts +0 -32
- package/action-modal/si-confirmation-dialog/si-confirmation-dialog.component.d.ts +0 -40
- package/action-modal/si-delete-confirmation-dialog/si-delete-confirmation-dialog.component.d.ts +0 -45
- package/action-modal/si-edit-discard-dialog/si-edit-discard-dialog.component.d.ts +0 -68
- package/application-header/launchpad/si-launchpad-app.component.d.ts +0 -21
- package/application-header/launchpad/si-launchpad-factory.component.d.ts +0 -83
- package/application-header/launchpad/si-launchpad.model.d.ts +0 -33
- package/application-header/si-application-header.component.d.ts +0 -60
- package/application-header/si-header-account-item.component.d.ts +0 -13
- package/application-header/si-header-action-item-icon-base.directive.d.ts +0 -26
- package/application-header/si-header-action-item.base.d.ts +0 -19
- package/application-header/si-header-action-item.component.d.ts +0 -9
- package/application-header/si-header-actions.directive.d.ts +0 -5
- package/application-header/si-header-brand.directive.d.ts +0 -5
- package/application-header/si-header-collapsible-actions.component.d.ts +0 -33
- package/application-header/si-header-logo.directive.d.ts +0 -16
- package/application-header/si-header-navigation-item.component.d.ts +0 -10
- package/application-header/si-header-navigation.component.d.ts +0 -11
- package/application-header/si-header-selection-item.component.d.ts +0 -12
- package/application-header/si-header-siemens-logo.component.d.ts +0 -21
- package/auto-collapsable-list/si-auto-collapsable-list-additional-content.directive.d.ts +0 -6
- package/auto-collapsable-list/si-auto-collapsable-list-item.directive.d.ts +0 -29
- package/auto-collapsable-list/si-auto-collapsable-list-measurable.class.d.ts +0 -16
- package/auto-collapsable-list/si-auto-collapsable-list-overflow-item.directive.d.ts +0 -12
- package/auto-collapsable-list/si-auto-collapsable-list.directive.d.ts +0 -47
- package/auto-collapsable-list/si-auto-collapsable-list.module.d.ts +0 -10
- package/autocomplete/si-autocomplete-listbox.directive.d.ts +0 -31
- package/autocomplete/si-autocomplete-option.directive.d.ts +0 -31
- package/autocomplete/si-autocomplete.directive.d.ts +0 -14
- package/autocomplete/si-autocomplete.model.d.ts +0 -7
- package/autocomplete/si-autocomplete.module.d.ts +0 -9
- package/avatar/si-avatar-background-color.directive.d.ts +0 -35
- package/avatar/si-avatar.component.d.ts +0 -51
- package/badge/si-badge.component.d.ts +0 -17
- package/breadcrumb/breadcrumb-item.model.d.ts +0 -36
- package/breadcrumb/si-breadcrumb-item-template.directive.d.ts +0 -10
- package/breadcrumb/si-breadcrumb.component.d.ts +0 -46
- package/breadcrumb/si-breadcrumb.module.d.ts +0 -7
- package/breadcrumb-router/si-breadcrumb-default-resolver.service.d.ts +0 -23
- package/breadcrumb-router/si-breadcrumb-router.component.d.ts +0 -30
- package/breadcrumb-router/si-breadcrumb-router.model.d.ts +0 -53
- package/breadcrumb-router/si-breadcrumb-router.module.d.ts +0 -7
- package/card/si-card.component.d.ts +0 -79
- package/card/si-card.module.d.ts +0 -7
- package/circle-status/si-circle-status.component.d.ts +0 -66
- package/circle-status/si-circle-status.module.d.ts +0 -7
- package/color-picker/si-color-picker.component.d.ts +0 -61
- package/column-selection-dialog/column-selection-editor/si-column-selection-editor.component.d.ts +0 -23
- package/column-selection-dialog/si-column-selection-dialog.component.d.ts +0 -114
- package/column-selection-dialog/si-column-selection-dialog.service.d.ts +0 -20
- package/column-selection-dialog/si-column-selection-dialog.types.d.ts +0 -68
- package/common/decorators/index.d.ts +0 -5
- package/common/decorators/webcomponent.decorator.d.ts +0 -6
- package/common/helpers/animation.helpers.d.ts +0 -10
- package/common/helpers/global-events.helpers.d.ts +0 -5
- package/common/helpers/index.d.ts +0 -10
- package/common/helpers/overlay-helper.d.ts +0 -24
- package/common/helpers/positioning.helpers.d.ts +0 -58
- package/common/helpers/rtl.d.ts +0 -6
- package/common/helpers/track-by.helper.d.ts +0 -27
- package/common/models/color-variant.model.d.ts +0 -8
- package/common/models/index.d.ts +0 -8
- package/common/models/menu.model.d.ts +0 -85
- package/common/models/positions.model.d.ts +0 -18
- package/common/models/status-type.model.d.ts +0 -21
- package/common/services/blink.service.d.ts +0 -41
- package/common/services/index.d.ts +0 -8
- package/common/services/scrollbar-helper.service.d.ts +0 -17
- package/common/services/si-uistate.service.d.ts +0 -61
- package/common/services/text-measure.service.d.ts +0 -21
- package/connection-strength/si-connection-strength.component.d.ts +0 -19
- package/connection-strength/si-connection-strength.module.d.ts +0 -7
- package/content-action-bar/si-content-action-bar-toggle.component.d.ts +0 -6
- package/content-action-bar/si-content-action-bar.component.d.ts +0 -72
- package/content-action-bar/si-content-action-bar.model.d.ts +0 -9
- package/content-action-bar/si-content-action-bar.module.d.ts +0 -7
- package/copyright-notice/si-copyright-notice.component.d.ts +0 -18
- package/copyright-notice/si-copyright-notice.d.ts +0 -23
- package/copyright-notice/si-copyright-notice.module.d.ts +0 -7
- package/dashboard/si-dashboard-card.component.d.ts +0 -82
- package/dashboard/si-dashboard.component.d.ts +0 -75
- package/dashboard/si-dashboard.module.d.ts +0 -8
- package/dashboard/si-dashboard.service.d.ts +0 -21
- package/dashboard/widgets/si-link-widget.component.d.ts +0 -25
- package/dashboard/widgets/si-list-widget/si-list-widget-body.component.d.ts +0 -98
- package/dashboard/widgets/si-list-widget/si-list-widget-item.component.d.ts +0 -39
- package/dashboard/widgets/si-list-widget/si-list-widget.component.d.ts +0 -115
- package/dashboard/widgets/si-timeline-widget/si-timeline-widget-body.component.d.ts +0 -21
- package/dashboard/widgets/si-timeline-widget/si-timeline-widget-item.component.d.ts +0 -103
- package/dashboard/widgets/si-timeline-widget/si-timeline-widget.component.d.ts +0 -52
- package/dashboard/widgets/si-value-widget-body.component.d.ts +0 -33
- package/dashboard/widgets/si-value-widget.component.d.ts +0 -115
- package/dashboard/widgets/si-widget-base.component.d.ts +0 -48
- package/datatable/si-datatable-interaction.directive.d.ts +0 -34
- package/datatable/si-datatable.module.d.ts +0 -7
- package/date-range-filter/si-date-range-calculation.service.d.ts +0 -33
- package/date-range-filter/si-date-range-filter.component.d.ts +0 -252
- package/date-range-filter/si-date-range-filter.module.d.ts +0 -7
- package/date-range-filter/si-date-range-filter.types.d.ts +0 -40
- package/date-range-filter/si-relative-date.component.d.ts +0 -31
- package/datepicker/components/si-calendar-body.component.d.ts +0 -137
- package/datepicker/components/si-calendar-date-cell.directive.d.ts +0 -16
- package/datepicker/components/si-calendar-direction-button.component.d.ts +0 -18
- package/datepicker/components/si-compare-adapter.d.ts +0 -37
- package/datepicker/components/si-day-selection.component.d.ts +0 -76
- package/datepicker/components/si-initial-focus.component.d.ts +0 -74
- package/datepicker/components/si-month-selection.component.d.ts +0 -62
- package/datepicker/components/si-year-selection.component.d.ts +0 -65
- package/datepicker/date-time-helper.d.ts +0 -302
- package/datepicker/si-calendar-button.component.d.ts +0 -49
- package/datepicker/si-date-input.directive.d.ts +0 -114
- package/datepicker/si-date-range.component.d.ts +0 -150
- package/datepicker/si-datepicker-overlay.component.d.ts +0 -82
- package/datepicker/si-datepicker-overlay.directive.d.ts +0 -104
- package/datepicker/si-datepicker.component.d.ts +0 -228
- package/datepicker/si-datepicker.directive.d.ts +0 -62
- package/datepicker/si-datepicker.model.d.ts +0 -129
- package/datepicker/si-datepicker.module.d.ts +0 -12
- package/datepicker/si-timepicker.component.d.ts +0 -214
- package/electron-titlebar/electron.helpers.d.ts +0 -5
- package/electron-titlebar/si-electron-titlebar.component.d.ts +0 -72
- package/electron-titlebar/si-electron-titlebar.module.d.ts +0 -7
- package/empty-state/si-empty-state.component.d.ts +0 -18
- package/empty-state/si-empty-state.module.d.ts +0 -7
- package/file-uploader/si-file-dropzone.component.d.ts +0 -106
- package/file-uploader/si-file-uploader.component.d.ts +0 -296
- package/file-uploader/si-file-uploader.model.d.ts +0 -12
- package/file-uploader/si-file-uploader.module.d.ts +0 -8
- package/filter-bar/filter.d.ts +0 -26
- package/filter-bar/si-filter-bar.component.d.ts +0 -65
- package/filter-bar/si-filter-bar.module.d.ts +0 -7
- package/filter-bar/si-filter-pill.component.d.ts +0 -20
- package/filtered-search/si-filtered-search-helper.d.ts +0 -22
- package/filtered-search/si-filtered-search-value.component.d.ts +0 -53
- package/filtered-search/si-filtered-search.component.d.ts +0 -329
- package/filtered-search/si-filtered-search.model.d.ts +0 -139
- package/filtered-search/si-filtered-search.module.d.ts +0 -7
- package/filtered-search/values/date-value/si-filtered-search-date-value.component.d.ts +0 -57
- package/filtered-search/values/si-filtered-search-value.base.d.ts +0 -27
- package/filtered-search/values/typeahead/si-filtered-search-typeahead.component.d.ts +0 -45
- package/footer/si-footer.component.d.ts +0 -14
- package/footer/si-footer.module.d.ts +0 -7
- package/form/form-fieldset/si-form-fieldset.component.d.ts +0 -40
- package/form/si-form-container/si-form-container.component.d.ts +0 -155
- package/form/si-form-item/si-form-field-native.control.d.ts +0 -22
- package/form/si-form-item/si-form-item.component.d.ts +0 -90
- package/form/si-form-item-control-input.directive.d.ts +0 -18
- package/form/si-form-item.control.d.ts +0 -35
- package/form/si-form-validation-error.model.d.ts +0 -55
- package/form/si-form-validation-error.provider.d.ts +0 -11
- package/form/si-form-validation-error.service.d.ts +0 -42
- package/form/si-form-validation-tooltip/si-form-validation-tooltip.component.d.ts +0 -13
- package/form/si-form-validation-tooltip/si-form-validation-tooltip.directive.d.ts +0 -42
- package/form/si-form.module.d.ts +0 -25
- package/formly/fields/button/si-formly-button.component.d.ts +0 -7
- package/formly/fields/date-range/si-formly-date-range.component.d.ts +0 -6
- package/formly/fields/datetime/si-formly-datetime.component.d.ts +0 -13
- package/formly/fields/email/si-formly-email.component.d.ts +0 -6
- package/formly/fields/ip-input/si-formly-ip-input.component.d.ts +0 -6
- package/formly/fields/number/si-formly-number.component.d.ts +0 -6
- package/formly/fields/password/si-formly-password.component.d.ts +0 -6
- package/formly/fields/select/si-formly-select.component.d.ts +0 -6
- package/formly/fields/text/si-formly-text-display.component.d.ts +0 -7
- package/formly/fields/textarea/si-formly-textarea.component.d.ts +0 -18
- package/formly/fields/time/si-formly-time.component.d.ts +0 -13
- package/formly/si-formly-translate.extension.d.ts +0 -9
- package/formly/si-formly.component.d.ts +0 -62
- package/formly/si-formly.module.d.ts +0 -35
- package/formly/structural/si-formly-accordion/si-formly-accordion.component.d.ts +0 -13
- package/formly/structural/si-formly-array/si-formly-array.component.d.ts +0 -6
- package/formly/structural/si-formly-object/si-formly-object.component.d.ts +0 -6
- package/formly/structural/si-formly-object-grid/si-formly-object-grid.component.d.ts +0 -22
- package/formly/structural/si-formly-object-grid/si-formly-object-grid.model.d.ts +0 -21
- package/formly/structural/si-formly-object-plain/si-formly-object-plain.component.d.ts +0 -6
- package/formly/structural/si-formly-tabset/si-formly-object-tabset.component.d.ts +0 -7
- package/formly/utils.d.ts +0 -6
- package/formly/wrapper/si-formly-fieldset.component.d.ts +0 -8
- package/formly/wrapper/si-formly-form-field-provider.directive.d.ts +0 -19
- package/formly/wrapper/si-formly-horizontal-wrapper.component.d.ts +0 -6
- package/formly/wrapper/si-formly-icon-wrapper.component.d.ts +0 -6
- package/formly/wrapper/si-formly-wrapper.component.d.ts +0 -8
- package/header-dropdown/si-header-dropdown-item.component.d.ts +0 -23
- package/header-dropdown/si-header-dropdown-items-factory.component.d.ts +0 -14
- package/header-dropdown/si-header-dropdown-trigger.directive.d.ts +0 -57
- package/header-dropdown/si-header-dropdown.component.d.ts +0 -20
- package/header-dropdown/si-header.model.d.ts +0 -37
- package/icon/element-icons.d.ts +0 -59
- package/icon/icon-status.d.ts +0 -22
- package/icon/si-icon-next.component.d.ts +0 -64
- package/icon/si-icon.component.d.ts +0 -23
- package/icon/si-icon.module.d.ts +0 -7
- package/icon/si-icons.d.ts +0 -31
- package/icon/si-status-icon.component.d.ts +0 -9
- package/icon-status/si-icon-status.component.d.ts +0 -24
- package/icon-status/si-icon-status.module.d.ts +0 -7
- package/info-page/si-info-page.component.d.ts +0 -38
- package/inline-notification/si-inline-notification.component.d.ts +0 -40
- package/inline-notification/si-inline-notification.module.d.ts +0 -7
- package/ip-input/address-utils.d.ts +0 -28
- package/ip-input/address-validators.d.ts +0 -21
- package/ip-input/si-ip-input.directive.d.ts +0 -53
- package/ip-input/si-ip4-input.directive.d.ts +0 -9
- package/ip-input/si-ip6-input.directive.d.ts +0 -10
- package/landing-page/alert-config.model.d.ts +0 -15
- package/landing-page/si-landing-page.component.d.ts +0 -74
- package/landing-page/si-landing-page.module.d.ts +0 -7
- package/language-switcher/iso-language-value.d.ts +0 -14
- package/language-switcher/si-language-switcher.component.d.ts +0 -31
- package/language-switcher/si-language-switcher.module.d.ts +0 -7
- package/link/aria-current.model.d.ts +0 -5
- package/link/link.model.d.ts +0 -57
- package/link/si-link-action.service.d.ts +0 -17
- package/link/si-link.directive.d.ts +0 -42
- package/link/si-link.module.d.ts +0 -7
- package/list-details/si-details-pane/si-details-pane.component.d.ts +0 -8
- package/list-details/si-details-pane-body/si-details-pane-body.component.d.ts +0 -6
- package/list-details/si-details-pane-footer/si-details-pane-footer.component.d.ts +0 -6
- package/list-details/si-details-pane-header/si-details-pane-header.component.d.ts +0 -38
- package/list-details/si-list-details.component.d.ts +0 -100
- package/list-details/si-list-pane/si-list-pane.component.d.ts +0 -10
- package/list-details/si-list-pane-body/si-list-pane-body.component.d.ts +0 -6
- package/list-details/si-list-pane-header/si-list-pane-header.component.d.ts +0 -6
- package/loading-spinner/si-loading-button.component.d.ts +0 -31
- package/loading-spinner/si-loading-spinner.component.d.ts +0 -32
- package/loading-spinner/si-loading-spinner.directive.d.ts +0 -37
- package/loading-spinner/si-loading-spinner.module.d.ts +0 -8
- package/loading-spinner/si-loading-spinner.service.d.ts +0 -18
- package/localization/si-directionality.d.ts +0 -41
- package/localization/si-locale-id.d.ts +0 -22
- package/localization/si-locale-store.d.ts +0 -16
- package/localization/si-locale.service.d.ts +0 -73
- package/main-detail-container/si-main-detail-container.component.d.ts +0 -151
- package/main-detail-container/si-main-detail-container.module.d.ts +0 -7
- package/menu/si-menu-action.service.d.ts +0 -13
- package/menu/si-menu-bar.directive.d.ts +0 -12
- package/menu/si-menu-divider.directive.d.ts +0 -5
- package/menu/si-menu-factory-item-guard.directive.d.ts +0 -11
- package/menu/si-menu-factory.component.d.ts +0 -15
- package/menu/si-menu-header.directive.d.ts +0 -5
- package/menu/si-menu-item-base.directive.d.ts +0 -16
- package/menu/si-menu-item-checkbox.component.d.ts +0 -11
- package/menu/si-menu-item-radio.component.d.ts +0 -10
- package/menu/si-menu-item.component.d.ts +0 -10
- package/menu/si-menu-model.d.ts +0 -91
- package/menu/si-menu.directive.d.ts +0 -6
- package/menu/si-menu.module.d.ts +0 -14
- package/modal/modal.helpers.d.ts +0 -8
- package/modal/modalref.d.ts +0 -64
- package/modal/si-modal.component.d.ts +0 -32
- package/modal/si-modal.service.d.ts +0 -57
- package/navbar/account.model.d.ts +0 -39
- package/navbar/si-navbar-item/index.d.ts +0 -5
- package/navbar/si-navbar-item/si-navbar-item.component.d.ts +0 -29
- package/navbar/si-navbar-primary/index.d.ts +0 -6
- package/navbar/si-navbar-primary/si-navbar-primary.component.d.ts +0 -198
- package/navbar/si-navbar-primary/si-navbar-primary.model.d.ts +0 -34
- package/navbar/si-navbar.module.d.ts +0 -9
- package/navbar-vertical/si-navbar-vertical-divider.component.d.ts +0 -5
- package/navbar-vertical/si-navbar-vertical-group-trigger.directive.d.ts +0 -38
- package/navbar-vertical/si-navbar-vertical-group.component.d.ts +0 -16
- package/navbar-vertical/si-navbar-vertical-header.component.d.ts +0 -6
- package/navbar-vertical/si-navbar-vertical-item-legacy.component.d.ts +0 -17
- package/navbar-vertical/si-navbar-vertical-item.component.d.ts +0 -21
- package/navbar-vertical/si-navbar-vertical.component.d.ts +0 -148
- package/navbar-vertical/si-navbar-vertical.model.d.ts +0 -77
- package/navbar-vertical/si-navbar-vertical.module.d.ts +0 -7
- package/navbar-vertical/si-navbar-vertical.provider.d.ts +0 -7
- package/number-input/si-number-input.component.d.ts +0 -106
- package/number-input/si-number-input.module.d.ts +0 -7
- package/pagination/si-pagination.component.d.ts +0 -65
- package/pagination/si-pagination.module.d.ts +0 -7
- package/password-strength/si-password-strength.component.d.ts +0 -25
- package/password-strength/si-password-strength.directive.d.ts +0 -65
- package/password-strength/si-password-strength.module.d.ts +0 -8
- package/password-toggle/si-password-toggle.component.d.ts +0 -39
- package/password-toggle/si-password-toggle.module.d.ts +0 -7
- package/phone-number/si-phone-number-input-select.directive.d.ts +0 -10
- package/phone-number/si-phone-number-input.component.d.ts +0 -137
- package/phone-number/si-phone-number-input.models.d.ts +0 -48
- package/phone-number/si-phone-number-input.module.d.ts +0 -7
- package/photo-upload/si-image-cropper-style.component.d.ts +0 -5
- package/photo-upload/si-photo-upload.component.d.ts +0 -298
- package/pills-input/si-input-pill.component.d.ts +0 -9
- package/pills-input/si-pills-input-csv.directive.d.ts +0 -8
- package/pills-input/si-pills-input-email.directive.d.ts +0 -10
- package/pills-input/si-pills-input-pattern-base.d.ts +0 -19
- package/pills-input/si-pills-input-value-handler.d.ts +0 -12
- package/pills-input/si-pills-input.component.d.ts +0 -87
- package/pills-input/si-pills-input.module.d.ts +0 -9
- package/popover/si-popover.component.d.ts +0 -26
- package/popover/si-popover.directive.d.ts +0 -89
- package/popover/si-popover.module.d.ts +0 -7
- package/popover-next/si-popover-description.directive.d.ts +0 -7
- package/popover-next/si-popover-next.directive.d.ts +0 -61
- package/popover-next/si-popover-title.directive.d.ts +0 -7
- package/popover-next/si-popover.component.d.ts +0 -27
- package/progressbar/si-progressbar.component.d.ts +0 -43
- package/progressbar/si-progressbar.module.d.ts +0 -7
- package/public-api.d.ts +0 -5
- package/resize-observer/resize-observer.service.d.ts +0 -41
- package/resize-observer/si-resize-observer.directive.d.ts +0 -31
- package/resize-observer/si-resize-observer.module.d.ts +0 -8
- package/resize-observer/si-responsive-container.directive.d.ts +0 -73
- package/result-details-list/si-result-details-list.component.d.ts +0 -14
- package/result-details-list/si-result-details-list.datamodel.d.ts +0 -48
- package/result-details-list/si-result-details-list.module.d.ts +0 -7
- package/search-bar/si-search-bar.component.d.ts +0 -87
- package/search-bar/si-search-bar.module.d.ts +0 -7
- package/select/options/si-select-complex-options.directive.d.ts +0 -69
- package/select/options/si-select-lazy-options.directive.d.ts +0 -38
- package/select/options/si-select-option.source.d.ts +0 -49
- package/select/options/si-select-options-strategy.base.d.ts +0 -35
- package/select/options/si-select-options-strategy.d.ts +0 -37
- package/select/options/si-select-simple-options.directive.d.ts +0 -34
- package/select/select-input/si-select-input.component.d.ts +0 -43
- package/select/select-list/si-select-list-has-filter.component.d.ts +0 -20
- package/select/select-list/si-select-list.base.d.ts +0 -37
- package/select/select-list/si-select-list.component.d.ts +0 -15
- package/select/select-option/si-select-option-row.component.d.ts +0 -16
- package/select/select-option/si-select-option.component.d.ts +0 -9
- package/select/selection/si-select-multi-value.directive.d.ts +0 -26
- package/select/selection/si-select-selection-strategy.d.ts +0 -58
- package/select/selection/si-select-single-value.directive.d.ts +0 -26
- package/select/si-select-action.directive.d.ts +0 -12
- package/select/si-select-actions.directive.d.ts +0 -5
- package/select/si-select-group-template.directive.d.ts +0 -20
- package/select/si-select-option-row-template.directive.d.ts +0 -9
- package/select/si-select-option-template.directive.d.ts +0 -21
- package/select/si-select.component.d.ts +0 -96
- package/select/si-select.module.d.ts +0 -15
- package/select/si-select.types.d.ts +0 -65
- package/shadow-root/si-shadow-root.directive.d.ts +0 -39
- package/side-panel/si-side-panel-content.component.d.ts +0 -105
- package/side-panel/si-side-panel.component.d.ts +0 -108
- package/side-panel/si-side-panel.module.d.ts +0 -8
- package/side-panel/si-side-panel.service.d.ts +0 -45
- package/side-panel/side-panel.model.d.ts +0 -16
- package/skip-links/si-skip-link-target.directive.d.ts +0 -27
- package/skip-links/si-skip-links.component.d.ts +0 -9
- package/skip-links/skip-link.service.d.ts +0 -14
- package/slider/si-slider.component.d.ts +0 -129
- package/slider/si-slider.module.d.ts +0 -7
- package/sort-bar/si-sort-bar.component.d.ts +0 -42
- package/sort-bar/si-sort-bar.module.d.ts +0 -7
- package/split/si-split-part.component.d.ts +0 -154
- package/split/si-split.component.d.ts +0 -48
- package/split/si-split.interfaces.d.ts +0 -17
- package/split/si-split.module.d.ts +0 -8
- package/status-bar/si-status-bar-item/index.d.ts +0 -6
- package/status-bar/si-status-bar-item/si-status-bar-item.component.d.ts +0 -22
- package/status-bar/si-status-bar-item/si-status-bar-item.model.d.ts +0 -33
- package/status-bar/si-status-bar.component.d.ts +0 -116
- package/status-bar/si-status-bar.module.d.ts +0 -7
- package/status-toggle/si-status-toggle.component.d.ts +0 -54
- package/status-toggle/status-toggle.model.d.ts +0 -26
- package/summary-chip/si-summary-chip.component.d.ts +0 -44
- package/summary-widget/si-summary-widget.component.d.ts +0 -44
- package/system-banner/system-banner.component.d.ts +0 -23
- package/tabs/si-tab/index.d.ts +0 -5
- package/tabs/si-tab/si-tab.component.d.ts +0 -58
- package/tabs/si-tabs.module.d.ts +0 -8
- package/tabs/si-tabset/index.d.ts +0 -5
- package/tabs/si-tabset/si-tabset.component.d.ts +0 -100
- package/tabs-next/si-tab-next-base.directive.d.ts +0 -63
- package/tabs-next/si-tab-next-link.component.d.ts +0 -16
- package/tabs-next/si-tab-next.component.d.ts +0 -16
- package/tabs-next/si-tabs-tokens.d.ts +0 -7
- package/tabs-next/si-tabset-next.component.d.ts +0 -57
- package/theme/si-theme-store.d.ts +0 -82
- package/theme/si-theme.model.d.ts +0 -48
- package/theme/si-theme.service.d.ts +0 -129
- package/threshold/si-readonly-threshold-option.component.d.ts +0 -11
- package/threshold/si-threshold.component.d.ts +0 -147
- package/threshold/si-threshold.module.d.ts +0 -7
- package/toast-notification/si-toast-notification/si-toast-notification.component.d.ts +0 -17
- package/toast-notification/si-toast-notification-drawer/si-toast-notification-drawer.component.d.ts +0 -9
- package/toast-notification/si-toast-notification.service.d.ts +0 -41
- package/toast-notification/si-toast.model.d.ts +0 -25
- package/tooltip/si-tooltip.component.d.ts +0 -25
- package/tooltip/si-tooltip.directive.d.ts +0 -45
- package/tooltip/si-tooltip.module.d.ts +0 -7
- package/tooltip/si-tooltip.service.d.ts +0 -44
- package/tour/si-tour-highlight.component.d.ts +0 -15
- package/tour/si-tour-token.model.d.ts +0 -27
- package/tour/si-tour.component.d.ts +0 -31
- package/tour/si-tour.model.d.ts +0 -51
- package/tour/si-tour.service.d.ts +0 -62
- package/translate/si-translatable-keys.interface.d.ts +0 -193
- package/translate/si-translatable-overrides.provider.d.ts +0 -7
- package/tree-view/drag-drop.util.d.ts +0 -32
- package/tree-view/si-tree-view-converter.service.d.ts +0 -41
- package/tree-view/si-tree-view-item/si-tree-view-item.component.d.ts +0 -104
- package/tree-view/si-tree-view-item/si-tree-view-item.directive.d.ts +0 -24
- package/tree-view/si-tree-view-item-context.d.ts +0 -11
- package/tree-view/si-tree-view-item-height.service.d.ts +0 -49
- package/tree-view/si-tree-view-item-template.directive.d.ts +0 -18
- package/tree-view/si-tree-view-virtualization.service.d.ts +0 -150
- package/tree-view/si-tree-view.component.d.ts +0 -467
- package/tree-view/si-tree-view.model.d.ts +0 -146
- package/tree-view/si-tree-view.module.d.ts +0 -10
- package/tree-view/si-tree-view.service.d.ts +0 -55
- package/tree-view/si-tree-view.utils.d.ts +0 -46
- package/typeahead/si-typeahead-item-template.directive.d.ts +0 -7
- package/typeahead/si-typeahead.component.d.ts +0 -22
- package/typeahead/si-typeahead.directive.d.ts +0 -196
- package/typeahead/si-typeahead.model.d.ts +0 -60
- package/typeahead/si-typeahead.module.d.ts +0 -8
- package/typeahead/si-typeahead.sorting.d.ts +0 -10
- package/unauthorized-page/si-unauthorized-page.component.d.ts +0 -35
- package/unauthorized-page/si-unauthorized-page.module.d.ts +0 -7
- package/wizard/si-wizard-step.component.d.ts +0 -21
- package/wizard/si-wizard.component.d.ts +0 -196
- package/wizard/si-wizard.module.d.ts +0 -8
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { signal, Injectable, input, booleanAttribute, model, output, computed, viewChild, inject, PLATFORM_ID, ElementRef, ChangeDetectorRef, DestroyRef, Component, NgModule } from '@angular/core';
|
|
2
|
+
import { signal, Injectable, input, booleanAttribute, model, output, computed, viewChild, inject, PLATFORM_ID, ElementRef, ChangeDetectorRef, DestroyRef, DOCUMENT, Component, NgModule } from '@angular/core';
|
|
3
3
|
import { BehaviorSubject, Subject, EMPTY } from 'rxjs';
|
|
4
4
|
import * as i1 from '@angular/cdk/portal';
|
|
5
5
|
import { CdkPortalOutlet, PortalModule } from '@angular/cdk/portal';
|
|
6
|
-
import { isPlatformBrowser
|
|
6
|
+
import { isPlatformBrowser } from '@angular/common';
|
|
7
7
|
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
|
8
8
|
import { ResizeObserverService, BOOTSTRAP_BREAKPOINTS } from '@siemens/element-ng/resize-observer';
|
|
9
|
+
import { t, SiTranslatePipe } from '@siemens/element-translate-ng/translate';
|
|
9
10
|
import { debounceTime } from 'rxjs/operators';
|
|
10
11
|
import { BreakpointObserver } from '@angular/cdk/layout';
|
|
11
12
|
import { SiAccordionHCollapseService } from '@siemens/element-ng/accordion';
|
|
@@ -13,7 +14,6 @@ import { SiContentActionBarComponent } from '@siemens/element-ng/content-action-
|
|
|
13
14
|
import { addIcons, elementDoubleRight, elementDoubleLeft, SiIconNextComponent } from '@siemens/element-ng/icon';
|
|
14
15
|
import { SiLinkDirective } from '@siemens/element-ng/link';
|
|
15
16
|
import { SiSearchBarComponent } from '@siemens/element-ng/search-bar';
|
|
16
|
-
import { SiTranslatePipe } from '@siemens/element-translate-ng/translate';
|
|
17
17
|
|
|
18
18
|
class SiSidePanelService {
|
|
19
19
|
contentSubject = new BehaviorSubject(undefined);
|
|
@@ -87,10 +87,10 @@ class SiSidePanelService {
|
|
|
87
87
|
this.tempContentSubject.next(undefined);
|
|
88
88
|
return true;
|
|
89
89
|
}
|
|
90
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
91
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
90
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: SiSidePanelService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
91
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: SiSidePanelService, providedIn: 'root' });
|
|
92
92
|
}
|
|
93
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
93
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: SiSidePanelService, decorators: [{
|
|
94
94
|
type: Injectable,
|
|
95
95
|
args: [{
|
|
96
96
|
providedIn: 'root'
|
|
@@ -128,10 +128,10 @@ class SiSidePanelComponent {
|
|
|
128
128
|
*
|
|
129
129
|
* @defaultValue
|
|
130
130
|
* ```
|
|
131
|
-
* $localize`:@@SI_SIDE_PANEL.TOGGLE:Toggle`
|
|
131
|
+
* t(() => $localize`:@@SI_SIDE_PANEL.TOGGLE:Toggle`)
|
|
132
132
|
* ```
|
|
133
133
|
*/
|
|
134
|
-
toggleItemLabel = input($localize `:@@SI_SIDE_PANEL.TOGGLE:Toggle`);
|
|
134
|
+
toggleItemLabel = input(t(() => $localize `:@@SI_SIDE_PANEL.TOGGLE:Toggle`));
|
|
135
135
|
/**
|
|
136
136
|
* Specifies custom breakpoints to automatically switch mode.
|
|
137
137
|
* The `smMinimum` specifies the breakpoint for the mobile view.
|
|
@@ -344,10 +344,10 @@ class SiSidePanelComponent {
|
|
|
344
344
|
queueMicrotask(() => this.panelElement().nativeElement.blur());
|
|
345
345
|
}
|
|
346
346
|
}
|
|
347
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
348
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "
|
|
347
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: SiSidePanelComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
348
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "20.0.6", type: SiSidePanelComponent, isStandalone: true, selector: "si-side-panel", inputs: { collapsible: { classPropertyName: "collapsible", publicName: "collapsible", isSignal: true, isRequired: false, transformFunction: null }, collapsed: { classPropertyName: "collapsed", publicName: "collapsed", isSignal: true, isRequired: false, transformFunction: null }, mode: { classPropertyName: "mode", publicName: "mode", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, toggleItemLabel: { classPropertyName: "toggleItemLabel", publicName: "toggleItemLabel", isSignal: true, isRequired: false, transformFunction: null }, breakpoints: { classPropertyName: "breakpoints", publicName: "breakpoints", isSignal: true, isRequired: false, transformFunction: null }, enableMobile: { classPropertyName: "enableMobile", publicName: "enableMobile", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { collapsed: "collapsedChange", closed: "closed", contentResize: "contentResize" }, host: { properties: { "class.enable-mobile": "enableMobile()", "class.rpanel-size--regular": "this.size() === \"regular\"", "class.rpanel-size--wide": "this.size() === \"wide\"", "class.rpanel-mode--over": "this.mode() === \"over\"", "class.rpanel-mode--scroll": "isScrollMode()", "class.rpanel-collapsed": "isCollapsed()", "class.ready": "ready()", "class.collapsible": "collapsible() && !this.showTempContent()", "class.collapsible-temp": "collapsible() && this.showTempContent()", "class.rpanel-hidden": "isHidden()", "class.rpanel-resize-xs": "isXs()", "class.rpanel-resize-sm": "isSm()", "class.rpanel-resize-md": "isMd()", "class.rpanel-resize-lg": "isLg()", "class.rpanel-resize-xl": "isXl()" }, classAttribute: "si-layout-inner" }, viewQueries: [{ propertyName: "panelElement", first: true, predicate: ["sidePanel"], descendants: true, isSignal: true }, { propertyName: "contentElement", first: true, predicate: ["content"], descendants: true, isSignal: true }, { propertyName: "portalOutlet", first: true, predicate: ["portalOutlet"], descendants: true, read: CdkPortalOutlet, isSignal: true }, { propertyName: "tmpPortalOutlet", first: true, predicate: ["tmpPortalOutlet"], descendants: true, read: CdkPortalOutlet, isSignal: true }], usesOnChanges: true, ngImport: i0, template: "<div #sidePanel class=\"side-panel focus-none\" tabindex=\"-1\">\n <div class=\"inner\" [class.d-none]=\"showTempContent()\">\n <ng-content select=\"si-side-panel-content, element-side-panel-content\" />\n <ng-container #portalOutlet cdkPortalOutlet />\n </div>\n <div class=\"inner\" [class.d-none]=\"!showTempContent()\">\n <ng-container #tmpPortalOutlet cdkPortalOutlet />\n </div>\n</div>\n<div #content class=\"main-content si-layout-inner\">\n <ng-content />\n</div>\n", styles: [":host{--rpanel-collapsed-padding: 0;--rpanel-size: 390px;display:block;padding-inline-end:var(--rpanel-size)}:host.ready{transition:padding-inline-end calc(.5s * var(--element-animations-enabled, 1))}:host.ready .side-panel{transition:inline-size calc(.5s * var(--element-animations-enabled, 1))}:host .side-panel,:host .side-panel>.inner{inline-size:var(--rpanel-size)}:host.collapsible,:host.collapsible-temp{--rpanel-collapsed-width: 48px}:host.rpanel-size--wide{--rpanel-size: 500px}:host.rpanel-resize-sm.rpanel-mode--over,:host.rpanel-resize-md.rpanel-mode--over,:host.rpanel-resize-lg.rpanel-mode--over,:host.rpanel-resize-xl.rpanel-mode--over{padding-inline-end:var(--rpanel-collapsed-width)}:host.rpanel-resize-sm.rpanel-mode--over:not(.rpanel-collapsed) .side-panel,:host.rpanel-resize-md.rpanel-mode--over:not(.rpanel-collapsed) .side-panel,:host.rpanel-resize-lg.rpanel-mode--over:not(.rpanel-collapsed) .side-panel,:host.rpanel-resize-xl.rpanel-mode--over:not(.rpanel-collapsed) .side-panel{box-shadow:0 0 8px var(--element-box-shadow-color-1),0 8px 8px var(--element-box-shadow-color-2)}:host.rpanel-resize-lg.rpanel-mode--scroll.rpanel-size--wide{padding-inline-end:var(--rpanel-collapsed-width)}:host.rpanel-resize-sm.rpanel-mode--scroll,:host.rpanel-resize-md.rpanel-mode--scroll{padding-inline-end:var(--rpanel-collapsed-width)}:host.rpanel-resize-sm.rpanel-mode--scroll:not(.rpanel-collapsed) .side-panel,:host.rpanel-resize-md.rpanel-mode--scroll:not(.rpanel-collapsed) .side-panel{box-shadow:0 0 8px var(--element-box-shadow-color-1),0 8px 8px var(--element-box-shadow-color-2)}:host.rpanel-resize-xs.rpanel-mode--over,:host.rpanel-resize-xs.rpanel-mode--scroll{padding-inline-end:var(--rpanel-collapsed-width)}:host.rpanel-resize-xs .side-panel{z-index:1031}:host.rpanel-resize-xs:not(.rpanel-collapsed) .side-panel,:host.rpanel-resize-xs:not(.rpanel-collapsed) .side-panel>.inner{inline-size:100%}:host.rpanel-hidden:not(.collapsible) .side-panel{display:none}:host.rpanel-collapsed{padding-inline-end:var(--rpanel-collapsed-width)}:host.rpanel-collapsed:not(.collapsible) .side-panel{inline-size:0;overflow:hidden}:host.rpanel-collapsed.collapsible .side-panel{inline-size:var(--rpanel-collapsed-width);overflow:hidden}.side-panel{position:fixed;z-index:1029;inset-block-start:calc(48px + var(--element-titlebar-spacing, 0px) + var(--element-system-banner-spacing, 0px));inset-block-end:0;inset-inline-end:0;overflow-x:hidden;background:var(--element-base-1)}.side-panel>.inner{display:flex;flex-direction:column;position:absolute;inset-block:0;inset-inline-start:0}@media (max-width: 575.98px){:host.enable-mobile{padding-inline-end:0!important;--si-layout-header-first-element-offset-end: 40px}:host.enable-mobile.rpanel-collapsed .side-panel{inline-size:0!important}}\n"], dependencies: [{ kind: "ngmodule", type: PortalModule }, { kind: "directive", type: i1.CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }] });
|
|
349
349
|
}
|
|
350
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
350
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: SiSidePanelComponent, decorators: [{
|
|
351
351
|
type: Component,
|
|
352
352
|
args: [{ selector: 'si-side-panel', imports: [PortalModule], host: {
|
|
353
353
|
class: 'si-layout-inner',
|
|
@@ -413,28 +413,28 @@ class SiSidePanelContentComponent {
|
|
|
413
413
|
*
|
|
414
414
|
* @defaultValue
|
|
415
415
|
* ```
|
|
416
|
-
* $localize`:@@SI_SIDE_PANEL.SEARCH_PLACEHOLDER:Search...`
|
|
416
|
+
* t(() => $localize`:@@SI_SIDE_PANEL.SEARCH_PLACEHOLDER:Search...`)
|
|
417
417
|
* ```
|
|
418
418
|
*/
|
|
419
|
-
searchPlaceholder = input($localize `:@@SI_SIDE_PANEL.SEARCH_PLACEHOLDER:Search...`);
|
|
419
|
+
searchPlaceholder = input(t(() => $localize `:@@SI_SIDE_PANEL.SEARCH_PLACEHOLDER:Search...`));
|
|
420
420
|
/**
|
|
421
421
|
* Aria label for close button. Needed for a11y
|
|
422
422
|
*
|
|
423
423
|
* @defaultValue
|
|
424
424
|
* ```
|
|
425
|
-
* $localize`:@@SI_SIDE_PANEL.CLOSE:Close`
|
|
425
|
+
* t(() => $localize`:@@SI_SIDE_PANEL.CLOSE:Close`)
|
|
426
426
|
* ```
|
|
427
427
|
*/
|
|
428
|
-
closeButtonLabel = input($localize `:@@SI_SIDE_PANEL.CLOSE:Close`);
|
|
428
|
+
closeButtonLabel = input(t(() => $localize `:@@SI_SIDE_PANEL.CLOSE:Close`));
|
|
429
429
|
/**
|
|
430
430
|
* Toggle icon aria-label, required for a11y
|
|
431
431
|
*
|
|
432
432
|
* @defaultValue
|
|
433
433
|
* ```
|
|
434
|
-
* $localize`:@@SI_SIDE_PANEL.TOGGLE:Toggle`
|
|
434
|
+
* t(() => $localize`:@@SI_SIDE_PANEL.TOGGLE:Toggle`)
|
|
435
435
|
* ```
|
|
436
436
|
*/
|
|
437
|
-
toggleItemLabel = input($localize `:@@SI_SIDE_PANEL.TOGGLE:Toggle`);
|
|
437
|
+
toggleItemLabel = input(t(() => $localize `:@@SI_SIDE_PANEL.TOGGLE:Toggle`));
|
|
438
438
|
/**
|
|
439
439
|
* Show a badge on the mobile drawer indicating a new alert or notification
|
|
440
440
|
*
|
|
@@ -500,10 +500,10 @@ class SiSidePanelContentComponent {
|
|
|
500
500
|
this.service.toggle();
|
|
501
501
|
}
|
|
502
502
|
}
|
|
503
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
504
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
503
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: SiSidePanelContentComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
504
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.6", type: SiSidePanelContentComponent, isStandalone: true, selector: "si-side-panel-content", inputs: { collapsible: { classPropertyName: "collapsible", publicName: "collapsible", isSignal: true, isRequired: false, transformFunction: null }, heading: { classPropertyName: "heading", publicName: "heading", isSignal: true, isRequired: false, transformFunction: null }, primaryActions: { classPropertyName: "primaryActions", publicName: "primaryActions", isSignal: true, isRequired: false, transformFunction: null }, secondaryActions: { classPropertyName: "secondaryActions", publicName: "secondaryActions", isSignal: true, isRequired: false, transformFunction: null }, statusActions: { classPropertyName: "statusActions", publicName: "statusActions", isSignal: true, isRequired: false, transformFunction: null }, searchable: { classPropertyName: "searchable", publicName: "searchable", isSignal: true, isRequired: false, transformFunction: null }, searchPlaceholder: { classPropertyName: "searchPlaceholder", publicName: "searchPlaceholder", isSignal: true, isRequired: false, transformFunction: null }, closeButtonLabel: { classPropertyName: "closeButtonLabel", publicName: "closeButtonLabel", isSignal: true, isRequired: false, transformFunction: null }, toggleItemLabel: { classPropertyName: "toggleItemLabel", publicName: "toggleItemLabel", isSignal: true, isRequired: false, transformFunction: null }, showMobileDrawerBadge: { classPropertyName: "showMobileDrawerBadge", publicName: "showMobileDrawerBadge", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { searchEvent: "searchEvent" }, host: { properties: { "class.collapsed": "isCollapsed()", "class.expanded": "isExpanded()", "class.enable-mobile": "enableMobile()" } }, providers: [SiAccordionHCollapseService], ngImport: i0, template: "<div class=\"rpanel-header pt-5\">\n <p class=\"si-title-2 my-0 ms-6 auto-hide text-truncate\">{{ heading() | translate }}</p>\n @if ((primaryActions().length || secondaryActions().length) && focusable()) {\n <si-content-action-bar\n class=\"auto-hide ms-auto\"\n viewType=\"expanded\"\n [primaryActions]=\"primaryActions()\"\n [secondaryActions]=\"secondaryActions()\"\n [toggleItemLabel]=\"toggleItemLabel()\"\n />\n }\n <button\n type=\"button\"\n class=\"close-button btn btn-circle btn-sm btn-ghost element-cancel me-4\"\n [attr.aria-label]=\"closeButtonLabel() | translate\"\n [tabindex]=\"focusable() ? '0' : '-1'\"\n (click)=\"toggleSidePanel($event)\"\n ></button>\n <div class=\"collapse-toggle\">\n <button\n type=\"button\"\n class=\"side-panel-collapse-toggle btn btn-circle btn-sm btn-ghost mx-4\"\n [attr.aria-label]=\"toggleItemLabel() | translate\"\n (click)=\"toggleSidePanel($event)\"\n >\n <si-icon-next\n class=\"flip-rtl\"\n [class.badge-dot]=\"showMobileDrawerBadge()\"\n [icon]=\"isCollapsed() ? icons.elementDoubleLeft : icons.elementDoubleRight\"\n />\n </button>\n </div>\n</div>\n<div class=\"rpanel-wrapper d-flex flex-column\">\n @if (statusActions().length && focusable()) {\n <div class=\"rpanel-header rpanel-statusactions px-6\">\n @for (dp of statusActions(); track $index) {\n @if (!dp.disabled) {\n <a\n class=\"rpanel-statusaction position-relative focus-inside\"\n [attr.aria-label]=\"!isCollapsed ? '' : (dp.title | translate)\"\n [siLink]=\"dp\"\n >\n <si-icon-next class=\"icon\" [icon]=\"dp.icon!\" />\n @if (dp.overlayIcon) {\n <si-icon-next class=\"icon position-absolute\" [icon]=\"dp.overlayIcon\" />\n }\n <span class=\"ms-2 auto-hide\">{{ dp.title | translate }}</span>\n </a>\n }\n @if (dp.disabled) {\n <div class=\"rpanel-statusaction dot-outer\" aria-hidden=\"true\">\n <div class=\"dot text-muted text-center\">•</div>\n </div>\n }\n }\n </div>\n }\n @if (searchable() && focusable()) {\n <div class=\"nav-search px-6 auto-hide\">\n <si-search-bar\n #searchBar\n class=\"m-0\"\n colorVariant=\"base-0\"\n prohibitedCharacters=\"*?\"\n [placeholder]=\"searchPlaceholder() | translate\"\n [debounceTime]=\"400\"\n [showIcon]=\"true\"\n (searchChange)=\"searchEvent.emit($event)\"\n />\n </div>\n }\n @if (focusable()) {\n <div class=\"rpanel-content\">\n <ng-content />\n </div>\n }\n</div>\n", styles: [":host{--si-accordion-radius: 0;display:flex;flex-direction:column;flex:1;gap:12px}:host-context(.collapsible) .close-button{display:none}:host-context(.collapsible) .collapse-toggle{display:block}:host-context(.collapsible) .rpanel-wrapper{gap:12px}:host-context(.collapsible) :host.collapsed{gap:0}:host-context(.collapsible) :host.collapsed .auto-hide{display:none}:host-context(.collapsible) :host.collapsed .rpanel-wrapper{gap:0;inline-size:var(--rpanel-collapsed-width)}:host-context(.collapsible) :host.collapsed .rpanel-content{flex:0 0 auto;margin-block-start:8px}:host-context(.collapsible) :host.collapsed .rpanel-statusactions{order:3;flex-direction:column;align-items:flex-start;padding:0!important}:host-context(.collapsible) :host.collapsed .rpanel-statusaction{padding-block:8px;padding-inline:12px}:host-context(.collapsible) :host.collapsed .rpanel-statusaction:not(.dot-outer):hover{background:var(--element-base-1-hover)}.collapse-toggle{display:none}.collapse-toggle i{vertical-align:bottom}.rpanel-header,.rpanel-statusaction{display:flex;align-items:center}.rpanel-header{justify-content:space-between}.rpanel-wrapper,.rpanel-content{min-block-size:0;flex:1 0 0;overflow-x:hidden;overflow-y:auto}.rpanel-statusaction{text-decoration:none}.rpanel-statusaction .dot{inline-size:24px;line-height:24px}.rpanel-statusaction span{font-size:12px;white-space:pre-wrap;color:var(--element-text-primary)}.rpanel-statusaction:hover span{color:var(--element-text-active)}@media (max-width: 575.98px){:host.enable-mobile:not(.collapsed):not(.expanded) si-content-action-bar{margin-inline-end:48px}:host.enable-mobile:not(.expanded) .collapse-toggle{position:fixed;border:0;text-align:end;padding-block:4px!important;margin-block-start:8px!important;inset-inline-end:0;inset-block-start:calc(48px + var(--element-titlebar-spacing, 0px) + var(--element-system-banner-spacing, 0px));border-start-start-radius:var(--element-radius-2);border-end-start-radius:var(--element-radius-2);border-start-end-radius:0!important;border-end-end-radius:0!important;background:var(--element-base-1);box-shadow:0 0 4px var(--element-box-shadow-color-1),0 4px 4px var(--element-box-shadow-color-2);z-index:2}}\n"], dependencies: [{ kind: "component", type: SiContentActionBarComponent, selector: "si-content-action-bar", inputs: ["primaryActions", "secondaryActions", "actionParam", "viewType", "toggleItemLabel", "preventIconsInDropdownMenus", "disabled"] }, { kind: "component", type: SiIconNextComponent, selector: "si-icon-next", inputs: ["icon"] }, { kind: "directive", type: SiLinkDirective, selector: "[siLink]", inputs: ["siLink", "siLinkDefaultTarget", "actionParam", "activeClass", "exactMatch", "ariaCurrent"], outputs: ["activeChange"], exportAs: ["siLink"] }, { kind: "component", type: SiSearchBarComponent, selector: "si-search-bar", inputs: ["debounceTime", "prohibitedCharacters", "placeholder", "showIcon", "tabbable", "value", "readonly", "colorVariant", "disabled"], outputs: ["searchChange"] }, { kind: "pipe", type: SiTranslatePipe, name: "translate" }] });
|
|
505
505
|
}
|
|
506
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
506
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: SiSidePanelContentComponent, decorators: [{
|
|
507
507
|
type: Component,
|
|
508
508
|
args: [{ selector: 'si-side-panel-content', imports: [
|
|
509
509
|
SiContentActionBarComponent,
|
|
@@ -523,11 +523,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.6", ngImpor
|
|
|
523
523
|
* SPDX-License-Identifier: MIT
|
|
524
524
|
*/
|
|
525
525
|
class SiSidePanelModule {
|
|
526
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
527
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
528
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
526
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: SiSidePanelModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
527
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.0.6", ngImport: i0, type: SiSidePanelModule, imports: [SiSidePanelComponent, SiSidePanelContentComponent], exports: [SiSidePanelComponent, SiSidePanelContentComponent] });
|
|
528
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: SiSidePanelModule, imports: [SiSidePanelComponent, SiSidePanelContentComponent] });
|
|
529
529
|
}
|
|
530
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
530
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: SiSidePanelModule, decorators: [{
|
|
531
531
|
type: NgModule,
|
|
532
532
|
args: [{
|
|
533
533
|
imports: [SiSidePanelComponent, SiSidePanelContentComponent],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"siemens-element-ng-side-panel.mjs","sources":["../../../../projects/element-ng/side-panel/si-side-panel.service.ts","../../../../projects/element-ng/side-panel/si-side-panel.component.ts","../../../../projects/element-ng/side-panel/si-side-panel.component.html","../../../../projects/element-ng/side-panel/si-side-panel-content.component.ts","../../../../projects/element-ng/side-panel/si-side-panel-content.component.html","../../../../projects/element-ng/side-panel/si-side-panel.module.ts","../../../../projects/element-ng/side-panel/side-panel.model.ts","../../../../projects/element-ng/side-panel/index.ts","../../../../projects/element-ng/side-panel/siemens-element-ng-side-panel.ts"],"sourcesContent":["/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nimport { Portal } from '@angular/cdk/portal';\nimport { Injectable, signal } from '@angular/core';\nimport { BehaviorSubject, EMPTY, Observable, Subject } from 'rxjs';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class SiSidePanelService {\n private contentSubject = new BehaviorSubject<Portal<any> | undefined>(undefined);\n /** @internal */\n readonly content$ = this.contentSubject.asObservable();\n\n private openSubject = new BehaviorSubject<boolean>(false);\n /**\n * Emits on side panel is open or close.\n *\n * @defaultValue this.openSubject.asObservable()\n */\n readonly isOpen$ = this.openSubject.asObservable();\n\n private tempContentSubject = new BehaviorSubject<Portal<any> | undefined>(undefined);\n /** @internal */\n readonly tempContent$ = this.tempContentSubject.asObservable();\n\n private tempContentClosed?: Subject<void>;\n /** @internal */\n readonly enableMobile = signal(false);\n /** Set or update displayed content. */\n setSidePanelContent(portal: Portal<any> | undefined): void {\n this.contentSubject.next(portal);\n }\n\n /** Open side panel. */\n open(): void {\n this.hideTemporaryContent();\n this.openSubject.next(true);\n }\n\n /** Close side panel. */\n close(): void {\n if (this.hideTemporaryContent()) {\n return;\n }\n this.openSubject.next(false);\n }\n\n /** Toggle side panel open/close. */\n toggle(): void {\n this.hideTemporaryContent();\n this.openSubject.next(!this.openSubject.value);\n }\n\n /** Indicate is side panel open. */\n isOpen(): boolean {\n return this.openSubject.value;\n }\n\n /**\n * Indicate that the side panel is open with temporary content.\n */\n isTemporaryOpen(): boolean {\n return !!this.tempContentSubject.value;\n }\n\n /** Show side panel temporary content, opening the side panel when necessary. */\n showTemporaryContent(portal: Portal<any> | undefined): Observable<void> {\n this.hideTemporaryContent();\n this.tempContentSubject.next(portal);\n\n if (portal) {\n this.tempContentClosed = new Subject();\n return this.tempContentClosed.asObservable();\n }\n return EMPTY;\n }\n\n /** Hide side panel temporary content, reverting to state before showing temporary content. */\n hideTemporaryContent(): boolean {\n if (!this.isTemporaryOpen()) {\n return false;\n }\n if (this.tempContentClosed) {\n const sub = this.tempContentClosed;\n this.tempContentClosed = undefined;\n sub.next();\n sub.complete();\n }\n this.tempContentSubject.next(undefined);\n return true;\n }\n}\n","/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nimport { CdkPortalOutlet, Portal, PortalModule } from '@angular/cdk/portal';\nimport { DOCUMENT, isPlatformBrowser } from '@angular/common';\nimport {\n booleanAttribute,\n ChangeDetectorRef,\n Component,\n computed,\n DestroyRef,\n ElementRef,\n inject,\n input,\n model,\n OnChanges,\n OnDestroy,\n OnInit,\n output,\n PLATFORM_ID,\n signal,\n SimpleChanges,\n viewChild\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport {\n BOOTSTRAP_BREAKPOINTS,\n Breakpoints,\n ElementDimensions,\n ResizeObserverService\n} from '@siemens/element-ng/resize-observer';\nimport { Subject } from 'rxjs';\nimport { debounceTime } from 'rxjs/operators';\n\nimport { SiSidePanelService } from './si-side-panel.service';\nimport { SidePanelMode, SidePanelSize } from './side-panel.model';\n\n@Component({\n selector: 'si-side-panel',\n imports: [PortalModule],\n templateUrl: './si-side-panel.component.html',\n styleUrl: './si-side-panel.component.scss',\n host: {\n class: 'si-layout-inner',\n '[class.enable-mobile]': 'enableMobile()',\n '[class.rpanel-size--regular]': 'this.size() === \"regular\"',\n '[class.rpanel-size--wide]': 'this.size() === \"wide\"',\n '[class.rpanel-mode--over]': 'this.mode() === \"over\"',\n '[class.rpanel-mode--scroll]': 'isScrollMode()',\n '[class.rpanel-collapsed]': 'isCollapsed()',\n '[class.ready]': 'ready()',\n '[class.collapsible]': 'collapsible() && !this.showTempContent()',\n '[class.collapsible-temp]': 'collapsible() && this.showTempContent()',\n '[class.rpanel-hidden]': 'isHidden()',\n '[class.rpanel-resize-xs]': 'isXs()',\n '[class.rpanel-resize-sm]': 'isSm()',\n '[class.rpanel-resize-md]': 'isMd()',\n '[class.rpanel-resize-lg]': 'isLg()',\n '[class.rpanel-resize-xl]': 'isXl()'\n }\n})\nexport class SiSidePanelComponent implements OnInit, OnDestroy, OnChanges {\n /**\n * @defaultValue false\n */\n readonly collapsible = input(false, { transform: booleanAttribute });\n\n /**\n * Default state of navigation\n */\n readonly collapsed = model<boolean>();\n\n /**\n * Mode of side panel\n * (ignored below a certain width)\n *\n * @defaultValue 'over'\n */\n readonly mode = input<SidePanelMode>('over');\n\n /**\n * Size of side-panel\n *\n * @defaultValue 'regular'\n */\n readonly size = input<SidePanelSize>('regular');\n\n /**\n * Toggle icon aria-label, required for a11y\n *\n * @defaultValue\n * ```\n * $localize`:@@SI_SIDE_PANEL.TOGGLE:Toggle`\n * ```\n */\n readonly toggleItemLabel = input($localize`:@@SI_SIDE_PANEL.TOGGLE:Toggle`);\n\n /**\n * Specifies custom breakpoints to automatically switch mode.\n * The `smMinimum` specifies the breakpoint for the mobile view.\n * The `lgMinimum` specifies the breakpoint to allow scroll mode\n * (below automatically uses over mode).\n * The `xlMinimum` specifies the breakpoint to allow scroll mode\n * with wide size (below automatically uses over mode).\n */\n readonly breakpoints = input<Breakpoints>();\n\n /**\n * Enable mobile drawer for small screen sizes. Should not be used in conjunction with the vertical navbar.\n *\n * @defaultValue false\n */\n readonly enableMobile = input(false, { transform: booleanAttribute });\n\n /**\n * Emits when the panel is closed\n */\n readonly closed = output();\n\n /**\n * Emits whenever the content is resized due to opening and closing or parent resize.\n */\n readonly contentResize = output<ElementDimensions>();\n\n protected readonly isScrollMode = computed(() => this.mode() === 'scroll');\n\n protected readonly isXs = signal(false);\n protected readonly isSm = signal(false);\n protected readonly isMd = signal(true);\n protected readonly isLg = signal(false);\n protected readonly isXl = signal(false);\n protected readonly isCollapsed = signal(false);\n protected readonly ready = signal(false);\n protected readonly isHidden = signal(false);\n protected readonly showTempContent = signal(false);\n\n private readonly panelElement = viewChild.required<ElementRef>('sidePanel');\n private readonly contentElement = viewChild.required<ElementRef>('content');\n private readonly portalOutlet = viewChild.required<CdkPortalOutlet, CdkPortalOutlet>(\n 'portalOutlet',\n {\n read: CdkPortalOutlet\n }\n );\n private readonly tmpPortalOutlet = viewChild.required<CdkPortalOutlet, CdkPortalOutlet>(\n 'tmpPortalOutlet',\n {\n read: CdkPortalOutlet\n }\n );\n\n /**\n * The $rpanel-transition-duration in the style is 0.5 seconds.\n * Sending the resize event after resize need to wait until resize is done.\n */\n private readonly resizeEventDelay = 500;\n private resizeEvent = new Subject<void>();\n private openingOrClosing = false;\n private previousContentDimensions: ElementDimensions = { width: 0, height: 0 };\n private isCollapsedInternal = false; // same as the other one, except w/o timeout for animation\n private readonly isBrowser = isPlatformBrowser(inject(PLATFORM_ID));\n private readonly element = inject(ElementRef);\n private readonly resizeObserver = inject(ResizeObserverService);\n private readonly service = inject(SiSidePanelService);\n private readonly cdRef = inject(ChangeDetectorRef);\n private readonly destroyRef = inject(DestroyRef);\n private readonly document = inject(DOCUMENT);\n\n constructor() {\n if (this.isBrowser) {\n this.resizeEvent\n .asObservable()\n .pipe(takeUntilDestroyed(this.destroyRef), debounceTime(this.resizeEventDelay))\n .subscribe(() => {\n this.openingOrClosing = false;\n this.emitResizeOutputs();\n if (this.isCollapsedInternal && !this.collapsible()) {\n this.isHidden.set(true);\n }\n });\n }\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes.collapsed) {\n if (this.collapsed()) {\n this.service.close();\n } else {\n this.service.open();\n }\n } else if (changes.enableMobile) {\n this.service.enableMobile.set(this.enableMobile());\n }\n }\n\n ngOnInit(): void {\n // handle initial state to avoid flicker\n const collapsed = this.collapsed() ?? !this.service.isOpen();\n this.isCollapsedInternal = collapsed;\n this.isHidden.set(collapsed);\n this.isCollapsed.set(collapsed);\n\n this.resizeObserver\n .observe(this.element.nativeElement, 100, true)\n .pipe(takeUntilDestroyed(this.destroyRef))\n .subscribe(dim => {\n this.setBreakpoints(dim.width, dim.height);\n if (!this.ready()) {\n // delay because the initial sizing needs to settle\n setTimeout(() => {\n this.ready.set(true);\n }, 100);\n }\n if (!this.openingOrClosing) {\n this.emitResizeOutputs();\n }\n });\n\n this.service.content$\n .pipe(takeUntilDestroyed(this.destroyRef))\n .subscribe(portal => this.attachContent(portal));\n\n this.service.tempContent$\n .pipe(takeUntilDestroyed(this.destroyRef))\n .subscribe(portal => this.attachTempContent(portal));\n\n this.service.isOpen$\n .pipe(takeUntilDestroyed(this.destroyRef))\n .subscribe(state => this.openClose(state));\n }\n\n ngOnDestroy(): void {\n this.portalOutlet().detach();\n }\n /**\n * Toggle whether the side panel is expanded or not.\n */\n toggleSidePanel(): void {\n if (this.collapsible()) {\n this.service.toggle();\n } else {\n this.service.close();\n }\n }\n\n private emitResizeOutputs(): void {\n const contentDimensions = this.getContentDimensions();\n if (\n contentDimensions.width !== this.previousContentDimensions.width ||\n contentDimensions.height !== this.previousContentDimensions.height\n ) {\n this.previousContentDimensions = contentDimensions;\n this.contentResize.emit(contentDimensions);\n }\n }\n\n private getContentDimensions(): ElementDimensions {\n if (!this.isCollapsedInternal && this.isXs()) {\n return { width: 0, height: 0 };\n }\n const rect = this.contentElement().nativeElement.getBoundingClientRect();\n return { width: rect.width, height: rect.height };\n }\n\n private setBreakpoints(width: number, height: number): void {\n if (!width && !height) {\n // element is not visible, no point in changing anything\n return;\n }\n const breakpoints = this.breakpoints() ?? BOOTSTRAP_BREAKPOINTS;\n\n this.isXs.set(width < breakpoints.smMinimum);\n this.isSm.set(width >= breakpoints.smMinimum && width < breakpoints.mdMinimum);\n this.isMd.set(width >= breakpoints.mdMinimum && width < breakpoints.lgMinimum);\n this.isLg.set(width >= breakpoints.lgMinimum && width < breakpoints.xlMinimum);\n this.isXl.set(width >= breakpoints.xlMinimum);\n }\n\n private sendResize(): void {\n if (this.isScrollMode() || this.element.nativeElement.style.paddingRight !== '0') {\n this.openingOrClosing = true;\n this.resizeEvent.next();\n }\n }\n\n private attachContent(portal?: Portal<any>): void {\n const portalOutlet = this.portalOutlet();\n portalOutlet.detach();\n if (portal) {\n portalOutlet.attach(portal);\n }\n this.cdRef.markForCheck();\n }\n\n private attachTempContent(portal: Portal<any> | undefined): void {\n const tmpPortalOutlet = this.tmpPortalOutlet();\n tmpPortalOutlet.detach();\n if (portal) {\n tmpPortalOutlet.attach(portal);\n this.showTempContent.set(true);\n this.openClose(true, true);\n } else if (this.showTempContent()) {\n this.showTempContent.set(false);\n this.openClose(this.service.isOpen(), true);\n }\n }\n\n private openClose(open: boolean, regainFocus = false): void {\n if (open !== this.isCollapsedInternal) {\n this.moveFocusInside(open && regainFocus);\n return;\n }\n this.isCollapsedInternal = !open;\n if (open) {\n this.isHidden.set(false);\n }\n setTimeout(() => this.doOpenClose(open));\n }\n\n private doOpenClose(open: boolean): void {\n this.moveFocusInside(open);\n this.isCollapsed.set(!open);\n this.collapsed.set(this.isCollapsed());\n if (this.isCollapsedInternal) {\n this.closed.emit();\n }\n this.sendResize();\n }\n\n private moveFocusInside(open: boolean): void {\n if (\n open &&\n !this.document.activeElement?.parentElement?.classList.contains(\n 'side-panel-collapse-toggle'\n ) &&\n !this.document.activeElement?.classList.contains('side-panel-collapse-toggle')\n ) {\n // moves the keyboard focus inside the panel so that the next tab is somewhere useful\n this.panelElement().nativeElement.focus();\n queueMicrotask(() => this.panelElement().nativeElement.blur());\n }\n }\n}\n","<div #sidePanel class=\"side-panel focus-none\" tabindex=\"-1\">\n <div class=\"inner\" [class.d-none]=\"showTempContent()\">\n <ng-content select=\"si-side-panel-content, element-side-panel-content\" />\n <ng-container #portalOutlet cdkPortalOutlet />\n </div>\n <div class=\"inner\" [class.d-none]=\"!showTempContent()\">\n <ng-container #tmpPortalOutlet cdkPortalOutlet />\n </div>\n</div>\n<div #content class=\"main-content si-layout-inner\">\n <ng-content />\n</div>\n","/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nimport { BreakpointObserver } from '@angular/cdk/layout';\nimport {\n booleanAttribute,\n Component,\n computed,\n DestroyRef,\n inject,\n input,\n OnInit,\n output,\n signal\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { SiAccordionHCollapseService } from '@siemens/element-ng/accordion';\nimport { MenuItem as MenuItemLegacy } from '@siemens/element-ng/common';\nimport {\n ContentActionBarMainItem,\n SiContentActionBarComponent\n} from '@siemens/element-ng/content-action-bar';\nimport {\n addIcons,\n elementDoubleLeft,\n elementDoubleRight,\n SiIconNextComponent\n} from '@siemens/element-ng/icon';\nimport { SiLinkDirective } from '@siemens/element-ng/link';\nimport { MenuItem } from '@siemens/element-ng/menu';\nimport { BOOTSTRAP_BREAKPOINTS } from '@siemens/element-ng/resize-observer';\nimport { SiSearchBarComponent } from '@siemens/element-ng/search-bar';\nimport { SiTranslatePipe, TranslatableString } from '@siemens/element-translate-ng/translate';\n\nimport { SiSidePanelService } from './si-side-panel.service';\n\n/**\n * An extension of MenuItem to support combined icons\n */\nexport interface StatusItem extends MenuItemLegacy {\n overlayIcon?: string;\n}\n\n@Component({\n selector: 'si-side-panel-content',\n imports: [\n SiContentActionBarComponent,\n SiIconNextComponent,\n SiLinkDirective,\n SiSearchBarComponent,\n SiTranslatePipe\n ],\n templateUrl: './si-side-panel-content.component.html',\n styleUrl: './si-side-panel-content.component.scss',\n providers: [SiAccordionHCollapseService],\n host: {\n '[class.collapsed]': 'isCollapsed()',\n '[class.expanded]': 'isExpanded()',\n '[class.enable-mobile]': 'enableMobile()'\n }\n})\nexport class SiSidePanelContentComponent implements OnInit {\n /**\n * @defaultValue false\n */\n readonly collapsible = input(false, { transform: booleanAttribute });\n\n /**\n * Header of side panel\n *\n * @defaultValue ''\n */\n readonly heading = input<TranslatableString>('');\n\n /**\n * Input list of primary action items\n *\n * @defaultValue []\n */\n readonly primaryActions = input<(MenuItemLegacy | ContentActionBarMainItem)[]>([]);\n\n /**\n * Input list of secondary action items.\n *\n * @defaultValue []\n */\n readonly secondaryActions = input<(MenuItemLegacy | MenuItem)[]>([]);\n\n /**\n * Status icons/actions\n *\n * @defaultValue []\n */\n readonly statusActions = input<StatusItem[]>([]);\n\n /**\n * Toggles search bar\n *\n * @defaultValue false\n */\n readonly searchable = input(false, { transform: booleanAttribute });\n\n /**\n * Placeholder text for search\n *\n * @defaultValue\n * ```\n * $localize`:@@SI_SIDE_PANEL.SEARCH_PLACEHOLDER:Search...`\n * ```\n */\n readonly searchPlaceholder = input($localize`:@@SI_SIDE_PANEL.SEARCH_PLACEHOLDER:Search...`);\n\n /**\n * Aria label for close button. Needed for a11y\n *\n * @defaultValue\n * ```\n * $localize`:@@SI_SIDE_PANEL.CLOSE:Close`\n * ```\n */\n readonly closeButtonLabel = input($localize`:@@SI_SIDE_PANEL.CLOSE:Close`);\n\n /**\n * Toggle icon aria-label, required for a11y\n *\n * @defaultValue\n * ```\n * $localize`:@@SI_SIDE_PANEL.TOGGLE:Toggle`\n * ```\n */\n readonly toggleItemLabel = input($localize`:@@SI_SIDE_PANEL.TOGGLE:Toggle`);\n\n /**\n * Show a badge on the mobile drawer indicating a new alert or notification\n *\n * @defaultValue false\n */\n readonly showMobileDrawerBadge = input(false, { transform: booleanAttribute });\n\n /**\n * Output for search bar input\n */\n readonly searchEvent = output<string>();\n\n protected readonly isCollapsed = signal(false);\n protected readonly isExpanded = signal(true);\n protected readonly enableMobile = computed(() => this.service?.enableMobile() ?? false);\n protected readonly mobileSize = signal(false);\n protected readonly focusable = computed(\n () => !this.mobileSize() || !this.enableMobile() || !this.isCollapsed()\n );\n protected readonly icons = addIcons({ elementDoubleLeft, elementDoubleRight });\n /**\n * The $rpanel-transition-duration in the style is 0.5 seconds.\n * For the animation we need to wait until the resize is done.\n */\n private readonly resizeAnimationDelay = 500;\n private readonly destroyRef = inject(DestroyRef);\n private readonly service = inject(SiSidePanelService);\n private readonly breakpointObserver = inject(BreakpointObserver);\n\n private expandedTimeout: any;\n\n constructor() {\n const accordionHcollapse = inject(SiAccordionHCollapseService);\n this.service.isOpen$.pipe(takeUntilDestroyed(this.destroyRef)).subscribe(state => {\n this.isCollapsed.set(!state);\n clearTimeout(this.expandedTimeout);\n this.expandedTimeout = undefined;\n if (!state) {\n this.isExpanded.set(false);\n } else {\n this.expandedTimeout = setTimeout(() => {\n this.isExpanded.set(true);\n }, this.resizeAnimationDelay / 2);\n }\n accordionHcollapse.hcollapsed.set(!state);\n });\n accordionHcollapse.open$\n .pipe(takeUntilDestroyed(this.destroyRef))\n .subscribe(() => this.service.open());\n }\n\n ngOnInit(): void {\n this.breakpointObserver\n .observe('(max-width: ' + BOOTSTRAP_BREAKPOINTS.smMinimum + 'px)')\n .pipe(takeUntilDestroyed(this.destroyRef))\n .subscribe(({ matches }) => {\n this.mobileSize.set(matches);\n });\n }\n\n protected toggleSidePanel(event?: MouseEvent): void {\n if (event?.detail !== 0) {\n // Blur except if triggered by keyboard\n (document?.activeElement as HTMLElement)?.blur();\n }\n if (this.service.isTemporaryOpen()) {\n this.service.hideTemporaryContent();\n } else {\n this.service.toggle();\n }\n }\n}\n","<div class=\"rpanel-header pt-5\">\n <p class=\"si-title-2 my-0 ms-6 auto-hide text-truncate\">{{ heading() | translate }}</p>\n @if ((primaryActions().length || secondaryActions().length) && focusable()) {\n <si-content-action-bar\n class=\"auto-hide ms-auto\"\n viewType=\"expanded\"\n [primaryActions]=\"primaryActions()\"\n [secondaryActions]=\"secondaryActions()\"\n [toggleItemLabel]=\"toggleItemLabel()\"\n />\n }\n <button\n type=\"button\"\n class=\"close-button btn btn-circle btn-sm btn-ghost element-cancel me-4\"\n [attr.aria-label]=\"closeButtonLabel() | translate\"\n [tabindex]=\"focusable() ? '0' : '-1'\"\n (click)=\"toggleSidePanel($event)\"\n ></button>\n <div class=\"collapse-toggle\">\n <button\n type=\"button\"\n class=\"side-panel-collapse-toggle btn btn-circle btn-sm btn-ghost mx-4\"\n [attr.aria-label]=\"toggleItemLabel() | translate\"\n (click)=\"toggleSidePanel($event)\"\n >\n <si-icon-next\n class=\"flip-rtl\"\n [class.badge-dot]=\"showMobileDrawerBadge()\"\n [icon]=\"isCollapsed() ? icons.elementDoubleLeft : icons.elementDoubleRight\"\n />\n </button>\n </div>\n</div>\n<div class=\"rpanel-wrapper d-flex flex-column\">\n @if (statusActions().length && focusable()) {\n <div class=\"rpanel-header rpanel-statusactions px-6\">\n @for (dp of statusActions(); track $index) {\n @if (!dp.disabled) {\n <a\n class=\"rpanel-statusaction position-relative focus-inside\"\n [attr.aria-label]=\"!isCollapsed ? '' : (dp.title | translate)\"\n [siLink]=\"dp\"\n >\n <si-icon-next class=\"icon\" [icon]=\"dp.icon!\" />\n @if (dp.overlayIcon) {\n <si-icon-next class=\"icon position-absolute\" [icon]=\"dp.overlayIcon\" />\n }\n <span class=\"ms-2 auto-hide\">{{ dp.title | translate }}</span>\n </a>\n }\n @if (dp.disabled) {\n <div class=\"rpanel-statusaction dot-outer\" aria-hidden=\"true\">\n <div class=\"dot text-muted text-center\">•</div>\n </div>\n }\n }\n </div>\n }\n @if (searchable() && focusable()) {\n <div class=\"nav-search px-6 auto-hide\">\n <si-search-bar\n #searchBar\n class=\"m-0\"\n colorVariant=\"base-0\"\n prohibitedCharacters=\"*?\"\n [placeholder]=\"searchPlaceholder() | translate\"\n [debounceTime]=\"400\"\n [showIcon]=\"true\"\n (searchChange)=\"searchEvent.emit($event)\"\n />\n </div>\n }\n @if (focusable()) {\n <div class=\"rpanel-content\">\n <ng-content />\n </div>\n }\n</div>\n","/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nimport { NgModule } from '@angular/core';\n\nimport { SiSidePanelContentComponent } from './si-side-panel-content.component';\nimport { SiSidePanelComponent } from './si-side-panel.component';\n\n@NgModule({\n imports: [SiSidePanelComponent, SiSidePanelContentComponent],\n exports: [SiSidePanelComponent, SiSidePanelContentComponent]\n})\nexport class SiSidePanelModule {}\n","/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\n\n/**\n * Side panel mode options.\n * - scroll: pushes content when side panel opens/closes,\n * - over: Opens as an overlay on existing content. Just like modal.\n */\nexport type SidePanelMode = 'scroll' | 'over';\n\n/**\n * Side panel size options.\n * - wide: 500px,\n * - regular: 390px\n */\nexport type SidePanelSize = 'wide' | 'regular';\n","/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nexport * from './si-side-panel.service';\nexport * from './si-side-panel.component';\nexport * from './si-side-panel-content.component';\nexport * from './si-side-panel.module';\nexport * from './side-panel.model';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"siemens-element-ng-side-panel.mjs","sources":["../../../../projects/element-ng/side-panel/si-side-panel.service.ts","../../../../projects/element-ng/side-panel/si-side-panel.component.ts","../../../../projects/element-ng/side-panel/si-side-panel.component.html","../../../../projects/element-ng/side-panel/si-side-panel-content.component.ts","../../../../projects/element-ng/side-panel/si-side-panel-content.component.html","../../../../projects/element-ng/side-panel/si-side-panel.module.ts","../../../../projects/element-ng/side-panel/side-panel.model.ts","../../../../projects/element-ng/side-panel/index.ts","../../../../projects/element-ng/side-panel/siemens-element-ng-side-panel.ts"],"sourcesContent":["/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nimport { Portal } from '@angular/cdk/portal';\nimport { Injectable, signal } from '@angular/core';\nimport { BehaviorSubject, EMPTY, Observable, Subject } from 'rxjs';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class SiSidePanelService {\n private contentSubject = new BehaviorSubject<Portal<any> | undefined>(undefined);\n /** @internal */\n readonly content$ = this.contentSubject.asObservable();\n\n private openSubject = new BehaviorSubject<boolean>(false);\n /**\n * Emits on side panel is open or close.\n *\n * @defaultValue this.openSubject.asObservable()\n */\n readonly isOpen$ = this.openSubject.asObservable();\n\n private tempContentSubject = new BehaviorSubject<Portal<any> | undefined>(undefined);\n /** @internal */\n readonly tempContent$ = this.tempContentSubject.asObservable();\n\n private tempContentClosed?: Subject<void>;\n /** @internal */\n readonly enableMobile = signal(false);\n /** Set or update displayed content. */\n setSidePanelContent(portal: Portal<any> | undefined): void {\n this.contentSubject.next(portal);\n }\n\n /** Open side panel. */\n open(): void {\n this.hideTemporaryContent();\n this.openSubject.next(true);\n }\n\n /** Close side panel. */\n close(): void {\n if (this.hideTemporaryContent()) {\n return;\n }\n this.openSubject.next(false);\n }\n\n /** Toggle side panel open/close. */\n toggle(): void {\n this.hideTemporaryContent();\n this.openSubject.next(!this.openSubject.value);\n }\n\n /** Indicate is side panel open. */\n isOpen(): boolean {\n return this.openSubject.value;\n }\n\n /**\n * Indicate that the side panel is open with temporary content.\n */\n isTemporaryOpen(): boolean {\n return !!this.tempContentSubject.value;\n }\n\n /** Show side panel temporary content, opening the side panel when necessary. */\n showTemporaryContent(portal: Portal<any> | undefined): Observable<void> {\n this.hideTemporaryContent();\n this.tempContentSubject.next(portal);\n\n if (portal) {\n this.tempContentClosed = new Subject();\n return this.tempContentClosed.asObservable();\n }\n return EMPTY;\n }\n\n /** Hide side panel temporary content, reverting to state before showing temporary content. */\n hideTemporaryContent(): boolean {\n if (!this.isTemporaryOpen()) {\n return false;\n }\n if (this.tempContentClosed) {\n const sub = this.tempContentClosed;\n this.tempContentClosed = undefined;\n sub.next();\n sub.complete();\n }\n this.tempContentSubject.next(undefined);\n return true;\n }\n}\n","/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nimport { CdkPortalOutlet, Portal, PortalModule } from '@angular/cdk/portal';\nimport { isPlatformBrowser } from '@angular/common';\nimport {\n booleanAttribute,\n ChangeDetectorRef,\n Component,\n computed,\n DestroyRef,\n DOCUMENT,\n ElementRef,\n inject,\n input,\n model,\n OnChanges,\n OnDestroy,\n OnInit,\n output,\n PLATFORM_ID,\n signal,\n SimpleChanges,\n viewChild\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport {\n BOOTSTRAP_BREAKPOINTS,\n Breakpoints,\n ElementDimensions,\n ResizeObserverService\n} from '@siemens/element-ng/resize-observer';\nimport { t } from '@siemens/element-translate-ng/translate';\nimport { Subject } from 'rxjs';\nimport { debounceTime } from 'rxjs/operators';\n\nimport { SiSidePanelService } from './si-side-panel.service';\nimport { SidePanelMode, SidePanelSize } from './side-panel.model';\n\n@Component({\n selector: 'si-side-panel',\n imports: [PortalModule],\n templateUrl: './si-side-panel.component.html',\n styleUrl: './si-side-panel.component.scss',\n host: {\n class: 'si-layout-inner',\n '[class.enable-mobile]': 'enableMobile()',\n '[class.rpanel-size--regular]': 'this.size() === \"regular\"',\n '[class.rpanel-size--wide]': 'this.size() === \"wide\"',\n '[class.rpanel-mode--over]': 'this.mode() === \"over\"',\n '[class.rpanel-mode--scroll]': 'isScrollMode()',\n '[class.rpanel-collapsed]': 'isCollapsed()',\n '[class.ready]': 'ready()',\n '[class.collapsible]': 'collapsible() && !this.showTempContent()',\n '[class.collapsible-temp]': 'collapsible() && this.showTempContent()',\n '[class.rpanel-hidden]': 'isHidden()',\n '[class.rpanel-resize-xs]': 'isXs()',\n '[class.rpanel-resize-sm]': 'isSm()',\n '[class.rpanel-resize-md]': 'isMd()',\n '[class.rpanel-resize-lg]': 'isLg()',\n '[class.rpanel-resize-xl]': 'isXl()'\n }\n})\nexport class SiSidePanelComponent implements OnInit, OnDestroy, OnChanges {\n /**\n * @defaultValue false\n */\n readonly collapsible = input(false, { transform: booleanAttribute });\n\n /**\n * Default state of navigation\n */\n readonly collapsed = model<boolean>();\n\n /**\n * Mode of side panel\n * (ignored below a certain width)\n *\n * @defaultValue 'over'\n */\n readonly mode = input<SidePanelMode>('over');\n\n /**\n * Size of side-panel\n *\n * @defaultValue 'regular'\n */\n readonly size = input<SidePanelSize>('regular');\n\n /**\n * Toggle icon aria-label, required for a11y\n *\n * @defaultValue\n * ```\n * t(() => $localize`:@@SI_SIDE_PANEL.TOGGLE:Toggle`)\n * ```\n */\n readonly toggleItemLabel = input(t(() => $localize`:@@SI_SIDE_PANEL.TOGGLE:Toggle`));\n\n /**\n * Specifies custom breakpoints to automatically switch mode.\n * The `smMinimum` specifies the breakpoint for the mobile view.\n * The `lgMinimum` specifies the breakpoint to allow scroll mode\n * (below automatically uses over mode).\n * The `xlMinimum` specifies the breakpoint to allow scroll mode\n * with wide size (below automatically uses over mode).\n */\n readonly breakpoints = input<Breakpoints>();\n\n /**\n * Enable mobile drawer for small screen sizes. Should not be used in conjunction with the vertical navbar.\n *\n * @defaultValue false\n */\n readonly enableMobile = input(false, { transform: booleanAttribute });\n\n /**\n * Emits when the panel is closed\n */\n readonly closed = output();\n\n /**\n * Emits whenever the content is resized due to opening and closing or parent resize.\n */\n readonly contentResize = output<ElementDimensions>();\n\n protected readonly isScrollMode = computed(() => this.mode() === 'scroll');\n\n protected readonly isXs = signal(false);\n protected readonly isSm = signal(false);\n protected readonly isMd = signal(true);\n protected readonly isLg = signal(false);\n protected readonly isXl = signal(false);\n protected readonly isCollapsed = signal(false);\n protected readonly ready = signal(false);\n protected readonly isHidden = signal(false);\n protected readonly showTempContent = signal(false);\n\n private readonly panelElement = viewChild.required<ElementRef>('sidePanel');\n private readonly contentElement = viewChild.required<ElementRef>('content');\n private readonly portalOutlet = viewChild.required<CdkPortalOutlet, CdkPortalOutlet>(\n 'portalOutlet',\n {\n read: CdkPortalOutlet\n }\n );\n private readonly tmpPortalOutlet = viewChild.required<CdkPortalOutlet, CdkPortalOutlet>(\n 'tmpPortalOutlet',\n {\n read: CdkPortalOutlet\n }\n );\n\n /**\n * The $rpanel-transition-duration in the style is 0.5 seconds.\n * Sending the resize event after resize need to wait until resize is done.\n */\n private readonly resizeEventDelay = 500;\n private resizeEvent = new Subject<void>();\n private openingOrClosing = false;\n private previousContentDimensions: ElementDimensions = { width: 0, height: 0 };\n private isCollapsedInternal = false; // same as the other one, except w/o timeout for animation\n private readonly isBrowser = isPlatformBrowser(inject(PLATFORM_ID));\n private readonly element = inject(ElementRef);\n private readonly resizeObserver = inject(ResizeObserverService);\n private readonly service = inject(SiSidePanelService);\n private readonly cdRef = inject(ChangeDetectorRef);\n private readonly destroyRef = inject(DestroyRef);\n private readonly document = inject(DOCUMENT);\n\n constructor() {\n if (this.isBrowser) {\n this.resizeEvent\n .asObservable()\n .pipe(takeUntilDestroyed(this.destroyRef), debounceTime(this.resizeEventDelay))\n .subscribe(() => {\n this.openingOrClosing = false;\n this.emitResizeOutputs();\n if (this.isCollapsedInternal && !this.collapsible()) {\n this.isHidden.set(true);\n }\n });\n }\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes.collapsed) {\n if (this.collapsed()) {\n this.service.close();\n } else {\n this.service.open();\n }\n } else if (changes.enableMobile) {\n this.service.enableMobile.set(this.enableMobile());\n }\n }\n\n ngOnInit(): void {\n // handle initial state to avoid flicker\n const collapsed = this.collapsed() ?? !this.service.isOpen();\n this.isCollapsedInternal = collapsed;\n this.isHidden.set(collapsed);\n this.isCollapsed.set(collapsed);\n\n this.resizeObserver\n .observe(this.element.nativeElement, 100, true)\n .pipe(takeUntilDestroyed(this.destroyRef))\n .subscribe(dim => {\n this.setBreakpoints(dim.width, dim.height);\n if (!this.ready()) {\n // delay because the initial sizing needs to settle\n setTimeout(() => {\n this.ready.set(true);\n }, 100);\n }\n if (!this.openingOrClosing) {\n this.emitResizeOutputs();\n }\n });\n\n this.service.content$\n .pipe(takeUntilDestroyed(this.destroyRef))\n .subscribe(portal => this.attachContent(portal));\n\n this.service.tempContent$\n .pipe(takeUntilDestroyed(this.destroyRef))\n .subscribe(portal => this.attachTempContent(portal));\n\n this.service.isOpen$\n .pipe(takeUntilDestroyed(this.destroyRef))\n .subscribe(state => this.openClose(state));\n }\n\n ngOnDestroy(): void {\n this.portalOutlet().detach();\n }\n /**\n * Toggle whether the side panel is expanded or not.\n */\n toggleSidePanel(): void {\n if (this.collapsible()) {\n this.service.toggle();\n } else {\n this.service.close();\n }\n }\n\n private emitResizeOutputs(): void {\n const contentDimensions = this.getContentDimensions();\n if (\n contentDimensions.width !== this.previousContentDimensions.width ||\n contentDimensions.height !== this.previousContentDimensions.height\n ) {\n this.previousContentDimensions = contentDimensions;\n this.contentResize.emit(contentDimensions);\n }\n }\n\n private getContentDimensions(): ElementDimensions {\n if (!this.isCollapsedInternal && this.isXs()) {\n return { width: 0, height: 0 };\n }\n const rect = this.contentElement().nativeElement.getBoundingClientRect();\n return { width: rect.width, height: rect.height };\n }\n\n private setBreakpoints(width: number, height: number): void {\n if (!width && !height) {\n // element is not visible, no point in changing anything\n return;\n }\n const breakpoints = this.breakpoints() ?? BOOTSTRAP_BREAKPOINTS;\n\n this.isXs.set(width < breakpoints.smMinimum);\n this.isSm.set(width >= breakpoints.smMinimum && width < breakpoints.mdMinimum);\n this.isMd.set(width >= breakpoints.mdMinimum && width < breakpoints.lgMinimum);\n this.isLg.set(width >= breakpoints.lgMinimum && width < breakpoints.xlMinimum);\n this.isXl.set(width >= breakpoints.xlMinimum);\n }\n\n private sendResize(): void {\n if (this.isScrollMode() || this.element.nativeElement.style.paddingRight !== '0') {\n this.openingOrClosing = true;\n this.resizeEvent.next();\n }\n }\n\n private attachContent(portal?: Portal<any>): void {\n const portalOutlet = this.portalOutlet();\n portalOutlet.detach();\n if (portal) {\n portalOutlet.attach(portal);\n }\n this.cdRef.markForCheck();\n }\n\n private attachTempContent(portal: Portal<any> | undefined): void {\n const tmpPortalOutlet = this.tmpPortalOutlet();\n tmpPortalOutlet.detach();\n if (portal) {\n tmpPortalOutlet.attach(portal);\n this.showTempContent.set(true);\n this.openClose(true, true);\n } else if (this.showTempContent()) {\n this.showTempContent.set(false);\n this.openClose(this.service.isOpen(), true);\n }\n }\n\n private openClose(open: boolean, regainFocus = false): void {\n if (open !== this.isCollapsedInternal) {\n this.moveFocusInside(open && regainFocus);\n return;\n }\n this.isCollapsedInternal = !open;\n if (open) {\n this.isHidden.set(false);\n }\n setTimeout(() => this.doOpenClose(open));\n }\n\n private doOpenClose(open: boolean): void {\n this.moveFocusInside(open);\n this.isCollapsed.set(!open);\n this.collapsed.set(this.isCollapsed());\n if (this.isCollapsedInternal) {\n this.closed.emit();\n }\n this.sendResize();\n }\n\n private moveFocusInside(open: boolean): void {\n if (\n open &&\n !this.document.activeElement?.parentElement?.classList.contains(\n 'side-panel-collapse-toggle'\n ) &&\n !this.document.activeElement?.classList.contains('side-panel-collapse-toggle')\n ) {\n // moves the keyboard focus inside the panel so that the next tab is somewhere useful\n this.panelElement().nativeElement.focus();\n queueMicrotask(() => this.panelElement().nativeElement.blur());\n }\n }\n}\n","<div #sidePanel class=\"side-panel focus-none\" tabindex=\"-1\">\n <div class=\"inner\" [class.d-none]=\"showTempContent()\">\n <ng-content select=\"si-side-panel-content, element-side-panel-content\" />\n <ng-container #portalOutlet cdkPortalOutlet />\n </div>\n <div class=\"inner\" [class.d-none]=\"!showTempContent()\">\n <ng-container #tmpPortalOutlet cdkPortalOutlet />\n </div>\n</div>\n<div #content class=\"main-content si-layout-inner\">\n <ng-content />\n</div>\n","/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nimport { BreakpointObserver } from '@angular/cdk/layout';\nimport {\n booleanAttribute,\n Component,\n computed,\n DestroyRef,\n inject,\n input,\n OnInit,\n output,\n signal\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { SiAccordionHCollapseService } from '@siemens/element-ng/accordion';\nimport { MenuItem as MenuItemLegacy } from '@siemens/element-ng/common';\nimport {\n ContentActionBarMainItem,\n SiContentActionBarComponent\n} from '@siemens/element-ng/content-action-bar';\nimport {\n addIcons,\n elementDoubleLeft,\n elementDoubleRight,\n SiIconNextComponent\n} from '@siemens/element-ng/icon';\nimport { SiLinkDirective } from '@siemens/element-ng/link';\nimport { MenuItem } from '@siemens/element-ng/menu';\nimport { BOOTSTRAP_BREAKPOINTS } from '@siemens/element-ng/resize-observer';\nimport { SiSearchBarComponent } from '@siemens/element-ng/search-bar';\nimport { SiTranslatePipe, t, TranslatableString } from '@siemens/element-translate-ng/translate';\n\nimport { SiSidePanelService } from './si-side-panel.service';\n\n/**\n * An extension of MenuItem to support combined icons\n */\nexport interface StatusItem extends MenuItemLegacy {\n overlayIcon?: string;\n}\n\n@Component({\n selector: 'si-side-panel-content',\n imports: [\n SiContentActionBarComponent,\n SiIconNextComponent,\n SiLinkDirective,\n SiSearchBarComponent,\n SiTranslatePipe\n ],\n templateUrl: './si-side-panel-content.component.html',\n styleUrl: './si-side-panel-content.component.scss',\n providers: [SiAccordionHCollapseService],\n host: {\n '[class.collapsed]': 'isCollapsed()',\n '[class.expanded]': 'isExpanded()',\n '[class.enable-mobile]': 'enableMobile()'\n }\n})\nexport class SiSidePanelContentComponent implements OnInit {\n /**\n * @defaultValue false\n */\n readonly collapsible = input(false, { transform: booleanAttribute });\n\n /**\n * Header of side panel\n *\n * @defaultValue ''\n */\n readonly heading = input<TranslatableString>('');\n\n /**\n * Input list of primary action items\n *\n * @defaultValue []\n */\n readonly primaryActions = input<(MenuItemLegacy | ContentActionBarMainItem)[]>([]);\n\n /**\n * Input list of secondary action items.\n *\n * @defaultValue []\n */\n readonly secondaryActions = input<(MenuItemLegacy | MenuItem)[]>([]);\n\n /**\n * Status icons/actions\n *\n * @defaultValue []\n */\n readonly statusActions = input<StatusItem[]>([]);\n\n /**\n * Toggles search bar\n *\n * @defaultValue false\n */\n readonly searchable = input(false, { transform: booleanAttribute });\n\n /**\n * Placeholder text for search\n *\n * @defaultValue\n * ```\n * t(() => $localize`:@@SI_SIDE_PANEL.SEARCH_PLACEHOLDER:Search...`)\n * ```\n */\n readonly searchPlaceholder = input(\n t(() => $localize`:@@SI_SIDE_PANEL.SEARCH_PLACEHOLDER:Search...`)\n );\n\n /**\n * Aria label for close button. Needed for a11y\n *\n * @defaultValue\n * ```\n * t(() => $localize`:@@SI_SIDE_PANEL.CLOSE:Close`)\n * ```\n */\n readonly closeButtonLabel = input(t(() => $localize`:@@SI_SIDE_PANEL.CLOSE:Close`));\n\n /**\n * Toggle icon aria-label, required for a11y\n *\n * @defaultValue\n * ```\n * t(() => $localize`:@@SI_SIDE_PANEL.TOGGLE:Toggle`)\n * ```\n */\n readonly toggleItemLabel = input(t(() => $localize`:@@SI_SIDE_PANEL.TOGGLE:Toggle`));\n\n /**\n * Show a badge on the mobile drawer indicating a new alert or notification\n *\n * @defaultValue false\n */\n readonly showMobileDrawerBadge = input(false, { transform: booleanAttribute });\n\n /**\n * Output for search bar input\n */\n readonly searchEvent = output<string>();\n\n protected readonly isCollapsed = signal(false);\n protected readonly isExpanded = signal(true);\n protected readonly enableMobile = computed(() => this.service?.enableMobile() ?? false);\n protected readonly mobileSize = signal(false);\n protected readonly focusable = computed(\n () => !this.mobileSize() || !this.enableMobile() || !this.isCollapsed()\n );\n protected readonly icons = addIcons({ elementDoubleLeft, elementDoubleRight });\n /**\n * The $rpanel-transition-duration in the style is 0.5 seconds.\n * For the animation we need to wait until the resize is done.\n */\n private readonly resizeAnimationDelay = 500;\n private readonly destroyRef = inject(DestroyRef);\n private readonly service = inject(SiSidePanelService);\n private readonly breakpointObserver = inject(BreakpointObserver);\n\n private expandedTimeout: any;\n\n constructor() {\n const accordionHcollapse = inject(SiAccordionHCollapseService);\n this.service.isOpen$.pipe(takeUntilDestroyed(this.destroyRef)).subscribe(state => {\n this.isCollapsed.set(!state);\n clearTimeout(this.expandedTimeout);\n this.expandedTimeout = undefined;\n if (!state) {\n this.isExpanded.set(false);\n } else {\n this.expandedTimeout = setTimeout(() => {\n this.isExpanded.set(true);\n }, this.resizeAnimationDelay / 2);\n }\n accordionHcollapse.hcollapsed.set(!state);\n });\n accordionHcollapse.open$\n .pipe(takeUntilDestroyed(this.destroyRef))\n .subscribe(() => this.service.open());\n }\n\n ngOnInit(): void {\n this.breakpointObserver\n .observe('(max-width: ' + BOOTSTRAP_BREAKPOINTS.smMinimum + 'px)')\n .pipe(takeUntilDestroyed(this.destroyRef))\n .subscribe(({ matches }) => {\n this.mobileSize.set(matches);\n });\n }\n\n protected toggleSidePanel(event?: MouseEvent): void {\n if (event?.detail !== 0) {\n // Blur except if triggered by keyboard\n (document?.activeElement as HTMLElement)?.blur();\n }\n if (this.service.isTemporaryOpen()) {\n this.service.hideTemporaryContent();\n } else {\n this.service.toggle();\n }\n }\n}\n","<div class=\"rpanel-header pt-5\">\n <p class=\"si-title-2 my-0 ms-6 auto-hide text-truncate\">{{ heading() | translate }}</p>\n @if ((primaryActions().length || secondaryActions().length) && focusable()) {\n <si-content-action-bar\n class=\"auto-hide ms-auto\"\n viewType=\"expanded\"\n [primaryActions]=\"primaryActions()\"\n [secondaryActions]=\"secondaryActions()\"\n [toggleItemLabel]=\"toggleItemLabel()\"\n />\n }\n <button\n type=\"button\"\n class=\"close-button btn btn-circle btn-sm btn-ghost element-cancel me-4\"\n [attr.aria-label]=\"closeButtonLabel() | translate\"\n [tabindex]=\"focusable() ? '0' : '-1'\"\n (click)=\"toggleSidePanel($event)\"\n ></button>\n <div class=\"collapse-toggle\">\n <button\n type=\"button\"\n class=\"side-panel-collapse-toggle btn btn-circle btn-sm btn-ghost mx-4\"\n [attr.aria-label]=\"toggleItemLabel() | translate\"\n (click)=\"toggleSidePanel($event)\"\n >\n <si-icon-next\n class=\"flip-rtl\"\n [class.badge-dot]=\"showMobileDrawerBadge()\"\n [icon]=\"isCollapsed() ? icons.elementDoubleLeft : icons.elementDoubleRight\"\n />\n </button>\n </div>\n</div>\n<div class=\"rpanel-wrapper d-flex flex-column\">\n @if (statusActions().length && focusable()) {\n <div class=\"rpanel-header rpanel-statusactions px-6\">\n @for (dp of statusActions(); track $index) {\n @if (!dp.disabled) {\n <a\n class=\"rpanel-statusaction position-relative focus-inside\"\n [attr.aria-label]=\"!isCollapsed ? '' : (dp.title | translate)\"\n [siLink]=\"dp\"\n >\n <si-icon-next class=\"icon\" [icon]=\"dp.icon!\" />\n @if (dp.overlayIcon) {\n <si-icon-next class=\"icon position-absolute\" [icon]=\"dp.overlayIcon\" />\n }\n <span class=\"ms-2 auto-hide\">{{ dp.title | translate }}</span>\n </a>\n }\n @if (dp.disabled) {\n <div class=\"rpanel-statusaction dot-outer\" aria-hidden=\"true\">\n <div class=\"dot text-muted text-center\">•</div>\n </div>\n }\n }\n </div>\n }\n @if (searchable() && focusable()) {\n <div class=\"nav-search px-6 auto-hide\">\n <si-search-bar\n #searchBar\n class=\"m-0\"\n colorVariant=\"base-0\"\n prohibitedCharacters=\"*?\"\n [placeholder]=\"searchPlaceholder() | translate\"\n [debounceTime]=\"400\"\n [showIcon]=\"true\"\n (searchChange)=\"searchEvent.emit($event)\"\n />\n </div>\n }\n @if (focusable()) {\n <div class=\"rpanel-content\">\n <ng-content />\n </div>\n }\n</div>\n","/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nimport { NgModule } from '@angular/core';\n\nimport { SiSidePanelContentComponent } from './si-side-panel-content.component';\nimport { SiSidePanelComponent } from './si-side-panel.component';\n\n@NgModule({\n imports: [SiSidePanelComponent, SiSidePanelContentComponent],\n exports: [SiSidePanelComponent, SiSidePanelContentComponent]\n})\nexport class SiSidePanelModule {}\n","/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\n\n/**\n * Side panel mode options.\n * - scroll: pushes content when side panel opens/closes,\n * - over: Opens as an overlay on existing content. Just like modal.\n */\nexport type SidePanelMode = 'scroll' | 'over';\n\n/**\n * Side panel size options.\n * - wide: 500px,\n * - regular: 390px\n */\nexport type SidePanelSize = 'wide' | 'regular';\n","/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nexport * from './si-side-panel.service';\nexport * from './si-side-panel.component';\nexport * from './si-side-panel-content.component';\nexport * from './si-side-panel.module';\nexport * from './side-panel.model';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { input, ChangeDetectionStrategy, Component, inject, ApplicationRef, EnvironmentInjector, createComponent, Injectable, ElementRef, Directive } from '@angular/core';
|
|
3
|
-
import {
|
|
4
|
-
import { SiTranslatePipe } from '@siemens/element-translate-ng/translate';
|
|
2
|
+
import { input, ChangeDetectionStrategy, Component, inject, ApplicationRef, EnvironmentInjector, DOCUMENT, createComponent, Injectable, ElementRef, Directive } from '@angular/core';
|
|
3
|
+
import { t, SiTranslatePipe } from '@siemens/element-translate-ng/translate';
|
|
5
4
|
|
|
6
5
|
/**
|
|
7
6
|
* Copyright (c) Siemens 2016 - 2025
|
|
@@ -10,11 +9,11 @@ import { SiTranslatePipe } from '@siemens/element-translate-ng/translate';
|
|
|
10
9
|
class SiSkipLinksComponent {
|
|
11
10
|
/** @defaultValue [] */
|
|
12
11
|
skipLinks = input([]);
|
|
13
|
-
jumpToLabel = $localize `:@@SI_SKIP_LINKS.JUMP_TO:Jump to {{link}}
|
|
14
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
15
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
12
|
+
jumpToLabel = t(() => $localize `:@@SI_SKIP_LINKS.JUMP_TO:Jump to {{link}}`);
|
|
13
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: SiSkipLinksComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
14
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.6", type: SiSkipLinksComponent, isStandalone: true, selector: "si-skip-links", inputs: { skipLinks: { classPropertyName: "skipLinks", publicName: "skipLinks", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "@for (link of skipLinks(); track link) {\n <div class=\"skip-link-wrapper\">\n <button\n type=\"button\"\n role=\"link\"\n class=\"skip-link btn btn-secondary\"\n (click)=\"link.jumpToThisTarget()\"\n >\n <span class=\"text-nowrap\">\n {{ jumpToLabel | translate: { link: link.name() | translate } }}\n </span>\n </button>\n </div>\n}\n", styles: [".skip-link-wrapper:focus-within{position:absolute;z-index:1060;inset-block-start:8px;inset-inline-start:50%;transform:translate(-50%)}.skip-link-wrapper:not(:focus-within){inline-size:1px;block-size:1px;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{background:var(--element-base-0);border-color:var(--element-base-1)}\n"], dependencies: [{ kind: "pipe", type: SiTranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
16
15
|
}
|
|
17
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
16
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: SiSkipLinksComponent, decorators: [{
|
|
18
17
|
type: Component,
|
|
19
18
|
args: [{ selector: 'si-skip-links', imports: [SiTranslatePipe], changeDetection: ChangeDetectionStrategy.OnPush, template: "@for (link of skipLinks(); track link) {\n <div class=\"skip-link-wrapper\">\n <button\n type=\"button\"\n role=\"link\"\n class=\"skip-link btn btn-secondary\"\n (click)=\"link.jumpToThisTarget()\"\n >\n <span class=\"text-nowrap\">\n {{ jumpToLabel | translate: { link: link.name() | translate } }}\n </span>\n </button>\n </div>\n}\n", styles: [".skip-link-wrapper:focus-within{position:absolute;z-index:1060;inset-block-start:8px;inset-inline-start:50%;transform:translate(-50%)}.skip-link-wrapper:not(:focus-within){inline-size:1px;block-size:1px;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{background:var(--element-base-0);border-color:var(--element-base-1)}\n"] }]
|
|
20
19
|
}] });
|
|
@@ -55,10 +54,10 @@ class SkipLinkService {
|
|
|
55
54
|
this.appRef.attachView(this.skipLinksComponentRef.hostView);
|
|
56
55
|
this.document.body.insertBefore(this.skipLinksComponentRef.location.nativeElement, this.document.body.children.item(0));
|
|
57
56
|
}
|
|
58
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
59
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
57
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: SkipLinkService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
58
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: SkipLinkService, providedIn: 'root' });
|
|
60
59
|
}
|
|
61
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
60
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: SkipLinkService, decorators: [{
|
|
62
61
|
type: Injectable,
|
|
63
62
|
args: [{
|
|
64
63
|
providedIn: 'root'
|
|
@@ -93,10 +92,10 @@ class SiSkipLinkTargetDirective {
|
|
|
93
92
|
this.elementRef.nativeElement.scrollIntoView({ block: 'nearest', inline: 'nearest' });
|
|
94
93
|
this.elementRef.nativeElement.focus();
|
|
95
94
|
}
|
|
96
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
97
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "
|
|
95
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: SiSkipLinkTargetDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
96
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.0.6", type: SiSkipLinkTargetDirective, isStandalone: true, selector: "[siSkipLinkTarget]", inputs: { name: { classPropertyName: "name", publicName: "siSkipLinkTarget", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0 });
|
|
98
97
|
}
|
|
99
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
98
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: SiSkipLinkTargetDirective, decorators: [{
|
|
100
99
|
type: Directive,
|
|
101
100
|
args: [{
|
|
102
101
|
selector: '[siSkipLinkTarget]'
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"siemens-element-ng-skip-links.mjs","sources":["../../../../projects/element-ng/skip-links/si-skip-links.component.ts","../../../../projects/element-ng/skip-links/si-skip-links.component.html","../../../../projects/element-ng/skip-links/skip-link.service.ts","../../../../projects/element-ng/skip-links/si-skip-link-target.directive.ts","../../../../projects/element-ng/skip-links/index.ts","../../../../projects/element-ng/skip-links/siemens-element-ng-skip-links.ts"],"sourcesContent":["/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nimport { ChangeDetectionStrategy, Component, input } from '@angular/core';\nimport { SiTranslatePipe } from '@siemens/element-translate-ng/translate';\n\nimport { SiSkipLinkTargetDirective } from './si-skip-link-target.directive';\n\n@Component({\n selector: 'si-skip-links',\n imports: [SiTranslatePipe],\n templateUrl: './si-skip-links.component.html',\n styleUrl: './si-skip-links.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class SiSkipLinksComponent {\n /** @defaultValue [] */\n readonly skipLinks = input<readonly SiSkipLinkTargetDirective[]>([]);\n\n protected jumpToLabel = $localize`:@@SI_SKIP_LINKS.JUMP_TO:Jump to {{link}}
|
|
1
|
+
{"version":3,"file":"siemens-element-ng-skip-links.mjs","sources":["../../../../projects/element-ng/skip-links/si-skip-links.component.ts","../../../../projects/element-ng/skip-links/si-skip-links.component.html","../../../../projects/element-ng/skip-links/skip-link.service.ts","../../../../projects/element-ng/skip-links/si-skip-link-target.directive.ts","../../../../projects/element-ng/skip-links/index.ts","../../../../projects/element-ng/skip-links/siemens-element-ng-skip-links.ts"],"sourcesContent":["/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nimport { ChangeDetectionStrategy, Component, input } from '@angular/core';\nimport { SiTranslatePipe, t } from '@siemens/element-translate-ng/translate';\n\nimport { SiSkipLinkTargetDirective } from './si-skip-link-target.directive';\n\n@Component({\n selector: 'si-skip-links',\n imports: [SiTranslatePipe],\n templateUrl: './si-skip-links.component.html',\n styleUrl: './si-skip-links.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class SiSkipLinksComponent {\n /** @defaultValue [] */\n readonly skipLinks = input<readonly SiSkipLinkTargetDirective[]>([]);\n\n protected jumpToLabel = t(() => $localize`:@@SI_SKIP_LINKS.JUMP_TO:Jump to {{link}}`);\n}\n","@for (link of skipLinks(); track link) {\n <div class=\"skip-link-wrapper\">\n <button\n type=\"button\"\n role=\"link\"\n class=\"skip-link btn btn-secondary\"\n (click)=\"link.jumpToThisTarget()\"\n >\n <span class=\"text-nowrap\">\n {{ jumpToLabel | translate: { link: link.name() | translate } }}\n </span>\n </button>\n </div>\n}\n","/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nimport {\n ApplicationRef,\n ComponentRef,\n createComponent,\n EnvironmentInjector,\n inject,\n Injectable,\n DOCUMENT\n} from '@angular/core';\n\nimport { SiSkipLinkTargetDirective } from './si-skip-link-target.directive';\nimport { SiSkipLinksComponent } from './si-skip-links.component';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class SkipLinkService {\n private skipLinksComponentRef?: ComponentRef<SiSkipLinksComponent>;\n private appRef = inject(ApplicationRef);\n private environmentInjector = inject(EnvironmentInjector);\n private document = inject(DOCUMENT);\n private registeredTargets: SiSkipLinkTargetDirective[] = [];\n\n registerLink(skipLink: SiSkipLinkTargetDirective): void {\n if (!this.skipLinksComponentRef) {\n this.createSkipLinksComponent();\n }\n\n this.registeredTargets.push(skipLink);\n this.skipLinksComponentRef!.setInput('skipLinks', this.registeredTargets);\n this.skipLinksComponentRef!.changeDetectorRef.markForCheck();\n }\n\n unregisterLink(skipLink: SiSkipLinkTargetDirective): void {\n this.registeredTargets.splice(this.registeredTargets.indexOf(skipLink), 1);\n\n if (this.registeredTargets.length && this.skipLinksComponentRef) {\n this.skipLinksComponentRef.setInput('skipLinks', this.registeredTargets);\n this.skipLinksComponentRef.changeDetectorRef.markForCheck();\n } else {\n this.skipLinksComponentRef?.destroy();\n this.skipLinksComponentRef = undefined;\n }\n }\n\n private createSkipLinksComponent(): void {\n this.skipLinksComponentRef = createComponent(SiSkipLinksComponent, {\n environmentInjector: this.environmentInjector\n });\n\n this.appRef.attachView(this.skipLinksComponentRef.hostView);\n this.document.body.insertBefore(\n this.skipLinksComponentRef.location.nativeElement,\n this.document.body.children.item(0)\n );\n }\n}\n","/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nimport { Directive, ElementRef, inject, input, OnDestroy, OnInit } from '@angular/core';\nimport { TranslatableString } from '@siemens/element-translate-ng/translate';\n\nimport { SkipLinkService } from './skip-link.service';\n\n/**\n * Directive to mark an element as a target for a skip link.\n * If this directive is applied to a none interactive element, a tabindex of -1 must be added manually.\n */\n@Directive({\n selector: '[siSkipLinkTarget]'\n})\nexport class SiSkipLinkTargetDirective implements OnInit, OnDestroy {\n /**\n * The name of the skip link target which will be shown in the skip link.\n */\n readonly name = input.required<TranslatableString>({ alias: 'siSkipLinkTarget' });\n\n private skipLinkService = inject(SkipLinkService);\n private elementRef = inject<ElementRef<HTMLElement>>(ElementRef);\n\n ngOnInit(): void {\n this.skipLinkService.registerLink(this);\n }\n\n ngOnDestroy(): void {\n this.skipLinkService.unregisterLink(this);\n }\n\n /**\n * Call this methode to \"activate\" a skip link target. It will focus this element and scroll it into the view.\n */\n jumpToThisTarget(): void {\n this.elementRef.nativeElement.scrollIntoView({ block: 'nearest', inline: 'nearest' });\n this.elementRef.nativeElement.focus();\n }\n}\n","/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nexport * from './si-skip-link-target.directive';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|