@fundamental-ngx/core 0.49.1 → 0.49.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/avatar-group-legacy/avatar-group-legacy.component.d.ts +6 -6
- package/avatar-group-legacy/directives/avatar-group-legacy-overflow-body.directive.d.ts +2 -2
- package/avatar-group-legacy/directives/avatar-group-legacy-overflow-button.directive.d.ts +2 -2
- package/bar/bar.component.d.ts +6 -6
- package/bar/button-bar/button-bar.component.d.ts +4 -4
- package/calendar/calendar-header/calendar-header.component.d.ts +2 -2
- package/card/card-content.component.d.ts +2 -2
- package/card/card-counter.directive.d.ts +2 -2
- package/card/card-header.component.d.ts +6 -6
- package/card/card-loader.component.d.ts +2 -2
- package/card/card-second-subtitle.directive.d.ts +2 -2
- package/card/card-subtitle.directive.d.ts +2 -2
- package/card/card-title.directive.d.ts +2 -2
- package/card/card.component.d.ts +3 -3
- package/card/kpi/card-kpi-analytics-content.directive.d.ts +2 -2
- package/card/kpi/card-kpi-analytics-label.directive.d.ts +2 -2
- package/card/kpi/card-kpi-analytics.directive.d.ts +2 -2
- package/card/kpi/card-kpi-header.component.d.ts +2 -2
- package/card/kpi/card-kpi-scale-icon.directive.d.ts +2 -2
- package/card/kpi/card-kpi-scale-text.directive.d.ts +2 -2
- package/card/kpi/card-kpi-value.directive.d.ts +4 -4
- package/checkbox/checkbox/checkbox.component.d.ts +3 -5
- package/content-density/providers/url-content-density-storage.d.ts +4 -4
- package/content-density/services/content-density-observer.service.d.ts +15 -15
- package/datetime/datetime-adapter.d.ts +9 -2
- package/datetime/fd-date.d.ts +10 -14
- package/datetime/fd-datetime-adapter.d.ts +2 -2
- package/dialog/base/dialog-base.class.d.ts +2 -2
- package/dialog/base/dialog-header-base.class.d.ts +4 -4
- package/dialog/base/dialog-ref-base.class.d.ts +6 -4
- package/dynamic-side-content/dynamic-side-content.component.d.ts +4 -4
- package/esm2022/avatar-group-legacy/avatar-group-legacy.component.mjs +15 -15
- package/esm2022/avatar-group-legacy/directives/avatar-group-legacy-overflow-body.directive.mjs +12 -12
- package/esm2022/avatar-group-legacy/directives/avatar-group-legacy-overflow-button.directive.mjs +9 -9
- package/esm2022/bar/bar.component.mjs +13 -13
- package/esm2022/bar/button-bar/button-bar.component.mjs +3 -3
- package/esm2022/calendar/calendar-header/calendar-header.component.mjs +1 -1
- package/esm2022/card/card-content.component.mjs +5 -5
- package/esm2022/card/card-counter.directive.mjs +6 -6
- package/esm2022/card/card-header.component.mjs +5 -5
- package/esm2022/card/card-loader.component.mjs +5 -5
- package/esm2022/card/card-second-subtitle.directive.mjs +5 -5
- package/esm2022/card/card-subtitle.directive.mjs +5 -5
- package/esm2022/card/card-title.directive.mjs +5 -5
- package/esm2022/card/card.component.mjs +5 -5
- package/esm2022/card/kpi/card-kpi-analytics-content.directive.mjs +5 -5
- package/esm2022/card/kpi/card-kpi-analytics-label.directive.mjs +5 -5
- package/esm2022/card/kpi/card-kpi-analytics.directive.mjs +5 -5
- package/esm2022/card/kpi/card-kpi-header.component.mjs +5 -5
- package/esm2022/card/kpi/card-kpi-scale-icon.directive.mjs +5 -5
- package/esm2022/card/kpi/card-kpi-scale-text.directive.mjs +5 -5
- package/esm2022/card/kpi/card-kpi-value.directive.mjs +5 -5
- package/esm2022/checkbox/checkbox/checkbox.component.mjs +1 -1
- package/esm2022/combobox/combobox.component.mjs +2 -2
- package/esm2022/content-density/providers/url-content-density-storage.mjs +11 -11
- package/esm2022/content-density/services/content-density-observer.service.mjs +7 -16
- package/esm2022/datetime/datetime-adapter.mjs +4 -2
- package/esm2022/datetime/fd-date.mjs +34 -27
- package/esm2022/datetime/fd-datetime-adapter.mjs +1 -1
- package/esm2022/dialog/base/dialog-base.class.mjs +1 -1
- package/esm2022/dialog/base/dialog-header-base.class.mjs +1 -1
- package/esm2022/dialog/base/dialog-ref-base.class.mjs +4 -8
- package/esm2022/dynamic-side-content/dynamic-side-content.component.mjs +9 -9
- package/esm2022/feed-input/directives/feed-input-avatar.directive.mjs +5 -5
- package/esm2022/feed-list-item/components/list/feed-list.component.mjs +15 -15
- package/esm2022/file-uploader/directives/file-uploader-select.directive.mjs +1 -1
- package/esm2022/file-uploader/file-uploader.component.mjs +5 -5
- package/esm2022/fixed-card-layout/fixed-card-layout-item/fixed-card-layout-item.component.mjs +3 -3
- package/esm2022/form/form-group/form-group.component.mjs +8 -8
- package/esm2022/form/form-message/form-message.component.mjs +9 -9
- package/esm2022/grid-list/components/grid-list/grid-list.component.mjs +2 -3
- package/esm2022/grid-list/components/grid-list-item/grid-list-item.component.mjs +3 -3
- package/esm2022/illustrated-message/illustrated-message.component.mjs +10 -10
- package/esm2022/input-group/input-group-directives.mjs +22 -22
- package/esm2022/layout-grid/directives/layout-grid-col.directive.mjs +9 -9
- package/esm2022/layout-grid/layout-grid.component.mjs +9 -9
- package/esm2022/layout-panel/layout-panel-footer/layout-panel-footer.component.mjs +9 -9
- package/esm2022/list/list-item/list-item.component.mjs +20 -17
- package/esm2022/list/list-message.directive.mjs +9 -9
- package/esm2022/menu/directives/segmented-button/segmented-button-header.directive.mjs +1 -2
- package/esm2022/menu/directives/toggle-button.directive.mjs +1 -2
- package/esm2022/message-box/message-box.component.mjs +17 -17
- package/esm2022/message-page/message-page.component.mjs +5 -5
- package/esm2022/message-strip/alert/message-strip-alert/message-strip-alert.component.mjs +5 -5
- package/esm2022/message-strip/alert/message-strip-alert-container/message-strip-alert-container.component.mjs +1 -1
- package/esm2022/message-strip/alert/message-strip-alert.service.mjs +2 -3
- package/esm2022/message-strip/message-strip.component.mjs +16 -16
- package/esm2022/micro-process-flow/components/micro-process-flow/micro-process-flow.component.mjs +43 -45
- package/esm2022/micro-process-flow/components/micro-process-flow-item/micro-process-flow-item.component.mjs +1 -1
- package/esm2022/micro-process-flow/micro-process-flow-focusable-item.directive.mjs +13 -13
- package/esm2022/multi-combobox/multi-combobox.component.mjs +2 -5
- package/esm2022/multi-input/multi-input-mobile/multi-input-mobile.component.mjs +1 -1
- package/esm2022/multi-input/multi-input.component.mjs +2 -2
- package/esm2022/nested-list/nested-content/nested-list-content.directive.mjs +6 -6
- package/esm2022/nested-list/nested-item/nested-item.directive.mjs +3 -3
- package/esm2022/nested-list/nested-list/nested-list.directive.mjs +3 -3
- package/esm2022/notification/directives/notification-indicator.directive.mjs +9 -9
- package/esm2022/notification/notification/notification.component.mjs +9 -9
- package/esm2022/notification/notification-group/notification-group.component.mjs +5 -5
- package/esm2022/notification/notification-service/notification.service.mjs +5 -2
- package/esm2022/notification/notification-utils/notification-ref.mjs +2 -5
- package/esm2022/object-number/object-number.component.mjs +9 -9
- package/esm2022/object-status/object-status.component.mjs +13 -12
- package/esm2022/overflow-layout/directives/overflow-expand.directive.mjs +5 -5
- package/esm2022/overflow-layout/directives/overflow-item-ref.directive.mjs +1 -1
- package/esm2022/overflow-layout/directives/overflow-layout-focusable-item.directive.mjs +5 -5
- package/esm2022/overflow-layout/directives/overflow-layout-item-container.directive.mjs +8 -8
- package/esm2022/overflow-layout/interfaces/overflow-focusable-item.interface.mjs +1 -1
- package/esm2022/overflow-layout/overflow-layout.component.mjs +18 -18
- package/esm2022/radio/radio-button/radio-button.component.mjs +8 -9
- package/esm2022/rating-indicator/components/rating-indicator.component.mjs +28 -28
- package/esm2022/resizable-card-layout/resizable-card-layout/resizable-card-item/resizable-card-item.component.mjs +23 -23
- package/esm2022/resizable-card-layout/resizable-card-layout/resizable-card-layout.component.mjs +7 -8
- package/esm2022/select/select.component.mjs +18 -18
- package/esm2022/shared/interfaces/search-component.interface.mjs +1 -1
- package/esm2022/shellbar/shellbar.component.mjs +7 -7
- package/esm2022/side-navigation/side-navigation.component.mjs +7 -7
- package/esm2022/skeleton/components/skeleton.component.mjs +3 -3
- package/esm2022/status-indicator/status-indicator.component.mjs +15 -15
- package/esm2022/table/directives/table-responsive-wrapper.directive.mjs +3 -3
- package/esm2022/tabs/tab-item/tab-item.directive.mjs +9 -9
- package/esm2022/tabs/tab-link/tab-link.directive.mjs +8 -8
- package/esm2022/tabs/tab-nav/tab-nav.component.mjs +15 -15
- package/esm2022/tabs/tab-panel/tab-panel.component.mjs +3 -3
- package/esm2022/tabs/tab-utils/tab-directives.mjs +8 -8
- package/esm2022/tile/directives/tile.directives.mjs +25 -25
- package/esm2022/tile/tile.component.mjs +9 -11
- package/esm2022/time/time-column/time-column.component.mjs +23 -23
- package/esm2022/timeline/services/position-strategies/base-strategy.mjs +1 -1
- package/esm2022/timeline/timeline.component.mjs +5 -5
- package/esm2022/title/title.component.mjs +4 -4
- package/esm2022/token/tokenizer.component.mjs +71 -71
- package/esm2022/toolbar/toolbar.component.mjs +3 -3
- package/esm2022/tree/components/tree-item/tree-item.component.mjs +4 -6
- package/esm2022/tree/tree.component.mjs +1 -4
- package/esm2022/upload-collection/upload-collection-item.directive.mjs +3 -3
- package/esm2022/vertical-navigation/vertical-navigation.component.mjs +6 -6
- package/esm2022/wizard/wizard-step/wizard-step.component.mjs +3 -3
- package/feed-input/directives/feed-input-avatar.directive.d.ts +2 -2
- package/feed-list-item/components/list/feed-list.component.d.ts +6 -6
- package/fesm2022/fundamental-ngx-core-avatar-group-legacy.mjs +33 -33
- package/fesm2022/fundamental-ngx-core-avatar-group-legacy.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-bar.mjs +14 -14
- package/fesm2022/fundamental-ngx-core-bar.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-calendar.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-card.mjs +61 -61
- package/fesm2022/fundamental-ngx-core-card.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-checkbox.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-combobox.mjs +1 -1
- package/fesm2022/fundamental-ngx-core-combobox.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-content-density.mjs +17 -26
- package/fesm2022/fundamental-ngx-core-content-density.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-datetime.mjs +36 -27
- package/fesm2022/fundamental-ngx-core-datetime.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-dialog.mjs +3 -7
- package/fesm2022/fundamental-ngx-core-dialog.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-dynamic-side-content.mjs +8 -8
- package/fesm2022/fundamental-ngx-core-dynamic-side-content.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-feed-input.mjs +4 -4
- package/fesm2022/fundamental-ngx-core-feed-input.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-feed-list-item.mjs +14 -14
- package/fesm2022/fundamental-ngx-core-feed-list-item.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-file-uploader.mjs +4 -4
- package/fesm2022/fundamental-ngx-core-file-uploader.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-fixed-card-layout.mjs +2 -2
- package/fesm2022/fundamental-ngx-core-fixed-card-layout.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-form.mjs +15 -15
- package/fesm2022/fundamental-ngx-core-form.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-grid-list.mjs +3 -4
- package/fesm2022/fundamental-ngx-core-grid-list.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-illustrated-message.mjs +9 -9
- package/fesm2022/fundamental-ngx-core-illustrated-message.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-input-group.mjs +21 -21
- package/fesm2022/fundamental-ngx-core-input-group.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-layout-grid.mjs +16 -16
- package/fesm2022/fundamental-ngx-core-layout-grid.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-layout-panel.mjs +8 -8
- package/fesm2022/fundamental-ngx-core-layout-panel.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-list.mjs +27 -24
- package/fesm2022/fundamental-ngx-core-list.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-menu.mjs +0 -2
- package/fesm2022/fundamental-ngx-core-menu.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-message-box.mjs +16 -16
- package/fesm2022/fundamental-ngx-core-message-box.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-message-page.mjs +4 -4
- package/fesm2022/fundamental-ngx-core-message-page.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-message-strip.mjs +20 -21
- package/fesm2022/fundamental-ngx-core-message-strip.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-micro-process-flow.mjs +55 -57
- package/fesm2022/fundamental-ngx-core-micro-process-flow.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-multi-combobox.mjs +1 -4
- package/fesm2022/fundamental-ngx-core-multi-combobox.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-multi-input.mjs +1 -1
- package/fesm2022/fundamental-ngx-core-multi-input.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-nested-list.mjs +9 -9
- package/fesm2022/fundamental-ngx-core-nested-list.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-notification.mjs +25 -25
- package/fesm2022/fundamental-ngx-core-notification.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-object-number.mjs +8 -8
- package/fesm2022/fundamental-ngx-core-object-number.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-object-status.mjs +12 -11
- package/fesm2022/fundamental-ngx-core-object-status.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-overflow-layout.mjs +32 -32
- package/fesm2022/fundamental-ngx-core-overflow-layout.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-radio.mjs +7 -8
- package/fesm2022/fundamental-ngx-core-radio.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-rating-indicator.mjs +27 -27
- package/fesm2022/fundamental-ngx-core-rating-indicator.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-resizable-card-layout.mjs +28 -29
- package/fesm2022/fundamental-ngx-core-resizable-card-layout.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-select.mjs +17 -17
- package/fesm2022/fundamental-ngx-core-select.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-shellbar.mjs +6 -6
- package/fesm2022/fundamental-ngx-core-shellbar.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-side-navigation.mjs +6 -6
- package/fesm2022/fundamental-ngx-core-side-navigation.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-skeleton.mjs +2 -2
- package/fesm2022/fundamental-ngx-core-skeleton.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-status-indicator.mjs +14 -14
- package/fesm2022/fundamental-ngx-core-status-indicator.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-table.mjs +2 -2
- package/fesm2022/fundamental-ngx-core-table.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-tabs.mjs +38 -38
- package/fesm2022/fundamental-ngx-core-tabs.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-tile.mjs +32 -34
- package/fesm2022/fundamental-ngx-core-tile.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-time.mjs +23 -23
- package/fesm2022/fundamental-ngx-core-time.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-timeline.mjs +4 -4
- package/fesm2022/fundamental-ngx-core-timeline.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-title.mjs +3 -3
- package/fesm2022/fundamental-ngx-core-title.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-token.mjs +70 -70
- package/fesm2022/fundamental-ngx-core-token.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-toolbar.mjs +2 -2
- package/fesm2022/fundamental-ngx-core-toolbar.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-tree.mjs +3 -8
- package/fesm2022/fundamental-ngx-core-tree.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-upload-collection.mjs +2 -2
- package/fesm2022/fundamental-ngx-core-upload-collection.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-vertical-navigation.mjs +5 -5
- package/fesm2022/fundamental-ngx-core-vertical-navigation.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-wizard.mjs +2 -2
- package/fesm2022/fundamental-ngx-core-wizard.mjs.map +1 -1
- package/file-uploader/directives/file-uploader-select.directive.d.ts +1 -1
- package/file-uploader/file-uploader.component.d.ts +4 -4
- package/form/form-group/form-group.component.d.ts +4 -4
- package/form/form-message/form-message.component.d.ts +2 -2
- package/grid-list/components/grid-list/grid-list.component.d.ts +3 -2
- package/grid-list/components/grid-list-item/grid-list-item.component.d.ts +8 -8
- package/illustrated-message/illustrated-message.component.d.ts +7 -7
- package/input-group/input-group-directives.d.ts +12 -12
- package/layout-grid/directives/layout-grid-col.directive.d.ts +2 -2
- package/layout-grid/layout-grid.component.d.ts +2 -2
- package/layout-panel/layout-panel-footer/layout-panel-footer.component.d.ts +2 -2
- package/list/list-item/list-item.component.d.ts +13 -13
- package/list/list-message.directive.d.ts +4 -4
- package/message-box/message-box.component.d.ts +5 -5
- package/message-page/message-page.component.d.ts +2 -2
- package/message-strip/alert/message-strip-alert/message-strip-alert.component.d.ts +4 -4
- package/message-strip/alert/message-strip-alert-container/message-strip-alert-container.component.d.ts +4 -4
- package/message-strip/alert/message-strip-alert.service.d.ts +3 -2
- package/message-strip/message-strip.component.d.ts +6 -6
- package/micro-process-flow/components/micro-process-flow/micro-process-flow.component.d.ts +15 -17
- package/micro-process-flow/components/micro-process-flow-item/micro-process-flow-item.component.d.ts +2 -2
- package/micro-process-flow/micro-process-flow-focusable-item.directive.d.ts +6 -6
- package/multi-input/multi-input-mobile/multi-input-mobile.component.d.ts +2 -2
- package/nested-list/nested-content/nested-list-content.directive.d.ts +2 -2
- package/nested-list/nested-item/nested-item.directive.d.ts +2 -2
- package/nested-list/nested-list/nested-list.directive.d.ts +2 -2
- package/notification/directives/notification-indicator.directive.d.ts +4 -4
- package/notification/notification/notification.component.d.ts +2 -2
- package/notification/notification-group/notification-group.component.d.ts +2 -2
- package/notification/notification-utils/notification-ref.d.ts +5 -3
- package/object-number/object-number.component.d.ts +4 -4
- package/object-status/object-status.component.d.ts +5 -4
- package/overflow-layout/directives/overflow-expand.directive.d.ts +2 -2
- package/overflow-layout/directives/overflow-item-ref.directive.d.ts +2 -2
- package/overflow-layout/directives/overflow-layout-focusable-item.directive.d.ts +2 -2
- package/overflow-layout/directives/overflow-layout-item-container.directive.d.ts +2 -2
- package/overflow-layout/interfaces/overflow-focusable-item.interface.d.ts +1 -1
- package/overflow-layout/overflow-layout.component.d.ts +4 -4
- package/package.json +3 -3
- package/radio/radio-button/radio-button.component.d.ts +7 -7
- package/rating-indicator/components/rating-indicator.component.d.ts +12 -12
- package/resizable-card-layout/resizable-card-layout/resizable-card-item/resizable-card-item.component.d.ts +8 -8
- package/resizable-card-layout/resizable-card-layout/resizable-card-layout.component.d.ts +2 -2
- package/select/select.component.d.ts +19 -19
- package/shared/interfaces/search-component.interface.d.ts +1 -1
- package/shellbar/shellbar.component.d.ts +12 -12
- package/side-navigation/side-navigation.component.d.ts +2 -2
- package/skeleton/components/skeleton.component.d.ts +2 -2
- package/status-indicator/status-indicator.component.d.ts +7 -7
- package/tabs/tab-item/tab-item.directive.d.ts +2 -2
- package/tabs/tab-link/tab-link.directive.d.ts +2 -2
- package/tabs/tab-nav/tab-nav.component.d.ts +8 -8
- package/tabs/tab-panel/tab-panel.component.d.ts +2 -2
- package/tabs/tab-utils/tab-directives.d.ts +5 -5
- package/tile/directives/tile.directives.d.ts +12 -12
- package/tile/tile.component.d.ts +4 -6
- package/time/time-column/time-column.component.d.ts +6 -6
- package/timeline/services/position-strategies/base-strategy.d.ts +2 -2
- package/timeline/timeline.component.d.ts +2 -2
- package/title/title.component.d.ts +2 -2
- package/token/tokenizer.component.d.ts +16 -16
- package/toolbar/toolbar.component.d.ts +2 -2
- package/tree/components/tree-item/tree-item.component.d.ts +10 -9
- package/upload-collection/upload-collection-item.directive.d.ts +2 -2
- package/vertical-navigation/vertical-navigation.component.d.ts +2 -2
- package/wizard/wizard-step/wizard-step.component.d.ts +4 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fundamental-ngx-core-dialog.mjs","sources":["../../../../libs/core/dialog/tokens.ts","../../../../libs/core/dialog/base/dialog-config-base.class.ts","../../../../libs/core/dialog/utils/dialog-config.class.ts","../../../../libs/core/dialog/base/dialog-ref-base.class.ts","../../../../libs/core/dialog/utils/dialog-ref.class.ts","../../../../libs/core/dialog/dialog-body/dialog-body.component.ts","../../../../libs/core/dialog/dialog-body/dialog-body.component.html","../../../../libs/core/dialog/dialog-close-button/dialog-close-button.component.ts","../../../../libs/core/dialog/base/dialog-footer-base.class.ts","../../../../libs/core/dialog/dialog-footer/dialog-footer.component.ts","../../../../libs/core/dialog/dialog-footer/dialog-footer.component.html","../../../../libs/core/dialog/base/dialog-header-base.class.ts","../../../../libs/core/dialog/dialog-header/dialog-header.component.ts","../../../../libs/core/dialog/dialog-header/dialog-header.component.html","../../../../libs/core/dialog/base/dialog-base.service.ts","../../../../libs/core/dialog/dialog-full-screen-toggler-button/dialog-full-screen-toggler-button.component.ts","../../../../libs/core/dialog/utils/dialog-width-to-size.ts","../../../../libs/core/dialog/base/dialog-base.class.ts","../../../../libs/core/dialog/directives/dialog-title.directive.ts","../../../../libs/core/dialog/dialog.component.ts","../../../../libs/core/dialog/dialog.component.html","../../../../libs/core/dialog/dialog-default/dialog-default.component.ts","../../../../libs/core/dialog/dialog-default/dialog-default.component.html","../../../../libs/core/dialog/utils/dialog.animations.ts","../../../../libs/core/dialog/dialog-container/dialog-container.component.ts","../../../../libs/core/dialog/dialog-service/dialog.service.ts","../../../../libs/core/dialog/directives/dialog-template.directive.ts","../../../../libs/core/dialog/provide-dialog-service.ts","../../../../libs/core/dialog/dialog.module.ts","../../../../libs/core/dialog/base/dialog-content-base.class.ts","../../../../libs/core/dialog/utils/dialog-default-content.class.ts","../../../../libs/core/dialog/utils/dialog-position.class.ts","../../../../libs/core/dialog/utils/dialog-overlay.container.ts","../../../../libs/core/dialog/fundamental-ngx-core-dialog.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\n\nexport const FD_DIALOG_BODY_COMPONENT = new InjectionToken('FdDialogBodyComponent');\n\nexport const FD_DIALOG_FOCUS_TRAP_ERROR = new InjectionToken<boolean>('FdDialogFocusTrapError');\n","/* eslint-disable @typescript-eslint/no-inferrable-types */\n\nimport { DynamicComponentConfig, Nullable } from '@fundamental-ngx/cdk/utils';\n\nimport { DialogPosition } from '../utils/dialog-position.class';\n\nexport class DialogConfigBase<T> implements DynamicComponentConfig {\n /** Id for the dialog component. If omitted, a unique one is generated. */\n id?: string;\n\n /** Width of the dialog. */\n width?: string | number;\n\n /** Height of the dialog. */\n height?: string | number;\n\n /** Minimum width of the dialog. */\n minWidth?: string | number;\n\n /** Minimum height of the dialog. */\n minHeight?: string | number;\n\n /** Maximum width of the dialog. */\n maxWidth?: string | number;\n\n /** Maximum height of the dialog. */\n maxHeight?: string | number;\n\n /** Position of the dialog. */\n position?: DialogPosition;\n\n /** Aria Modal for the dialog component element */\n ariaModal?: boolean = false;\n\n /** Aria label for the dialog component element. */\n ariaLabel?: Nullable<string>;\n\n /** Id of the element that labels the dialog. */\n ariaLabelledBy?: Nullable<string>;\n\n /** Id of the element that describes the dialog. */\n ariaDescribedBy?: Nullable<string>;\n\n /** Whether the dialog should have a backdrop. */\n hasBackdrop?: boolean = true;\n\n /** Whether clicking on the backdrop should close the dialog. Only works if hasBackdrop is true. */\n backdropClickCloseable?: boolean = false;\n\n /** Global classes to apply to the backdrop. */\n backdropClass?: string;\n\n /** Classes to apply to the `fd-dialog-container` */\n containerClass?: string;\n\n /** Global classes to apply to the dialog panel. */\n dialogPanelClass?: string;\n\n /** Whether the escape key should close the dialog. */\n escKeyCloseable?: boolean = true;\n\n /** Whether the dialog should be focus trapped. */\n focusTrapped?: boolean = true;\n\n /** The container that the dialog is appended to. By default, it is appended to the body. */\n container?: HTMLElement | 'body' = 'body';\n\n /** Data to pass along to the content through the DialogRef. */\n data?: T;\n\n /** Whether the dialog should be displayed in mobile mode. */\n mobile?: boolean;\n\n /** Whether the dialog in mobile mode should have outer space. */\n mobileOuterSpacing?: boolean;\n\n /** Whether the dialog should have vertical padding. */\n verticalPadding?: boolean = true;\n\n /** Whether the dialog should have horizontal padding. */\n horizontalPadding?: boolean = true;\n\n /** Whether to completely disable dialog body paddings. */\n disablePaddings?: boolean = false;\n\n /** Workaround for IE11, as `flex-grow: 1` on dialog body won't work when 'min-height' for dialog set\n * There is another way to get dialog of wanted height by setting `min-height` for dialog body.\n */\n bodyMinHeight?: string;\n\n /** Whether the dialog should have responsive horizontal padding changing with Dialogs window width.\n * max-width: 599px - .fd-dialog__content--s\n * min-width: 600px and max-width: 1023px - .fd-dialog__content--m\n * min-width: 1024px and max-width: 1439px - .fd-dialog__content--l\n * min-width: 1440px - .fd-dialog__content--xl\n * */\n responsivePadding?: boolean = false;\n\n /** Whether to close the dialog on router navigation start. */\n closeOnNavigation?: boolean = true;\n}\n","/* eslint-disable @typescript-eslint/no-inferrable-types */\n/**\n * Configuration for opening a dialog with the DialogService.\n */\nimport { Injectable, InjectionToken } from '@angular/core';\nimport { DialogConfigBase } from '../base/dialog-config-base.class';\n\nexport const DIALOG_DEFAULT_CONFIG = new InjectionToken<DialogConfig>('Default DialogConfig');\n\nexport type ExtendedDialogConfig<TAdditionalProperties extends Record<string, any> = Record<string, any>> =\n DialogConfig & TAdditionalProperties;\n\n@Injectable()\nexport class DialogConfig<T = any> extends DialogConfigBase<T> {\n /** Whether the dialog should be draggable. */\n draggable?: boolean;\n\n /** Whether the dialog should be resizable. */\n resizable?: boolean;\n}\n","import { Observable, Subject } from 'rxjs';\n\nexport enum FD_DIALOG_DISMISS_REASON {\n ESCAPE = 'escape',\n BACKDROP = 'backdrop',\n NAVIGATION_CHANGE = 'navigation change'\n}\n\nexport class DialogRefBase<T, P = any> {\n /** @hidden */\n protected readonly _afterClosed = new Subject<P | undefined>();\n\n /** @hidden */\n protected readonly _afterLoaded = new Subject<boolean>();\n\n /** @hidden */\n public _endClose$ = new Subject<void>();\n\n /**\n * Observable that is triggered when the dialog is closed.\n * On close a *result* is passed back. On dismiss, an *error* is returned instead.\n */\n public afterClosed: Observable<P | undefined> = this._afterClosed.asObservable();\n\n /** Observable that is triggered when the modal view is initialised. */\n public afterLoaded: Observable<boolean> = this._afterLoaded.asObservable();\n\n /** Data passed from the calling component to the content.*/\n public data: T;\n\n /**\n * Closes the dialog and passes the argument to the afterClosed observable.\n * @param result Value passed back to the observable as a result.\n */\n close(result?: P): void {\n this._afterClosed.next(result);\n this._afterClosed.complete();\n }\n\n /**\n * Dismisses the dialog and passes the argument to the afterClosed observable as an error.\n * @param reason Value passed back to the observable as an error.\n */\n dismiss(reason?: FD_DIALOG_DISMISS_REASON | any): void {\n this._afterClosed.error(reason);\n }\n\n /** Function that is called after the view of modal is initialised. */\n loaded(): void {\n this._afterLoaded.next(true);\n }\n}\n","/* eslint-disable @typescript-eslint/member-ordering */\nimport { Injectable, TemplateRef, Type } from '@angular/core';\nimport { BehaviorSubject, Observable } from 'rxjs';\nimport { DialogRefBase } from '../base/dialog-ref-base.class';\n\nexport interface DialogRefLoadingConfiguration {\n isLoading: boolean;\n loadingLabel?: string;\n loadingContent?: string | TemplateRef<any> | Type<any>;\n}\n\n/**\n * Reference to a dialog component\n * It can be injected into the content component through the constructor.\n * For a template, it is declared as part of the implicit context, see examples.\n */\n@Injectable()\nexport class DialogRef<T = any, P = any> extends DialogRefBase<T, P> implements DialogRefLoadingConfiguration {\n /** @hidden */\n private readonly _onHide = new BehaviorSubject<boolean>(false);\n\n /** @hidden */\n private readonly _onLoading = new BehaviorSubject<boolean>(false);\n\n /** @hidden */\n private readonly _fullScreen = new BehaviorSubject<boolean>(false);\n\n /** Observable that is triggered whenever the dialog should be visually hidden or visible.*/\n onHide: Observable<boolean> = this._onHide.asObservable();\n\n /** Observable that is triggered whenever the dialog should be displayed in loading state.*/\n onLoading: Observable<boolean> = this._onLoading.asObservable();\n\n /** Observable that is triggered whenever the full-screen state being changed. */\n fullScreen = this._fullScreen.asObservable();\n\n /** Value used to determine if dialog window should be hidden or visible. */\n isLoading: boolean;\n\n /** Text, that is rendered in loading state */\n loadingLabel?: string;\n\n /** Content, that is rendered in loading state before busy indicator */\n loadingContent?: DialogRefLoadingConfiguration['loadingContent'];\n\n /**\n * Visually hides the dialog.\n * @param isHidden Value used to determine if dialog window should be hidden or visible.\n */\n hide(isHidden: boolean): void {\n this._onHide.next(isHidden);\n }\n\n /**\n * Displays the dialog in loading state.\n * @param loadingData Value used to determine if dialog window should be displayed in loading state.\n */\n loading(loadingData: boolean | DialogRefLoadingConfiguration): void {\n if (typeof loadingData === 'boolean') {\n return this.loading({ isLoading: loadingData });\n }\n this.loadingLabel = loadingData.loadingLabel;\n this.loadingContent = loadingData.loadingContent;\n this.isLoading = loadingData.isLoading;\n this._onLoading.next(loadingData.isLoading);\n }\n\n /**\n * Toggles full-screen mode of the Dialog.\n */\n toggleFullScreen(): void {\n this._fullScreen.next(!this._fullScreen.value);\n }\n}\n","import { ChangeDetectionStrategy, Component, ElementRef, Optional, ViewEncapsulation } from '@angular/core';\nimport { FD_DIALOG_BODY_COMPONENT } from '../tokens';\n\nimport { AsyncPipe } from '@angular/common';\nimport { DynamicPortalComponent } from '@fundamental-ngx/cdk/utils';\nimport { BusyIndicatorComponent } from '@fundamental-ngx/core/busy-indicator';\nimport { ScrollbarDirective } from '@fundamental-ngx/core/scrollbar';\nimport { DialogConfig } from '../utils/dialog-config.class';\nimport { DialogRef } from '../utils/dialog-ref.class';\n\n/**\n * Applies fundamental layout and styling to the contents of a dialog body.\n *\n * ```html\n * <fd-dialog-body>\n * <!-- Content -->\n * </fd-dialog-body>\n * ```\n */\n@Component({\n selector: 'fd-dialog-body',\n templateUrl: 'dialog-body.component.html',\n host: {\n '[class.fd-dialog__body]': 'true',\n '[class.fd-dialog__body--no-vertical-padding]': '!dialogConfig.verticalPadding',\n '[class.fd-dialog__body--no-horizontal-padding]': '!dialogConfig.horizontalPadding',\n '[style.min-height]': 'dialogConfig.bodyMinHeight',\n '[style.padding]': 'dialogConfig.disablePaddings ? 0 : \"1rem\"'\n },\n providers: [\n {\n provide: FD_DIALOG_BODY_COMPONENT,\n useExisting: DialogBodyComponent\n }\n ],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n hostDirectives: [ScrollbarDirective],\n standalone: true,\n imports: [DynamicPortalComponent, BusyIndicatorComponent, AsyncPipe]\n})\nexport class DialogBodyComponent {\n /** @hidden */\n constructor(\n public readonly elementRef: ElementRef,\n @Optional() public dialogConfig: DialogConfig,\n @Optional() public dialogRef: DialogRef\n ) {}\n}\n","<ng-content></ng-content>\n@if (dialogRef.onLoading | async) {\n <div class=\"fd-dialog__loader fd-busy-indicator-dialog\">\n @if (dialogRef.loadingContent) {\n <fdk-dynamic-portal class=\"fd-text\" [auto]=\"dialogRef.loadingContent\"></fdk-dynamic-portal>\n }\n <fd-busy-indicator [loading]=\"true\" size=\"l\" [label]=\"dialogRef.loadingLabel\"></fd-busy-indicator>\n </div>\n}\n","import { ChangeDetectionStrategy, Component, Input, ViewEncapsulation } from '@angular/core';\nimport { IconComponent } from '@fundamental-ngx/core/icon';\n\n/**\n * Directive that applies fundamental dialog styling to a dialog close button.\n *\n * ```html\n * <button fd-dialog-close-button></button>\n * ```\n */\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: '[fd-dialog-close-button]',\n host: {\n '[attr.aria-label]': '\"close\"',\n '[class.fd-button]': 'true',\n '[class.is-compact]': '!mobile',\n '[class.fd-button--transparent]': 'true',\n '[attr.title]': 'title'\n },\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: `<fd-icon glyph=\"decline\"></fd-icon><ng-content></ng-content>`,\n standalone: true,\n imports: [IconComponent]\n})\nexport class DialogCloseButtonComponent {\n /** Displays dialog close button in mobile mode */\n @Input()\n mobile = false;\n\n /** add title dynamically to add a tooltip */\n @Input()\n title: string;\n\n /** add aria label dynamically to add to the button */\n @Input()\n ariaLabel: string;\n}\n","import {\n AfterContentInit,\n ChangeDetectorRef,\n ContentChildren,\n Directive,\n QueryList,\n TemplateRef,\n inject\n} from '@angular/core';\nimport { startWith } from 'rxjs/operators';\n\nimport { TemplateDirective } from '@fundamental-ngx/cdk/utils';\nimport { ButtonBarComponent, FD_BUTTON_BAR_COMPONENT } from '@fundamental-ngx/core/bar';\nimport { ButtonComponent } from '@fundamental-ngx/core/button';\n\n@Directive()\nexport abstract class DialogFooterBase implements AfterContentInit {\n /** @hidden */\n @ContentChildren(TemplateDirective)\n customTemplates: QueryList<TemplateDirective>;\n\n /** @hidden */\n @ContentChildren(FD_BUTTON_BAR_COMPONENT)\n buttons: QueryList<ButtonBarComponent>;\n\n /** @hidden */\n footerTemplate: TemplateRef<any> | undefined;\n\n /** @hidden */\n private readonly _cdr = inject(ChangeDetectorRef);\n\n /** @hidden */\n ngAfterContentInit(): void {\n this._assignCustomTemplates();\n }\n\n /** @hidden */\n protected _listenForButtonChanges(className: string): void {\n const addClassToButton = (button: ButtonComponent): void => {\n if (button && !button.class.includes(className)) {\n button.class = button.class + className;\n button.buildComponentCssClass();\n }\n };\n\n this.buttons.changes.pipe(startWith(1)).subscribe(() =>\n this.buttons.forEach((button) => {\n addClassToButton(button._buttonComponent);\n })\n );\n }\n\n /** @hidden Assign custom templates */\n private _assignCustomTemplates(): void {\n const footerTemplate = this.customTemplates.find((template) => template.name === 'footer');\n this.footerTemplate = footerTemplate ? footerTemplate.templateRef : undefined;\n this._cdr.detectChanges();\n }\n}\n","import {\n AfterContentInit,\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n inject\n} from '@angular/core';\n\nimport { NgTemplateOutlet } from '@angular/common';\nimport { BarModule } from '@fundamental-ngx/core/bar';\nimport { ContentDensityDirective } from '@fundamental-ngx/core/content-density';\nimport { DialogFooterBase } from '../base/dialog-footer-base.class';\nimport { DialogConfig } from '../utils/dialog-config.class';\n\nexport const DialogButtonClass = 'fd-dialog__decisive-button';\n\n/**\n * Building block of the dialog used to create dialog button.\n *\n * ```html\n * <fd-dialog-footer><!--Content--></fd-dialog-footer>\n *\n * Complex footer:\n * <fd-dialog-footer>\n * <ng-template fdkTemplate=\"footer\"><!--Content--></ng-template>\n * </fd-dialog-footer>\n * ```\n * */\n@Component({\n selector: 'fd-dialog-footer',\n templateUrl: './dialog-footer.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n standalone: true,\n imports: [BarModule, ContentDensityDirective, NgTemplateOutlet]\n})\nexport class DialogFooterComponent extends DialogFooterBase implements AfterContentInit, AfterViewInit {\n /** @hidden */\n dialogConfig = inject(DialogConfig, { optional: true }) || {};\n\n /** @hidden */\n ngAfterContentInit(): void {\n super.ngAfterContentInit();\n }\n\n /** @hidden */\n ngAfterViewInit(): void {\n this._listenForButtonChanges(DialogButtonClass);\n }\n}\n","<footer fd-bar class=\"fd-dialog__footer\" barDesign=\"footer\" [fdCozy]=\"dialogConfig.mobile\">\n <ng-template [ngTemplateOutlet]=\"footerTemplate ? footerTemplate : defaultTemplate\"></ng-template>\n\n <ng-template #defaultTemplate>\n <div fd-bar-right>\n <ng-content></ng-content>\n </div>\n </ng-template>\n</footer>\n","import {\n AfterContentInit,\n ChangeDetectorRef,\n ContentChild,\n ContentChildren,\n Directive,\n QueryList,\n TemplateRef,\n inject\n} from '@angular/core';\n\nimport { TemplateDirective } from '@fundamental-ngx/cdk/utils';\nimport { TitleComponent, TitleToken } from '@fundamental-ngx/core/title';\n\n@Directive()\nexport abstract class DialogHeaderBase implements AfterContentInit {\n /** @hidden */\n headerTemplate: TemplateRef<any>;\n\n /** @hidden */\n subHeaderTemplate: TemplateRef<any>;\n\n /** @hidden */\n @ContentChild(TitleToken)\n set defaultTitleSize(title: TitleComponent) {\n if (title && !title.headerSize) {\n title.headerSize = 5;\n this._changeDetectorRef.detectChanges();\n }\n }\n\n /** @hidden */\n @ContentChildren(TemplateDirective)\n customTemplates: QueryList<TemplateDirective>;\n\n /** @hidden */\n private readonly _changeDetectorRef = inject(ChangeDetectorRef);\n\n /** @hidden */\n ngAfterContentInit(): void {\n this._assignCustomTemplates();\n }\n\n /** @hidden Assign custom templates */\n private _assignCustomTemplates(): void {\n this.customTemplates.forEach((template) => {\n switch (template.name) {\n case 'header':\n this.headerTemplate = template.templateRef;\n break;\n case 'subheader':\n this.subHeaderTemplate = template.templateRef;\n break;\n }\n });\n this._changeDetectorRef.detectChanges();\n }\n}\n","import { AfterContentInit, ChangeDetectionStrategy, Component, ViewEncapsulation, inject } from '@angular/core';\n\nimport { NgTemplateOutlet } from '@angular/common';\nimport { BarModule } from '@fundamental-ngx/core/bar';\nimport { ContentDensityDirective } from '@fundamental-ngx/core/content-density';\nimport { DialogHeaderBase } from '../base/dialog-header-base.class';\nimport { DialogConfig } from '../utils/dialog-config.class';\n\n/**\n * Applies fundamental layout and styling to the contents of a dialog header.\n *\n * ```html\n * <fd-dialog-header>\n * <h1 fd-title>Title</h1>\n * <button fd-dialog-close-button></button>\n * </fd-dialog-header>\n * ```\n */\n@Component({\n selector: 'fd-dialog-header',\n templateUrl: './dialog-header.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n standalone: true,\n imports: [BarModule, ContentDensityDirective, NgTemplateOutlet]\n})\nexport class DialogHeaderComponent extends DialogHeaderBase implements AfterContentInit {\n /** @hidden */\n dialogConfig = inject(DialogConfig, { optional: true }) || {};\n}\n","<div\n fd-bar\n class=\"fd-dialog__header\"\n [fdCozy]=\"dialogConfig.mobile\"\n [barDesign]=\"subHeaderTemplate ? 'header-with-subheader' : 'header'\"\n>\n <ng-template [ngTemplateOutlet]=\"headerTemplate ? headerTemplate : defaultTemplate\"></ng-template>\n <ng-template #defaultTemplate>\n <div fd-bar-left>\n <fd-bar-element [fullWidth]=\"true\">\n <ng-content select=\"[fd-title]\"></ng-content>\n </fd-bar-element>\n </div>\n <div fd-bar-right>\n <fd-bar-element>\n <ng-content select=\"[fd-dialog-full-screen-toggler-button]\"></ng-content>\n <ng-content select=\"[fd-dialog-close-button]\"></ng-content>\n </fd-bar-element>\n </div>\n </ng-template>\n</div>\n@if (subHeaderTemplate) {\n <div fd-bar class=\"fd-dialog__subheader\" barDesign=\"subheader\" [fdCozy]=\"dialogConfig.mobile\">\n <ng-template [ngTemplateOutlet]=\"subHeaderTemplate\"></ng-template>\n </div>\n}\n","import { ComponentRef, DestroyRef, Injectable, inject } from '@angular/core';\n\nimport { DialogConfig } from '../utils/dialog-config.class';\nimport { DialogContainer } from '../utils/dialog-container.model';\nimport { DialogConfigBase } from './dialog-config-base.class';\nimport { DialogRefBase } from './dialog-ref-base.class';\n\n/** Service used to dynamically generate a dialog. */\n@Injectable()\nexport abstract class DialogBaseService<T extends DialogContainer<any>> {\n abstract open<D>(content: unknown, config: DialogConfigBase<D>): DialogRefBase<D>;\n /** @hidden Collection of existing dialog references */\n protected _dialogs: ComponentRef<T>[] = [];\n\n /** @hidden */\n protected _destroyRef = inject(DestroyRef);\n\n /**\n * Status of the dialog service.\n * Returns true if there are open dialogs, false otherwise.\n */\n hasOpenDialogs(): boolean {\n return this._dialogs && this._dialogs.length > 0;\n }\n\n /** Dismisses all currently open dialogs. */\n dismissAll(reason?: any): void {\n this._dialogs.forEach((item) => {\n item.instance.ref.dismiss(reason);\n item.destroy();\n });\n this._dialogs = [];\n }\n\n /** @hidden Extends configuration using default values*/\n protected _applyDefaultConfig(config: DialogConfig, defaultConfig: DialogConfig): DialogConfig {\n return { ...defaultConfig, ...config };\n }\n\n /** @hidden Destroy existing dialog */\n protected _destroyDialog(dialog: ComponentRef<T>): void {\n this._dialogs = this._dialogs.filter((d) => d !== dialog);\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n DestroyRef,\n Input,\n OnInit,\n ViewEncapsulation,\n inject,\n signal\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { Nullable } from '@fundamental-ngx/cdk/utils';\nimport { IconComponent } from '@fundamental-ngx/core/icon';\nimport { DialogRef } from '../utils/dialog-ref.class';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: '[fd-dialog-full-screen-toggler-button]',\n standalone: true,\n imports: [IconComponent],\n template: `<fd-icon [glyph]=\"_fullscreen$() ? 'exitfullscreen' : 'full-screen'\"></fd-icon>`,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '[class.fd-button]': 'true',\n '[class.is-compact]': '!mobile',\n '[class.fd-button--transparent]': 'true',\n '[attr.title]': 'title'\n }\n})\nexport class DialogFullScreenTogglerButtonComponent implements OnInit {\n /** Displays dialog close button in mobile mode */\n @Input()\n mobile = false;\n\n /** DialogRef direct reference. Used with template-based dialogs. */\n @Input()\n dialogRef: Nullable<DialogRef>;\n\n /** add title dynamically to add a tooltip */\n @Input()\n title: string;\n\n /** @hidden */\n _fullscreen$ = signal(false);\n\n /** @hidden */\n private readonly _ref = inject(DialogRef, {\n optional: true\n });\n\n /** @hidden */\n private readonly _destroyRef = inject(DestroyRef);\n\n /** @hidden */\n ngOnInit(): void {\n const ref = this._ref || this.dialogRef;\n ref?.fullScreen.pipe(takeUntilDestroyed(this._destroyRef)).subscribe((isFullScreen) => {\n this._fullscreen$.set(isFullScreen);\n });\n }\n}\n","/** @hidden Describes available dialog padding sizes */\nexport type DialogSize = 'sm' | 'md' | 'lg' | 'xl';\n\n/** @hidden Returns dialog size based on width\n * @param width - dialog window width\n **/\nexport function dialogWidthToSize(width: number): DialogSize {\n if (width < 599) {\n return 'sm';\n } else if (width < 1023) {\n return 'md';\n } else if (width < 1439) {\n return 'lg';\n }\n return 'xl';\n}\n","import { ESCAPE } from '@angular/cdk/keycodes';\nimport {\n AfterViewInit,\n ChangeDetectorRef,\n Directive,\n ElementRef,\n HostBinding,\n HostListener,\n inject,\n isDevMode,\n NgZone,\n OnDestroy,\n OnInit\n} from '@angular/core';\nimport { NavigationStart, Router } from '@angular/router';\nimport { asyncScheduler, fromEvent, Observable, of, Subscription } from 'rxjs';\nimport { debounceTime, filter, observeOn, take } from 'rxjs/operators';\n\nimport { FocusTrapService, HasElementRef, KeyUtil, RtlService } from '@fundamental-ngx/cdk/utils';\n\nimport { FD_DIALOG_FOCUS_TRAP_ERROR } from '../tokens';\nimport { DialogSize, dialogWidthToSize } from '../utils/dialog-width-to-size';\nimport { DialogConfigBase } from './dialog-config-base.class';\nimport { DialogRefBase, FD_DIALOG_DISMISS_REASON } from './dialog-ref-base.class';\n\nfunction coerceMetricValue(value: string | number | undefined): string | undefined {\n return typeof value === 'number' ? `${value}px` : value;\n}\n\n@Directive()\nexport abstract class DialogBase<T = any, D extends DialogRefBase<T> = DialogRefBase<T>>\n implements OnInit, AfterViewInit, OnDestroy, HasElementRef\n{\n /**\n * @hidden\n */\n @HostBinding('attr.dir')\n _dir: string;\n\n /** @hidden Reference to dialog window element*/\n abstract dialogWindow: ElementRef;\n\n /** @hidden Dialog padding sizes */\n dialogPaddingSize: DialogSize;\n\n /** @hidden */\n readonly _focusTrapService = inject(FocusTrapService);\n /** @hidden */\n readonly _changeDetectorRef = inject(ChangeDetectorRef);\n /** @hidden */\n readonly elementRef = inject(ElementRef);\n\n /** @hidden */\n protected readonly _router = inject(Router);\n\n /** @hidden */\n protected readonly _rtlService = inject(RtlService, { optional: true });\n\n /** @hidden */\n protected _focusTrapId: string;\n\n /** @hidden */\n protected _subscriptions = new Subscription();\n\n /** @hidden */\n abstract get _ref(): D;\n\n /** @hidden */\n abstract get _config(): DialogConfigBase<any>;\n\n /**\n * @hidden\n * Used to mute errors of focus trap during unit tests (jsdom incompatibility).\n */\n private readonly _focusTrapError = inject(FD_DIALOG_FOCUS_TRAP_ERROR, {\n optional: true\n });\n\n /** @hidden */\n private readonly _zone = inject(NgZone);\n\n /** @hidden Listen and close dialog on Escape key */\n @HostListener('keydown', ['$event'])\n closeDialogEsc(event: KeyboardEvent): void {\n if (this._config.escKeyCloseable && KeyUtil.isKeyCode(event, ESCAPE)) {\n this._ref.dismiss(FD_DIALOG_DISMISS_REASON.ESCAPE);\n }\n }\n\n /** @hidden Listen and close dialog on Backdrop click */\n @HostListener('mousedown', ['$event.target'])\n closeDialog(target: ElementRef): void {\n if (this._config.backdropClickCloseable && target === this.elementRef.nativeElement) {\n this._ref.dismiss(FD_DIALOG_DISMISS_REASON.BACKDROP);\n }\n }\n\n /** @hidden */\n ngOnInit(): void {\n this._listenAndCloseOnNavigation();\n this._subscriptions.add(\n this._rtlService?.rtl.subscribe((isRtl) => {\n this._dir = isRtl ? 'rtl' : 'ltr';\n this._changeDetectorRef.detectChanges();\n })\n );\n }\n\n /** @hidden */\n ngAfterViewInit(): void {\n this._trapFocus();\n this._setPosition();\n this._setWidthHeight();\n this._listenOnWindowResize();\n this.adjustResponsivePadding();\n this._ref.loaded();\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n this._deactivateFocusTrap();\n this._subscriptions.unsubscribe();\n }\n\n /** @hidden Determine dialog padding size based on dialogs window width */\n adjustResponsivePadding(): void {\n if (this._config.responsivePadding) {\n const dialogWidth = this.dialogWindow.nativeElement.getBoundingClientRect().width;\n this.dialogPaddingSize = dialogWidthToSize(dialogWidth);\n this._changeDetectorRef.detectChanges();\n }\n }\n\n /** @hidden Listen on NavigationStart event and dismiss the dialog */\n private _listenAndCloseOnNavigation(): void {\n if (this._router) {\n this._subscriptions.add(\n this._router.events\n .pipe(filter((event) => event instanceof NavigationStart && !!this._config.closeOnNavigation))\n .subscribe(() => this._ref.dismiss(FD_DIALOG_DISMISS_REASON.NAVIGATION_CHANGE))\n );\n }\n }\n\n /** @hidden Trap focus inside dialog window */\n private _trapFocus(): void {\n if (this._config.focusTrapped) {\n this._subscriptions.add(\n this._onMicrotaskEmpty().subscribe(() => {\n try {\n this._focusTrapId = this._focusTrapService.createFocusTrap(this.dialogWindow.nativeElement, {\n clickOutsideDeactivates: this._config.backdropClickCloseable && this._config.hasBackdrop,\n escapeDeactivates: false,\n fallbackFocus: this.dialogWindow.nativeElement,\n allowOutsideClick: () => true\n });\n } catch (e) {\n isDevMode() && this._focusTrapError !== true && console.error(e);\n }\n })\n );\n }\n }\n\n /** @hidden */\n private _deactivateFocusTrap(): void {\n this._focusTrapService.deactivateFocusTrap(this._focusTrapId);\n }\n\n /** @hidden Set dialog window position */\n private _setPosition(): void {\n if (this._config.position) {\n this.dialogWindow.nativeElement.style.top = coerceMetricValue(this._config.position.top);\n this.dialogWindow.nativeElement.style.bottom = coerceMetricValue(this._config.position.bottom);\n this.dialogWindow.nativeElement.style.left = coerceMetricValue(this._config.position.left);\n this.dialogWindow.nativeElement.style.right = coerceMetricValue(this._config.position.right);\n } else {\n this.dialogWindow.nativeElement.style.position = 'relative';\n }\n }\n\n /** @hidden Set dialog window width and height */\n private _setWidthHeight(): void {\n this.dialogWindow.nativeElement.style.width = coerceMetricValue(this._config.width);\n this.dialogWindow.nativeElement.style.height = coerceMetricValue(this._config.height);\n this.dialogWindow.nativeElement.style.minWidth = coerceMetricValue(this._config.minWidth);\n this.dialogWindow.nativeElement.style.minHeight = coerceMetricValue(this._config.minHeight);\n this.dialogWindow.nativeElement.style.maxWidth = coerceMetricValue(this._config.maxWidth);\n this.dialogWindow.nativeElement.style.maxHeight = coerceMetricValue(this._config.maxHeight);\n }\n\n /** @hidden Listen on window resize and adjust padding */\n private _listenOnWindowResize(): void {\n if (this._config.responsivePadding) {\n this._subscriptions.add(\n fromEvent(window, 'resize')\n .pipe(debounceTime(100))\n .subscribe(() => this.adjustResponsivePadding())\n );\n }\n }\n\n /** @hidden */\n private _onMicrotaskEmpty(): Observable<null> {\n return this._zone.hasPendingMicrotasks\n ? this._zone.onMicrotaskEmpty.pipe(observeOn(asyncScheduler), take(1))\n : of(null);\n }\n}\n","import { AfterViewInit, Directive, Input, Optional } from '@angular/core';\n\nimport { DialogConfig } from '../utils/dialog-config.class';\n\nlet titleUniqueId = 1;\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[fd-dialog-title]',\n host: {\n '[attr.id]': 'id'\n },\n standalone: true\n})\nexport class DialogTitleDirective implements AfterViewInit {\n /** Title ID attribute, generated automatically if not provided */\n @Input()\n id = `fd-dialog-title-` + titleUniqueId++;\n\n /** @hidden */\n constructor(@Optional() public dialogConfig: DialogConfig) {}\n\n /** @hidden */\n ngAfterViewInit(): void {\n if (this.dialogConfig && !this.dialogConfig.ariaLabelledBy) {\n this.dialogConfig.ariaLabelledBy = this.id;\n }\n }\n}\n","import {\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n ContentChild,\n ElementRef,\n Input,\n OnChanges,\n OnDestroy,\n OnInit,\n Optional,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport { contentDensityObserverProviders } from '@fundamental-ngx/core/content-density';\nimport { Subscription } from 'rxjs';\n\nimport { applyCssClass, CssClassBuilder } from '@fundamental-ngx/cdk/utils';\n\nimport { A11yModule } from '@angular/cdk/a11y';\nimport { CdkDrag, CdkDragHandle } from '@angular/cdk/drag-drop';\nimport { CdkScrollable } from '@angular/cdk/overlay';\n\nimport { ResizeDirective, ResizeHandleDirective } from '@fundamental-ngx/cdk/utils';\nimport { ScrollbarDirective } from '@fundamental-ngx/core/scrollbar';\nimport { DialogBase } from './base/dialog-base.class';\nimport { DialogBodyComponent } from './dialog-body/dialog-body.component';\nimport { DialogFooterComponent } from './dialog-footer/dialog-footer.component';\nimport { DialogHeaderComponent } from './dialog-header/dialog-header.component';\nimport { DialogTitleDirective } from './directives/dialog-title.directive';\nimport { DialogConfig } from './utils/dialog-config.class';\nimport { DialogRef } from './utils/dialog-ref.class';\n\n/**\n * Dialog component.\n *\n * ```html\n * <fd-dialog>\n * <fd-dialog-header></fd-dialog-header>\n * <fd-dialog-body></fd-dialog-body>\n * <fd-dialog-footer></fd-dialog-footer>\n * </fd-dialog>\n * ```\n */\n@Component({\n selector: 'fd-dialog',\n styleUrl: 'dialog.component.scss',\n templateUrl: './dialog.component.html',\n host: {\n tabindex: '-1'\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [contentDensityObserverProviders({ alwaysAddModifiers: true })],\n standalone: true,\n imports: [\n ResizeDirective,\n A11yModule,\n CdkDrag,\n CdkScrollable,\n ScrollbarDirective,\n ResizeHandleDirective,\n CdkDragHandle\n ]\n})\nexport class DialogComponent\n extends DialogBase<DialogRef>\n implements OnInit, OnChanges, AfterViewInit, OnDestroy, CssClassBuilder\n{\n /** Custom classes */\n @Input()\n set class(userClass: string) {\n this._class = userClass;\n }\n\n /** DialogRef - should be used for Template based Dialog implementation */\n // eslint-disable-next-line @angular-eslint/no-input-rename\n @Input('dialogRef')\n set embeddedDialogRef(value: DialogRef) {\n this._dialogRef = value;\n }\n\n get embeddedDialogRef(): DialogRef {\n return this._dialogRef;\n }\n\n /** DialogConfig - should be used for Template based Dialog implementation */\n // eslint-disable-next-line @angular-eslint/no-input-rename\n @Input('dialogConfig')\n set embeddedDialogConfig(value: DialogConfig) {\n this.dialogConfig = value;\n }\n\n /** @hidden */\n @ViewChild('dialogWindow')\n dialogWindow: ElementRef;\n\n /** @hidden If dialog sub-components didn't receive DialogConfig from Injector, DialogConfig is passed from parent.\n * This is necessary when dialog has been passed as TemplateRef and created as EmbeddedView.\n * In such case parent injector of DialogComponent is the component that DECLARED the TemplateRef.\n **/\n @ContentChild(DialogHeaderComponent)\n set dialogHeaderConfig(component: DialogHeaderComponent) {\n if (component) {\n component.dialogConfig = this.dialogConfig;\n }\n }\n\n /** @hidden */\n @ContentChild(DialogBodyComponent)\n set dialogBodyConfig(component: DialogBodyComponent) {\n if (component) {\n component.dialogRef = this._dialogRef;\n component.dialogConfig = this.dialogConfig;\n }\n }\n\n /** @hidden */\n @ContentChild(DialogFooterComponent)\n set dialogFooterConfig(component: DialogFooterComponent) {\n if (component) {\n component.dialogConfig = this.dialogConfig;\n }\n }\n\n /** @hidden */\n @ContentChild(DialogTitleDirective)\n set dialogTitle(component: DialogTitleDirective) {\n if (component) {\n component.dialogConfig = this.dialogConfig;\n }\n }\n\n /** @hidden Whenever dialog should be visible */\n showDialogWindow: boolean;\n\n /** @hidden Whenever dialog is dragged */\n isDragged: boolean;\n\n /**\n * @hidden\n * Whether the Dialog in full-screen mode.\n */\n _fullScreen = false;\n\n /** @hidden */\n private _class = '';\n\n /** @hidden */\n private _onHidden: Subscription;\n\n /** @hidden */\n constructor(\n @Optional() public dialogConfig: DialogConfig,\n @Optional() private _dialogRef: DialogRef\n ) {\n super();\n }\n\n /** @hidden */\n get _config(): DialogConfig {\n return this.dialogConfig;\n }\n\n /** @hidden */\n get _ref(): DialogRef {\n return this._dialogRef;\n }\n\n /** @hidden */\n @applyCssClass\n buildComponentCssClass(): string[] {\n return [\n this.dialogConfig.hasBackdrop ? 'fd-dialog' : 'fd-dialog--no-backdrop',\n this.dialogConfig.container !== 'body' || this.dialogConfig.position ? 'fd-dialog--targeted' : '',\n this.showDialogWindow ? 'fd-dialog--active' : '',\n this._class,\n this.dialogConfig.backdropClass ? this.dialogConfig.backdropClass : ''\n ];\n }\n\n /** @hidden */\n ngOnInit(): void {\n super.ngOnInit();\n this._listenOnHidden();\n this.buildComponentCssClass();\n }\n\n /** @hidden */\n ngOnChanges(): void {\n this.buildComponentCssClass();\n }\n\n /** @hidden */\n ngAfterViewInit(): void {\n super.ngAfterViewInit();\n this._listenOnHidden();\n this._listenOnFullScreen();\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n super.ngOnDestroy();\n this._onHidden.unsubscribe();\n }\n\n /** @hidden */\n private _listenOnFullScreen(): void {\n this._subscriptions.add(\n this._ref.fullScreen.subscribe((isFullScreen) => {\n this._fullScreen = isFullScreen;\n this._changeDetectorRef.detectChanges();\n this.adjustResponsivePadding();\n })\n );\n }\n\n /** @hidden Listen on Dialog visibility */\n private _listenOnHidden(): void {\n if (this._onHidden) {\n this._onHidden.unsubscribe();\n }\n this._onHidden = this._dialogRef.onHide.subscribe((isHidden) => {\n this.showDialogWindow = !isHidden;\n this.buildComponentCssClass();\n\n if (!this._focusTrapId) {\n return;\n }\n const focusTrapInstance = this._focusTrapService.getFocusTrapInstance(this._focusTrapId);\n if (isHidden) {\n focusTrapInstance?.pause();\n } else {\n focusTrapInstance?.unpause();\n }\n });\n }\n}\n","<div\n #dialogWindow\n role=\"dialog\"\n tabindex=\"-1\"\n aria-modal=\"true\"\n fdkResize\n cdkTrapFocus\n cdkDrag\n cdkDragBoundary=\".fd-dialog\"\n fd-scrollbar\n [fdkResizeBoundary]=\"elementRef.nativeElement\"\n class=\"fd-dialog__content\"\n [class]=\"dialogConfig.dialogPanelClass\"\n [class.cdk-drag]=\"dialogConfig.draggable\"\n [class.fd-dialog__content--s]=\"dialogPaddingSize === 'sm'\"\n [class.fd-dialog__content--m]=\"dialogPaddingSize === 'md'\"\n [class.fd-dialog__content--l]=\"dialogPaddingSize === 'lg'\"\n [class.fd-dialog__content--xl]=\"dialogPaddingSize === 'xl'\"\n [class.fd-dialog__content--mobile]=\"dialogConfig.mobile || _fullScreen\"\n [class.fd-dialog__content--no-mobile-stretch]=\"dialogConfig.mobileOuterSpacing\"\n [class.fd-dialog__content--draggable-grab]=\"dialogConfig.draggable && !isDragged\"\n [class.fd-dialog__content--draggable-grabbing]=\"dialogConfig.draggable && isDragged\"\n [class.fd-dialog__content-full-screen]=\"_fullScreen\"\n [cdkDragDisabled]=\"!dialogConfig.draggable\"\n [fdkResizeDisabled]=\"!dialogConfig.resizable\"\n [attr.id]=\"dialogConfig.id\"\n [attr.aria-label]=\"dialogConfig.ariaLabel\"\n [attr.aria-labelledby]=\"dialogConfig.ariaLabelledBy\"\n [attr.aria-describedby]=\"dialogConfig.ariaDescribedBy\"\n [attr.aria-modal]=\"dialogConfig.ariaModal\"\n (cdkDragStarted)=\"isDragged = true\"\n (cdkDragEnded)=\"isDragged = false\"\n (onResizeEnd)=\"adjustResponsivePadding()\"\n>\n @if (dialogConfig.resizable && !_fullScreen) {\n <span fdkResizeHandle class=\"fd-dialog__resize-handle\"></span>\n }\n <div cdkDragHandle [cdkDragHandleDisabled]=\"!dialogConfig.draggable\">\n <ng-content select=\"fd-dialog-header\"></ng-content>\n </div>\n <ng-content select=\"fd-dialog-body\"></ng-content>\n <ng-content select=\"fd-dialog-footer\"></ng-content>\n</div>\n","import { AfterViewInit, ChangeDetectionStrategy, ChangeDetectorRef, Component, ViewEncapsulation } from '@angular/core';\nimport { Nullable } from '@fundamental-ngx/cdk/utils';\n\nimport { CdkScrollable } from '@angular/cdk/overlay';\nimport { NgTemplateOutlet } from '@angular/common';\nimport { InitialFocusDirective, TemplateDirective } from '@fundamental-ngx/cdk/utils';\nimport { BarModule } from '@fundamental-ngx/core/bar';\nimport { ContentDensityDirective } from '@fundamental-ngx/core/content-density';\nimport { ScrollbarDirective } from '@fundamental-ngx/core/scrollbar';\nimport { TitleComponent } from '@fundamental-ngx/core/title';\nimport { DialogBodyComponent } from '../dialog-body/dialog-body.component';\nimport { DialogCloseButtonComponent } from '../dialog-close-button/dialog-close-button.component';\nimport { DialogFooterComponent } from '../dialog-footer/dialog-footer.component';\nimport { DialogFullScreenTogglerButtonComponent } from '../dialog-full-screen-toggler-button/dialog-full-screen-toggler-button.component';\nimport { DialogHeaderComponent } from '../dialog-header/dialog-header.component';\nimport { DialogComponent } from '../dialog.component';\nimport { DialogConfig } from '../utils/dialog-config.class';\nimport { DialogDefaultContent } from '../utils/dialog-default-content.class';\n\n/** Dialog component used to create the dialog in object based approach */\n@Component({\n selector: 'fd-dialog-default',\n templateUrl: './dialog-default.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n imports: [\n DialogComponent,\n DialogHeaderComponent,\n TitleComponent,\n DialogFullScreenTogglerButtonComponent,\n DialogCloseButtonComponent,\n TemplateDirective,\n NgTemplateOutlet,\n CdkScrollable,\n ScrollbarDirective,\n DialogBodyComponent,\n DialogFooterComponent,\n BarModule,\n InitialFocusDirective,\n ContentDensityDirective\n ]\n})\nexport class DialogDefaultComponent implements AfterViewInit {\n /** @hidden */\n _defaultDialogContent: Nullable<DialogDefaultContent>;\n\n /** @hidden */\n _defaultDialogConfiguration: DialogConfig;\n\n /** @hidden */\n constructor(private _changeDetectorRef: ChangeDetectorRef) {}\n\n /** @hidden\n * TODO: Inspect why DialogDefaultComponents needs change detection re-run to render adjusted content (dialog header title)\n * */\n ngAfterViewInit(): void {\n this._changeDetectorRef.detectChanges();\n }\n\n /** Whether there is a approve button, or cancel button text */\n _showFooter(): boolean {\n return (\n !!this._defaultDialogContent &&\n !!(this._defaultDialogContent.cancelButton || this._defaultDialogContent.approveButton)\n );\n }\n\n /** @hidden */\n _closeButtonClicked(): void {\n this._defaultDialogContent?.closeButtonCallback?.();\n }\n\n /** @hidden */\n _approveButtonClicked(): void {\n this._defaultDialogContent?.approveButtonCallback?.();\n }\n\n /** @hidden */\n _cancelButtonClicked(): void {\n this._defaultDialogContent?.cancelButtonCallback?.();\n }\n\n /** @hidden */\n _fullScreenButtonClicked(): void {\n this._defaultDialogContent?.fullScreenButtonCallback?.();\n }\n}\n","<fd-dialog>\n <fd-dialog-header>\n <h1 fd-title [id]=\"_defaultDialogContent?.titleId\">{{ _defaultDialogContent?.title }}</h1>\n @if (_defaultDialogContent?.allowFullScreen) {\n <button\n fd-dialog-full-screen-toggler-button\n #fullScreenTogglerButton\n [title]=\"\n (fullScreenTogglerButton._fullscreen$()\n ? _defaultDialogContent?.fullScreenMinifyButtonText\n : _defaultDialogContent?.fullScreenExpandButtonText) || ''\n \"\n (click)=\"_fullScreenButtonClicked()\"\n ></button>\n }\n @if (_defaultDialogContent?.closeButtonCallback) {\n <button\n fd-dialog-close-button\n [title]=\"_defaultDialogContent?.closeButtonTitle || ''\"\n [ariaLabel]=\"_defaultDialogContent?.closeButtonAriaLabel || ''\"\n (click)=\"_closeButtonClicked()\"\n ></button>\n }\n @if (_defaultDialogContent?.subHeader) {\n <ng-template fdkTemplate=\"subheader\">\n <ng-template [ngTemplateOutlet]=\"_defaultDialogContent!.subHeader!\"></ng-template>\n </ng-template>\n }\n </fd-dialog-header>\n @if (_defaultDialogContent?.content) {\n <fd-dialog-body>\n <ng-template [ngTemplateOutlet]=\"_defaultDialogContent?.content!\"></ng-template>\n </fd-dialog-body>\n }\n @if (_showFooter()) {\n <fd-dialog-footer>\n @if (_defaultDialogContent?.approveButton) {\n <fd-button-bar\n fdType=\"emphasized\"\n fdkInitialFocus\n [label]=\"_defaultDialogContent?.approveButton || ''\"\n [fdCozy]=\"_defaultDialogConfiguration.mobile\"\n (click)=\"_approveButtonClicked()\"\n [ariaLabel]=\"_defaultDialogContent?.approveButtonAriaLabel\"\n [id]=\"_defaultDialogContent?.approveButtonId\"\n >\n </fd-button-bar>\n }\n @if (_defaultDialogContent?.cancelButton) {\n <fd-button-bar\n [label]=\"_defaultDialogContent?.cancelButton || ''\"\n [fdCozy]=\"_defaultDialogConfiguration.mobile\"\n (click)=\"_cancelButtonClicked()\"\n [ariaLabel]=\"_defaultDialogContent?.closeButtonAriaLabel\"\n [id]=\"_defaultDialogContent?.cancelButtonId\"\n >\n </fd-button-bar>\n }\n </fd-dialog-footer>\n }\n</fd-dialog>\n","import { animate, AnimationTriggerMetadata, state, style, transition, trigger } from '@angular/animations';\n\nexport const dialogFade: AnimationTriggerMetadata = trigger('state', [\n state(\n 'void, hidden',\n style({\n opacity: 0,\n position: 'relative',\n zIndex: 999\n })\n ),\n state(\n 'visible',\n style({\n opacity: 1,\n position: 'relative',\n zIndex: 999\n })\n ),\n transition('* => visible', animate('150ms cubic-bezier(0, 0, 0.2, 1)')),\n transition(\n '* => void, * => hidden',\n animate(\n '75ms cubic-bezier(0.4, 0.0, 1, 1)',\n style({\n opacity: 0,\n position: 'relative',\n zIndex: 999\n })\n )\n )\n]);\n","import { AnimationEvent } from '@angular/animations';\nimport {\n AfterContentChecked,\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ComponentRef,\n DestroyRef,\n ElementRef,\n EmbeddedViewRef,\n HostBinding,\n HostListener,\n Injector,\n Input,\n TemplateRef,\n Type,\n ViewChild,\n ViewEncapsulation,\n ViewRef\n} from '@angular/core';\n\nimport { applyCssClass, CssClassBuilder, DynamicComponentContainer, Nullable } from '@fundamental-ngx/cdk/utils';\n\nimport { CdkPortalOutlet, CdkPortalOutletAttachedRef, PortalModule } from '@angular/cdk/portal';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { DialogDefaultComponent } from '../dialog-default/dialog-default.component';\nimport { DialogContentType } from '../dialog.types';\nimport { DialogTemplateDirectiveContext } from '../directives/dialog-template.directive';\nimport { DialogConfig } from '../utils/dialog-config.class';\nimport { DialogContainer } from '../utils/dialog-container.model';\nimport { DialogDefaultContent } from '../utils/dialog-default-content.class';\nimport { DialogRef } from '../utils/dialog-ref.class';\nimport { dialogFade } from '../utils/dialog.animations';\n\n/** Dialog container where the dialog content is embedded. */\n@Component({\n selector: 'fd-dialog-container',\n template: '<ng-template (attached)=\"_attached($event)\" cdkPortalOutlet></ng-template>',\n styleUrl: './dialog-container.component.scss',\n animations: [dialogFade],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n imports: [PortalModule]\n})\nexport class DialogContainerComponent\n extends DynamicComponentContainer<DialogContentType>\n implements DialogContainer<any>, AfterViewInit, AfterContentChecked, CssClassBuilder\n{\n /** Custom classes */\n @Input()\n set class(userClass: string) {\n this._class = userClass;\n this.buildComponentCssClass();\n }\n\n /** @hidden */\n @ViewChild(CdkPortalOutlet)\n portalOutlet: CdkPortalOutlet;\n\n /** The state of the Dialog animations. */\n @HostBinding('@state')\n _animationState = 'void';\n\n /** @hidden */\n private _class = '';\n\n /** @hidden */\n constructor(\n public dialogConfig: DialogConfig,\n public ref: DialogRef,\n private _destroyRef: DestroyRef,\n elementRef: ElementRef,\n protected readonly _cdr: ChangeDetectorRef,\n injector: Injector\n ) {\n super(elementRef, injector);\n }\n\n /** @hidden */\n @applyCssClass\n buildComponentCssClass(): string[] {\n return [this.dialogConfig.containerClass ? this.dialogConfig.containerClass : '', this._class];\n }\n\n /** Handle end of animations, updating the state of the Message Toast. */\n @HostListener('@state.done', ['$event'])\n onAnimationEnd(event: AnimationEvent): void {\n const { toState } = event;\n\n if (toState === 'hidden') {\n this.ref._endClose$.next();\n this.ref._endClose$.complete();\n }\n }\n\n /** @hidden */\n ngAfterViewInit(): void {\n setTimeout(() => {\n this._loadContent();\n this._listenOnClose();\n });\n }\n\n /** @hidden */\n ngAfterContentChecked(): void {\n if (this.portalOutlet) {\n this._cdr.markForCheck();\n }\n }\n\n /** @hidden */\n protected _attached(event: CdkPortalOutletAttachedRef): void {\n if (event instanceof ComponentRef) {\n event.changeDetectorRef.markForCheck();\n } else if (event instanceof EmbeddedViewRef) {\n event.markForCheck();\n }\n }\n\n /** @hidden Load received content */\n protected _loadContent(): void {\n if ((this._cdr as ViewRef).destroyed) {\n return;\n }\n if (this.childContent instanceof Type) {\n this._createFromComponent(this.childContent);\n } else if (this.childContent instanceof TemplateRef) {\n this._createFromTemplate(this.childContent, this._templateContext());\n } else {\n this._createFromDefaultDialog(this.childContent);\n }\n this._animationState = 'visible';\n this._cdr.detectChanges();\n }\n\n /** @hidden Returns context for embedded template*/\n private _templateContext(): DialogTemplateDirectiveContext {\n return { $implicit: this.ref, dialogConfig: this.dialogConfig };\n }\n\n /** @hidden Load Dialog component from passed object */\n private _createFromDefaultDialog(config: Nullable<DialogDefaultContent>): void {\n this._createFromComponent(DialogDefaultComponent);\n const instance = (this._componentRef as ComponentRef<DialogDefaultComponent>).instance;\n instance._defaultDialogContent = config;\n instance._defaultDialogConfiguration = this.dialogConfig;\n }\n\n /**\n * @hidden\n * We need to wait until animation plays, and then send signal to the service to destroy the component.\n */\n private _listenOnClose(): void {\n const callback: () => void = () => {\n this._animationState = 'hidden';\n this._cdr.detectChanges();\n };\n this.ref.afterClosed.pipe(takeUntilDestroyed(this._destroyRef)).subscribe({\n next: () => callback(),\n error: () => callback()\n });\n }\n}\n","import { Overlay, OverlayConfig } from '@angular/cdk/overlay';\nimport { ComponentPortal } from '@angular/cdk/portal';\nimport { isPlatformBrowser } from '@angular/common';\nimport { Inject, Injectable, Injector, Optional, PLATFORM_ID, inject } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { RtlService } from '@fundamental-ngx/cdk/utils';\nimport { DialogBaseService } from '../base/dialog-base.service';\nimport { DialogContainerComponent } from '../dialog-container/dialog-container.component';\nimport { DialogContentType } from '../dialog.types';\nimport { DIALOG_DEFAULT_CONFIG, DialogConfig } from '../utils/dialog-config.class';\nimport { DialogRef } from '../utils/dialog-ref.class';\n\n/** Service used to create a dialog. */\n@Injectable({\n providedIn: 'root'\n})\nexport class DialogService extends DialogBaseService<DialogContainerComponent> {\n /** @hidden */\n private platformId = inject(PLATFORM_ID);\n /** @hidden */\n private readonly htmlElement?: HTMLHtmlElement;\n\n /** @hidden */\n constructor(\n @Optional() @Inject(DIALOG_DEFAULT_CONFIG) private _defaultConfig: DialogConfig,\n @Optional() private _rtlService: RtlService,\n private _injector: Injector,\n private readonly _overlay: Overlay\n ) {\n super();\n if (isPlatformBrowser(this.platformId)) {\n this.htmlElement = document.querySelector('html') as HTMLHtmlElement;\n }\n }\n\n /**\n * Opens a dialog component with provided content.\n * @param content Content of the dialog component.\n * @param dialogConfig Configuration of the dialog component.\n * @param parentInjector Parent injector instance.\n */\n public open<T = any>(\n content: DialogContentType,\n dialogConfig?: DialogConfig<T>,\n parentInjector?: Injector\n ): DialogRef<T> {\n const dialogRef = new DialogRef();\n if (!parentInjector) {\n parentInjector = this._injector;\n }\n\n dialogConfig = this._applyDefaultConfig(dialogConfig || {}, this._defaultConfig || new DialogConfig());\n dialogRef.data = dialogConfig.data;\n\n const injector = Injector.create({\n providers: [\n { provide: DialogConfig, useValue: dialogConfig },\n { provide: DialogRef, useValue: dialogRef },\n { provide: RtlService, useValue: this._rtlService },\n { provide: DialogService, useValue: this }\n ],\n parent: parentInjector\n });\n\n const overlayRef = this._overlay.create(new OverlayConfig());\n\n if (dialogConfig.container && dialogConfig.container !== 'body' && typeof dialogConfig.container !== 'string') {\n dialogConfig.container.append(overlayRef.hostElement);\n }\n const portal = new ComponentPortal(DialogContainerComponent, null, injector);\n const componentRef = overlayRef.attach(portal);\n\n componentRef.instance.childContent = content;\n componentRef.instance.dialogConfig = dialogConfig;\n\n this._dialogs.push(componentRef);\n\n this.htmlElement && (this.htmlElement.style.overflow = 'hidden');\n dialogRef._endClose$.pipe(takeUntilDestroyed(this._destroyRef)).subscribe(() => {\n this._destroyDialog(componentRef);\n componentRef.destroy();\n overlayRef.dispose();\n this.htmlElement && (this.htmlElement.style.overflow = '');\n });\n\n return dialogRef;\n }\n}\n","import { Directive, Input, TemplateRef, inject } from '@angular/core';\nimport { DialogConfig } from '../utils/dialog-config.class';\nimport { DialogRef } from '../utils/dialog-ref.class';\n\nexport interface DialogTemplateDirectiveContext<T = DialogConfig<any>, U = T extends DialogConfig<infer P> ? P : any> {\n $implicit: DialogRef<U>;\n dialogConfig: T;\n}\n@Directive({\n selector: '[fdDialogTemplate]',\n standalone: true\n})\nexport class DialogTemplateDirective<T = DialogConfig<any>> {\n /** Custom dialog config model. */\n @Input()\n fdDialogTemplateConfig: T;\n\n /** @hidden */\n readonly templateRef = inject(TemplateRef<DialogTemplateDirectiveContext<T>>);\n\n /** @hidden */\n static ngTemplateContextGuard<T extends null>(\n dir: DialogTemplateDirective<T>,\n ctx: DialogTemplateDirectiveContext<DialogConfig<any>>\n ): ctx is DialogTemplateDirectiveContext<DialogConfig<any>>;\n /** @hidden */\n static ngTemplateContextGuard<T = DialogConfig<any>>(\n dir: DialogTemplateDirective<T>,\n ctx: DialogTemplateDirectiveContext<T>\n ): ctx is DialogTemplateDirectiveContext<T>;\n /** @hidden */\n static ngTemplateContextGuard<U extends DialogTemplateDirective<any>>(\n dir: U,\n ctx: DialogTemplateDirectiveContext<any>\n ): ctx is DialogTemplateDirectiveContext<DialogConfig<any>> {\n return true;\n }\n}\n","import { Provider } from '@angular/core';\nimport { DynamicComponentService } from '@fundamental-ngx/cdk/utils';\nimport { DialogService } from './dialog-service/dialog.service';\n\n/**\n * Provides necessary services for dialog functionality to properly work.\n * @returns Array of Providers.\n */\nexport function provideDialogService(): Provider[] {\n return [DialogService, DynamicComponentService];\n}\n","import { NgModule } from '@angular/core';\nimport { TemplateModule } from '@fundamental-ngx/cdk/utils';\nimport { BarModule } from '@fundamental-ngx/core/bar';\nimport { TitleComponent } from '@fundamental-ngx/core/title';\nimport { DialogBodyComponent } from './dialog-body/dialog-body.component';\nimport { DialogCloseButtonComponent } from './dialog-close-button/dialog-close-button.component';\nimport { DialogContainerComponent } from './dialog-container/dialog-container.component';\nimport { DialogDefaultComponent } from './dialog-default/dialog-default.component';\nimport { DialogFooterComponent } from './dialog-footer/dialog-footer.component';\nimport { DialogFullScreenTogglerButtonComponent } from './dialog-full-screen-toggler-button/dialog-full-screen-toggler-button.component';\nimport { DialogHeaderComponent } from './dialog-header/dialog-header.component';\nimport { DialogComponent } from './dialog.component';\nimport { DialogTemplateDirective } from './directives/dialog-template.directive';\nimport { DialogTitleDirective } from './directives/dialog-title.directive';\nimport { provideDialogService } from './provide-dialog-service';\n\nconst declarations = [\n DialogComponent,\n DialogBodyComponent,\n DialogFooterComponent,\n DialogHeaderComponent,\n DialogDefaultComponent,\n DialogContainerComponent,\n DialogCloseButtonComponent,\n DialogTitleDirective,\n DialogFullScreenTogglerButtonComponent,\n DialogTemplateDirective\n];\n\n/**\n * @deprecated\n * Use following imports instead:\n * `DialogComponent`,\n * `DialogBodyComponent`,\n * `DialogFooterComponent`,\n * `DialogHeaderComponent`,\n * `DialogCloseButtonComponent`,\n * `DialogTitleDirective`,\n * `DialogFullScreenTogglerButtonComponent`\n *\n * in order to provide dialog service, use `provideDialogService()`\n */\n@NgModule({\n imports: [\n declarations,\n // Keeping these two items for backwards compatibility.\n TemplateModule,\n BarModule,\n TitleComponent\n ],\n exports: [\n declarations,\n // Keeping these two items for backwards compatibility.\n TemplateModule,\n BarModule,\n TitleComponent\n ],\n providers: [provideDialogService()]\n})\nexport class DialogModule {}\n","import { Nullable } from '@fundamental-ngx/cdk/utils';\n\nexport class DialogContentBase<ContentType = unknown> {\n /** Dialog Title id */\n titleId?: string;\n\n /** Dialog Title */\n title?: string;\n\n /** Dialog Body */\n content?: ContentType;\n\n /** Aria Modal for the dialog component element */\n ariaModal?: boolean;\n\n /** Aria label for the dialog component element. */\n ariaLabel?: Nullable<string>;\n\n /** Aria labelby for the dialog component element. */\n ariaLabelledBy?: Nullable<string>;\n\n /** Aria DescribedBy for the dialog component element.. */\n ariaDescribedBy?: Nullable<string>;\n\n /** Approve Button Label */\n approveButton?: string;\n\n /** Approve Button Id */\n approveButtonId?: string;\n\n /** Approve Button Click Callback */\n approveButtonCallback?: () => void;\n\n /** Aria label for the dialog approve button element. */\n approveButtonAriaLabel?: string;\n\n /** Cancel Button Label */\n cancelButton?: string;\n\n /** Cancel Button Id */\n cancelButtonId?: string;\n\n /** Cancel Button Click Callback */\n cancelButtonCallback?: () => void;\n\n /** Close Button Callback */\n closeButtonCallback?: () => void;\n\n /** Full screen Button Click callback */\n fullScreenButtonCallback?: () => void;\n\n /** close button title */\n closeButtonTitle?: string;\n\n /** Aria labelby for the dialog close button element. */\n closeButtonAriaLabel?: string;\n}\n","import { TemplateRef } from '@angular/core';\nimport { DialogContentBase } from '../base/dialog-content-base.class';\n\nexport class DialogDefaultContent extends DialogContentBase<TemplateRef<any>> {\n /** Subheader Body */\n subHeader?: TemplateRef<any>;\n\n /** Whether to allow dialog to be opened in full screen mode. */\n allowFullScreen?: boolean;\n\n /** Full screen button text when dialog is not in full-screen mode. */\n fullScreenExpandButtonText?: string;\n\n /** Full screen button text when dialog is in full-screen mode. */\n fullScreenMinifyButtonText?: string;\n}\n","/**\n * Represents the positioning of the dialog on the screen.\n */\nexport class DialogPosition {\n /** Value of the dialog's top position. */\n top?: string | number;\n\n /** Value of the dialog's bottom position. */\n bottom?: string | number;\n\n /** Value of the dialog's left position. */\n left?: string | number;\n\n /** Value of the dialog's right position. */\n right?: string | number;\n}\n","import { OverlayContainer } from '@angular/cdk/overlay';\nimport { Injectable } from '@angular/core';\n\n@Injectable()\nexport class DialogOverlayContainer extends OverlayContainer {\n /**\n * This method returns the overlay container element. It will lazily\n * create the element the first time it is called to facilitate using\n * the container in non-browser environments.\n * @returns the container element\n */\n getContainerElement(): HTMLElement {\n const containerElement = super.getContainerElement();\n\n containerElement.classList.add('fd-dialog-overlay-container');\n\n return containerElement;\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.DialogConfig","i2.DialogRef","i3","i1"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"fundamental-ngx-core-dialog.mjs","sources":["../../../../libs/core/dialog/tokens.ts","../../../../libs/core/dialog/base/dialog-config-base.class.ts","../../../../libs/core/dialog/utils/dialog-config.class.ts","../../../../libs/core/dialog/base/dialog-ref-base.class.ts","../../../../libs/core/dialog/utils/dialog-ref.class.ts","../../../../libs/core/dialog/dialog-body/dialog-body.component.ts","../../../../libs/core/dialog/dialog-body/dialog-body.component.html","../../../../libs/core/dialog/dialog-close-button/dialog-close-button.component.ts","../../../../libs/core/dialog/base/dialog-footer-base.class.ts","../../../../libs/core/dialog/dialog-footer/dialog-footer.component.ts","../../../../libs/core/dialog/dialog-footer/dialog-footer.component.html","../../../../libs/core/dialog/base/dialog-header-base.class.ts","../../../../libs/core/dialog/dialog-header/dialog-header.component.ts","../../../../libs/core/dialog/dialog-header/dialog-header.component.html","../../../../libs/core/dialog/base/dialog-base.service.ts","../../../../libs/core/dialog/dialog-full-screen-toggler-button/dialog-full-screen-toggler-button.component.ts","../../../../libs/core/dialog/utils/dialog-width-to-size.ts","../../../../libs/core/dialog/base/dialog-base.class.ts","../../../../libs/core/dialog/directives/dialog-title.directive.ts","../../../../libs/core/dialog/dialog.component.ts","../../../../libs/core/dialog/dialog.component.html","../../../../libs/core/dialog/dialog-default/dialog-default.component.ts","../../../../libs/core/dialog/dialog-default/dialog-default.component.html","../../../../libs/core/dialog/utils/dialog.animations.ts","../../../../libs/core/dialog/dialog-container/dialog-container.component.ts","../../../../libs/core/dialog/dialog-service/dialog.service.ts","../../../../libs/core/dialog/directives/dialog-template.directive.ts","../../../../libs/core/dialog/provide-dialog-service.ts","../../../../libs/core/dialog/dialog.module.ts","../../../../libs/core/dialog/base/dialog-content-base.class.ts","../../../../libs/core/dialog/utils/dialog-default-content.class.ts","../../../../libs/core/dialog/utils/dialog-position.class.ts","../../../../libs/core/dialog/utils/dialog-overlay.container.ts","../../../../libs/core/dialog/fundamental-ngx-core-dialog.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\n\nexport const FD_DIALOG_BODY_COMPONENT = new InjectionToken('FdDialogBodyComponent');\n\nexport const FD_DIALOG_FOCUS_TRAP_ERROR = new InjectionToken<boolean>('FdDialogFocusTrapError');\n","/* eslint-disable @typescript-eslint/no-inferrable-types */\n\nimport { DynamicComponentConfig, Nullable } from '@fundamental-ngx/cdk/utils';\n\nimport { DialogPosition } from '../utils/dialog-position.class';\n\nexport class DialogConfigBase<T> implements DynamicComponentConfig {\n /** Id for the dialog component. If omitted, a unique one is generated. */\n id?: string;\n\n /** Width of the dialog. */\n width?: string | number;\n\n /** Height of the dialog. */\n height?: string | number;\n\n /** Minimum width of the dialog. */\n minWidth?: string | number;\n\n /** Minimum height of the dialog. */\n minHeight?: string | number;\n\n /** Maximum width of the dialog. */\n maxWidth?: string | number;\n\n /** Maximum height of the dialog. */\n maxHeight?: string | number;\n\n /** Position of the dialog. */\n position?: DialogPosition;\n\n /** Aria Modal for the dialog component element */\n ariaModal?: boolean = false;\n\n /** Aria label for the dialog component element. */\n ariaLabel?: Nullable<string>;\n\n /** Id of the element that labels the dialog. */\n ariaLabelledBy?: Nullable<string>;\n\n /** Id of the element that describes the dialog. */\n ariaDescribedBy?: Nullable<string>;\n\n /** Whether the dialog should have a backdrop. */\n hasBackdrop?: boolean = true;\n\n /** Whether clicking on the backdrop should close the dialog. Only works if hasBackdrop is true. */\n backdropClickCloseable?: boolean = false;\n\n /** Global classes to apply to the backdrop. */\n backdropClass?: string;\n\n /** Classes to apply to the `fd-dialog-container` */\n containerClass?: string;\n\n /** Global classes to apply to the dialog panel. */\n dialogPanelClass?: string;\n\n /** Whether the escape key should close the dialog. */\n escKeyCloseable?: boolean = true;\n\n /** Whether the dialog should be focus trapped. */\n focusTrapped?: boolean = true;\n\n /** The container that the dialog is appended to. By default, it is appended to the body. */\n container?: HTMLElement | 'body' = 'body';\n\n /** Data to pass along to the content through the DialogRef. */\n data?: T;\n\n /** Whether the dialog should be displayed in mobile mode. */\n mobile?: boolean;\n\n /** Whether the dialog in mobile mode should have outer space. */\n mobileOuterSpacing?: boolean;\n\n /** Whether the dialog should have vertical padding. */\n verticalPadding?: boolean = true;\n\n /** Whether the dialog should have horizontal padding. */\n horizontalPadding?: boolean = true;\n\n /** Whether to completely disable dialog body paddings. */\n disablePaddings?: boolean = false;\n\n /** Workaround for IE11, as `flex-grow: 1` on dialog body won't work when 'min-height' for dialog set\n * There is another way to get dialog of wanted height by setting `min-height` for dialog body.\n */\n bodyMinHeight?: string;\n\n /** Whether the dialog should have responsive horizontal padding changing with Dialogs window width.\n * max-width: 599px - .fd-dialog__content--s\n * min-width: 600px and max-width: 1023px - .fd-dialog__content--m\n * min-width: 1024px and max-width: 1439px - .fd-dialog__content--l\n * min-width: 1440px - .fd-dialog__content--xl\n * */\n responsivePadding?: boolean = false;\n\n /** Whether to close the dialog on router navigation start. */\n closeOnNavigation?: boolean = true;\n}\n","/* eslint-disable @typescript-eslint/no-inferrable-types */\n/**\n * Configuration for opening a dialog with the DialogService.\n */\nimport { Injectable, InjectionToken } from '@angular/core';\nimport { DialogConfigBase } from '../base/dialog-config-base.class';\n\nexport const DIALOG_DEFAULT_CONFIG = new InjectionToken<DialogConfig>('Default DialogConfig');\n\nexport type ExtendedDialogConfig<TAdditionalProperties extends Record<string, any> = Record<string, any>> =\n DialogConfig & TAdditionalProperties;\n\n@Injectable()\nexport class DialogConfig<T = any> extends DialogConfigBase<T> {\n /** Whether the dialog should be draggable. */\n draggable?: boolean;\n\n /** Whether the dialog should be resizable. */\n resizable?: boolean;\n}\n","import { Observable, Subject } from 'rxjs';\n\nexport enum FD_DIALOG_DISMISS_REASON {\n ESCAPE = 'escape',\n BACKDROP = 'backdrop',\n NAVIGATION_CHANGE = 'navigation change'\n}\n\nexport class DialogRefBase<T, P = any> {\n /** @hidden */\n public _endClose$ = new Subject<void>();\n\n /**\n * Observable that is triggered when the dialog is closed.\n * On close a *result* is passed back. On dismiss, an *error* is returned instead.\n */\n public afterClosed: Observable<P | undefined>;\n\n /** Observable that is triggered when the modal view is initialised. */\n public afterLoaded: Observable<boolean>;\n\n /** Data passed from the calling component to the content.*/\n public data: T;\n\n /** @hidden */\n protected readonly _afterClosed = new Subject<P | undefined>();\n\n /** @hidden */\n protected readonly _afterLoaded = new Subject<boolean>();\n\n /** @hidden */\n constructor() {\n this.afterClosed = this._afterClosed.asObservable();\n this.afterLoaded = this._afterLoaded.asObservable();\n }\n\n /**\n * Closes the dialog and passes the argument to the afterClosed observable.\n * @param result Value passed back to the observable as a result.\n */\n close(result?: P): void {\n this._afterClosed.next(result);\n this._afterClosed.complete();\n }\n\n /**\n * Dismisses the dialog and passes the argument to the afterClosed observable as an error.\n * @param reason Value passed back to the observable as an error.\n */\n dismiss(reason?: FD_DIALOG_DISMISS_REASON | any): void {\n this._afterClosed.error(reason);\n }\n\n /** Function that is called after the view of modal is initialised. */\n loaded(): void {\n this._afterLoaded.next(true);\n }\n}\n","/* eslint-disable @typescript-eslint/member-ordering */\nimport { Injectable, TemplateRef, Type } from '@angular/core';\nimport { BehaviorSubject, Observable } from 'rxjs';\nimport { DialogRefBase } from '../base/dialog-ref-base.class';\n\nexport interface DialogRefLoadingConfiguration {\n isLoading: boolean;\n loadingLabel?: string;\n loadingContent?: string | TemplateRef<any> | Type<any>;\n}\n\n/**\n * Reference to a dialog component\n * It can be injected into the content component through the constructor.\n * For a template, it is declared as part of the implicit context, see examples.\n */\n@Injectable()\nexport class DialogRef<T = any, P = any> extends DialogRefBase<T, P> implements DialogRefLoadingConfiguration {\n /** @hidden */\n private readonly _onHide = new BehaviorSubject<boolean>(false);\n\n /** @hidden */\n private readonly _onLoading = new BehaviorSubject<boolean>(false);\n\n /** @hidden */\n private readonly _fullScreen = new BehaviorSubject<boolean>(false);\n\n /** Observable that is triggered whenever the dialog should be visually hidden or visible.*/\n onHide: Observable<boolean> = this._onHide.asObservable();\n\n /** Observable that is triggered whenever the dialog should be displayed in loading state.*/\n onLoading: Observable<boolean> = this._onLoading.asObservable();\n\n /** Observable that is triggered whenever the full-screen state being changed. */\n fullScreen = this._fullScreen.asObservable();\n\n /** Value used to determine if dialog window should be hidden or visible. */\n isLoading: boolean;\n\n /** Text, that is rendered in loading state */\n loadingLabel?: string;\n\n /** Content, that is rendered in loading state before busy indicator */\n loadingContent?: DialogRefLoadingConfiguration['loadingContent'];\n\n /**\n * Visually hides the dialog.\n * @param isHidden Value used to determine if dialog window should be hidden or visible.\n */\n hide(isHidden: boolean): void {\n this._onHide.next(isHidden);\n }\n\n /**\n * Displays the dialog in loading state.\n * @param loadingData Value used to determine if dialog window should be displayed in loading state.\n */\n loading(loadingData: boolean | DialogRefLoadingConfiguration): void {\n if (typeof loadingData === 'boolean') {\n return this.loading({ isLoading: loadingData });\n }\n this.loadingLabel = loadingData.loadingLabel;\n this.loadingContent = loadingData.loadingContent;\n this.isLoading = loadingData.isLoading;\n this._onLoading.next(loadingData.isLoading);\n }\n\n /**\n * Toggles full-screen mode of the Dialog.\n */\n toggleFullScreen(): void {\n this._fullScreen.next(!this._fullScreen.value);\n }\n}\n","import { ChangeDetectionStrategy, Component, ElementRef, Optional, ViewEncapsulation } from '@angular/core';\nimport { FD_DIALOG_BODY_COMPONENT } from '../tokens';\n\nimport { AsyncPipe } from '@angular/common';\nimport { DynamicPortalComponent } from '@fundamental-ngx/cdk/utils';\nimport { BusyIndicatorComponent } from '@fundamental-ngx/core/busy-indicator';\nimport { ScrollbarDirective } from '@fundamental-ngx/core/scrollbar';\nimport { DialogConfig } from '../utils/dialog-config.class';\nimport { DialogRef } from '../utils/dialog-ref.class';\n\n/**\n * Applies fundamental layout and styling to the contents of a dialog body.\n *\n * ```html\n * <fd-dialog-body>\n * <!-- Content -->\n * </fd-dialog-body>\n * ```\n */\n@Component({\n selector: 'fd-dialog-body',\n templateUrl: 'dialog-body.component.html',\n host: {\n '[class.fd-dialog__body]': 'true',\n '[class.fd-dialog__body--no-vertical-padding]': '!dialogConfig.verticalPadding',\n '[class.fd-dialog__body--no-horizontal-padding]': '!dialogConfig.horizontalPadding',\n '[style.min-height]': 'dialogConfig.bodyMinHeight',\n '[style.padding]': 'dialogConfig.disablePaddings ? 0 : \"1rem\"'\n },\n providers: [\n {\n provide: FD_DIALOG_BODY_COMPONENT,\n useExisting: DialogBodyComponent\n }\n ],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n hostDirectives: [ScrollbarDirective],\n standalone: true,\n imports: [DynamicPortalComponent, BusyIndicatorComponent, AsyncPipe]\n})\nexport class DialogBodyComponent {\n /** @hidden */\n constructor(\n public readonly elementRef: ElementRef,\n @Optional() public dialogConfig: DialogConfig,\n @Optional() public dialogRef: DialogRef\n ) {}\n}\n","<ng-content></ng-content>\n@if (dialogRef.onLoading | async) {\n <div class=\"fd-dialog__loader fd-busy-indicator-dialog\">\n @if (dialogRef.loadingContent) {\n <fdk-dynamic-portal class=\"fd-text\" [auto]=\"dialogRef.loadingContent\"></fdk-dynamic-portal>\n }\n <fd-busy-indicator [loading]=\"true\" size=\"l\" [label]=\"dialogRef.loadingLabel\"></fd-busy-indicator>\n </div>\n}\n","import { ChangeDetectionStrategy, Component, Input, ViewEncapsulation } from '@angular/core';\nimport { IconComponent } from '@fundamental-ngx/core/icon';\n\n/**\n * Directive that applies fundamental dialog styling to a dialog close button.\n *\n * ```html\n * <button fd-dialog-close-button></button>\n * ```\n */\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: '[fd-dialog-close-button]',\n host: {\n '[attr.aria-label]': '\"close\"',\n '[class.fd-button]': 'true',\n '[class.is-compact]': '!mobile',\n '[class.fd-button--transparent]': 'true',\n '[attr.title]': 'title'\n },\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: `<fd-icon glyph=\"decline\"></fd-icon><ng-content></ng-content>`,\n standalone: true,\n imports: [IconComponent]\n})\nexport class DialogCloseButtonComponent {\n /** Displays dialog close button in mobile mode */\n @Input()\n mobile = false;\n\n /** add title dynamically to add a tooltip */\n @Input()\n title: string;\n\n /** add aria label dynamically to add to the button */\n @Input()\n ariaLabel: string;\n}\n","import {\n AfterContentInit,\n ChangeDetectorRef,\n ContentChildren,\n Directive,\n QueryList,\n TemplateRef,\n inject\n} from '@angular/core';\nimport { startWith } from 'rxjs/operators';\n\nimport { TemplateDirective } from '@fundamental-ngx/cdk/utils';\nimport { ButtonBarComponent, FD_BUTTON_BAR_COMPONENT } from '@fundamental-ngx/core/bar';\nimport { ButtonComponent } from '@fundamental-ngx/core/button';\n\n@Directive()\nexport abstract class DialogFooterBase implements AfterContentInit {\n /** @hidden */\n @ContentChildren(TemplateDirective)\n customTemplates: QueryList<TemplateDirective>;\n\n /** @hidden */\n @ContentChildren(FD_BUTTON_BAR_COMPONENT)\n buttons: QueryList<ButtonBarComponent>;\n\n /** @hidden */\n footerTemplate: TemplateRef<any> | undefined;\n\n /** @hidden */\n private readonly _cdr = inject(ChangeDetectorRef);\n\n /** @hidden */\n ngAfterContentInit(): void {\n this._assignCustomTemplates();\n }\n\n /** @hidden */\n protected _listenForButtonChanges(className: string): void {\n const addClassToButton = (button: ButtonComponent): void => {\n if (button && !button.class.includes(className)) {\n button.class = button.class + className;\n button.buildComponentCssClass();\n }\n };\n\n this.buttons.changes.pipe(startWith(1)).subscribe(() =>\n this.buttons.forEach((button) => {\n addClassToButton(button._buttonComponent);\n })\n );\n }\n\n /** @hidden Assign custom templates */\n private _assignCustomTemplates(): void {\n const footerTemplate = this.customTemplates.find((template) => template.name === 'footer');\n this.footerTemplate = footerTemplate ? footerTemplate.templateRef : undefined;\n this._cdr.detectChanges();\n }\n}\n","import {\n AfterContentInit,\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n inject\n} from '@angular/core';\n\nimport { NgTemplateOutlet } from '@angular/common';\nimport { BarModule } from '@fundamental-ngx/core/bar';\nimport { ContentDensityDirective } from '@fundamental-ngx/core/content-density';\nimport { DialogFooterBase } from '../base/dialog-footer-base.class';\nimport { DialogConfig } from '../utils/dialog-config.class';\n\nexport const DialogButtonClass = 'fd-dialog__decisive-button';\n\n/**\n * Building block of the dialog used to create dialog button.\n *\n * ```html\n * <fd-dialog-footer><!--Content--></fd-dialog-footer>\n *\n * Complex footer:\n * <fd-dialog-footer>\n * <ng-template fdkTemplate=\"footer\"><!--Content--></ng-template>\n * </fd-dialog-footer>\n * ```\n * */\n@Component({\n selector: 'fd-dialog-footer',\n templateUrl: './dialog-footer.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n standalone: true,\n imports: [BarModule, ContentDensityDirective, NgTemplateOutlet]\n})\nexport class DialogFooterComponent extends DialogFooterBase implements AfterContentInit, AfterViewInit {\n /** @hidden */\n dialogConfig = inject(DialogConfig, { optional: true }) || {};\n\n /** @hidden */\n ngAfterContentInit(): void {\n super.ngAfterContentInit();\n }\n\n /** @hidden */\n ngAfterViewInit(): void {\n this._listenForButtonChanges(DialogButtonClass);\n }\n}\n","<footer fd-bar class=\"fd-dialog__footer\" barDesign=\"footer\" [fdCozy]=\"dialogConfig.mobile\">\n <ng-template [ngTemplateOutlet]=\"footerTemplate ? footerTemplate : defaultTemplate\"></ng-template>\n\n <ng-template #defaultTemplate>\n <div fd-bar-right>\n <ng-content></ng-content>\n </div>\n </ng-template>\n</footer>\n","import {\n AfterContentInit,\n ChangeDetectorRef,\n ContentChild,\n ContentChildren,\n Directive,\n QueryList,\n TemplateRef,\n inject\n} from '@angular/core';\n\nimport { TemplateDirective } from '@fundamental-ngx/cdk/utils';\nimport { TitleComponent, TitleToken } from '@fundamental-ngx/core/title';\n\n@Directive()\nexport abstract class DialogHeaderBase implements AfterContentInit {\n /** @hidden */\n @ContentChild(TitleToken)\n set defaultTitleSize(title: TitleComponent) {\n if (title && !title.headerSize) {\n title.headerSize = 5;\n this._changeDetectorRef.detectChanges();\n }\n }\n\n /** @hidden */\n @ContentChildren(TemplateDirective)\n customTemplates: QueryList<TemplateDirective>;\n\n /** @hidden */\n headerTemplate: TemplateRef<any>;\n\n /** @hidden */\n subHeaderTemplate: TemplateRef<any>;\n\n /** @hidden */\n private readonly _changeDetectorRef = inject(ChangeDetectorRef);\n\n /** @hidden */\n ngAfterContentInit(): void {\n this._assignCustomTemplates();\n }\n\n /** @hidden Assign custom templates */\n private _assignCustomTemplates(): void {\n this.customTemplates.forEach((template) => {\n switch (template.name) {\n case 'header':\n this.headerTemplate = template.templateRef;\n break;\n case 'subheader':\n this.subHeaderTemplate = template.templateRef;\n break;\n }\n });\n this._changeDetectorRef.detectChanges();\n }\n}\n","import { AfterContentInit, ChangeDetectionStrategy, Component, ViewEncapsulation, inject } from '@angular/core';\n\nimport { NgTemplateOutlet } from '@angular/common';\nimport { BarModule } from '@fundamental-ngx/core/bar';\nimport { ContentDensityDirective } from '@fundamental-ngx/core/content-density';\nimport { DialogHeaderBase } from '../base/dialog-header-base.class';\nimport { DialogConfig } from '../utils/dialog-config.class';\n\n/**\n * Applies fundamental layout and styling to the contents of a dialog header.\n *\n * ```html\n * <fd-dialog-header>\n * <h1 fd-title>Title</h1>\n * <button fd-dialog-close-button></button>\n * </fd-dialog-header>\n * ```\n */\n@Component({\n selector: 'fd-dialog-header',\n templateUrl: './dialog-header.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n standalone: true,\n imports: [BarModule, ContentDensityDirective, NgTemplateOutlet]\n})\nexport class DialogHeaderComponent extends DialogHeaderBase implements AfterContentInit {\n /** @hidden */\n dialogConfig = inject(DialogConfig, { optional: true }) || {};\n}\n","<div\n fd-bar\n class=\"fd-dialog__header\"\n [fdCozy]=\"dialogConfig.mobile\"\n [barDesign]=\"subHeaderTemplate ? 'header-with-subheader' : 'header'\"\n>\n <ng-template [ngTemplateOutlet]=\"headerTemplate ? headerTemplate : defaultTemplate\"></ng-template>\n <ng-template #defaultTemplate>\n <div fd-bar-left>\n <fd-bar-element [fullWidth]=\"true\">\n <ng-content select=\"[fd-title]\"></ng-content>\n </fd-bar-element>\n </div>\n <div fd-bar-right>\n <fd-bar-element>\n <ng-content select=\"[fd-dialog-full-screen-toggler-button]\"></ng-content>\n <ng-content select=\"[fd-dialog-close-button]\"></ng-content>\n </fd-bar-element>\n </div>\n </ng-template>\n</div>\n@if (subHeaderTemplate) {\n <div fd-bar class=\"fd-dialog__subheader\" barDesign=\"subheader\" [fdCozy]=\"dialogConfig.mobile\">\n <ng-template [ngTemplateOutlet]=\"subHeaderTemplate\"></ng-template>\n </div>\n}\n","import { ComponentRef, DestroyRef, Injectable, inject } from '@angular/core';\n\nimport { DialogConfig } from '../utils/dialog-config.class';\nimport { DialogContainer } from '../utils/dialog-container.model';\nimport { DialogConfigBase } from './dialog-config-base.class';\nimport { DialogRefBase } from './dialog-ref-base.class';\n\n/** Service used to dynamically generate a dialog. */\n@Injectable()\nexport abstract class DialogBaseService<T extends DialogContainer<any>> {\n abstract open<D>(content: unknown, config: DialogConfigBase<D>): DialogRefBase<D>;\n /** @hidden Collection of existing dialog references */\n protected _dialogs: ComponentRef<T>[] = [];\n\n /** @hidden */\n protected _destroyRef = inject(DestroyRef);\n\n /**\n * Status of the dialog service.\n * Returns true if there are open dialogs, false otherwise.\n */\n hasOpenDialogs(): boolean {\n return this._dialogs && this._dialogs.length > 0;\n }\n\n /** Dismisses all currently open dialogs. */\n dismissAll(reason?: any): void {\n this._dialogs.forEach((item) => {\n item.instance.ref.dismiss(reason);\n item.destroy();\n });\n this._dialogs = [];\n }\n\n /** @hidden Extends configuration using default values*/\n protected _applyDefaultConfig(config: DialogConfig, defaultConfig: DialogConfig): DialogConfig {\n return { ...defaultConfig, ...config };\n }\n\n /** @hidden Destroy existing dialog */\n protected _destroyDialog(dialog: ComponentRef<T>): void {\n this._dialogs = this._dialogs.filter((d) => d !== dialog);\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n DestroyRef,\n Input,\n OnInit,\n ViewEncapsulation,\n inject,\n signal\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { Nullable } from '@fundamental-ngx/cdk/utils';\nimport { IconComponent } from '@fundamental-ngx/core/icon';\nimport { DialogRef } from '../utils/dialog-ref.class';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: '[fd-dialog-full-screen-toggler-button]',\n standalone: true,\n imports: [IconComponent],\n template: `<fd-icon [glyph]=\"_fullscreen$() ? 'exitfullscreen' : 'full-screen'\"></fd-icon>`,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '[class.fd-button]': 'true',\n '[class.is-compact]': '!mobile',\n '[class.fd-button--transparent]': 'true',\n '[attr.title]': 'title'\n }\n})\nexport class DialogFullScreenTogglerButtonComponent implements OnInit {\n /** Displays dialog close button in mobile mode */\n @Input()\n mobile = false;\n\n /** DialogRef direct reference. Used with template-based dialogs. */\n @Input()\n dialogRef: Nullable<DialogRef>;\n\n /** add title dynamically to add a tooltip */\n @Input()\n title: string;\n\n /** @hidden */\n _fullscreen$ = signal(false);\n\n /** @hidden */\n private readonly _ref = inject(DialogRef, {\n optional: true\n });\n\n /** @hidden */\n private readonly _destroyRef = inject(DestroyRef);\n\n /** @hidden */\n ngOnInit(): void {\n const ref = this._ref || this.dialogRef;\n ref?.fullScreen.pipe(takeUntilDestroyed(this._destroyRef)).subscribe((isFullScreen) => {\n this._fullscreen$.set(isFullScreen);\n });\n }\n}\n","/** @hidden Describes available dialog padding sizes */\nexport type DialogSize = 'sm' | 'md' | 'lg' | 'xl';\n\n/** @hidden Returns dialog size based on width\n * @param width - dialog window width\n **/\nexport function dialogWidthToSize(width: number): DialogSize {\n if (width < 599) {\n return 'sm';\n } else if (width < 1023) {\n return 'md';\n } else if (width < 1439) {\n return 'lg';\n }\n return 'xl';\n}\n","import { ESCAPE } from '@angular/cdk/keycodes';\nimport {\n AfterViewInit,\n ChangeDetectorRef,\n Directive,\n ElementRef,\n HostBinding,\n HostListener,\n inject,\n isDevMode,\n NgZone,\n OnDestroy,\n OnInit\n} from '@angular/core';\nimport { NavigationStart, Router } from '@angular/router';\nimport { asyncScheduler, fromEvent, Observable, of, Subscription } from 'rxjs';\nimport { debounceTime, filter, observeOn, take } from 'rxjs/operators';\n\nimport { FocusTrapService, HasElementRef, KeyUtil, RtlService } from '@fundamental-ngx/cdk/utils';\n\nimport { FD_DIALOG_FOCUS_TRAP_ERROR } from '../tokens';\nimport { DialogSize, dialogWidthToSize } from '../utils/dialog-width-to-size';\nimport { DialogConfigBase } from './dialog-config-base.class';\nimport { DialogRefBase, FD_DIALOG_DISMISS_REASON } from './dialog-ref-base.class';\n\nfunction coerceMetricValue(value: string | number | undefined): string | undefined {\n return typeof value === 'number' ? `${value}px` : value;\n}\n\n@Directive()\nexport abstract class DialogBase<T = any, D extends DialogRefBase<T> = DialogRefBase<T>>\n implements OnInit, AfterViewInit, OnDestroy, HasElementRef\n{\n /** @hidden Reference to dialog window element*/\n abstract dialogWindow: ElementRef;\n\n /**\n * @hidden\n */\n @HostBinding('attr.dir')\n _dir: string;\n\n /** @hidden Dialog padding sizes */\n dialogPaddingSize: DialogSize;\n\n /** @hidden */\n readonly _focusTrapService = inject(FocusTrapService);\n /** @hidden */\n readonly _changeDetectorRef = inject(ChangeDetectorRef);\n /** @hidden */\n readonly elementRef = inject(ElementRef);\n\n /** @hidden */\n protected readonly _router = inject(Router);\n\n /** @hidden */\n protected readonly _rtlService = inject(RtlService, { optional: true });\n\n /** @hidden */\n protected _focusTrapId: string;\n\n /** @hidden */\n protected _subscriptions = new Subscription();\n\n /** @hidden */\n abstract get _ref(): D;\n\n /** @hidden */\n abstract get _config(): DialogConfigBase<any>;\n\n /**\n * @hidden\n * Used to mute errors of focus trap during unit tests (jsdom incompatibility).\n */\n private readonly _focusTrapError = inject(FD_DIALOG_FOCUS_TRAP_ERROR, {\n optional: true\n });\n\n /** @hidden */\n private readonly _zone = inject(NgZone);\n\n /** @hidden Listen and close dialog on Escape key */\n @HostListener('keydown', ['$event'])\n closeDialogEsc(event: KeyboardEvent): void {\n if (this._config.escKeyCloseable && KeyUtil.isKeyCode(event, ESCAPE)) {\n this._ref.dismiss(FD_DIALOG_DISMISS_REASON.ESCAPE);\n }\n }\n\n /** @hidden Listen and close dialog on Backdrop click */\n @HostListener('mousedown', ['$event.target'])\n closeDialog(target: ElementRef): void {\n if (this._config.backdropClickCloseable && target === this.elementRef.nativeElement) {\n this._ref.dismiss(FD_DIALOG_DISMISS_REASON.BACKDROP);\n }\n }\n\n /** @hidden */\n ngOnInit(): void {\n this._listenAndCloseOnNavigation();\n this._subscriptions.add(\n this._rtlService?.rtl.subscribe((isRtl) => {\n this._dir = isRtl ? 'rtl' : 'ltr';\n this._changeDetectorRef.detectChanges();\n })\n );\n }\n\n /** @hidden */\n ngAfterViewInit(): void {\n this._trapFocus();\n this._setPosition();\n this._setWidthHeight();\n this._listenOnWindowResize();\n this.adjustResponsivePadding();\n this._ref.loaded();\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n this._deactivateFocusTrap();\n this._subscriptions.unsubscribe();\n }\n\n /** @hidden Determine dialog padding size based on dialogs window width */\n adjustResponsivePadding(): void {\n if (this._config.responsivePadding) {\n const dialogWidth = this.dialogWindow.nativeElement.getBoundingClientRect().width;\n this.dialogPaddingSize = dialogWidthToSize(dialogWidth);\n this._changeDetectorRef.detectChanges();\n }\n }\n\n /** @hidden Listen on NavigationStart event and dismiss the dialog */\n private _listenAndCloseOnNavigation(): void {\n if (this._router) {\n this._subscriptions.add(\n this._router.events\n .pipe(filter((event) => event instanceof NavigationStart && !!this._config.closeOnNavigation))\n .subscribe(() => this._ref.dismiss(FD_DIALOG_DISMISS_REASON.NAVIGATION_CHANGE))\n );\n }\n }\n\n /** @hidden Trap focus inside dialog window */\n private _trapFocus(): void {\n if (this._config.focusTrapped) {\n this._subscriptions.add(\n this._onMicrotaskEmpty().subscribe(() => {\n try {\n this._focusTrapId = this._focusTrapService.createFocusTrap(this.dialogWindow.nativeElement, {\n clickOutsideDeactivates: this._config.backdropClickCloseable && this._config.hasBackdrop,\n escapeDeactivates: false,\n fallbackFocus: this.dialogWindow.nativeElement,\n allowOutsideClick: () => true\n });\n } catch (e) {\n isDevMode() && this._focusTrapError !== true && console.error(e);\n }\n })\n );\n }\n }\n\n /** @hidden */\n private _deactivateFocusTrap(): void {\n this._focusTrapService.deactivateFocusTrap(this._focusTrapId);\n }\n\n /** @hidden Set dialog window position */\n private _setPosition(): void {\n if (this._config.position) {\n this.dialogWindow.nativeElement.style.top = coerceMetricValue(this._config.position.top);\n this.dialogWindow.nativeElement.style.bottom = coerceMetricValue(this._config.position.bottom);\n this.dialogWindow.nativeElement.style.left = coerceMetricValue(this._config.position.left);\n this.dialogWindow.nativeElement.style.right = coerceMetricValue(this._config.position.right);\n } else {\n this.dialogWindow.nativeElement.style.position = 'relative';\n }\n }\n\n /** @hidden Set dialog window width and height */\n private _setWidthHeight(): void {\n this.dialogWindow.nativeElement.style.width = coerceMetricValue(this._config.width);\n this.dialogWindow.nativeElement.style.height = coerceMetricValue(this._config.height);\n this.dialogWindow.nativeElement.style.minWidth = coerceMetricValue(this._config.minWidth);\n this.dialogWindow.nativeElement.style.minHeight = coerceMetricValue(this._config.minHeight);\n this.dialogWindow.nativeElement.style.maxWidth = coerceMetricValue(this._config.maxWidth);\n this.dialogWindow.nativeElement.style.maxHeight = coerceMetricValue(this._config.maxHeight);\n }\n\n /** @hidden Listen on window resize and adjust padding */\n private _listenOnWindowResize(): void {\n if (this._config.responsivePadding) {\n this._subscriptions.add(\n fromEvent(window, 'resize')\n .pipe(debounceTime(100))\n .subscribe(() => this.adjustResponsivePadding())\n );\n }\n }\n\n /** @hidden */\n private _onMicrotaskEmpty(): Observable<null> {\n return this._zone.hasPendingMicrotasks\n ? this._zone.onMicrotaskEmpty.pipe(observeOn(asyncScheduler), take(1))\n : of(null);\n }\n}\n","import { AfterViewInit, Directive, Input, Optional } from '@angular/core';\n\nimport { DialogConfig } from '../utils/dialog-config.class';\n\nlet titleUniqueId = 1;\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[fd-dialog-title]',\n host: {\n '[attr.id]': 'id'\n },\n standalone: true\n})\nexport class DialogTitleDirective implements AfterViewInit {\n /** Title ID attribute, generated automatically if not provided */\n @Input()\n id = `fd-dialog-title-` + titleUniqueId++;\n\n /** @hidden */\n constructor(@Optional() public dialogConfig: DialogConfig) {}\n\n /** @hidden */\n ngAfterViewInit(): void {\n if (this.dialogConfig && !this.dialogConfig.ariaLabelledBy) {\n this.dialogConfig.ariaLabelledBy = this.id;\n }\n }\n}\n","import {\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n ContentChild,\n ElementRef,\n Input,\n OnChanges,\n OnDestroy,\n OnInit,\n Optional,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport { contentDensityObserverProviders } from '@fundamental-ngx/core/content-density';\nimport { Subscription } from 'rxjs';\n\nimport { applyCssClass, CssClassBuilder } from '@fundamental-ngx/cdk/utils';\n\nimport { A11yModule } from '@angular/cdk/a11y';\nimport { CdkDrag, CdkDragHandle } from '@angular/cdk/drag-drop';\nimport { CdkScrollable } from '@angular/cdk/overlay';\n\nimport { ResizeDirective, ResizeHandleDirective } from '@fundamental-ngx/cdk/utils';\nimport { ScrollbarDirective } from '@fundamental-ngx/core/scrollbar';\nimport { DialogBase } from './base/dialog-base.class';\nimport { DialogBodyComponent } from './dialog-body/dialog-body.component';\nimport { DialogFooterComponent } from './dialog-footer/dialog-footer.component';\nimport { DialogHeaderComponent } from './dialog-header/dialog-header.component';\nimport { DialogTitleDirective } from './directives/dialog-title.directive';\nimport { DialogConfig } from './utils/dialog-config.class';\nimport { DialogRef } from './utils/dialog-ref.class';\n\n/**\n * Dialog component.\n *\n * ```html\n * <fd-dialog>\n * <fd-dialog-header></fd-dialog-header>\n * <fd-dialog-body></fd-dialog-body>\n * <fd-dialog-footer></fd-dialog-footer>\n * </fd-dialog>\n * ```\n */\n@Component({\n selector: 'fd-dialog',\n styleUrl: 'dialog.component.scss',\n templateUrl: './dialog.component.html',\n host: {\n tabindex: '-1'\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [contentDensityObserverProviders({ alwaysAddModifiers: true })],\n standalone: true,\n imports: [\n ResizeDirective,\n A11yModule,\n CdkDrag,\n CdkScrollable,\n ScrollbarDirective,\n ResizeHandleDirective,\n CdkDragHandle\n ]\n})\nexport class DialogComponent\n extends DialogBase<DialogRef>\n implements OnInit, OnChanges, AfterViewInit, OnDestroy, CssClassBuilder\n{\n /** Custom classes */\n @Input()\n set class(userClass: string) {\n this._class = userClass;\n }\n\n /** DialogRef - should be used for Template based Dialog implementation */\n // eslint-disable-next-line @angular-eslint/no-input-rename\n @Input('dialogRef')\n set embeddedDialogRef(value: DialogRef) {\n this._dialogRef = value;\n }\n\n get embeddedDialogRef(): DialogRef {\n return this._dialogRef;\n }\n\n /** DialogConfig - should be used for Template based Dialog implementation */\n // eslint-disable-next-line @angular-eslint/no-input-rename\n @Input('dialogConfig')\n set embeddedDialogConfig(value: DialogConfig) {\n this.dialogConfig = value;\n }\n\n /** @hidden */\n @ViewChild('dialogWindow')\n dialogWindow: ElementRef;\n\n /** @hidden If dialog sub-components didn't receive DialogConfig from Injector, DialogConfig is passed from parent.\n * This is necessary when dialog has been passed as TemplateRef and created as EmbeddedView.\n * In such case parent injector of DialogComponent is the component that DECLARED the TemplateRef.\n **/\n @ContentChild(DialogHeaderComponent)\n set dialogHeaderConfig(component: DialogHeaderComponent) {\n if (component) {\n component.dialogConfig = this.dialogConfig;\n }\n }\n\n /** @hidden */\n @ContentChild(DialogBodyComponent)\n set dialogBodyConfig(component: DialogBodyComponent) {\n if (component) {\n component.dialogRef = this._dialogRef;\n component.dialogConfig = this.dialogConfig;\n }\n }\n\n /** @hidden */\n @ContentChild(DialogFooterComponent)\n set dialogFooterConfig(component: DialogFooterComponent) {\n if (component) {\n component.dialogConfig = this.dialogConfig;\n }\n }\n\n /** @hidden */\n @ContentChild(DialogTitleDirective)\n set dialogTitle(component: DialogTitleDirective) {\n if (component) {\n component.dialogConfig = this.dialogConfig;\n }\n }\n\n /** @hidden Whenever dialog should be visible */\n showDialogWindow: boolean;\n\n /** @hidden Whenever dialog is dragged */\n isDragged: boolean;\n\n /**\n * @hidden\n * Whether the Dialog in full-screen mode.\n */\n _fullScreen = false;\n\n /** @hidden */\n private _class = '';\n\n /** @hidden */\n private _onHidden: Subscription;\n\n /** @hidden */\n constructor(\n @Optional() public dialogConfig: DialogConfig,\n @Optional() private _dialogRef: DialogRef\n ) {\n super();\n }\n\n /** @hidden */\n get _config(): DialogConfig {\n return this.dialogConfig;\n }\n\n /** @hidden */\n get _ref(): DialogRef {\n return this._dialogRef;\n }\n\n /** @hidden */\n @applyCssClass\n buildComponentCssClass(): string[] {\n return [\n this.dialogConfig.hasBackdrop ? 'fd-dialog' : 'fd-dialog--no-backdrop',\n this.dialogConfig.container !== 'body' || this.dialogConfig.position ? 'fd-dialog--targeted' : '',\n this.showDialogWindow ? 'fd-dialog--active' : '',\n this._class,\n this.dialogConfig.backdropClass ? this.dialogConfig.backdropClass : ''\n ];\n }\n\n /** @hidden */\n ngOnInit(): void {\n super.ngOnInit();\n this._listenOnHidden();\n this.buildComponentCssClass();\n }\n\n /** @hidden */\n ngOnChanges(): void {\n this.buildComponentCssClass();\n }\n\n /** @hidden */\n ngAfterViewInit(): void {\n super.ngAfterViewInit();\n this._listenOnHidden();\n this._listenOnFullScreen();\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n super.ngOnDestroy();\n this._onHidden.unsubscribe();\n }\n\n /** @hidden */\n private _listenOnFullScreen(): void {\n this._subscriptions.add(\n this._ref.fullScreen.subscribe((isFullScreen) => {\n this._fullScreen = isFullScreen;\n this._changeDetectorRef.detectChanges();\n this.adjustResponsivePadding();\n })\n );\n }\n\n /** @hidden Listen on Dialog visibility */\n private _listenOnHidden(): void {\n if (this._onHidden) {\n this._onHidden.unsubscribe();\n }\n this._onHidden = this._dialogRef.onHide.subscribe((isHidden) => {\n this.showDialogWindow = !isHidden;\n this.buildComponentCssClass();\n\n if (!this._focusTrapId) {\n return;\n }\n const focusTrapInstance = this._focusTrapService.getFocusTrapInstance(this._focusTrapId);\n if (isHidden) {\n focusTrapInstance?.pause();\n } else {\n focusTrapInstance?.unpause();\n }\n });\n }\n}\n","<div\n #dialogWindow\n role=\"dialog\"\n tabindex=\"-1\"\n aria-modal=\"true\"\n fdkResize\n cdkTrapFocus\n cdkDrag\n cdkDragBoundary=\".fd-dialog\"\n fd-scrollbar\n [fdkResizeBoundary]=\"elementRef.nativeElement\"\n class=\"fd-dialog__content\"\n [class]=\"dialogConfig.dialogPanelClass\"\n [class.cdk-drag]=\"dialogConfig.draggable\"\n [class.fd-dialog__content--s]=\"dialogPaddingSize === 'sm'\"\n [class.fd-dialog__content--m]=\"dialogPaddingSize === 'md'\"\n [class.fd-dialog__content--l]=\"dialogPaddingSize === 'lg'\"\n [class.fd-dialog__content--xl]=\"dialogPaddingSize === 'xl'\"\n [class.fd-dialog__content--mobile]=\"dialogConfig.mobile || _fullScreen\"\n [class.fd-dialog__content--no-mobile-stretch]=\"dialogConfig.mobileOuterSpacing\"\n [class.fd-dialog__content--draggable-grab]=\"dialogConfig.draggable && !isDragged\"\n [class.fd-dialog__content--draggable-grabbing]=\"dialogConfig.draggable && isDragged\"\n [class.fd-dialog__content-full-screen]=\"_fullScreen\"\n [cdkDragDisabled]=\"!dialogConfig.draggable\"\n [fdkResizeDisabled]=\"!dialogConfig.resizable\"\n [attr.id]=\"dialogConfig.id\"\n [attr.aria-label]=\"dialogConfig.ariaLabel\"\n [attr.aria-labelledby]=\"dialogConfig.ariaLabelledBy\"\n [attr.aria-describedby]=\"dialogConfig.ariaDescribedBy\"\n [attr.aria-modal]=\"dialogConfig.ariaModal\"\n (cdkDragStarted)=\"isDragged = true\"\n (cdkDragEnded)=\"isDragged = false\"\n (onResizeEnd)=\"adjustResponsivePadding()\"\n>\n @if (dialogConfig.resizable && !_fullScreen) {\n <span fdkResizeHandle class=\"fd-dialog__resize-handle\"></span>\n }\n <div cdkDragHandle [cdkDragHandleDisabled]=\"!dialogConfig.draggable\">\n <ng-content select=\"fd-dialog-header\"></ng-content>\n </div>\n <ng-content select=\"fd-dialog-body\"></ng-content>\n <ng-content select=\"fd-dialog-footer\"></ng-content>\n</div>\n","import { AfterViewInit, ChangeDetectionStrategy, ChangeDetectorRef, Component, ViewEncapsulation } from '@angular/core';\nimport { Nullable } from '@fundamental-ngx/cdk/utils';\n\nimport { CdkScrollable } from '@angular/cdk/overlay';\nimport { NgTemplateOutlet } from '@angular/common';\nimport { InitialFocusDirective, TemplateDirective } from '@fundamental-ngx/cdk/utils';\nimport { BarModule } from '@fundamental-ngx/core/bar';\nimport { ContentDensityDirective } from '@fundamental-ngx/core/content-density';\nimport { ScrollbarDirective } from '@fundamental-ngx/core/scrollbar';\nimport { TitleComponent } from '@fundamental-ngx/core/title';\nimport { DialogBodyComponent } from '../dialog-body/dialog-body.component';\nimport { DialogCloseButtonComponent } from '../dialog-close-button/dialog-close-button.component';\nimport { DialogFooterComponent } from '../dialog-footer/dialog-footer.component';\nimport { DialogFullScreenTogglerButtonComponent } from '../dialog-full-screen-toggler-button/dialog-full-screen-toggler-button.component';\nimport { DialogHeaderComponent } from '../dialog-header/dialog-header.component';\nimport { DialogComponent } from '../dialog.component';\nimport { DialogConfig } from '../utils/dialog-config.class';\nimport { DialogDefaultContent } from '../utils/dialog-default-content.class';\n\n/** Dialog component used to create the dialog in object based approach */\n@Component({\n selector: 'fd-dialog-default',\n templateUrl: './dialog-default.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n imports: [\n DialogComponent,\n DialogHeaderComponent,\n TitleComponent,\n DialogFullScreenTogglerButtonComponent,\n DialogCloseButtonComponent,\n TemplateDirective,\n NgTemplateOutlet,\n CdkScrollable,\n ScrollbarDirective,\n DialogBodyComponent,\n DialogFooterComponent,\n BarModule,\n InitialFocusDirective,\n ContentDensityDirective\n ]\n})\nexport class DialogDefaultComponent implements AfterViewInit {\n /** @hidden */\n _defaultDialogContent: Nullable<DialogDefaultContent>;\n\n /** @hidden */\n _defaultDialogConfiguration: DialogConfig;\n\n /** @hidden */\n constructor(private _changeDetectorRef: ChangeDetectorRef) {}\n\n /** @hidden\n * TODO: Inspect why DialogDefaultComponents needs change detection re-run to render adjusted content (dialog header title)\n * */\n ngAfterViewInit(): void {\n this._changeDetectorRef.detectChanges();\n }\n\n /** Whether there is a approve button, or cancel button text */\n _showFooter(): boolean {\n return (\n !!this._defaultDialogContent &&\n !!(this._defaultDialogContent.cancelButton || this._defaultDialogContent.approveButton)\n );\n }\n\n /** @hidden */\n _closeButtonClicked(): void {\n this._defaultDialogContent?.closeButtonCallback?.();\n }\n\n /** @hidden */\n _approveButtonClicked(): void {\n this._defaultDialogContent?.approveButtonCallback?.();\n }\n\n /** @hidden */\n _cancelButtonClicked(): void {\n this._defaultDialogContent?.cancelButtonCallback?.();\n }\n\n /** @hidden */\n _fullScreenButtonClicked(): void {\n this._defaultDialogContent?.fullScreenButtonCallback?.();\n }\n}\n","<fd-dialog>\n <fd-dialog-header>\n <h1 fd-title [id]=\"_defaultDialogContent?.titleId\">{{ _defaultDialogContent?.title }}</h1>\n @if (_defaultDialogContent?.allowFullScreen) {\n <button\n fd-dialog-full-screen-toggler-button\n #fullScreenTogglerButton\n [title]=\"\n (fullScreenTogglerButton._fullscreen$()\n ? _defaultDialogContent?.fullScreenMinifyButtonText\n : _defaultDialogContent?.fullScreenExpandButtonText) || ''\n \"\n (click)=\"_fullScreenButtonClicked()\"\n ></button>\n }\n @if (_defaultDialogContent?.closeButtonCallback) {\n <button\n fd-dialog-close-button\n [title]=\"_defaultDialogContent?.closeButtonTitle || ''\"\n [ariaLabel]=\"_defaultDialogContent?.closeButtonAriaLabel || ''\"\n (click)=\"_closeButtonClicked()\"\n ></button>\n }\n @if (_defaultDialogContent?.subHeader) {\n <ng-template fdkTemplate=\"subheader\">\n <ng-template [ngTemplateOutlet]=\"_defaultDialogContent!.subHeader!\"></ng-template>\n </ng-template>\n }\n </fd-dialog-header>\n @if (_defaultDialogContent?.content) {\n <fd-dialog-body>\n <ng-template [ngTemplateOutlet]=\"_defaultDialogContent?.content!\"></ng-template>\n </fd-dialog-body>\n }\n @if (_showFooter()) {\n <fd-dialog-footer>\n @if (_defaultDialogContent?.approveButton) {\n <fd-button-bar\n fdType=\"emphasized\"\n fdkInitialFocus\n [label]=\"_defaultDialogContent?.approveButton || ''\"\n [fdCozy]=\"_defaultDialogConfiguration.mobile\"\n (click)=\"_approveButtonClicked()\"\n [ariaLabel]=\"_defaultDialogContent?.approveButtonAriaLabel\"\n [id]=\"_defaultDialogContent?.approveButtonId\"\n >\n </fd-button-bar>\n }\n @if (_defaultDialogContent?.cancelButton) {\n <fd-button-bar\n [label]=\"_defaultDialogContent?.cancelButton || ''\"\n [fdCozy]=\"_defaultDialogConfiguration.mobile\"\n (click)=\"_cancelButtonClicked()\"\n [ariaLabel]=\"_defaultDialogContent?.closeButtonAriaLabel\"\n [id]=\"_defaultDialogContent?.cancelButtonId\"\n >\n </fd-button-bar>\n }\n </fd-dialog-footer>\n }\n</fd-dialog>\n","import { animate, AnimationTriggerMetadata, state, style, transition, trigger } from '@angular/animations';\n\nexport const dialogFade: AnimationTriggerMetadata = trigger('state', [\n state(\n 'void, hidden',\n style({\n opacity: 0,\n position: 'relative',\n zIndex: 999\n })\n ),\n state(\n 'visible',\n style({\n opacity: 1,\n position: 'relative',\n zIndex: 999\n })\n ),\n transition('* => visible', animate('150ms cubic-bezier(0, 0, 0.2, 1)')),\n transition(\n '* => void, * => hidden',\n animate(\n '75ms cubic-bezier(0.4, 0.0, 1, 1)',\n style({\n opacity: 0,\n position: 'relative',\n zIndex: 999\n })\n )\n )\n]);\n","import { AnimationEvent } from '@angular/animations';\nimport {\n AfterContentChecked,\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ComponentRef,\n DestroyRef,\n ElementRef,\n EmbeddedViewRef,\n HostBinding,\n HostListener,\n Injector,\n Input,\n TemplateRef,\n Type,\n ViewChild,\n ViewEncapsulation,\n ViewRef\n} from '@angular/core';\n\nimport { applyCssClass, CssClassBuilder, DynamicComponentContainer, Nullable } from '@fundamental-ngx/cdk/utils';\n\nimport { CdkPortalOutlet, CdkPortalOutletAttachedRef, PortalModule } from '@angular/cdk/portal';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { DialogDefaultComponent } from '../dialog-default/dialog-default.component';\nimport { DialogContentType } from '../dialog.types';\nimport { DialogTemplateDirectiveContext } from '../directives/dialog-template.directive';\nimport { DialogConfig } from '../utils/dialog-config.class';\nimport { DialogContainer } from '../utils/dialog-container.model';\nimport { DialogDefaultContent } from '../utils/dialog-default-content.class';\nimport { DialogRef } from '../utils/dialog-ref.class';\nimport { dialogFade } from '../utils/dialog.animations';\n\n/** Dialog container where the dialog content is embedded. */\n@Component({\n selector: 'fd-dialog-container',\n template: '<ng-template (attached)=\"_attached($event)\" cdkPortalOutlet></ng-template>',\n styleUrl: './dialog-container.component.scss',\n animations: [dialogFade],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n imports: [PortalModule]\n})\nexport class DialogContainerComponent\n extends DynamicComponentContainer<DialogContentType>\n implements DialogContainer<any>, AfterViewInit, AfterContentChecked, CssClassBuilder\n{\n /** Custom classes */\n @Input()\n set class(userClass: string) {\n this._class = userClass;\n this.buildComponentCssClass();\n }\n\n /** @hidden */\n @ViewChild(CdkPortalOutlet)\n portalOutlet: CdkPortalOutlet;\n\n /** The state of the Dialog animations. */\n @HostBinding('@state')\n _animationState = 'void';\n\n /** @hidden */\n private _class = '';\n\n /** @hidden */\n constructor(\n public dialogConfig: DialogConfig,\n public ref: DialogRef,\n private _destroyRef: DestroyRef,\n elementRef: ElementRef,\n protected readonly _cdr: ChangeDetectorRef,\n injector: Injector\n ) {\n super(elementRef, injector);\n }\n\n /** @hidden */\n @applyCssClass\n buildComponentCssClass(): string[] {\n return [this.dialogConfig.containerClass ? this.dialogConfig.containerClass : '', this._class];\n }\n\n /** Handle end of animations, updating the state of the Message Toast. */\n @HostListener('@state.done', ['$event'])\n onAnimationEnd(event: AnimationEvent): void {\n const { toState } = event;\n\n if (toState === 'hidden') {\n this.ref._endClose$.next();\n this.ref._endClose$.complete();\n }\n }\n\n /** @hidden */\n ngAfterViewInit(): void {\n setTimeout(() => {\n this._loadContent();\n this._listenOnClose();\n });\n }\n\n /** @hidden */\n ngAfterContentChecked(): void {\n if (this.portalOutlet) {\n this._cdr.markForCheck();\n }\n }\n\n /** @hidden */\n protected _attached(event: CdkPortalOutletAttachedRef): void {\n if (event instanceof ComponentRef) {\n event.changeDetectorRef.markForCheck();\n } else if (event instanceof EmbeddedViewRef) {\n event.markForCheck();\n }\n }\n\n /** @hidden Load received content */\n protected _loadContent(): void {\n if ((this._cdr as ViewRef).destroyed) {\n return;\n }\n if (this.childContent instanceof Type) {\n this._createFromComponent(this.childContent);\n } else if (this.childContent instanceof TemplateRef) {\n this._createFromTemplate(this.childContent, this._templateContext());\n } else {\n this._createFromDefaultDialog(this.childContent);\n }\n this._animationState = 'visible';\n this._cdr.detectChanges();\n }\n\n /** @hidden Returns context for embedded template*/\n private _templateContext(): DialogTemplateDirectiveContext {\n return { $implicit: this.ref, dialogConfig: this.dialogConfig };\n }\n\n /** @hidden Load Dialog component from passed object */\n private _createFromDefaultDialog(config: Nullable<DialogDefaultContent>): void {\n this._createFromComponent(DialogDefaultComponent);\n const instance = (this._componentRef as ComponentRef<DialogDefaultComponent>).instance;\n instance._defaultDialogContent = config;\n instance._defaultDialogConfiguration = this.dialogConfig;\n }\n\n /**\n * @hidden\n * We need to wait until animation plays, and then send signal to the service to destroy the component.\n */\n private _listenOnClose(): void {\n const callback: () => void = () => {\n this._animationState = 'hidden';\n this._cdr.detectChanges();\n };\n this.ref.afterClosed.pipe(takeUntilDestroyed(this._destroyRef)).subscribe({\n next: () => callback(),\n error: () => callback()\n });\n }\n}\n","import { Overlay, OverlayConfig } from '@angular/cdk/overlay';\nimport { ComponentPortal } from '@angular/cdk/portal';\nimport { isPlatformBrowser } from '@angular/common';\nimport { Inject, Injectable, Injector, Optional, PLATFORM_ID, inject } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { RtlService } from '@fundamental-ngx/cdk/utils';\nimport { DialogBaseService } from '../base/dialog-base.service';\nimport { DialogContainerComponent } from '../dialog-container/dialog-container.component';\nimport { DialogContentType } from '../dialog.types';\nimport { DIALOG_DEFAULT_CONFIG, DialogConfig } from '../utils/dialog-config.class';\nimport { DialogRef } from '../utils/dialog-ref.class';\n\n/** Service used to create a dialog. */\n@Injectable({\n providedIn: 'root'\n})\nexport class DialogService extends DialogBaseService<DialogContainerComponent> {\n /** @hidden */\n private platformId = inject(PLATFORM_ID);\n /** @hidden */\n private readonly htmlElement?: HTMLHtmlElement;\n\n /** @hidden */\n constructor(\n @Optional() @Inject(DIALOG_DEFAULT_CONFIG) private _defaultConfig: DialogConfig,\n @Optional() private _rtlService: RtlService,\n private _injector: Injector,\n private readonly _overlay: Overlay\n ) {\n super();\n if (isPlatformBrowser(this.platformId)) {\n this.htmlElement = document.querySelector('html') as HTMLHtmlElement;\n }\n }\n\n /**\n * Opens a dialog component with provided content.\n * @param content Content of the dialog component.\n * @param dialogConfig Configuration of the dialog component.\n * @param parentInjector Parent injector instance.\n */\n public open<T = any>(\n content: DialogContentType,\n dialogConfig?: DialogConfig<T>,\n parentInjector?: Injector\n ): DialogRef<T> {\n const dialogRef = new DialogRef();\n if (!parentInjector) {\n parentInjector = this._injector;\n }\n\n dialogConfig = this._applyDefaultConfig(dialogConfig || {}, this._defaultConfig || new DialogConfig());\n dialogRef.data = dialogConfig.data;\n\n const injector = Injector.create({\n providers: [\n { provide: DialogConfig, useValue: dialogConfig },\n { provide: DialogRef, useValue: dialogRef },\n { provide: RtlService, useValue: this._rtlService },\n { provide: DialogService, useValue: this }\n ],\n parent: parentInjector\n });\n\n const overlayRef = this._overlay.create(new OverlayConfig());\n\n if (dialogConfig.container && dialogConfig.container !== 'body' && typeof dialogConfig.container !== 'string') {\n dialogConfig.container.append(overlayRef.hostElement);\n }\n const portal = new ComponentPortal(DialogContainerComponent, null, injector);\n const componentRef = overlayRef.attach(portal);\n\n componentRef.instance.childContent = content;\n componentRef.instance.dialogConfig = dialogConfig;\n\n this._dialogs.push(componentRef);\n\n this.htmlElement && (this.htmlElement.style.overflow = 'hidden');\n dialogRef._endClose$.pipe(takeUntilDestroyed(this._destroyRef)).subscribe(() => {\n this._destroyDialog(componentRef);\n componentRef.destroy();\n overlayRef.dispose();\n this.htmlElement && (this.htmlElement.style.overflow = '');\n });\n\n return dialogRef;\n }\n}\n","import { Directive, Input, TemplateRef, inject } from '@angular/core';\nimport { DialogConfig } from '../utils/dialog-config.class';\nimport { DialogRef } from '../utils/dialog-ref.class';\n\nexport interface DialogTemplateDirectiveContext<T = DialogConfig<any>, U = T extends DialogConfig<infer P> ? P : any> {\n $implicit: DialogRef<U>;\n dialogConfig: T;\n}\n@Directive({\n selector: '[fdDialogTemplate]',\n standalone: true\n})\nexport class DialogTemplateDirective<T = DialogConfig<any>> {\n /** Custom dialog config model. */\n @Input()\n fdDialogTemplateConfig: T;\n\n /** @hidden */\n readonly templateRef = inject(TemplateRef<DialogTemplateDirectiveContext<T>>);\n\n /** @hidden */\n static ngTemplateContextGuard<T extends null>(\n dir: DialogTemplateDirective<T>,\n ctx: DialogTemplateDirectiveContext<DialogConfig<any>>\n ): ctx is DialogTemplateDirectiveContext<DialogConfig<any>>;\n /** @hidden */\n static ngTemplateContextGuard<T = DialogConfig<any>>(\n dir: DialogTemplateDirective<T>,\n ctx: DialogTemplateDirectiveContext<T>\n ): ctx is DialogTemplateDirectiveContext<T>;\n /** @hidden */\n static ngTemplateContextGuard<U extends DialogTemplateDirective<any>>(\n dir: U,\n ctx: DialogTemplateDirectiveContext<any>\n ): ctx is DialogTemplateDirectiveContext<DialogConfig<any>> {\n return true;\n }\n}\n","import { Provider } from '@angular/core';\nimport { DynamicComponentService } from '@fundamental-ngx/cdk/utils';\nimport { DialogService } from './dialog-service/dialog.service';\n\n/**\n * Provides necessary services for dialog functionality to properly work.\n * @returns Array of Providers.\n */\nexport function provideDialogService(): Provider[] {\n return [DialogService, DynamicComponentService];\n}\n","import { NgModule } from '@angular/core';\nimport { TemplateModule } from '@fundamental-ngx/cdk/utils';\nimport { BarModule } from '@fundamental-ngx/core/bar';\nimport { TitleComponent } from '@fundamental-ngx/core/title';\nimport { DialogBodyComponent } from './dialog-body/dialog-body.component';\nimport { DialogCloseButtonComponent } from './dialog-close-button/dialog-close-button.component';\nimport { DialogContainerComponent } from './dialog-container/dialog-container.component';\nimport { DialogDefaultComponent } from './dialog-default/dialog-default.component';\nimport { DialogFooterComponent } from './dialog-footer/dialog-footer.component';\nimport { DialogFullScreenTogglerButtonComponent } from './dialog-full-screen-toggler-button/dialog-full-screen-toggler-button.component';\nimport { DialogHeaderComponent } from './dialog-header/dialog-header.component';\nimport { DialogComponent } from './dialog.component';\nimport { DialogTemplateDirective } from './directives/dialog-template.directive';\nimport { DialogTitleDirective } from './directives/dialog-title.directive';\nimport { provideDialogService } from './provide-dialog-service';\n\nconst declarations = [\n DialogComponent,\n DialogBodyComponent,\n DialogFooterComponent,\n DialogHeaderComponent,\n DialogDefaultComponent,\n DialogContainerComponent,\n DialogCloseButtonComponent,\n DialogTitleDirective,\n DialogFullScreenTogglerButtonComponent,\n DialogTemplateDirective\n];\n\n/**\n * @deprecated\n * Use following imports instead:\n * `DialogComponent`,\n * `DialogBodyComponent`,\n * `DialogFooterComponent`,\n * `DialogHeaderComponent`,\n * `DialogCloseButtonComponent`,\n * `DialogTitleDirective`,\n * `DialogFullScreenTogglerButtonComponent`\n *\n * in order to provide dialog service, use `provideDialogService()`\n */\n@NgModule({\n imports: [\n declarations,\n // Keeping these two items for backwards compatibility.\n TemplateModule,\n BarModule,\n TitleComponent\n ],\n exports: [\n declarations,\n // Keeping these two items for backwards compatibility.\n TemplateModule,\n BarModule,\n TitleComponent\n ],\n providers: [provideDialogService()]\n})\nexport class DialogModule {}\n","import { Nullable } from '@fundamental-ngx/cdk/utils';\n\nexport class DialogContentBase<ContentType = unknown> {\n /** Dialog Title id */\n titleId?: string;\n\n /** Dialog Title */\n title?: string;\n\n /** Dialog Body */\n content?: ContentType;\n\n /** Aria Modal for the dialog component element */\n ariaModal?: boolean;\n\n /** Aria label for the dialog component element. */\n ariaLabel?: Nullable<string>;\n\n /** Aria labelby for the dialog component element. */\n ariaLabelledBy?: Nullable<string>;\n\n /** Aria DescribedBy for the dialog component element.. */\n ariaDescribedBy?: Nullable<string>;\n\n /** Approve Button Label */\n approveButton?: string;\n\n /** Approve Button Id */\n approveButtonId?: string;\n\n /** Approve Button Click Callback */\n approveButtonCallback?: () => void;\n\n /** Aria label for the dialog approve button element. */\n approveButtonAriaLabel?: string;\n\n /** Cancel Button Label */\n cancelButton?: string;\n\n /** Cancel Button Id */\n cancelButtonId?: string;\n\n /** Cancel Button Click Callback */\n cancelButtonCallback?: () => void;\n\n /** Close Button Callback */\n closeButtonCallback?: () => void;\n\n /** Full screen Button Click callback */\n fullScreenButtonCallback?: () => void;\n\n /** close button title */\n closeButtonTitle?: string;\n\n /** Aria labelby for the dialog close button element. */\n closeButtonAriaLabel?: string;\n}\n","import { TemplateRef } from '@angular/core';\nimport { DialogContentBase } from '../base/dialog-content-base.class';\n\nexport class DialogDefaultContent extends DialogContentBase<TemplateRef<any>> {\n /** Subheader Body */\n subHeader?: TemplateRef<any>;\n\n /** Whether to allow dialog to be opened in full screen mode. */\n allowFullScreen?: boolean;\n\n /** Full screen button text when dialog is not in full-screen mode. */\n fullScreenExpandButtonText?: string;\n\n /** Full screen button text when dialog is in full-screen mode. */\n fullScreenMinifyButtonText?: string;\n}\n","/**\n * Represents the positioning of the dialog on the screen.\n */\nexport class DialogPosition {\n /** Value of the dialog's top position. */\n top?: string | number;\n\n /** Value of the dialog's bottom position. */\n bottom?: string | number;\n\n /** Value of the dialog's left position. */\n left?: string | number;\n\n /** Value of the dialog's right position. */\n right?: string | number;\n}\n","import { OverlayContainer } from '@angular/cdk/overlay';\nimport { Injectable } from '@angular/core';\n\n@Injectable()\nexport class DialogOverlayContainer extends OverlayContainer {\n /**\n * This method returns the overlay container element. It will lazily\n * create the element the first time it is called to facilitate using\n * the container in non-browser environments.\n * @returns the container element\n */\n getContainerElement(): HTMLElement {\n const containerElement = super.getContainerElement();\n\n containerElement.classList.add('fd-dialog-overlay-container');\n\n return containerElement;\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.DialogConfig","i2.DialogRef","i3","i1"],"mappings":"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"}
|
|
@@ -166,6 +166,14 @@ class DynamicSideContentComponent {
|
|
|
166
166
|
this._position = 'none';
|
|
167
167
|
}
|
|
168
168
|
/** @hidden */
|
|
169
|
+
buildComponentCssClass() {
|
|
170
|
+
return [
|
|
171
|
+
DYNAMIC_SIDE_CONTENT_CLASS_NAME.container,
|
|
172
|
+
getSizeClassName(this.size),
|
|
173
|
+
getPositionClassName(this.position)
|
|
174
|
+
].filter((v) => !!v);
|
|
175
|
+
}
|
|
176
|
+
/** @hidden */
|
|
169
177
|
ngOnChanges() {
|
|
170
178
|
this.buildComponentCssClass();
|
|
171
179
|
}
|
|
@@ -178,14 +186,6 @@ class DynamicSideContentComponent {
|
|
|
178
186
|
this._listenToChildrenOrder();
|
|
179
187
|
}
|
|
180
188
|
/** @hidden */
|
|
181
|
-
buildComponentCssClass() {
|
|
182
|
-
return [
|
|
183
|
-
DYNAMIC_SIDE_CONTENT_CLASS_NAME.container,
|
|
184
|
-
getSizeClassName(this.size),
|
|
185
|
-
getPositionClassName(this.position)
|
|
186
|
-
].filter((v) => !!v);
|
|
187
|
-
}
|
|
188
|
-
/** @hidden */
|
|
189
189
|
_listenToChildrenOrder() {
|
|
190
190
|
this._children.changes.pipe(startWith(this._children)).subscribe(() => {
|
|
191
191
|
this._isSideProjectedAsFirst = this._children.first instanceof DynamicSideContentSideComponent;
|