@fundamental-ngx/core 0.49.1 → 0.49.2
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/avatar-group-legacy/avatar-group-legacy.component.d.ts +6 -6
- package/avatar-group-legacy/directives/avatar-group-legacy-overflow-body.directive.d.ts +2 -2
- package/avatar-group-legacy/directives/avatar-group-legacy-overflow-button.directive.d.ts +2 -2
- package/bar/bar.component.d.ts +6 -6
- package/bar/button-bar/button-bar.component.d.ts +4 -4
- package/calendar/calendar-header/calendar-header.component.d.ts +2 -2
- package/card/card-content.component.d.ts +2 -2
- package/card/card-counter.directive.d.ts +2 -2
- package/card/card-header.component.d.ts +6 -6
- package/card/card-loader.component.d.ts +2 -2
- package/card/card-second-subtitle.directive.d.ts +2 -2
- package/card/card-subtitle.directive.d.ts +2 -2
- package/card/card-title.directive.d.ts +2 -2
- package/card/card.component.d.ts +3 -3
- package/card/kpi/card-kpi-analytics-content.directive.d.ts +2 -2
- package/card/kpi/card-kpi-analytics-label.directive.d.ts +2 -2
- package/card/kpi/card-kpi-analytics.directive.d.ts +2 -2
- package/card/kpi/card-kpi-header.component.d.ts +2 -2
- package/card/kpi/card-kpi-scale-icon.directive.d.ts +2 -2
- package/card/kpi/card-kpi-scale-text.directive.d.ts +2 -2
- package/card/kpi/card-kpi-value.directive.d.ts +4 -4
- package/checkbox/checkbox/checkbox.component.d.ts +3 -5
- package/content-density/providers/url-content-density-storage.d.ts +4 -4
- package/content-density/services/content-density-observer.service.d.ts +15 -15
- package/datetime/datetime-adapter.d.ts +9 -2
- package/datetime/fd-date.d.ts +10 -14
- package/datetime/fd-datetime-adapter.d.ts +2 -2
- package/dialog/base/dialog-base.class.d.ts +2 -2
- package/dialog/base/dialog-header-base.class.d.ts +4 -4
- package/dialog/base/dialog-ref-base.class.d.ts +6 -4
- package/dynamic-side-content/dynamic-side-content.component.d.ts +4 -4
- package/esm2022/avatar-group-legacy/avatar-group-legacy.component.mjs +15 -15
- package/esm2022/avatar-group-legacy/directives/avatar-group-legacy-overflow-body.directive.mjs +12 -12
- package/esm2022/avatar-group-legacy/directives/avatar-group-legacy-overflow-button.directive.mjs +9 -9
- package/esm2022/bar/bar.component.mjs +13 -13
- package/esm2022/bar/button-bar/button-bar.component.mjs +3 -3
- package/esm2022/calendar/calendar-header/calendar-header.component.mjs +1 -1
- package/esm2022/card/card-content.component.mjs +5 -5
- package/esm2022/card/card-counter.directive.mjs +6 -6
- package/esm2022/card/card-header.component.mjs +5 -5
- package/esm2022/card/card-loader.component.mjs +5 -5
- package/esm2022/card/card-second-subtitle.directive.mjs +5 -5
- package/esm2022/card/card-subtitle.directive.mjs +5 -5
- package/esm2022/card/card-title.directive.mjs +5 -5
- package/esm2022/card/card.component.mjs +5 -5
- package/esm2022/card/kpi/card-kpi-analytics-content.directive.mjs +5 -5
- package/esm2022/card/kpi/card-kpi-analytics-label.directive.mjs +5 -5
- package/esm2022/card/kpi/card-kpi-analytics.directive.mjs +5 -5
- package/esm2022/card/kpi/card-kpi-header.component.mjs +5 -5
- package/esm2022/card/kpi/card-kpi-scale-icon.directive.mjs +5 -5
- package/esm2022/card/kpi/card-kpi-scale-text.directive.mjs +5 -5
- package/esm2022/card/kpi/card-kpi-value.directive.mjs +5 -5
- package/esm2022/checkbox/checkbox/checkbox.component.mjs +1 -1
- package/esm2022/combobox/combobox.component.mjs +2 -2
- package/esm2022/content-density/providers/url-content-density-storage.mjs +11 -11
- package/esm2022/content-density/services/content-density-observer.service.mjs +7 -16
- package/esm2022/datetime/datetime-adapter.mjs +4 -2
- package/esm2022/datetime/fd-date.mjs +34 -27
- package/esm2022/datetime/fd-datetime-adapter.mjs +1 -1
- package/esm2022/dialog/base/dialog-base.class.mjs +1 -1
- package/esm2022/dialog/base/dialog-header-base.class.mjs +1 -1
- package/esm2022/dialog/base/dialog-ref-base.class.mjs +4 -8
- package/esm2022/dynamic-side-content/dynamic-side-content.component.mjs +9 -9
- package/esm2022/feed-input/directives/feed-input-avatar.directive.mjs +5 -5
- package/esm2022/feed-list-item/components/list/feed-list.component.mjs +15 -15
- package/esm2022/file-uploader/directives/file-uploader-select.directive.mjs +1 -1
- package/esm2022/file-uploader/file-uploader.component.mjs +5 -5
- package/esm2022/fixed-card-layout/fixed-card-layout-item/fixed-card-layout-item.component.mjs +3 -3
- package/esm2022/form/form-group/form-group.component.mjs +8 -8
- package/esm2022/form/form-message/form-message.component.mjs +9 -9
- package/esm2022/grid-list/components/grid-list/grid-list.component.mjs +2 -3
- package/esm2022/grid-list/components/grid-list-item/grid-list-item.component.mjs +3 -3
- package/esm2022/illustrated-message/illustrated-message.component.mjs +10 -10
- package/esm2022/input-group/input-group-directives.mjs +22 -22
- package/esm2022/layout-grid/directives/layout-grid-col.directive.mjs +9 -9
- package/esm2022/layout-grid/layout-grid.component.mjs +9 -9
- package/esm2022/layout-panel/layout-panel-footer/layout-panel-footer.component.mjs +9 -9
- package/esm2022/list/list-item/list-item.component.mjs +20 -17
- package/esm2022/list/list-message.directive.mjs +9 -9
- package/esm2022/menu/directives/segmented-button/segmented-button-header.directive.mjs +1 -2
- package/esm2022/menu/directives/toggle-button.directive.mjs +1 -2
- package/esm2022/message-box/message-box.component.mjs +17 -17
- package/esm2022/message-page/message-page.component.mjs +5 -5
- package/esm2022/message-strip/alert/message-strip-alert/message-strip-alert.component.mjs +5 -5
- package/esm2022/message-strip/alert/message-strip-alert-container/message-strip-alert-container.component.mjs +1 -1
- package/esm2022/message-strip/alert/message-strip-alert.service.mjs +2 -3
- package/esm2022/message-strip/message-strip.component.mjs +16 -16
- package/esm2022/micro-process-flow/components/micro-process-flow/micro-process-flow.component.mjs +43 -45
- package/esm2022/micro-process-flow/components/micro-process-flow-item/micro-process-flow-item.component.mjs +1 -1
- package/esm2022/micro-process-flow/micro-process-flow-focusable-item.directive.mjs +13 -13
- package/esm2022/multi-combobox/multi-combobox.component.mjs +2 -5
- package/esm2022/multi-input/multi-input-mobile/multi-input-mobile.component.mjs +1 -1
- package/esm2022/multi-input/multi-input.component.mjs +2 -2
- package/esm2022/nested-list/nested-content/nested-list-content.directive.mjs +6 -6
- package/esm2022/nested-list/nested-item/nested-item.directive.mjs +3 -3
- package/esm2022/nested-list/nested-list/nested-list.directive.mjs +3 -3
- package/esm2022/notification/directives/notification-indicator.directive.mjs +9 -9
- package/esm2022/notification/notification/notification.component.mjs +9 -9
- package/esm2022/notification/notification-group/notification-group.component.mjs +5 -5
- package/esm2022/notification/notification-service/notification.service.mjs +5 -2
- package/esm2022/notification/notification-utils/notification-ref.mjs +2 -5
- package/esm2022/object-number/object-number.component.mjs +9 -9
- package/esm2022/object-status/object-status.component.mjs +13 -12
- package/esm2022/overflow-layout/directives/overflow-expand.directive.mjs +5 -5
- package/esm2022/overflow-layout/directives/overflow-item-ref.directive.mjs +1 -1
- package/esm2022/overflow-layout/directives/overflow-layout-focusable-item.directive.mjs +5 -5
- package/esm2022/overflow-layout/directives/overflow-layout-item-container.directive.mjs +8 -8
- package/esm2022/overflow-layout/interfaces/overflow-focusable-item.interface.mjs +1 -1
- package/esm2022/overflow-layout/overflow-layout.component.mjs +18 -18
- package/esm2022/radio/radio-button/radio-button.component.mjs +8 -9
- package/esm2022/rating-indicator/components/rating-indicator.component.mjs +28 -28
- package/esm2022/resizable-card-layout/resizable-card-layout/resizable-card-item/resizable-card-item.component.mjs +23 -23
- package/esm2022/resizable-card-layout/resizable-card-layout/resizable-card-layout.component.mjs +7 -8
- package/esm2022/select/select.component.mjs +18 -18
- package/esm2022/shared/interfaces/search-component.interface.mjs +1 -1
- package/esm2022/shellbar/shellbar.component.mjs +7 -7
- package/esm2022/side-navigation/side-navigation.component.mjs +7 -7
- package/esm2022/skeleton/components/skeleton.component.mjs +3 -3
- package/esm2022/status-indicator/status-indicator.component.mjs +15 -15
- package/esm2022/table/directives/table-responsive-wrapper.directive.mjs +3 -3
- package/esm2022/tabs/tab-item/tab-item.directive.mjs +9 -9
- package/esm2022/tabs/tab-link/tab-link.directive.mjs +8 -8
- package/esm2022/tabs/tab-nav/tab-nav.component.mjs +15 -15
- package/esm2022/tabs/tab-panel/tab-panel.component.mjs +3 -3
- package/esm2022/tabs/tab-utils/tab-directives.mjs +8 -8
- package/esm2022/tile/directives/tile.directives.mjs +25 -25
- package/esm2022/tile/tile.component.mjs +9 -11
- package/esm2022/time/time-column/time-column.component.mjs +23 -23
- package/esm2022/timeline/services/position-strategies/base-strategy.mjs +1 -1
- package/esm2022/timeline/timeline.component.mjs +5 -5
- package/esm2022/title/title.component.mjs +4 -4
- package/esm2022/token/tokenizer.component.mjs +71 -71
- package/esm2022/toolbar/toolbar.component.mjs +3 -3
- package/esm2022/tree/components/tree-item/tree-item.component.mjs +4 -6
- package/esm2022/tree/tree.component.mjs +1 -4
- package/esm2022/upload-collection/upload-collection-item.directive.mjs +3 -3
- package/esm2022/vertical-navigation/vertical-navigation.component.mjs +6 -6
- package/esm2022/wizard/wizard-step/wizard-step.component.mjs +3 -3
- package/feed-input/directives/feed-input-avatar.directive.d.ts +2 -2
- package/feed-list-item/components/list/feed-list.component.d.ts +6 -6
- package/fesm2022/fundamental-ngx-core-avatar-group-legacy.mjs +33 -33
- package/fesm2022/fundamental-ngx-core-avatar-group-legacy.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-bar.mjs +14 -14
- package/fesm2022/fundamental-ngx-core-bar.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-calendar.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-card.mjs +61 -61
- package/fesm2022/fundamental-ngx-core-card.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-checkbox.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-combobox.mjs +1 -1
- package/fesm2022/fundamental-ngx-core-combobox.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-content-density.mjs +17 -26
- package/fesm2022/fundamental-ngx-core-content-density.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-datetime.mjs +36 -27
- package/fesm2022/fundamental-ngx-core-datetime.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-dialog.mjs +3 -7
- package/fesm2022/fundamental-ngx-core-dialog.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-dynamic-side-content.mjs +8 -8
- package/fesm2022/fundamental-ngx-core-dynamic-side-content.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-feed-input.mjs +4 -4
- package/fesm2022/fundamental-ngx-core-feed-input.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-feed-list-item.mjs +14 -14
- package/fesm2022/fundamental-ngx-core-feed-list-item.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-file-uploader.mjs +4 -4
- package/fesm2022/fundamental-ngx-core-file-uploader.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-fixed-card-layout.mjs +2 -2
- package/fesm2022/fundamental-ngx-core-fixed-card-layout.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-form.mjs +15 -15
- package/fesm2022/fundamental-ngx-core-form.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-grid-list.mjs +3 -4
- package/fesm2022/fundamental-ngx-core-grid-list.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-illustrated-message.mjs +9 -9
- package/fesm2022/fundamental-ngx-core-illustrated-message.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-input-group.mjs +21 -21
- package/fesm2022/fundamental-ngx-core-input-group.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-layout-grid.mjs +16 -16
- package/fesm2022/fundamental-ngx-core-layout-grid.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-layout-panel.mjs +8 -8
- package/fesm2022/fundamental-ngx-core-layout-panel.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-list.mjs +27 -24
- package/fesm2022/fundamental-ngx-core-list.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-menu.mjs +0 -2
- package/fesm2022/fundamental-ngx-core-menu.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-message-box.mjs +16 -16
- package/fesm2022/fundamental-ngx-core-message-box.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-message-page.mjs +4 -4
- package/fesm2022/fundamental-ngx-core-message-page.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-message-strip.mjs +20 -21
- package/fesm2022/fundamental-ngx-core-message-strip.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-micro-process-flow.mjs +55 -57
- package/fesm2022/fundamental-ngx-core-micro-process-flow.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-multi-combobox.mjs +1 -4
- package/fesm2022/fundamental-ngx-core-multi-combobox.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-multi-input.mjs +1 -1
- package/fesm2022/fundamental-ngx-core-multi-input.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-nested-list.mjs +9 -9
- package/fesm2022/fundamental-ngx-core-nested-list.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-notification.mjs +25 -25
- package/fesm2022/fundamental-ngx-core-notification.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-object-number.mjs +8 -8
- package/fesm2022/fundamental-ngx-core-object-number.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-object-status.mjs +12 -11
- package/fesm2022/fundamental-ngx-core-object-status.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-overflow-layout.mjs +32 -32
- package/fesm2022/fundamental-ngx-core-overflow-layout.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-radio.mjs +7 -8
- package/fesm2022/fundamental-ngx-core-radio.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-rating-indicator.mjs +27 -27
- package/fesm2022/fundamental-ngx-core-rating-indicator.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-resizable-card-layout.mjs +28 -29
- package/fesm2022/fundamental-ngx-core-resizable-card-layout.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-select.mjs +17 -17
- package/fesm2022/fundamental-ngx-core-select.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-shellbar.mjs +6 -6
- package/fesm2022/fundamental-ngx-core-shellbar.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-side-navigation.mjs +6 -6
- package/fesm2022/fundamental-ngx-core-side-navigation.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-skeleton.mjs +2 -2
- package/fesm2022/fundamental-ngx-core-skeleton.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-status-indicator.mjs +14 -14
- package/fesm2022/fundamental-ngx-core-status-indicator.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-table.mjs +2 -2
- package/fesm2022/fundamental-ngx-core-table.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-tabs.mjs +38 -38
- package/fesm2022/fundamental-ngx-core-tabs.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-tile.mjs +32 -34
- package/fesm2022/fundamental-ngx-core-tile.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-time.mjs +23 -23
- package/fesm2022/fundamental-ngx-core-time.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-timeline.mjs +4 -4
- package/fesm2022/fundamental-ngx-core-timeline.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-title.mjs +3 -3
- package/fesm2022/fundamental-ngx-core-title.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-token.mjs +70 -70
- package/fesm2022/fundamental-ngx-core-token.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-toolbar.mjs +2 -2
- package/fesm2022/fundamental-ngx-core-toolbar.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-tree.mjs +3 -8
- package/fesm2022/fundamental-ngx-core-tree.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-upload-collection.mjs +2 -2
- package/fesm2022/fundamental-ngx-core-upload-collection.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-vertical-navigation.mjs +5 -5
- package/fesm2022/fundamental-ngx-core-vertical-navigation.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-wizard.mjs +2 -2
- package/fesm2022/fundamental-ngx-core-wizard.mjs.map +1 -1
- package/file-uploader/directives/file-uploader-select.directive.d.ts +1 -1
- package/file-uploader/file-uploader.component.d.ts +4 -4
- package/form/form-group/form-group.component.d.ts +4 -4
- package/form/form-message/form-message.component.d.ts +2 -2
- package/grid-list/components/grid-list/grid-list.component.d.ts +3 -2
- package/grid-list/components/grid-list-item/grid-list-item.component.d.ts +8 -8
- package/illustrated-message/illustrated-message.component.d.ts +7 -7
- package/input-group/input-group-directives.d.ts +12 -12
- package/layout-grid/directives/layout-grid-col.directive.d.ts +2 -2
- package/layout-grid/layout-grid.component.d.ts +2 -2
- package/layout-panel/layout-panel-footer/layout-panel-footer.component.d.ts +2 -2
- package/list/list-item/list-item.component.d.ts +13 -13
- package/list/list-message.directive.d.ts +4 -4
- package/message-box/message-box.component.d.ts +5 -5
- package/message-page/message-page.component.d.ts +2 -2
- package/message-strip/alert/message-strip-alert/message-strip-alert.component.d.ts +4 -4
- package/message-strip/alert/message-strip-alert-container/message-strip-alert-container.component.d.ts +4 -4
- package/message-strip/alert/message-strip-alert.service.d.ts +3 -2
- package/message-strip/message-strip.component.d.ts +6 -6
- package/micro-process-flow/components/micro-process-flow/micro-process-flow.component.d.ts +15 -17
- package/micro-process-flow/components/micro-process-flow-item/micro-process-flow-item.component.d.ts +2 -2
- package/micro-process-flow/micro-process-flow-focusable-item.directive.d.ts +6 -6
- package/multi-input/multi-input-mobile/multi-input-mobile.component.d.ts +2 -2
- package/nested-list/nested-content/nested-list-content.directive.d.ts +2 -2
- package/nested-list/nested-item/nested-item.directive.d.ts +2 -2
- package/nested-list/nested-list/nested-list.directive.d.ts +2 -2
- package/notification/directives/notification-indicator.directive.d.ts +4 -4
- package/notification/notification/notification.component.d.ts +2 -2
- package/notification/notification-group/notification-group.component.d.ts +2 -2
- package/notification/notification-utils/notification-ref.d.ts +5 -3
- package/object-number/object-number.component.d.ts +4 -4
- package/object-status/object-status.component.d.ts +5 -4
- package/overflow-layout/directives/overflow-expand.directive.d.ts +2 -2
- package/overflow-layout/directives/overflow-item-ref.directive.d.ts +2 -2
- package/overflow-layout/directives/overflow-layout-focusable-item.directive.d.ts +2 -2
- package/overflow-layout/directives/overflow-layout-item-container.directive.d.ts +2 -2
- package/overflow-layout/interfaces/overflow-focusable-item.interface.d.ts +1 -1
- package/overflow-layout/overflow-layout.component.d.ts +4 -4
- package/package.json +3 -3
- package/radio/radio-button/radio-button.component.d.ts +7 -7
- package/rating-indicator/components/rating-indicator.component.d.ts +12 -12
- package/resizable-card-layout/resizable-card-layout/resizable-card-item/resizable-card-item.component.d.ts +8 -8
- package/resizable-card-layout/resizable-card-layout/resizable-card-layout.component.d.ts +2 -2
- package/select/select.component.d.ts +19 -19
- package/shared/interfaces/search-component.interface.d.ts +1 -1
- package/shellbar/shellbar.component.d.ts +12 -12
- package/side-navigation/side-navigation.component.d.ts +2 -2
- package/skeleton/components/skeleton.component.d.ts +2 -2
- package/status-indicator/status-indicator.component.d.ts +7 -7
- package/tabs/tab-item/tab-item.directive.d.ts +2 -2
- package/tabs/tab-link/tab-link.directive.d.ts +2 -2
- package/tabs/tab-nav/tab-nav.component.d.ts +8 -8
- package/tabs/tab-panel/tab-panel.component.d.ts +2 -2
- package/tabs/tab-utils/tab-directives.d.ts +5 -5
- package/tile/directives/tile.directives.d.ts +12 -12
- package/tile/tile.component.d.ts +4 -6
- package/time/time-column/time-column.component.d.ts +6 -6
- package/timeline/services/position-strategies/base-strategy.d.ts +2 -2
- package/timeline/timeline.component.d.ts +2 -2
- package/title/title.component.d.ts +2 -2
- package/token/tokenizer.component.d.ts +16 -16
- package/toolbar/toolbar.component.d.ts +2 -2
- package/tree/components/tree-item/tree-item.component.d.ts +10 -9
- package/upload-collection/upload-collection-item.directive.d.ts +2 -2
- package/vertical-navigation/vertical-navigation.component.d.ts +2 -2
- package/wizard/wizard-step/wizard-step.component.d.ts +4 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fundamental-ngx-core-notification.mjs","sources":["../../../../libs/core/notification/directives/notification-footer-content.directive.ts","../../../../libs/core/notification/directives/notification-indicator.directive.ts","../../../../libs/core/notification/directives/notification-limit-description.directive.ts","../../../../libs/core/notification/directives/notification-limit-title.directive.ts","../../../../libs/core/notification/directives/notification-paragraph.directive.ts","../../../../libs/core/notification/directives/notification-separator.directive.ts","../../../../libs/core/notification/directives/notification-title.directive.ts","../../../../libs/core/notification/notification-actions/notification-actions.component.ts","../../../../libs/core/notification/notification-header/notification-header.component.ts","../../../../libs/core/notification/notification-utils/notification-group-base.ts","../../../../libs/core/notification/notification-body/notification-body.component.ts","../../../../libs/core/notification/notification-content/notification-content.component.ts","../../../../libs/core/notification/notification-footer/notification-footer.component.ts","../../../../libs/core/notification/notification-group-header/notification-group-header.component.ts","../../../../libs/core/notification/notification-group-list/notification-group-list.component.ts","../../../../libs/core/notification/notification-group/notification-group.component.ts","../../../../libs/core/notification/notification-limit/notification-limit.component.ts","../../../../libs/core/notification/notification-utils/notification-config.ts","../../../../libs/core/notification/notification-utils/notification-container.ts","../../../../libs/core/notification/notification-utils/notification-ref.ts","../../../../libs/core/notification/notification/notification.component.ts","../../../../libs/core/notification/notification-service/notification.service.ts","../../../../libs/core/notification/notification.module.ts","../../../../libs/core/notification/fundamental-ngx-core-notification.ts"],"sourcesContent":["import { Directive, HostBinding } from '@angular/core';\n\n@Directive({\n selector: '[fdNotificationFooterContent], [fd-notification-footer-content]',\n standalone: true\n})\nexport class NotificationFooterContentDirective {\n /** @hidden */\n @HostBinding('class.fd-notification__footer-content')\n fdNotificationTitleClass = true;\n}\n","import { Directive, ElementRef, Input, OnChanges, OnInit } from '@angular/core';\nimport { CssClassBuilder, applyCssClass } from '@fundamental-ngx/cdk/utils';\n\nexport type IndicatorStates = 'success' | 'error' | 'warning' | 'information';\n\n@Directive({\n selector: '[fdNotificationIndicator], [fd-notification-indicator]',\n standalone: true\n})\nexport class NotificationIndicatorDirective implements OnChanges, OnInit, CssClassBuilder {\n /** Type of the indicator. Can be 'success' | 'error' | 'warning' | 'information' */\n @Input()\n type: IndicatorStates;\n\n /** Apply user custom styles */\n @Input()\n class: string;\n\n /** @hidden */\n constructor(public readonly elementRef: ElementRef) {}\n\n /** @hidden */\n ngOnChanges(): void {\n this.buildComponentCssClass();\n }\n\n /** @hidden */\n ngOnInit(): void {\n this.buildComponentCssClass();\n }\n\n /** @hidden\n * CssClassBuilder interface implementation\n * function must return single string\n * function is responsible for order which css classes are applied\n */\n @applyCssClass\n buildComponentCssClass(): string[] {\n return ['fd-notification__indicator', this.type ? 'fd-notification__indicator--' + this.type : '', this.class];\n }\n}\n","import { Directive, HostBinding } from '@angular/core';\n\n@Directive({\n selector: '[fdNotificationLimitDescription], [fd-notification-limit-description]',\n standalone: true\n})\nexport class NotificationLimitDescriptionDirective {\n /** @hidden */\n @HostBinding('class.fd-notification__limit--description')\n fdNotificationDescriptionClass = true;\n}\n","import { Directive, HostBinding } from '@angular/core';\n\n@Directive({\n selector: '[fdNotificationLimitTitle], [fd-notification-limit-title]',\n standalone: true\n})\nexport class NotificationLimitTitleDirective {\n /** @hidden */\n @HostBinding('class.fd-notification__limit--title')\n fdNotificationTitleClass = true;\n}\n","import { Directive, HostBinding } from '@angular/core';\n\n@Directive({\n selector: '[fdNotificationParagraph], [fd-notification-paragraph]',\n standalone: true\n})\nexport class NotificationParagraphDirective {\n /** @hidden */\n @HostBinding('class.fd-notification__paragraph')\n fdNotificationParagraphClass = true;\n}\n","import { Directive, HostBinding } from '@angular/core';\n\n@Directive({\n selector: '[fdNotificationSeparator], [fd-notification-separator]',\n standalone: true\n})\nexport class NotificationSeparatorDirective {\n /** @hidden */\n @HostBinding('class.fd-notification__separator')\n fdNotificationSeparatorClass = true;\n}\n","import { Directive, HostBinding, Input } from '@angular/core';\n\n@Directive({\n selector: '[fdNotificationTitle], [fd-notification-title]',\n standalone: true\n})\nexport class NotificationTitleDirective {\n /** @hidden */\n @HostBinding('class.fd-notification__title')\n fdNotificationTitleClass = true;\n\n /** Whether the title is unread. */\n @Input()\n @HostBinding('class.fd-notification__title--unread')\n unread = false;\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ContentChildren,\n HostBinding,\n QueryList,\n ViewEncapsulation\n} from '@angular/core';\nimport { ButtonComponent, FD_BUTTON_COMPONENT } from '@fundamental-ngx/core/button';\n\n@Component({\n selector: 'fd-notification-actions',\n template: `<ng-content></ng-content>`,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true\n})\nexport class NotificationActionsComponent {\n /** @hidden */\n @HostBinding('class.fd-notification__actions')\n fdNotificationActionsClass = true;\n\n /** @hidden */\n @ContentChildren(FD_BUTTON_COMPONENT)\n buttons: QueryList<ButtonComponent>;\n}\n","import { ChangeDetectionStrategy, Component, HostBinding, Input, ViewEncapsulation } from '@angular/core';\n\nlet notificationHeaderCounter = 0;\n@Component({\n selector: 'fd-notification-header',\n template: `<ng-content></ng-content>`,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true\n})\nexport class NotificationHeaderComponent {\n /** @hidden */\n @HostBinding('class.fd-notification__header')\n fdNotificationHeaderClass = true;\n\n /** Unique id for the notification header */\n @HostBinding('attr.id')\n @Input()\n uniqueId = `fd-notification-header-${++notificationHeaderCounter}`;\n}\n","import { AfterViewInit, ContentChildren, DestroyRef, Directive, QueryList, Renderer2, inject } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { Observable, merge } from 'rxjs';\nimport { debounceTime, filter, startWith, switchMap } from 'rxjs/operators';\nimport { NotificationActionsComponent } from '../notification-actions/notification-actions.component';\nimport { NotificationHeaderComponent } from '../notification-header/notification-header.component';\n\n@Directive()\nexport abstract class NotificationGroupBaseDirective implements AfterViewInit {\n /** @hidden */\n @ContentChildren(NotificationHeaderComponent, { descendants: true })\n notificationHeader: QueryList<NotificationHeaderComponent>;\n\n /** @hidden */\n @ContentChildren(NotificationActionsComponent)\n notificationActions: QueryList<NotificationActionsComponent>;\n\n /** @hidden */\n private readonly _destroyRef = inject(DestroyRef);\n\n /** @hidden */\n private readonly _renderer = inject(Renderer2);\n\n /** @hidden */\n ngAfterViewInit(): void {\n // TODO: update startWith args to be \"undefined\" after migration to rxjs 7.\n // Now it throws irrelevant warning about deprecation\n const headersChanges$ = this.notificationHeader.changes.pipe(startWith(0));\n const actionsChanges$ = this.notificationActions.changes.pipe(\n startWith(0),\n switchMap(() => {\n // also listen to button changes for each notificationActions component\n const buttonsChanges$ = this.notificationActions\n .toArray()\n .reduce((acc, c) => acc.concat(c.buttons.changes), [] as Observable<any>[]);\n return merge(buttonsChanges$).pipe(startWith(0));\n })\n );\n merge(headersChanges$, actionsChanges$)\n .pipe(\n debounceTime(10), // omitting extra emissions\n filter(() => this.notificationHeader.length > 0 && this.notificationActions.length > 0),\n takeUntilDestroyed(this._destroyRef)\n )\n .subscribe(() => {\n // using only the first header for \"aria-describedby\" of associated buttons\n const firstHeader = this.notificationHeader.first;\n this.notificationActions.forEach((actionsComponent) => {\n actionsComponent.buttons\n .toArray()\n .map((b) => b.elementRef.nativeElement)\n // skipping buttons that already have this attribute\n .filter((b) => !b.hasAttribute('aria-describedby'))\n .forEach((b) => {\n // setting aria-describedby on each button with an id of related header\n this._renderer.setAttribute(b, 'aria-describedby', firstHeader.uniqueId);\n });\n });\n });\n }\n}\n","import { ChangeDetectionStrategy, Component, HostBinding, ViewEncapsulation } from '@angular/core';\nimport { NotificationGroupBaseDirective } from '../notification-utils/notification-group-base';\n\n@Component({\n selector: 'fd-notification-body',\n template: `<ng-content></ng-content>`,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true\n})\nexport class NotificationBodyComponent extends NotificationGroupBaseDirective {\n /** @hidden */\n @HostBinding('class.fd-notification__body')\n fdNotificationBodyClass = true;\n}\n","import { ChangeDetectionStrategy, Component, HostBinding, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'fd-notification-content',\n template: `<ng-content></ng-content>`,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true\n})\nexport class NotificationContentComponent {\n /** @hidden */\n @HostBinding('class.fd-notification__content')\n fdNotificationFooterClass = true;\n}\n","import { ChangeDetectionStrategy, Component, HostBinding, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'fd-notification-footer',\n template: `<ng-content></ng-content>`,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true\n})\nexport class NotificationFooterComponent {\n /** @hidden */\n @HostBinding('class.fd-notification__footer')\n fdNotificationFooterClass = true;\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n HostBinding,\n Input,\n Output,\n ViewEncapsulation,\n computed,\n inject,\n signal\n} from '@angular/core';\nimport { Nullable, RtlService } from '@fundamental-ngx/cdk/utils';\nimport { ButtonComponent } from '@fundamental-ngx/core/button';\nimport {\n ContentDensityDirective,\n ContentDensityMode,\n LocalContentDensityMode\n} from '@fundamental-ngx/core/content-density';\nimport { IconComponent } from '@fundamental-ngx/core/icon';\nimport { NotificationGroupBaseDirective } from '../notification-utils/notification-group-base';\n\n@Component({\n selector: 'fd-notification-group-header',\n template: `\n <button\n fd-button\n fdType=\"transparent\"\n role=\"button\"\n [fdContentDensity]=\"_expandButtonContentDensity\"\n [attr.aria-expanded]=\"expanded\"\n [attr.aria-describedby]=\"expandDescribedBy\"\n [attr.aria-label]=\"expandAriaLabel\"\n [attr.aria-labelledby]=\"expandAriaLabelledBy\"\n (click)=\"toggleExpand()\"\n >\n <fd-icon [glyph]=\"_buttonIcon$()\"></fd-icon>\n </button>\n <div class=\"fd-notification__content\">\n <ng-content select=\"fd-notification-header\"></ng-content>\n </div>\n <ng-content select=\"fd-notification-actions\"></ng-content>\n <ng-content></ng-content>\n `,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n imports: [ButtonComponent, ContentDensityDirective, IconComponent]\n})\nexport class NotificationGroupHeaderComponent extends NotificationGroupBaseDirective {\n /** @hidden */\n @HostBinding('class.fd-notification__group-header')\n fdNotificationGroupHeaderClass = true;\n\n /** Whether the expand button is in compact mode */\n @Input()\n expandCompact: boolean;\n\n /** aria-label of the expand button */\n @Input()\n expandAriaLabel: Nullable<string>;\n\n /** aria-labelledby of the expand button */\n @Input()\n expandAriaLabelledBy: Nullable<string>;\n\n /** Whether the button is in expanded state */\n @Input()\n set expanded(value: boolean) {\n this._expanded$.set(value);\n }\n\n get expanded(): boolean {\n return this._expanded$();\n }\n\n /** Output event triggered when the Expand button is clicked */\n @Output()\n expandedChange = new EventEmitter<boolean>();\n\n /** @hidden */\n get expandDescribedBy(): string {\n return this.notificationHeader?.first?.uniqueId;\n }\n\n /** @hidden */\n readonly _buttonIcon$ = computed(() =>\n this._expanded$() ? 'slim-arrow-down' : this._rtlService?.rtlSignal() ? 'slim-arrow-left' : 'slim-arrow-right'\n );\n\n /** @hidden */\n readonly _expanded$ = signal(true);\n\n /** @hidden */\n get _expandButtonContentDensity(): LocalContentDensityMode {\n return typeof this.expandCompact === 'undefined' ? 'global' : ContentDensityMode.COMPACT;\n }\n\n /** @hidden */\n private readonly _rtlService = inject(RtlService, { optional: true });\n\n /** Method that toggles the Notification list content */\n toggleExpand(): void {\n this._expanded$.update((expanded) => !expanded);\n this.expandedChange.emit(this.expanded);\n }\n}\n","import {\n AfterContentInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n forwardRef,\n OnDestroy,\n ViewEncapsulation\n} from '@angular/core';\nimport { Subscription } from 'rxjs';\nimport { NotificationGroupHeaderComponent } from '../notification-group-header/notification-group-header.component';\n\n@Component({\n selector: 'fd-notification-group-list',\n template: `\n <ng-content select=\"fd-notification-group-header\"></ng-content>\n @if (expanded) {\n <ng-content></ng-content>\n }\n `,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n imports: []\n})\nexport class NotificationGroupListComponent implements AfterContentInit, OnDestroy {\n /** @hidden */\n @ContentChild(forwardRef(() => NotificationGroupHeaderComponent))\n groupHeader: NotificationGroupHeaderComponent;\n\n /** Whether the Notification list content is expanded */\n expanded: boolean;\n\n /** @hidden */\n private readonly _subscriptions = new Subscription();\n\n /** @hidden */\n constructor(private readonly _changeDetectorRef: ChangeDetectorRef) {}\n\n /** @hidden */\n ngAfterContentInit(): void {\n this.expanded = this.groupHeader.expanded;\n\n this._subscriptions.add(\n this.groupHeader.expandedChange.subscribe((value) => {\n this.expanded = value;\n this._changeDetectorRef.detectChanges();\n })\n );\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n this._subscriptions.unsubscribe();\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n HostBinding,\n Inject,\n Input,\n OnChanges,\n OnInit,\n Optional,\n ViewEncapsulation\n} from '@angular/core';\nimport { CssClassBuilder, applyCssClass } from '@fundamental-ngx/cdk/utils';\nimport { BasePopoverClass, FD_POPOVER_COMPONENT } from '@fundamental-ngx/core/popover';\n\n@Component({\n selector: 'fd-notification-group',\n template: `<ng-content></ng-content>`,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true\n})\nexport class NotificationGroupComponent implements OnChanges, OnInit, CssClassBuilder {\n /** User's custom classes */\n @Input()\n class: string;\n\n /** Whether the Notification Group is in mobile mode */\n @Input() mobile = false;\n\n /** User defined width for the notification */\n @HostBinding('style.width')\n @Input()\n width: string;\n\n /** @hidden */\n constructor(\n public readonly elementRef: ElementRef,\n @Optional() @Inject(FD_POPOVER_COMPONENT) private _popover: BasePopoverClass\n ) {\n if (this._popover) {\n this._popover.focusTrapped = true;\n this._popover.focusAutoCapture = true;\n }\n }\n\n /** @hidden */\n ngOnChanges(): void {\n this.buildComponentCssClass();\n }\n\n /** @hidden CssClassBuilder interface implementation\n * function is responsible for order which css classes are applied\n */\n @applyCssClass\n buildComponentCssClass(): string[] {\n return [\n 'fd-notification fd-notification--group fd-notification-custom-block',\n this.mobile ? 'fd-notification--mobile' : '',\n this.class\n ];\n }\n\n /** @hidden */\n ngOnInit(): void {\n this.buildComponentCssClass();\n }\n}\n","import { ChangeDetectionStrategy, Component, HostBinding, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'fd-notification-limit',\n template: `<ng-content></ng-content>`,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true\n})\nexport class NotificationLimitComponent {\n /** @hidden */\n @HostBinding('class.fd-notification__limit')\n fdNotificationLimitClass = true;\n}\n","import { Nullable } from '@fundamental-ngx/cdk/utils';\n\n/**\n * Configuration for opening a notification with the NotificationService.\n */\nexport class NotificationConfig<T = any> {\n /** Id for the notification component. If omitted, a unique one is generated. */\n id?: string;\n\n /** aria-label attribute for the notification component element. */\n ariaLabel?: Nullable<string>;\n\n /** aria-labelledby attribute for the notification component element. */\n ariaLabelledBy?: Nullable<string>;\n\n /** aria-describedby attribute for the notification component element. */\n ariaDescribedBy?: Nullable<string>;\n\n /** The container that the notification is appended to. By default, it is appended to the body. */\n container?: HTMLElement | 'body' = 'body';\n\n /** Data to pass along to the content through the NotificationRef. */\n data?: T;\n\n /** Custom width of the notification. */\n width?: string;\n\n /** Whether the notification is in mobile mode. */\n mobile?: boolean;\n\n /**\n * Whether the notification should trap focus within itself.\n * @default true\n */\n shouldTrapFocus?: boolean = true;\n}\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'fd-notification-container',\n template: ``,\n styles: [\n `\n .fd-notification-container {\n position: fixed;\n display: flex;\n flex-direction: column;\n z-index: 5000;\n align-items: flex-end;\n top: 4.75rem;\n right: 2rem;\n }\n `\n ],\n host: {\n '[class.fd-notification-container]': 'true'\n },\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true\n})\n// eslint-disable-next-line @angular-eslint/component-class-suffix\nexport class NotificationContainer {}\n","import { Observable, Subject } from 'rxjs';\n\n/**\n * Reference to a notification component generated via the NotificationService.\n * It can be injected into the content component through the constructor.\n * For a template, it is declared as part of the implicit context, see examples.\n */\nexport class NotificationRef<T = any, P = any> {\n /** @hidden */\n protected readonly _afterClosed = new Subject<P | undefined>();\n\n /**\n * Observable that is triggered when the notification is closed.\n * On close a *result* is passed back. On dismiss, an *error* is returned instead.\n */\n public afterClosed: Observable<any> = this._afterClosed.asObservable();\n\n /** Data passed from the calling component to the content.*/\n public data: T;\n\n /**\n * Closes the notification and passes the argument to the afterClosed observable.\n * @param result Value passed back to the observable as a result.\n */\n close(result?: P): void {\n this._afterClosed.next(result);\n this._afterClosed.complete();\n }\n\n /**\n * Dismisses the notification and passes the argument to the afterClosed observable as an error.\n * @param reason Value passed back to the observable as an error.\n */\n dismiss(reason?: P): void {\n this._afterClosed.error(reason);\n }\n}\n","import { ConfigurableFocusTrapFactory, FocusTrap } from '@angular/cdk/a11y';\nimport { Direction } from '@angular/cdk/bidi';\nimport { ESCAPE } from '@angular/cdk/keycodes';\nimport {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ComponentFactoryResolver,\n ComponentRef,\n DestroyRef,\n EmbeddedViewRef,\n HostBinding,\n HostListener,\n Inject,\n Input,\n OnInit,\n Optional,\n TemplateRef,\n Type,\n ViewChild,\n ViewContainerRef,\n ViewEncapsulation,\n computed,\n inject\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { NavigationStart, Router } from '@angular/router';\nimport { AbstractFdNgxClass, KeyUtil, Nullable, RtlService } from '@fundamental-ngx/cdk/utils';\nimport { FD_POPOVER_COMPONENT, PopoverComponent } from '@fundamental-ngx/core/popover';\nimport { BehaviorSubject } from 'rxjs';\nimport { filter, take } from 'rxjs/operators';\nimport { NotificationConfig } from '../notification-utils/notification-config';\nimport { NotificationRef } from '../notification-utils/notification-ref';\n\n@Component({\n selector: 'fd-notification',\n template: `\n <ng-content></ng-content>\n <ng-container #vc></ng-container>\n `,\n styleUrl: './notification.component.scss',\n encapsulation: ViewEncapsulation.None,\n host: {\n '[attr.aria-labelledby]': 'ariaLabelledBy',\n '[attr.aria-label]': 'ariaLabel',\n '[attr.dir]': '_dir$()',\n role: 'alertdialog',\n '[attr.id]': 'id'\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true\n})\nexport class NotificationComponent extends AbstractFdNgxClass implements OnInit, AfterViewInit {\n /** @hidden */\n @ViewChild('vc', { read: ViewContainerRef })\n containerRef: ViewContainerRef;\n\n /** User defined width for the notification */\n @HostBinding('style.width')\n @Input()\n width: string;\n\n /** Whether the notificatioon is in mobile mode */\n @Input() mobile: boolean;\n\n /**\n * @hidden\n */\n _dir$ = computed<Direction>(() => (this._rtlService?.rtlSignal() ? 'rtl' : 'ltr'));\n\n /** ID of the notification */\n id: string;\n\n /** Whether the notification is dismissed with the ESC key */\n escKeyCloseable = false;\n\n /** Whether the notification should close with router change */\n closeOnNavigation = true;\n\n /** aria-labelledby attribute for the notification component element. */\n ariaLabelledBy: Nullable<string>;\n\n /** aria-label attribute for the notification component element. */\n ariaLabel: Nullable<string>;\n\n /** aria-describedby attribute for the notification component element. */\n ariaDescribedBy: Nullable<string>;\n\n /** Reference to the child content */\n childContent: TemplateRef<any> | Type<any> | undefined = undefined;\n\n /** Reference to the component or the embedded view */\n public componentRef: ComponentRef<any> | EmbeddedViewRef<any>;\n\n /** @hidden */\n private readonly _destroyRef = inject(DestroyRef);\n\n /** @hidden */\n private readonly _afterViewInit$ = new BehaviorSubject(false);\n\n /** @hidden The class that traps and manages focus within the notification. */\n private _focusTrap: FocusTrap;\n\n /** @hidden */\n @HostBinding('class.fd-notification--in-dialog')\n get _inDialog(): boolean {\n return this._popover?.mobile;\n }\n\n /** @hidden */\n constructor(\n private _componentFactoryResolver: ComponentFactoryResolver,\n private _cdRef: ChangeDetectorRef,\n private _router: Router,\n private _focusTrapFactory: ConfigurableFocusTrapFactory,\n @Optional() private _notificationConfig: NotificationConfig,\n @Optional() private _notificationRef: NotificationRef,\n @Optional() private _rtlService: RtlService,\n @Optional() @Inject(FD_POPOVER_COMPONENT) private _popover: PopoverComponent\n ) {\n super();\n\n this._setNotificationConfig(this._notificationConfig);\n }\n\n /** @hidden Listen and close notification on Escape key */\n @HostListener('window:keyup', ['$event'])\n _closeNotificationEsc(event: KeyboardEvent): void {\n if (this.escKeyCloseable && KeyUtil.isKeyCode(event, ESCAPE) && this._notificationRef) {\n this._notificationRef.dismiss('escape');\n }\n }\n\n /** @hidden */\n ngOnInit(): void {\n this._listenAndCloseOnNavigation();\n this._setProperties();\n }\n\n /** @hidden */\n ngAfterViewInit(): void {\n if (this.childContent) {\n if (this.childContent instanceof Type) {\n this._loadFromComponent(this.childContent);\n }\n\n if (this.childContent instanceof TemplateRef) {\n this._loadFromTemplate(this.childContent);\n }\n }\n this._afterViewInit$.next(true);\n this._cdRef.detectChanges();\n }\n\n /**\n * Moves the focus inside the focus trap.\n * @returns\n * Returns a promise that resolves with a boolean, depending on whether focus was moved successfully.\n */\n async trapFocus(): Promise<boolean> {\n // waiting for afterViewInit hook to fire\n await this._afterViewInit$.pipe(filter(Boolean), take(1), takeUntilDestroyed(this._destroyRef)).toPromise();\n if (!this._focusTrap) {\n this._focusTrap = this._focusTrapFactory.create(this.elementRef.nativeElement);\n }\n return this._focusTrap.focusFirstTabbableElementWhenReady();\n }\n\n /** @hidden Listen on NavigationStart event and dismiss the dialog */\n private _listenAndCloseOnNavigation(): void {\n if (this._router && this._notificationRef) {\n this._router.events\n .pipe(\n filter((event) => event instanceof NavigationStart && this.closeOnNavigation),\n takeUntilDestroyed(this._destroyRef)\n )\n .subscribe(() => this._notificationRef.dismiss());\n }\n }\n\n /** @hidden */\n private _loadFromComponent(content: Type<any>): void {\n this.containerRef.clear();\n const componentFactory = this._componentFactoryResolver.resolveComponentFactory(content);\n this.componentRef = this.containerRef.createComponent(componentFactory);\n }\n\n /** @hidden */\n private _loadFromTemplate(content: TemplateRef<any>): void {\n this.containerRef.clear();\n const context = {\n $implicit: this._notificationRef\n };\n this.componentRef = this.containerRef.createEmbeddedView(content, context);\n }\n\n /** @hidden */\n _setProperties(): void {\n this._addClassToElement('fd-notification');\n this._addClassToElement('fd-notification-custom-block');\n if (this.mobile) {\n this._addClassToElement('fd-notification--mobile');\n }\n }\n\n /** @hidden */\n private _setNotificationConfig(notificationConfig: NotificationConfig): void {\n Object.keys(notificationConfig || {})\n .filter((key) => key !== 'data' && key !== 'container')\n .forEach((key) => (this[key] = notificationConfig[key]));\n }\n}\n","import { DOCUMENT } from '@angular/common';\nimport { ComponentRef, Inject, Injectable, Injector, Optional, TemplateRef, Type } from '@angular/core';\nimport { DynamicComponentService, RtlService } from '@fundamental-ngx/cdk/utils';\nimport { NotificationConfig } from '../notification-utils/notification-config';\nimport { NotificationContainer } from '../notification-utils/notification-container';\nimport { NotificationRef } from '../notification-utils/notification-ref';\nimport { NotificationComponent } from '../notification/notification.component';\n\n@Injectable()\nexport class NotificationService {\n /** @hidden */\n public notifications: {\n notificationComponent: ComponentRef<NotificationComponent>;\n notificationConfig: Readonly<NotificationConfig>;\n }[] = [];\n\n /** @hidden */\n public containerRef: ComponentRef<NotificationContainer> | null;\n\n /**\n * @hidden\n * Element that was focused before the notification was opened. Being used to restore focus upon close.\n */\n private _elementFocusedBeforeNotificationWasOpened?: HTMLOrSVGElement;\n\n /**\n * @hidden\n */\n constructor(\n private _dynamicComponentService: DynamicComponentService,\n @Inject(DOCUMENT) private _document: Document,\n @Optional() private _rtlService: RtlService\n ) {}\n\n /**\n * Opens a notification component with a content of type TemplateRef or Component Type\n * @param content Content of the notification component.\n * @param notificationConfig Configuration of the notification component.\n */\n public open(\n content: TemplateRef<any> | Type<any>,\n notificationConfig: NotificationConfig = new NotificationConfig()\n ): NotificationRef {\n // Reassigning Object And Service\n const notificationService: NotificationRef = new NotificationRef();\n notificationConfig = Object.assign(new NotificationConfig(), notificationConfig);\n notificationService.data = notificationConfig.data;\n\n // Create Container if it doesn't exist\n if (!this.containerRef) {\n this.containerRef = this._dynamicComponentService.createDynamicComponent(\n content,\n NotificationContainer,\n notificationConfig\n );\n }\n\n // Pass Container reference to config\n notificationConfig.container = this.containerRef.location.nativeElement;\n\n const injector = Injector.create({\n providers: [\n { provide: NotificationConfig, useValue: notificationConfig },\n { provide: NotificationRef, useValue: notificationService },\n { provide: RtlService, useValue: this._rtlService }\n ]\n });\n\n // Create Notification Component\n const notificationComponentRef = this._dynamicComponentService.createDynamicComponent(\n content,\n NotificationComponent,\n notificationConfig,\n { injector }\n );\n\n if (notificationConfig.shouldTrapFocus) {\n const element = this._document.activeElement as HTMLElement | undefined;\n this._elementFocusedBeforeNotificationWasOpened =\n typeof element?.focus === 'function' ? element : undefined;\n notificationComponentRef.instance.trapFocus();\n }\n\n // Add To array\n this.notifications.push({\n notificationComponent: notificationComponentRef,\n notificationConfig\n });\n\n const defaultBehaviourOnClose = (): void => {\n this._destroyNotificationComponent(notificationComponentRef);\n refSub.unsubscribe();\n };\n\n const refSub = notificationService.afterClosed.subscribe(defaultBehaviourOnClose, defaultBehaviourOnClose);\n\n return notificationService;\n }\n\n /** Method to remove all of notifications from this service instance */\n public destroyAll(): void {\n this.notifications.forEach((notification) => {\n this._destroyNotificationComponent(notification.notificationComponent);\n });\n }\n\n /** Method that informs if there is any notification opened in this service instance */\n public isAnyOpened(): boolean {\n return this.notifications && this.notifications.length > 0;\n }\n\n /** @hidden Method that destroys the Notification component */\n private _destroyNotificationComponent(notification: ComponentRef<NotificationComponent>): void {\n this.notifications = this.notifications.filter((item) => item.notificationComponent !== notification);\n this._dynamicComponentService.destroyComponent(notification);\n\n // If there is no other notification Components, just remove container.\n if (this.notifications.length === 0 && this.containerRef) {\n this._dynamicComponentService.destroyComponent(this.containerRef);\n this.containerRef = null;\n this._restoreFocus();\n } else {\n // otherwise attempt to move focus to previous notification\n const last = this.notifications[this.notifications.length - 1];\n if (last.notificationConfig.shouldTrapFocus) {\n last.notificationComponent.instance.trapFocus();\n } else {\n this._restoreFocus();\n }\n }\n }\n\n /** @hidden attempts to focus previously selected element */\n private _restoreFocus(): void {\n if (typeof this._elementFocusedBeforeNotificationWasOpened?.focus === 'function') {\n this._elementFocusedBeforeNotificationWasOpened.focus();\n }\n }\n}\n","import { NgModule } from '@angular/core';\nimport { DynamicComponentService } from '@fundamental-ngx/cdk/utils';\nimport { NotificationFooterContentDirective } from './directives/notification-footer-content.directive';\nimport { NotificationIndicatorDirective } from './directives/notification-indicator.directive';\nimport { NotificationLimitDescriptionDirective } from './directives/notification-limit-description.directive';\nimport { NotificationLimitTitleDirective } from './directives/notification-limit-title.directive';\nimport { NotificationParagraphDirective } from './directives/notification-paragraph.directive';\nimport { NotificationSeparatorDirective } from './directives/notification-separator.directive';\nimport { NotificationTitleDirective } from './directives/notification-title.directive';\nimport { NotificationActionsComponent } from './notification-actions/notification-actions.component';\nimport { NotificationBodyComponent } from './notification-body/notification-body.component';\nimport { NotificationContentComponent } from './notification-content/notification-content.component';\nimport { NotificationFooterComponent } from './notification-footer/notification-footer.component';\nimport { NotificationGroupHeaderComponent } from './notification-group-header/notification-group-header.component';\nimport { NotificationGroupListComponent } from './notification-group-list/notification-group-list.component';\nimport { NotificationGroupComponent } from './notification-group/notification-group.component';\nimport { NotificationHeaderComponent } from './notification-header/notification-header.component';\nimport { NotificationLimitComponent } from './notification-limit/notification-limit.component';\nimport { NotificationService } from './notification-service/notification.service';\nimport { NotificationContainer } from './notification-utils/notification-container';\nimport { NotificationComponent } from './notification/notification.component';\n\nconst components = [\n NotificationComponent,\n NotificationHeaderComponent,\n NotificationFooterComponent,\n NotificationBodyComponent,\n NotificationContainer,\n NotificationActionsComponent,\n NotificationContentComponent,\n NotificationLimitComponent,\n NotificationGroupHeaderComponent,\n NotificationGroupComponent,\n NotificationGroupListComponent,\n NotificationTitleDirective,\n NotificationIndicatorDirective,\n NotificationParagraphDirective,\n NotificationFooterContentDirective,\n NotificationSeparatorDirective,\n NotificationLimitTitleDirective,\n NotificationLimitDescriptionDirective\n];\n\n@NgModule({\n imports: [...components],\n exports: [...components],\n providers: [DynamicComponentService, NotificationService]\n})\nexport class NotificationModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"fundamental-ngx-core-notification.mjs","sources":["../../../../libs/core/notification/directives/notification-footer-content.directive.ts","../../../../libs/core/notification/directives/notification-indicator.directive.ts","../../../../libs/core/notification/directives/notification-limit-description.directive.ts","../../../../libs/core/notification/directives/notification-limit-title.directive.ts","../../../../libs/core/notification/directives/notification-paragraph.directive.ts","../../../../libs/core/notification/directives/notification-separator.directive.ts","../../../../libs/core/notification/directives/notification-title.directive.ts","../../../../libs/core/notification/notification-actions/notification-actions.component.ts","../../../../libs/core/notification/notification-header/notification-header.component.ts","../../../../libs/core/notification/notification-utils/notification-group-base.ts","../../../../libs/core/notification/notification-body/notification-body.component.ts","../../../../libs/core/notification/notification-content/notification-content.component.ts","../../../../libs/core/notification/notification-footer/notification-footer.component.ts","../../../../libs/core/notification/notification-group-header/notification-group-header.component.ts","../../../../libs/core/notification/notification-group-list/notification-group-list.component.ts","../../../../libs/core/notification/notification-group/notification-group.component.ts","../../../../libs/core/notification/notification-limit/notification-limit.component.ts","../../../../libs/core/notification/notification-utils/notification-config.ts","../../../../libs/core/notification/notification-utils/notification-container.ts","../../../../libs/core/notification/notification-utils/notification-ref.ts","../../../../libs/core/notification/notification/notification.component.ts","../../../../libs/core/notification/notification-service/notification.service.ts","../../../../libs/core/notification/notification.module.ts","../../../../libs/core/notification/fundamental-ngx-core-notification.ts"],"sourcesContent":["import { Directive, HostBinding } from '@angular/core';\n\n@Directive({\n selector: '[fdNotificationFooterContent], [fd-notification-footer-content]',\n standalone: true\n})\nexport class NotificationFooterContentDirective {\n /** @hidden */\n @HostBinding('class.fd-notification__footer-content')\n fdNotificationTitleClass = true;\n}\n","import { Directive, ElementRef, Input, OnChanges, OnInit } from '@angular/core';\nimport { CssClassBuilder, applyCssClass } from '@fundamental-ngx/cdk/utils';\n\nexport type IndicatorStates = 'success' | 'error' | 'warning' | 'information';\n\n@Directive({\n selector: '[fdNotificationIndicator], [fd-notification-indicator]',\n standalone: true\n})\nexport class NotificationIndicatorDirective implements OnChanges, OnInit, CssClassBuilder {\n /** Type of the indicator. Can be 'success' | 'error' | 'warning' | 'information' */\n @Input()\n type: IndicatorStates;\n\n /** Apply user custom styles */\n @Input()\n class: string;\n\n /** @hidden */\n constructor(public readonly elementRef: ElementRef) {}\n\n /** @hidden\n * CssClassBuilder interface implementation\n * function must return single string\n * function is responsible for order which css classes are applied\n */\n @applyCssClass\n buildComponentCssClass(): string[] {\n return ['fd-notification__indicator', this.type ? 'fd-notification__indicator--' + this.type : '', this.class];\n }\n\n /** @hidden */\n ngOnChanges(): void {\n this.buildComponentCssClass();\n }\n\n /** @hidden */\n ngOnInit(): void {\n this.buildComponentCssClass();\n }\n}\n","import { Directive, HostBinding } from '@angular/core';\n\n@Directive({\n selector: '[fdNotificationLimitDescription], [fd-notification-limit-description]',\n standalone: true\n})\nexport class NotificationLimitDescriptionDirective {\n /** @hidden */\n @HostBinding('class.fd-notification__limit--description')\n fdNotificationDescriptionClass = true;\n}\n","import { Directive, HostBinding } from '@angular/core';\n\n@Directive({\n selector: '[fdNotificationLimitTitle], [fd-notification-limit-title]',\n standalone: true\n})\nexport class NotificationLimitTitleDirective {\n /** @hidden */\n @HostBinding('class.fd-notification__limit--title')\n fdNotificationTitleClass = true;\n}\n","import { Directive, HostBinding } from '@angular/core';\n\n@Directive({\n selector: '[fdNotificationParagraph], [fd-notification-paragraph]',\n standalone: true\n})\nexport class NotificationParagraphDirective {\n /** @hidden */\n @HostBinding('class.fd-notification__paragraph')\n fdNotificationParagraphClass = true;\n}\n","import { Directive, HostBinding } from '@angular/core';\n\n@Directive({\n selector: '[fdNotificationSeparator], [fd-notification-separator]',\n standalone: true\n})\nexport class NotificationSeparatorDirective {\n /** @hidden */\n @HostBinding('class.fd-notification__separator')\n fdNotificationSeparatorClass = true;\n}\n","import { Directive, HostBinding, Input } from '@angular/core';\n\n@Directive({\n selector: '[fdNotificationTitle], [fd-notification-title]',\n standalone: true\n})\nexport class NotificationTitleDirective {\n /** @hidden */\n @HostBinding('class.fd-notification__title')\n fdNotificationTitleClass = true;\n\n /** Whether the title is unread. */\n @Input()\n @HostBinding('class.fd-notification__title--unread')\n unread = false;\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ContentChildren,\n HostBinding,\n QueryList,\n ViewEncapsulation\n} from '@angular/core';\nimport { ButtonComponent, FD_BUTTON_COMPONENT } from '@fundamental-ngx/core/button';\n\n@Component({\n selector: 'fd-notification-actions',\n template: `<ng-content></ng-content>`,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true\n})\nexport class NotificationActionsComponent {\n /** @hidden */\n @HostBinding('class.fd-notification__actions')\n fdNotificationActionsClass = true;\n\n /** @hidden */\n @ContentChildren(FD_BUTTON_COMPONENT)\n buttons: QueryList<ButtonComponent>;\n}\n","import { ChangeDetectionStrategy, Component, HostBinding, Input, ViewEncapsulation } from '@angular/core';\n\nlet notificationHeaderCounter = 0;\n@Component({\n selector: 'fd-notification-header',\n template: `<ng-content></ng-content>`,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true\n})\nexport class NotificationHeaderComponent {\n /** @hidden */\n @HostBinding('class.fd-notification__header')\n fdNotificationHeaderClass = true;\n\n /** Unique id for the notification header */\n @HostBinding('attr.id')\n @Input()\n uniqueId = `fd-notification-header-${++notificationHeaderCounter}`;\n}\n","import { AfterViewInit, ContentChildren, DestroyRef, Directive, QueryList, Renderer2, inject } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { Observable, merge } from 'rxjs';\nimport { debounceTime, filter, startWith, switchMap } from 'rxjs/operators';\nimport { NotificationActionsComponent } from '../notification-actions/notification-actions.component';\nimport { NotificationHeaderComponent } from '../notification-header/notification-header.component';\n\n@Directive()\nexport abstract class NotificationGroupBaseDirective implements AfterViewInit {\n /** @hidden */\n @ContentChildren(NotificationHeaderComponent, { descendants: true })\n notificationHeader: QueryList<NotificationHeaderComponent>;\n\n /** @hidden */\n @ContentChildren(NotificationActionsComponent)\n notificationActions: QueryList<NotificationActionsComponent>;\n\n /** @hidden */\n private readonly _destroyRef = inject(DestroyRef);\n\n /** @hidden */\n private readonly _renderer = inject(Renderer2);\n\n /** @hidden */\n ngAfterViewInit(): void {\n // TODO: update startWith args to be \"undefined\" after migration to rxjs 7.\n // Now it throws irrelevant warning about deprecation\n const headersChanges$ = this.notificationHeader.changes.pipe(startWith(0));\n const actionsChanges$ = this.notificationActions.changes.pipe(\n startWith(0),\n switchMap(() => {\n // also listen to button changes for each notificationActions component\n const buttonsChanges$ = this.notificationActions\n .toArray()\n .reduce((acc, c) => acc.concat(c.buttons.changes), [] as Observable<any>[]);\n return merge(buttonsChanges$).pipe(startWith(0));\n })\n );\n merge(headersChanges$, actionsChanges$)\n .pipe(\n debounceTime(10), // omitting extra emissions\n filter(() => this.notificationHeader.length > 0 && this.notificationActions.length > 0),\n takeUntilDestroyed(this._destroyRef)\n )\n .subscribe(() => {\n // using only the first header for \"aria-describedby\" of associated buttons\n const firstHeader = this.notificationHeader.first;\n this.notificationActions.forEach((actionsComponent) => {\n actionsComponent.buttons\n .toArray()\n .map((b) => b.elementRef.nativeElement)\n // skipping buttons that already have this attribute\n .filter((b) => !b.hasAttribute('aria-describedby'))\n .forEach((b) => {\n // setting aria-describedby on each button with an id of related header\n this._renderer.setAttribute(b, 'aria-describedby', firstHeader.uniqueId);\n });\n });\n });\n }\n}\n","import { ChangeDetectionStrategy, Component, HostBinding, ViewEncapsulation } from '@angular/core';\nimport { NotificationGroupBaseDirective } from '../notification-utils/notification-group-base';\n\n@Component({\n selector: 'fd-notification-body',\n template: `<ng-content></ng-content>`,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true\n})\nexport class NotificationBodyComponent extends NotificationGroupBaseDirective {\n /** @hidden */\n @HostBinding('class.fd-notification__body')\n fdNotificationBodyClass = true;\n}\n","import { ChangeDetectionStrategy, Component, HostBinding, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'fd-notification-content',\n template: `<ng-content></ng-content>`,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true\n})\nexport class NotificationContentComponent {\n /** @hidden */\n @HostBinding('class.fd-notification__content')\n fdNotificationFooterClass = true;\n}\n","import { ChangeDetectionStrategy, Component, HostBinding, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'fd-notification-footer',\n template: `<ng-content></ng-content>`,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true\n})\nexport class NotificationFooterComponent {\n /** @hidden */\n @HostBinding('class.fd-notification__footer')\n fdNotificationFooterClass = true;\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n HostBinding,\n Input,\n Output,\n ViewEncapsulation,\n computed,\n inject,\n signal\n} from '@angular/core';\nimport { Nullable, RtlService } from '@fundamental-ngx/cdk/utils';\nimport { ButtonComponent } from '@fundamental-ngx/core/button';\nimport {\n ContentDensityDirective,\n ContentDensityMode,\n LocalContentDensityMode\n} from '@fundamental-ngx/core/content-density';\nimport { IconComponent } from '@fundamental-ngx/core/icon';\nimport { NotificationGroupBaseDirective } from '../notification-utils/notification-group-base';\n\n@Component({\n selector: 'fd-notification-group-header',\n template: `\n <button\n fd-button\n fdType=\"transparent\"\n role=\"button\"\n [fdContentDensity]=\"_expandButtonContentDensity\"\n [attr.aria-expanded]=\"expanded\"\n [attr.aria-describedby]=\"expandDescribedBy\"\n [attr.aria-label]=\"expandAriaLabel\"\n [attr.aria-labelledby]=\"expandAriaLabelledBy\"\n (click)=\"toggleExpand()\"\n >\n <fd-icon [glyph]=\"_buttonIcon$()\"></fd-icon>\n </button>\n <div class=\"fd-notification__content\">\n <ng-content select=\"fd-notification-header\"></ng-content>\n </div>\n <ng-content select=\"fd-notification-actions\"></ng-content>\n <ng-content></ng-content>\n `,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n imports: [ButtonComponent, ContentDensityDirective, IconComponent]\n})\nexport class NotificationGroupHeaderComponent extends NotificationGroupBaseDirective {\n /** @hidden */\n @HostBinding('class.fd-notification__group-header')\n fdNotificationGroupHeaderClass = true;\n\n /** Whether the expand button is in compact mode */\n @Input()\n expandCompact: boolean;\n\n /** aria-label of the expand button */\n @Input()\n expandAriaLabel: Nullable<string>;\n\n /** aria-labelledby of the expand button */\n @Input()\n expandAriaLabelledBy: Nullable<string>;\n\n /** Whether the button is in expanded state */\n @Input()\n set expanded(value: boolean) {\n this._expanded$.set(value);\n }\n\n get expanded(): boolean {\n return this._expanded$();\n }\n\n /** Output event triggered when the Expand button is clicked */\n @Output()\n expandedChange = new EventEmitter<boolean>();\n\n /** @hidden */\n get expandDescribedBy(): string {\n return this.notificationHeader?.first?.uniqueId;\n }\n\n /** @hidden */\n readonly _buttonIcon$ = computed(() =>\n this._expanded$() ? 'slim-arrow-down' : this._rtlService?.rtlSignal() ? 'slim-arrow-left' : 'slim-arrow-right'\n );\n\n /** @hidden */\n readonly _expanded$ = signal(true);\n\n /** @hidden */\n get _expandButtonContentDensity(): LocalContentDensityMode {\n return typeof this.expandCompact === 'undefined' ? 'global' : ContentDensityMode.COMPACT;\n }\n\n /** @hidden */\n private readonly _rtlService = inject(RtlService, { optional: true });\n\n /** Method that toggles the Notification list content */\n toggleExpand(): void {\n this._expanded$.update((expanded) => !expanded);\n this.expandedChange.emit(this.expanded);\n }\n}\n","import {\n AfterContentInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n forwardRef,\n OnDestroy,\n ViewEncapsulation\n} from '@angular/core';\nimport { Subscription } from 'rxjs';\nimport { NotificationGroupHeaderComponent } from '../notification-group-header/notification-group-header.component';\n\n@Component({\n selector: 'fd-notification-group-list',\n template: `\n <ng-content select=\"fd-notification-group-header\"></ng-content>\n @if (expanded) {\n <ng-content></ng-content>\n }\n `,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n imports: []\n})\nexport class NotificationGroupListComponent implements AfterContentInit, OnDestroy {\n /** @hidden */\n @ContentChild(forwardRef(() => NotificationGroupHeaderComponent))\n groupHeader: NotificationGroupHeaderComponent;\n\n /** Whether the Notification list content is expanded */\n expanded: boolean;\n\n /** @hidden */\n private readonly _subscriptions = new Subscription();\n\n /** @hidden */\n constructor(private readonly _changeDetectorRef: ChangeDetectorRef) {}\n\n /** @hidden */\n ngAfterContentInit(): void {\n this.expanded = this.groupHeader.expanded;\n\n this._subscriptions.add(\n this.groupHeader.expandedChange.subscribe((value) => {\n this.expanded = value;\n this._changeDetectorRef.detectChanges();\n })\n );\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n this._subscriptions.unsubscribe();\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n HostBinding,\n Inject,\n Input,\n OnChanges,\n OnInit,\n Optional,\n ViewEncapsulation\n} from '@angular/core';\nimport { CssClassBuilder, applyCssClass } from '@fundamental-ngx/cdk/utils';\nimport { BasePopoverClass, FD_POPOVER_COMPONENT } from '@fundamental-ngx/core/popover';\n\n@Component({\n selector: 'fd-notification-group',\n template: `<ng-content></ng-content>`,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true\n})\nexport class NotificationGroupComponent implements OnChanges, OnInit, CssClassBuilder {\n /** User's custom classes */\n @Input()\n class: string;\n\n /** Whether the Notification Group is in mobile mode */\n @Input() mobile = false;\n\n /** User defined width for the notification */\n @HostBinding('style.width')\n @Input()\n width: string;\n\n /** @hidden */\n constructor(\n public readonly elementRef: ElementRef,\n @Optional() @Inject(FD_POPOVER_COMPONENT) private _popover: BasePopoverClass\n ) {\n if (this._popover) {\n this._popover.focusTrapped = true;\n this._popover.focusAutoCapture = true;\n }\n }\n\n /** @hidden CssClassBuilder interface implementation\n * function is responsible for order which css classes are applied\n */\n @applyCssClass\n buildComponentCssClass(): string[] {\n return [\n 'fd-notification fd-notification--group fd-notification-custom-block',\n this.mobile ? 'fd-notification--mobile' : '',\n this.class\n ];\n }\n\n /** @hidden */\n ngOnChanges(): void {\n this.buildComponentCssClass();\n }\n\n /** @hidden */\n ngOnInit(): void {\n this.buildComponentCssClass();\n }\n}\n","import { ChangeDetectionStrategy, Component, HostBinding, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'fd-notification-limit',\n template: `<ng-content></ng-content>`,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true\n})\nexport class NotificationLimitComponent {\n /** @hidden */\n @HostBinding('class.fd-notification__limit')\n fdNotificationLimitClass = true;\n}\n","import { Nullable } from '@fundamental-ngx/cdk/utils';\n\n/**\n * Configuration for opening a notification with the NotificationService.\n */\nexport class NotificationConfig<T = any> {\n /** Id for the notification component. If omitted, a unique one is generated. */\n id?: string;\n\n /** aria-label attribute for the notification component element. */\n ariaLabel?: Nullable<string>;\n\n /** aria-labelledby attribute for the notification component element. */\n ariaLabelledBy?: Nullable<string>;\n\n /** aria-describedby attribute for the notification component element. */\n ariaDescribedBy?: Nullable<string>;\n\n /** The container that the notification is appended to. By default, it is appended to the body. */\n container?: HTMLElement | 'body' = 'body';\n\n /** Data to pass along to the content through the NotificationRef. */\n data?: T;\n\n /** Custom width of the notification. */\n width?: string;\n\n /** Whether the notification is in mobile mode. */\n mobile?: boolean;\n\n /**\n * Whether the notification should trap focus within itself.\n * @default true\n */\n shouldTrapFocus?: boolean = true;\n}\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'fd-notification-container',\n template: ``,\n styles: [\n `\n .fd-notification-container {\n position: fixed;\n display: flex;\n flex-direction: column;\n z-index: 5000;\n align-items: flex-end;\n top: 4.75rem;\n right: 2rem;\n }\n `\n ],\n host: {\n '[class.fd-notification-container]': 'true'\n },\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true\n})\n// eslint-disable-next-line @angular-eslint/component-class-suffix\nexport class NotificationContainer {}\n","import { Observable, Subject } from 'rxjs';\n\n/**\n * Reference to a notification component generated via the NotificationService.\n * It can be injected into the content component through the constructor.\n * For a template, it is declared as part of the implicit context, see examples.\n */\nexport class NotificationRef<T = any, P = any> {\n /**\n * Observable that is triggered when the notification is closed.\n * On close a *result* is passed back. On dismiss, an *error* is returned instead.\n */\n afterClosed: Observable<P | undefined>;\n\n /** Data passed from the calling component to the content.*/\n data: T;\n\n /** @hidden */\n protected readonly _afterClosed = new Subject<P | undefined>();\n\n /** @hidden */\n constructor() {\n this.afterClosed = this._afterClosed.asObservable();\n }\n\n /**\n * Closes the notification and passes the argument to the afterClosed observable.\n * @param result Value passed back to the observable as a result.\n */\n close(result?: P): void {\n this._afterClosed.next(result);\n this._afterClosed.complete();\n }\n\n /**\n * Dismisses the notification and passes the argument to the afterClosed observable as an error.\n * @param reason Value passed back to the observable as an error.\n */\n dismiss(reason?: P): void {\n this._afterClosed.error(reason);\n }\n}\n","import { ConfigurableFocusTrapFactory, FocusTrap } from '@angular/cdk/a11y';\nimport { Direction } from '@angular/cdk/bidi';\nimport { ESCAPE } from '@angular/cdk/keycodes';\nimport {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ComponentFactoryResolver,\n ComponentRef,\n DestroyRef,\n EmbeddedViewRef,\n HostBinding,\n HostListener,\n Inject,\n Input,\n OnInit,\n Optional,\n TemplateRef,\n Type,\n ViewChild,\n ViewContainerRef,\n ViewEncapsulation,\n computed,\n inject\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { NavigationStart, Router } from '@angular/router';\nimport { AbstractFdNgxClass, KeyUtil, Nullable, RtlService } from '@fundamental-ngx/cdk/utils';\nimport { FD_POPOVER_COMPONENT, PopoverComponent } from '@fundamental-ngx/core/popover';\nimport { BehaviorSubject } from 'rxjs';\nimport { filter, take } from 'rxjs/operators';\nimport { NotificationConfig } from '../notification-utils/notification-config';\nimport { NotificationRef } from '../notification-utils/notification-ref';\n\n@Component({\n selector: 'fd-notification',\n template: `\n <ng-content></ng-content>\n <ng-container #vc></ng-container>\n `,\n styleUrl: './notification.component.scss',\n encapsulation: ViewEncapsulation.None,\n host: {\n '[attr.aria-labelledby]': 'ariaLabelledBy',\n '[attr.aria-label]': 'ariaLabel',\n '[attr.dir]': '_dir$()',\n role: 'alertdialog',\n '[attr.id]': 'id'\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true\n})\nexport class NotificationComponent extends AbstractFdNgxClass implements OnInit, AfterViewInit {\n /** @hidden */\n @ViewChild('vc', { read: ViewContainerRef })\n containerRef: ViewContainerRef;\n\n /** User defined width for the notification */\n @HostBinding('style.width')\n @Input()\n width: string;\n\n /** Whether the notificatioon is in mobile mode */\n @Input() mobile: boolean;\n\n /**\n * @hidden\n */\n _dir$ = computed<Direction>(() => (this._rtlService?.rtlSignal() ? 'rtl' : 'ltr'));\n\n /** ID of the notification */\n id: string;\n\n /** Whether the notification is dismissed with the ESC key */\n escKeyCloseable = false;\n\n /** Whether the notification should close with router change */\n closeOnNavigation = true;\n\n /** aria-labelledby attribute for the notification component element. */\n ariaLabelledBy: Nullable<string>;\n\n /** aria-label attribute for the notification component element. */\n ariaLabel: Nullable<string>;\n\n /** aria-describedby attribute for the notification component element. */\n ariaDescribedBy: Nullable<string>;\n\n /** Reference to the child content */\n childContent: TemplateRef<any> | Type<any> | undefined = undefined;\n\n /** Reference to the component or the embedded view */\n public componentRef: ComponentRef<any> | EmbeddedViewRef<any>;\n\n /** @hidden */\n private readonly _destroyRef = inject(DestroyRef);\n\n /** @hidden */\n private readonly _afterViewInit$ = new BehaviorSubject(false);\n\n /** @hidden The class that traps and manages focus within the notification. */\n private _focusTrap: FocusTrap;\n\n /** @hidden */\n @HostBinding('class.fd-notification--in-dialog')\n get _inDialog(): boolean {\n return this._popover?.mobile;\n }\n\n /** @hidden */\n constructor(\n private _componentFactoryResolver: ComponentFactoryResolver,\n private _cdRef: ChangeDetectorRef,\n private _router: Router,\n private _focusTrapFactory: ConfigurableFocusTrapFactory,\n @Optional() private _notificationConfig: NotificationConfig,\n @Optional() private _notificationRef: NotificationRef,\n @Optional() private _rtlService: RtlService,\n @Optional() @Inject(FD_POPOVER_COMPONENT) private _popover: PopoverComponent\n ) {\n super();\n\n this._setNotificationConfig(this._notificationConfig);\n }\n\n /** @hidden Listen and close notification on Escape key */\n @HostListener('window:keyup', ['$event'])\n _closeNotificationEsc(event: KeyboardEvent): void {\n if (this.escKeyCloseable && KeyUtil.isKeyCode(event, ESCAPE) && this._notificationRef) {\n this._notificationRef.dismiss('escape');\n }\n }\n\n /** @hidden */\n ngOnInit(): void {\n this._listenAndCloseOnNavigation();\n this._setProperties();\n }\n\n /** @hidden */\n ngAfterViewInit(): void {\n if (this.childContent) {\n if (this.childContent instanceof Type) {\n this._loadFromComponent(this.childContent);\n }\n\n if (this.childContent instanceof TemplateRef) {\n this._loadFromTemplate(this.childContent);\n }\n }\n this._afterViewInit$.next(true);\n this._cdRef.detectChanges();\n }\n\n /**\n * Moves the focus inside the focus trap.\n * @returns\n * Returns a promise that resolves with a boolean, depending on whether focus was moved successfully.\n */\n async trapFocus(): Promise<boolean> {\n // waiting for afterViewInit hook to fire\n await this._afterViewInit$.pipe(filter(Boolean), take(1), takeUntilDestroyed(this._destroyRef)).toPromise();\n if (!this._focusTrap) {\n this._focusTrap = this._focusTrapFactory.create(this.elementRef.nativeElement);\n }\n return this._focusTrap.focusFirstTabbableElementWhenReady();\n }\n\n /** @hidden */\n _setProperties(): void {\n this._addClassToElement('fd-notification');\n this._addClassToElement('fd-notification-custom-block');\n if (this.mobile) {\n this._addClassToElement('fd-notification--mobile');\n }\n }\n\n /** @hidden Listen on NavigationStart event and dismiss the dialog */\n private _listenAndCloseOnNavigation(): void {\n if (this._router && this._notificationRef) {\n this._router.events\n .pipe(\n filter((event) => event instanceof NavigationStart && this.closeOnNavigation),\n takeUntilDestroyed(this._destroyRef)\n )\n .subscribe(() => this._notificationRef.dismiss());\n }\n }\n\n /** @hidden */\n private _loadFromComponent(content: Type<any>): void {\n this.containerRef.clear();\n const componentFactory = this._componentFactoryResolver.resolveComponentFactory(content);\n this.componentRef = this.containerRef.createComponent(componentFactory);\n }\n\n /** @hidden */\n private _loadFromTemplate(content: TemplateRef<any>): void {\n this.containerRef.clear();\n const context = {\n $implicit: this._notificationRef\n };\n this.componentRef = this.containerRef.createEmbeddedView(content, context);\n }\n\n /** @hidden */\n private _setNotificationConfig(notificationConfig: NotificationConfig): void {\n Object.keys(notificationConfig || {})\n .filter((key) => key !== 'data' && key !== 'container')\n .forEach((key) => (this[key] = notificationConfig[key]));\n }\n}\n","import { DOCUMENT } from '@angular/common';\nimport { ComponentRef, Inject, Injectable, Injector, Optional, TemplateRef, Type } from '@angular/core';\nimport { DynamicComponentService, RtlService } from '@fundamental-ngx/cdk/utils';\nimport { NotificationConfig } from '../notification-utils/notification-config';\nimport { NotificationContainer } from '../notification-utils/notification-container';\nimport { NotificationRef } from '../notification-utils/notification-ref';\nimport { NotificationComponent } from '../notification/notification.component';\n\n@Injectable()\nexport class NotificationService {\n /** @hidden */\n public notifications: {\n notificationComponent: ComponentRef<NotificationComponent>;\n notificationConfig: Readonly<NotificationConfig>;\n }[] = [];\n\n /** @hidden */\n public containerRef: ComponentRef<NotificationContainer> | null;\n\n /**\n * @hidden\n * Element that was focused before the notification was opened. Being used to restore focus upon close.\n */\n private _elementFocusedBeforeNotificationWasOpened?: HTMLOrSVGElement;\n\n /**\n * @hidden\n */\n constructor(\n private _dynamicComponentService: DynamicComponentService,\n @Inject(DOCUMENT) private _document: Document,\n @Optional() private _rtlService: RtlService\n ) {}\n\n /**\n * Opens a notification component with a content of type TemplateRef or Component Type\n * @param content Content of the notification component.\n * @param notificationConfig Configuration of the notification component.\n */\n public open(\n content: TemplateRef<any> | Type<any>,\n notificationConfig: NotificationConfig = new NotificationConfig()\n ): NotificationRef {\n // Reassigning Object And Service\n const notificationService: NotificationRef = new NotificationRef();\n notificationConfig = Object.assign(new NotificationConfig(), notificationConfig);\n notificationService.data = notificationConfig.data;\n\n // Create Container if it doesn't exist\n if (!this.containerRef) {\n this.containerRef = this._dynamicComponentService.createDynamicComponent(\n content,\n NotificationContainer,\n notificationConfig\n );\n }\n\n // Pass Container reference to config\n notificationConfig.container = this.containerRef.location.nativeElement;\n\n const injector = Injector.create({\n providers: [\n { provide: NotificationConfig, useValue: notificationConfig },\n { provide: NotificationRef, useValue: notificationService },\n { provide: RtlService, useValue: this._rtlService }\n ]\n });\n\n // Create Notification Component\n const notificationComponentRef = this._dynamicComponentService.createDynamicComponent(\n content,\n NotificationComponent,\n notificationConfig,\n { injector }\n );\n\n if (notificationConfig.shouldTrapFocus) {\n const element = this._document.activeElement as HTMLElement | undefined;\n this._elementFocusedBeforeNotificationWasOpened =\n typeof element?.focus === 'function' ? element : undefined;\n notificationComponentRef.instance.trapFocus();\n }\n\n // Add To array\n this.notifications.push({\n notificationComponent: notificationComponentRef,\n notificationConfig\n });\n\n const defaultBehaviourOnClose = (): void => {\n this._destroyNotificationComponent(notificationComponentRef);\n refSub.unsubscribe();\n };\n\n const refSub = notificationService.afterClosed.subscribe({\n next: defaultBehaviourOnClose,\n error: defaultBehaviourOnClose\n });\n\n return notificationService;\n }\n\n /** Method to remove all of notifications from this service instance */\n public destroyAll(): void {\n this.notifications.forEach((notification) => {\n this._destroyNotificationComponent(notification.notificationComponent);\n });\n }\n\n /** Method that informs if there is any notification opened in this service instance */\n public isAnyOpened(): boolean {\n return this.notifications && this.notifications.length > 0;\n }\n\n /** @hidden Method that destroys the Notification component */\n private _destroyNotificationComponent(notification: ComponentRef<NotificationComponent>): void {\n this.notifications = this.notifications.filter((item) => item.notificationComponent !== notification);\n this._dynamicComponentService.destroyComponent(notification);\n\n // If there is no other notification Components, just remove container.\n if (this.notifications.length === 0 && this.containerRef) {\n this._dynamicComponentService.destroyComponent(this.containerRef);\n this.containerRef = null;\n this._restoreFocus();\n } else {\n // otherwise attempt to move focus to previous notification\n const last = this.notifications[this.notifications.length - 1];\n if (last.notificationConfig.shouldTrapFocus) {\n last.notificationComponent.instance.trapFocus();\n } else {\n this._restoreFocus();\n }\n }\n }\n\n /** @hidden attempts to focus previously selected element */\n private _restoreFocus(): void {\n if (typeof this._elementFocusedBeforeNotificationWasOpened?.focus === 'function') {\n this._elementFocusedBeforeNotificationWasOpened.focus();\n }\n }\n}\n","import { NgModule } from '@angular/core';\nimport { DynamicComponentService } from '@fundamental-ngx/cdk/utils';\nimport { NotificationFooterContentDirective } from './directives/notification-footer-content.directive';\nimport { NotificationIndicatorDirective } from './directives/notification-indicator.directive';\nimport { NotificationLimitDescriptionDirective } from './directives/notification-limit-description.directive';\nimport { NotificationLimitTitleDirective } from './directives/notification-limit-title.directive';\nimport { NotificationParagraphDirective } from './directives/notification-paragraph.directive';\nimport { NotificationSeparatorDirective } from './directives/notification-separator.directive';\nimport { NotificationTitleDirective } from './directives/notification-title.directive';\nimport { NotificationActionsComponent } from './notification-actions/notification-actions.component';\nimport { NotificationBodyComponent } from './notification-body/notification-body.component';\nimport { NotificationContentComponent } from './notification-content/notification-content.component';\nimport { NotificationFooterComponent } from './notification-footer/notification-footer.component';\nimport { NotificationGroupHeaderComponent } from './notification-group-header/notification-group-header.component';\nimport { NotificationGroupListComponent } from './notification-group-list/notification-group-list.component';\nimport { NotificationGroupComponent } from './notification-group/notification-group.component';\nimport { NotificationHeaderComponent } from './notification-header/notification-header.component';\nimport { NotificationLimitComponent } from './notification-limit/notification-limit.component';\nimport { NotificationService } from './notification-service/notification.service';\nimport { NotificationContainer } from './notification-utils/notification-container';\nimport { NotificationComponent } from './notification/notification.component';\n\nconst components = [\n NotificationComponent,\n NotificationHeaderComponent,\n NotificationFooterComponent,\n NotificationBodyComponent,\n NotificationContainer,\n NotificationActionsComponent,\n NotificationContentComponent,\n NotificationLimitComponent,\n NotificationGroupHeaderComponent,\n NotificationGroupComponent,\n NotificationGroupListComponent,\n NotificationTitleDirective,\n NotificationIndicatorDirective,\n NotificationParagraphDirective,\n NotificationFooterContentDirective,\n NotificationSeparatorDirective,\n NotificationLimitTitleDirective,\n NotificationLimitDescriptionDirective\n];\n\n@NgModule({\n imports: [...components],\n exports: [...components],\n providers: [DynamicComponentService, NotificationService]\n})\nexport class NotificationModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1"],"mappings":"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"}
|
|
@@ -19,14 +19,6 @@ class ObjectNumberComponent {
|
|
|
19
19
|
/** @hidden */
|
|
20
20
|
this._numberPipeConfig = '';
|
|
21
21
|
}
|
|
22
|
-
/** @hidden */
|
|
23
|
-
ngOnChanges() {
|
|
24
|
-
this._onChanges();
|
|
25
|
-
}
|
|
26
|
-
/** @hidden */
|
|
27
|
-
ngOnInit() {
|
|
28
|
-
this._onChanges();
|
|
29
|
-
}
|
|
30
22
|
/** @hidden
|
|
31
23
|
* CssClassBuilder interface implementation
|
|
32
24
|
* function must return single string
|
|
@@ -41,6 +33,14 @@ class ObjectNumberComponent {
|
|
|
41
33
|
];
|
|
42
34
|
}
|
|
43
35
|
/** @hidden */
|
|
36
|
+
ngOnChanges() {
|
|
37
|
+
this._onChanges();
|
|
38
|
+
}
|
|
39
|
+
/** @hidden */
|
|
40
|
+
ngOnInit() {
|
|
41
|
+
this._onChanges();
|
|
42
|
+
}
|
|
43
|
+
/** @hidden */
|
|
44
44
|
_onChanges() {
|
|
45
45
|
this.buildComponentCssClass();
|
|
46
46
|
this._buildNumberPipeConfig();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fundamental-ngx-core-object-number.mjs","sources":["../../../../libs/core/object-number/object-number.component.ts","../../../../libs/core/object-number/object-number.component.html","../../../../libs/core/object-number/object-number.module.ts","../../../../libs/core/object-number/fundamental-ngx-core-object-number.ts"],"sourcesContent":["import { DecimalPipe } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n Input,\n OnChanges,\n OnInit,\n ViewEncapsulation\n} from '@angular/core';\nimport { CssClassBuilder, Nullable, applyCssClass } from '@fundamental-ngx/cdk/utils';\n\ntype ObjectStatus = 'negative' | 'critical' | 'positive' | 'informative';\n\n@Component({\n selector: 'fd-object-number',\n templateUrl: './object-number.component.html',\n styleUrl: './object-number.component.scss',\n host: {\n '[attr.aria-labelledby]': 'ariaLabelledBy',\n '[attr.aria-label]': 'ariaLabel'\n },\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n imports: [DecimalPipe]\n})\nexport class ObjectNumberComponent implements OnInit, OnChanges, CssClassBuilder {\n /**\n * Numerical value of the object number.\n */\n @Input()\n number: number;\n\n /**\n * Number of decimal places to show\n */\n @Input()\n decimal = 0;\n\n /** Sets unit of measure displayed. */\n @Input()\n unit: string;\n\n /** Set the value to true to display the object number in bold text */\n @Input()\n emphasized = false;\n\n /** Set the value to true to display the object number in large text */\n @Input()\n large = false;\n\n /** Sets status/semantic color 'negative' / 'critical' / 'positive' / 'informative' */\n @Input()\n status: ObjectStatus;\n\n /** User's custom classes */\n @Input()\n class: string;\n\n /** Id of the element that labels object number. */\n @Input()\n ariaLabelledBy: Nullable<string>;\n\n /** Aria label for the object number. */\n @Input()\n ariaLabel: Nullable<string>;\n\n /** @hidden */\n _numberPipeConfig = '';\n\n /** @hidden */\n constructor(public readonly elementRef: ElementRef) {}\n\n /** @hidden
|
|
1
|
+
{"version":3,"file":"fundamental-ngx-core-object-number.mjs","sources":["../../../../libs/core/object-number/object-number.component.ts","../../../../libs/core/object-number/object-number.component.html","../../../../libs/core/object-number/object-number.module.ts","../../../../libs/core/object-number/fundamental-ngx-core-object-number.ts"],"sourcesContent":["import { DecimalPipe } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n Input,\n OnChanges,\n OnInit,\n ViewEncapsulation\n} from '@angular/core';\nimport { CssClassBuilder, Nullable, applyCssClass } from '@fundamental-ngx/cdk/utils';\n\ntype ObjectStatus = 'negative' | 'critical' | 'positive' | 'informative';\n\n@Component({\n selector: 'fd-object-number',\n templateUrl: './object-number.component.html',\n styleUrl: './object-number.component.scss',\n host: {\n '[attr.aria-labelledby]': 'ariaLabelledBy',\n '[attr.aria-label]': 'ariaLabel'\n },\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n imports: [DecimalPipe]\n})\nexport class ObjectNumberComponent implements OnInit, OnChanges, CssClassBuilder {\n /**\n * Numerical value of the object number.\n */\n @Input()\n number: number;\n\n /**\n * Number of decimal places to show\n */\n @Input()\n decimal = 0;\n\n /** Sets unit of measure displayed. */\n @Input()\n unit: string;\n\n /** Set the value to true to display the object number in bold text */\n @Input()\n emphasized = false;\n\n /** Set the value to true to display the object number in large text */\n @Input()\n large = false;\n\n /** Sets status/semantic color 'negative' / 'critical' / 'positive' / 'informative' */\n @Input()\n status: ObjectStatus;\n\n /** User's custom classes */\n @Input()\n class: string;\n\n /** Id of the element that labels object number. */\n @Input()\n ariaLabelledBy: Nullable<string>;\n\n /** Aria label for the object number. */\n @Input()\n ariaLabel: Nullable<string>;\n\n /** @hidden */\n _numberPipeConfig = '';\n\n /** @hidden */\n constructor(public readonly elementRef: ElementRef) {}\n\n /** @hidden\n * CssClassBuilder interface implementation\n * function must return single string\n * function is responsible for order which css classes are applied\n */\n @applyCssClass\n buildComponentCssClass(): string[] {\n return [\n 'fd-object-number',\n this.large ? 'fd-object-number--large' : '',\n this.status ? `fd-object-number--${this.status}` : '',\n this.class\n ];\n }\n\n /** @hidden */\n ngOnChanges(): void {\n this._onChanges();\n }\n\n /** @hidden */\n ngOnInit(): void {\n this._onChanges();\n }\n\n /** @hidden */\n private _onChanges(): void {\n this.buildComponentCssClass();\n this._buildNumberPipeConfig();\n }\n\n /** @hidden */\n private _buildNumberPipeConfig(): void {\n this._numberPipeConfig = `0.${this.decimal}-${this.decimal}`;\n }\n}\n","<span class=\"fd-object-number__text\" [class.fd-object-number__text--bold]=\"!large && emphasized\">\n {{ number | number: (decimal ? _numberPipeConfig : '1.0-0') }}\n</span>\n<span class=\"fd-object-number__unit\">{{ unit }}</span>\n","import { NgModule } from '@angular/core';\n\nimport { ObjectNumberComponent } from './object-number.component';\n\n/**\n * @deprecated\n * Use direct import of `ObjectNumberComponent`\n */\n@NgModule({\n imports: [ObjectNumberComponent],\n exports: [ObjectNumberComponent]\n})\nexport class ObjectNumberModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;MA2Ba,qBAAqB,CAAA;;AA6C9B,IAAA,WAAA,CAA4B,UAAsB,EAAA;QAAtB,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;AAtClD;;AAEG;QAEH,IAAO,CAAA,OAAA,GAAG,CAAC,CAAC;;QAQZ,IAAU,CAAA,UAAA,GAAG,KAAK,CAAC;;QAInB,IAAK,CAAA,KAAA,GAAG,KAAK,CAAC;;QAmBd,IAAiB,CAAA,iBAAA,GAAG,EAAE,CAAC;KAG+B;AAEtD;;;;AAIG;IAEH,sBAAsB,GAAA;QAClB,OAAO;YACH,kBAAkB;YAClB,IAAI,CAAC,KAAK,GAAG,yBAAyB,GAAG,EAAE;AAC3C,YAAA,IAAI,CAAC,MAAM,GAAG,CAAA,kBAAA,EAAqB,IAAI,CAAC,MAAM,CAAA,CAAE,GAAG,EAAE;AACrD,YAAA,IAAI,CAAC,KAAK;SACb,CAAC;KACL;;IAGD,WAAW,GAAA;QACP,IAAI,CAAC,UAAU,EAAE,CAAC;KACrB;;IAGD,QAAQ,GAAA;QACJ,IAAI,CAAC,UAAU,EAAE,CAAC;KACrB;;IAGO,UAAU,GAAA;QACd,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAC9B,IAAI,CAAC,sBAAsB,EAAE,CAAC;KACjC;;IAGO,sBAAsB,GAAA;AAC1B,QAAA,IAAI,CAAC,iBAAiB,GAAG,CAAA,EAAA,EAAK,IAAI,CAAC,OAAO,CAAA,CAAA,EAAI,IAAI,CAAC,OAAO,CAAA,CAAE,CAAC;KAChE;8GAjFQ,qBAAqB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;kGAArB,qBAAqB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,EAAA,MAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,MAAA,EAAA,UAAA,EAAA,YAAA,EAAA,KAAA,EAAA,OAAA,EAAA,MAAA,EAAA,QAAA,EAAA,KAAA,EAAA,OAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,SAAA,EAAA,WAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,sBAAA,EAAA,gBAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,EAAA,EAAA,aAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EC3BlC,gPAIA,EAAA,MAAA,EAAA,CAAA,yjEAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EDqBc,WAAW,EAAA,IAAA,EAAA,QAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA,EAAA;;AAuDrB,UAAA,CAAA;IADC,aAAa;;;;AAQb,CAAA,EAAA,qBAAA,CAAA,SAAA,EAAA,wBAAA,EAAA,IAAA,CAAA,CAAA;2FA5DQ,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBAbjC,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,kBAAkB,EAGtB,IAAA,EAAA;AACF,wBAAA,wBAAwB,EAAE,gBAAgB;AAC1C,wBAAA,mBAAmB,EAAE,WAAW;AACnC,qBAAA,EAAA,aAAA,EACc,iBAAiB,CAAC,IAAI,EAAA,eAAA,EACpB,uBAAuB,CAAC,MAAM,EAAA,UAAA,EACnC,IAAI,EAAA,OAAA,EACP,CAAC,WAAW,CAAC,EAAA,QAAA,EAAA,gPAAA,EAAA,MAAA,EAAA,CAAA,yjEAAA,CAAA,EAAA,CAAA;+EAOtB,MAAM,EAAA,CAAA;sBADL,KAAK;gBAON,OAAO,EAAA,CAAA;sBADN,KAAK;gBAKN,IAAI,EAAA,CAAA;sBADH,KAAK;gBAKN,UAAU,EAAA,CAAA;sBADT,KAAK;gBAKN,KAAK,EAAA,CAAA;sBADJ,KAAK;gBAKN,MAAM,EAAA,CAAA;sBADL,KAAK;gBAKN,KAAK,EAAA,CAAA;sBADJ,KAAK;gBAKN,cAAc,EAAA,CAAA;sBADb,KAAK;gBAKN,SAAS,EAAA,CAAA;sBADR,KAAK;gBAeN,sBAAsB,EAAA,EAAA,EAAA,EAAA,CAAA;;AE5E1B;;;AAGG;MAKU,kBAAkB,CAAA;8GAAlB,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA,EAAA;+GAAlB,kBAAkB,EAAA,OAAA,EAAA,CAHjB,qBAAqB,CAAA,EAAA,OAAA,EAAA,CACrB,qBAAqB,CAAA,EAAA,CAAA,CAAA,EAAA;+GAEtB,kBAAkB,EAAA,CAAA,CAAA,EAAA;;2FAAlB,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAJ9B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACN,OAAO,EAAE,CAAC,qBAAqB,CAAC;oBAChC,OAAO,EAAE,CAAC,qBAAqB,CAAC;AACnC,iBAAA,CAAA;;;ACXD;;AAEG;;;;"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { __metadata, __decorate } from 'tslib';
|
|
2
2
|
import { NgTemplateOutlet } from '@angular/common';
|
|
3
3
|
import * as i0 from '@angular/core';
|
|
4
|
-
import { InjectionToken, Component, ViewEncapsulation, ChangeDetectionStrategy, Input, NgModule } from '@angular/core';
|
|
4
|
+
import { InjectionToken, booleanAttribute, Component, ViewEncapsulation, ChangeDetectionStrategy, Input, NgModule } from '@angular/core';
|
|
5
5
|
import { applyCssClass } from '@fundamental-ngx/cdk/utils';
|
|
6
6
|
import { FD_DEFAULT_ICON_FONT_FAMILY, IconComponent } from '@fundamental-ngx/core/icon';
|
|
7
7
|
|
|
@@ -26,14 +26,6 @@ class ObjectStatusComponent {
|
|
|
26
26
|
/** Whether to use secondary set of indication colors. */
|
|
27
27
|
this.secondaryIndication = false;
|
|
28
28
|
}
|
|
29
|
-
/** @hidden */
|
|
30
|
-
ngOnChanges() {
|
|
31
|
-
this.buildComponentCssClass();
|
|
32
|
-
}
|
|
33
|
-
/** @hidden */
|
|
34
|
-
ngOnInit() {
|
|
35
|
-
this.buildComponentCssClass();
|
|
36
|
-
}
|
|
37
29
|
/** @hidden
|
|
38
30
|
* CssClassBuilder interface implementation
|
|
39
31
|
* function must return single string
|
|
@@ -42,8 +34,16 @@ class ObjectStatusComponent {
|
|
|
42
34
|
buildComponentCssClass() {
|
|
43
35
|
return buildObjectStatusCssClasses(this);
|
|
44
36
|
}
|
|
37
|
+
/** @hidden */
|
|
38
|
+
ngOnChanges() {
|
|
39
|
+
this.buildComponentCssClass();
|
|
40
|
+
}
|
|
41
|
+
/** @hidden */
|
|
42
|
+
ngOnInit() {
|
|
43
|
+
this.buildComponentCssClass();
|
|
44
|
+
}
|
|
45
45
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: ObjectStatusComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
46
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.0", type: ObjectStatusComponent, isStandalone: true, selector: "[fd-object-status]", inputs: { class: "class", status: "status", glyph: "glyph", glyphFont: "glyphFont", label: "label", glyphAriaLabel: "glyphAriaLabel", indicationColor: "indicationColor", clickable: "clickable", inverted: "inverted", large: "large", secondaryIndication: "secondaryIndication", textTemplate: "textTemplate" }, host: { properties: { "attr.tabindex": "clickable ? 0 : null" } }, providers: [
|
|
46
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.0", type: ObjectStatusComponent, isStandalone: true, selector: "[fd-object-status]", inputs: { class: "class", status: "status", glyph: "glyph", glyphFont: "glyphFont", label: "label", glyphAriaLabel: "glyphAriaLabel", indicationColor: "indicationColor", clickable: "clickable", inverted: ["inverted", "inverted", booleanAttribute], large: "large", secondaryIndication: "secondaryIndication", textTemplate: "textTemplate" }, host: { properties: { "attr.tabindex": "clickable ? 0 : null" } }, providers: [
|
|
47
47
|
{
|
|
48
48
|
provide: FD_OBJECT_STATUS_COMPONENT,
|
|
49
49
|
useExisting: ObjectStatusComponent
|
|
@@ -121,7 +121,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImpor
|
|
|
121
121
|
}], clickable: [{
|
|
122
122
|
type: Input
|
|
123
123
|
}], inverted: [{
|
|
124
|
-
type: Input
|
|
124
|
+
type: Input,
|
|
125
|
+
args: [{ transform: booleanAttribute }]
|
|
125
126
|
}], large: [{
|
|
126
127
|
type: Input
|
|
127
128
|
}], secondaryIndication: [{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fundamental-ngx-core-object-status.mjs","sources":["../../../../libs/core/object-status/tokens.ts","../../../../libs/core/object-status/object-status.component.ts","../../../../libs/core/object-status/object-status.module.ts","../../../../libs/core/object-status/fundamental-ngx-core-object-status.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\n\nexport const FD_OBJECT_STATUS_COMPONENT = new InjectionToken('FdObjectStatusComponent');\n","import { NgTemplateOutlet } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n Input,\n OnChanges,\n OnInit,\n TemplateRef,\n ViewEncapsulation\n} from '@angular/core';\nimport { ColorAccent, CssClassBuilder, Nullable, NullableObject
|
|
1
|
+
{"version":3,"file":"fundamental-ngx-core-object-status.mjs","sources":["../../../../libs/core/object-status/tokens.ts","../../../../libs/core/object-status/object-status.component.ts","../../../../libs/core/object-status/object-status.module.ts","../../../../libs/core/object-status/fundamental-ngx-core-object-status.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\n\nexport const FD_OBJECT_STATUS_COMPONENT = new InjectionToken('FdObjectStatusComponent');\n","import { NgTemplateOutlet } from '@angular/common';\nimport {\n booleanAttribute,\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n Input,\n OnChanges,\n OnInit,\n TemplateRef,\n ViewEncapsulation\n} from '@angular/core';\nimport { applyCssClass, ColorAccent, CssClassBuilder, Nullable, NullableObject } from '@fundamental-ngx/cdk/utils';\nimport { FD_DEFAULT_ICON_FONT_FAMILY, IconComponent, IconFont } from '@fundamental-ngx/core/icon';\nimport { FD_OBJECT_STATUS_COMPONENT } from './tokens';\n\nexport type ObjectStatus = 'negative' | 'critical' | 'positive' | 'informative' | 'neutral';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: '[fd-object-status]',\n template: `\n @if (glyph) {\n <fd-icon\n class=\"fd-object-status__icon\"\n [glyph]=\"glyph\"\n [font]=\"glyphFont\"\n [attr.role]=\"glyphAriaLabel ? 'presentation' : ''\"\n [ariaLabel]=\"glyphAriaLabel\"\n >\n </fd-icon>\n }\n @if (textTemplate) {\n <span class=\"fd-object-status__text\" [class]=\"_textClass\">\n <ng-template [ngTemplateOutlet]=\"textTemplate\"></ng-template>\n </span>\n }\n @if (label) {\n <span class=\"fd-object-status__text\" [class]=\"_textClass\">{{ label }}</span>\n }\n `,\n styleUrl: './object-status.component.scss',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: FD_OBJECT_STATUS_COMPONENT,\n useExisting: ObjectStatusComponent\n }\n ],\n host: {\n '[attr.tabindex]': 'clickable ? 0 : null'\n },\n standalone: true,\n imports: [IconComponent, NgTemplateOutlet]\n})\nexport class ObjectStatusComponent implements OnChanges, OnInit, CssClassBuilder {\n /** User's custom classes */\n @Input()\n class: string;\n\n /**\n * The status represented by the Object Status.\n * Can be one of the following: 'negative' | 'critical' | 'positive' | 'informative'\n * For default Object Status omit this property\n */\n @Input()\n status: Nullable<ObjectStatus>;\n\n /**\n * Glyph (icon) of the Object Status.\n */\n @Input()\n glyph: Nullable<string>;\n\n /** Glyph font family */\n @Input()\n glyphFont: IconFont = FD_DEFAULT_ICON_FONT_FAMILY;\n\n /** Define the text content of the Object Status */\n @Input()\n label: Nullable<string>;\n\n /**\n * Label applied to glyph element, should be used when there is no text included\n */\n @Input()\n glyphAriaLabel: string;\n\n /**\n * A number representing the indication color.\n * For non-inverted state available numbers are from 1 to 8.\n * For inverted state available numbers are from 1 to 10.\n */\n @Input()\n indicationColor: Nullable<ColorAccent>;\n\n /** Whether the Object Status is clickable. */\n @Input()\n clickable = false;\n\n /** Whether the Object Status is inverted. */\n @Input({ transform: booleanAttribute })\n inverted = false;\n\n /** Whether the Object Status is in Large Design. */\n @Input()\n large = false;\n\n /** Whether to use secondary set of indication colors. */\n @Input()\n secondaryIndication = false;\n\n /**\n * Template reference for complex object status texts.\n */\n @Input()\n textTemplate: Nullable<TemplateRef<any>>;\n\n /** @hidden */\n _textClass: string;\n\n /** Whether the Object status is icon-only. */\n get iconOnly(): boolean {\n return !this.label && !this.textTemplate;\n }\n\n /** @hidden */\n constructor(public readonly elementRef: ElementRef) {}\n\n /** @hidden\n * CssClassBuilder interface implementation\n * function must return single string\n * function is responsible for order which css classes are applied\n */\n @applyCssClass\n buildComponentCssClass(): string[] {\n return buildObjectStatusCssClasses(this);\n }\n\n /** @hidden */\n ngOnChanges(): void {\n this.buildComponentCssClass();\n }\n\n /** @hidden */\n ngOnInit(): void {\n this.buildComponentCssClass();\n }\n}\n\ntype ObjectStatusData = NullableObject<{\n status: ObjectStatus;\n inverted: boolean;\n large: boolean;\n indicationColor: number;\n clickable: boolean;\n class: string;\n iconOnly: boolean;\n secondaryIndication: boolean;\n}>;\n\nexport const buildObjectStatusCssClasses = (data: ObjectStatusData): string[] => [\n 'fd-object-status',\n data.inverted ? 'fd-object-status--inverted' : '',\n data.large ? 'fd-object-status--large' : '',\n data.status ? `fd-object-status--${data.status}` : '',\n data.indicationColor\n ? `fd-object-status--indication-${data.indicationColor}${data.secondaryIndication ? 'b' : ''}`\n : '',\n data.clickable ? 'fd-object-status--link' : '',\n data.iconOnly ? 'fd-object-status--icon-only' : '',\n data.class || ''\n];\n","import { NgModule } from '@angular/core';\nimport { ObjectStatusComponent } from './object-status.component';\n\n/**\n * @deprecated\n * Use `ObjectStatusComponent` import instead.\n */\n@NgModule({\n imports: [ObjectStatusComponent],\n exports: [ObjectStatusComponent]\n})\nexport class ObjectStatusModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;MAEa,0BAA0B,GAAG,IAAI,cAAc,CAAC,yBAAyB;;MCsDzE,qBAAqB,CAAA;;AAmE9B,IAAA,IAAI,QAAQ,GAAA;QACR,OAAO,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC;KAC5C;;AAGD,IAAA,WAAA,CAA4B,UAAsB,EAAA;QAAtB,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;;QAnDlD,IAAS,CAAA,SAAA,GAAa,2BAA2B,CAAC;;QAsBlD,IAAS,CAAA,SAAA,GAAG,KAAK,CAAC;;QAIlB,IAAQ,CAAA,QAAA,GAAG,KAAK,CAAC;;QAIjB,IAAK,CAAA,KAAA,GAAG,KAAK,CAAC;;QAId,IAAmB,CAAA,mBAAA,GAAG,KAAK,CAAC;KAiB0B;AAEtD;;;;AAIG;IAEH,sBAAsB,GAAA;AAClB,QAAA,OAAO,2BAA2B,CAAC,IAAI,CAAC,CAAC;KAC5C;;IAGD,WAAW,GAAA;QACP,IAAI,CAAC,sBAAsB,EAAE,CAAC;KACjC;;IAGD,QAAQ,GAAA;QACJ,IAAI,CAAC,sBAAsB,EAAE,CAAC;KACjC;8GA5FQ,qBAAqB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;kGAArB,qBAAqB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,OAAA,EAAA,MAAA,EAAA,QAAA,EAAA,KAAA,EAAA,OAAA,EAAA,SAAA,EAAA,WAAA,EAAA,KAAA,EAAA,OAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,SAAA,EAAA,WAAA,EAAA,QAAA,EAAA,CAAA,UAAA,EAAA,UAAA,EA8CV,gBAAgB,CA1DzB,EAAA,KAAA,EAAA,OAAA,EAAA,mBAAA,EAAA,qBAAA,EAAA,YAAA,EAAA,cAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,eAAA,EAAA,sBAAA,EAAA,EAAA,EAAA,SAAA,EAAA;AACP,YAAA;AACI,gBAAA,OAAO,EAAE,0BAA0B;AACnC,gBAAA,WAAW,EAAE,qBAAqB;AACrC,aAAA;SACJ,EA5BS,aAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA;;;;;;;;;;;;;;;;;;;KAmBT,EAcS,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,+5uFAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,aAAa,0IAAE,gBAAgB,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,EAAA,0BAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA,EAAA;;AAkFzC,UAAA,CAAA;IADC,aAAa;;;;AAGb,CAAA,EAAA,qBAAA,CAAA,SAAA,EAAA,wBAAA,EAAA,IAAA,CAAA,CAAA;2FAlFQ,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBAtCjC,SAAS;AAEI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,oBAAoB,EACpB,QAAA,EAAA,CAAA;;;;;;;;;;;;;;;;;;;AAmBT,IAAA,CAAA,EAAA,aAAA,EAEc,iBAAiB,CAAC,IAAI,mBACpB,uBAAuB,CAAC,MAAM,EACpC,SAAA,EAAA;AACP,wBAAA;AACI,4BAAA,OAAO,EAAE,0BAA0B;AACnC,4BAAA,WAAW,EAAuB,qBAAA;AACrC,yBAAA;qBACJ,EACK,IAAA,EAAA;AACF,wBAAA,iBAAiB,EAAE,sBAAsB;AAC5C,qBAAA,EAAA,UAAA,EACW,IAAI,EACP,OAAA,EAAA,CAAC,aAAa,EAAE,gBAAgB,CAAC,EAAA,MAAA,EAAA,CAAA,+5uFAAA,CAAA,EAAA,CAAA;+EAK1C,KAAK,EAAA,CAAA;sBADJ,KAAK;gBASN,MAAM,EAAA,CAAA;sBADL,KAAK;gBAON,KAAK,EAAA,CAAA;sBADJ,KAAK;gBAKN,SAAS,EAAA,CAAA;sBADR,KAAK;gBAKN,KAAK,EAAA,CAAA;sBADJ,KAAK;gBAON,cAAc,EAAA,CAAA;sBADb,KAAK;gBASN,eAAe,EAAA,CAAA;sBADd,KAAK;gBAKN,SAAS,EAAA,CAAA;sBADR,KAAK;gBAKN,QAAQ,EAAA,CAAA;sBADP,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE,CAAA;gBAKtC,KAAK,EAAA,CAAA;sBADJ,KAAK;gBAKN,mBAAmB,EAAA,CAAA;sBADlB,KAAK;gBAON,YAAY,EAAA,CAAA;sBADX,KAAK;gBAoBN,sBAAsB,EAAA,EAAA,EAAA,EAAA,CAAA,CAAA;MA0Bb,2BAA2B,GAAG,CAAC,IAAsB,KAAe;IAC7E,kBAAkB;IAClB,IAAI,CAAC,QAAQ,GAAG,4BAA4B,GAAG,EAAE;IACjD,IAAI,CAAC,KAAK,GAAG,yBAAyB,GAAG,EAAE;AAC3C,IAAA,IAAI,CAAC,MAAM,GAAG,CAAA,kBAAA,EAAqB,IAAI,CAAC,MAAM,CAAA,CAAE,GAAG,EAAE;AACrD,IAAA,IAAI,CAAC,eAAe;AAChB,UAAE,CAAgC,6BAAA,EAAA,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,mBAAmB,GAAG,GAAG,GAAG,EAAE,CAAE,CAAA;AAC9F,UAAE,EAAE;IACR,IAAI,CAAC,SAAS,GAAG,wBAAwB,GAAG,EAAE;IAC9C,IAAI,CAAC,QAAQ,GAAG,6BAA6B,GAAG,EAAE;IAClD,IAAI,CAAC,KAAK,IAAI,EAAE;;;ACzKpB;;;AAGG;MAKU,kBAAkB,CAAA;8GAAlB,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA,EAAA;+GAAlB,kBAAkB,EAAA,OAAA,EAAA,CAHjB,qBAAqB,CAAA,EAAA,OAAA,EAAA,CACrB,qBAAqB,CAAA,EAAA,CAAA,CAAA,EAAA;AAEtB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,kBAAkB,YAHjB,qBAAqB,CAAA,EAAA,CAAA,CAAA,EAAA;;2FAGtB,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAJ9B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACN,OAAO,EAAE,CAAC,qBAAqB,CAAC;oBAChC,OAAO,EAAE,CAAC,qBAAqB,CAAC;AACnC,iBAAA,CAAA;;;ACVD;;AAEG;;;;"}
|