@fundamental-ngx/core 0.58.2-rc.0 → 0.58.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/fesm2022/fundamental-ngx-core-action-bar.mjs +26 -26
- package/fesm2022/fundamental-ngx-core-action-bar.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-action-sheet.mjs +20 -20
- package/fesm2022/fundamental-ngx-core-action-sheet.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-avatar-group-legacy.mjs +28 -28
- package/fesm2022/fundamental-ngx-core-avatar-group-legacy.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-avatar-group.mjs +34 -34
- package/fesm2022/fundamental-ngx-core-avatar-group.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-avatar.mjs +10 -10
- package/fesm2022/fundamental-ngx-core-avatar.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-bar.mjs +25 -25
- package/fesm2022/fundamental-ngx-core-bar.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-breadcrumb.mjs +10 -10
- package/fesm2022/fundamental-ngx-core-breadcrumb.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-busy-indicator.mjs +15 -15
- package/fesm2022/fundamental-ngx-core-busy-indicator.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-button.mjs +15 -15
- package/fesm2022/fundamental-ngx-core-button.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-calendar.mjs +40 -40
- package/fesm2022/fundamental-ngx-core-calendar.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-card.mjs +130 -126
- package/fesm2022/fundamental-ngx-core-card.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-carousel.mjs +19 -19
- package/fesm2022/fundamental-ngx-core-carousel.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-checkbox.mjs +7 -7
- package/fesm2022/fundamental-ngx-core-checkbox.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-combobox.mjs +16 -16
- package/fesm2022/fundamental-ngx-core-combobox.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-content-density.mjs +25 -25
- package/fesm2022/fundamental-ngx-core-content-density.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-date-picker.mjs +13 -13
- package/fesm2022/fundamental-ngx-core-date-picker.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-datetime-picker.mjs +13 -13
- package/fesm2022/fundamental-ngx-core-datetime-picker.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-datetime.mjs +30 -30
- package/fesm2022/fundamental-ngx-core-datetime.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-dialog.mjs +64 -64
- package/fesm2022/fundamental-ngx-core-dialog.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-dynamic-page.mjs +52 -52
- package/fesm2022/fundamental-ngx-core-dynamic-page.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-dynamic-side-content.mjs +13 -13
- package/fesm2022/fundamental-ngx-core-dynamic-side-content.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-facets.mjs +17 -17
- package/fesm2022/fundamental-ngx-core-facets.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-feed-input.mjs +17 -17
- package/fesm2022/fundamental-ngx-core-feed-input.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-feed-list-item.mjs +22 -22
- package/fesm2022/fundamental-ngx-core-feed-list-item.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-file-uploader.mjs +16 -16
- package/fesm2022/fundamental-ngx-core-file-uploader.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-fixed-card-layout.mjs +13 -13
- package/fesm2022/fundamental-ngx-core-fixed-card-layout.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-flexible-column-layout.mjs +7 -7
- package/fesm2022/fundamental-ngx-core-flexible-column-layout.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-form.mjs +70 -70
- package/fesm2022/fundamental-ngx-core-form.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-formatted-text.mjs +8 -8
- package/fesm2022/fundamental-ngx-core-formatted-text.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-generic-tag.mjs +7 -7
- package/fesm2022/fundamental-ngx-core-generic-tag.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-grid-list.mjs +47 -47
- package/fesm2022/fundamental-ngx-core-grid-list.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-icon.mjs +8 -8
- package/fesm2022/fundamental-ngx-core-icon.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-illustrated-message.mjs +19 -19
- package/fesm2022/fundamental-ngx-core-illustrated-message.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-infinite-scroll.mjs +10 -8
- package/fesm2022/fundamental-ngx-core-infinite-scroll.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-info-label.mjs +7 -7
- package/fesm2022/fundamental-ngx-core-info-label.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-inline-help.mjs +7 -7
- package/fesm2022/fundamental-ngx-core-inline-help.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-input-group.mjs +19 -19
- package/fesm2022/fundamental-ngx-core-input-group.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-layout-grid.mjs +17 -17
- package/fesm2022/fundamental-ngx-core-layout-grid.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-layout-panel.mjs +31 -31
- package/fesm2022/fundamental-ngx-core-layout-panel.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-link.mjs +7 -7
- package/fesm2022/fundamental-ngx-core-link.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-list.mjs +80 -80
- package/fesm2022/fundamental-ngx-core-list.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-menu.mjs +58 -56
- package/fesm2022/fundamental-ngx-core-menu.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-message-box.mjs +37 -37
- package/fesm2022/fundamental-ngx-core-message-box.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-message-page.mjs +19 -19
- package/fesm2022/fundamental-ngx-core-message-page.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-message-strip.mjs +25 -25
- package/fesm2022/fundamental-ngx-core-message-strip.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-message-toast.mjs +17 -17
- package/fesm2022/fundamental-ngx-core-message-toast.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-micro-process-flow.mjs +19 -19
- package/fesm2022/fundamental-ngx-core-micro-process-flow.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-mobile-mode.mjs +3 -3
- package/fesm2022/fundamental-ngx-core-mobile-mode.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-multi-combobox.mjs +22 -22
- package/fesm2022/fundamental-ngx-core-multi-combobox.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-multi-input.mjs +15 -15
- package/fesm2022/fundamental-ngx-core-multi-input.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-nested-list.mjs +40 -40
- package/fesm2022/fundamental-ngx-core-nested-list.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-notification.mjs +88 -88
- package/fesm2022/fundamental-ngx-core-notification.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-object-attribute.mjs +7 -7
- package/fesm2022/fundamental-ngx-core-object-attribute.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-object-identifier.mjs +11 -11
- package/fesm2022/fundamental-ngx-core-object-identifier.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-object-marker.mjs +7 -7
- package/fesm2022/fundamental-ngx-core-object-marker.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-object-number.mjs +7 -7
- package/fesm2022/fundamental-ngx-core-object-number.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-object-status.mjs +7 -7
- package/fesm2022/fundamental-ngx-core-object-status.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-overflow-layout.mjs +31 -31
- package/fesm2022/fundamental-ngx-core-overflow-layout.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-pagination.mjs +11 -11
- package/fesm2022/fundamental-ngx-core-pagination.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-panel.mjs +19 -19
- package/fesm2022/fundamental-ngx-core-panel.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-popover.mjs +42 -42
- package/fesm2022/fundamental-ngx-core-popover.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-product-switch.mjs +13 -13
- package/fesm2022/fundamental-ngx-core-product-switch.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-progress-indicator.mjs +7 -7
- package/fesm2022/fundamental-ngx-core-progress-indicator.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-quick-view.mjs +37 -37
- package/fesm2022/fundamental-ngx-core-quick-view.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-radio.mjs +7 -7
- package/fesm2022/fundamental-ngx-core-radio.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-rating-indicator.mjs +10 -10
- package/fesm2022/fundamental-ngx-core-rating-indicator.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-resizable-card-layout.mjs +10 -10
- package/fesm2022/fundamental-ngx-core-resizable-card-layout.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-scroll-spy.mjs +7 -7
- package/fesm2022/fundamental-ngx-core-scroll-spy.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-scrollbar.mjs +7 -7
- package/fesm2022/fundamental-ngx-core-scrollbar.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-segmented-button.mjs +7 -7
- package/fesm2022/fundamental-ngx-core-segmented-button.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-select.mjs +20 -20
- package/fesm2022/fundamental-ngx-core-select.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-settings.mjs +52 -52
- package/fesm2022/fundamental-ngx-core-settings.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-shared.mjs +3 -3
- package/fesm2022/fundamental-ngx-core-shared.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-shellbar.mjs +88 -75
- package/fesm2022/fundamental-ngx-core-shellbar.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-side-navigation.mjs +13 -13
- package/fesm2022/fundamental-ngx-core-side-navigation.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-skeleton.mjs +12 -10
- package/fesm2022/fundamental-ngx-core-skeleton.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-slider.mjs +10 -10
- package/fesm2022/fundamental-ngx-core-slider.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-split-button.mjs +10 -10
- package/fesm2022/fundamental-ngx-core-split-button.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-status-indicator.mjs +7 -7
- package/fesm2022/fundamental-ngx-core-status-indicator.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-step-input.mjs +13 -9
- package/fesm2022/fundamental-ngx-core-step-input.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-switch.mjs +7 -7
- package/fesm2022/fundamental-ngx-core-switch.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-table.mjs +49 -49
- package/fesm2022/fundamental-ngx-core-table.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-tabs.mjs +52 -52
- package/fesm2022/fundamental-ngx-core-tabs.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-tests.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-text.mjs +8 -8
- package/fesm2022/fundamental-ngx-core-text.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-theming.mjs +7 -7
- package/fesm2022/fundamental-ngx-core-theming.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-tile.mjs +94 -94
- package/fesm2022/fundamental-ngx-core-tile.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-time-picker.mjs +8 -8
- package/fesm2022/fundamental-ngx-core-time-picker.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-time.mjs +11 -11
- package/fesm2022/fundamental-ngx-core-time.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-timeline.mjs +43 -43
- package/fesm2022/fundamental-ngx-core-timeline.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-title.mjs +8 -8
- package/fesm2022/fundamental-ngx-core-title.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-token.mjs +19 -15
- package/fesm2022/fundamental-ngx-core-token.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-toolbar.mjs +47 -47
- package/fesm2022/fundamental-ngx-core-toolbar.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-tree.mjs +32 -32
- package/fesm2022/fundamental-ngx-core-tree.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-upload-collection.mjs +37 -37
- package/fesm2022/fundamental-ngx-core-upload-collection.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-user-menu.mjs +64 -64
- package/fesm2022/fundamental-ngx-core-user-menu.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-vertical-navigation.mjs +13 -13
- package/fesm2022/fundamental-ngx-core-vertical-navigation.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-wizard.mjs +28 -28
- package/fesm2022/fundamental-ngx-core-wizard.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core.mjs +4 -4
- package/fesm2022/fundamental-ngx-core.mjs.map +1 -1
- package/package.json +113 -113
- package/{types/fundamental-ngx-core-shellbar.d.ts → shellbar/index.d.ts} +21 -13
- package/{types/fundamental-ngx-core-toolbar.d.ts → toolbar/index.d.ts} +7 -8
- /package/{types/fundamental-ngx-core-action-bar.d.ts → action-bar/index.d.ts} +0 -0
- /package/{types/fundamental-ngx-core-action-sheet.d.ts → action-sheet/index.d.ts} +0 -0
- /package/{types/fundamental-ngx-core-avatar.d.ts → avatar/index.d.ts} +0 -0
- /package/{types/fundamental-ngx-core-avatar-group.d.ts → avatar-group/index.d.ts} +0 -0
- /package/{types/fundamental-ngx-core-avatar-group-legacy.d.ts → avatar-group-legacy/index.d.ts} +0 -0
- /package/{types/fundamental-ngx-core-bar.d.ts → bar/index.d.ts} +0 -0
- /package/{types/fundamental-ngx-core-breadcrumb.d.ts → breadcrumb/index.d.ts} +0 -0
- /package/{types/fundamental-ngx-core-busy-indicator.d.ts → busy-indicator/index.d.ts} +0 -0
- /package/{types/fundamental-ngx-core-button.d.ts → button/index.d.ts} +0 -0
- /package/{types/fundamental-ngx-core-calendar.d.ts → calendar/index.d.ts} +0 -0
- /package/{types/fundamental-ngx-core-card.d.ts → card/index.d.ts} +0 -0
- /package/{types/fundamental-ngx-core-carousel.d.ts → carousel/index.d.ts} +0 -0
- /package/{types/fundamental-ngx-core-checkbox.d.ts → checkbox/index.d.ts} +0 -0
- /package/{types/fundamental-ngx-core-combobox.d.ts → combobox/index.d.ts} +0 -0
- /package/{types/fundamental-ngx-core-content-density.d.ts → content-density/index.d.ts} +0 -0
- /package/{types/fundamental-ngx-core-date-picker.d.ts → date-picker/index.d.ts} +0 -0
- /package/{types/fundamental-ngx-core-datetime.d.ts → datetime/index.d.ts} +0 -0
- /package/{types/fundamental-ngx-core-datetime-picker.d.ts → datetime-picker/index.d.ts} +0 -0
- /package/{types/fundamental-ngx-core-dialog.d.ts → dialog/index.d.ts} +0 -0
- /package/{types/fundamental-ngx-core-dynamic-page.d.ts → dynamic-page/index.d.ts} +0 -0
- /package/{types/fundamental-ngx-core-dynamic-side-content.d.ts → dynamic-side-content/index.d.ts} +0 -0
- /package/{types/fundamental-ngx-core-facets.d.ts → facets/index.d.ts} +0 -0
- /package/{types/fundamental-ngx-core-feed-input.d.ts → feed-input/index.d.ts} +0 -0
- /package/{types/fundamental-ngx-core-feed-list-item.d.ts → feed-list-item/index.d.ts} +0 -0
- /package/{types/fundamental-ngx-core-file-uploader.d.ts → file-uploader/index.d.ts} +0 -0
- /package/{types/fundamental-ngx-core-fixed-card-layout.d.ts → fixed-card-layout/index.d.ts} +0 -0
- /package/{types/fundamental-ngx-core-flexible-column-layout.d.ts → flexible-column-layout/index.d.ts} +0 -0
- /package/{types/fundamental-ngx-core-form.d.ts → form/index.d.ts} +0 -0
- /package/{types/fundamental-ngx-core-formatted-text.d.ts → formatted-text/index.d.ts} +0 -0
- /package/{types/fundamental-ngx-core-generic-tag.d.ts → generic-tag/index.d.ts} +0 -0
- /package/{types/fundamental-ngx-core-grid-list.d.ts → grid-list/index.d.ts} +0 -0
- /package/{types/fundamental-ngx-core-icon.d.ts → icon/index.d.ts} +0 -0
- /package/{types/fundamental-ngx-core-illustrated-message.d.ts → illustrated-message/index.d.ts} +0 -0
- /package/{types/fundamental-ngx-core.d.ts → index.d.ts} +0 -0
- /package/{types/fundamental-ngx-core-infinite-scroll.d.ts → infinite-scroll/index.d.ts} +0 -0
- /package/{types/fundamental-ngx-core-info-label.d.ts → info-label/index.d.ts} +0 -0
- /package/{types/fundamental-ngx-core-inline-help.d.ts → inline-help/index.d.ts} +0 -0
- /package/{types/fundamental-ngx-core-input-group.d.ts → input-group/index.d.ts} +0 -0
- /package/{types/fundamental-ngx-core-layout-grid.d.ts → layout-grid/index.d.ts} +0 -0
- /package/{types/fundamental-ngx-core-layout-panel.d.ts → layout-panel/index.d.ts} +0 -0
- /package/{types/fundamental-ngx-core-link.d.ts → link/index.d.ts} +0 -0
- /package/{types/fundamental-ngx-core-list.d.ts → list/index.d.ts} +0 -0
- /package/{types/fundamental-ngx-core-menu.d.ts → menu/index.d.ts} +0 -0
- /package/{types/fundamental-ngx-core-message-box.d.ts → message-box/index.d.ts} +0 -0
- /package/{types/fundamental-ngx-core-message-page.d.ts → message-page/index.d.ts} +0 -0
- /package/{types/fundamental-ngx-core-message-strip.d.ts → message-strip/index.d.ts} +0 -0
- /package/{types/fundamental-ngx-core-message-toast.d.ts → message-toast/index.d.ts} +0 -0
- /package/{types/fundamental-ngx-core-micro-process-flow.d.ts → micro-process-flow/index.d.ts} +0 -0
- /package/{types/fundamental-ngx-core-mobile-mode.d.ts → mobile-mode/index.d.ts} +0 -0
- /package/{types/fundamental-ngx-core-multi-combobox.d.ts → multi-combobox/index.d.ts} +0 -0
- /package/{types/fundamental-ngx-core-multi-input.d.ts → multi-input/index.d.ts} +0 -0
- /package/{types/fundamental-ngx-core-nested-list.d.ts → nested-list/index.d.ts} +0 -0
- /package/{types/fundamental-ngx-core-notification.d.ts → notification/index.d.ts} +0 -0
- /package/{types/fundamental-ngx-core-object-attribute.d.ts → object-attribute/index.d.ts} +0 -0
- /package/{types/fundamental-ngx-core-object-identifier.d.ts → object-identifier/index.d.ts} +0 -0
- /package/{types/fundamental-ngx-core-object-marker.d.ts → object-marker/index.d.ts} +0 -0
- /package/{types/fundamental-ngx-core-object-number.d.ts → object-number/index.d.ts} +0 -0
- /package/{types/fundamental-ngx-core-object-status.d.ts → object-status/index.d.ts} +0 -0
- /package/{types/fundamental-ngx-core-overflow-layout.d.ts → overflow-layout/index.d.ts} +0 -0
- /package/{types/fundamental-ngx-core-pagination.d.ts → pagination/index.d.ts} +0 -0
- /package/{types/fundamental-ngx-core-panel.d.ts → panel/index.d.ts} +0 -0
- /package/{types/fundamental-ngx-core-popover.d.ts → popover/index.d.ts} +0 -0
- /package/{types/fundamental-ngx-core-product-switch.d.ts → product-switch/index.d.ts} +0 -0
- /package/{types/fundamental-ngx-core-progress-indicator.d.ts → progress-indicator/index.d.ts} +0 -0
- /package/{types/fundamental-ngx-core-quick-view.d.ts → quick-view/index.d.ts} +0 -0
- /package/{types/fundamental-ngx-core-radio.d.ts → radio/index.d.ts} +0 -0
- /package/{types/fundamental-ngx-core-rating-indicator.d.ts → rating-indicator/index.d.ts} +0 -0
- /package/{types/fundamental-ngx-core-resizable-card-layout.d.ts → resizable-card-layout/index.d.ts} +0 -0
- /package/{types/fundamental-ngx-core-scroll-spy.d.ts → scroll-spy/index.d.ts} +0 -0
- /package/{types/fundamental-ngx-core-scrollbar.d.ts → scrollbar/index.d.ts} +0 -0
- /package/{types/fundamental-ngx-core-segmented-button.d.ts → segmented-button/index.d.ts} +0 -0
- /package/{types/fundamental-ngx-core-select.d.ts → select/index.d.ts} +0 -0
- /package/{types/fundamental-ngx-core-settings.d.ts → settings/index.d.ts} +0 -0
- /package/{types/fundamental-ngx-core-shared.d.ts → shared/index.d.ts} +0 -0
- /package/{types/fundamental-ngx-core-side-navigation.d.ts → side-navigation/index.d.ts} +0 -0
- /package/{types/fundamental-ngx-core-skeleton.d.ts → skeleton/index.d.ts} +0 -0
- /package/{types/fundamental-ngx-core-slider.d.ts → slider/index.d.ts} +0 -0
- /package/{types/fundamental-ngx-core-split-button.d.ts → split-button/index.d.ts} +0 -0
- /package/{types/fundamental-ngx-core-status-indicator.d.ts → status-indicator/index.d.ts} +0 -0
- /package/{types/fundamental-ngx-core-step-input.d.ts → step-input/index.d.ts} +0 -0
- /package/{types/fundamental-ngx-core-switch.d.ts → switch/index.d.ts} +0 -0
- /package/{types/fundamental-ngx-core-table.d.ts → table/index.d.ts} +0 -0
- /package/{types/fundamental-ngx-core-tabs.d.ts → tabs/index.d.ts} +0 -0
- /package/{types/fundamental-ngx-core-tests.d.ts → tests/index.d.ts} +0 -0
- /package/{types/fundamental-ngx-core-text.d.ts → text/index.d.ts} +0 -0
- /package/{types/fundamental-ngx-core-theming.d.ts → theming/index.d.ts} +0 -0
- /package/{types/fundamental-ngx-core-tile.d.ts → tile/index.d.ts} +0 -0
- /package/{types/fundamental-ngx-core-time.d.ts → time/index.d.ts} +0 -0
- /package/{types/fundamental-ngx-core-time-picker.d.ts → time-picker/index.d.ts} +0 -0
- /package/{types/fundamental-ngx-core-timeline.d.ts → timeline/index.d.ts} +0 -0
- /package/{types/fundamental-ngx-core-title.d.ts → title/index.d.ts} +0 -0
- /package/{types/fundamental-ngx-core-token.d.ts → token/index.d.ts} +0 -0
- /package/{types/fundamental-ngx-core-tree.d.ts → tree/index.d.ts} +0 -0
- /package/{types/fundamental-ngx-core-upload-collection.d.ts → upload-collection/index.d.ts} +0 -0
- /package/{types/fundamental-ngx-core-user-menu.d.ts → user-menu/index.d.ts} +0 -0
- /package/{types/fundamental-ngx-core-vertical-navigation.d.ts → vertical-navigation/index.d.ts} +0 -0
- /package/{types/fundamental-ngx-core-wizard.d.ts → wizard/index.d.ts} +0 -0
|
@@ -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 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')\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')\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 protected _role: string;\n\n /** @hidden */\n @HostBinding('attr.aria-expanded')\n protected _ariaExpanded: Nullable<boolean> = null;\n\n /** @hidden */\n @HostBinding('attr.aria-selected')\n protected _ariaSelected: Nullable<boolean> = null;\n\n /** @hidden */\n @HostBinding('attr.aria-disabled')\n protected _ariaDisabled = false;\n\n /** @hidden */\n @HostBinding('attr.aria-label')\n protected _ariaLabel: string;\n\n /** @hidden */\n @HostBinding('attr.aria-hidden')\n protected _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 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 protected _nestedListHeader: NestedListHeaderDirective;\n\n /** @hidden */\n @HostBinding('attr.role')\n protected _role = 'tree';\n\n /** @hidden */\n @HostBinding('attr.aria-roledescription')\n protected _ariaRoledescription: Nullable<string> = this.ariaRoledescriptionTree;\n\n /** @hidden */\n @HostBinding('attr.aria-haspopup')\n protected _ariaHaspopup: Nullable<string> = null;\n\n /** @hidden */\n @HostBinding('attr.tabindex')\n protected _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, // TODO: this property has been deprecated and will be removed from translations\n total: this.nestedItems.length, // TODO: this property has been deprecated and will be removed from translations\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 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/**\n * @deprecated\n * Use direct imports of components and directives.\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":["../tmp-esm2022/nested-list/nested-item/nested-item.service.js","../tmp-esm2022/nested-list/nested-list-directives.js","../tmp-esm2022/nested-list/nested-link/nested-link.directive.js","../tmp-esm2022/nested-list/nested-content/nested-list-content.directive.js","../tmp-esm2022/nested-list/nested-list-keyboard.service.js","../tmp-esm2022/nested-list/nested-list-state.service.js","../tmp-esm2022/nested-list/nested-item/nested-item.directive.js","../tmp-esm2022/nested-list/nested-list-popover/nested-list-popover.component.js","../tmp-esm2022/nested-list/nested-list/nested-list.directive.js","../tmp-esm2022/nested-list/prepared-nested-list/prepared-nested-list.component.js","../tmp-esm2022/nested-list/nested-list.module.js","../tmp-esm2022/nested-list/fundamental-ngx-core-nested-list.js"],"sourcesContent":["import { Subject } from 'rxjs';\n/** Contains references to popover or list nested components, that are placed as direct children of item component */\nexport class NestedItemService {\n constructor() {\n /** Subject fired when expand icon is clicked */\n this.toggle = new Subject();\n /** Subject fired, when child elements are focused */\n this.focus = new Subject();\n /** Subject fired, when content or link is clicked */\n this.click = new Subject();\n /** KeyDown handler, it is triggered from link, content and item elements */\n this.keyDown = new Subject();\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmVzdGVkLWl0ZW0uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS9uZXN0ZWQtbGlzdC9uZXN0ZWQtaXRlbS9uZXN0ZWQtaXRlbS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFJL0IscUhBQXFIO0FBQ3JILE1BQU0sT0FBTyxpQkFBaUI7SUFBOUI7UUFNSSxnREFBZ0Q7UUFDaEQsV0FBTSxHQUFxQixJQUFJLE9BQU8sRUFBVyxDQUFDO1FBRWxELHFEQUFxRDtRQUNyRCxVQUFLLEdBQWtCLElBQUksT0FBTyxFQUFRLENBQUM7UUFFM0MscURBQXFEO1FBQ3JELFVBQUssR0FBa0IsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQUUzQyw0RUFBNEU7UUFDNUUsWUFBTyxHQUEyQixJQUFJLE9BQU8sRUFBaUIsQ0FBQztJQUNuRSxDQUFDO0NBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBOZXN0ZWRMaXN0UG9wb3ZlckludGVyZmFjZSB9IGZyb20gJy4uL25lc3RlZC1saXN0LXBvcG92ZXIvbmVzdGVkLWxpc3QtcG9wb3Zlci5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgTmVzdGVkTGlzdEludGVyZmFjZSB9IGZyb20gJy4uL25lc3RlZC1saXN0L25lc3RlZC1saXN0LmludGVyZmFjZSc7XG5cbi8qKiBDb250YWlucyByZWZlcmVuY2VzIHRvIHBvcG92ZXIgb3IgbGlzdCBuZXN0ZWQgY29tcG9uZW50cywgdGhhdCBhcmUgcGxhY2VkIGFzIGRpcmVjdCBjaGlsZHJlbiBvZiBpdGVtIGNvbXBvbmVudCAqL1xuZXhwb3J0IGNsYXNzIE5lc3RlZEl0ZW1TZXJ2aWNlIHtcbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIGxpc3Q6IE5lc3RlZExpc3RJbnRlcmZhY2U7XG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwb3BvdmVyPzogTmVzdGVkTGlzdFBvcG92ZXJJbnRlcmZhY2U7XG5cbiAgICAvKiogU3ViamVjdCBmaXJlZCB3aGVuIGV4cGFuZCBpY29uIGlzIGNsaWNrZWQgKi9cbiAgICB0b2dnbGU6IFN1YmplY3Q8Ym9vbGVhbj4gPSBuZXcgU3ViamVjdDxib29sZWFuPigpO1xuXG4gICAgLyoqIFN1YmplY3QgZmlyZWQsIHdoZW4gY2hpbGQgZWxlbWVudHMgYXJlIGZvY3VzZWQgKi9cbiAgICBmb2N1czogU3ViamVjdDx2b2lkPiA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgICAvKiogU3ViamVjdCBmaXJlZCwgd2hlbiBjb250ZW50IG9yIGxpbmsgaXMgY2xpY2tlZCAqL1xuICAgIGNsaWNrOiBTdWJqZWN0PHZvaWQ+ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICAgIC8qKiBLZXlEb3duIGhhbmRsZXIsIGl0IGlzIHRyaWdnZXJlZCBmcm9tIGxpbmssIGNvbnRlbnQgYW5kIGl0ZW0gZWxlbWVudHMgKi9cbiAgICBrZXlEb3duOiBTdWJqZWN0PEtleWJvYXJkRXZlbnQ+ID0gbmV3IFN1YmplY3Q8S2V5Ym9hcmRFdmVudD4oKTtcbn1cbiJdfQ==","import { ChangeDetectionStrategy, ChangeDetectorRef, Component, Directive, ElementRef, HostBinding, HostListener, Input, Optional, ViewEncapsulation, computed } 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';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"./nested-item/nested-item.service\";\nimport * as i2 from \"@fundamental-ngx/cdk/utils\";\nlet uniqueId = 0;\nexport class NestedListHeaderDirective {\n /** @hidden */\n constructor(_elementRef) {\n this._elementRef = _elementRef;\n /** Id of the element. */\n this.id = `fd-nested-list-group-header-${++uniqueId}`;\n /** @hidden */\n this.fdNestedListHeaderClass = true;\n }\n /** Get the header title */\n get title() {\n return this._elementRef.nativeElement.textContent;\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: NestedListHeaderDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }\n static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"20.1.4\", type: NestedListHeaderDirective, isStandalone: true, selector: \"[fdNestedDirectivesHeader], [fd-nested-list-header]\", inputs: { id: \"id\" }, host: { properties: { \"attr.id\": \"this.id\", \"class.fd-nested-list__group-header\": \"this.fdNestedListHeaderClass\" } }, ngImport: i0 }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: NestedListHeaderDirective, decorators: [{\n type: Directive,\n args: [{\n selector: '[fdNestedDirectivesHeader], [fd-nested-list-header]',\n standalone: true\n }]\n }], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { id: [{\n type: Input\n }, {\n type: HostBinding,\n args: ['attr.id']\n }], fdNestedListHeaderClass: [{\n type: HostBinding,\n args: ['class.fd-nested-list__group-header']\n }] } });\nexport class NestedListIconComponent extends IconComponent {\n constructor() {\n super(...arguments);\n /** Role attribute */\n this.role = 'presentation';\n /** @hidden */\n this.fdNestedListIconClass = true;\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: NestedListIconComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"20.1.4\", type: NestedListIconComponent, isStandalone: true, selector: \"[fdNestedDirectivesIcon], [fd-nested-list-icon]\", inputs: { role: \"role\" }, host: { properties: { \"attr.role\": \"this.role\", \"class.fd-nested-list__icon\": \"this.fdNestedListIconClass\" } }, usesInheritance: true, ngImport: i0, template: `<ng-content></ng-content>`, isInline: true }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: NestedListIconComponent, decorators: [{\n type: Component,\n args: [{\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 }]\n }], propDecorators: { role: [{\n type: Input\n }, {\n type: HostBinding,\n args: ['attr.role']\n }], fdNestedListIconClass: [{\n type: HostBinding,\n args: ['class.fd-nested-list__icon']\n }] } });\nexport class NestedListTitleDirective {\n /** @hidden */\n constructor(elementRef) {\n this.elementRef = elementRef;\n /** @hidden */\n this.fdNestedListTitleClass = true;\n }\n /** Returns element's InnerText */\n getInnerText() {\n return this.elementRef && this.elementRef.nativeElement.textContent;\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: NestedListTitleDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }\n static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"20.1.4\", type: NestedListTitleDirective, isStandalone: true, selector: \"[fdNestedDirectivesTitle], [fd-nested-list-title]\", host: { properties: { \"class.fd-nested-list__title\": \"this.fdNestedListTitleClass\" } }, ngImport: i0 }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: NestedListTitleDirective, decorators: [{\n type: Directive,\n args: [{\n selector: '[fdNestedDirectivesTitle], [fd-nested-list-title]',\n standalone: true\n }]\n }], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { fdNestedListTitleClass: [{\n type: HostBinding,\n args: ['class.fd-nested-list__title']\n }] } });\nexport class NestedListExpandIconComponent {\n /** @hidden */\n constructor(_itemService, _changeDetRef, _rtlService) {\n this._itemService = _itemService;\n this._changeDetRef = _changeDetRef;\n this._rtlService = _rtlService;\n /** @hidden */\n this.fdNestedListTitleClass = true;\n /** @hidden */\n this.fdButtonClass = true;\n /**\n * @hidden\n * Attribute controlled by the parent `NestedItemDirective`\n */\n this.expanded = false;\n /** @hidden */\n this.ariaHidden = true;\n /** @hidden */\n this.sideArrowIcon$ = computed(() => this._rtlService?.rtlSignal() ? 'navigation-left-arrow' : 'navigation-right-arrow', ...(ngDevMode ? [{ debugName: \"sideArrowIcon$\" }] : []));\n }\n /** Mouse event handler */\n onClick(event) {\n this.expanded = !this.expanded;\n this._itemService.toggle.next(this.expanded);\n event.stopPropagation();\n }\n /** Handler for focus events */\n onFocus() {\n this._itemService.focus.next();\n }\n /** @hidden */\n changeExpandedState(expanded) {\n this.expanded = expanded;\n this._changeDetRef.detectChanges();\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: NestedListExpandIconComponent, deps: [{ token: i1.NestedItemService }, { token: i0.ChangeDetectorRef }, { token: i2.RtlService, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"20.1.4\", type: NestedListExpandIconComponent, isStandalone: true, selector: \"[fdNestedListExpandIcon], [fd-nested-list-expand-icon]\", host: { attributes: { \"aria-haspopup\": \"true\", \"tabindex\": \"-1\" }, listeners: { \"click\": \"onClick($event)\", \"focus\": \"onFocus()\" }, properties: { \"class.fd-nested-list__button\": \"this.fdNestedListTitleClass\", \"class.fd-button\": \"this.fdButtonClass\", \"class.is-expanded\": \"this.expanded\", \"attr.aria-expanded\": \"this.expanded\", \"attr.aria-hidden\": \"this.ariaHidden\" } }, ngImport: i0, template: `\n <ng-content></ng-content>\n <fd-icon [glyph]=\"expanded ? 'navigation-down-arrow' : sideArrowIcon$()\"></fd-icon>\n `, isInline: true, dependencies: [{ kind: \"component\", type: IconComponent, selector: \"fd-icon\", inputs: [\"glyph\", \"font\", \"color\", \"background\", \"class\", \"ariaLabel\", \"ariaHidden\"], outputs: [\"ariaHiddenChange\"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: NestedListExpandIconComponent, decorators: [{\n type: Component,\n args: [{\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 imports: [IconComponent]\n }]\n }], ctorParameters: () => [{ type: i1.NestedItemService }, { type: i0.ChangeDetectorRef }, { type: i2.RtlService, decorators: [{\n type: Optional\n }] }], propDecorators: { fdNestedListTitleClass: [{\n type: HostBinding,\n args: ['class.fd-nested-list__button']\n }], fdButtonClass: [{\n type: HostBinding,\n args: ['class.fd-button']\n }], expanded: [{\n type: HostBinding,\n args: ['class.is-expanded']\n }, {\n type: HostBinding,\n args: ['attr.aria-expanded']\n }], ariaHidden: [{\n type: HostBinding,\n args: ['attr.aria-hidden']\n }], onClick: [{\n type: HostListener,\n args: ['click', ['$event']]\n }], onFocus: [{\n type: HostListener,\n args: ['focus']\n }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmVzdGVkLWxpc3QtZGlyZWN0aXZlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS9uZXN0ZWQtbGlzdC9uZXN0ZWQtbGlzdC1kaXJlY3RpdmVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxTQUFTLEVBQ1QsVUFBVSxFQUNWLFdBQVcsRUFDWCxZQUFZLEVBQ1osS0FBSyxFQUNMLFFBQVEsRUFDUixpQkFBaUIsRUFDakIsUUFBUSxFQUNYLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7Ozs7QUFFdEUsSUFBSSxRQUFRLEdBQUcsQ0FBQyxDQUFDO0FBTWpCLE1BQU0sT0FBTyx5QkFBeUI7SUFVbEMsY0FBYztJQUNkLFlBQW9CLFdBQXVCO1FBQXZCLGdCQUFXLEdBQVgsV0FBVyxDQUFZO1FBVjNDLHlCQUF5QjtRQUd6QixPQUFFLEdBQWtCLCtCQUErQixFQUFFLFFBQVEsRUFBRSxDQUFDO1FBRWhFLGNBQWM7UUFFZCw0QkFBdUIsR0FBRyxJQUFJLENBQUM7SUFHZSxDQUFDO0lBRS9DLDJCQUEyQjtJQUMzQixJQUFJLEtBQUs7UUFDTCxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBQztJQUN0RCxDQUFDOzhHQWhCUSx5QkFBeUI7a0dBQXpCLHlCQUF5Qjs7MkZBQXpCLHlCQUF5QjtrQkFKckMsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUscURBQXFEO29CQUMvRCxVQUFVLEVBQUUsSUFBSTtpQkFDbkI7K0VBS0csRUFBRTtzQkFGRCxLQUFLOztzQkFDTCxXQUFXO3VC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RTs7O0tBR1Q7b0JBQ0QsSUFBSSxFQUFFO3dCQUNGLGVBQWUsRUFBRSxNQUFNO3dCQUN2QixRQUFRLEVBQUUsSUFBSTtxQkFDakI7b0JBQ0QsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07b0JBQy9DLGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO29CQUNyQyxPQUFPLEVBQUUsQ0FBQyxhQUFhLENBQUM7aUJBQzNCOzswQkErQlEsUUFBUTt5Q0EzQmIsc0JBQXNCO3NCQURyQixXQUFXO3VCQUFDLDhCQUE4QjtnQkFLM0MsYUFBYTtzQkFEWixXQUFXO3VCQUFDLGlCQUFpQjtnQkFTOUIsUUFBUTtzQkFGUCxXQUFXO3VCQUFDLG1CQUFtQjs7c0JBQy9CLFdBQVc7dUJBQUMsb0JBQW9CO2dCQUtqQyxVQUFVO3NCQURULFdBQVc7dUJBQUMsa0JBQWtCO2dCQWlCL0IsT0FBTztzQkFETixZQUFZO3VCQUFDLE9BQU8sRUFBRSxDQUFDLFFBQVEsQ0FBQztnQkFTakMsT0FBTztzQkFETixZQUFZO3VCQUFDLE9BQU8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIENvbXBvbmVudCxcbiAgICBEaXJlY3RpdmUsXG4gICAgRWxlbWVudFJlZixcbiAgICBIb3N0QmluZGluZyxcbiAgICBIb3N0TGlzdGVuZXIsXG4gICAgSW5wdXQsXG4gICAgT3B0aW9uYWwsXG4gICAgVmlld0VuY2Fwc3VsYXRpb24sXG4gICAgY29tcHV0ZWRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSdGxTZXJ2aWNlIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jZGsvdXRpbHMnO1xuaW1wb3J0IHsgSWNvbkNvbXBvbmVudCB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZS9pY29uJztcbmltcG9ydCB7IE5lc3RlZEl0ZW1TZXJ2aWNlIH0gZnJvbSAnLi9uZXN0ZWQtaXRlbS9uZXN0ZWQtaXRlbS5zZXJ2aWNlJztcblxubGV0IHVuaXF1ZUlkID0gMDtcblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbZmROZXN0ZWREaXJlY3RpdmVzSGVhZGVyXSwgW2ZkLW5lc3RlZC1saXN0LWhlYWRlcl0nLFxuICAgIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgTmVzdGVkTGlzdEhlYWRlckRpcmVjdGl2ZSB7XG4gICAgLyoqIElkIG9mIHRoZSBlbGVtZW50LiAqL1xuICAgIEBJbnB1dCgpXG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLmlkJylcbiAgICBpZDogc3RyaW5nIHwgbnVsbCA9IGBmZC1uZXN0ZWQtbGlzdC1ncm91cC1oZWFkZXItJHsrK3VuaXF1ZUlkfWA7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBIb3N0QmluZGluZygnY2xhc3MuZmQtbmVzdGVkLWxpc3RfX2dyb3VwLWhlYWRlcicpXG4gICAgZmROZXN0ZWRMaXN0SGVhZGVyQ2xhc3MgPSB0cnVlO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9lbGVtZW50UmVmOiBFbGVtZW50UmVmKSB7fVxuXG4gICAgLyoqIEdldCB0aGUgaGVhZGVyIHRpdGxlICovXG4gICAgZ2V0IHRpdGxlKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQudGV4dENvbnRlbnQ7XG4gICAgfVxufVxuXG5AQ29tcG9uZW50KHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L2NvbXBvbmVudC1zZWxlY3RvclxuICAgIHNlbGVjdG9yOiAnW2ZkTmVzdGVkRGlyZWN0aXZlc0ljb25dLCBbZmQtbmVzdGVkLWxpc3QtaWNvbl0nLFxuICAgIHRlbXBsYXRlOiBgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PmAsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBOZXN0ZWRMaXN0SWNvbkNvbXBvbmVudCBleHRlbmRzIEljb25Db21wb25lbnQge1xuICAgIC8qKiBSb2xlIGF0dHJpYnV0ZSAqL1xuICAgIEBJbnB1dCgpXG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLnJvbGUnKVxuICAgIHJvbGUgPSAncHJlc2VudGF0aW9uJztcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5mZC1uZXN0ZWQtbGlzdF9faWNvbicpXG4gICAgZmROZXN0ZWRMaXN0SWNvbkNsYXNzID0gdHJ1ZTtcbn1cblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbZmROZXN0ZWREaXJlY3RpdmVzVGl0bGVdLCBbZmQtbmVzdGVkLWxpc3QtdGl0bGVdJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIE5lc3RlZExpc3RUaXRsZURpcmVjdGl2ZSB7XG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLmZkLW5lc3RlZC1saXN0X190aXRsZScpXG4gICAgZmROZXN0ZWRMaXN0VGl0bGVDbGFzcyA9IHRydWU7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgZWxlbWVudFJlZjogRWxlbWVudFJlZikge31cblxuICAgIC8qKiBSZXR1cm5zIGVsZW1lbnQncyBJbm5lclRleHQgKi9cbiAgICBnZXRJbm5lclRleHQoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZWxlbWVudFJlZiAmJiB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC50ZXh0Q29udGVudDtcbiAgICB9XG59XG5cbkBDb21wb25lbnQoe1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvY29tcG9uZW50LXNlbGVjdG9yXG4gICAgc2VsZWN0b3I6ICdbZmROZXN0ZWRMaXN0RXhwYW5kSWNvbl0sIFtmZC1uZXN0ZWQtbGlzdC1leHBhbmQtaWNvbl0nLFxuICAgIHRlbXBsYXRlOiBgXG4gICAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICAgICAgPGZkLWljb24gW2dseXBoXT1cImV4cGFuZGVkID8gJ25hdmlnYXRpb24tZG93bi1hcnJvdycgOiBzaWRlQXJyb3dJY29uJCgpXCI+PC9mZC1pY29uPlxuICAgIGAsXG4gICAgaG9zdDoge1xuICAgICAgICAnYXJpYS1oYXNwb3B1cCc6ICd0cnVlJyxcbiAgICAgICAgdGFiaW5kZXg6ICctMSdcbiAgICB9LFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgaW1wb3J0czogW0ljb25Db21wb25lbnRdXG59KVxuZXhwb3J0IGNsYXNzIE5lc3RlZExpc3RFeHBhbmRJY29uQ29tcG9uZW50IHtcbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBIb3N0QmluZGluZygnY2xhc3MuZmQtbmVzdGVkLWxpc3RfX2J1dHRvbicpXG4gICAgZmROZXN0ZWRMaXN0VGl0bGVDbGFzcyA9IHRydWU7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBIb3N0QmluZGluZygnY2xhc3MuZmQtYnV0dG9uJylcbiAgICBmZEJ1dHRvbkNsYXNzID0gdHJ1ZTtcblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKiBBdHRyaWJ1dGUgY29udHJvbGxlZCBieSB0aGUgcGFyZW50IGBOZXN0ZWRJdGVtRGlyZWN0aXZlYFxuICAgICAqL1xuICAgIEBIb3N0QmluZGluZygnY2xhc3MuaXMtZXhwYW5kZWQnKVxuICAgIEBIb3N0QmluZGluZygnYXR0ci5hcmlhLWV4cGFuZGVkJylcbiAgICBleHBhbmRlZCA9IGZhbHNlO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIuYXJpYS1oaWRkZW4nKVxuICAgIGFyaWFIaWRkZW4gPSB0cnVlO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBzaWRlQXJyb3dJY29uJCA9IGNvbXB1dGVkKCgpID0+XG4gICAgICAgIHRoaXMuX3J0bFNlcnZpY2U/LnJ0bFNpZ25hbCgpID8gJ25hdmlnYXRpb24tbGVmdC1hcnJvdycgOiAnbmF2aWdhdGlvbi1yaWdodC1hcnJvdydcbiAgICApO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBfaXRlbVNlcnZpY2U6IE5lc3RlZEl0ZW1TZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIF9jaGFuZ2VEZXRSZWY6IENoYW5nZURldGVjdG9yUmVmLFxuICAgICAgICBAT3B0aW9uYWwoKSBwcml2YXRlIF9ydGxTZXJ2aWNlOiBSdGxTZXJ2aWNlXG4gICAgKSB7fVxuXG4gICAgLyoqIE1vdXNlIGV2ZW50IGhhbmRsZXIgKi9cbiAgICBASG9zdExpc3RlbmVyKCdjbGljaycsIFsnJGV2ZW50J10pXG4gICAgb25DbGljayhldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xuICAgICAgICB0aGlzLmV4cGFuZGVkID0gIXRoaXMuZXhwYW5kZWQ7XG4gICAgICAgIHRoaXMuX2l0ZW1TZXJ2aWNlLnRvZ2dsZS5uZXh0KHRoaXMuZXhwYW5kZWQpO1xuICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICB9XG5cbiAgICAvKiogSGFuZGxlciBmb3IgZm9jdXMgZXZlbnRzICovXG4gICAgQEhvc3RMaXN0ZW5lcignZm9jdXMnKVxuICAgIG9uRm9jdXMoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX2l0ZW1TZXJ2aWNlLmZvY3VzLm5leHQoKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIGNoYW5nZUV4cGFuZGVkU3RhdGUoZXhwYW5kZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5leHBhbmRlZCA9IGV4cGFuZGVkO1xuICAgICAgICB0aGlzLl9jaGFuZ2VEZXRSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH1cbn1cbiJdfQ==","import { ChangeDetectorRef, ContentChild, Directive, ElementRef, EventEmitter, HostBinding, HostListener, Input, Output } from '@angular/core';\nimport { NestedItemService } from '../nested-item/nested-item.service';\nimport { NestedListTitleDirective } from '../nested-list-directives';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"../nested-item/nested-item.service\";\nexport class NestedLinkDirective {\n /** @hidden */\n constructor(changeDetRef, _elementRef, _itemService) {\n this.changeDetRef = changeDetRef;\n this._elementRef = _elementRef;\n this._itemService = _itemService;\n /** Whether this element is selected*/\n this.selected = false;\n /** Event thrown, when selected state is changed */\n this.selectedChange = new EventEmitter();\n /** @hidden */\n this.fdNestedListItemClass = true;\n /** @hidden */\n this.tabIndex = 0;\n /** @hidden */\n this.role = 'treeitem';\n }\n /** Handler for keyboard events */\n onKeyDown(event) {\n this._itemService.keyDown.next(event);\n }\n /** Handler for mouse events */\n onClick() {\n this._itemService.click.next();\n if (this.onClickCallback) {\n this.onClickCallback();\n }\n }\n /** Handler for focus events */\n onFocus() {\n this._itemService.focus.next();\n }\n /** Method to trigger selected state change */\n changeSelected(selected) {\n this.selected = selected;\n this.selectedChange.emit(selected);\n }\n /** Set focus on the element. */\n focus() {\n this._elementRef.nativeElement.focus();\n }\n /** Dispatches the click event on the element */\n click() {\n this._elementRef.nativeElement.click();\n }\n /** Returns the title value of the title directive */\n getTitle() {\n return this.title && this.title.getInnerText();\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: NestedLinkDirective, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i1.NestedItemService }], target: i0.ɵɵFactoryTarget.Directive }); }\n static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"20.1.4\", type: NestedLinkDirective, isStandalone: true, selector: \"[fdNestedLink], [fd-nested-list-link]\", inputs: { onClickCallback: \"onClickCallback\", selected: \"selected\", ariaDescribedby: \"ariaDescribedby\" }, outputs: { selectedChange: \"selectedChange\" }, host: { listeners: { \"keydown\": \"onKeyDown($event)\", \"click\": \"onClick()\", \"focus\": \"onFocus()\" }, properties: { \"class.is-selected\": \"this.selected\", \"attr.aria-label\": \"this._ariaLabel\", \"attr.aria-describedby\": \"this.ariaDescribedby\", \"class.fd-nested-list__link\": \"this.fdNestedListItemClass\", \"attr.tabindex\": \"this.tabIndex\", \"attr.role\": \"this.role\" } }, queries: [{ propertyName: \"title\", first: true, predicate: NestedListTitleDirective, descendants: true }], ngImport: i0 }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: NestedLinkDirective, decorators: [{\n type: Directive,\n args: [{\n selector: '[fdNestedLink], [fd-nested-list-link]',\n standalone: true\n }]\n }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i1.NestedItemService }], propDecorators: { onClickCallback: [{\n type: Input\n }], selected: [{\n type: Input\n }, {\n type: HostBinding,\n args: ['class.is-selected']\n }], _ariaLabel: [{\n type: HostBinding,\n args: ['attr.aria-label']\n }], ariaDescribedby: [{\n type: Input\n }, {\n type: HostBinding,\n args: ['attr.aria-describedby']\n }], selectedChange: [{\n type: Output\n }], fdNestedListItemClass: [{\n type: HostBinding,\n args: ['class.fd-nested-list__link']\n }], tabIndex: [{\n type: HostBinding,\n args: ['attr.tabindex']\n }], role: [{\n type: HostBinding,\n args: ['attr.role']\n }], title: [{\n type: ContentChild,\n args: [NestedListTitleDirective]\n }], onKeyDown: [{\n type: HostListener,\n args: ['keydown', ['$event']]\n }], onClick: [{\n type: HostListener,\n args: ['click']\n }], onFocus: [{\n type: HostListener,\n args: ['focus']\n }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmVzdGVkLWxpbmsuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL25lc3RlZC1saXN0L25lc3RlZC1saW5rL25lc3RlZC1saW5rLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsaUJBQWlCLEVBQ2pCLFlBQVksRUFDWixTQUFTLEVBQ1QsVUFBVSxFQUNWLFlBQVksRUFDWixXQUFXLEVBQ1gsWUFBWSxFQUNaLEtBQUssRUFDTCxNQUFNLEVBQ1QsTUFBTSxlQUFlLENBQUM7QUFHdkIsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDdkUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sMkJBQTJCLENBQUM7OztBQU1yRSxNQUFNLE9BQU8sbUJBQW1CO0lBMEM1QixjQUFjO0lBQ2QsWUFDVyxZQUErQixFQUM5QixXQUF1QixFQUN2QixZQUErQjtRQUZoQyxpQkFBWSxHQUFaLFlBQVksQ0FBbUI7UUFDOUIsZ0JBQVcsR0FBWCxXQUFXLENBQVk7UUFDdkIsaUJBQVksR0FBWixZQUFZLENBQW1CO1FBekMzQyxzQ0FBc0M7UUFHdEMsYUFBUSxHQUFHLEtBQUssQ0FBQztRQVdqQixtREFBbUQ7UUFFbkQsbUJBQWMsR0FBMEIsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQUVwRSxjQUFjO1FBRWQsMEJBQXFCLEdBQUcsSUFBSSxDQUFDO1FBRTdCLGNBQWM7UUFFZCxhQUFRLEdBQUcsQ0FBQyxDQUFDO1FBRWIsY0FBYztRQUVkLFNBQUksR0FBRyxVQUFVLENBQUM7SUFjZixDQUFDO0lBRUosa0NBQWtDO0lBRWxDLFNBQVMsQ0FBQyxLQUFvQjtRQUMxQixJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDMUMsQ0FBQztJQUVELCtCQUErQjtJQUUvQixPQUFPO1FBQ0gsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDL0IsSUFBSSxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7WUFDdkIsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQzNCLENBQUM7SUFDTCxDQUFDO0lBRUQsK0JBQStCO0lBRS9CLE9BQU87UUFDSCxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNuQyxDQUFDO0lBRUQsOENBQThDO0lBQzlDLGNBQWMsQ0FBQyxRQUFpQjtRQUM1QixJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztRQUN6QixJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBRUQsZ0NBQWdDO0lBQ2hDLEtBQUs7UUFDRCxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUMzQyxDQUFDO0lBRUQsZ0RBQWdEO0lBQ2hELEtBQUs7UUFDRCxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUMzQyxDQUFDO0lBRUQscURBQXFEO0lBQ3JELFFBQVE7UUFDSixPQUFPLElBQUksQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUNuRCxDQUFDOzhHQXpGUSxtQkFBbUI7a0dBQW5CLG1CQUFtQix1b0JBdUNkLHdCQUF3Qjs7MkZBdkM3QixtQkFBbUI7a0JBSi9CLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLHVDQUF1QztvQkFDakQsVUFBVSxFQUFFLElBQUk7aUJBQ25COytJQUlHLGVBQWU7c0JBRGQsS0FBSztnQkFNTixRQUFRO3NCQUZQLEtBQUs7O3NCQUNMLFdBQVc7dUJBQUMsbUJBQW1CO2dCQUtoQyxVQUFVO3NCQURULFdBQVc7dUJBQUMsaUJBQWlCO2dCQU05QixlQUFlO3NCQUZkLEtBQUs7O3NCQUNMLFdBQVc7dUJBQUMsdUJBQXVCO2dCQUtwQyxjQUFjO3NCQURiLE1BQU07Z0JBS1AscUJBQXFCO3NCQURwQixXQUFXO3VCQUFDLDRCQUE0QjtnQkFLekMsUUFBUTtzQkFEUCxXQUFXO3VCQUFDLGVBQWU7Z0JBSzVCLElBQUk7c0JBREgsV0FBVzt1QkFBQyxXQUFXO2dCQVF4QixLQUFLO3NCQURKLFlBQVk7dUJBQUMsd0JBQXdCO2dCQVl0QyxTQUFTO3NCQURSLFlBQVk7dUJBQUMsU0FBUyxFQUFFLENBQUMsUUFBUSxDQUFDO2dCQU9uQyxPQUFPO3NCQUROLFlBQVk7dUJBQUMsT0FBTztnQkFVckIsT0FBTztzQkFETixZQUFZO3VCQUFDLE9BQU8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIENvbnRlbnRDaGlsZCxcbiAgICBEaXJlY3RpdmUsXG4gICAgRWxlbWVudFJlZixcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgSG9zdEJpbmRpbmcsXG4gICAgSG9zdExpc3RlbmVyLFxuICAgIElucHV0LFxuICAgIE91dHB1dFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE51bGxhYmxlIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jZGsvdXRpbHMnO1xuaW1wb3J0IHsgTmVzdGVkSXRlbUxpbmsgfSBmcm9tICcuLi9uZXN0ZWQtaXRlbS9uZXN0ZWQtaXRlbS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgTmVzdGVkSXRlbVNlcnZpY2UgfSBmcm9tICcuLi9uZXN0ZWQtaXRlbS9uZXN0ZWQtaXRlbS5zZXJ2aWNlJztcbmltcG9ydCB7IE5lc3RlZExpc3RUaXRsZURpcmVjdGl2ZSB9IGZyb20gJy4uL25lc3RlZC1saXN0LWRpcmVjdGl2ZXMnO1xuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1tmZE5lc3RlZExpbmtdLCBbZmQtbmVzdGVkLWxpc3QtbGlua10nLFxuICAgIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgTmVzdGVkTGlua0RpcmVjdGl2ZSBpbXBsZW1lbnRzIE5lc3RlZEl0ZW1MaW5rIHtcbiAgICAvKiogRnVuY3Rpb24gdGhhdCBpcyBjYWxsZWQgb24gY2xpY2sgZXZlbnQgZGlzcGF0Y2ggb24gdGhpcyBlbGVtZW50LiAqL1xuICAgIEBJbnB1dCgpXG4gICAgb25DbGlja0NhbGxiYWNrOiAoKSA9PiB2b2lkO1xuXG4gICAgLyoqIFdoZXRoZXIgdGhpcyBlbGVtZW50IGlzIHNlbGVjdGVkKi9cbiAgICBASW5wdXQoKVxuICAgIEBIb3N0QmluZGluZygnY2xhc3MuaXMtc2VsZWN0ZWQnKVxuICAgIHNlbGVjdGVkID0gZmFsc2U7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBIb3N0QmluZGluZygnYXR0ci5hcmlhLWxhYmVsJylcbiAgICBfYXJpYUxhYmVsOiBzdHJpbmc7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBJbnB1dCgpXG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLmFyaWEtZGVzY3JpYmVkYnknKVxuICAgIGFyaWFEZXNjcmliZWRieTogTnVsbGFibGU8c3RyaW5nIHwgbnVtYmVyPjtcblxuICAgIC8qKiBFdmVudCB0aHJvd24sIHdoZW4gc2VsZWN0ZWQgc3RhdGUgaXMgY2hhbmdlZCAqL1xuICAgIEBPdXRwdXQoKVxuICAgIHNlbGVjdGVkQ2hhbmdlOiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4gPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBIb3N0QmluZGluZygnY2xhc3MuZmQtbmVzdGVkLWxpc3RfX2xpbmsnKVxuICAgIGZkTmVzdGVkTGlzdEl0ZW1DbGFzcyA9IHRydWU7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBIb3N0QmluZGluZygnYXR0ci50YWJpbmRleCcpXG4gICAgdGFiSW5kZXggPSAwO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIucm9sZScpXG4gICAgcm9sZSA9ICd0cmVlaXRlbSc7XG5cbiAgICAvKipcbiAgICAgKiAgQGhpZGRlblxuICAgICAqICBSZWZlcmVuY2UgdG8gdGl0bGUgZWxlbWVudCwgaXQgaXMgdXNlZCwgdG8gZ2V0IHRpdGxlIGZvciBjb25kZW5zZWQgbW9kZS5cbiAgICAgKi9cbiAgICBAQ29udGVudENoaWxkKE5lc3RlZExpc3RUaXRsZURpcmVjdGl2ZSlcbiAgICB0aXRsZTogTmVzdGVkTGlzdFRpdGxlRGlyZWN0aXZlO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHVibGljIGNoYW5nZURldFJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgICAgIHByaXZhdGUgX2VsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXG4gICAgICAgIHByaXZhdGUgX2l0ZW1TZXJ2aWNlOiBOZXN0ZWRJdGVtU2VydmljZVxuICAgICkge31cblxuICAgIC8qKiBIYW5kbGVyIGZvciBrZXlib2FyZCBldmVudHMgKi9cbiAgICBASG9zdExpc3RlbmVyKCdrZXlkb3duJywgWyckZXZlbnQnXSlcbiAgICBvbktleURvd24oZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5faXRlbVNlcnZpY2Uua2V5RG93bi5uZXh0KGV2ZW50KTtcbiAgICB9XG5cbiAgICAvKiogSGFuZGxlciBmb3IgbW91c2UgZXZlbnRzICovXG4gICAgQEhvc3RMaXN0ZW5lcignY2xpY2snKVxuICAgIG9uQ2xpY2soKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX2l0ZW1TZXJ2aWNlLmNsaWNrLm5leHQoKTtcbiAgICAgICAgaWYgKHRoaXMub25DbGlja0NhbGxiYWNrKSB7XG4gICAgICAgICAgICB0aGlzLm9uQ2xpY2tDYWxsYmFjaygpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIEhhbmRsZXIgZm9yIGZvY3VzIGV2ZW50cyAqL1xuICAgIEBIb3N0TGlzdGVuZXIoJ2ZvY3VzJylcbiAgICBvbkZvY3VzKCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9pdGVtU2VydmljZS5mb2N1cy5uZXh0KCk7XG4gICAgfVxuXG4gICAgLyoqIE1ldGhvZCB0byB0cmlnZ2VyIHNlbGVjdGVkIHN0YXRlIGNoYW5nZSAqL1xuICAgIGNoYW5nZVNlbGVjdGVkKHNlbGVjdGVkOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWQgPSBzZWxlY3RlZDtcbiAgICAgICAgdGhpcy5zZWxlY3RlZENoYW5nZS5lbWl0KHNlbGVjdGVkKTtcbiAgICB9XG5cbiAgICAvKiogU2V0IGZvY3VzIG9uIHRoZSBlbGVtZW50LiAqL1xuICAgIGZvY3VzKCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgICB9XG5cbiAgICAvKiogRGlzcGF0Y2hlcyB0aGUgY2xpY2sgZXZlbnQgb24gdGhlIGVsZW1lbnQgKi9cbiAgICBjbGljaygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmNsaWNrKCk7XG4gICAgfVxuXG4gICAgLyoqIFJldHVybnMgdGhlIHRpdGxlIHZhbHVlIG9mIHRoZSB0aXRsZSBkaXJlY3RpdmUgKi9cbiAgICBnZXRUaXRsZSgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy50aXRsZSAmJiB0aGlzLnRpdGxlLmdldElubmVyVGV4dCgpO1xuICAgIH1cbn1cbiJdfQ==","import { ChangeDetectorRef, ContentChild, DestroyRef, Directive, ElementRef, EventEmitter, HostBinding, HostListener, Input, Output, inject } 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';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"../nested-item/nested-item.service\";\nexport class NestedListContentDirective {\n /** @hidden */\n constructor(changeDetRef, _elementRef, _itemService) {\n this.changeDetRef = changeDetRef;\n this._elementRef = _elementRef;\n this._itemService = _itemService;\n /** Whether this element is selected*/\n this.selected = false;\n /** @hidden */\n this.role = 'treeitem';\n /** @hidden */\n this.ariaExpanded = false;\n /** Event thrown, when selected state is changed */\n this.selectedChange = new EventEmitter();\n /** Event that is thrown, when any keyboard event is dispatched on this element */\n this.keyboardTriggered = new EventEmitter();\n /** Event that is thrown, when this element is clicked */\n this.clicked = new EventEmitter();\n /** @hidden */\n this.fdNestedListContentClass = true;\n /**\n * @hidden\n * Attribute controlled by the parent `NestedItemDirective`\n */\n this.hasChildren = false;\n /** An RxJS Subject that will kill the data stream upon component’s destruction (for unsubscribing) */\n this._destroyRef = inject(DestroyRef);\n }\n /** Keyboard Event Handler */\n onKeyDown(event) {\n this.keyboardTriggered.emit(event);\n this._itemService.keyDown.next(event);\n }\n /** Handler for mouse events */\n onClick() {\n this._itemService.click.next();\n }\n /** @hidden */\n ngAfterContentInit() {\n this._makeLinkUnFocusable();\n this._setFocusSubscription();\n }\n /** Method to trigger selected state change */\n changeSelected(selected) {\n this.selected = selected;\n this.selectedChange.emit(selected);\n }\n /** Expanded state change propagation method */\n changeExpandedState(expanded) {\n if (this.nestedExpandIcon) {\n this.nestedExpandIcon.changeExpandedState(expanded);\n }\n }\n /** Set focus on the element. */\n focus() {\n this._elementRef.nativeElement.focus();\n }\n /** Dispatches the click event on the element */\n click() {\n this.focus();\n if (this.nestedLink) {\n this.nestedLink.click();\n }\n }\n /** Add subscription for child focusing */\n _setFocusSubscription() {\n this._itemService.focus.pipe(takeUntilDestroyed(this._destroyRef)).subscribe(() => this.focus());\n }\n /** Hide link child element from tab key */\n _makeLinkUnFocusable() {\n if (this.nestedLink) {\n this.nestedLink.tabIndex = -1;\n this.changeDetRef.detectChanges();\n }\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: NestedListContentDirective, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i1.NestedItemService }], target: i0.ɵɵFactoryTarget.Directive }); }\n static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"20.1.4\", type: NestedListContentDirective, isStandalone: true, selector: \"[fdNestedListContent], [fd-nested-list-content]\", inputs: { selected: \"selected\" }, outputs: { selectedChange: \"selectedChange\", keyboardTriggered: \"keyboardTriggered\", clicked: \"clicked\" }, host: { attributes: { \"tabindex\": \"0\" }, listeners: { \"keydown\": \"onKeyDown($event)\", \"click\": \"onClick()\" }, properties: { \"class.is-selected\": \"this.selected\", \"attr.role\": \"this.role\", \"attr.aria-expanded\": \"this.ariaExpanded\", \"class.fd-nested-list__content\": \"this.fdNestedListContentClass\", \"class.has-child\": \"this.hasChildren\" } }, queries: [{ propertyName: \"nestedLink\", first: true, predicate: NestedLinkDirective, descendants: true }, { propertyName: \"nestedExpandIcon\", first: true, predicate: NestedListExpandIconComponent, descendants: true }], ngImport: i0 }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: NestedListContentDirective, decorators: [{\n type: Directive,\n args: [{\n selector: '[fdNestedListContent], [fd-nested-list-content]',\n host: {\n tabindex: '0'\n },\n standalone: true\n }]\n }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i1.NestedItemService }], propDecorators: { selected: [{\n type: Input\n }, {\n type: HostBinding,\n args: ['class.is-selected']\n }], role: [{\n type: HostBinding,\n args: ['attr.role']\n }], ariaExpanded: [{\n type: HostBinding,\n args: ['attr.aria-expanded']\n }], selectedChange: [{\n type: Output\n }], keyboardTriggered: [{\n type: Output\n }], clicked: [{\n type: Output\n }], fdNestedListContentClass: [{\n type: HostBinding,\n args: ['class.fd-nested-list__content']\n }], hasChildren: [{\n type: HostBinding,\n args: ['class.has-child']\n }], nestedLink: [{\n type: ContentChild,\n args: [NestedLinkDirective]\n }], nestedExpandIcon: [{\n type: ContentChild,\n args: [NestedListExpandIconComponent]\n }], onKeyDown: [{\n type: HostListener,\n args: ['keydown', ['$event']]\n }], onClick: [{\n type: HostListener,\n args: ['click']\n }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmVzdGVkLWxpc3QtY29udGVudC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvbmVzdGVkLWxpc3QvbmVzdGVkLWNvbnRlbnQvbmVzdGVkLWxpc3QtY29udGVudC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVILGlCQUFpQixFQUNqQixZQUFZLEVBQ1osVUFBVSxFQUNWLFNBQVMsRUFDVCxVQUFVLEVBQ1YsWUFBWSxFQUNaLFdBQVcsRUFDWCxZQUFZLEVBQ1osS0FBSyxFQUNMLE1BQU0sRUFDTixNQUFNLEVBQ1QsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDaEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDdkUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDM0UsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sMkJBQTJCLENBQUM7OztBQVMxRSxNQUFNLE9BQU8sMEJBQTBCO0lBZ0RuQyxjQUFjO0lBQ2QsWUFDVyxZQUErQixFQUM5QixXQUF1QixFQUN2QixZQUErQjtRQUZoQyxpQkFBWSxHQUFaLFlBQVksQ0FBbUI7UUFDOUIsZ0JBQVcsR0FBWCxXQUFXLENBQVk7UUFDdkIsaUJBQVksR0FBWixZQUFZLENBQW1CO1FBbkQzQyxzQ0FBc0M7UUFHdEMsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUVqQixjQUFjO1FBRWQsU0FBSSxHQUFHLFVBQVUsQ0FBQztRQUVsQixjQUFjO1FBRWQsaUJBQVksR0FBRyxLQUFLLENBQUM7UUFFckIsbURBQW1EO1FBRW5ELG1CQUFjLEdBQTBCLElBQUksWUFBWSxFQUFXLENBQUM7UUFFcEUsa0ZBQWtGO1FBRXpFLHNCQUFpQixHQUFnQyxJQUFJLFlBQVksRUFBaUIsQ0FBQztRQUU1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QkFBQywrQkFBK0I7Z0JBUTVDLFdBQVc7c0JBRFYsV0FBVzt1QkFBQyxpQkFBaUI7Z0JBSzlCLFVBQVU7c0JBRFQsWUFBWTt1QkFBQyxtQkFBbUI7Z0JBS2pDLGdCQUFnQjtzQkFEZixZQUFZO3VCQUFDLDZCQUE2QjtnQkFlM0MsU0FBUztzQkFEUixZQUFZO3VCQUFDLFNBQVMsRUFBRSxDQUFDLFFBQVEsQ0FBQztnQkFRbkMsT0FBTztzQkFETixZQUFZO3VCQUFDLE9BQU8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIEFmdGVyQ29udGVudEluaXQsXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQ29udGVudENoaWxkLFxuICAgIERlc3Ryb3lSZWYsXG4gICAgRGlyZWN0aXZlLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIEhvc3RCaW5kaW5nLFxuICAgIEhvc3RMaXN0ZW5lcixcbiAgICBJbnB1dCxcbiAgICBPdXRwdXQsXG4gICAgaW5qZWN0XG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgdGFrZVVudGlsRGVzdHJveWVkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHsgTmVzdGVkSXRlbVNlcnZpY2UgfSBmcm9tICcuLi9uZXN0ZWQtaXRlbS9uZXN0ZWQtaXRlbS5zZXJ2aWNlJztcbmltcG9ydCB7IE5lc3RlZExpbmtEaXJlY3RpdmUgfSBmcm9tICcuLi9uZXN0ZWQtbGluay9uZXN0ZWQtbGluay5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgTmVzdGVkTGlzdEV4cGFuZEljb25Db21wb25lbnQgfSBmcm9tICcuLi9uZXN0ZWQtbGlzdC1kaXJlY3RpdmVzJztcblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbZmROZXN0ZWRMaXN0Q29udGVudF0sIFtmZC1uZXN0ZWQtbGlzdC1jb250ZW50XScsXG4gICAgaG9zdDoge1xuICAgICAgICB0YWJpbmRleDogJzAnXG4gICAgfSxcbiAgICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIE5lc3RlZExpc3RDb250ZW50RGlyZWN0aXZlIGltcGxlbWVudHMgQWZ0ZXJDb250ZW50SW5pdCB7XG4gICAgLyoqIFdoZXRoZXIgdGhpcyBlbGVtZW50IGlzIHNlbGVjdGVkKi9cbiAgICBASW5wdXQoKVxuICAgIEBIb3N0QmluZGluZygnY2xhc3MuaXMtc2VsZWN0ZWQnKVxuICAgIHNlbGVjdGVkID0gZmFsc2U7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBIb3N0QmluZGluZygnYXR0ci5yb2xlJylcbiAgICByb2xlID0gJ3RyZWVpdGVtJztcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLmFyaWEtZXhwYW5kZWQnKVxuICAgIGFyaWFFeHBhbmRlZCA9IGZhbHNlO1xuXG4gICAgLyoqIEV2ZW50IHRocm93biwgd2hlbiBzZWxlY3RlZCBzdGF0ZSBpcyBjaGFuZ2VkICovXG4gICAgQE91dHB1dCgpXG4gICAgc2VsZWN0ZWRDaGFuZ2U6IEV2ZW50RW1pdHRlcjxib29sZWFuPiA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcblxuICAgIC8qKiBFdmVudCB0aGF0IGlzIHRocm93biwgd2hlbiBhbnkga2V5Ym9hcmQgZXZlbnQgaXMgZGlzcGF0Y2hlZCBvbiB0aGlzIGVsZW1lbnQgKi9cbiAgICBAT3V0cHV0KClcbiAgICByZWFkb25seSBrZXlib2FyZFRyaWdnZXJlZDogRXZlbnRFbWl0dGVyPEtleWJvYXJkRXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxLZXlib2FyZEV2ZW50PigpO1xuXG4gICAgLyoqIEV2ZW50IHRoYXQgaXMgdGhyb3duLCB3aGVuIHRoaXMgZWxlbWVudCBpcyBjbGlja2VkICovXG4gICAgQE91dHB1dCgpXG4gICAgcmVhZG9ubHkgY2xpY2tlZDogRXZlbnRFbWl0dGVyPE1vdXNlRXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxNb3VzZUV2ZW50PigpO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLmZkLW5lc3RlZC1saXN0X19jb250ZW50JylcbiAgICBmZE5lc3RlZExpc3RDb250ZW50Q2xhc3MgPSB0cnVlO1xuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqIEF0dHJpYnV0ZSBjb250cm9sbGVkIGJ5IHRoZSBwYXJlbnQgYE5lc3RlZEl0ZW1EaXJlY3RpdmVgXG4gICAgICovXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5oYXMtY2hpbGQnKVxuICAgIGhhc0NoaWxkcmVuID0gZmFsc2U7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBDb250ZW50Q2hpbGQoTmVzdGVkTGlua0RpcmVjdGl2ZSlcbiAgICBuZXN0ZWRMaW5rOiBOZXN0ZWRMaW5rRGlyZWN0aXZlO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBAQ29udGVudENoaWxkKE5lc3RlZExpc3RFeHBhbmRJY29uQ29tcG9uZW50KVxuICAgIG5lc3RlZEV4cGFuZEljb246IE5lc3RlZExpc3RFeHBhbmRJY29uQ29tcG9uZW50O1xuXG4gICAgLyoqIEFuIFJ4SlMgU3ViamVjdCB0aGF0IHdpbGwga2lsbCB0aGUgZGF0YSBzdHJlYW0gdXBvbiBjb21wb25lbnTigJlzIGRlc3RydWN0aW9uIChmb3IgdW5zdWJzY3JpYmluZykgICovXG4gICAgcHJpdmF0ZSByZWFkb25seSBfZGVzdHJveVJlZiA9IGluamVjdChEZXN0cm95UmVmKTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHB1YmxpYyBjaGFuZ2VEZXRSZWY6IENoYW5nZURldGVjdG9yUmVmLFxuICAgICAgICBwcml2YXRlIF9lbGVtZW50UmVmOiBFbGVtZW50UmVmLFxuICAgICAgICBwcml2YXRlIF9pdGVtU2VydmljZTogTmVzdGVkSXRlbVNlcnZpY2VcbiAgICApIHt9XG5cbiAgICAvKiogS2V5Ym9hcmQgRXZlbnQgSGFuZGxlciAqL1xuICAgIEBIb3N0TGlzdGVuZXIoJ2tleWRvd24nLCBbJyRldmVudCddKVxuICAgIG9uS2V5RG93bihldmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xuICAgICAgICB0aGlzLmtleWJvYXJkVHJpZ2dlcmVkLmVtaXQoZXZlbnQpO1xuICAgICAgICB0aGlzLl9pdGVtU2VydmljZS5rZXlEb3duLm5leHQoZXZlbnQpO1xuICAgIH1cblxuICAgIC8qKiBIYW5kbGVyIGZvciBtb3VzZSBldmVudHMgKi9cbiAgICBASG9zdExpc3RlbmVyKCdjbGljaycpXG4gICAgb25DbGljaygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5faXRlbVNlcnZpY2UuY2xpY2submV4dCgpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgbmdBZnRlckNvbnRlbnRJbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9tYWtlTGlua1VuRm9jdXNhYmxlKCk7XG4gICAgICAgIHRoaXMuX3NldEZvY3VzU3Vic2NyaXB0aW9uKCk7XG4gICAgfVxuXG4gICAgLyoqIE1ldGhvZCB0byB0cmlnZ2VyIHNlbGVjdGVkIHN0YXRlIGNoYW5nZSAqL1xuICAgIGNoYW5nZVNlbGVjdGVkKHNlbGVjdGVkOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWQgPSBzZWxlY3RlZDtcbiAgICAgICAgdGhpcy5zZWxlY3RlZENoYW5nZS5lbWl0KHNlbGVjdGVkKTtcbiAgICB9XG5cbiAgICAvKiogRXhwYW5kZWQgc3RhdGUgY2hhbmdlIHByb3BhZ2F0aW9uIG1ldGhvZCAqL1xuICAgIGNoYW5nZUV4cGFuZGVkU3RhdGUoZXhwYW5kZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMubmVzdGVkRXhwYW5kSWNvbikge1xuICAgICAgICAgICAgdGhpcy5uZXN0ZWRFeHBhbmRJY29uLmNoYW5nZUV4cGFuZGVkU3RhdGUoZXhwYW5kZWQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIFNldCBmb2N1cyBvbiB0aGUgZWxlbWVudC4gKi9cbiAgICBmb2N1cygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gICAgfVxuXG4gICAgLyoqIERpc3BhdGNoZXMgdGhlIGNsaWNrIGV2ZW50IG9uIHRoZSBlbGVtZW50ICovXG4gICAgY2xpY2soKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZm9jdXMoKTtcbiAgICAgICAgaWYgKHRoaXMubmVzdGVkTGluaykge1xuICAgICAgICAgICAgdGhpcy5uZXN0ZWRMaW5rLmNsaWNrKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogQWRkIHN1YnNjcmlwdGlvbiBmb3IgY2hpbGQgZm9jdXNpbmcgKi9cbiAgICBwcml2YXRlIF9zZXRGb2N1c1N1YnNjcmlwdGlvbigpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5faXRlbVNlcnZpY2UuZm9jdXMucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5fZGVzdHJveVJlZikpLnN1YnNjcmliZSgoKSA9PiB0aGlzLmZvY3VzKCkpO1xuICAgIH1cblxuICAgIC8qKiBIaWRlIGxpbmsgY2hpbGQgZWxlbWVudCBmcm9tIHRhYiBrZXkgKi9cbiAgICBwcml2YXRlIF9tYWtlTGlua1VuRm9jdXNhYmxlKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5uZXN0ZWRMaW5rKSB7XG4gICAgICAgICAgICB0aGlzLm5lc3RlZExpbmsudGFiSW5kZXggPSAtMTtcbiAgICAgICAgICAgIHRoaXMuY2hhbmdlRGV0UmVmLmRldGVjdENoYW5nZXMoKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==","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 * as i0 from \"@angular/core\";\nimport * as i1 from \"@fundamental-ngx/core/menu\";\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 */\nexport class NestedListKeyboardService {\n /** @hidden */\n constructor(keyboardService) {\n this.keyboardService = keyboardService;\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 this.refresh$ = new Subject();\n /** @hidden */\n this._destroyRef = inject(DestroyRef);\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) {\n const items = [];\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) => this._handleKeyDown(keyboardEvent, index, items));\n });\n }\n /** Recursive function to get all of the NestedItem elements in correct order. */\n _getItems(item) {\n const childrenItems = item.expanded ? item.allChildrenItems : [];\n return childrenItems.reduce((actualArray, nextItem) => [\n ...actualArray,\n ...this._getItems(nextItem)\n ], [item]);\n }\n /** Method that calls the recursive function, getItems() and gathers all of the items in the NestedList */\n _getAllListItems(list) {\n const _items = [];\n if (list && list.nestedItems && list.nestedItems.length > 0) {\n list.nestedItems.forEach((item) => {\n _items.push(...this._getItems(item));\n });\n }\n return _items;\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 _handleKeyDown(keyboardEvent, index, items) {\n const item = items[index];\n if (KeyUtil.isKeyCode(keyboardEvent, RIGHT_ARROW)) {\n if (!item.expanded && item.hasChildren) {\n item.triggerOpen();\n }\n keyboardEvent.preventDefault();\n }\n if (KeyUtil.isKeyCode(keyboardEvent, LEFT_ARROW)) {\n if (item.expanded && item.hasChildren) {\n item.triggerClose();\n }\n keyboardEvent.preventDefault();\n }\n if (KeyUtil.isKeyCode(keyboardEvent, [ENTER, SPACE])) {\n if (item.hasChildren) {\n items[index].click();\n }\n keyboardEvent.preventDefault();\n }\n this.keyboardService.keyDownHandler(keyboardEvent, index, items);\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: NestedListKeyboardService, deps: [{ token: MenuKeyboardService }], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: NestedListKeyboardService }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: NestedListKeyboardService, decorators: [{\n type: Injectable\n }], ctorParameters: () => [{ type: i1.MenuKeyboardService, decorators: [{\n type: Inject,\n args: [MenuKeyboardService]\n }] }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmVzdGVkLWxpc3Qta2V5Ym9hcmQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS9uZXN0ZWQtbGlzdC9uZXN0ZWQtbGlzdC1rZXlib2FyZC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM5RSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUN4RSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNqRSxPQUFPLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN0QyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7OztBQUkzQzs7O0dBR0c7QUFFSCxNQUFNLE9BQU8seUJBQXlCO0lBVWxDLGNBQWM7SUFDZCxZQUFpRCxlQUFvQztRQUFwQyxvQkFBZSxHQUFmLGVBQWUsQ0FBcUI7UUFWckY7OztXQUdHO1FBQ00sYUFBUSxHQUFrQixJQUFJLE9BQU8sRUFBUSxDQUFDO1FBRXZELGNBQWM7UUFDRyxnQkFBVyxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUdzQyxDQUFDO0lBRXpGOzs7T0FHRztJQUNILFlBQVksQ0FBQyxLQUE0QjtRQUNyQyxNQUFNLEtBQUssR0FBMEIsRUFBRSxDQUFDO1FBRXhDLGlDQUFpQztRQUNqQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUks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QXRGUSx5QkFBeUIsa0JBV2QsbUJBQW1CO2tIQVg5Qix5QkFBeUI7OzJGQUF6Qix5QkFBeUI7a0JBRHJDLFVBQVU7OzBCQVlNLE1BQU07MkJBQUMsbUJBQW1CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRU5URVIsIExFRlRfQVJST1csIFJJR0hUX0FSUk9XLCBTUEFDRSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9rZXljb2Rlcyc7XG5pbXBvcnQgeyBEZXN0cm95UmVmLCBJbmplY3QsIEluamVjdGFibGUsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgS2V5VXRpbCwgZGVzdHJveU9ic2VydmFibGUgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2Nkay91dGlscyc7XG5pbXBvcnQgeyBNZW51S2V5Ym9hcmRTZXJ2aWNlIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlL21lbnUnO1xuaW1wb3J0IHsgU3ViamVjdCwgbWVyZ2UgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IE5lc3RlZEl0ZW1JbnRlcmZhY2UgfSBmcm9tICcuL25lc3RlZC1pdGVtL25lc3RlZC1pdGVtLmludGVyZmFjZSc7XG5pbXBvcnQgeyBOZXN0ZWRMaXN0SW50ZXJmYWNlIH0gZnJvbSAnLi9uZXN0ZWQtbGlzdC9uZXN0ZWQtbGlzdC5pbnRlcmZhY2UnO1xuXG4vKipcbiAqIE5lc3RlZCBsaXN0IGtleWJvYXJkIHNlcnZpY2UsIHdoaWNoIHVzZXMgTWVudUtleWJvYXJkU2VydmljZSwgdG8gZGVhbCB3aXRoIEFycm93VXAsIEFycm93RG93biwgU3BhY2UsIEVudGVyLlxuICogQWxzbyBoYXMgb3duIGhhbmRsaW5nIG9mIEFycm93TGVmdCBhbmQgQXJyb3dSaWdodCwgdG8gb3Blbi9jbG9zZSB0aGUgbWVudSBpZiBpdCBoYXMgYW55IGNoaWxkcmVuLlxuICovXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgTmVzdGVkTGlzdEtleWJvYXJkU2VydmljZSB7XG4gICAgLyoqXG4gICAgICogRXZlbnQsIHRoYXQgaXMgdGhyb3duIGFsd2F5cywgd2hlbiB0aGUgb3Blbi9jbG9zZSBpIGJlaW5nIGNhbGxlZCBvbiBpdGVtIGNvbXBvbmVudHMuXG4gICAgICogQWxzbyB0cmlnZ2VycyBjaGFuZ2luZyBvZiBlbGVtZW50cywgdG8gcmVtb3ZlIGNsb3NlZC9oaWRkZW4gZWxlbWVudHNcbiAgICAgKi9cbiAgICByZWFkb25seSByZWZyZXNoJDogU3ViamVjdDx2b2lkPiA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgX2Rlc3Ryb3lSZWYgPSBpbmplY3QoRGVzdHJveVJlZik7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIGNvbnN0cnVjdG9yKEBJbmplY3QoTWVudUtleWJvYXJkU2VydmljZSkgcHJpdmF0ZSBrZXlib2FyZFNlcnZpY2U6IE1lbnVLZXlib2FyZFNlcnZpY2UpIHt9XG5cbiAgICAvKipcbiAgICAgKiBGdW5jdGlvbiBjYWxsZWQgYWZ0ZXIgcmVmcmVzaCQgZXZlbnQgaXMgdHJpZ2dlcmVkLlxuICAgICAqIFJlZnJlc2ggdGhlIGxpc3Qgb2YgTmVzdGVkSXRlbXMsIHRoYXQgdGhlIGtleWJvYXJkIHN1cHBvcnQgc2hvdWxkIGJlIHByb3ZpZGVkIGZvclxuICAgICAqL1xuICAgIHJlZnJlc2hJdGVtcyhsaXN0czogTmVzdGVkTGlzdEludGVyZmFjZVtdKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGl0ZW1zOiBOZXN0ZWRJdGVtSW50ZXJmYWNlW10gPSBbXTtcblxuICAgICAgICAvKiogR2F0aGVyaW5nIGFsbCBvZiB0aGUgaXRlbXMgKi9cbiAgICAgICAgbGlzdHMuZm9yRWFjaCgobGlzdCkgPT4gaXRlbXMucHVzaCguLi50aGlzLl9nZXRBbGxMaXN0SXRlbXMobGlzdCkpKTtcbiAgICAgICAgLyoqIFB1dHRpbmcgdGhlIGtleWJvYXJkIHN1cHBvcnQgZnVuY3Rpb24gdG8gZWFjaCBvZiB0aGUgaXRlbXMgKi9cbiAgICAgICAgaXRlbXMuZm9yRWFjaCgoaXRlbSwgaW5kZXgpID0+IHtcbiAgICAgICAgICAgIGl0ZW0ua2V5Ym9hcmRUcmlnZ2VyZWRcbiAgICAgICAgICAgICAgICAucGlwZSh0YWtlVW50aWwobWVyZ2UodGhpcy5yZWZyZXNoJCwgZGVzdHJveU9ic2VydmFibGUodGhpcy5fZGVzdHJveVJlZikpKSlcbiAgICAgICAgICAgICAgICAuc3Vic2NyaWJlKChrZXlib2FyZEV2ZW50OiBLZXlib2FyZEV2ZW50KSA9PiB0aGlzLl9oYW5kbGVLZXlEb3duKGtleWJvYXJkRXZlbnQsIGluZGV4LCBpdGVtcykpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKiogUmVjdXJzaXZlIGZ1bmN0aW9uIHRvIGdldCBhbGwgb2YgdGhlIE5lc3RlZEl0ZW0gZWxlbWVudHMgaW4gY29ycmVjdCBvcmRlci4gKi9cbiAgICBwcml2YXRlIF9nZXRJdGVtcyhpdGVtOiBOZXN0ZWRJdGVtSW50ZXJmYWNlKTogTmVzdGVkSXRlbUludGVyZmFjZVtdIHtcbiAgICAgICAgY29uc3QgY2hpbGRyZW5JdGVtcyA9IGl0ZW0uZXhwYW5kZWQgPyBpdGVtLmFsbENoaWxkcmVuSXRlbXMgOiBbXTtcbiAgICAgICAgcmV0dXJuIGNoaWxkcmVuSXRlbXMucmVkdWNlKFxuICAgICAgICAgICAgKGFjdHVhbEFycmF5OiBOZXN0ZWRJdGVtSW50ZXJmYWNlW10sIG5leHRJdGVtOiBOZXN0ZWRJdGVtSW50ZXJmYWNlKSA9PiBbXG4gICAgICAgICAgICAgICAgLi4uYWN0dWFsQXJyYXksXG4gICAgICAgICAgICAgICAgLi4udGhpcy5fZ2V0SXRlbXMobmV4dEl0ZW0pXG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgW2l0ZW1dXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqIE1ldGhvZCB0aGF0IGNhbGxzIHRoZSByZWN1cnNpdmUgZnVuY3Rpb24sIGdldEl0ZW1zKCkgYW5kIGdhdGhlcnMgYWxsIG9mIHRoZSBpdGVtcyBpbiB0aGUgTmVzdGVkTGlzdCAqL1xuICAgIHByaXZhdGUgX2dldEFsbExpc3RJdGVtcyhsaXN0OiBOZXN0ZWRMaXN0SW50ZXJmYWNlKTogTmVzdGVkSXRlbUludGVyZmFjZVtdIHtcbiAgICAgICAgY29uc3QgX2l0ZW1zOiBOZXN0ZWRJdGVtSW50ZXJmYWNlW10gPSBbXTtcbiAgICAgICAgaWYgKGxpc3QgJiYgbGlzdC5uZXN0ZWRJdGVtcyAmJiBsaXN0Lm5lc3RlZEl0ZW1zLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIGxpc3QubmVzdGVkSXRlbXMuZm9yRWFjaCgoaXRlbSkgPT4ge1xuICAgICAgICAgICAgICAgIF9pdGVtcy5wdXNoKC4uLnRoaXMuX2dldEl0ZW1zKGl0ZW0pKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIF9pdGVtcztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBLZXlib2FyZCBoYW5kbGUgZnVuY3Rpb24uIFVzZXMga2V5Ym9hcmQgc3VwcG9ydCBzZXJ2aWNlIGZyb20gTWVudUNvbXBvbmVudCwgdG8gZGVhbCB3aXRoIEFycm93VXAsIEFycm93RG93biwgU3BhY2UsIEVudGVyLlxuICAgICAqIEZvciBBcnJvd1JpZ2h0LCBpZiBpdGVtIGlzIG5vdCBleHBhbmRlZCBhbmQgaGFzIGNoaWxkcmVuIChsaXN0IG9yIHBvcHVwKSwgdGhlIG9wZW4gZnVuY3Rpb24gaXMgdHJpZ2dlcmVkLlxuICAgICAqIE90aGVyd2lzZSBpdCBmb2xsb3dzIEFycm93RG93biBmdW5jdGlvbmFsaXR5LlxuICAgICAqIEZvciBBcnJvd0xlZnQsIGlmIGl0ZW0gaXMgZXhwYW5kZWQgYW5kIGhhcyBjaGlsZHJlbiAobGlzdCBvciBwb3B1cCksIHRoZSBjbG9zZSBmdW5jdGlvbiBpcyB0cmlnZ2VyZWQuXG4gICAgICogT3RoZXJ3aXNlIGl0IGZvbGxvd3MgQXJyb3dVcCBmdW5jdGlvbmFsaXR5XG4gICAgICovXG4gICAgcHJpdmF0ZSBfaGFuZGxlS2V5RG93bihrZXlib2FyZEV2ZW50OiBLZXlib2FyZEV2ZW50LCBpbmRleDogbnVtYmVyLCBpdGVtczogTmVzdGVkSXRlbUludGVyZmFjZVtdKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGl0ZW06IE5lc3RlZEl0ZW1JbnRlcmZhY2UgPSBpdGVtc1tpbmRleF07XG5cbiAgICAgICAgaWYgKEtleVV0aWwuaXNLZXlDb2RlKGtleWJvYXJkRXZlbnQsIFJJR0hUX0FSUk9XKSkge1xuICAgICAgICAgICAgaWYgKCFpdGVtLmV4cGFuZGVkICYmIGl0ZW0uaGFzQ2hpbGRyZW4pIHtcbiAgICAgICAgICAgICAgICBpdGVtLnRyaWdnZXJPcGVuKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBrZXlib2FyZEV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoS2V5VXRpbC5pc0tleUNvZGUoa2V5Ym9hcmRFdmVudCwgTEVGVF9BUlJPVykpIHtcbiAgICAgICAgICAgIGlmIChpdGVtLmV4cGFuZGVkICYmIGl0ZW0uaGFzQ2hpbGRyZW4pIHtcbiAgICAgICAgICAgICAgICBpdGVtLnRyaWdnZXJDbG9zZSgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAga2V5Ym9hcmRFdmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKEtleVV0aWwuaXNLZXlDb2RlKGtleWJvYXJkRXZlbnQsIFtFTlRFUiwgU1BBQ0VdKSkge1xuICAgICAgICAgICAgaWYgKGl0ZW0uaGFzQ2hpbGRyZW4pIHtcbiAgICAgICAgICAgICAgICBpdGVtc1tpbmRleF0uY2xpY2soKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGtleWJvYXJkRXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMua2V5Ym9hcmRTZXJ2aWNlLmtleURvd25IYW5kbGVyKGtleWJvYXJkRXZlbnQsIGluZGV4LCBpdGVtcyk7XG4gICAgfVxufVxuIl19","import { Injectable } from '@angular/core';\nimport { Subject } from 'rxjs';\nimport * as i0 from \"@angular/core\";\nexport class NestedListStateService {\n constructor() {\n /**\n * @hidden\n * The condensed state is modified by the parent and read by nested lists.\n */\n this.condensed = false;\n /**\n * @hidden\n */\n this.selectable = true;\n /** @hidden */\n this.onSelected = new Subject();\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: NestedListStateService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: NestedListStateService }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: NestedListStateService, decorators: [{\n type: Injectable\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmVzdGVkLWxpc3Qtc3RhdGUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS9uZXN0ZWQtbGlzdC9uZXN0ZWQtbGlzdC1zdGF0ZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQzs7QUFHL0IsTUFBTSxPQUFPLHNCQUFzQjtJQURuQztRQUVJOzs7V0FHRztRQUNILGNBQVMsR0FBRyxLQUFLLENBQUM7UUFFbEI7O1dBRUc7UUFDSCxlQUFVLEdBQUcsSUFBSSxDQUFDO1FBRWxCLGNBQWM7UUFDZCxlQUFVLEdBQW9CLElBQUksT0FBTyxFQUFVLENBQUM7S0FDdkQ7OEdBZFksc0JBQXNCO2tIQUF0QixzQkFBc0I7OzJGQUF0QixzQkFBc0I7a0JBRGxDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBOZXN0ZWRMaXN0U3RhdGVTZXJ2aWNlIHtcbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICogVGhlIGNvbmRlbnNlZCBzdGF0ZSBpcyBtb2RpZmllZCBieSB0aGUgcGFyZW50IGFuZCByZWFkIGJ5IG5lc3RlZCBsaXN0cy5cbiAgICAgKi9cbiAgICBjb25kZW5zZWQgPSBmYWxzZTtcblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKi9cbiAgICBzZWxlY3RhYmxlID0gdHJ1ZTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgb25TZWxlY3RlZDogU3ViamVjdDxzdHJpbmc+ID0gbmV3IFN1YmplY3Q8c3RyaW5nPigpO1xufVxuIl19","import { ContentChild, DestroyRef, Directive, EventEmitter, HostBinding, Input, Output, inject } from '@angular/core';\nimport { filter } from 'rxjs/operators';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\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 { NestedItemService } from './nested-item.service';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"./nested-item.service\";\nimport * as i2 from \"../nested-list-keyboard.service\";\nimport * as i3 from \"../nested-list-state.service\";\nlet sideNavigationItemUniqueId = 0;\nexport class NestedItemDirective {\n /** Whether item should be expanded */\n set expanded(expanded) {\n if (expanded !== this._expanded) {\n this.propagateOpenChange(expanded);\n }\n }\n /** @hidden */\n get expanded() {\n return this._expanded;\n }\n /** @hidden */\n constructor(_itemService, _keyboardService, _stateService) {\n this._itemService = _itemService;\n this._keyboardService = _keyboardService;\n this._stateService = _stateService;\n /** Event thrown, when expanded state is changed */\n this.expandedChange = new EventEmitter();\n /** Event thrown, when any keyboard event is dispatched on this, or link element */\n this.keyboardTriggered = new EventEmitter();\n /** @hidden */\n this.fdNestedListItemClass = true;\n /** @hidden */\n this._ariaLevel = null;\n /** @hidden */\n this._ariaExpanded = null;\n /** @hidden */\n this._ariaSelected = null;\n /** @hidden */\n this._ariaDisabled = false;\n /** @hidden */\n this._ariaHidden = true;\n /** @hidden */\n this._expanded = false;\n /** An RxJS Subject that will kill the data stream upon component’s destruction (for unsubscribing) */\n this._destroyRef = inject(DestroyRef);\n /** Unique element ID */\n this._elementId = 'fdNestedItem' + sideNavigationItemUniqueId++;\n }\n /** @hidden */\n ngAfterContentInit() {\n this._setUpSubscriptions();\n this._propagateHasChildrenProperty();\n this._passItemReferences();\n /** Propagate initial open state to children */\n this.propagateOpenChange(this._expanded);\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 /** Check if the item element has any child */\n get hasChildren() {\n return !!this._itemService?.list;\n }\n /** Get all of the children item elements */\n get allChildrenItems() {\n if (this._itemService?.list) {\n return this._itemService.list.nestedItems.toArray();\n }\n return [];\n }\n /** Method that expand the item and propagate it to children */\n triggerOpen() {\n if (!this.expanded) {\n /** Propagate initial open state to children */\n this.propagateOpenChange(true);\n }\n }\n /** Method that close the item and propagate it to children */\n triggerClose() {\n if (this.expanded) {\n /** Propagate initial open state to children */\n this.propagateOpenChange(false);\n }\n }\n /** Method that toggle the item and propagate it to children */\n toggle() {\n /** Propagate initial open state to children */\n this.propagateOpenChange(!this._expanded);\n }\n /** Method that dispatches `click` event on link item*/\n click() {\n if (this.contentItem) {\n this.contentItem.click();\n }\n else if (this.linkItem) {\n this.linkItem.click();\n }\n }\n /** Method that focuses link item*/\n focus() {\n if (this.contentItem) {\n this.contentItem.focus();\n }\n else if (this.linkItem) {\n this.linkItem.focus();\n }\n }\n /** Method that provides information if element, or children of this element has passed id */\n containsId(id) {\n if (this._elementId === id) {\n return true;\n }\n if (this._itemService.list) {\n return !!this._itemService.list.nestedItems.find((item) => item.containsId(id));\n }\n return false;\n }\n /**\n * @hidden\n * Propagate open state to all of the children\n */\n propagateOpenChange(open) {\n this._expanded = open;\n if (this.hasChildren) {\n this._ariaExpanded = this._expanded;\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 /** 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 /** 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 * 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 this.expandedChange.emit(open);\n }\n /** @hidden */\n _shouldRefreshKeyboardService() {\n return !!(this._itemService.popover || this._itemService.list || this.contentItem);\n }\n /** @hidden */\n _setUpSubscriptions() {\n if (this._stateService.condensed) {\n this._role = 'menuitemradio';\n }\n /** Subscribe to mouse click event, thrown by link item */\n this._itemService.toggle.pipe(takeUntilDestroyed(this._destroyRef)).subscribe(() => this.toggle());\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 /** 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 /** Subscribe to selected state change, it's not triggered, when selectable flag is disabled*/\n this._stateService.onSelected\n .pipe(takeUntilDestroyed(this._destroyRef), filter(() => this._stateService.selectable))\n .subscribe((id) => this._selectedChange(id));\n }\n /** @hidden */\n _propagateHasChildrenProperty() {\n if (this.contentItem && this.hasChildren) {\n this._ariaExpanded = false;\n this.contentItem.hasChildren = true;\n this.contentItem.changeDetRef.detectChanges();\n }\n }\n /** Pass this element to popover child item, to allow control `expanded` value */\n _passItemReferences() {\n if (this._itemService.popover) {\n this._itemService.popover.parentItemElement = this;\n }\n }\n /** Change of selected state of content or link, if there is any children with I */\n _selectedChange(id) {\n const selected = this.containsId(id);\n this._ariaSelected = selected;\n if (this.contentItem) {\n this.contentItem.changeSelected(selected);\n }\n else if (this.linkItem) {\n this.linkItem.changeSelected(selected);\n }\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: NestedItemDirective, deps: [{ token: i1.NestedItemService }, { token: i2.NestedListKeyboardService }, { token: i3.NestedListStateService }], target: i0.ɵɵFactoryTarget.Directive }); }\n static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"20.1.4\", type: NestedItemDirective, isStandalone: true, selector: \"[fdNestedItem], [fd-nested-list-item]\", inputs: { expanded: \"expanded\" }, outputs: { expandedChange: \"expandedChange\", keyboardTriggered: \"keyboardTriggered\" }, host: { attributes: { \"role\": \"treeitem\" }, properties: { \"class.fd-nested-list__item\": \"this.fdNestedListItemClass\", \"attr.aria-level\": \"this._ariaLevel\", \"attr.title\": \"this._title\", \"attr.role\": \"this._role\", \"attr.aria-expanded\": \"this._ariaExpanded\", \"attr.aria-selected\": \"this._ariaSelected\", \"attr.aria-disabled\": \"this._ariaDisabled\", \"attr.aria-label\": \"this._ariaLabel\", \"attr.aria-hidden\": \"this._ariaHidden\" } }, providers: [NestedItemService], queries: [{ propertyName: \"linkItem\", first: true, predicate: NestedLinkDirective, descendants: true }, { propertyName: \"contentItem\", first: true, predicate: NestedListContentDirective, descendants: true }], ngImport: i0 }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: NestedItemDirective, decorators: [{\n type: Directive,\n args: [{\n selector: '[fdNestedItem], [fd-nested-list-item]',\n providers: [NestedItemService],\n host: {\n role: 'treeitem'\n },\n standalone: true\n }]\n }], ctorParameters: () => [{ type: i1.NestedItemService }, { type: i2.NestedListKeyboardService }, { type: i3.NestedListStateService }], propDecorators: { expanded: [{\n type: Input\n }], expandedChange: [{\n type: Output\n }], keyboardTriggered: [{\n type: Output\n }], fdNestedListItemClass: [{\n type: HostBinding,\n args: ['class.fd-nested-list__item']\n }], linkItem: [{\n type: ContentChild,\n args: [NestedLinkDirective]\n }], contentItem: [{\n type: ContentChild,\n args: [NestedListContentDirective]\n }], _ariaLevel: [{\n type: HostBinding,\n args: ['attr.aria-level']\n }], _title: [{\n type: HostBinding,\n args: ['attr.title']\n }], _role: [{\n type: HostBinding,\n args: ['attr.role']\n }], _ariaExpanded: [{\n type: HostBinding,\n args: ['attr.aria-expanded']\n }], _ariaSelected: [{\n type: HostBinding,\n args: ['attr.aria-selected']\n }], _ariaDisabled: [{\n type: HostBinding,\n args: ['attr.aria-disabled']\n }], _ariaLabel: [{\n type: HostBinding,\n args: ['attr.aria-label']\n }], _ariaHidden: [{\n type: HostBinding,\n args: ['attr.aria-hidden']\n }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmVzdGVkLWl0ZW0uZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL25lc3RlZC1saXN0L25lc3RlZC1pdGVtL25lc3RlZC1pdGVtLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUgsWUFBWSxFQUNaLFVBQVUsRUFDVixTQUFTLEVBQ1QsWUFBWSxFQUNaLFdBQVcsRUFDWCxLQUFLLEVBQ0wsTUFBTSxFQUNOLE1BQU0sRUFDVCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFeEMsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFFaEUsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0saURBQWlELENBQUM7QUFDN0YsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDM0UsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDNUUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFFdEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7Ozs7O0FBRTFELElBQUksMEJBQTBCLEdBQUcsQ0FBQyxDQUFDO0FBVW5DLE1BQU0sT0FBTyxtQkFBbUI7SUFDNUIsc0NBQXNDO0lBQ3RDLElBQWEsUUFBUSxDQUFDLFFBQWlCO1FBQ25DLElBQUksUUFBUSxLQUFLLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUM5QixJQUFJLENBQUMsbUJBQW1CLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDdkMsQ0FBQztJQUNMLENBQUM7SUFFRCxjQUFjO0lBQ2QsSUFBSSxRQUFRO1FBQ1IsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQzFCLENBQUM7SUFzRUQsY0FBYztJQUNkLFlBQ1ksWUFB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UUFBUTtzQkFEUCxZQUFZO3VCQUFDLG1CQUFtQjtnQkFTakMsV0FBVztzQkFEVixZQUFZO3VCQUFDLDBCQUEwQjtnQkFLeEMsVUFBVTtzQkFEVCxXQUFXO3VCQUFDLGlCQUFpQjtnQkFLOUIsTUFBTTtzQkFETCxXQUFXO3VCQUFDLFlBQVk7Z0JBS2YsS0FBSztzQkFEZCxXQUFXO3VCQUFDLFdBQVc7Z0JBS2QsYUFBYTtzQkFEdEIsV0FBVzt1QkFBQyxvQkFBb0I7Z0JBS3ZCLGFBQWE7c0JBRHRCLFdBQVc7dUJBQUMsb0JBQW9CO2dCQUt2QixhQUFhO3NCQUR0QixXQUFXO3VCQUFDLG9CQUFvQjtnQkFLdkIsVUFBVTtzQkFEbkIsV0FBVzt1QkFBQyxpQkFBaUI7Z0JBS3BCLFdBQVc7c0JBRHBCLFdBQVc7dUJBQUMsa0JBQWtCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBBZnRlckNvbnRlbnRJbml0LFxuICAgIENvbnRlbnRDaGlsZCxcbiAgICBEZXN0cm95UmVmLFxuICAgIERpcmVjdGl2ZSxcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgSG9zdEJpbmRpbmcsXG4gICAgSW5wdXQsXG4gICAgT3V0cHV0LFxuICAgIGluamVjdFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGZpbHRlciB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgdGFrZVVudGlsRGVzdHJveWVkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHsgTnVsbGFibGUgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2Nkay91dGlscyc7XG5pbXBvcnQgeyBOZXN0ZWRMaXN0Q29udGVudERpcmVjdGl2ZSB9IGZyb20gJy4uL25lc3RlZC1jb250ZW50L25lc3RlZC1saXN0LWNvbnRlbnQuZGlyZWN0aXZlJztcbmltcG9ydCB7IE5lc3RlZExpbmtEaXJlY3RpdmUgfSBmcm9tICcuLi9uZXN0ZWQtbGluay9uZXN0ZWQtbGluay5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgTmVzdGVkTGlzdEtleWJvYXJkU2VydmljZSB9IGZyb20gJy4uL25lc3RlZC1saXN0LWtleWJvYXJkLnNlcnZpY2UnO1xuaW1wb3J0IHsgTmVzdGVkTGlzdFN0YXRlU2VydmljZSB9IGZyb20gJy4uL25lc3RlZC1saXN0LXN0YXRlLnNlcnZpY2UnO1xuaW1wb3J0IHsgTmVzdGVkSXRlbUludGVyZmFjZSB9IGZyb20gJy4vbmVzdGVkLWl0ZW0uaW50ZXJmYWNlJztcbmltcG9ydCB7IE5lc3RlZEl0ZW1TZXJ2aWNlIH0gZnJvbSAnLi9uZXN0ZWQtaXRlbS5zZXJ2aWNlJztcblxubGV0IHNpZGVOYXZpZ2F0aW9uSXRlbVVuaXF1ZUlkID0gMDtcblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbZmROZXN0ZWRJdGVtXSwgW2ZkLW5lc3RlZC1saXN0LWl0ZW1dJyxcbiAgICBwcm92aWRlcnM6IFtOZXN0ZWRJdGVtU2VydmljZV0sXG4gICAgaG9zdDoge1xuICAgICAgICByb2xlOiAndHJlZWl0ZW0nXG4gICAgfSxcbiAgICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIE5lc3RlZEl0ZW1EaXJlY3RpdmUgaW1wbGVtZW50cyBBZnRlckNvbnRlbnRJbml0LCBOZXN0ZWRJdGVtSW50ZXJmYWNlIHtcbiAgICAvKiogV2hldGhlciBpdGVtIHNob3VsZCBiZSBleHBhbmRlZCAqL1xuICAgIEBJbnB1dCgpIHNldCBleHBhbmRlZChleHBhbmRlZDogYm9vbGVhbikge1xuICAgICAgICBpZiAoZXhwYW5kZWQgIT09IHRoaXMuX2V4cGFuZGVkKSB7XG4gICAgICAgICAgICB0aGlzLnByb3BhZ2F0ZU9wZW5DaGFuZ2UoZXhwYW5kZWQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBnZXQgZXhwYW5kZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9leHBhbmRlZDtcbiAgICB9XG5cbiAgICAvKiogRXZlbnQgdGhyb3duLCB3aGVuIGV4cGFuZGVkIHN0YXRlIGlzIGNoYW5nZWQgKi9cbiAgICBAT3V0cHV0KClcbiAgICByZWFkb25seSBleHBhbmRlZENoYW5nZTogRXZlbnRFbWl0dGVyPGJvb2xlYW4+ID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuXG4gICAgLyoqIEV2ZW50IHRocm93biwgd2hlbiBhbnkga2V5Ym9hcmQgZXZlbnQgaXMgZGlzcGF0Y2hlZCBvbiB0aGlzLCBvciBsaW5rIGVsZW1lbnQgKi9cbiAgICBAT3V0cHV0KClcbiAgICByZWFkb25seSBrZXlib2FyZFRyaWdnZXJlZDogRXZlbnRFbWl0dGVyPEtleWJvYXJkRXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxLZXlib2FyZEV2ZW50PigpO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLmZkLW5lc3RlZC1saXN0X19pdGVtJylcbiAgICBmZE5lc3RlZExpc3RJdGVtQ2xhc3MgPSB0cnVlO1xuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqIFJlZmVyZW5jZSB0byB0aGUgbGluayBkaXJlY3RpdmUsIHRvIGFsbG93IG1hbmlwdWxhdGluZyB0aGUgcHJvcGVydGllcyBvZiB0aGlzIGVsZW1lbnQuXG4gICAgICovXG4gICAgQENvbnRlbnRDaGlsZChOZXN0ZWRMaW5rRGlyZWN0aXZlKVxuICAgIGxpbmtJdGVtOiBOZXN0ZWRMaW5rRGlyZWN0aXZlO1xuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqIE1vc3RseSB1c2VkLCB3aGVuIHRoaXMgaXRlbSBoYXMgbGlzdFxuICAgICAqIFJlZmVyZW5jZSB0byB0aGUgY29udGVudCBkaXJlY3RpdmUsIHRvIGFsbG93IG1hbmlwdWxhdGluZyB0aGUgcHJvcGVydGllcyBvZiB0aGlzIGVsZW1lbnQuXG4gICAgICovXG4gICAgQENvbnRlbnRDaGlsZChOZXN0ZWRMaXN0Q29udGVudERpcmVjdGl2ZSlcbiAgICBjb250ZW50SXRlbTogTmVzdGVkTGlzdENvbnRlbnREaXJlY3RpdmU7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBIb3N0QmluZGluZygnYXR0ci5hcmlhLWxldmVsJylcbiAgICBfYXJpYUxldmVsOiBOdWxsYWJsZTxudW1iZXI+ID0gbnVsbDtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLnRpdGxlJylcbiAgICBfdGl0bGU6IHN0cmluZztcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLnJvbGUnKVxuICAgIHByb3RlY3RlZCBfcm9sZTogc3RyaW5nO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIuYXJpYS1leHBhbmRlZCcpXG4gICAgcHJvdGVjdGVkIF9hcmlhRXhwYW5kZWQ6IE51bGxhYmxlPGJvb2xlYW4+ID0gbnVsbDtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLmFyaWEtc2VsZWN0ZWQnKVxuICAgIHByb3RlY3RlZCBfYXJpYVNlbGVjdGVkOiBOdWxsYWJsZTxib29sZWFuPiA9IG51bGw7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBIb3N0QmluZGluZygnYXR0ci5hcmlhLWRpc2FibGVkJylcbiAgICBwcm90ZWN0ZWQgX2FyaWFEaXNhYmxlZCA9IGZhbHNlO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIuYXJpYS1sYWJlbCcpXG4gICAgcHJvdGVjdGVkIF9hcmlhTGFiZWw6IHN0cmluZztcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLmFyaWEtaGlkZGVuJylcbiAgICBwcm90ZWN0ZWQgX2FyaWFIaWRkZW4gPSB0cnVlO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9leHBhbmRlZCA9IGZhbHNlO1xuXG4gICAgLyoqIEFuIFJ4SlMgU3ViamVjdCB0aGF0IHdpbGwga2lsbCB0aGUgZGF0YSBzdHJlYW0gdXBvbiBjb21wb25lbnTigJlzIGRlc3RydWN0aW9uIChmb3IgdW5zdWJzY3JpYmluZykgICovXG4gICAgcHJpdmF0ZSByZWFkb25seSBfZGVzdHJveVJlZiA9IGluamVjdChEZXN0cm95UmVmKTtcblxuICAgIC8qKiBVbmlxdWUgZWxlbWVudCBJRCAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgX2VsZW1lbnRJZDogc3RyaW5nID0gJ2ZkTmVzdGVkSXRlbScgKyBzaWRlTmF2aWdhdGlvbkl0ZW1VbmlxdWVJZCsrO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBfaXRlbVNlcnZpY2U6IE5lc3RlZEl0ZW1TZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIF9rZXlib2FyZFNlcnZpY2U6IE5lc3RlZExpc3RLZXlib2FyZFNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgX3N0YXRlU2VydmljZTogTmVzdGVkTGlzdFN0YXRlU2VydmljZVxuICAgICkge31cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgbmdBZnRlckNvbnRlbnRJbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9zZXRVcFN1YnNjcmlwdGlvbnMoKTtcbiAgICAgICAgdGhpcy5fcHJvcGFnYXRlSGFzQ2hpbGRyZW5Qcm9wZXJ0eSgpO1xuICAgICAgICB0aGlzLl9wYXNzSXRlbVJlZmVyZW5jZXMoKTtcbiAgICAgICAgLyoqIFByb3BhZ2F0ZSBpbml0aWFsIG9wZW4gc3RhdGUgdG8gY2hpbGRyZW4gKi9cbiAgICAgICAgdGhpcy5wcm9wYWdhdGVPcGVuQ2hhbmdlKHRoaXMuX2V4cGFuZGVkKTtcblxuICAgICAgICBpZiAodGhpcy5saW5rSXRlbSkge1xuICAgICAgICAgICAgdGhpcy5fYXJpYVNlbGVjdGVkID0gdGhpcy5saW5rSXRlbS5zZWxlY3RlZDtcbiAgICAgICAgICAgIHRoaXMuX2FyaWFEaXNhYmxlZCA9ICF0aGlzLl9zdGF0ZVNlcnZpY2Uuc2VsZWN0YWJsZSAmJiAhdGhpcy5saW5rSXRlbS5zZWxlY3RlZDtcbiAgICAgICAgICAgIHRoaXMuX3RpdGxlID0gdGhpcy5saW5rSXRlbS5nZXRUaXRsZSgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIENoZWNrIGlmIHRoZSBpdGVtIGVsZW1lbnQgaGFzIGFueSBjaGlsZCAqL1xuICAgIGdldCBoYXNDaGlsZHJlbigpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICEhdGhpcy5faXRlbVNlcnZpY2U/Lmxpc3Q7XG4gICAgfVxuXG4gICAgLyoqIEdldCBhbGwgb2YgdGhlIGNoaWxkcmVuIGl0ZW0gZWxlbWVudHMgKi9cbiAgICBnZXQgYWxsQ2hpbGRyZW5JdGVtcygpOiBOZXN0ZWRJdGVtSW50ZXJmYWNlW10ge1xuICAgICAgICBpZiAodGhpcy5faXRlbVNlcnZpY2U/Lmxpc3QpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLl9pdGVtU2VydmljZS5saXN0Lm5lc3RlZEl0ZW1zLnRvQXJyYXkoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBbXTtcbiAgICB9XG5cbiAgICAvKiogTWV0aG9kIHRoYXQgZXhwYW5kIHRoZSBpdGVtIGFuZCBwcm9wYWdhdGUgaXQgdG8gY2hpbGRyZW4gKi9cbiAgICB0cmlnZ2VyT3BlbigpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLmV4cGFuZGVkKSB7XG4gICAgICAgICAgICAvKiogUHJvcGFnYXRlIGluaXRpYWwgb3BlbiBzdGF0ZSB0byBjaGlsZHJlbiAqL1xuICAgICAgICAgICAgdGhpcy5wcm9wYWdhdGVPcGVuQ2hhbmdlKHRydWUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIE1ldGhvZCB0aGF0IGNsb3NlIHRoZSBpdGVtIGFuZCBwcm9wYWdhdGUgaXQgdG8gY2hpbGRyZW4gKi9cbiAgICB0cmlnZ2VyQ2xvc2UoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmV4cGFuZGVkKSB7XG4gICAgICAgICAgICAvKiogUHJvcGFnYXRlIGluaXRpYWwgb3BlbiBzdGF0ZSB0byBjaGlsZHJlbiAqL1xuICAgICAgICAgICAgdGhpcy5wcm9wYWdhdGVPcGVuQ2hhbmdlKGZhbHNlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBNZXRob2QgdGhhdCB0b2dnbGUgdGhlIGl0ZW0gYW5kIHByb3BhZ2F0ZSBpdCB0byBjaGlsZHJlbiAqL1xuICAgIHRvZ2dsZSgpOiB2b2lkIHtcbiAgICAgICAgLyoqIFByb3BhZ2F0ZSBpbml0aWFsIG9wZW4gc3RhdGUgdG8gY2hpbGRyZW4gKi9cbiAgICAgICAgdGhpcy5wcm9wYWdhdGVPcGVuQ2hhbmdlKCF0aGlzLl9leHBhbmRlZCk7XG4gICAgfVxuXG4gICAgLyoqIE1ldGhvZCB0aGF0IGRpc3BhdGNoZXMgYGNsaWNrYCBldmVudCBvbiBsaW5rIGl0ZW0qL1xuICAgIGNsaWNrKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5jb250ZW50SXRlbSkge1xuICAgICAgICAgICAgdGhpcy5jb250ZW50SXRlbS5jbGljaygpO1xuICAgICAgICB9IGVsc2UgaWYgKHRoaXMubGlua0l0ZW0pIHtcbiAgICAgICAgICAgIHRoaXMubGlua0l0ZW0uY2xpY2soKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBNZXRob2QgdGhhdCBmb2N1c2VzIGxpbmsgaXRlbSovXG4gICAgZm9jdXMoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmNvbnRlbnRJdGVtKSB7XG4gICAgICAgICAgICB0aGlzLmNvbnRlbnRJdGVtLmZvY3VzKCk7XG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy5saW5rSXRlbSkge1xuICAgICAgICAgICAgdGhpcy5saW5rSXRlbS5mb2N1cygpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIE1ldGhvZCB0aGF0IHByb3ZpZGVzIGluZm9ybWF0aW9uIGlmIGVsZW1lbnQsIG9yIGNoaWxkcmVuIG9mIHRoaXMgZWxlbWVudCBoYXMgcGFzc2VkIGlkICovXG4gICAgY29udGFpbnNJZChpZDogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgICAgIGlmICh0aGlzLl9lbGVtZW50SWQgPT09IGlkKSB7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLl9pdGVtU2VydmljZS5saXN0KSB7XG4gICAgICAgICAgICByZXR1cm4gISF0aGlzLl9pdGVtU2VydmljZS5saXN0Lm5lc3RlZEl0ZW1zLmZpbmQoKGl0ZW0pID0+IGl0ZW0uY29udGFpbnNJZChpZCkpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKiBQcm9wYWdhdGUgb3BlbiBzdGF0ZSB0byBhbGwgb2YgdGhlIGNoaWxkcmVuXG4gICAgICovXG4gICAgcHJpdmF0ZSBwcm9wYWdhdGVPcGVuQ2hhbmdlKG9wZW46IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fZXhwYW5kZWQgPSBvcGVuO1xuXG4gICAgICAgIGlmICh0aGlzLmhhc0NoaWxkcmVuKSB7XG4gICAgICAgICAgICB0aGlzLl9hcmlhRXhwYW5kZWQgPSB0aGlzLl9leHBhbmRlZDtcbiAgICAgICAgfVxuXG4gICAgICAgIC8qKlxuICAgICAgICAgKiBQcm9wYWdhdGUgdG8gY2hpbGQgY29udGVudCBkaXJlY3RpdmUsIHdoaWNoIGNvbnRhaW5zIGljb24gYW5kIGxpbmtcbiAgICAgICAgICovXG4gICAgICAgIGlmICh0aGlzLmNvbnRlbnRJdGVtKSB7XG4gICAgICAgICAgICB0aGlzLmNvbnRlbnRJdGVtLmNoYW5nZUV4cGFuZGVkU3RhdGUob3Blbik7XG4gICAgICAgICAgICB0aGlzLmNvbnRlbnRJdGVtLmFyaWFFeHBhbmRlZCA9IHRoaXMuX2V4cGFuZGVkO1xuICAgICAgICB9XG5cbiAgICAgICAgLyoqIFByb3BhZ2F0ZSBoaWRkZW4gZmxhZyB0byBsaXN0IGNvbXBvbmVudCwgdGhhdCBpcyBwYXNzZWQgZnJvbSBjaGlsZCAqL1xuICAgICAgICBpZiAodGhpcy5faXRlbVNlcnZpY2UubGlzdCkge1xuICAgICAgICAgICAgdGhpcy5faXRlbVNlcnZpY2UubGlzdC5oaWRkZW4gPSAhb3BlbjtcbiAgICAgICAgICAgIHRoaXMuX2l0ZW1TZXJ2aWNlLmxpc3QuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICB9XG5cbiAgICAgICAgLyoqIFByb3BhZ2F0ZSBvcGVuIGZsYWcgdG8gcG9wb3ZlciBsaXN0IGNvbXBvbmVudCwgdGhhdCBpcyBwYXNzZWQgZnJvbSBjaGlsZCAqL1xuICAgICAgICBpZiAodGhpcy5faXRlbVNlcnZpY2UucG9wb3Zlcikge1xuICAgICAgICAgICAgdGhpcy5faXRlbVNlcnZpY2UucG9wb3Zlci5vcGVuID0gb3BlbjtcbiAgICAgICAgfVxuXG4gICAgICAgIC8qKlxuICAgICAgICAgKiBJZiB0aGVyZSBhcmUgYW55IGxpc3QgYmVsb3dcbiAgICAgICAgICogVHJpZ2dlciBldmVudCB0byBwcm92aWRlIGtleWJvYXJkIHN1cHBvcnQgdG8gbmV3IGxpc3Qgb2Ygb3BlbmVkIGl0ZW0gZWxlbWVudC5cbiAgICAgICAgICogKi9cbiAgICAgICAgaWYgKHRoaXMuX3Nob3VsZFJlZnJlc2hLZXlib2FyZFNlcnZpY2UoKSkge1xuICAgICAgICAgICAgdGhpcy5fa2V5Ym9hcmRTZXJ2aWNlLnJlZnJlc2gkLm5leHQoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuZXhwYW5kZWRDaGFuZ2UuZW1pdChvcGVuKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX3Nob3VsZFJlZnJlc2hLZXlib2FyZFNlcnZpY2UoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhISh0aGlzLl9pdGVtU2VydmljZS5wb3BvdmVyIHx8IHRoaXMuX2l0ZW1TZXJ2aWNlLmxpc3QgfHwgdGhpcy5jb250ZW50SXRlbSk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9zZXRVcFN1YnNjcmlwdGlvbnMoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLl9zdGF0ZVNlcnZpY2UuY29uZGVuc2VkKSB7XG4gICAgICAgICAgICB0aGlzLl9yb2xlID0gJ21lbnVpdGVtcmFkaW8nO1xuICAgICAgICB9XG5cbiAgICAgICAgLyoqIFN1YnNjcmliZSB0byBtb3VzZSBjbGljayBldmVudCwgdGhyb3duIGJ5IGxpbmsgaXRlbSAqL1xuICAgICAgICB0aGlzLl9pdGVtU2VydmljZS50b2dnbGUucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5fZGVzdHJveVJlZikpLnN1YnNjcmliZSgoKSA9PiB0aGlzLnRvZ2dsZSgpKTtcblxuICAgICAgICAvKiogU3Vic2NyaWJlIHRvIG1vdXNlIGNsaWNrIGV2ZW50LCB0aHJvd24gYnkgbGluayBpdGVtICovXG4gICAgICAgIHRoaXMuX2l0ZW1TZXJ2aWNlLmNsaWNrXG4gICAgICAgICAgICAucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5fZGVzdHJveVJlZikpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHRoaXMuX3N0YXRlU2VydmljZS5vblNlbGVjdGVkLm5leHQodGhpcy5fZWxlbWVudElkKSk7XG5cbiAgICAgICAgLyoqIFN1YnNjcmliZSB0byBrZXlib2FyZCBldmVudCBhbmQgdGhyb3cgaXQgZmFydGhlciAqL1xuICAgICAgICB0aGlzLl9pdGVtU2VydmljZS5rZXlEb3duXG4gICAgICAgICAgICAucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5fZGVzdHJveVJlZikpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKChrZXlib2FyZEV2ZW50KSA9PiB0aGlzLmtleWJvYXJkVHJpZ2dlcmVkLmVtaXQoa2V5Ym9hcmRFdmVudCkpO1xuXG4gICAgICAgIC8qKiBTdWJzY3JpYmUgdG8gc2VsZWN0ZWQgc3RhdGUgY2hhbmdlLCBpdCdzIG5vdCB0cmlnZ2VyZWQsIHdoZW4gc2VsZWN0YWJsZSBmbGFnIGlzIGRpc2FibGVkKi9cbiAgICAgICAgdGhpcy5fc3RhdGVTZXJ2aWNlLm9uU2VsZWN0ZWRcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLl9kZXN0cm95UmVmKSxcbiAgICAgICAgICAgICAgICBmaWx0ZXIoKCkgPT4gdGhpcy5fc3RhdGVTZXJ2aWNlLnNlbGVjdGFibGUpXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAuc3Vic2NyaWJlKChpZCkgPT4gdGhpcy5fc2VsZWN0ZWRDaGFuZ2UoaWQpKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX3Byb3BhZ2F0ZUhhc0NoaWxkcmVuUHJvcGVydHkoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmNvbnRlbnRJdGVtICYmIHRoaXMuaGFzQ2hpbGRyZW4pIHtcbiAgICAgICAgICAgIHRoaXMuX2FyaWFFeHBhbmRlZCA9IGZhbHNlO1xuICAgICAgICAgICAgdGhpcy5jb250ZW50SXRlbS5oYXNDaGlsZHJlbiA9IHRydWU7XG4gICAgICAgICAgICB0aGlzLmNvbnRlbnRJdGVtLmNoYW5nZURldFJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogUGFzcyB0aGlzIGVsZW1lbnQgdG8gcG9wb3ZlciBjaGlsZCBpdGVtLCB0byBhbGxvdyBjb250cm9sIGBleHBhbmRlZGAgdmFsdWUgKi9cbiAgICBwcml2YXRlIF9wYXNzSXRlbVJlZmVyZW5jZXMoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLl9pdGVtU2VydmljZS5wb3BvdmVyKSB7XG4gICAgICAgICAgICB0aGlzLl9pdGVtU2VydmljZS5wb3BvdmVyLnBhcmVudEl0ZW1FbGVtZW50ID0gdGhpcztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBDaGFuZ2Ugb2Ygc2VsZWN0ZWQgc3RhdGUgb2YgY29udGVudCBvciBsaW5rLCBpZiB0aGVyZSBpcyBhbnkgY2hpbGRyZW4gd2l0aCBJICovXG4gICAgcHJpdmF0ZSBfc2VsZWN0ZWRDaGFuZ2UoaWQ6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICBjb25zdCBzZWxlY3RlZCA9IHRoaXMuY29udGFpbnNJZChpZCk7XG4gICAgICAgIHRoaXMuX2FyaWFTZWxlY3RlZCA9IHNlbGVjdGVkO1xuXG4gICAgICAgIGlmICh0aGlzLmNvbnRlbnRJdGVtKSB7XG4gICAgICAgICAgICB0aGlzLmNvbnRlbnRJdGVtLmNoYW5nZVNlbGVjdGVkKHNlbGVjdGVkKTtcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLmxpbmtJdGVtKSB7XG4gICAgICAgICAgICB0aGlzLmxpbmtJdGVtLmNoYW5nZVNlbGVjdGVkKHNlbGVjdGVkKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==","import { ChangeDetectionStrategy, Component, ContentChild, HostBinding, Input, Optional, ViewChild, ViewEncapsulation, computed } from '@angular/core';\nimport { RtlService } from '@fundamental-ngx/cdk/utils';\nimport { PopoverBodyComponent, PopoverComponent, PopoverControlComponent } from '@fundamental-ngx/core/popover';\nimport { NestedListContentDirective } from '../nested-content/nested-list-content.directive';\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 * as i0 from \"@angular/core\";\nimport * as i1 from \"../nested-list-keyboard.service\";\nimport * as i2 from \"../nested-item/nested-item.service\";\nimport * as i3 from \"@fundamental-ngx/cdk/utils\";\nexport class NestedListPopoverComponent {\n /** @hidden */\n constructor(_keyboardNestService, _itemService, _rtlService) {\n this._keyboardNestService = _keyboardNestService;\n this._itemService = _itemService;\n this._rtlService = _rtlService;\n /** @hidden\n * For Internal Usage - Gets information about title, which should be displayed inside popover\n */\n this.title = '';\n /** @hidden */\n this.popoverClass = true;\n /** @hidden */\n this.placement$ = computed(() => (this._rtlService?.rtlSignal() ? 'left-start' : 'right-start'), ...(ngDevMode ? [{ debugName: \"placement$\" }] : []));\n /** @hidden */\n this.open = false;\n this._listenOnKeyboardRefresh();\n if (this._itemService) {\n this._itemService.popover = this;\n }\n }\n /** @hidden */\n ngAfterContentInit() {\n if (!this.title) {\n this.title = this._getTitle();\n }\n }\n /**\n * Method called, when open state is changed, from popover component (escape key, outside click).\n */\n handleOpenChange(open) {\n this.open = open;\n if (this.parentItemElement) {\n if (open) {\n this.parentItemElement.triggerOpen();\n }\n else {\n this.parentItemElement.triggerClose();\n }\n }\n }\n /** Returns title of nested link element inside content directive */\n _getTitle() {\n if (this.contentDirective && this.contentDirective.nestedLink) {\n return this.contentDirective.nestedLink.getTitle();\n }\n else {\n return '';\n }\n }\n /** @hidden */\n _listenOnKeyboardRefresh() {\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 static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: NestedListPopoverComponent, deps: [{ token: i1.NestedListKeyboardService }, { token: i2.NestedItemService, optional: true }, { token: i3.RtlService, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"20.1.4\", type: NestedListPopoverComponent, isStandalone: true, selector: \"fd-nested-list-popover\", inputs: { title: \"title\" }, host: { properties: { \"class.fd-nested-list__popover\": \"this.popoverClass\" } }, queries: [{ propertyName: \"linkDirective\", first: true, predicate: NestedLinkDirective, descendants: true }, { propertyName: \"contentDirective\", first: true, predicate: NestedListContentDirective, descendants: true }], viewQueries: [{ propertyName: \"popoverComponent\", first: true, predicate: PopoverComponent, descendants: true }], ngImport: i0, template: \"<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\", styles: [\".fd-side-nav--condensed .fd-popover-container-custom .fd-nested-list__title{display:inline-flex}.fd-side-nav--condensed .fd-nested-list__popover-header{box-shadow:0 0 .25rem #00000026,inset 0 -.0625rem #d9d9d9}.fd-side-nav--condensed .fd-popover-custom{display:block}[dir=rtl] .fd-side-nav--condensed .fd-popover-container-custom .fd-nested-list__link,.fd-side-nav--condensed[dir=rtl] .fd-popover-container-custom .fd-nested-list__link{padding-left:1rem}\\n\"], dependencies: [{ kind: \"component\", type: PopoverComponent, selector: \"fd-popover\", inputs: [\"title\", \"trigger\", \"fixedPosition\", \"id\", \"mobile\", \"mobileConfig\", \"preventSpaceKeyScroll\"] }, { kind: \"component\", type: PopoverControlComponent, selector: \"fd-popover-control, [fdPopoverControl]\" }, { kind: \"component\", type: PopoverBodyComponent, selector: \"fd-popover-body\", inputs: [\"minWidth\", \"maxWidth\", \"minHeight\", \"maxHeight\"] }, { kind: \"directive\", type: NestedLinkDirective, selector: \"[fdNestedLink], [fd-nested-list-link]\", inputs: [\"onClickCallback\", \"selected\", \"ariaDescribedby\"], outputs: [\"selectedChange\"] }, { kind: \"directive\", type: NestedListTitleDirective, selector: \"[fdNestedDirectivesTitle], [fd-nested-list-title]\" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: NestedListPopoverComponent, decorators: [{\n type: Component,\n args: [{ selector: 'fd-nested-list-popover', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, imports: [\n PopoverComponent,\n PopoverControlComponent,\n PopoverBodyComponent,\n NestedLinkDirective,\n NestedListTitleDirective\n ], template: \"<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\", styles: [\".fd-side-nav--condensed .fd-popover-container-custom .fd-nested-list__title{display:inline-flex}.fd-side-nav--condensed .fd-nested-list__popover-header{box-shadow:0 0 .25rem #00000026,inset 0 -.0625rem #d9d9d9}.fd-side-nav--condensed .fd-popover-custom{display:block}[dir=rtl] .fd-side-nav--condensed .fd-popover-container-custom .fd-nested-list__link,.fd-side-nav--condensed[dir=rtl] .fd-popover-container-custom .fd-nested-list__link{padding-left:1rem}\\n\"] }]\n }], ctorParameters: () => [{ type: i1.NestedListKeyboardService }, { type: i2.NestedItemService, decorators: [{\n type: Optional\n }] }, { type: i3.RtlService, decorators: [{\n type: Optional\n }] }], propDecorators: { title: [{\n type: Input\n }], popoverComponent: [{\n type: ViewChild,\n args: [PopoverComponent]\n }], popoverClass: [{\n type: HostBinding,\n args: ['class.fd-nested-list__popover']\n }], linkDirective: [{\n type: ContentChild,\n args: [NestedLinkDirective]\n }], contentDirective: [{\n type: ContentChild,\n args: [NestedListContentDirective]\n }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmVzdGVkLWxpc3QtcG9wb3Zlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvbmVzdGVkLWxpc3QvbmVzdGVkLWxpc3QtcG9wb3Zlci9uZXN0ZWQtbGlzdC1wb3BvdmVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS9uZXN0ZWQtbGlzdC9uZXN0ZWQtbGlzdC1wb3BvdmVyL25lc3RlZC1saXN0LXBvcG92ZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVILHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsWUFBWSxFQUNaLFdBQVcsRUFDWCxLQUFLLEVBQ0wsUUFBUSxFQUNSLFNBQVMsRUFDVCxpQkFBaUIsRUFDakIsUUFBUSxFQUNYLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsZ0JBQWdCLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUVoSCxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxpREFBaUQsQ0FBQztBQUU3RixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUN2RSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUMzRSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNyRSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQzs7Ozs7QUFpQjVFLE1BQU0sT0FBTywwQkFBMEI7SUFtQ25DLGNBQWM7SUFDZCxZQUNZLG9CQUErQyxFQUNuQyxZQUErQixFQUMvQixXQUF1QjtRQUZuQyx5QkFBb0IsR0FBcEIsb0JBQW9CLENBQTJCO1FBQ25DLGlCQUFZLEdBQVosWUFBWSxDQUFtQjtRQUMvQixnQkFBVyxHQUFYLFdBQVcsQ0FBWTtRQXRDL0M7O1dBRUc7UUFFSCxVQUFLLEdBQUcsRUFBRSxDQUFDO1FBTVgsY0FBYztRQUVkLGlCQUFZLEdBQUcsSUFBSSxDQUFDO1FBZ0JwQixjQUFjO1FBQ2QsZUFBVSxHQUFHLFFBQVEsQ0FBWSxHQUFHLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsU0FBUyxFQUFFLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLHNEQUFDLENBQUM7UUFFdkcsY0FBYztRQUNkLFNBQUksR0FBRyxLQUFLLENBQUM7UUFRVCxJQUFJLENBQUMsd0JBQXdCLEVBQUUsQ0FBQztRQUNoQyxJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUNwQixJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7UUFDckMsQ0FBQztJQUNMLENBQUM7SUFFRCxjQUFjO0lBQ2Qsa0JBQWtCO1FBQ2QsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNkLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQ2xDLENBQUM7SUFDTCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxnQkFBZ0IsQ0FBQyxJQUFhO1FBQzFCLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO1FBQ2pCLElBQUksSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7WUFDekIsSUFBSSxJQUFJLEVBQUUsQ0FBQztnQkFDUCxJQUFJLENBQUMsaUJBQWlCLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDekMsQ0FBQztpQkFBTSxDQUFDO2dCQUNKLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUMxQyxDQUFDO1FBQ0wsQ0FBQztJQUNMLENBQUM7SUFFRCxvRUFBb0U7SUFDNUQsU0FBUztRQUNiLElBQUksSUFBSSxDQUFDLGdCQUFnQixJQUFJLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUM1RCxPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDdkQsQ0FBQzthQUFNLENBQUM7WUFDSixPQUFPLEVBQUUsQ0FBQztRQUNkLENBQUM7SUFDTCxDQUFDO0lBRUQsY0FBYztJQUNOLHdCQUF3QjtRQUM1QixJQUFJLENBQUMsb0JBQW9CLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDOUMsOERBQThEO1lBQzlELElBQUksSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7Z0JBQ3hCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxlQUFlLEVBQUUsQ0FBQztZQUM1QyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDOzhHQXJGUSwwQkFBMEI7a0dBQTFCLDBCQUEwQix5T0FnQnJCLG1CQUFtQixtRkFJbkIsMEJBQTBCLGtHQVo3QixnQkFBZ0IsZ0RDOUMvQiw2dUJBbUJBLGtnQkRZUSxnQkFBZ0IsK0pBQ2hCLHVCQUF1QixtRkFDdkIsb0JBQW9CLHdIQUNwQixtQkFBbUIsMktBQ25CLHdCQUF3Qjs7MkZBR25CLDBCQUEwQjtrQkFkdEMsU0FBUzsrQkFDSSx3QkFBd0IsaUJBR25CLGlCQUFpQixDQUFDLElBQUksbUJBQ3BCLHVCQUF1QixDQUFDLE1BQU0sV0FDdEM7d0JBQ0wsZ0JBQWdCO3dCQUNoQix1QkFBdUI7d0JBQ3ZCLG9CQUFvQjt3QkFDcEIsbUJBQW1CO3dCQUNuQix3QkFBd0I7cUJBQzNCOzswQkF3Q0ksUUFBUTs7MEJBQ1IsUUFBUTt5Q0FsQ2IsS0FBSztzQkFESixLQUFLO2dCQUtOLGdCQUFnQjtzQkFEZixTQUFTO3VCQUFDLGdCQUFnQjtnQkFLM0IsWUFBWTtzQkFEWCxXQUFXO3VCQUFDLCtCQUErQjtnQkFLNUMsYUFBYTtzQkFEWixZQUFZO3VCQUFDLG1CQUFtQjtnQkFLakMsZ0JBQWdCO3NCQURmLFlBQVk7dUJBQUMsMEJBQTBCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBBZnRlckNvbnRlbnRJbml0LFxuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENvbXBvbmVudCxcbiAgICBDb250ZW50Q2hpbGQsXG4gICAgSG9zdEJpbmRpbmcsXG4gICAgSW5wdXQsXG4gICAgT3B0aW9uYWwsXG4gICAgVmlld0NoaWxkLFxuICAgIFZpZXdFbmNhcHN1bGF0aW9uLFxuICAgIGNvbXB1dGVkXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBSdGxTZXJ2aWNlIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jZGsvdXRpbHMnO1xuaW1wb3J0IHsgUG9wb3ZlckJvZHlDb21wb25lbnQsIFBvcG92ZXJDb21wb25lbnQsIFBvcG92ZXJDb250cm9sQ29tcG9uZW50IH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlL3BvcG92ZXInO1xuaW1wb3J0IHsgUGxhY2VtZW50IH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlL3NoYXJlZCc7XG5pbXBvcnQgeyBOZXN0ZWRMaXN0Q29udGVudERpcmVjdGl2ZSB9IGZyb20gJy4uL25lc3RlZC1jb250ZW50L25lc3RlZC1saXN0LWNvbnRlbnQuZGlyZWN0aXZlJztcbmltcG9ydCB7IE5lc3RlZEl0ZW1JbnRlcmZhY2UgfSBmcm9tICcuLi9uZXN0ZWQtaXRlbS9uZXN0ZWQtaXRlbS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgTmVzdGVkSXRlbVNlcnZpY2UgfSBmcm9tICcuLi9uZXN0ZWQtaXRlbS9uZXN0ZWQtaXRlbS5zZXJ2aWNlJztcbmltcG9ydCB7IE5lc3RlZExpbmtEaXJlY3RpdmUgfSBmcm9tICcuLi9uZXN0ZWQtbGluay9uZXN0ZWQtbGluay5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgTmVzdGVkTGlzdFRpdGxlRGlyZWN0aXZlIH0gZnJvbSAnLi4vbmVzdGVkLWxpc3QtZGlyZWN0aXZlcyc7XG5pbXBvcnQgeyBOZXN0ZWRMaXN0S2V5Ym9hcmRTZXJ2aWNlIH0gZnJvbSAnLi4vbmVzdGVkLWxpc3Qta2V5Ym9hcmQuc2VydmljZSc7XG5pbXBvcnQgeyBOZXN0ZWRMaXN0UG9wb3ZlckludGVyZmFjZSB9IGZyb20gJy4vbmVzdGVkLWxpc3QtcG9wb3Zlci5pbnRlcmZhY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2ZkLW5lc3RlZC1saXN0LXBvcG92ZXInLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9uZXN0ZWQtbGlzdC1wb3BvdmVyLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybDogJy4vbmVzdGVkLWxpc3QtcG9wb3Zlci5jb21wb25lbnQuc2NzcycsXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIFBvcG92ZXJDb21wb25lbnQsXG4gICAgICAgIFBvcG92ZXJDb250cm9sQ29tcG9uZW50LFxuICAgICAgICBQb3BvdmVyQm9keUNvbXBvbmVudCxcbiAgICAgICAgTmVzdGVkTGlua0RpcmVjdGl2ZSxcbiAgICAgICAgTmVzdGVkTGlzdFRpdGxlRGlyZWN0aXZlXG4gICAgXVxufSlcbmV4cG9ydCBjbGFzcyBOZXN0ZWRMaXN0UG9wb3ZlckNvbXBvbmVudCBpbXBsZW1lbnRzIE5lc3RlZExpc3RQb3BvdmVySW50ZXJmYWNlLCBBZnRlckNvbnRlbnRJbml0IHtcbiAgICAvKiogQGhpZGRlblxuICAgICAqIEZvciBJbnRlcm5hbCBVc2FnZSAtIEdldHMgaW5mb3JtYXRpb24gYWJvdXQgdGl0bGUsIHdoaWNoIHNob3VsZCBiZSBkaXNwbGF5ZWQgaW5zaWRlIHBvcG92ZXJcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHRpdGxlID0gJyc7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBWaWV3Q2hpbGQoUG9wb3ZlckNvbXBvbmVudClcbiAgICBwb3BvdmVyQ29tcG9uZW50OiBQb3BvdmVyQ29tcG9uZW50O1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLmZkLW5lc3RlZC1saXN0X19wb3BvdmVyJylcbiAgICBwb3BvdmVyQ2xhc3MgPSB0cnVlO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBAQ29udGVudENoaWxkKE5lc3RlZExpbmtEaXJlY3RpdmUpXG4gICAgbGlua0RpcmVjdGl2ZTogTmVzdGVkTGlua0RpcmVjdGl2ZTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQENvbnRlbnRDaGlsZChOZXN0ZWRMaXN0Q29udGVudERpcmVjdGl2ZSlcbiAgICBjb250ZW50RGlyZWN0aXZlOiBOZXN0ZWRMaXN0Q29udGVudERpcmVjdGl2ZTtcblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKiBSZWZlcmVuY2UgdG8gcGFyZW50IGl0ZW0sIHRvIHByb3BhZ2F0ZSBvcGVuIGFuZCBjbG9zZSBjaGFuZ2UgZnJvbSBwb3BvdmVyLlxuICAgICAqL1xuICAgIHBhcmVudEl0ZW1FbGVtZW50OiBOZXN0ZWRJdGVtSW50ZXJmYWNlO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwbGFjZW1lbnQkID0gY29tcHV0ZWQ8UGxhY2VtZW50PigoKSA9PiAodGhpcy5fcnRsU2VydmljZT8ucnRsU2lnbmFsKCkgPyAnbGVmdC1zdGFydCcgOiAncmlnaHQtc3RhcnQnKSk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIG9wZW4gPSBmYWxzZTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgX2tleWJvYXJkTmVzdFNlcnZpY2U6IE5lc3RlZExpc3RLZXlib2FyZFNlcnZpY2UsXG4gICAgICAgIEBPcHRpb25hbCgpIHByaXZhdGUgX2l0ZW1TZXJ2aWNlOiBOZXN0ZWRJdGVtU2VydmljZSxcbiAgICAgICAgQE9wdGlvbmFsKCkgcHJpdmF0ZSBfcnRsU2VydmljZTogUnRsU2VydmljZVxuICAgICkge1xuICAgICAgICB0aGlzLl9saXN0ZW5PbktleWJvYXJkUmVmcmVzaCgpO1xuICAgICAgICBpZiAodGhpcy5faXRlbVNlcnZpY2UpIHtcbiAgICAgICAgICAgIHRoaXMuX2l0ZW1TZXJ2aWNlLnBvcG92ZXIgPSB0aGlzO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBuZ0FmdGVyQ29udGVudEluaXQoKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy50aXRsZSkge1xuICAgICAgICAgICAgdGhpcy50aXRsZSA9IHRoaXMuX2dldFRpdGxlKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBNZXRob2QgY2FsbGVkLCB3aGVuIG9wZW4gc3RhdGUgaXMgY2hhbmdlZCwgZnJvbSBwb3BvdmVyIGNvbXBvbmVudCAoZXNjYXBlIGtleSwgb3V0c2lkZSBjbGljaykuXG4gICAgICovXG4gICAgaGFuZGxlT3BlbkNoYW5nZShvcGVuOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIHRoaXMub3BlbiA9IG9wZW47XG4gICAgICAgIGlmICh0aGlzLnBhcmVudEl0ZW1FbGVtZW50KSB7XG4gICAgICAgICAgICBpZiAob3Blbikge1xuICAgICAgICAgICAgICAgIHRoaXMucGFyZW50SXRlbUVsZW1lbnQudHJpZ2dlck9wZW4oKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5wYXJlbnRJdGVtRWxlbWVudC50cmlnZ2VyQ2xvc2UoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBSZXR1cm5zIHRpdGxlIG9mIG5lc3RlZCBsaW5rIGVsZW1lbnQgaW5zaWRlIGNvbnRlbnQgZGlyZWN0aXZlICovXG4gICAgcHJpdmF0ZSBfZ2V0VGl0bGUoKTogc3RyaW5nIHtcbiAgICAgICAgaWYgKHRoaXMuY29udGVudERpcmVjdGl2ZSAmJiB0aGlzLmNvbnRlbnREaXJlY3RpdmUubmVzdGVkTGluaykge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuY29udGVudERpcmVjdGl2ZS5uZXN0ZWRMaW5rLmdldFRpdGxlKCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gJyc7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2xpc3Rlbk9uS2V5Ym9hcmRSZWZyZXNoKCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9rZXlib2FyZE5lc3RTZXJ2aWNlLnJlZnJlc2gkLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICAvKiogVXBkYXRlIHBvcG92ZXIgcG9zaXRpb24sIG9uIGxpc3Qgb2YgaGlkZGVuIGl0ZW1zIGNoYW5nZSAqL1xuICAgICAgICAgICAgaWYgKHRoaXMucG9wb3ZlckNvbXBvbmVudCkge1xuICAgICAgICAgICAgICAgIHRoaXMucG9wb3ZlckNvbXBvbmVudC5yZWZyZXNoUG9zaXRpb24oKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxufVxuIiwiPGZkLXBvcG92ZXJcbiAgICBbcGxhY2VtZW50XT1cInBsYWNlbWVudCQoKVwiXG4gICAgW3RyaWdnZXJzXT1cIlsnY2xpY2snXVwiXG4gICAgW25vQXJyb3ddPVwiZmFsc2VcIlxuICAgIFtpc09wZW5dPVwib3BlblwiXG4gICAgKGlzT3BlbkNoYW5nZSk9XCJoYW5kbGVPcGVuQ2hhbmdlKCRldmVudClcIlxuPlxuICAgIDxmZC1wb3BvdmVyLWNvbnRyb2w+XG4gICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIltmZC1uZXN0ZWQtbGlzdC1saW5rXVwiPjwvbmctY29udGVudD5cbiAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW2ZkLW5lc3RlZC1saXN0LWNvbnRlbnRdXCI+PC9uZy1jb250ZW50PlxuICAgIDwvZmQtcG9wb3Zlci1jb250cm9sPlxuICAgIDxmZC1wb3BvdmVyLWJvZHkgY2xhc3M9XCJmZC1uZXN0ZWQtbGlzdC0tdGV4dC1vbmx5XCI+XG4gICAgICAgIDxhIGZkLW5lc3RlZC1saXN0LWxpbmsgY2xhc3M9XCJmZC1uZXN0ZWQtbGlzdF9fcG9wb3Zlci1oZWFkZXJcIj5cbiAgICAgICAgICAgIDxzcGFuIGZkLW5lc3RlZC1saXN0LXRpdGxlPnt7IHRpdGxlIH19PC9zcGFuPlxuICAgICAgICA8L2E+XG4gICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIltmZC1uZXN0ZWQtbGlzdF1cIj48L25nLWNvbnRlbnQ+XG4gICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cImZkLXByZXBhcmVkLW5lc3RlZC1saXN0XCI+PC9uZy1jb250ZW50PlxuICAgIDwvZmQtcG9wb3Zlci1ib2R5PlxuPC9mZC1wb3BvdmVyPlxuIl19","import { ChangeDetectorRef, ContentChild, ContentChildren, Directive, ElementRef, forwardRef, HostBinding, Inject, INJECTOR, Input, Optional, QueryList } from '@angular/core';\nimport { combineLatest, Observable, startWith, Subscription } from 'rxjs';\nimport { ContentDensityObserver, contentDensityObserverProviders } from '@fundamental-ngx/core/content-density';\nimport { MenuKeyboardService } from '@fundamental-ngx/core/menu';\nimport { FD_LANGUAGE, 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 * as i0 from \"@angular/core\";\nimport * as i1 from \"../nested-item/nested-item.service\";\nimport * as i2 from \"../nested-list-keyboard.service\";\nimport * as i3 from \"../nested-list-state.service\";\nimport * as i4 from \"@fundamental-ngx/core/content-density\";\nimport * as i5 from \"rxjs\";\nfunction provideNestedListStateService() {\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.get(NestedListStateService, new NestedListStateService(), { skipSelf: true }),\n deps: [INJECTOR]\n };\n}\n/**\n * <div fd-nested-list>\n * <div fd-nested-list>\n * </div>\n * </div>\n */\nexport class NestedListDirective {\n /** @hidden */\n constructor(_nestedItemService, _nestedListKeyboardService, _elementRef, _changeDetectionRef, _nestedListStateService, _language$, _contentDensityObserver) {\n this._nestedItemService = _nestedItemService;\n this._nestedListKeyboardService = _nestedListKeyboardService;\n this._elementRef = _elementRef;\n this._changeDetectionRef = _changeDetectionRef;\n this._nestedListStateService = _nestedListStateService;\n this._language$ = _language$;\n /** In case the user wants to no use icons for items in this list */\n this.textOnly = false;\n /** Aria defines role description for the Nested List Tree. */\n this.ariaRoledescriptionTree = 'Navigation List Tree';\n /** Aria defines role description for the Nested List MenuBar. */\n this.ariaRoledescriptionMenuBar = 'Navigation List Menu Bar';\n /** Aria defines aria label for the selected item when the list with disabled selection. */\n this.ariaLabelSelected = 'Selected';\n /** @hidden */\n this.fdNestedListItemClass = true;\n /** @hidden */\n this.hidden = false;\n /** @hidden */\n this._role = 'tree';\n /** @hidden */\n this._ariaRoledescription = this.ariaRoledescriptionTree;\n /** @hidden */\n this._ariaHaspopup = null;\n /** @hidden */\n this._tabindex = '-1';\n /** @hidden */\n this._subscriptions = new Subscription();\n /** @hidden */\n this._translationResolver = new TranslationResolver();\n if (this._nestedItemService) {\n this._nestedItemService.list = this;\n }\n _contentDensityObserver.subscribe();\n }\n /** @hidden */\n ngOnDestroy() {\n this._subscriptions.unsubscribe();\n }\n /** @hidden */\n ngAfterContentInit() {\n let nestedLevel = 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 this._setAccessibilityProperties(nestedLevel);\n const sub = combineLatest([this._language$, this.nestedItems.changes.pipe(startWith(undefined))]).subscribe(([lang]) => {\n this._nestedListKeyboardService.refresh$.next();\n this._setAriaAttributes(nestedLevel, lang);\n });\n this._subscriptions.add(sub);\n this._handleNestedLevel(nestedLevel);\n }\n /** @hidden */\n detectChanges() {\n this._changeDetectionRef.markForCheck();\n }\n /** @hidden */\n _handleNestedLevel(level) {\n /** Adding class with the nested level */\n this._elementRef.nativeElement.classList.add('level-' + level);\n }\n /**\n * @hidden\n * Method, that checks how deep is the list element\n */\n _getNestedLevel() {\n let element = this._elementRef.nativeElement;\n const parentElements = [];\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 /** 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 /** @hidden */\n _setAriaAttributes(level, lang) {\n this.nestedItems.forEach((item, i) => {\n item._ariaLevel = level;\n if (!item.linkItem) {\n return;\n }\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, // TODO: this property has been deprecated and will be removed from translations\n total: this.nestedItems.length, // TODO: this property has been deprecated and will be removed from translations\n selectedDescription: !this._nestedListStateService.selectable && item.linkItem.selected\n ? ', ' + this.ariaLabelSelected\n : ''\n });\n }\n });\n this._changeDetectionRef.detectChanges();\n }\n /** @hidden */\n _setAccessibilityProperties(level) {\n if (this._nestedListStateService.condensed && level === 1) {\n this._ariaRoledescription = this.ariaRoledescriptionMenuBar;\n }\n if (level > 1 || (this._nestedItemService?.popover && !this._nestedListStateService.condensed)) {\n this._role = 'group';\n this._ariaRoledescription = null;\n }\n if (this._nestedItemService?.popover) {\n this._ariaHaspopup = 'tree';\n }\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: NestedListDirective, deps: [{ token: i1.NestedItemService, optional: true }, { token: i2.NestedListKeyboardService }, { token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i3.NestedListStateService }, { token: FD_LANGUAGE }, { token: i4.ContentDensityObserver }], target: i0.ɵɵFactoryTarget.Directive }); }\n static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"20.1.4\", type: NestedListDirective, isStandalone: true, selector: \"[fdNestedList], [fd-nested-list]\", inputs: { textOnly: \"textOnly\", ariaRoledescriptionTree: \"ariaRoledescriptionTree\", ariaRoledescriptionMenuBar: \"ariaRoledescriptionMenuBar\", ariaLabelSelected: \"ariaLabelSelected\" }, host: { properties: { \"class.fd-nested-list--text-only\": \"this.textOnly\", \"class.fd-nested-list\": \"this.fdNestedListItemClass\", \"attr.aria-hidden\": \"this.hidden\", \"attr.role\": \"this._role\", \"attr.aria-roledescription\": \"this._ariaRoledescription\", \"attr.aria-haspopup\": \"this._ariaHaspopup\", \"attr.tabindex\": \"this._tabindex\" } }, providers: [\n contentDensityObserverProviders(),\n MenuKeyboardService,\n NestedListKeyboardService,\n provideNestedListStateService()\n ], queries: [{ propertyName: \"_nestedListHeader\", first: true, predicate: NestedListHeaderDirective, descendants: true }, { propertyName: \"nestedItems\", predicate: i0.forwardRef(() => NestedItemDirective) }], ngImport: i0 }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: NestedListDirective, decorators: [{\n type: Directive,\n args: [{\n selector: '[fdNestedList], [fd-nested-list]',\n providers: [\n contentDensityObserverProviders(),\n MenuKeyboardService,\n NestedListKeyboardService,\n provideNestedListStateService()\n ],\n standalone: true\n }]\n }], ctorParameters: () => [{ type: i1.NestedItemService, decorators: [{\n type: Optional\n }] }, { type: i2.NestedListKeyboardService }, { type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i3.NestedListStateService }, { type: i5.Observable, decorators: [{\n type: Inject,\n args: [FD_LANGUAGE]\n }] }, { type: i4.ContentDensityObserver }], propDecorators: { textOnly: [{\n type: Input\n }, {\n type: HostBinding,\n args: ['class.fd-nested-list--text-only']\n }], ariaRoledescriptionTree: [{\n type: Input\n }], ariaRoledescriptionMenuBar: [{\n type: Input\n }], ariaLabelSelected: [{\n type: Input\n }], fdNestedListItemClass: [{\n type: HostBinding,\n args: ['class.fd-nested-list']\n }], hidden: [{\n type: HostBinding,\n args: ['attr.aria-hidden']\n }], nestedItems: [{\n type: ContentChildren,\n args: [forwardRef(() => NestedItemDirective)]\n }], _nestedListHeader: [{\n type: ContentChild,\n args: [NestedListHeaderDirective]\n }], _role: [{\n type: HostBinding,\n args: ['attr.role']\n }], _ariaRoledescription: [{\n type: HostBinding,\n args: ['attr.aria-roledescription']\n }], _ariaHaspopup: [{\n type: HostBinding,\n args: ['attr.aria-haspopup']\n }], _tabindex: [{\n type: HostBinding,\n args: ['attr.tabindex']\n }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmVzdGVkLWxpc3QuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL25lc3RlZC1saXN0L25lc3RlZC1saXN0L25lc3RlZC1saXN0LmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUgsaUJBQWlCLEVBQ2pCLFlBQVksRUFDWixlQUFlLEVBQ2YsU0FBUyxFQUNULFVBQVUsRUFDVixVQUFVLEVBQ1YsV0FBVyxFQUNYLE1BQU0sRUFDTixRQUFRLEVBRVIsS0FBSyxFQUVMLFFBQVEsRUFFUixTQUFTLEVBQ1osTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGFBQWEsRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUcxRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsK0JBQStCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUNoSCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNqRSxPQUFPLEVBQUUsV0FBVyxFQUFjLG1CQUFtQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDckYsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDM0UsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDdkUsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDdEUsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDNUUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sOEJBQThCLENBQUM7Ozs7Ozs7QUFHdEUsU0FBUyw2QkFBNkI7SUFDbEMsd0dBQXdHO0lBQ3hHLE9BQU87UUFDSCxPQUFPLEVBQUUsc0JBQXNCO1FBQy9CLFVBQVUsRUFBRSxDQUFDLFFBQWtCLEVBQUUsRUFBRSxDQUMvQixRQUFR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b250ZW50IjpbImltcG9ydCB7XG4gICAgQWZ0ZXJDb250ZW50SW5pdCxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb250ZW50Q2hpbGQsXG4gICAgQ29udGVudENoaWxkcmVuLFxuICAgIERpcmVjdGl2ZSxcbiAgICBFbGVtZW50UmVmLFxuICAgIGZvcndhcmRSZWYsXG4gICAgSG9zdEJpbmRpbmcsXG4gICAgSW5qZWN0LFxuICAgIElOSkVDVE9SLFxuICAgIEluamVjdG9yLFxuICAgIElucHV0LFxuICAgIE9uRGVzdHJveSxcbiAgICBPcHRpb25hbCxcbiAgICBQcm92aWRlcixcbiAgICBRdWVyeUxpc3Rcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBjb21iaW5lTGF0ZXN0LCBPYnNlcnZhYmxlLCBzdGFydFdpdGgsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBOdWxsYWJsZSB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY2RrL3V0aWxzJztcbmltcG9ydCB7IENvbnRlbnREZW5zaXR5T2JzZXJ2ZXIsIGNvbnRlbnREZW5zaXR5T2JzZXJ2ZXJQcm92aWRlcnMgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUvY29udGVudC1kZW5zaXR5JztcbmltcG9ydCB7IE1lbnVLZXlib2FyZFNlcnZpY2UgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUvbWVudSc7XG5pbXBvcnQgeyBGRF9MQU5HVUFHRSwgRmRMYW5ndWFnZSwgVHJhbnNsYXRpb25SZXNvbHZlciB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvaTE4bic7XG5pbXBvcnQgeyBOZXN0ZWRJdGVtRGlyZWN0aXZlIH0gZnJvbSAnLi4vbmVzdGVkLWl0ZW0vbmVzdGVkLWl0ZW0uZGlyZWN0aXZlJztcbmltcG9ydCB7IE5lc3RlZEl0ZW1TZXJ2aWNlIH0gZnJvbSAnLi4vbmVzdGVkLWl0ZW0vbmVzdGVkLWl0ZW0uc2VydmljZSc7XG5pbXBvcnQgeyBOZXN0ZWRMaXN0SGVhZGVyRGlyZWN0aXZlIH0gZnJvbSAnLi4vbmVzdGVkLWxpc3QtZGlyZWN0aXZlcyc7XG5pbXBvcnQgeyBOZXN0ZWRMaXN0S2V5Ym9hcmRTZXJ2aWNlIH0gZnJvbSAnLi4vbmVzdGVkLWxpc3Qta2V5Ym9hcmQuc2VydmljZSc7XG5pbXBvcnQgeyBOZXN0ZWRMaXN0U3RhdGVTZXJ2aWNlIH0gZnJvbSAnLi4vbmVzdGVkLWxpc3Qtc3RhdGUuc2VydmljZSc7XG5pbXBvcnQgeyBOZXN0ZWRMaXN0SW50ZXJmYWNlIH0gZnJvbSAnLi9uZXN0ZWQtbGlzdC5pbnRlcmZhY2UnO1xuXG5mdW5jdGlvbiBwcm92aWRlTmVzdGVkTGlzdFN0YXRlU2VydmljZSgpOiBQcm92aWRlciB7XG4gICAgLy8gTmVzdGVkIGxpc3QgY2FuIGJlIG5lc3RlZCwgYW5kIHRoYXQgd2lsbCBjYXVzZSBvbiBlYWNoIGluZGl2aWR1YWwgaW5zdGFuY2Ugb2YgTmVzdGVkTGlzdFN0YXRlU2VydmljZS5cbiAgICByZXR1cm4ge1xuICAgICAgICBwcm92aWRlOiBOZXN0ZWRMaXN0U3RhdGVTZXJ2aWNlLFxuICAgICAgICB1c2VGYWN0b3J5OiAoaW5qZWN0b3I6IEluamVjdG9yKSA9PlxuICAgICAgICAgICAgaW5qZWN0b3IuZ2V0KE5lc3RlZExpc3RTdGF0ZVNlcnZpY2UsIG5ldyBOZXN0ZWRMaXN0U3RhdGVTZXJ2aWNlKCksIHsgc2tpcFNlbGY6IHRydWUgfSksXG4gICAgICAgIGRlcHM6IFtJTkpFQ1RPUl1cbiAgICB9O1xufVxuXG4vKipcbiAqIDxkaXYgZmQtbmVzdGVkLWxpc3Q+XG4gKiAgPGRpdiBmZC1uZXN0ZWQtbGlzdD5cbiAqICA8L2Rpdj5cbiAqIDwvZGl2PlxuICovXG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW2ZkTmVzdGVkTGlzdF0sIFtmZC1uZXN0ZWQtbGlzdF0nLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICBjb250ZW50RGVuc2l0eU9ic2VydmVyUHJvdmlkZXJzKCksXG4gICAgICAgIE1lbnVLZXlib2FyZFNlcnZpY2UsXG4gICAgICAgIE5lc3RlZExpc3RLZXlib2FyZFNlcnZpY2UsXG4gICAgICAgIHByb3ZpZGVOZXN0ZWRMaXN0U3RhdGVTZXJ2aWNlKClcbiAgICBdLFxuICAgIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgTmVzdGVkTGlzdERpcmVjdGl2ZSBpbXBsZW1lbnRzIEFmdGVyQ29udGVudEluaXQsIE5lc3RlZExpc3RJbnRlcmZhY2UsIE9uRGVzdHJveSB7XG4gICAgLyoqIEluIGNhc2UgdGhlIHVzZXIgd2FudHMgdG8gbm8gdXNlIGljb25zIGZvciBpdGVtcyBpbiB0aGlzIGxpc3QgKi9cbiAgICBASW5wdXQoKVxuICAgIEBIb3N0QmluZGluZygnY2xhc3MuZmQtbmVzdGVkLWxpc3QtLXRleHQtb25seScpXG4gICAgdGV4dE9ubHkgPSBmYWxzZTtcblxuICAgIC8qKiBBcmlhIGRlZmluZXMgcm9sZSBkZXNjcmlwdGlvbiBmb3IgdGhlIE5lc3RlZCBMaXN0IFRyZWUuICovXG4gICAgQElucHV0KClcbiAgICBhcmlhUm9sZWRlc2NyaXB0aW9uVHJlZSA9ICdOYXZpZ2F0aW9uIExpc3QgVHJlZSc7XG5cbiAgICAvKiogQXJpYSBkZWZpbmVzIHJvbGUgZGVzY3JpcHRpb24gZm9yIHRoZSBOZXN0ZWQgTGlzdCBNZW51QmFyLiAqL1xuICAgIEBJbnB1dCgpXG4gICAgYXJpYVJvbGVkZXNjcmlwdGlvbk1lbnVCYXIgPSAnTmF2aWdhdGlvbiBMaXN0IE1lbnUgQmFyJztcblxuICAgIC8qKiBBcmlhIGRlZmluZXMgYXJpYSBsYWJlbCBmb3IgdGhlIHNlbGVjdGVkIGl0ZW0gd2hlbiB0aGUgbGlzdCB3aXRoIGRpc2FibGVkIHNlbGVjdGlvbi4gKi9cbiAgICBASW5wdXQoKVxuICAgIGFyaWFMYWJlbFNlbGVjdGVkID0gJ1NlbGVjdGVkJztcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5mZC1uZXN0ZWQtbGlzdCcpXG4gICAgZmROZXN0ZWRMaXN0SXRlbUNsYXNzID0gdHJ1ZTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLmFyaWEtaGlkZGVuJylcbiAgICBoaWRkZW4gPSBmYWxzZTtcblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKiBUaGlzIHZhcmlhYmxlIGlzIG1vc3RseSB0byBrZWVwIHRyYWNrIG9mIHRoaXMgbGlzdCdzIGNoaWxkcmVuLiBUaGVyZSBpcyBub3QgdXNhZ2Ugb2YgaXQgaW5zaWRlIHRoaXMgZGlyZWN0aXZlLFxuICAgICAqIGJ1dCBpdCdzIHVzZWQgYnkgc2VydmljZXMgYW5kIE5lc3RlZEl0ZW1EaXJlY3RpdmUgYnkgaXRzZWxmLFxuICAgICAqL1xuICAgIEBDb250ZW50Q2hpbGRyZW4oZm9yd2FyZFJlZigoKSA9PiBOZXN0ZWRJdGVtRGlyZWN0aXZlKSlcbiAgICBuZXN0ZWRJdGVtczogUXVlcnlMaXN0PE5lc3RlZEl0ZW1EaXJlY3RpdmU+O1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBAQ29udGVudENoaWxkKE5lc3RlZExpc3RIZWFkZXJEaXJlY3RpdmUpXG4gICAgcHJvdGVjdGVkIF9uZXN0ZWRMaXN0SGVhZGVyOiBOZXN0ZWRMaXN0SGVhZGVyRGlyZWN0aXZlO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIucm9sZScpXG4gICAgcHJvdGVjdGVkIF9yb2xlID0gJ3RyZWUnO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIuYXJpYS1yb2xlZGVzY3JpcHRpb24nKVxuICAgIHByb3RlY3RlZCBfYXJpYVJvbGVkZXNjcmlwdGlvbjogTnVsbGFibGU8c3RyaW5nPiA9IHRoaXMuYXJpYVJvbGVkZXNjcmlwdGlvblRyZWU7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBIb3N0QmluZGluZygnYXR0ci5hcmlhLWhhc3BvcHVwJylcbiAgICBwcm90ZWN0ZWQgX2FyaWFIYXNwb3B1cDogTnVsbGFibGU8c3RyaW5nPiA9IG51bGw7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBIb3N0QmluZGluZygnYXR0ci50YWJpbmRleCcpXG4gICAgcHJvdGVjdGVkIF90YWJpbmRleCA9ICctMSc7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX3N1YnNjcmlwdGlvbnMgPSBuZXcgU3Vic2NyaXB0aW9uKCk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgX3RyYW5zbGF0aW9uUmVzb2x2ZXIgPSBuZXcgVHJhbnNsYXRpb25SZXNvbHZlcigpO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQE9wdGlvbmFsKCkgcHJpdmF0ZSBfbmVzdGVkSXRlbVNlcnZpY2U6IE5lc3RlZEl0ZW1TZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIF9uZXN0ZWRMaXN0S2V5Ym9hcmRTZXJ2aWNlOiBOZXN0ZWRMaXN0S2V5Ym9hcmRTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIF9lbGVtZW50UmVmOiBFbGVtZW50UmVmLFxuICAgICAgICBwcml2YXRlIF9jaGFuZ2VEZXRlY3Rpb25SZWY6IENoYW5nZURldGVjdG9yUmVmLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IF9uZXN0ZWRMaXN0U3RhdGVTZXJ2aWNlOiBOZXN0ZWRMaXN0U3RhdGVTZXJ2aWNlLFxuICAgICAgICBASW5qZWN0KEZEX0xBTkdVQUdFKSBwcml2YXRlIF9sYW5ndWFnZSQ6IE9ic2VydmFibGU8RmRMYW5ndWFnZT4sXG4gICAgICAgIF9jb250ZW50RGVuc2l0eU9ic2VydmVyOiBDb250ZW50RGVuc2l0eU9ic2VydmVyXG4gICAgKSB7XG4gICAgICAgIGlmICh0aGlzLl9uZXN0ZWRJdGVtU2VydmljZSkge1xuICAgICAgICAgICAgdGhpcy5fbmVzdGVkSXRlbVNlcnZpY2UubGlzdCA9IHRoaXM7XG4gICAgICAgIH1cbiAgICAgICAgX2NvbnRlbnREZW5zaXR5T2JzZXJ2ZXIuc3Vic2NyaWJlKCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fc3Vic2NyaXB0aW9ucy51bnN1YnNjcmliZSgpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgbmdBZnRlckNvbnRlbnRJbml0KCk6IHZvaWQge1xuICAgICAgICBsZXQgbmVzdGVkTGV2ZWw6IG51bWJlciA9IHRoaXMuX2dldE5lc3RlZExldmVsKCk7XG4gICAgICAgIC8qKiBJZiB0aGVyZSBpcyBjb25kZW5zZWQgbW9kZSwgbWF4aW11bSAybmQgbGV2ZWwgY2xhc3Mgb2YgbmVzdCBjYW4gYmUgYWRkZWQgKi9cbiAgICAgICAgaWYgKHRoaXMuX25lc3RlZExpc3RTdGF0ZVNlcnZpY2UuY29uZGVuc2VkKSB7XG4gICAgICAgICAgICBuZXN0ZWRMZXZlbCA9IE1hdGgubWluKC4uLltuZXN0ZWRMZXZlbCwgMl0pO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5fc2V0QWNjZXNzaWJpbGl0eVByb3BlcnRpZXMobmVzdGVkTGV2ZWwpO1xuXG4gICAgICAgIGNvbnN0IHN1YiA9IGNvbWJpbmVMYXRlc3QoW3RoaXMuX2xhbmd1YWdlJCwgdGhpcy5uZXN0ZWRJdGVtcy5jaGFuZ2VzLnBpcGUoc3RhcnRXaXRoKHVuZGVmaW5lZCkpXSkuc3Vic2NyaWJlKFxuICAgICAgICAgICAgKFtsYW5nXSkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuX25lc3RlZExpc3RLZXlib2FyZFNlcnZpY2UucmVmcmVzaCQubmV4dCgpO1xuICAgICAgICAgICAgICAgIHRoaXMuX3NldEFyaWFBdHRyaWJ1dGVzKG5lc3RlZExldmVsLCBsYW5nKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgKTtcblxuICAgICAgICB0aGlzLl9zdWJzY3JpcHRpb25zLmFkZChzdWIpO1xuXG4gICAgICAgIHRoaXMuX2hhbmRsZU5lc3RlZExldmVsKG5lc3RlZExldmVsKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIGRldGVjdENoYW5nZXMoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX2NoYW5nZURldGVjdGlvblJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2hhbmRsZU5lc3RlZExldmVsKGxldmVsOiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgLyoqIEFkZGluZyBjbGFzcyB3aXRoIHRoZSBuZXN0ZWQgbGV2ZWwgKi9cbiAgICAgICAgdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdC5hZGQoJ2xldmVsLScgKyBsZXZlbCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqIE1ldGhvZCwgdGhhdCBjaGVja3MgaG93IGRlZXAgaXMgdGhlIGxpc3QgZWxlbWVudFxuICAgICAqL1xuICAgIHByaXZhdGUgX2dldE5lc3RlZExldmVsKCk6IG51bWJlciB7XG4gICAgICAgIGxldCBlbGVtZW50ID0gdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50O1xuICAgICAgICBjb25zdCBwYXJlbnRFbGVtZW50czogRWxlbWVudFtdID0gW107XG5cbiAgICAgICAgLyoqIE1ldGhvZCB0aGF0IGdhdGhlcnMgYWxsIG9mIHRoZSBwYXJlbnROb2RlIGVsZW1lbnRzIG9mIGN1cnJlbnQgTmVzdGVkTGlzdERpcmVjdGl2ZSBlbGVtZW50ICovXG4gICAgICAgIHdoaWxlIChlbGVtZW50LnBhcmVudE5vZGUpIHtcbiAgICAgICAgICAgIHBhcmVudEVsZW1lbnRzLnVuc2hpZnQoZWxlbWVudCk7XG4gICAgICAgICAgICBlbGVtZW50ID0gZWxlbWVudC5wYXJlbnROb2RlO1xuICAgICAgICB9XG5cbiAgICAgICAgLyoqIEZpbHRlciBvbmx5IGVsZW1lbnRzLCB0aGF0IGhhcyBgZmQtbmVzdGVkLWxpc3RgIGRpcmVjdGl2ZSBhdHRyaWJ1dGUgKi9cbiAgICAgICAgY29uc3QgZmlsdGVyZWRQYXJlbnRFbGVtZW50cyA9IHBhcmVudEVsZW1lbnRzLmZpbHRlcigoX2VsZW1lbnQpID0+IF9lbGVtZW50Lmhhc0F0dHJpYnV0ZSgnZmQtbmVzdGVkLWxpc3QnKSk7XG4gICAgICAgIHJldHVybiBmaWx0ZXJlZFBhcmVudEVsZW1lbnRzLmxlbmd0aDtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX3NldEFyaWFBdHRyaWJ1dGVzKGxldmVsOiBudW1iZXIsIGxhbmc6IEZkTGFuZ3VhZ2UpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5uZXN0ZWRJdGVtcy5mb3JFYWNoKChpdGVtLCBpKSA9PiB7XG4gICAgICAgICAgICBpdGVtLl9hcmlhTGV2ZWwgPSBsZXZlbDtcbiAgICAgICAgICAgIGlmICghaXRlbS5saW5rSXRlbSkge1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgaXRlbS5saW5rSXRlbS5hcmlhRGVzY3JpYmVkYnkgPSB0aGlzLl9uZXN0ZWRMaXN0SGVhZGVyPy5pZCB8fCBudWxsO1xuICAgICAgICAgICAgICAgIGl0ZW0ubGlua0l0ZW0uX2FyaWFMYWJlbCA9IHRoaXMuX3RyYW5zbGF0aW9uUmVzb2x2ZXIucmVzb2x2ZShsYW5nLCAnY29yZU5lc3RlZExpc3QubGlua0l0ZW1BcmlhTGFiZWwnLCB7XG4gICAgICAgICAgICAgICAgICAgIGl0ZW1EZXRhaWxzOiBpdGVtLmxpbmtJdGVtLmdldFRpdGxlKCksXG4gICAgICAgICAgICAgICAgICAgIGluZGV4OiBpICsgMSwgLy8gVE9ETzogdGhpcyBwcm9wZXJ0eSBoYXMgYmVlbiBkZXByZWNhdGVkIGFuZCB3aWxsIGJlIHJlbW92ZWQgZnJvbSB0cmFuc2xhdGlvbnNcbiAgICAgICAgICAgICAgICAgICAgdG90YWw6IHRoaXMubmVzdGVkSXRlbXMubGVuZ3RoLCAvLyBUT0RPOiB0aGlzIHByb3BlcnR5IGhhcyBiZWVuIGRlcHJlY2F0ZWQgYW5kIHdpbGwgYmUgcmVtb3ZlZCBmcm9tIHRyYW5zbGF0aW9uc1xuICAgICAgICAgICAgICAgICAgICBzZWxlY3RlZERlc2NyaXB0aW9uOlxuICAgICAgICAgICAgICAgICAgICAgICAgIXRoaXMuX25lc3RlZExpc3RTdGF0ZVNlcnZpY2Uuc2VsZWN0YWJsZSAmJiBpdGVtLmxpbmtJdGVtLnNlbGVjdGVkXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPyAnLCAnICsgdGhpcy5hcmlhTGFiZWxTZWxlY3RlZFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogJydcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5fY2hhbmdlRGV0ZWN0aW9uUmVmLmRldGVjdENoYW5nZXMoKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX3NldEFjY2Vzc2liaWxpdHlQcm9wZXJ0aWVzKGxldmVsOiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuX25lc3RlZExpc3RTdGF0ZVNlcnZpY2UuY29uZGVuc2VkICYmIGxldmVsID09PSAxKSB7XG4gICAgICAgICAgICB0aGlzLl9hcmlhUm9sZWRlc2NyaXB0aW9uID0gdGhpcy5hcmlhUm9sZWRlc2NyaXB0aW9uTWVudUJhcjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChsZXZlbCA+IDEgfHwgKHRoaXMuX25lc3RlZEl0ZW1TZXJ2aWNlPy5wb3BvdmVyICYmICF0aGlzLl9uZXN0ZWRMaXN0U3RhdGVTZXJ2aWNlLmNvbmRlbnNlZCkpIHtcbiAgICAgICAgICAgIHRoaXMuX3JvbGUgPSAnZ3JvdXAnO1xuICAgICAgICAgICAgdGhpcy5fYXJpYVJvbGVkZXNjcmlwdGlvbiA9IG51bGw7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5fbmVzdGVkSXRlbVNlcnZpY2U/LnBvcG92ZXIpIHtcbiAgICAgICAgICAgIHRoaXMuX2FyaWFIYXNwb3B1cCA9ICd0cmVlJztcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==","import { NgTemplateOutlet } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, Input, ViewChild, ViewEncapsulation, forwardRef } from '@angular/core';\nimport { RouterLink } from '@angular/router';\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 { NestedListExpandIconComponent, NestedListHeaderDirective, NestedListIconComponent, NestedListTitleDirective } from '../nested-list-directives';\nimport { NestedListPopoverComponent } from '../nested-list-popover/nested-list-popover.component';\nimport { NestedListDirective } from '../nested-list/nested-list.directive';\nimport * as i0 from \"@angular/core\";\n/**\n * Component for internal usage, allows to generate the nested list from defined object.\n */\nexport class PreparedNestedListComponent {\n constructor() {\n /**\n * @hidden\n * For internal usage.\n * Defines if the component is first\n */\n this.first = true;\n /** Defines if list should be displayed in condensed mode */\n this.condensed = false;\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() {\n return this._nestedListDirective;\n }\n /** @hidden */\n _expandedChange(expanded, item) {\n item.expanded = expanded;\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: PreparedNestedListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.1.4\", type: PreparedNestedListComponent, isStandalone: true, selector: \"fd-prepared-nested-list\", inputs: { first: \"first\", condensed: \"condensed\", list: \"list\" }, viewQueries: [{ propertyName: \"_nestedListDirective\", first: true, predicate: i0.forwardRef(() => NestedListDirective), descendants: true }], ngImport: i0, template: \"<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\", styles: [\"\"], dependencies: [{ kind: \"component\", type: i0.forwardRef(() => PreparedNestedListComponent), selector: \"fd-prepared-nested-list\", inputs: [\"first\", \"condensed\", \"list\"] }, { kind: \"directive\", type: i0.forwardRef(() => NestedListDirective), selector: \"[fdNestedList], [fd-nested-list]\", inputs: [\"textOnly\", \"ariaRoledescriptionTree\", \"ariaRoledescriptionMenuBar\", \"ariaLabelSelected\"] }, { kind: \"directive\", type: i0.forwardRef(() => NestedListHeaderDirective), selector: \"[fdNestedDirectivesHeader], [fd-nested-list-header]\", inputs: [\"id\"] }, { kind: \"directive\", type: i0.forwardRef(() => NestedItemDirective), selector: \"[fdNestedItem], [fd-nested-list-item]\", inputs: [\"expanded\"], outputs: [\"expandedChange\", \"keyboardTriggered\"] }, { kind: \"component\", type: i0.forwardRef(() => NestedListPopoverComponent), selector: \"fd-nested-list-popover\", inputs: [\"title\"] }, { kind: \"directive\", type: i0.forwardRef(() => NestedListContentDirective), selector: \"[fdNestedListContent], [fd-nested-list-content]\", inputs: [\"selected\"], outputs: [\"selectedChange\", \"keyboardTriggered\", \"clicked\"] }, { kind: \"directive\", type: i0.forwardRef(() => NgTemplateOutlet), selector: \"[ngTemplateOutlet]\", inputs: [\"ngTemplateOutletContext\", \"ngTemplateOutlet\", \"ngTemplateOutletInjector\"] }, { kind: \"component\", type: i0.forwardRef(() => NestedListExpandIconComponent), selector: \"[fdNestedListExpandIcon], [fd-nested-list-expand-icon]\" }, { kind: \"directive\", type: i0.forwardRef(() => NestedLinkDirective), selector: \"[fdNestedLink], [fd-nested-list-link]\", inputs: [\"onClickCallback\", \"selected\", \"ariaDescribedby\"], outputs: [\"selectedChange\"] }, { kind: \"directive\", type: i0.forwardRef(() => RouterLink), selector: \"[routerLink]\", inputs: [\"target\", \"queryParams\", \"fragment\", \"queryParamsHandling\", \"state\", \"info\", \"relativeTo\", \"preserveFragment\", \"skipLocationChange\", \"replaceUrl\", \"routerLink\"] }, { kind: \"component\", type: i0.forwardRef(() => NestedListIconComponent), selector: \"[fdNestedDirectivesIcon], [fd-nested-list-icon]\", inputs: [\"role\"] }, { kind: \"directive\", type: i0.forwardRef(() => NestedListTitleDirective), selector: \"[fdNestedDirectivesTitle], [fd-nested-list-title]\" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: PreparedNestedListComponent, decorators: [{\n type: Component,\n args: [{ selector: 'fd-prepared-nested-list', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, 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 ], template: \"<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\" }]\n }], propDecorators: { first: [{\n type: Input\n }], condensed: [{\n type: Input\n }], list: [{\n type: Input\n }], _nestedListDirective: [{\n type: ViewChild,\n args: [forwardRef(() => NestedListDirective)]\n }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJlcGFyZWQtbmVzdGVkLWxpc3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL25lc3RlZC1saXN0L3ByZXBhcmVkLW5lc3RlZC1saXN0L3ByZXBhcmVkLW5lc3RlZC1saXN0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS9uZXN0ZWQtbGlzdC9wcmVwYXJlZC1uZXN0ZWQtbGlzdC9wcmVwYXJlZC1uZXN0ZWQtbGlzdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsaUJBQWlCLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3BILE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUU3QyxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxpREFBaUQsQ0FBQztBQUM3RixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUMzRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUMzRSxPQUFPLEVBQ0gsNkJBQTZCLEVBQzdCLHlCQUF5QixFQUN6Qix1QkFBdUIsRUFDdkIsd0JBQXdCLEVBQzNCLE1BQU0sMkJBQTJCLENBQUM7QUFFbkMsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sc0RBQXNELENBQUM7QUFDbEcsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7O0FBRTNFOztHQUVHO0FBc0JILE1BQU0sT0FBTywyQkFBMkI7SUFyQnhDO1FBc0JJOzs7O1dBSUc7UUFFSCxVQUFLLEdBQUcsSUFBSSxDQUFDO1FBRWIsNERBQTREO1FBRTVELGNBQVMsR0FBRyxLQUFLLENBQUM7S0F3QnJCO0lBWkc7OztPQUdHO0lBQ0gsSUFBSSxtQkFBbUI7UUFDbkIsT0FBTyxJQUFJLENBQUMsb0JBQW9CLENBQUM7SUFDckMsQ0FBQztJQUVELGNBQWM7SUFDZCxlQUFlLENBQUMsUUFBaUIsRUFBRSxJQUFvQjtRQUNuRCxJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztJQUM3QixDQUFDOzhHQWxDUSwyQkFBMkI7a0dBQTNCLDJCQUEyQiwrTkFvQlIsbUJBQW1CLGlEQzdEbkQsOHZGQXNEQSw4RURiYSwyQkFBMkIsaUlBZGhDLG1CQUFtQixzTUFDbkIseUJBQXlCLHFJQUN6QixtQkFBbUIsK0tBQ25CLDBCQUEwQiwyR0FDMUIsMEJBQTBCLG9NQUMxQixnQkFBZ0IseUtBQ2hCLDZCQUE2Qix3SEFFN0IsbUJBQW1CLGdNQUNuQixVQUFVLHlQQUNWLHVCQUF1QixtSUFDdkIsd0JBQXdCOzsyRkFHbkIsMkJBQTJCO2tCQXJCdkMsU0FBUzsrQkFDSSx5QkFBeUIsaUJBR3BCLGlCQUFpQixDQUFDLElBQUksbUJBQ3BCLHVCQUF1QixDQUFDLE1BQU0sV0FDdEM7d0JBQ0wsbUJBQW1CO3dCQUNuQix5QkFBeUI7d0JBQ3pCLG1CQUFtQjt3QkFDbkIsMEJBQTBCO3dCQUMxQiwwQkFBMEI7d0JBQzFCLGdCQUFnQjt3QkFDaEIsNkJBQTZCO3dCQUM3QixVQUFVLENBQUMsR0FBRyxFQUFFLDRCQUE0QixDQUFDO3dCQUM3QyxtQkFBbUI7d0JBQ25CLFVBQVU7d0JBQ1YsdUJBQXVCO3dCQUN2Qix3QkFBd0I7cUJBQzNCOzhCQVNELEtBQUs7c0JBREosS0FBSztnQkFLTixTQUFTO3NCQURSLEtBQUs7Z0JBS04sSUFBSTtzQkFESCxLQUFLO2dCQU9OLG9CQUFvQjtzQkFEbkIsU0FBUzt1QkFBQyxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsbUJBQW1CLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ1RlbXBsYXRlT3V0bGV0IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIElucHV0LCBWaWV3Q2hpbGQsIFZpZXdFbmNhcHN1bGF0aW9uLCBmb3J3YXJkUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSb3V0ZXJMaW5rIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IE51bGxhYmxlIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jZGsvdXRpbHMnO1xuaW1wb3J0IHsgTmVzdGVkTGlzdENvbnRlbnREaXJlY3RpdmUgfSBmcm9tICcuLi9uZXN0ZWQtY29udGVudC9uZXN0ZWQtbGlzdC1jb250ZW50LmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBOZXN0ZWRJdGVtRGlyZWN0aXZlIH0gZnJvbSAnLi4vbmVzdGVkLWl0ZW0vbmVzdGVkLWl0ZW0uZGlyZWN0aXZlJztcbmltcG9ydCB7IE5lc3RlZExpbmtEaXJlY3RpdmUgfSBmcm9tICcuLi9uZXN0ZWQtbGluay9uZXN0ZWQtbGluay5kaXJlY3RpdmUnO1xuaW1wb3J0IHtcbiAgICBOZXN0ZWRMaXN0RXhwYW5kSWNvbkNvbXBvbmVudCxcbiAgICBOZXN0ZWRMaXN0SGVhZGVyRGlyZWN0aXZlLFxuICAgIE5lc3RlZExpc3RJY29uQ29tcG9uZW50LFxuICAgIE5lc3RlZExpc3RUaXRsZURpcmVjdGl2ZVxufSBmcm9tICcuLi9uZXN0ZWQtbGlzdC1kaXJlY3RpdmVzJztcbmltcG9ydCB7IE5lc3RlZExpc3RJdGVtLCBOZXN0ZWRMaXN0TW9kZWwgfSBmcm9tICcuLi9uZXN0ZWQtbGlzdC1tb2RlbCc7XG5pbXBvcnQgeyBOZXN0ZWRMaXN0UG9wb3ZlckNvbXBvbmVudCB9IGZyb20gJy4uL25lc3RlZC1saXN0LXBvcG92ZXIvbmVzdGVkLWxpc3QtcG9wb3Zlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgTmVzdGVkTGlzdERpcmVjdGl2ZSB9IGZyb20gJy4uL25lc3RlZC1saXN0L25lc3RlZC1saXN0LmRpcmVjdGl2ZSc7XG5cbi8qKlxuICogQ29tcG9uZW50IGZvciBpbnRlcm5hbCB1c2FnZSwgYWxsb3dzIHRvIGdlbmVyYXRlIHRoZSBuZXN0ZWQgbGlzdCBmcm9tIGRlZmluZWQgb2JqZWN0LlxuICovXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2ZkLXByZXBhcmVkLW5lc3RlZC1saXN0JyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vcHJlcGFyZWQtbmVzdGVkLWxpc3QuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsOiAnLi9wcmVwYXJlZC1uZXN0ZWQtbGlzdC5jb21wb25lbnQuc2NzcycsXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIE5lc3RlZExpc3REaXJlY3RpdmUsXG4gICAgICAgIE5lc3RlZExpc3RIZWFkZXJEaXJlY3RpdmUsXG4gICAgICAgIE5lc3RlZEl0ZW1EaXJlY3RpdmUsXG4gICAgICAgIE5lc3RlZExpc3RQb3BvdmVyQ29tcG9uZW50LFxuICAgICAgICBOZXN0ZWRMaXN0Q29udGVudERpcmVjdGl2ZSxcbiAgICAgICAgTmdUZW1wbGF0ZU91dGxldCxcbiAgICAgICAgTmVzdGVkTGlzdEV4cGFuZEljb25Db21wb25lbnQsXG4gICAgICAgIGZvcndhcmRSZWYoKCkgPT4gUHJlcGFyZWROZXN0ZWRMaXN0Q29tcG9uZW50KSxcbiAgICAgICAgTmVzdGVkTGlua0RpcmVjdGl2ZSxcbiAgICAgICAgUm91dGVyTGluayxcbiAgICAgICAgTmVzdGVkTGlzdEljb25Db21wb25lbnQsXG4gICAgICAgIE5lc3RlZExpc3RUaXRsZURpcmVjdGl2ZVxuICAgIF1cbn0pXG5leHBvcnQgY2xhc3MgUHJlcGFyZWROZXN0ZWRMaXN0Q29tcG9uZW50IHtcbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICogRm9yIGludGVybmFsIHVzYWdlLlxuICAgICAqIERlZmluZXMgaWYgdGhlIGNvbXBvbmVudCBpcyBmaXJzdFxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgZmlyc3QgPSB0cnVlO1xuXG4gICAgLyoqIERlZmluZXMgaWYgbGlzdCBzaG91bGQgYmUgZGlzcGxheWVkIGluIGNvbmRlbnNlZCBtb2RlICovXG4gICAgQElucHV0KClcbiAgICBjb25kZW5zZWQgPSBmYWxzZTtcblxuICAgIC8qKiBMaXN0IGNvbmZpZ3VyYXRpb24qL1xuICAgIEBJbnB1dCgpXG4gICAgbGlzdDogTnVsbGFibGU8TmVzdGVkTGlzdE1vZGVsPjtcblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKi9cbiAgICBAVmlld0NoaWxkKGZvcndhcmRSZWYoKCkgPT4gTmVzdGVkTGlzdERpcmVjdGl2ZSkpXG4gICAgX25lc3RlZExpc3REaXJlY3RpdmU6IE5lc3RlZExpc3REaXJlY3RpdmU7XG5cbiAgICAvKipcbiAgICAgKiBJbiBwcmVwYXJlZCBuZXN0ZWQgbGlzdCwgbmVzdGVkIGl0ZW1zIHNob3VsZCBiZSB0YWtlbiBhcyByZWZlcmVuY2Ugb2YgVmlldywgbm90IENvbnRlbnQuXG4gICAgICogVGhlcmUgaXMgZGlyZWN0IHJlZmVyZW5jZSB0byB0aGVzZSBkaXJlY3RpdmVzIGhlcmUuXG4gICAgICovXG4gICAgZ2V0IG5lc3RlZExpc3REaXJlY3RpdmUoKTogTmVzdGVkTGlzdERpcmVjdGl2ZSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9uZXN0ZWRMaXN0RGlyZWN0aXZlO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgX2V4cGFuZGVkQ2hhbmdlKGV4cGFuZGVkOiBib29sZWFuLCBpdGVtOiBOZXN0ZWRMaXN0SXRlbSk6IHZvaWQge1xuICAgICAgICBpdGVtLmV4cGFuZGVkID0gZXhwYW5kZWQ7XG4gICAgfVxufVxuIiwiPHVsIGZkLW5lc3RlZC1saXN0IFt0ZXh0T25seV09XCIhIWxpc3Q/LnRleHRPbmx5XCI+XG4gICAgQGZvciAoaXRlbSBvZiBsaXN0Py5pdGVtczsgdHJhY2sgaXRlbSkge1xuICAgICAgICBAaWYgKGl0ZW0uaGVhZGVyVGl0bGUpIHtcbiAgICAgICAgICAgIDxsaSBmZC1uZXN0ZWQtbGlzdC1oZWFkZXI+XG4gICAgICAgICAgICAgICAge3sgaXRlbS5oZWFkZXJUaXRsZSB9fVxuICAgICAgICAgICAgPC9saT5cbiAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICA8bGkgZmQtbmVzdGVkLWxpc3QtaXRlbSBbZXhwYW5kZWRdPVwiISFpdGVtLmV4cGFuZGVkXCIgKGV4cGFuZGVkQ2hhbmdlKT1cIl9leHBhbmRlZENoYW5nZSgkZXZlbnQsIGl0ZW0pXCI+XG4gICAgICAgICAgICAgICAgQGlmIChjb25kZW5zZWQgJiYgZmlyc3QgJiYgaXRlbS5saXN0KSB7XG4gICAgICAgICAgICAgICAgICAgIDxmZC1uZXN0ZWQtbGlzdC1wb3BvdmVyIFt0aXRsZV09XCJpdGVtLmxpbms/LnRpdGxlIHx8ICcnXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGZkLW5lc3RlZC1saXN0LWNvbnRlbnQgW3NlbGVjdGVkXT1cIiEhaXRlbS5saW5rPy5zZWxlY3RlZFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJsaW5rXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgaXRlbTogaXRlbSB9XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+PC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIGZkLW5lc3RlZC1saXN0LWV4cGFuZC1pY29uPjwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICBAaWYgKGl0ZW0ubGlzdCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZC1wcmVwYXJlZC1uZXN0ZWQtbGlzdCBbZmlyc3RdPVwiZmFsc2VcIiBbbGlzdF09XCJpdGVtLmxpc3RcIj48L2ZkLXByZXBhcmVkLW5lc3RlZC1saXN0PlxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICA8L2ZkLW5lc3RlZC1saXN0LXBvcG92ZXI+XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIEBpZiAoIWl0ZW0ubGlzdCkge1xuICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgW25nVGVtcGxhdGVPdXRsZXRdPVwibGlua1wiIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7IGl0ZW06IGl0ZW0gfVwiPjwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIEBpZiAoKCFjb25kZW5zZWQgfHwgIWZpcnN0KSAmJiBpdGVtLmxpc3QpIHtcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBmZC1uZXN0ZWQtbGlzdC1jb250ZW50PlxuICAgICAgICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImxpbmtcIiBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyBpdGVtOiBpdGVtIH1cIj48L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBmZC1uZXN0ZWQtbGlzdC1leHBhbmQtaWNvbj48L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIEBpZiAoaXRlbS5saXN0KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZmQtcHJlcGFyZWQtbmVzdGVkLWxpc3QgW2ZpcnN0XT1cImZhbHNlXCIgW2xpc3RdPVwiaXRlbS5saXN0XCI+PC9mZC1wcmVwYXJlZC1uZXN0ZWQtbGlzdD5cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgbGV0LWl0ZW09XCJpdGVtXCIgI2xpbms+XG4gICAgICAgICAgICAgICAgICAgIEBpZiAoaXRlbS5saW5rKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZkLW5lc3RlZC1saXN0LWxpbmtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbb25DbGlja0NhbGxiYWNrXT1cIml0ZW0ubGluay5jYWxsYmFja1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW3NlbGVjdGVkXT1cIiFpdGVtLmxpc3QgJiYgaXRlbS5saW5rLnNlbGVjdGVkXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5ocmVmXT1cIml0ZW0ubGluay5ocmVmID8gaXRlbS5saW5rLmhyZWYgOiBudWxsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcm91dGVyTGlua109XCJpdGVtLmxpbmsucm91dGVyTGluayA/IGl0ZW0ubGluay5yb3V0ZXJMaW5rIDogW11cIlxuICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpZiAoaXRlbS5saW5rLmljb24pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gZmQtbmVzdGVkLWxpc3QtaWNvbiBbZ2x5cGhdPVwiaXRlbS5saW5rLmljb25cIj48L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGZkLW5lc3RlZC1saXN0LXRpdGxlPnt7IGl0ZW0ubGluay50aXRsZSB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICA8L2xpPlxuICAgICAgICB9XG4gICAgfVxuPC91bD5cbiJdfQ==","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 { NestedListExpandIconComponent, NestedListHeaderDirective, NestedListIconComponent, NestedListTitleDirective } 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';\nimport * as i0 from \"@angular/core\";\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 * @deprecated\n * Use direct imports of components and directives.\n */\nexport class NestedListModule {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: NestedListModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }\n static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.1.4\", ngImport: i0, type: NestedListModule, imports: [NestedListDirective,\n NestedLinkDirective,\n NestedItemDirective,\n NestedListIconComponent,\n NestedListTitleDirective,\n NestedListHeaderDirective,\n NestedListPopoverComponent,\n PreparedNestedListComponent,\n NestedListExpandIconComponent,\n NestedListContentDirective], exports: [NestedListDirective,\n NestedLinkDirective,\n NestedItemDirective,\n NestedListIconComponent,\n NestedListTitleDirective,\n NestedListHeaderDirective,\n NestedListPopoverComponent,\n PreparedNestedListComponent,\n NestedListExpandIconComponent,\n NestedListContentDirective] }); }\n static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: NestedListModule, providers: [MenuKeyboardService, NestedListKeyboardService, NestedListStateService], imports: [NestedListPopoverComponent,\n PreparedNestedListComponent,\n NestedListExpandIconComponent] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: NestedListModule, decorators: [{\n type: NgModule,\n args: [{\n imports: [...components],\n exports: [...components],\n providers: [MenuKeyboardService, NestedListKeyboardService, NestedListStateService]\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmVzdGVkLWxpc3QubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL25lc3RlZC1saXN0L25lc3RlZC1saXN0Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2pFLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLGdEQUFnRCxDQUFDO0FBQzVGLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQzFFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQzFFLE9BQU8sRUFDSCw2QkFBNkIsRUFDN0IseUJBQXlCLEVBQ3pCLHVCQUF1QixFQUN2Qix3QkFBd0IsRUFDM0IsTUFBTSwwQkFBMEIsQ0FBQztBQUNsQyxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUMzRSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxxREFBcUQsQ0FBQztBQUNqRyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNyRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUMxRSxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSx1REFBdUQsQ0FBQzs7QUFFcEcsTUFBTSxVQUFVLEdBQUc7SUFDZixtQkFBbUI7SUFDbkIsbUJBQW1CO0lBQ25CLG1CQUFtQjtJQUNuQix1QkFBdUI7SUFDdkIsd0JBQXdCO0lBQ3hCLHlCQUF5QjtJQUN6QiwwQkFBMEI7SUFDMUIsMkJBQTJCO0lBQzNCLDZCQUE2QjtJQUM3QiwwQkFBMEI7Q0FDN0IsQ0FBQztBQUVGOzs7R0FHRztBQU1ILE1BQU0sT0FBTyxnQkFBZ0I7OEdBQWhCLGdCQUFnQjsrR0FBaEIsZ0JBQWdCLFlBckJ6QixtQkFBbUI7WUFDbkIsbUJBQW1CO1lBQ25CLG1CQUFtQjtZQUNuQix1QkFBdUI7WUFDdkIsd0JBQXdCO1lBQ3hCLHlCQUF5QjtZQUN6QiwwQkFBMEI7WUFDMUIsMkJBQTJCO1lBQzNCLDZCQUE2QjtZQUM3QiwwQkFBMEIsYUFUMUIsbUJBQW1CO1lBQ25CLG1CQUFtQjtZQUNuQixtQkFBbUI7WUFDbkIsdUJBQXVCO1lBQ3ZCLHdCQUF3QjtZQUN4Qix5QkFBeUI7WUFDekIsMEJBQTBCO1lBQzFCLDJCQUEyQjtZQUMzQiw2QkFBNkI7WUFDN0IsMEJBQTBCOytHQVlqQixnQkFBZ0IsYUFGZCxDQUFDLG1CQUFtQixFQUFFLHlCQUF5QixFQUFFLHNCQUFzQixDQUFDLFlBYm5GLDBCQUEwQjtZQUMxQiwyQkFBMkI7WUFDM0IsNkJBQTZCOzsyRkFhcEIsZ0JBQWdCO2tCQUw1QixRQUFRO21CQUFDO29CQUNOLE9BQU8sRUFBRSxDQUFDLEdBQUcsVUFBVSxDQUFDO29CQUN4QixPQUFPLEVBQUUsQ0FBQyxHQUFHLFVBQVUsQ0FBQztvQkFDeEIsU0FBUyxFQUFFLENBQUMsbUJBQW1CLEVBQUUseUJBQXlCLEVBQUUsc0JBQXNCLENBQUM7aUJBQ3RGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1lbnVLZXlib2FyZFNlcnZpY2UgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUvbWVudSc7XG5pbXBvcnQgeyBOZXN0ZWRMaXN0Q29udGVudERpcmVjdGl2ZSB9IGZyb20gJy4vbmVzdGVkLWNvbnRlbnQvbmVzdGVkLWxpc3QtY29udGVudC5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgTmVzdGVkSXRlbURpcmVjdGl2ZSB9IGZyb20gJy4vbmVzdGVkLWl0ZW0vbmVzdGVkLWl0ZW0uZGlyZWN0aXZlJztcbmltcG9ydCB7IE5lc3RlZExpbmtEaXJlY3RpdmUgfSBmcm9tICcuL25lc3RlZC1saW5rL25lc3RlZC1saW5rLmRpcmVjdGl2ZSc7XG5pbXBvcnQge1xuICAgIE5lc3RlZExpc3RFeHBhbmRJY29uQ29tcG9uZW50LFxuICAgIE5lc3RlZExpc3RIZWFkZXJEaXJlY3RpdmUsXG4gICAgTmVzdGVkTGlzdEljb25Db21wb25lbnQsXG4gICAgTmVzdGVkTGlzdFRpdGxlRGlyZWN0aXZlXG59IGZyb20gJy4vbmVzdGVkLWxpc3QtZGlyZWN0aXZlcyc7XG5pbXBvcnQgeyBOZXN0ZWRMaXN0S2V5Ym9hcmRTZXJ2aWNlIH0gZnJvbSAnLi9uZXN0ZWQtbGlzdC1rZXlib2FyZC5zZXJ2aWNlJztcbmltcG9ydCB7IE5lc3RlZExpc3RQb3BvdmVyQ29tcG9uZW50IH0gZnJvbSAnLi9uZXN0ZWQtbGlzdC1wb3BvdmVyL25lc3RlZC1saXN0LXBvcG92ZXIuY29tcG9uZW50JztcbmltcG9ydCB7IE5lc3RlZExpc3RTdGF0ZVNlcnZpY2UgfSBmcm9tICcuL25lc3RlZC1saXN0LXN0YXRlLnNlcnZpY2UnO1xuaW1wb3J0IHsgTmVzdGVkTGlzdERpcmVjdGl2ZSB9IGZyb20gJy4vbmVzdGVkLWxpc3QvbmVzdGVkLWxpc3QuZGlyZWN0aXZlJztcbmltcG9ydCB7IFByZXBhcmVkTmVzdGVkTGlzdENvbXBvbmVudCB9IGZyb20gJy4vcHJlcGFyZWQtbmVzdGVkLWxpc3QvcHJlcGFyZWQtbmVzdGVkLWxpc3QuY29tcG9uZW50JztcblxuY29uc3QgY29tcG9uZW50cyA9IFtcbiAgICBOZXN0ZWRMaXN0RGlyZWN0aXZlLFxuICAgIE5lc3RlZExpbmtEaXJlY3RpdmUsXG4gICAgTmVzdGVkSXRlbURpcmVjdGl2ZSxcbiAgICBOZXN0ZWRMaXN0SWNvbkNvbXBvbmVudCxcbiAgICBOZXN0ZWRMaXN0VGl0bGVEaXJlY3RpdmUsXG4gICAgTmVzdGVkTGlzdEhlYWRlckRpcmVjdGl2ZSxcbiAgICBOZXN0ZWRMaXN0UG9wb3ZlckNvbXBvbmVudCxcbiAgICBQcmVwYXJlZE5lc3RlZExpc3RDb21wb25lbnQsXG4gICAgTmVzdGVkTGlzdEV4cGFuZEljb25Db21wb25lbnQsXG4gICAgTmVzdGVkTGlzdENvbnRlbnREaXJlY3RpdmVcbl07XG5cbi8qKlxuICogQGRlcHJlY2F0ZWRcbiAqIFVzZSBkaXJlY3QgaW1wb3J0cyBvZiBjb21wb25lbnRzIGFuZCBkaXJlY3RpdmVzLlxuICovXG5ATmdNb2R1bGUoe1xuICAgIGltcG9ydHM6IFsuLi5jb21wb25lbnRzXSxcbiAgICBleHBvcnRzOiBbLi4uY29tcG9uZW50c10sXG4gICAgcHJvdmlkZXJzOiBbTWVudUtleWJvYXJkU2VydmljZSwgTmVzdGVkTGlzdEtleWJvYXJkU2VydmljZSwgTmVzdGVkTGlzdFN0YXRlU2VydmljZV1cbn0pXG5leHBvcnQgY2xhc3MgTmVzdGVkTGlzdE1vZHVsZSB7fVxuIl19","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnVuZGFtZW50YWwtbmd4LWNvcmUtbmVzdGVkLWxpc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvbmVzdGVkLWxpc3QvZnVuZGFtZW50YWwtbmd4LWNvcmUtbmVzdGVkLWxpc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLFNBQVMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9pbmRleCc7XG4iXX0="],"names":["i1.NestedItemService","i2.NestedListKeyboardService","i3.NestedListStateService","i1.NestedListKeyboardService","i2.NestedItemService","i3"],"mappings":"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"}
|