@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-nested-list.mjs","sources":["../../../../libs/core/nested-list/nested-item/nested-item.service.ts","../../../../libs/core/nested-list/nested-list-directives.ts","../../../../libs/core/nested-list/nested-link/nested-link.directive.ts","../../../../libs/core/nested-list/nested-content/nested-list-content.directive.ts","../../../../libs/core/nested-list/nested-list-keyboard.service.ts","../../../../libs/core/nested-list/nested-list-state.service.ts","../../../../libs/core/nested-list/nested-item/nested-item.directive.ts","../../../../libs/core/nested-list/nested-list-popover/nested-list-popover.component.ts","../../../../libs/core/nested-list/nested-list-popover/nested-list-popover.component.html","../../../../libs/core/nested-list/nested-list/nested-list.directive.ts","../../../../libs/core/nested-list/prepared-nested-list/prepared-nested-list.component.ts","../../../../libs/core/nested-list/prepared-nested-list/prepared-nested-list.component.html","../../../../libs/core/nested-list/nested-list.module.ts","../../../../libs/core/nested-list/fundamental-ngx-core-nested-list.ts"],"sourcesContent":["import { Subject } from 'rxjs';\nimport { NestedListPopoverInterface } from '../nested-list-popover/nested-list-popover.interface';\nimport { NestedListInterface } from '../nested-list/nested-list.interface';\n\n/** Contains references to popover or list nested components, that are placed as direct children of item component */\nexport class NestedItemService {\n /** @hidden */\n list: NestedListInterface;\n /** @hidden */\n popover?: NestedListPopoverInterface;\n\n /** Subject fired when expand icon is clicked */\n toggle: Subject<boolean> = new Subject<boolean>();\n\n /** Subject fired, when child elements are focused */\n focus: Subject<void> = new Subject<void>();\n\n /** Subject fired, when content or link is clicked */\n click: Subject<void> = new Subject<void>();\n\n /** KeyDown handler, it is triggered from link, content and item elements */\n keyDown: Subject<KeyboardEvent> = new Subject<KeyboardEvent>();\n}\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n Directive,\n ElementRef,\n HostBinding,\n HostListener,\n Input,\n Optional,\n ViewEncapsulation,\n computed\n} from '@angular/core';\nimport { RtlService } from '@fundamental-ngx/cdk/utils';\nimport { IconComponent } from '@fundamental-ngx/core/icon';\nimport { NestedItemService } from './nested-item/nested-item.service';\n\nlet uniqueId = 0;\n\n@Directive({\n selector: '[fdNestedDirectivesHeader], [fd-nested-list-header]',\n standalone: true\n})\nexport class NestedListHeaderDirective {\n /** Id of the element. */\n @Input()\n @HostBinding('attr.id')\n id: string | null = `fd-nested-list-group-header-${++uniqueId}`;\n\n /** @hidden */\n @HostBinding('class.fd-nested-list__group-header')\n fdNestedListHeaderClass = true;\n\n /** @hidden */\n constructor(private _elementRef: ElementRef) {}\n\n /** Get the header title */\n get title(): string {\n return this._elementRef.nativeElement.textContent;\n }\n}\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: '[fdNestedDirectivesIcon], [fd-nested-list-icon]',\n template: `<ng-content></ng-content>`,\n standalone: true\n})\nexport class NestedListIconComponent extends IconComponent {\n /** Role attribute */\n @Input()\n @HostBinding('attr.role')\n role = 'presentation';\n\n /** @hidden */\n @HostBinding('class.fd-nested-list__icon')\n fdNestedListIconClass = true;\n}\n\n@Directive({\n selector: '[fdNestedDirectivesTitle], [fd-nested-list-title]',\n standalone: true\n})\nexport class NestedListTitleDirective {\n /** @hidden */\n @HostBinding('class.fd-nested-list__title')\n fdNestedListTitleClass = true;\n\n /** @hidden */\n constructor(private elementRef: ElementRef) {}\n\n /** Returns element's InnerText */\n getInnerText(): string {\n return this.elementRef && this.elementRef.nativeElement.textContent;\n }\n}\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: '[fdNestedListExpandIcon], [fd-nested-list-expand-icon]',\n template: `\n <ng-content></ng-content>\n <fd-icon [glyph]=\"expanded ? 'navigation-down-arrow' : sideArrowIcon$()\"></fd-icon>\n `,\n host: {\n 'aria-haspopup': 'true',\n tabindex: '-1'\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n standalone: true,\n imports: [IconComponent]\n})\nexport class NestedListExpandIconComponent {\n /** @hidden */\n @HostBinding('class.fd-nested-list__button')\n fdNestedListTitleClass = true;\n\n /** @hidden */\n @HostBinding('class.fd-button')\n fdButtonClass = true;\n\n /**\n * @hidden\n * Attribute controlled by the parent `NestedItemDirective`\n */\n @HostBinding('class.is-expanded')\n @HostBinding('attr.aria-expanded')\n expanded = false;\n\n /** @hidden */\n @HostBinding('attr.aria-hidden')\n ariaHidden = true;\n\n /** @hidden */\n sideArrowIcon$ = computed(() =>\n this._rtlService?.rtlSignal() ? 'navigation-left-arrow' : 'navigation-right-arrow'\n );\n\n /** @hidden */\n constructor(\n private _itemService: NestedItemService,\n private _changeDetRef: ChangeDetectorRef,\n @Optional() private _rtlService: RtlService\n ) {}\n\n /** Mouse event handler */\n @HostListener('click', ['$event'])\n onClick(event: MouseEvent): void {\n this.expanded = !this.expanded;\n this._itemService.toggle.next(this.expanded);\n event.stopPropagation();\n }\n\n /** Handler for focus events */\n @HostListener('focus')\n onFocus(): void {\n this._itemService.focus.next();\n }\n\n /** @hidden */\n changeExpandedState(expanded: boolean): void {\n this.expanded = expanded;\n this._changeDetRef.detectChanges();\n }\n}\n","import {\n ChangeDetectorRef,\n ContentChild,\n Directive,\n ElementRef,\n EventEmitter,\n HostBinding,\n HostListener,\n Input,\n Output\n} from '@angular/core';\nimport { Nullable } from '@fundamental-ngx/cdk/utils';\nimport { NestedItemLink } from '../nested-item/nested-item.interface';\nimport { NestedItemService } from '../nested-item/nested-item.service';\nimport { NestedListTitleDirective } from '../nested-list-directives';\n\n@Directive({\n selector: '[fdNestedLink], [fd-nested-list-link]',\n standalone: true\n})\nexport class NestedLinkDirective implements NestedItemLink {\n /** Function that is called on click event dispatch on this element. */\n @Input()\n onClickCallback: () => void;\n\n /** Whether this element is selected*/\n @Input()\n @HostBinding('class.is-selected')\n selected = false;\n\n /** @hidden */\n @HostBinding('attr.aria-label')\n _ariaLabel: string;\n\n /** @hidden */\n @Input()\n @HostBinding('attr.aria-describedby')\n ariaDescribedby: Nullable<string | number>;\n\n /** Event thrown, when selected state is changed */\n @Output()\n selectedChange: EventEmitter<boolean> = new EventEmitter<boolean>();\n\n /** @hidden */\n @HostBinding('class.fd-nested-list__link')\n fdNestedListItemClass = true;\n\n /** @hidden */\n @HostBinding('attr.tabindex')\n tabIndex = 0;\n\n /** @hidden */\n @HostBinding('attr.role')\n role = 'treeitem';\n\n /**\n * @hidden\n * Reference to title element, it is used, to get title for condensed mode.\n */\n @ContentChild(NestedListTitleDirective)\n title: NestedListTitleDirective;\n\n /** @hidden */\n constructor(\n public changeDetRef: ChangeDetectorRef,\n private _elementRef: ElementRef,\n private _itemService: NestedItemService\n ) {}\n\n /** Handler for keyboard events */\n @HostListener('keydown', ['$event'])\n onKeyDown(event: KeyboardEvent): void {\n this._itemService.keyDown.next(event);\n }\n\n /** Handler for mouse events */\n @HostListener('click', ['$event'])\n onClick(): void {\n this._itemService.click.next();\n if (this.onClickCallback) {\n this.onClickCallback();\n }\n }\n\n /** Handler for focus events */\n @HostListener('focus')\n onFocus(): void {\n this._itemService.focus.next();\n }\n\n /** Method to trigger selected state change */\n changeSelected(selected: boolean): void {\n this.selected = selected;\n this.selectedChange.emit(selected);\n }\n\n /** Set focus on the element. */\n focus(): void {\n this._elementRef.nativeElement.focus();\n }\n\n /** Dispatches the click event on the element */\n click(): void {\n this._elementRef.nativeElement.click();\n }\n\n /** Returns the title value of the title directive */\n getTitle(): string {\n return this.title && this.title.getInnerText();\n }\n}\n","import {\n AfterContentInit,\n ChangeDetectorRef,\n ContentChild,\n DestroyRef,\n Directive,\n ElementRef,\n EventEmitter,\n HostBinding,\n HostListener,\n Input,\n Output,\n inject\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { NestedItemService } from '../nested-item/nested-item.service';\nimport { NestedLinkDirective } from '../nested-link/nested-link.directive';\nimport { NestedListExpandIconComponent } from '../nested-list-directives';\n\n@Directive({\n selector: '[fdNestedListContent], [fd-nested-list-content]',\n host: {\n tabindex: '0'\n },\n standalone: true\n})\nexport class NestedListContentDirective implements AfterContentInit {\n /** Whether this element is selected*/\n @Input()\n @HostBinding('class.is-selected')\n selected = false;\n\n /** @hidden */\n @HostBinding('attr.role')\n role = 'treeitem';\n\n /** @hidden */\n @HostBinding('attr.aria-expanded')\n ariaExpanded = false;\n\n /** Event thrown, when selected state is changed */\n @Output()\n selectedChange: EventEmitter<boolean> = new EventEmitter<boolean>();\n\n /** Event that is thrown, when any keyboard event is dispatched on this element */\n @Output()\n readonly keyboardTriggered: EventEmitter<KeyboardEvent> = new EventEmitter<KeyboardEvent>();\n\n /** Event that is thrown, when this element is clicked */\n @Output()\n readonly clicked: EventEmitter<MouseEvent> = new EventEmitter<MouseEvent>();\n\n /** @hidden */\n @HostBinding('class.fd-nested-list__content')\n fdNestedListContentClass = true;\n\n /**\n * @hidden\n * Attribute controlled by the parent `NestedItemDirective`\n */\n @HostBinding('class.has-child')\n hasChildren = false;\n\n /** @hidden */\n @ContentChild(NestedLinkDirective)\n nestedLink: NestedLinkDirective;\n\n /** @hidden */\n @ContentChild(NestedListExpandIconComponent)\n nestedExpandIcon: NestedListExpandIconComponent;\n\n /** An RxJS Subject that will kill the data stream upon component’s destruction (for unsubscribing) */\n private readonly _destroyRef = inject(DestroyRef);\n\n /** @hidden */\n constructor(\n public changeDetRef: ChangeDetectorRef,\n private _elementRef: ElementRef,\n private _itemService: NestedItemService\n ) {}\n\n /** @hidden */\n ngAfterContentInit(): void {\n this._makeLinkUnFocusable();\n this._setFocusSubscription();\n }\n\n /** Keyboard Event Handler */\n @HostListener('keydown', ['$event'])\n onKeyDown(event: KeyboardEvent): void {\n this.keyboardTriggered.emit(event);\n this._itemService.keyDown.next(event);\n }\n\n /** Handler for mouse events */\n @HostListener('click', ['$event'])\n onClick(): void {\n this._itemService.click.next();\n }\n\n /** Method to trigger selected state change */\n changeSelected(selected: boolean): void {\n this.selected = selected;\n this.selectedChange.emit(selected);\n }\n\n /** Expanded state change propagation method */\n changeExpandedState(expanded: boolean): void {\n if (this.nestedExpandIcon) {\n this.nestedExpandIcon.changeExpandedState(expanded);\n }\n }\n\n /** Set focus on the element. */\n focus(): void {\n this._elementRef.nativeElement.focus();\n }\n\n /** Dispatches the click event on the element */\n click(): void {\n this.focus();\n if (this.nestedLink) {\n this.nestedLink.click();\n }\n }\n\n /** Add subscription for child focusing */\n private _setFocusSubscription(): void {\n this._itemService.focus.pipe(takeUntilDestroyed(this._destroyRef)).subscribe(() => this.focus());\n }\n\n /** Hide link child element from tab key */\n private _makeLinkUnFocusable(): void {\n if (this.nestedLink) {\n this.nestedLink.tabIndex = -1;\n this.changeDetRef.detectChanges();\n }\n }\n}\n","import { ENTER, LEFT_ARROW, RIGHT_ARROW, SPACE } from '@angular/cdk/keycodes';\nimport { DestroyRef, Inject, Injectable, inject } from '@angular/core';\nimport { KeyUtil, destroyObservable } from '@fundamental-ngx/cdk/utils';\nimport { MenuKeyboardService } from '@fundamental-ngx/core/menu';\nimport { Subject, merge } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { NestedItemInterface } from './nested-item/nested-item.interface';\nimport { NestedListInterface } from './nested-list/nested-list.interface';\n\n/**\n * Nested list keyboard service, which uses MenuKeyboardService, to deal with ArrowUp, ArrowDown, Space, Enter.\n * Also has own handling of ArrowLeft and ArrowRight, to open/close the menu if it has any children.\n */\n@Injectable()\nexport class NestedListKeyboardService {\n /**\n * Event, that is thrown always, when the open/close i being called on item components.\n * Also triggers changing of elements, to remove closed/hidden elements\n */\n readonly refresh$: Subject<void> = new Subject<void>();\n\n /** @hidden */\n private readonly _destroyRef = inject(DestroyRef);\n\n /** @hidden */\n constructor(@Inject(MenuKeyboardService) private keyboardService: MenuKeyboardService) {}\n\n /**\n * Function called after refresh$ event is triggered.\n * Refresh the list of NestedItems, that the keyboard support should be provided for\n */\n refreshItems(lists: NestedListInterface[]): void {\n const items: NestedItemInterface[] = [];\n\n /** Gathering all of the items */\n lists.forEach((list) => items.push(...this._getAllListItems(list)));\n /** Putting the keyboard support function to each of the items */\n items.forEach((item, index) => {\n item.keyboardTriggered\n .pipe(takeUntil(merge(this.refresh$, destroyObservable(this._destroyRef))))\n .subscribe((keyboardEvent: KeyboardEvent) => this._handleKeyDown(keyboardEvent, index, items));\n });\n }\n\n /** Recursive function to get all of the NestedItem elements in correct order. */\n private _getItems(item: NestedItemInterface): NestedItemInterface[] {\n const childrenItems = item.expanded ? item.allChildrenItems : [];\n return childrenItems.reduce(\n (actualArray: NestedItemInterface[], nextItem: NestedItemInterface) => [\n ...actualArray,\n ...this._getItems(nextItem)\n ],\n [item]\n );\n }\n\n /** Method that calls the recursive function, getItems() and gathers all of the items in the NestedList */\n private _getAllListItems(list: NestedListInterface): NestedItemInterface[] {\n const _items: NestedItemInterface[] = [];\n if (list && list.nestedItems && list.nestedItems.length > 0) {\n list.nestedItems.forEach((item) => {\n _items.push(...this._getItems(item));\n });\n }\n\n return _items;\n }\n\n /**\n * Keyboard handle function. Uses keyboard support service from MenuComponent, to deal with ArrowUp, ArrowDown, Space, Enter.\n * For ArrowRight, if item is not expanded and has children (list or popup), the open function is triggered.\n * Otherwise it follows ArrowDown functionality.\n * For ArrowLeft, if item is expanded and has children (list or popup), the close function is triggered.\n * Otherwise it follows ArrowUp functionality\n */\n private _handleKeyDown(keyboardEvent: KeyboardEvent, index: number, items: NestedItemInterface[]): void {\n const item: NestedItemInterface = items[index];\n\n if (KeyUtil.isKeyCode(keyboardEvent, RIGHT_ARROW)) {\n if (!item.expanded && item.hasChildren) {\n item.triggerOpen();\n }\n keyboardEvent.preventDefault();\n }\n\n if (KeyUtil.isKeyCode(keyboardEvent, LEFT_ARROW)) {\n if (item.expanded && item.hasChildren) {\n item.triggerClose();\n }\n keyboardEvent.preventDefault();\n }\n\n if (KeyUtil.isKeyCode(keyboardEvent, [ENTER, SPACE])) {\n if (item.hasChildren) {\n items[index].click();\n }\n keyboardEvent.preventDefault();\n }\n\n this.keyboardService.keyDownHandler(keyboardEvent, index, items);\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Subject } from 'rxjs';\n\n@Injectable()\nexport class NestedListStateService {\n /**\n * @hidden\n * The condensed state is modified by the parent and read by nested lists.\n */\n condensed = false;\n\n /**\n * @hidden\n */\n selectable = true;\n\n /** @hidden */\n onSelected: Subject<string> = new Subject<string>();\n}\n","import {\n AfterContentInit,\n ContentChild,\n DestroyRef,\n Directive,\n EventEmitter,\n HostBinding,\n Input,\n Output,\n inject\n} from '@angular/core';\nimport { filter } from 'rxjs/operators';\n\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { Nullable } from '@fundamental-ngx/cdk/utils';\nimport { NestedListContentDirective } from '../nested-content/nested-list-content.directive';\nimport { NestedLinkDirective } from '../nested-link/nested-link.directive';\nimport { NestedListKeyboardService } from '../nested-list-keyboard.service';\nimport { NestedListStateService } from '../nested-list-state.service';\nimport { NestedItemInterface } from './nested-item.interface';\nimport { NestedItemService } from './nested-item.service';\n\nlet sideNavigationItemUniqueId = 0;\n\n@Directive({\n selector: '[fdNestedItem], [fd-nested-list-item]',\n providers: [NestedItemService],\n host: {\n role: 'treeitem'\n },\n standalone: true\n})\nexport class NestedItemDirective implements AfterContentInit, NestedItemInterface {\n /** Whether item should be expanded */\n @Input() set expanded(expanded: boolean) {\n if (expanded !== this._expanded) {\n this.propagateOpenChange(expanded);\n }\n }\n\n /** @hidden */\n get expanded(): boolean {\n return this._expanded;\n }\n\n /** Event thrown, when expanded state is changed */\n @Output()\n readonly expandedChange: EventEmitter<boolean> = new EventEmitter<boolean>();\n\n /** Event thrown, when any keyboard event is dispatched on this, or link element */\n @Output()\n readonly keyboardTriggered: EventEmitter<KeyboardEvent> = new EventEmitter<KeyboardEvent>();\n\n /** @hidden */\n @HostBinding('class.fd-nested-list__item')\n fdNestedListItemClass = true;\n\n /**\n * @hidden\n * Reference to the link directive, to allow manipulating the properties of this element.\n */\n @ContentChild(NestedLinkDirective)\n linkItem: NestedLinkDirective;\n\n /**\n * @hidden\n * Mostly used, when this item has list\n * Reference to the content directive, to allow manipulating the properties of this element.\n */\n @ContentChild(NestedListContentDirective)\n contentItem: NestedListContentDirective;\n\n /** @hidden */\n @HostBinding('attr.aria-level')\n _ariaLevel: Nullable<number> = null;\n\n /** @hidden */\n @HostBinding('attr.title')\n _title: string;\n\n /** @hidden */\n @HostBinding('attr.role')\n private _role: string;\n\n /** @hidden */\n private _expanded = false;\n\n /** @hidden */\n @HostBinding('attr.aria-expanded')\n private _ariaExpanded: Nullable<boolean> = null;\n\n /** @hidden */\n @HostBinding('attr.aria-selected')\n private _ariaSelected: Nullable<boolean> = null;\n\n /** @hidden */\n @HostBinding('attr.aria-disabled')\n private _ariaDisabled = false;\n\n /** @hidden */\n @HostBinding('attr.aria-label')\n private _ariaLabel: string;\n\n /** @hidden */\n @HostBinding('attr.aria-hidden')\n private _ariaHidden = true;\n\n /** An RxJS Subject that will kill the data stream upon component’s destruction (for unsubscribing) */\n private readonly _destroyRef = inject(DestroyRef);\n\n /** Unique element ID */\n private readonly _elementId: string = 'fdNestedItem' + sideNavigationItemUniqueId++;\n\n /** @hidden */\n constructor(\n private _itemService: NestedItemService,\n private _keyboardService: NestedListKeyboardService,\n private _stateService: NestedListStateService\n ) {}\n\n /** @hidden */\n ngAfterContentInit(): void {\n this._setUpSubscriptions();\n this._propagateHasChildrenProperty();\n this._passItemReferences();\n /** Propagate initial open state to children */\n this.propagateOpenChange(this._expanded);\n\n if (this.linkItem) {\n this._ariaSelected = this.linkItem.selected;\n this._ariaDisabled = !this._stateService.selectable && !this.linkItem.selected;\n this._title = this.linkItem.getTitle();\n }\n }\n\n /** Check if the item element has any child */\n get hasChildren(): boolean {\n return !!this._itemService?.list;\n }\n\n /** Get all of the children item elements */\n get allChildrenItems(): NestedItemInterface[] {\n if (this._itemService?.list) {\n return this._itemService.list.nestedItems.toArray();\n }\n\n return [];\n }\n\n /** Method that expand the item and propagate it to children */\n triggerOpen(): void {\n if (!this.expanded) {\n /** Propagate initial open state to children */\n this.propagateOpenChange(true);\n }\n }\n\n /** Method that close the item and propagate it to children */\n triggerClose(): void {\n if (this.expanded) {\n /** Propagate initial open state to children */\n this.propagateOpenChange(false);\n }\n }\n\n /** Method that toggle the item and propagate it to children */\n toggle(): void {\n /** Propagate initial open state to children */\n this.propagateOpenChange(!this._expanded);\n }\n\n /** Method that dispatches `click` event on link item*/\n click(): void {\n if (this.contentItem) {\n this.contentItem.click();\n } else if (this.linkItem) {\n this.linkItem.click();\n }\n }\n\n /** Method that focuses link item*/\n focus(): void {\n if (this.contentItem) {\n this.contentItem.focus();\n } else if (this.linkItem) {\n this.linkItem.focus();\n }\n }\n\n /** Method that provides information if element, or children of this element has passed id */\n containsId(id: string): boolean {\n if (this._elementId === id) {\n return true;\n }\n\n if (this._itemService.list) {\n return !!this._itemService.list.nestedItems.find((item) => item.containsId(id));\n }\n\n return false;\n }\n\n /**\n * @hidden\n * Propagate open state to all of the children\n */\n private propagateOpenChange(open: boolean): void {\n this._expanded = open;\n\n if (this.hasChildren) {\n this._ariaExpanded = this._expanded;\n }\n\n /**\n * Propagate to child content directive, which contains icon and link\n */\n if (this.contentItem) {\n this.contentItem.changeExpandedState(open);\n this.contentItem.ariaExpanded = this._expanded;\n }\n\n /** Propagate hidden flag to list component, that is passed from child */\n if (this._itemService.list) {\n this._itemService.list.hidden = !open;\n this._itemService.list.detectChanges();\n }\n\n /** Propagate open flag to popover list component, that is passed from child */\n if (this._itemService.popover) {\n this._itemService.popover.open = open;\n }\n\n /**\n * If there are any list below\n * Trigger event to provide keyboard support to new list of opened item element.\n * */\n if (this._shouldRefreshKeyboardService()) {\n this._keyboardService.refresh$.next();\n }\n\n this.expandedChange.emit(open);\n }\n\n /** @hidden */\n private _shouldRefreshKeyboardService(): boolean {\n return !!(this._itemService.popover || this._itemService.list || this.contentItem);\n }\n\n /** @hidden */\n private _setUpSubscriptions(): void {\n if (this._stateService.condensed) {\n this._role = 'menuitemradio';\n }\n\n /** Subscribe to mouse click event, thrown by link item */\n this._itemService.toggle.pipe(takeUntilDestroyed(this._destroyRef)).subscribe(() => this.toggle());\n\n /** Subscribe to mouse click event, thrown by link item */\n this._itemService.click\n .pipe(takeUntilDestroyed(this._destroyRef))\n .subscribe(() => this._stateService.onSelected.next(this._elementId));\n\n /** Subscribe to keyboard event and throw it farther */\n this._itemService.keyDown\n .pipe(takeUntilDestroyed(this._destroyRef))\n .subscribe((keyboardEvent) => this.keyboardTriggered.emit(keyboardEvent));\n\n /** Subscribe to selected state change, it's not triggered, when selectable flag is disabled*/\n this._stateService.onSelected\n .pipe(\n takeUntilDestroyed(this._destroyRef),\n filter(() => this._stateService.selectable)\n )\n .subscribe((id) => this._selectedChange(id));\n }\n\n /** @hidden */\n private _propagateHasChildrenProperty(): void {\n if (this.contentItem && this.hasChildren) {\n this._ariaExpanded = false;\n this.contentItem.hasChildren = true;\n this.contentItem.changeDetRef.detectChanges();\n }\n }\n\n /** Pass this element to popover child item, to allow control `expanded` value */\n private _passItemReferences(): void {\n if (this._itemService.popover) {\n this._itemService.popover.parentItemElement = this;\n }\n }\n\n /** Change of selected state of content or link, if there is any children with I */\n private _selectedChange(id: string): void {\n const selected = this.containsId(id);\n this._ariaSelected = selected;\n\n if (this.contentItem) {\n this.contentItem.changeSelected(selected);\n } else if (this.linkItem) {\n this.linkItem.changeSelected(selected);\n }\n }\n}\n","import {\n AfterContentInit,\n ChangeDetectionStrategy,\n Component,\n ContentChild,\n HostBinding,\n Input,\n Optional,\n ViewChild,\n ViewEncapsulation,\n computed\n} from '@angular/core';\n\nimport { RtlService } from '@fundamental-ngx/cdk/utils';\nimport { PopoverBodyComponent, PopoverComponent, PopoverControlComponent } from '@fundamental-ngx/core/popover';\nimport { Placement } from '@fundamental-ngx/core/shared';\nimport { NestedListContentDirective } from '../nested-content/nested-list-content.directive';\nimport { NestedItemInterface } from '../nested-item/nested-item.interface';\nimport { NestedItemService } from '../nested-item/nested-item.service';\nimport { NestedLinkDirective } from '../nested-link/nested-link.directive';\nimport { NestedListTitleDirective } from '../nested-list-directives';\nimport { NestedListKeyboardService } from '../nested-list-keyboard.service';\nimport { NestedListPopoverInterface } from './nested-list-popover.interface';\n\n@Component({\n selector: 'fd-nested-list-popover',\n templateUrl: './nested-list-popover.component.html',\n styleUrl: './nested-list-popover.component.scss',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n imports: [\n PopoverComponent,\n PopoverControlComponent,\n PopoverBodyComponent,\n NestedLinkDirective,\n NestedListTitleDirective\n ]\n})\nexport class NestedListPopoverComponent implements NestedListPopoverInterface, AfterContentInit {\n /** @hidden\n * For Internal Usage - Gets information about title, which should be displayed inside popover\n */\n @Input()\n title = '';\n\n /** @hidden */\n @ViewChild(PopoverComponent)\n popoverComponent: PopoverComponent;\n\n /** @hidden */\n @HostBinding('class.fd-nested-list__popover')\n popoverClass = true;\n\n /** @hidden */\n @ContentChild(NestedLinkDirective)\n linkDirective: NestedLinkDirective;\n\n /** @hidden */\n @ContentChild(NestedListContentDirective)\n contentDirective: NestedListContentDirective;\n\n /**\n * @hidden\n * Reference to parent item, to propagate open and close change from popover.\n */\n parentItemElement: NestedItemInterface;\n\n /** @hidden */\n placement$ = computed<Placement>(() => (this._rtlService?.rtlSignal() ? 'left-start' : 'right-start'));\n\n /** @hidden */\n open = false;\n\n /** @hidden */\n constructor(\n private _keyboardNestService: NestedListKeyboardService,\n @Optional() private _itemService: NestedItemService,\n @Optional() private _rtlService: RtlService\n ) {\n this._listenOnKeyboardRefresh();\n if (this._itemService) {\n this._itemService.popover = this;\n }\n }\n\n /** @hidden */\n ngAfterContentInit(): void {\n if (!this.title) {\n this.title = this._getTitle();\n }\n }\n\n /**\n * Method called, when open state is changed, from popover component (escape key, outside click).\n */\n handleOpenChange(open: boolean): void {\n this.open = open;\n if (this.parentItemElement) {\n if (open) {\n this.parentItemElement.triggerOpen();\n } else {\n this.parentItemElement.triggerClose();\n }\n }\n }\n\n /** Returns title of nested link element inside content directive */\n private _getTitle(): string {\n if (this.contentDirective && this.contentDirective.nestedLink) {\n return this.contentDirective.nestedLink.getTitle();\n } else {\n return '';\n }\n }\n\n /** @hidden */\n private _listenOnKeyboardRefresh(): void {\n this._keyboardNestService.refresh$.subscribe(() => {\n /** Update popover position, on list of hidden items change */\n if (this.popoverComponent) {\n this.popoverComponent.refreshPosition();\n }\n });\n }\n}\n","<fd-popover\n [placement]=\"placement$()\"\n [triggers]=\"['click']\"\n [noArrow]=\"false\"\n [isOpen]=\"open\"\n (isOpenChange)=\"handleOpenChange($event)\"\n>\n <fd-popover-control>\n <ng-content select=\"[fd-nested-list-link]\"></ng-content>\n <ng-content select=\"[fd-nested-list-content]\"></ng-content>\n </fd-popover-control>\n <fd-popover-body class=\"fd-nested-list--text-only\">\n <a fd-nested-list-link class=\"fd-nested-list__popover-header\">\n <span fd-nested-list-title>{{ title }}</span>\n </a>\n <ng-content select=\"[fd-nested-list]\"></ng-content>\n <ng-content select=\"fd-prepared-nested-list\"></ng-content>\n </fd-popover-body>\n</fd-popover>\n","import {\n AfterContentInit,\n ChangeDetectorRef,\n ContentChild,\n ContentChildren,\n Directive,\n ElementRef,\n forwardRef,\n HostBinding,\n Inject,\n INJECTOR,\n Injector,\n Input,\n OnDestroy,\n Optional,\n Provider,\n QueryList\n} from '@angular/core';\nimport { combineLatest, Observable, startWith, Subscription } from 'rxjs';\n\nimport { Nullable } from '@fundamental-ngx/cdk/utils';\nimport { ContentDensityObserver, contentDensityObserverProviders } from '@fundamental-ngx/core/content-density';\nimport { MenuKeyboardService } from '@fundamental-ngx/core/menu';\nimport { FD_LANGUAGE, FdLanguage, TranslationResolver } from '@fundamental-ngx/i18n';\nimport { NestedItemDirective } from '../nested-item/nested-item.directive';\nimport { NestedItemService } from '../nested-item/nested-item.service';\nimport { NestedListHeaderDirective } from '../nested-list-directives';\nimport { NestedListKeyboardService } from '../nested-list-keyboard.service';\nimport { NestedListStateService } from '../nested-list-state.service';\nimport { NestedListInterface } from './nested-list.interface';\n\nfunction provideNestedListStateService(): Provider {\n // Nested list can be nested, and that will cause on each individual instance of NestedListStateService.\n return {\n provide: NestedListStateService,\n useFactory: (injector: Injector) =>\n injector.get(NestedListStateService, new NestedListStateService(), { skipSelf: true }),\n deps: [INJECTOR]\n };\n}\n\n/**\n * <div fd-nested-list>\n * <div fd-nested-list>\n * </div>\n * </div>\n */\n\n@Directive({\n selector: '[fdNestedList], [fd-nested-list]',\n providers: [\n contentDensityObserverProviders(),\n MenuKeyboardService,\n NestedListKeyboardService,\n provideNestedListStateService()\n ],\n standalone: true\n})\nexport class NestedListDirective implements AfterContentInit, NestedListInterface, OnDestroy {\n /** In case the user wants to no use icons for items in this list */\n @Input()\n @HostBinding('class.fd-nested-list--text-only')\n textOnly = false;\n\n /** Aria defines role description for the Nested List Tree. */\n @Input()\n ariaRoledescriptionTree = 'Navigation List Tree';\n\n /** Aria defines role description for the Nested List MenuBar. */\n @Input()\n ariaRoledescriptionMenuBar = 'Navigation List Menu Bar';\n\n /** Aria defines aria label for the selected item when the list with disabled selection. */\n @Input()\n ariaLabelSelected = 'Selected';\n\n /** @hidden */\n @HostBinding('class.fd-nested-list')\n fdNestedListItemClass = true;\n\n /** @hidden */\n @HostBinding('attr.aria-hidden')\n hidden = false;\n\n /**\n * @hidden\n * This variable is mostly to keep track of this list's children. There is not usage of it inside this directive,\n * but it's used by services and NestedItemDirective by itself,\n */\n @ContentChildren(forwardRef(() => NestedItemDirective))\n nestedItems: QueryList<NestedItemDirective>;\n\n /** @hidden */\n @ContentChild(NestedListHeaderDirective)\n private _nestedListHeader: NestedListHeaderDirective;\n\n /** @hidden */\n private _subscriptions = new Subscription();\n\n /** @hidden */\n @HostBinding('attr.role')\n private _role = 'tree';\n\n /** @hidden */\n @HostBinding('attr.aria-roledescription')\n private _ariaRoledescription: Nullable<string> = this.ariaRoledescriptionTree;\n\n /** @hidden */\n @HostBinding('attr.aria-haspopup')\n private _ariaHaspopup: Nullable<string> = null;\n\n /** @hidden */\n @HostBinding('attr.tabindex')\n private _tabindex = '-1';\n\n /** @hidden */\n private readonly _translationResolver = new TranslationResolver();\n\n /** @hidden */\n constructor(\n @Optional() private _nestedItemService: NestedItemService,\n private _nestedListKeyboardService: NestedListKeyboardService,\n private _elementRef: ElementRef,\n private _changeDetectionRef: ChangeDetectorRef,\n private readonly _nestedListStateService: NestedListStateService,\n @Inject(FD_LANGUAGE) private _language$: Observable<FdLanguage>,\n _contentDensityObserver: ContentDensityObserver\n ) {\n if (this._nestedItemService) {\n this._nestedItemService.list = this;\n }\n _contentDensityObserver.subscribe();\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n this._subscriptions.unsubscribe();\n }\n\n /** @hidden */\n ngAfterContentInit(): void {\n let nestedLevel: number = this._getNestedLevel();\n /** If there is condensed mode, maximum 2nd level class of nest can be added */\n if (this._nestedListStateService.condensed) {\n nestedLevel = Math.min(...[nestedLevel, 2]);\n }\n\n this._setAccessibilityProperties(nestedLevel);\n\n const sub = combineLatest([this._language$, this.nestedItems.changes.pipe(startWith(undefined))]).subscribe(\n ([lang]) => {\n this._nestedListKeyboardService.refresh$.next();\n this._setAriaAttributes(nestedLevel, lang);\n }\n );\n\n this._subscriptions.add(sub);\n\n this._handleNestedLevel(nestedLevel);\n }\n\n /** @hidden */\n detectChanges(): void {\n this._changeDetectionRef.markForCheck();\n }\n\n /** @hidden */\n private _handleNestedLevel(level: number): void {\n /** Adding class with the nested level */\n this._elementRef.nativeElement.classList.add('level-' + level);\n }\n\n /**\n * @hidden\n * Method, that checks how deep is the list element\n */\n private _getNestedLevel(): number {\n let element = this._elementRef.nativeElement;\n const parentElements: Element[] = [];\n\n /** Method that gathers all of the parentNode elements of current NestedListDirective element */\n while (element.parentNode) {\n parentElements.unshift(element);\n element = element.parentNode;\n }\n\n /** Filter only elements, that has `fd-nested-list` directive attribute */\n const filteredParentElements = parentElements.filter((_element) => _element.hasAttribute('fd-nested-list'));\n return filteredParentElements.length;\n }\n\n /** @hidden */\n private _setAriaAttributes(level: number, lang: FdLanguage): void {\n this.nestedItems.forEach((item, i) => {\n item._ariaLevel = level;\n if (!item.linkItem) {\n return;\n } else {\n item.linkItem.ariaDescribedby = this._nestedListHeader?.id || null;\n item.linkItem._ariaLabel = this._translationResolver.resolve(lang, 'coreNestedList.linkItemAriaLabel', {\n itemDetails: item.linkItem.getTitle(),\n index: i + 1,\n total: this.nestedItems.length,\n selectedDescription:\n !this._nestedListStateService.selectable && item.linkItem.selected\n ? ', ' + this.ariaLabelSelected\n : ''\n });\n }\n });\n\n this._changeDetectionRef.detectChanges();\n }\n\n /** @hidden */\n private _setAccessibilityProperties(level: number): void {\n if (this._nestedListStateService.condensed && level === 1) {\n this._ariaRoledescription = this.ariaRoledescriptionMenuBar;\n }\n\n if (level > 1 || (this._nestedItemService?.popover && !this._nestedListStateService.condensed)) {\n this._role = 'group';\n this._ariaRoledescription = null;\n }\n\n if (this._nestedItemService?.popover) {\n this._ariaHaspopup = 'tree';\n }\n }\n}\n","import { NgTemplateOutlet } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, Input, ViewChild, ViewEncapsulation, forwardRef } from '@angular/core';\nimport { RouterLink } from '@angular/router';\nimport { Nullable } from '@fundamental-ngx/cdk/utils';\nimport { NestedListContentDirective } from '../nested-content/nested-list-content.directive';\nimport { NestedItemDirective } from '../nested-item/nested-item.directive';\nimport { NestedLinkDirective } from '../nested-link/nested-link.directive';\nimport {\n NestedListExpandIconComponent,\n NestedListHeaderDirective,\n NestedListIconComponent,\n NestedListTitleDirective\n} from '../nested-list-directives';\nimport { NestedListItem, NestedListModel } from '../nested-list-model';\nimport { NestedListPopoverComponent } from '../nested-list-popover/nested-list-popover.component';\nimport { NestedListDirective } from '../nested-list/nested-list.directive';\n\n/**\n * Component for internal usage, allows to generate the nested list from defined object.\n */\n@Component({\n selector: 'fd-prepared-nested-list',\n templateUrl: './prepared-nested-list.component.html',\n styleUrl: './prepared-nested-list.component.scss',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n imports: [\n NestedListDirective,\n NestedListHeaderDirective,\n NestedItemDirective,\n NestedListPopoverComponent,\n NestedListContentDirective,\n NgTemplateOutlet,\n NestedListExpandIconComponent,\n forwardRef(() => PreparedNestedListComponent),\n NestedLinkDirective,\n RouterLink,\n NestedListIconComponent,\n NestedListTitleDirective\n ]\n})\nexport class PreparedNestedListComponent {\n /**\n * @hidden\n * For internal usage.\n * Defines if the component is first\n */\n @Input()\n first = true;\n\n /** Defines if list should be displayed in condensed mode */\n @Input()\n condensed = false;\n\n /** List configuration*/\n @Input()\n list: Nullable<NestedListModel>;\n\n /**\n * @hidden\n */\n @ViewChild(forwardRef(() => NestedListDirective))\n _nestedListDirective: NestedListDirective;\n\n /**\n * In prepared nested list, nested items should be taken as reference of View, not Content.\n * There is direct reference to these directives here.\n */\n get nestedListDirective(): NestedListDirective {\n return this._nestedListDirective;\n }\n\n /** @hidden */\n _expandedChange(expanded: boolean, item: NestedListItem): void {\n item.expanded = expanded;\n }\n}\n","<ul fd-nested-list [textOnly]=\"!!list?.textOnly\">\n @for (item of list?.items; track item) {\n @if (item.headerTitle) {\n <li fd-nested-list-header>\n {{ item.headerTitle }}\n </li>\n } @else {\n <li fd-nested-list-item [expanded]=\"!!item.expanded\" (expandedChange)=\"_expandedChange($event, item)\">\n @if (condensed && first && item.list) {\n <fd-nested-list-popover [title]=\"item.link?.title || ''\">\n <div fd-nested-list-content [selected]=\"!!item.link?.selected\">\n <ng-template\n [ngTemplateOutlet]=\"link\"\n [ngTemplateOutletContext]=\"{ item: item }\"\n ></ng-template>\n <button fd-nested-list-expand-icon></button>\n </div>\n @if (item.list) {\n <fd-prepared-nested-list [first]=\"false\" [list]=\"item.list\"></fd-prepared-nested-list>\n }\n </fd-nested-list-popover>\n }\n @if (!item.list) {\n <ng-template [ngTemplateOutlet]=\"link\" [ngTemplateOutletContext]=\"{ item: item }\"></ng-template>\n }\n @if ((!condensed || !first) && item.list) {\n <div fd-nested-list-content>\n <ng-template [ngTemplateOutlet]=\"link\" [ngTemplateOutletContext]=\"{ item: item }\"></ng-template>\n <button fd-nested-list-expand-icon></button>\n </div>\n @if (item.list) {\n <fd-prepared-nested-list [first]=\"false\" [list]=\"item.list\"></fd-prepared-nested-list>\n }\n }\n <ng-template let-item=\"item\" #link>\n @if (item.link) {\n <a\n fd-nested-list-link\n [onClickCallback]=\"item.link.callback\"\n [(selected)]=\"!item.list && item.link.selected\"\n [attr.href]=\"item.link.href ? item.link.href : null\"\n [routerLink]=\"item.link.routerLink ? item.link.routerLink : []\"\n >\n @if (item.link.icon) {\n <span fd-nested-list-icon [glyph]=\"item.link.icon\"></span>\n }\n <span fd-nested-list-title>{{ item.link.title }}</span>\n </a>\n }\n </ng-template>\n </li>\n }\n }\n</ul>\n","import { NgModule } from '@angular/core';\nimport { MenuKeyboardService } from '@fundamental-ngx/core/menu';\nimport { NestedListContentDirective } from './nested-content/nested-list-content.directive';\nimport { NestedItemDirective } from './nested-item/nested-item.directive';\nimport { NestedLinkDirective } from './nested-link/nested-link.directive';\nimport {\n NestedListExpandIconComponent,\n NestedListHeaderDirective,\n NestedListIconComponent,\n NestedListTitleDirective\n} from './nested-list-directives';\nimport { NestedListKeyboardService } from './nested-list-keyboard.service';\nimport { NestedListPopoverComponent } from './nested-list-popover/nested-list-popover.component';\nimport { NestedListStateService } from './nested-list-state.service';\nimport { NestedListDirective } from './nested-list/nested-list.directive';\nimport { PreparedNestedListComponent } from './prepared-nested-list/prepared-nested-list.component';\n\nconst components = [\n NestedListDirective,\n NestedLinkDirective,\n NestedItemDirective,\n NestedListIconComponent,\n NestedListTitleDirective,\n NestedListHeaderDirective,\n NestedListPopoverComponent,\n PreparedNestedListComponent,\n NestedListExpandIconComponent,\n NestedListContentDirective\n];\n\n@NgModule({\n imports: [...components],\n exports: [...components],\n providers: [MenuKeyboardService, NestedListKeyboardService, NestedListStateService]\n})\nexport class NestedListModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.NestedItemService","i2.NestedListKeyboardService","i3.NestedListStateService","i1.NestedListKeyboardService","i2.NestedItemService","i3"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"fundamental-ngx-core-nested-list.mjs","sources":["../../../../libs/core/nested-list/nested-item/nested-item.service.ts","../../../../libs/core/nested-list/nested-list-directives.ts","../../../../libs/core/nested-list/nested-link/nested-link.directive.ts","../../../../libs/core/nested-list/nested-content/nested-list-content.directive.ts","../../../../libs/core/nested-list/nested-list-keyboard.service.ts","../../../../libs/core/nested-list/nested-list-state.service.ts","../../../../libs/core/nested-list/nested-item/nested-item.directive.ts","../../../../libs/core/nested-list/nested-list-popover/nested-list-popover.component.ts","../../../../libs/core/nested-list/nested-list-popover/nested-list-popover.component.html","../../../../libs/core/nested-list/nested-list/nested-list.directive.ts","../../../../libs/core/nested-list/prepared-nested-list/prepared-nested-list.component.ts","../../../../libs/core/nested-list/prepared-nested-list/prepared-nested-list.component.html","../../../../libs/core/nested-list/nested-list.module.ts","../../../../libs/core/nested-list/fundamental-ngx-core-nested-list.ts"],"sourcesContent":["import { Subject } from 'rxjs';\nimport { NestedListPopoverInterface } from '../nested-list-popover/nested-list-popover.interface';\nimport { NestedListInterface } from '../nested-list/nested-list.interface';\n\n/** Contains references to popover or list nested components, that are placed as direct children of item component */\nexport class NestedItemService {\n /** @hidden */\n list: NestedListInterface;\n /** @hidden */\n popover?: NestedListPopoverInterface;\n\n /** Subject fired when expand icon is clicked */\n toggle: Subject<boolean> = new Subject<boolean>();\n\n /** Subject fired, when child elements are focused */\n focus: Subject<void> = new Subject<void>();\n\n /** Subject fired, when content or link is clicked */\n click: Subject<void> = new Subject<void>();\n\n /** KeyDown handler, it is triggered from link, content and item elements */\n keyDown: Subject<KeyboardEvent> = new Subject<KeyboardEvent>();\n}\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n Directive,\n ElementRef,\n HostBinding,\n HostListener,\n Input,\n Optional,\n ViewEncapsulation,\n computed\n} from '@angular/core';\nimport { RtlService } from '@fundamental-ngx/cdk/utils';\nimport { IconComponent } from '@fundamental-ngx/core/icon';\nimport { NestedItemService } from './nested-item/nested-item.service';\n\nlet uniqueId = 0;\n\n@Directive({\n selector: '[fdNestedDirectivesHeader], [fd-nested-list-header]',\n standalone: true\n})\nexport class NestedListHeaderDirective {\n /** Id of the element. */\n @Input()\n @HostBinding('attr.id')\n id: string | null = `fd-nested-list-group-header-${++uniqueId}`;\n\n /** @hidden */\n @HostBinding('class.fd-nested-list__group-header')\n fdNestedListHeaderClass = true;\n\n /** @hidden */\n constructor(private _elementRef: ElementRef) {}\n\n /** Get the header title */\n get title(): string {\n return this._elementRef.nativeElement.textContent;\n }\n}\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: '[fdNestedDirectivesIcon], [fd-nested-list-icon]',\n template: `<ng-content></ng-content>`,\n standalone: true\n})\nexport class NestedListIconComponent extends IconComponent {\n /** Role attribute */\n @Input()\n @HostBinding('attr.role')\n role = 'presentation';\n\n /** @hidden */\n @HostBinding('class.fd-nested-list__icon')\n fdNestedListIconClass = true;\n}\n\n@Directive({\n selector: '[fdNestedDirectivesTitle], [fd-nested-list-title]',\n standalone: true\n})\nexport class NestedListTitleDirective {\n /** @hidden */\n @HostBinding('class.fd-nested-list__title')\n fdNestedListTitleClass = true;\n\n /** @hidden */\n constructor(private elementRef: ElementRef) {}\n\n /** Returns element's InnerText */\n getInnerText(): string {\n return this.elementRef && this.elementRef.nativeElement.textContent;\n }\n}\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: '[fdNestedListExpandIcon], [fd-nested-list-expand-icon]',\n template: `\n <ng-content></ng-content>\n <fd-icon [glyph]=\"expanded ? 'navigation-down-arrow' : sideArrowIcon$()\"></fd-icon>\n `,\n host: {\n 'aria-haspopup': 'true',\n tabindex: '-1'\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n standalone: true,\n imports: [IconComponent]\n})\nexport class NestedListExpandIconComponent {\n /** @hidden */\n @HostBinding('class.fd-nested-list__button')\n fdNestedListTitleClass = true;\n\n /** @hidden */\n @HostBinding('class.fd-button')\n fdButtonClass = true;\n\n /**\n * @hidden\n * Attribute controlled by the parent `NestedItemDirective`\n */\n @HostBinding('class.is-expanded')\n @HostBinding('attr.aria-expanded')\n expanded = false;\n\n /** @hidden */\n @HostBinding('attr.aria-hidden')\n ariaHidden = true;\n\n /** @hidden */\n sideArrowIcon$ = computed(() =>\n this._rtlService?.rtlSignal() ? 'navigation-left-arrow' : 'navigation-right-arrow'\n );\n\n /** @hidden */\n constructor(\n private _itemService: NestedItemService,\n private _changeDetRef: ChangeDetectorRef,\n @Optional() private _rtlService: RtlService\n ) {}\n\n /** Mouse event handler */\n @HostListener('click', ['$event'])\n onClick(event: MouseEvent): void {\n this.expanded = !this.expanded;\n this._itemService.toggle.next(this.expanded);\n event.stopPropagation();\n }\n\n /** Handler for focus events */\n @HostListener('focus')\n onFocus(): void {\n this._itemService.focus.next();\n }\n\n /** @hidden */\n changeExpandedState(expanded: boolean): void {\n this.expanded = expanded;\n this._changeDetRef.detectChanges();\n }\n}\n","import {\n ChangeDetectorRef,\n ContentChild,\n Directive,\n ElementRef,\n EventEmitter,\n HostBinding,\n HostListener,\n Input,\n Output\n} from '@angular/core';\nimport { Nullable } from '@fundamental-ngx/cdk/utils';\nimport { NestedItemLink } from '../nested-item/nested-item.interface';\nimport { NestedItemService } from '../nested-item/nested-item.service';\nimport { NestedListTitleDirective } from '../nested-list-directives';\n\n@Directive({\n selector: '[fdNestedLink], [fd-nested-list-link]',\n standalone: true\n})\nexport class NestedLinkDirective implements NestedItemLink {\n /** Function that is called on click event dispatch on this element. */\n @Input()\n onClickCallback: () => void;\n\n /** Whether this element is selected*/\n @Input()\n @HostBinding('class.is-selected')\n selected = false;\n\n /** @hidden */\n @HostBinding('attr.aria-label')\n _ariaLabel: string;\n\n /** @hidden */\n @Input()\n @HostBinding('attr.aria-describedby')\n ariaDescribedby: Nullable<string | number>;\n\n /** Event thrown, when selected state is changed */\n @Output()\n selectedChange: EventEmitter<boolean> = new EventEmitter<boolean>();\n\n /** @hidden */\n @HostBinding('class.fd-nested-list__link')\n fdNestedListItemClass = true;\n\n /** @hidden */\n @HostBinding('attr.tabindex')\n tabIndex = 0;\n\n /** @hidden */\n @HostBinding('attr.role')\n role = 'treeitem';\n\n /**\n * @hidden\n * Reference to title element, it is used, to get title for condensed mode.\n */\n @ContentChild(NestedListTitleDirective)\n title: NestedListTitleDirective;\n\n /** @hidden */\n constructor(\n public changeDetRef: ChangeDetectorRef,\n private _elementRef: ElementRef,\n private _itemService: NestedItemService\n ) {}\n\n /** Handler for keyboard events */\n @HostListener('keydown', ['$event'])\n onKeyDown(event: KeyboardEvent): void {\n this._itemService.keyDown.next(event);\n }\n\n /** Handler for mouse events */\n @HostListener('click', ['$event'])\n onClick(): void {\n this._itemService.click.next();\n if (this.onClickCallback) {\n this.onClickCallback();\n }\n }\n\n /** Handler for focus events */\n @HostListener('focus')\n onFocus(): void {\n this._itemService.focus.next();\n }\n\n /** Method to trigger selected state change */\n changeSelected(selected: boolean): void {\n this.selected = selected;\n this.selectedChange.emit(selected);\n }\n\n /** Set focus on the element. */\n focus(): void {\n this._elementRef.nativeElement.focus();\n }\n\n /** Dispatches the click event on the element */\n click(): void {\n this._elementRef.nativeElement.click();\n }\n\n /** Returns the title value of the title directive */\n getTitle(): string {\n return this.title && this.title.getInnerText();\n }\n}\n","import {\n AfterContentInit,\n ChangeDetectorRef,\n ContentChild,\n DestroyRef,\n Directive,\n ElementRef,\n EventEmitter,\n HostBinding,\n HostListener,\n Input,\n Output,\n inject\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { NestedItemService } from '../nested-item/nested-item.service';\nimport { NestedLinkDirective } from '../nested-link/nested-link.directive';\nimport { NestedListExpandIconComponent } from '../nested-list-directives';\n\n@Directive({\n selector: '[fdNestedListContent], [fd-nested-list-content]',\n host: {\n tabindex: '0'\n },\n standalone: true\n})\nexport class NestedListContentDirective implements AfterContentInit {\n /** Whether this element is selected*/\n @Input()\n @HostBinding('class.is-selected')\n selected = false;\n\n /** @hidden */\n @HostBinding('attr.role')\n role = 'treeitem';\n\n /** @hidden */\n @HostBinding('attr.aria-expanded')\n ariaExpanded = false;\n\n /** Event thrown, when selected state is changed */\n @Output()\n selectedChange: EventEmitter<boolean> = new EventEmitter<boolean>();\n\n /** Event that is thrown, when any keyboard event is dispatched on this element */\n @Output()\n readonly keyboardTriggered: EventEmitter<KeyboardEvent> = new EventEmitter<KeyboardEvent>();\n\n /** Event that is thrown, when this element is clicked */\n @Output()\n readonly clicked: EventEmitter<MouseEvent> = new EventEmitter<MouseEvent>();\n\n /** @hidden */\n @HostBinding('class.fd-nested-list__content')\n fdNestedListContentClass = true;\n\n /**\n * @hidden\n * Attribute controlled by the parent `NestedItemDirective`\n */\n @HostBinding('class.has-child')\n hasChildren = false;\n\n /** @hidden */\n @ContentChild(NestedLinkDirective)\n nestedLink: NestedLinkDirective;\n\n /** @hidden */\n @ContentChild(NestedListExpandIconComponent)\n nestedExpandIcon: NestedListExpandIconComponent;\n\n /** An RxJS Subject that will kill the data stream upon component’s destruction (for unsubscribing) */\n private readonly _destroyRef = inject(DestroyRef);\n\n /** @hidden */\n constructor(\n public changeDetRef: ChangeDetectorRef,\n private _elementRef: ElementRef,\n private _itemService: NestedItemService\n ) {}\n\n /** Keyboard Event Handler */\n @HostListener('keydown', ['$event'])\n onKeyDown(event: KeyboardEvent): void {\n this.keyboardTriggered.emit(event);\n this._itemService.keyDown.next(event);\n }\n\n /** Handler for mouse events */\n @HostListener('click', ['$event'])\n onClick(): void {\n this._itemService.click.next();\n }\n\n /** @hidden */\n ngAfterContentInit(): void {\n this._makeLinkUnFocusable();\n this._setFocusSubscription();\n }\n\n /** Method to trigger selected state change */\n changeSelected(selected: boolean): void {\n this.selected = selected;\n this.selectedChange.emit(selected);\n }\n\n /** Expanded state change propagation method */\n changeExpandedState(expanded: boolean): void {\n if (this.nestedExpandIcon) {\n this.nestedExpandIcon.changeExpandedState(expanded);\n }\n }\n\n /** Set focus on the element. */\n focus(): void {\n this._elementRef.nativeElement.focus();\n }\n\n /** Dispatches the click event on the element */\n click(): void {\n this.focus();\n if (this.nestedLink) {\n this.nestedLink.click();\n }\n }\n\n /** Add subscription for child focusing */\n private _setFocusSubscription(): void {\n this._itemService.focus.pipe(takeUntilDestroyed(this._destroyRef)).subscribe(() => this.focus());\n }\n\n /** Hide link child element from tab key */\n private _makeLinkUnFocusable(): void {\n if (this.nestedLink) {\n this.nestedLink.tabIndex = -1;\n this.changeDetRef.detectChanges();\n }\n }\n}\n","import { ENTER, LEFT_ARROW, RIGHT_ARROW, SPACE } from '@angular/cdk/keycodes';\nimport { DestroyRef, Inject, Injectable, inject } from '@angular/core';\nimport { KeyUtil, destroyObservable } from '@fundamental-ngx/cdk/utils';\nimport { MenuKeyboardService } from '@fundamental-ngx/core/menu';\nimport { Subject, merge } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { NestedItemInterface } from './nested-item/nested-item.interface';\nimport { NestedListInterface } from './nested-list/nested-list.interface';\n\n/**\n * Nested list keyboard service, which uses MenuKeyboardService, to deal with ArrowUp, ArrowDown, Space, Enter.\n * Also has own handling of ArrowLeft and ArrowRight, to open/close the menu if it has any children.\n */\n@Injectable()\nexport class NestedListKeyboardService {\n /**\n * Event, that is thrown always, when the open/close i being called on item components.\n * Also triggers changing of elements, to remove closed/hidden elements\n */\n readonly refresh$: Subject<void> = new Subject<void>();\n\n /** @hidden */\n private readonly _destroyRef = inject(DestroyRef);\n\n /** @hidden */\n constructor(@Inject(MenuKeyboardService) private keyboardService: MenuKeyboardService) {}\n\n /**\n * Function called after refresh$ event is triggered.\n * Refresh the list of NestedItems, that the keyboard support should be provided for\n */\n refreshItems(lists: NestedListInterface[]): void {\n const items: NestedItemInterface[] = [];\n\n /** Gathering all of the items */\n lists.forEach((list) => items.push(...this._getAllListItems(list)));\n /** Putting the keyboard support function to each of the items */\n items.forEach((item, index) => {\n item.keyboardTriggered\n .pipe(takeUntil(merge(this.refresh$, destroyObservable(this._destroyRef))))\n .subscribe((keyboardEvent: KeyboardEvent) => this._handleKeyDown(keyboardEvent, index, items));\n });\n }\n\n /** Recursive function to get all of the NestedItem elements in correct order. */\n private _getItems(item: NestedItemInterface): NestedItemInterface[] {\n const childrenItems = item.expanded ? item.allChildrenItems : [];\n return childrenItems.reduce(\n (actualArray: NestedItemInterface[], nextItem: NestedItemInterface) => [\n ...actualArray,\n ...this._getItems(nextItem)\n ],\n [item]\n );\n }\n\n /** Method that calls the recursive function, getItems() and gathers all of the items in the NestedList */\n private _getAllListItems(list: NestedListInterface): NestedItemInterface[] {\n const _items: NestedItemInterface[] = [];\n if (list && list.nestedItems && list.nestedItems.length > 0) {\n list.nestedItems.forEach((item) => {\n _items.push(...this._getItems(item));\n });\n }\n\n return _items;\n }\n\n /**\n * Keyboard handle function. Uses keyboard support service from MenuComponent, to deal with ArrowUp, ArrowDown, Space, Enter.\n * For ArrowRight, if item is not expanded and has children (list or popup), the open function is triggered.\n * Otherwise it follows ArrowDown functionality.\n * For ArrowLeft, if item is expanded and has children (list or popup), the close function is triggered.\n * Otherwise it follows ArrowUp functionality\n */\n private _handleKeyDown(keyboardEvent: KeyboardEvent, index: number, items: NestedItemInterface[]): void {\n const item: NestedItemInterface = items[index];\n\n if (KeyUtil.isKeyCode(keyboardEvent, RIGHT_ARROW)) {\n if (!item.expanded && item.hasChildren) {\n item.triggerOpen();\n }\n keyboardEvent.preventDefault();\n }\n\n if (KeyUtil.isKeyCode(keyboardEvent, LEFT_ARROW)) {\n if (item.expanded && item.hasChildren) {\n item.triggerClose();\n }\n keyboardEvent.preventDefault();\n }\n\n if (KeyUtil.isKeyCode(keyboardEvent, [ENTER, SPACE])) {\n if (item.hasChildren) {\n items[index].click();\n }\n keyboardEvent.preventDefault();\n }\n\n this.keyboardService.keyDownHandler(keyboardEvent, index, items);\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Subject } from 'rxjs';\n\n@Injectable()\nexport class NestedListStateService {\n /**\n * @hidden\n * The condensed state is modified by the parent and read by nested lists.\n */\n condensed = false;\n\n /**\n * @hidden\n */\n selectable = true;\n\n /** @hidden */\n onSelected: Subject<string> = new Subject<string>();\n}\n","import {\n AfterContentInit,\n ContentChild,\n DestroyRef,\n Directive,\n EventEmitter,\n HostBinding,\n Input,\n Output,\n inject\n} from '@angular/core';\nimport { filter } from 'rxjs/operators';\n\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { Nullable } from '@fundamental-ngx/cdk/utils';\nimport { NestedListContentDirective } from '../nested-content/nested-list-content.directive';\nimport { NestedLinkDirective } from '../nested-link/nested-link.directive';\nimport { NestedListKeyboardService } from '../nested-list-keyboard.service';\nimport { NestedListStateService } from '../nested-list-state.service';\nimport { NestedItemInterface } from './nested-item.interface';\nimport { NestedItemService } from './nested-item.service';\n\nlet sideNavigationItemUniqueId = 0;\n\n@Directive({\n selector: '[fdNestedItem], [fd-nested-list-item]',\n providers: [NestedItemService],\n host: {\n role: 'treeitem'\n },\n standalone: true\n})\nexport class NestedItemDirective implements AfterContentInit, NestedItemInterface {\n /** Whether item should be expanded */\n @Input() set expanded(expanded: boolean) {\n if (expanded !== this._expanded) {\n this.propagateOpenChange(expanded);\n }\n }\n\n /** @hidden */\n get expanded(): boolean {\n return this._expanded;\n }\n\n /** Event thrown, when expanded state is changed */\n @Output()\n readonly expandedChange: EventEmitter<boolean> = new EventEmitter<boolean>();\n\n /** Event thrown, when any keyboard event is dispatched on this, or link element */\n @Output()\n readonly keyboardTriggered: EventEmitter<KeyboardEvent> = new EventEmitter<KeyboardEvent>();\n\n /** @hidden */\n @HostBinding('class.fd-nested-list__item')\n fdNestedListItemClass = true;\n\n /**\n * @hidden\n * Reference to the link directive, to allow manipulating the properties of this element.\n */\n @ContentChild(NestedLinkDirective)\n linkItem: NestedLinkDirective;\n\n /**\n * @hidden\n * Mostly used, when this item has list\n * Reference to the content directive, to allow manipulating the properties of this element.\n */\n @ContentChild(NestedListContentDirective)\n contentItem: NestedListContentDirective;\n\n /** @hidden */\n @HostBinding('attr.aria-level')\n _ariaLevel: Nullable<number> = null;\n\n /** @hidden */\n @HostBinding('attr.title')\n _title: string;\n\n /** @hidden */\n @HostBinding('attr.role')\n private _role: string;\n\n /** @hidden */\n @HostBinding('attr.aria-expanded')\n private _ariaExpanded: Nullable<boolean> = null;\n\n /** @hidden */\n @HostBinding('attr.aria-selected')\n private _ariaSelected: Nullable<boolean> = null;\n\n /** @hidden */\n @HostBinding('attr.aria-disabled')\n private _ariaDisabled = false;\n\n /** @hidden */\n @HostBinding('attr.aria-label')\n private _ariaLabel: string;\n\n /** @hidden */\n @HostBinding('attr.aria-hidden')\n private _ariaHidden = true;\n\n /** @hidden */\n private _expanded = false;\n\n /** An RxJS Subject that will kill the data stream upon component’s destruction (for unsubscribing) */\n private readonly _destroyRef = inject(DestroyRef);\n\n /** Unique element ID */\n private readonly _elementId: string = 'fdNestedItem' + sideNavigationItemUniqueId++;\n\n /** @hidden */\n constructor(\n private _itemService: NestedItemService,\n private _keyboardService: NestedListKeyboardService,\n private _stateService: NestedListStateService\n ) {}\n\n /** @hidden */\n ngAfterContentInit(): void {\n this._setUpSubscriptions();\n this._propagateHasChildrenProperty();\n this._passItemReferences();\n /** Propagate initial open state to children */\n this.propagateOpenChange(this._expanded);\n\n if (this.linkItem) {\n this._ariaSelected = this.linkItem.selected;\n this._ariaDisabled = !this._stateService.selectable && !this.linkItem.selected;\n this._title = this.linkItem.getTitle();\n }\n }\n\n /** Check if the item element has any child */\n get hasChildren(): boolean {\n return !!this._itemService?.list;\n }\n\n /** Get all of the children item elements */\n get allChildrenItems(): NestedItemInterface[] {\n if (this._itemService?.list) {\n return this._itemService.list.nestedItems.toArray();\n }\n\n return [];\n }\n\n /** Method that expand the item and propagate it to children */\n triggerOpen(): void {\n if (!this.expanded) {\n /** Propagate initial open state to children */\n this.propagateOpenChange(true);\n }\n }\n\n /** Method that close the item and propagate it to children */\n triggerClose(): void {\n if (this.expanded) {\n /** Propagate initial open state to children */\n this.propagateOpenChange(false);\n }\n }\n\n /** Method that toggle the item and propagate it to children */\n toggle(): void {\n /** Propagate initial open state to children */\n this.propagateOpenChange(!this._expanded);\n }\n\n /** Method that dispatches `click` event on link item*/\n click(): void {\n if (this.contentItem) {\n this.contentItem.click();\n } else if (this.linkItem) {\n this.linkItem.click();\n }\n }\n\n /** Method that focuses link item*/\n focus(): void {\n if (this.contentItem) {\n this.contentItem.focus();\n } else if (this.linkItem) {\n this.linkItem.focus();\n }\n }\n\n /** Method that provides information if element, or children of this element has passed id */\n containsId(id: string): boolean {\n if (this._elementId === id) {\n return true;\n }\n\n if (this._itemService.list) {\n return !!this._itemService.list.nestedItems.find((item) => item.containsId(id));\n }\n\n return false;\n }\n\n /**\n * @hidden\n * Propagate open state to all of the children\n */\n private propagateOpenChange(open: boolean): void {\n this._expanded = open;\n\n if (this.hasChildren) {\n this._ariaExpanded = this._expanded;\n }\n\n /**\n * Propagate to child content directive, which contains icon and link\n */\n if (this.contentItem) {\n this.contentItem.changeExpandedState(open);\n this.contentItem.ariaExpanded = this._expanded;\n }\n\n /** Propagate hidden flag to list component, that is passed from child */\n if (this._itemService.list) {\n this._itemService.list.hidden = !open;\n this._itemService.list.detectChanges();\n }\n\n /** Propagate open flag to popover list component, that is passed from child */\n if (this._itemService.popover) {\n this._itemService.popover.open = open;\n }\n\n /**\n * If there are any list below\n * Trigger event to provide keyboard support to new list of opened item element.\n * */\n if (this._shouldRefreshKeyboardService()) {\n this._keyboardService.refresh$.next();\n }\n\n this.expandedChange.emit(open);\n }\n\n /** @hidden */\n private _shouldRefreshKeyboardService(): boolean {\n return !!(this._itemService.popover || this._itemService.list || this.contentItem);\n }\n\n /** @hidden */\n private _setUpSubscriptions(): void {\n if (this._stateService.condensed) {\n this._role = 'menuitemradio';\n }\n\n /** Subscribe to mouse click event, thrown by link item */\n this._itemService.toggle.pipe(takeUntilDestroyed(this._destroyRef)).subscribe(() => this.toggle());\n\n /** Subscribe to mouse click event, thrown by link item */\n this._itemService.click\n .pipe(takeUntilDestroyed(this._destroyRef))\n .subscribe(() => this._stateService.onSelected.next(this._elementId));\n\n /** Subscribe to keyboard event and throw it farther */\n this._itemService.keyDown\n .pipe(takeUntilDestroyed(this._destroyRef))\n .subscribe((keyboardEvent) => this.keyboardTriggered.emit(keyboardEvent));\n\n /** Subscribe to selected state change, it's not triggered, when selectable flag is disabled*/\n this._stateService.onSelected\n .pipe(\n takeUntilDestroyed(this._destroyRef),\n filter(() => this._stateService.selectable)\n )\n .subscribe((id) => this._selectedChange(id));\n }\n\n /** @hidden */\n private _propagateHasChildrenProperty(): void {\n if (this.contentItem && this.hasChildren) {\n this._ariaExpanded = false;\n this.contentItem.hasChildren = true;\n this.contentItem.changeDetRef.detectChanges();\n }\n }\n\n /** Pass this element to popover child item, to allow control `expanded` value */\n private _passItemReferences(): void {\n if (this._itemService.popover) {\n this._itemService.popover.parentItemElement = this;\n }\n }\n\n /** Change of selected state of content or link, if there is any children with I */\n private _selectedChange(id: string): void {\n const selected = this.containsId(id);\n this._ariaSelected = selected;\n\n if (this.contentItem) {\n this.contentItem.changeSelected(selected);\n } else if (this.linkItem) {\n this.linkItem.changeSelected(selected);\n }\n }\n}\n","import {\n AfterContentInit,\n ChangeDetectionStrategy,\n Component,\n ContentChild,\n HostBinding,\n Input,\n Optional,\n ViewChild,\n ViewEncapsulation,\n computed\n} from '@angular/core';\n\nimport { RtlService } from '@fundamental-ngx/cdk/utils';\nimport { PopoverBodyComponent, PopoverComponent, PopoverControlComponent } from '@fundamental-ngx/core/popover';\nimport { Placement } from '@fundamental-ngx/core/shared';\nimport { NestedListContentDirective } from '../nested-content/nested-list-content.directive';\nimport { NestedItemInterface } from '../nested-item/nested-item.interface';\nimport { NestedItemService } from '../nested-item/nested-item.service';\nimport { NestedLinkDirective } from '../nested-link/nested-link.directive';\nimport { NestedListTitleDirective } from '../nested-list-directives';\nimport { NestedListKeyboardService } from '../nested-list-keyboard.service';\nimport { NestedListPopoverInterface } from './nested-list-popover.interface';\n\n@Component({\n selector: 'fd-nested-list-popover',\n templateUrl: './nested-list-popover.component.html',\n styleUrl: './nested-list-popover.component.scss',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n imports: [\n PopoverComponent,\n PopoverControlComponent,\n PopoverBodyComponent,\n NestedLinkDirective,\n NestedListTitleDirective\n ]\n})\nexport class NestedListPopoverComponent implements NestedListPopoverInterface, AfterContentInit {\n /** @hidden\n * For Internal Usage - Gets information about title, which should be displayed inside popover\n */\n @Input()\n title = '';\n\n /** @hidden */\n @ViewChild(PopoverComponent)\n popoverComponent: PopoverComponent;\n\n /** @hidden */\n @HostBinding('class.fd-nested-list__popover')\n popoverClass = true;\n\n /** @hidden */\n @ContentChild(NestedLinkDirective)\n linkDirective: NestedLinkDirective;\n\n /** @hidden */\n @ContentChild(NestedListContentDirective)\n contentDirective: NestedListContentDirective;\n\n /**\n * @hidden\n * Reference to parent item, to propagate open and close change from popover.\n */\n parentItemElement: NestedItemInterface;\n\n /** @hidden */\n placement$ = computed<Placement>(() => (this._rtlService?.rtlSignal() ? 'left-start' : 'right-start'));\n\n /** @hidden */\n open = false;\n\n /** @hidden */\n constructor(\n private _keyboardNestService: NestedListKeyboardService,\n @Optional() private _itemService: NestedItemService,\n @Optional() private _rtlService: RtlService\n ) {\n this._listenOnKeyboardRefresh();\n if (this._itemService) {\n this._itemService.popover = this;\n }\n }\n\n /** @hidden */\n ngAfterContentInit(): void {\n if (!this.title) {\n this.title = this._getTitle();\n }\n }\n\n /**\n * Method called, when open state is changed, from popover component (escape key, outside click).\n */\n handleOpenChange(open: boolean): void {\n this.open = open;\n if (this.parentItemElement) {\n if (open) {\n this.parentItemElement.triggerOpen();\n } else {\n this.parentItemElement.triggerClose();\n }\n }\n }\n\n /** Returns title of nested link element inside content directive */\n private _getTitle(): string {\n if (this.contentDirective && this.contentDirective.nestedLink) {\n return this.contentDirective.nestedLink.getTitle();\n } else {\n return '';\n }\n }\n\n /** @hidden */\n private _listenOnKeyboardRefresh(): void {\n this._keyboardNestService.refresh$.subscribe(() => {\n /** Update popover position, on list of hidden items change */\n if (this.popoverComponent) {\n this.popoverComponent.refreshPosition();\n }\n });\n }\n}\n","<fd-popover\n [placement]=\"placement$()\"\n [triggers]=\"['click']\"\n [noArrow]=\"false\"\n [isOpen]=\"open\"\n (isOpenChange)=\"handleOpenChange($event)\"\n>\n <fd-popover-control>\n <ng-content select=\"[fd-nested-list-link]\"></ng-content>\n <ng-content select=\"[fd-nested-list-content]\"></ng-content>\n </fd-popover-control>\n <fd-popover-body class=\"fd-nested-list--text-only\">\n <a fd-nested-list-link class=\"fd-nested-list__popover-header\">\n <span fd-nested-list-title>{{ title }}</span>\n </a>\n <ng-content select=\"[fd-nested-list]\"></ng-content>\n <ng-content select=\"fd-prepared-nested-list\"></ng-content>\n </fd-popover-body>\n</fd-popover>\n","import {\n AfterContentInit,\n ChangeDetectorRef,\n ContentChild,\n ContentChildren,\n Directive,\n ElementRef,\n forwardRef,\n HostBinding,\n Inject,\n INJECTOR,\n Injector,\n Input,\n OnDestroy,\n Optional,\n Provider,\n QueryList\n} from '@angular/core';\nimport { combineLatest, Observable, startWith, Subscription } from 'rxjs';\n\nimport { Nullable } from '@fundamental-ngx/cdk/utils';\nimport { ContentDensityObserver, contentDensityObserverProviders } from '@fundamental-ngx/core/content-density';\nimport { MenuKeyboardService } from '@fundamental-ngx/core/menu';\nimport { FD_LANGUAGE, FdLanguage, TranslationResolver } from '@fundamental-ngx/i18n';\nimport { NestedItemDirective } from '../nested-item/nested-item.directive';\nimport { NestedItemService } from '../nested-item/nested-item.service';\nimport { NestedListHeaderDirective } from '../nested-list-directives';\nimport { NestedListKeyboardService } from '../nested-list-keyboard.service';\nimport { NestedListStateService } from '../nested-list-state.service';\nimport { NestedListInterface } from './nested-list.interface';\n\nfunction provideNestedListStateService(): Provider {\n // Nested list can be nested, and that will cause on each individual instance of NestedListStateService.\n return {\n provide: NestedListStateService,\n useFactory: (injector: Injector) =>\n injector.get(NestedListStateService, new NestedListStateService(), { skipSelf: true }),\n deps: [INJECTOR]\n };\n}\n\n/**\n * <div fd-nested-list>\n * <div fd-nested-list>\n * </div>\n * </div>\n */\n\n@Directive({\n selector: '[fdNestedList], [fd-nested-list]',\n providers: [\n contentDensityObserverProviders(),\n MenuKeyboardService,\n NestedListKeyboardService,\n provideNestedListStateService()\n ],\n standalone: true\n})\nexport class NestedListDirective implements AfterContentInit, NestedListInterface, OnDestroy {\n /** In case the user wants to no use icons for items in this list */\n @Input()\n @HostBinding('class.fd-nested-list--text-only')\n textOnly = false;\n\n /** Aria defines role description for the Nested List Tree. */\n @Input()\n ariaRoledescriptionTree = 'Navigation List Tree';\n\n /** Aria defines role description for the Nested List MenuBar. */\n @Input()\n ariaRoledescriptionMenuBar = 'Navigation List Menu Bar';\n\n /** Aria defines aria label for the selected item when the list with disabled selection. */\n @Input()\n ariaLabelSelected = 'Selected';\n\n /** @hidden */\n @HostBinding('class.fd-nested-list')\n fdNestedListItemClass = true;\n\n /** @hidden */\n @HostBinding('attr.aria-hidden')\n hidden = false;\n\n /**\n * @hidden\n * This variable is mostly to keep track of this list's children. There is not usage of it inside this directive,\n * but it's used by services and NestedItemDirective by itself,\n */\n @ContentChildren(forwardRef(() => NestedItemDirective))\n nestedItems: QueryList<NestedItemDirective>;\n\n /** @hidden */\n @ContentChild(NestedListHeaderDirective)\n private _nestedListHeader: NestedListHeaderDirective;\n\n /** @hidden */\n @HostBinding('attr.role')\n private _role = 'tree';\n\n /** @hidden */\n @HostBinding('attr.aria-roledescription')\n private _ariaRoledescription: Nullable<string> = this.ariaRoledescriptionTree;\n\n /** @hidden */\n @HostBinding('attr.aria-haspopup')\n private _ariaHaspopup: Nullable<string> = null;\n\n /** @hidden */\n @HostBinding('attr.tabindex')\n private _tabindex = '-1';\n\n /** @hidden */\n private _subscriptions = new Subscription();\n\n /** @hidden */\n private readonly _translationResolver = new TranslationResolver();\n\n /** @hidden */\n constructor(\n @Optional() private _nestedItemService: NestedItemService,\n private _nestedListKeyboardService: NestedListKeyboardService,\n private _elementRef: ElementRef,\n private _changeDetectionRef: ChangeDetectorRef,\n private readonly _nestedListStateService: NestedListStateService,\n @Inject(FD_LANGUAGE) private _language$: Observable<FdLanguage>,\n _contentDensityObserver: ContentDensityObserver\n ) {\n if (this._nestedItemService) {\n this._nestedItemService.list = this;\n }\n _contentDensityObserver.subscribe();\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n this._subscriptions.unsubscribe();\n }\n\n /** @hidden */\n ngAfterContentInit(): void {\n let nestedLevel: number = this._getNestedLevel();\n /** If there is condensed mode, maximum 2nd level class of nest can be added */\n if (this._nestedListStateService.condensed) {\n nestedLevel = Math.min(...[nestedLevel, 2]);\n }\n\n this._setAccessibilityProperties(nestedLevel);\n\n const sub = combineLatest([this._language$, this.nestedItems.changes.pipe(startWith(undefined))]).subscribe(\n ([lang]) => {\n this._nestedListKeyboardService.refresh$.next();\n this._setAriaAttributes(nestedLevel, lang);\n }\n );\n\n this._subscriptions.add(sub);\n\n this._handleNestedLevel(nestedLevel);\n }\n\n /** @hidden */\n detectChanges(): void {\n this._changeDetectionRef.markForCheck();\n }\n\n /** @hidden */\n private _handleNestedLevel(level: number): void {\n /** Adding class with the nested level */\n this._elementRef.nativeElement.classList.add('level-' + level);\n }\n\n /**\n * @hidden\n * Method, that checks how deep is the list element\n */\n private _getNestedLevel(): number {\n let element = this._elementRef.nativeElement;\n const parentElements: Element[] = [];\n\n /** Method that gathers all of the parentNode elements of current NestedListDirective element */\n while (element.parentNode) {\n parentElements.unshift(element);\n element = element.parentNode;\n }\n\n /** Filter only elements, that has `fd-nested-list` directive attribute */\n const filteredParentElements = parentElements.filter((_element) => _element.hasAttribute('fd-nested-list'));\n return filteredParentElements.length;\n }\n\n /** @hidden */\n private _setAriaAttributes(level: number, lang: FdLanguage): void {\n this.nestedItems.forEach((item, i) => {\n item._ariaLevel = level;\n if (!item.linkItem) {\n return;\n } else {\n item.linkItem.ariaDescribedby = this._nestedListHeader?.id || null;\n item.linkItem._ariaLabel = this._translationResolver.resolve(lang, 'coreNestedList.linkItemAriaLabel', {\n itemDetails: item.linkItem.getTitle(),\n index: i + 1,\n total: this.nestedItems.length,\n selectedDescription:\n !this._nestedListStateService.selectable && item.linkItem.selected\n ? ', ' + this.ariaLabelSelected\n : ''\n });\n }\n });\n\n this._changeDetectionRef.detectChanges();\n }\n\n /** @hidden */\n private _setAccessibilityProperties(level: number): void {\n if (this._nestedListStateService.condensed && level === 1) {\n this._ariaRoledescription = this.ariaRoledescriptionMenuBar;\n }\n\n if (level > 1 || (this._nestedItemService?.popover && !this._nestedListStateService.condensed)) {\n this._role = 'group';\n this._ariaRoledescription = null;\n }\n\n if (this._nestedItemService?.popover) {\n this._ariaHaspopup = 'tree';\n }\n }\n}\n","import { NgTemplateOutlet } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, Input, ViewChild, ViewEncapsulation, forwardRef } from '@angular/core';\nimport { RouterLink } from '@angular/router';\nimport { Nullable } from '@fundamental-ngx/cdk/utils';\nimport { NestedListContentDirective } from '../nested-content/nested-list-content.directive';\nimport { NestedItemDirective } from '../nested-item/nested-item.directive';\nimport { NestedLinkDirective } from '../nested-link/nested-link.directive';\nimport {\n NestedListExpandIconComponent,\n NestedListHeaderDirective,\n NestedListIconComponent,\n NestedListTitleDirective\n} from '../nested-list-directives';\nimport { NestedListItem, NestedListModel } from '../nested-list-model';\nimport { NestedListPopoverComponent } from '../nested-list-popover/nested-list-popover.component';\nimport { NestedListDirective } from '../nested-list/nested-list.directive';\n\n/**\n * Component for internal usage, allows to generate the nested list from defined object.\n */\n@Component({\n selector: 'fd-prepared-nested-list',\n templateUrl: './prepared-nested-list.component.html',\n styleUrl: './prepared-nested-list.component.scss',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n imports: [\n NestedListDirective,\n NestedListHeaderDirective,\n NestedItemDirective,\n NestedListPopoverComponent,\n NestedListContentDirective,\n NgTemplateOutlet,\n NestedListExpandIconComponent,\n forwardRef(() => PreparedNestedListComponent),\n NestedLinkDirective,\n RouterLink,\n NestedListIconComponent,\n NestedListTitleDirective\n ]\n})\nexport class PreparedNestedListComponent {\n /**\n * @hidden\n * For internal usage.\n * Defines if the component is first\n */\n @Input()\n first = true;\n\n /** Defines if list should be displayed in condensed mode */\n @Input()\n condensed = false;\n\n /** List configuration*/\n @Input()\n list: Nullable<NestedListModel>;\n\n /**\n * @hidden\n */\n @ViewChild(forwardRef(() => NestedListDirective))\n _nestedListDirective: NestedListDirective;\n\n /**\n * In prepared nested list, nested items should be taken as reference of View, not Content.\n * There is direct reference to these directives here.\n */\n get nestedListDirective(): NestedListDirective {\n return this._nestedListDirective;\n }\n\n /** @hidden */\n _expandedChange(expanded: boolean, item: NestedListItem): void {\n item.expanded = expanded;\n }\n}\n","<ul fd-nested-list [textOnly]=\"!!list?.textOnly\">\n @for (item of list?.items; track item) {\n @if (item.headerTitle) {\n <li fd-nested-list-header>\n {{ item.headerTitle }}\n </li>\n } @else {\n <li fd-nested-list-item [expanded]=\"!!item.expanded\" (expandedChange)=\"_expandedChange($event, item)\">\n @if (condensed && first && item.list) {\n <fd-nested-list-popover [title]=\"item.link?.title || ''\">\n <div fd-nested-list-content [selected]=\"!!item.link?.selected\">\n <ng-template\n [ngTemplateOutlet]=\"link\"\n [ngTemplateOutletContext]=\"{ item: item }\"\n ></ng-template>\n <button fd-nested-list-expand-icon></button>\n </div>\n @if (item.list) {\n <fd-prepared-nested-list [first]=\"false\" [list]=\"item.list\"></fd-prepared-nested-list>\n }\n </fd-nested-list-popover>\n }\n @if (!item.list) {\n <ng-template [ngTemplateOutlet]=\"link\" [ngTemplateOutletContext]=\"{ item: item }\"></ng-template>\n }\n @if ((!condensed || !first) && item.list) {\n <div fd-nested-list-content>\n <ng-template [ngTemplateOutlet]=\"link\" [ngTemplateOutletContext]=\"{ item: item }\"></ng-template>\n <button fd-nested-list-expand-icon></button>\n </div>\n @if (item.list) {\n <fd-prepared-nested-list [first]=\"false\" [list]=\"item.list\"></fd-prepared-nested-list>\n }\n }\n <ng-template let-item=\"item\" #link>\n @if (item.link) {\n <a\n fd-nested-list-link\n [onClickCallback]=\"item.link.callback\"\n [(selected)]=\"!item.list && item.link.selected\"\n [attr.href]=\"item.link.href ? item.link.href : null\"\n [routerLink]=\"item.link.routerLink ? item.link.routerLink : []\"\n >\n @if (item.link.icon) {\n <span fd-nested-list-icon [glyph]=\"item.link.icon\"></span>\n }\n <span fd-nested-list-title>{{ item.link.title }}</span>\n </a>\n }\n </ng-template>\n </li>\n }\n }\n</ul>\n","import { NgModule } from '@angular/core';\nimport { MenuKeyboardService } from '@fundamental-ngx/core/menu';\nimport { NestedListContentDirective } from './nested-content/nested-list-content.directive';\nimport { NestedItemDirective } from './nested-item/nested-item.directive';\nimport { NestedLinkDirective } from './nested-link/nested-link.directive';\nimport {\n NestedListExpandIconComponent,\n NestedListHeaderDirective,\n NestedListIconComponent,\n NestedListTitleDirective\n} from './nested-list-directives';\nimport { NestedListKeyboardService } from './nested-list-keyboard.service';\nimport { NestedListPopoverComponent } from './nested-list-popover/nested-list-popover.component';\nimport { NestedListStateService } from './nested-list-state.service';\nimport { NestedListDirective } from './nested-list/nested-list.directive';\nimport { PreparedNestedListComponent } from './prepared-nested-list/prepared-nested-list.component';\n\nconst components = [\n NestedListDirective,\n NestedLinkDirective,\n NestedItemDirective,\n NestedListIconComponent,\n NestedListTitleDirective,\n NestedListHeaderDirective,\n NestedListPopoverComponent,\n PreparedNestedListComponent,\n NestedListExpandIconComponent,\n NestedListContentDirective\n];\n\n@NgModule({\n imports: [...components],\n exports: [...components],\n providers: [MenuKeyboardService, NestedListKeyboardService, NestedListStateService]\n})\nexport class NestedListModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.NestedItemService","i2.NestedListKeyboardService","i3.NestedListStateService","i1.NestedListKeyboardService","i2.NestedItemService","i3"],"mappings":"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"}
|
|
@@ -41,14 +41,6 @@ class NotificationIndicatorDirective {
|
|
|
41
41
|
constructor(elementRef) {
|
|
42
42
|
this.elementRef = elementRef;
|
|
43
43
|
}
|
|
44
|
-
/** @hidden */
|
|
45
|
-
ngOnChanges() {
|
|
46
|
-
this.buildComponentCssClass();
|
|
47
|
-
}
|
|
48
|
-
/** @hidden */
|
|
49
|
-
ngOnInit() {
|
|
50
|
-
this.buildComponentCssClass();
|
|
51
|
-
}
|
|
52
44
|
/** @hidden
|
|
53
45
|
* CssClassBuilder interface implementation
|
|
54
46
|
* function must return single string
|
|
@@ -57,6 +49,14 @@ class NotificationIndicatorDirective {
|
|
|
57
49
|
buildComponentCssClass() {
|
|
58
50
|
return ['fd-notification__indicator', this.type ? 'fd-notification__indicator--' + this.type : '', this.class];
|
|
59
51
|
}
|
|
52
|
+
/** @hidden */
|
|
53
|
+
ngOnChanges() {
|
|
54
|
+
this.buildComponentCssClass();
|
|
55
|
+
}
|
|
56
|
+
/** @hidden */
|
|
57
|
+
ngOnInit() {
|
|
58
|
+
this.buildComponentCssClass();
|
|
59
|
+
}
|
|
60
60
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: NotificationIndicatorDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
61
61
|
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.0", type: NotificationIndicatorDirective, isStandalone: true, selector: "[fdNotificationIndicator], [fd-notification-indicator]", inputs: { type: "type", class: "class" }, usesOnChanges: true, ngImport: i0 }); }
|
|
62
62
|
}
|
|
@@ -512,10 +512,6 @@ class NotificationGroupComponent {
|
|
|
512
512
|
this._popover.focusAutoCapture = true;
|
|
513
513
|
}
|
|
514
514
|
}
|
|
515
|
-
/** @hidden */
|
|
516
|
-
ngOnChanges() {
|
|
517
|
-
this.buildComponentCssClass();
|
|
518
|
-
}
|
|
519
515
|
/** @hidden CssClassBuilder interface implementation
|
|
520
516
|
* function is responsible for order which css classes are applied
|
|
521
517
|
*/
|
|
@@ -527,6 +523,10 @@ class NotificationGroupComponent {
|
|
|
527
523
|
];
|
|
528
524
|
}
|
|
529
525
|
/** @hidden */
|
|
526
|
+
ngOnChanges() {
|
|
527
|
+
this.buildComponentCssClass();
|
|
528
|
+
}
|
|
529
|
+
/** @hidden */
|
|
530
530
|
ngOnInit() {
|
|
531
531
|
this.buildComponentCssClass();
|
|
532
532
|
}
|
|
@@ -619,13 +619,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImpor
|
|
|
619
619
|
* For a template, it is declared as part of the implicit context, see examples.
|
|
620
620
|
*/
|
|
621
621
|
class NotificationRef {
|
|
622
|
+
/** @hidden */
|
|
622
623
|
constructor() {
|
|
623
624
|
/** @hidden */
|
|
624
625
|
this._afterClosed = new Subject();
|
|
625
|
-
/**
|
|
626
|
-
* Observable that is triggered when the notification is closed.
|
|
627
|
-
* On close a *result* is passed back. On dismiss, an *error* is returned instead.
|
|
628
|
-
*/
|
|
629
626
|
this.afterClosed = this._afterClosed.asObservable();
|
|
630
627
|
}
|
|
631
628
|
/**
|
|
@@ -714,6 +711,14 @@ class NotificationComponent extends AbstractFdNgxClass {
|
|
|
714
711
|
}
|
|
715
712
|
return this._focusTrap.focusFirstTabbableElementWhenReady();
|
|
716
713
|
}
|
|
714
|
+
/** @hidden */
|
|
715
|
+
_setProperties() {
|
|
716
|
+
this._addClassToElement('fd-notification');
|
|
717
|
+
this._addClassToElement('fd-notification-custom-block');
|
|
718
|
+
if (this.mobile) {
|
|
719
|
+
this._addClassToElement('fd-notification--mobile');
|
|
720
|
+
}
|
|
721
|
+
}
|
|
717
722
|
/** @hidden Listen on NavigationStart event and dismiss the dialog */
|
|
718
723
|
_listenAndCloseOnNavigation() {
|
|
719
724
|
if (this._router && this._notificationRef) {
|
|
@@ -737,14 +742,6 @@ class NotificationComponent extends AbstractFdNgxClass {
|
|
|
737
742
|
this.componentRef = this.containerRef.createEmbeddedView(content, context);
|
|
738
743
|
}
|
|
739
744
|
/** @hidden */
|
|
740
|
-
_setProperties() {
|
|
741
|
-
this._addClassToElement('fd-notification');
|
|
742
|
-
this._addClassToElement('fd-notification-custom-block');
|
|
743
|
-
if (this.mobile) {
|
|
744
|
-
this._addClassToElement('fd-notification--mobile');
|
|
745
|
-
}
|
|
746
|
-
}
|
|
747
|
-
/** @hidden */
|
|
748
745
|
_setNotificationConfig(notificationConfig) {
|
|
749
746
|
Object.keys(notificationConfig || {})
|
|
750
747
|
.filter((key) => key !== 'data' && key !== 'container')
|
|
@@ -848,7 +845,10 @@ class NotificationService {
|
|
|
848
845
|
this._destroyNotificationComponent(notificationComponentRef);
|
|
849
846
|
refSub.unsubscribe();
|
|
850
847
|
};
|
|
851
|
-
const refSub = notificationService.afterClosed.subscribe(
|
|
848
|
+
const refSub = notificationService.afterClosed.subscribe({
|
|
849
|
+
next: defaultBehaviourOnClose,
|
|
850
|
+
error: defaultBehaviourOnClose
|
|
851
|
+
});
|
|
852
852
|
return notificationService;
|
|
853
853
|
}
|
|
854
854
|
/** Method to remove all of notifications from this service instance */
|