@daffodil/design 0.78.0 → 0.79.0
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/atoms/form/form-field/form-field/form-field.component.d.ts +1 -1
- package/button/README.md +3 -3
- package/button/button/basic/button.component.d.ts +28 -0
- package/button/button/button-base.directive.d.ts +51 -0
- package/button/button/flat/flat.component.d.ts +28 -0
- package/button/button/icon/icon.component.d.ts +24 -0
- package/button/button/raised/raised.component.d.ts +28 -0
- package/button/button/stroked/stroked.component.d.ts +28 -0
- package/button/button/underline/underline.component.d.ts +28 -0
- package/button/button.d.ts +7 -2
- package/button/button.module.d.ts +8 -3
- package/button/public_api.d.ts +6 -1
- package/button/src/button/basic/button-theme.scss +145 -0
- package/button/src/button/button-base.scss +79 -0
- package/button/src/button/flat/flat-theme.scss +143 -0
- package/button/src/button/icon/icon-theme.scss +141 -0
- package/button/src/button/raised/raised-theme.scss +120 -0
- package/button/src/button/stroked/stroked-theme.scss +158 -0
- package/button/src/button/underline/underline-theme.scss +93 -0
- package/card/card.module.d.ts +1 -1
- package/container/container.module.d.ts +1 -1
- package/core/statusable/statusable.d.ts +5 -3
- package/core/statusable/statusable.directive.d.ts +6 -4
- package/esm2022/accordion/accordion/animation/accordion-animation.mjs +1 -4
- package/esm2022/atoms/form/form-field/form-field/form-field.component.mjs +2 -2
- package/esm2022/button/button/basic/button.component.mjs +48 -0
- package/esm2022/button/button/button-base.directive.mjs +105 -0
- package/esm2022/button/button/flat/flat.component.mjs +48 -0
- package/esm2022/button/button/icon/icon.component.mjs +44 -0
- package/esm2022/button/button/raised/raised.component.mjs +48 -0
- package/esm2022/button/button/stroked/stroked.component.mjs +48 -0
- package/esm2022/button/button/underline/underline.component.mjs +48 -0
- package/esm2022/button/button.mjs +12 -2
- package/esm2022/button/button.module.mjs +34 -4
- package/esm2022/button/examples/basic-button/basic-button.component.mjs +4 -6
- package/esm2022/button/examples/flat-button/flat-button.component.mjs +4 -6
- package/esm2022/button/examples/icon-button/icon-button.component.mjs +4 -6
- package/esm2022/button/examples/raised-button/raised-button.component.mjs +4 -6
- package/esm2022/button/examples/sizeable-button/sizeable-button.component.mjs +2 -2
- package/esm2022/button/examples/statusable-button/statusable-button.component.mjs +3 -3
- package/esm2022/button/examples/stroked-button/stroked-button.component.mjs +4 -6
- package/esm2022/button/examples/underline-button/underline-button.component.mjs +4 -6
- package/esm2022/button/public_api.mjs +7 -2
- package/esm2022/callout/examples/callout-text-alignment/callout-text-alignment.component.mjs +5 -7
- package/esm2022/callout/examples/callout-theming/callout-theming.component.mjs +5 -7
- package/esm2022/callout/examples/callout-with-grid/callout-with-grid.component.mjs +5 -6
- package/esm2022/callout/examples/compact-callout/compact-callout.component.mjs +4 -6
- package/esm2022/card/card.module.mjs +2 -2
- package/esm2022/card/examples/basic-card/basic-card.component.mjs +4 -6
- package/esm2022/card/examples/card-orientation/card-orientation.component.mjs +5 -7
- package/esm2022/checkbox/examples/basic-checkbox/basic-checkbox.component.mjs +4 -5
- package/esm2022/checkbox/examples/checkbox-set/checkbox-set.component.mjs +4 -5
- package/esm2022/container/container.module.mjs +2 -2
- package/esm2022/core/statusable/statusable.directive.mjs +7 -5
- package/esm2022/core/statusable/statusable.mjs +3 -2
- package/esm2022/hero/examples/compact-hero/compact-hero.component.mjs +4 -6
- package/esm2022/hero/examples/hero-text-alignment/hero-text-alignment.component.mjs +5 -7
- package/esm2022/hero/examples/hero-theming/hero-theming.component.mjs +5 -7
- package/esm2022/hero/examples/hero-with-grid/hero-with-grid.component.mjs +4 -6
- package/esm2022/hero/hero.module.mjs +2 -2
- package/esm2022/image/image.module.mjs +2 -2
- package/esm2022/link-set/link-set.module.mjs +2 -2
- package/esm2022/list/list.module.mjs +2 -2
- package/esm2022/loading-icon/examples/examples.mjs +1 -3
- package/esm2022/loading-icon/examples/loading-icon-color/loading-icon-color.component.mjs +2 -2
- package/esm2022/loading-icon/loading-icon/loading-icon.component.mjs +5 -20
- package/esm2022/loading-icon/loading-icon.module.mjs +2 -2
- package/esm2022/media-gallery/helpers/media-gallery-token.mjs +7 -3
- package/esm2022/media-gallery/media-gallery.module.mjs +2 -2
- package/esm2022/media-gallery/thumbnail/thumbnail-compat.token.mjs +8 -3
- package/esm2022/menu/examples/basic-menu/basic-menu.component.mjs +5 -7
- package/esm2022/modal/examples/basic-modal/basic-modal.component.mjs +4 -6
- package/esm2022/modal/examples/basic-modal/modal-content.component.mjs +4 -6
- package/esm2022/modal/modal-header/modal-header.component.mjs +4 -6
- package/esm2022/modal/modal.module.mjs +2 -2
- package/esm2022/navbar/examples/basic-navbar/basic-navbar.component.mjs +4 -6
- package/esm2022/navbar/examples/contained-navbar/contained-navbar.component.mjs +4 -6
- package/esm2022/navbar/examples/navbar-theming/navbar-theming.component.mjs +5 -7
- package/esm2022/navbar/examples/raised-navbar/raised-navbar.component.mjs +4 -6
- package/esm2022/navbar/navbar.module.mjs +2 -2
- package/esm2022/notification/examples/default-notification/default-notification.component.mjs +1 -3
- package/esm2022/notification/examples/notification-orientations/notification-orientations.component.mjs +1 -3
- package/esm2022/notification/examples/notification-status/notification-status.component.mjs +3 -5
- package/esm2022/notification/examples/notification-with-actions/notification-with-actions.component.mjs +4 -5
- package/esm2022/notification/notification/notification.component.mjs +3 -3
- package/esm2022/notification/notification.module.mjs +2 -2
- package/esm2022/paginator/paginator.module.mjs +2 -2
- package/esm2022/progress-bar/progress-bar.module.mjs +2 -2
- package/esm2022/sidebar/examples/over-and-under-sidebars/over-and-under-sidebars.component.mjs +5 -6
- package/esm2022/sidebar/sidebar-viewport/scroll-token/scroll.token.mjs +9 -3
- package/esm2022/sidebar/sidebar-viewport/sidebar-viewport.component.mjs +3 -3
- package/esm2022/sidebar/sidebar.module.mjs +2 -2
- package/esm2022/tabs/daffodil-design-tabs.mjs +5 -0
- package/esm2022/tabs/examples/basic-tabs/basic-tabs.component.mjs +22 -0
- package/esm2022/tabs/examples/custom-select-tabs/custom-select-tabs.component.mjs +34 -0
- package/esm2022/tabs/examples/daffodil-design-tabs-examples.mjs +5 -0
- package/esm2022/tabs/examples/disabled-tabs/disabled-tabs.component.mjs +22 -0
- package/esm2022/tabs/examples/index.mjs +2 -0
- package/esm2022/tabs/examples/initially-select-tab/initially-select-tab.component.mjs +22 -0
- package/esm2022/tabs/examples/public_api.mjs +11 -0
- package/esm2022/tabs/index.mjs +2 -0
- package/esm2022/tabs/public_api.mjs +6 -0
- package/esm2022/tabs/tabs/tab/tab.component.mjs +86 -0
- package/esm2022/tabs/tabs/tab-activator/tab-activator.component.mjs +83 -0
- package/esm2022/tabs/tabs/tab-label/tab-label.component.mjs +33 -0
- package/esm2022/tabs/tabs/tab-panel/tab-panel.component.mjs +68 -0
- package/esm2022/tabs/tabs/tabs.component.mjs +161 -0
- package/esm2022/tabs/tabs.mjs +13 -0
- package/esm2022/text-snippet/daffodil-design-text-snippet.mjs +5 -0
- package/esm2022/text-snippet/examples/basic-text-snippet/basic-text-snippet.component.mjs +14 -0
- package/esm2022/text-snippet/examples/daffodil-design-text-snippet-examples.mjs +5 -0
- package/esm2022/text-snippet/examples/index.mjs +2 -0
- package/esm2022/text-snippet/examples/public_api.mjs +5 -0
- package/esm2022/text-snippet/index.mjs +2 -0
- package/esm2022/text-snippet/public_api.mjs +2 -0
- package/esm2022/text-snippet/text-snippet.component.mjs +46 -0
- package/esm2022/toast/examples/default-toast/default-toast.component.mjs +4 -6
- package/esm2022/toast/examples/toast-positions/toast-positions.component.mjs +4 -6
- package/esm2022/toast/examples/toast-status/toast-status.component.mjs +8 -10
- package/esm2022/toast/examples/toast-with-custom-duration/toast-with-custom-duration.component.mjs +4 -6
- package/esm2022/toast/options/daff-toast-options.mjs +7 -7
- package/esm2022/toast/toast/toast-provider.mjs +2 -2
- package/esm2022/toast/toast/toast-template.component.mjs +2 -2
- package/esm2022/toast/toast.module.mjs +2 -2
- package/esm2022/tree/tree.module.mjs +2 -2
- package/fesm2022/daffodil-design-accordion.mjs +0 -3
- package/fesm2022/daffodil-design-accordion.mjs.map +1 -1
- package/fesm2022/daffodil-design-button-examples.mjs +16 -16
- package/fesm2022/daffodil-design-button-examples.mjs.map +1 -1
- package/fesm2022/daffodil-design-button.mjs +305 -131
- package/fesm2022/daffodil-design-button.mjs.map +1 -1
- package/fesm2022/daffodil-design-callout-examples.mjs +12 -13
- package/fesm2022/daffodil-design-callout-examples.mjs.map +1 -1
- package/fesm2022/daffodil-design-card-examples.mjs +10 -12
- package/fesm2022/daffodil-design-card-examples.mjs.map +1 -1
- package/fesm2022/daffodil-design-card.mjs +1 -1
- package/fesm2022/daffodil-design-card.mjs.map +1 -1
- package/fesm2022/daffodil-design-checkbox-examples.mjs +5 -6
- package/fesm2022/daffodil-design-checkbox-examples.mjs.map +1 -1
- package/fesm2022/daffodil-design-container.mjs +1 -1
- package/fesm2022/daffodil-design-container.mjs.map +1 -1
- package/fesm2022/daffodil-design-hero-examples.mjs +11 -13
- package/fesm2022/daffodil-design-hero-examples.mjs.map +1 -1
- package/fesm2022/daffodil-design-hero.mjs +1 -1
- package/fesm2022/daffodil-design-hero.mjs.map +1 -1
- package/fesm2022/daffodil-design-image.mjs +1 -1
- package/fesm2022/daffodil-design-image.mjs.map +1 -1
- package/fesm2022/daffodil-design-link-set.mjs +1 -1
- package/fesm2022/daffodil-design-link-set.mjs.map +1 -1
- package/fesm2022/daffodil-design-list.mjs +1 -1
- package/fesm2022/daffodil-design-list.mjs.map +1 -1
- package/fesm2022/daffodil-design-loading-icon-examples.mjs +1 -13
- package/fesm2022/daffodil-design-loading-icon-examples.mjs.map +1 -1
- package/fesm2022/daffodil-design-loading-icon.mjs +5 -20
- package/fesm2022/daffodil-design-loading-icon.mjs.map +1 -1
- package/fesm2022/daffodil-design-media-gallery.mjs +14 -4
- package/fesm2022/daffodil-design-media-gallery.mjs.map +1 -1
- package/fesm2022/daffodil-design-menu-examples.mjs +3 -5
- package/fesm2022/daffodil-design-menu-examples.mjs.map +1 -1
- package/fesm2022/daffodil-design-modal-examples.mjs +5 -7
- package/fesm2022/daffodil-design-modal-examples.mjs.map +1 -1
- package/fesm2022/daffodil-design-modal.mjs +4 -5
- package/fesm2022/daffodil-design-modal.mjs.map +1 -1
- package/fesm2022/daffodil-design-navbar-examples.mjs +11 -13
- package/fesm2022/daffodil-design-navbar-examples.mjs.map +1 -1
- package/fesm2022/daffodil-design-navbar.mjs +1 -1
- package/fesm2022/daffodil-design-navbar.mjs.map +1 -1
- package/fesm2022/daffodil-design-notification-examples.mjs +5 -9
- package/fesm2022/daffodil-design-notification-examples.mjs.map +1 -1
- package/fesm2022/daffodil-design-notification.mjs +3 -3
- package/fesm2022/daffodil-design-notification.mjs.map +1 -1
- package/fesm2022/daffodil-design-paginator.mjs +1 -1
- package/fesm2022/daffodil-design-paginator.mjs.map +1 -1
- package/fesm2022/daffodil-design-progress-bar.mjs +1 -1
- package/fesm2022/daffodil-design-progress-bar.mjs.map +1 -1
- package/fesm2022/daffodil-design-sidebar-examples.mjs +4 -5
- package/fesm2022/daffodil-design-sidebar-examples.mjs.map +1 -1
- package/fesm2022/daffodil-design-sidebar.mjs +11 -5
- package/fesm2022/daffodil-design-sidebar.mjs.map +1 -1
- package/fesm2022/daffodil-design-tabs-examples.mjs +93 -0
- package/fesm2022/daffodil-design-tabs-examples.mjs.map +1 -0
- package/fesm2022/daffodil-design-tabs.mjs +431 -0
- package/fesm2022/daffodil-design-tabs.mjs.map +1 -0
- package/fesm2022/daffodil-design-text-snippet-examples.mjs +25 -0
- package/fesm2022/daffodil-design-text-snippet-examples.mjs.map +1 -0
- package/fesm2022/daffodil-design-text-snippet.mjs +53 -0
- package/fesm2022/daffodil-design-text-snippet.mjs.map +1 -0
- package/fesm2022/daffodil-design-toast-examples.mjs +13 -15
- package/fesm2022/daffodil-design-toast-examples.mjs.map +1 -1
- package/fesm2022/daffodil-design-toast.mjs +11 -10
- package/fesm2022/daffodil-design-toast.mjs.map +1 -1
- package/fesm2022/daffodil-design-tree.mjs +1 -1
- package/fesm2022/daffodil-design-tree.mjs.map +1 -1
- package/fesm2022/daffodil-design.mjs +9 -6
- package/fesm2022/daffodil-design.mjs.map +1 -1
- package/hero/hero.module.d.ts +1 -1
- package/image/README.md +4 -1
- package/image/image.module.d.ts +1 -1
- package/link-set/README.md +1 -1
- package/link-set/link-set.module.d.ts +1 -1
- package/list/list.module.d.ts +1 -1
- package/loading-icon/README.md +0 -5
- package/loading-icon/examples/examples.d.ts +2 -2
- package/loading-icon/loading-icon/loading-icon.component.d.ts +1 -9
- package/loading-icon/loading-icon.module.d.ts +1 -1
- package/media-gallery/README.md +4 -1
- package/media-gallery/helpers/media-gallery-token.d.ts +1 -2
- package/media-gallery/media-gallery.module.d.ts +1 -1
- package/media-gallery/thumbnail/thumbnail-compat.token.d.ts +1 -5
- package/modal/modal.module.d.ts +1 -1
- package/navbar/navbar.module.d.ts +1 -1
- package/notification/README.md +2 -2
- package/notification/notification/notification.component.d.ts +1 -1
- package/notification/notification.module.d.ts +1 -1
- package/notification/src/notification-theme.scss +17 -13
- package/package.json +1 -1
- package/paginator/paginator.module.d.ts +1 -1
- package/progress-bar/progress-bar.module.d.ts +1 -1
- package/scss/theme.scss +13 -1
- package/scss/theming/_configure-theme.scss +60 -2
- package/scss/theming/_theme-css-variables.scss +1 -1
- package/sidebar/sidebar-viewport/scroll-token/scroll.token.d.ts +1 -7
- package/sidebar/sidebar-viewport/sidebar-viewport.component.d.ts +1 -1
- package/sidebar/sidebar.module.d.ts +1 -1
- package/tabs/README.md +19 -0
- package/tabs/examples/basic-tabs/basic-tabs.component.d.ts +6 -0
- package/tabs/examples/custom-select-tabs/custom-select-tabs.component.d.ts +11 -0
- package/tabs/examples/disabled-tabs/disabled-tabs.component.d.ts +6 -0
- package/tabs/examples/index.d.ts +1 -0
- package/tabs/examples/initially-select-tab/initially-select-tab.component.d.ts +6 -0
- package/tabs/examples/public_api.d.ts +2 -0
- package/tabs/index.d.ts +1 -0
- package/tabs/public_api.d.ts +5 -0
- package/tabs/src/tabs-theme.scss +22 -0
- package/tabs/tabs/tab/tab.component.d.ts +57 -0
- package/tabs/tabs/tab-activator/tab-activator.component.d.ts +37 -0
- package/tabs/tabs/tab-label/tab-label.component.d.ts +19 -0
- package/tabs/tabs/tab-panel/tab-panel.component.d.ts +38 -0
- package/tabs/tabs/tabs.component.d.ts +104 -0
- package/tabs/tabs.d.ts +6 -0
- package/text-snippet/README.md +2 -0
- package/text-snippet/examples/basic-text-snippet/basic-text-snippet.component.d.ts +5 -0
- package/text-snippet/examples/index.d.ts +1 -0
- package/text-snippet/examples/public_api.d.ts +2 -0
- package/text-snippet/index.d.ts +1 -0
- package/text-snippet/public_api.d.ts +1 -0
- package/text-snippet/text-snippet.component.d.ts +19 -0
- package/toast/README.md +5 -5
- package/toast/options/daff-toast-options.d.ts +1 -3
- package/toast/src/toast-theme.scss +14 -10
- package/toast/toast/toast-provider.d.ts +1 -1
- package/toast/toast.module.d.ts +1 -1
- package/tree/tree.module.d.ts +1 -1
- package/button/button/button.component.d.ts +0 -80
- package/button/src/button-theme-variants/button.scss +0 -26
- package/button/src/button-theme-variants/flat.scss +0 -25
- package/button/src/button-theme-variants/icon.scss +0 -21
- package/button/src/button-theme-variants/raised.scss +0 -36
- package/button/src/button-theme-variants/stroked.scss +0 -28
- package/button/src/button-theme-variants/underline.scss +0 -9
- package/button/src/button-theme.scss +0 -574
- package/esm2022/button/button/button.component.mjs +0 -212
- package/esm2022/loading-icon/examples/loading-icon-diameter/loading-icon-diameter.component.mjs +0 -15
- package/loading-icon/examples/loading-icon-diameter/loading-icon-diameter.component.d.ts +0 -5
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"daffodil-design-media-gallery.mjs","sources":["../../../libs/design/media-gallery/src/helpers/media-gallery-token.ts","../../../libs/design/media-gallery/src/registry/media-gallery.registry.ts","../../../libs/design/media-gallery/src/media-renderer/media-renderer.component.ts","../../../libs/design/media-gallery/src/thumbnail/thumbnail-compat.token.ts","../../../libs/design/media-gallery/src/thumbnail/thumbnail.directive.ts","../../../libs/design/media-gallery/src/media-gallery/media-gallery.component.ts","../../../libs/design/media-gallery/src/media-gallery/media-gallery.component.html","../../../libs/design/media-gallery/src/media-gallery.module.ts","../../../libs/design/media-gallery/src/media-gallery.ts","../../../libs/design/media-gallery/src/daffodil-design-media-gallery.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\n\nimport { DaffMediaGalleryRegistration } from './media-gallery-registration.interface';\n\nexport const DAFF_MEDIA_GALLERY_TOKEN = new InjectionToken<DaffMediaGalleryRegistration>('DAFF_MEDIA_GALLERY_TOKEN');\n","import { Injectable } from '@angular/core';\nimport { BehaviorSubject } from 'rxjs';\n\nimport { DaffMediaGalleryRegistration } from '../helpers/media-gallery-registration.interface';\nimport { DaffThumbnailRegistration } from '../thumbnail/thumbnail-registration.interface';\n\nexport interface DaffMediaGalleryDict {\n [galleryName: string]: BehaviorSubject<DaffMediaGallery>;\n}\n\nexport interface DaffMediaGallery {\n gallery: DaffMediaGalleryRegistration;\n thumbnails: DaffThumbnailRegistration[];\n}\n\nexport const isGallery = (element: DaffThumbnailRegistration | DaffMediaGalleryRegistration): element is DaffMediaGalleryRegistration => !('gallery' in element);\n\n@Injectable({ providedIn: 'root' })\nexport class DaffMediaGalleryRegistry {\n galleries: DaffMediaGalleryDict = {};\n\n /**\n * @description\n * Adds a media element to the internal registry.\n */\n add(gallery: DaffMediaGalleryRegistration, thumbnail?: DaffThumbnailRegistration) {\n if(this.galleries[gallery.name]) {\n let newGallery = this.galleries[gallery.name].getValue();\n\n if(thumbnail) {\n newGallery = {\n ...newGallery,\n thumbnails: [\n ...newGallery.thumbnails.filter(t => t !== thumbnail),\n thumbnail,\n ],\n };\n }\n\n this.galleries[gallery.name].next(newGallery);\n } else {\n this.galleries[gallery.name] = new BehaviorSubject({\n gallery,\n thumbnails: thumbnail ? [thumbnail] : [],\n });\n }\n\n if(this.galleries[gallery.name].getValue().thumbnails.length === 1) {\n thumbnail.select();\n }\n }\n\n /**\n * @description\n * Removes a thumbnail or gallery from the internal registry.\n */\n remove(element: DaffThumbnailRegistration | DaffMediaGalleryRegistration) {\n if(isGallery(element)) {\n this.removeGallery(element);\n } else {\n this.removeThumbnail(element);\n }\n }\n\n private removeThumbnail(thumbnail: DaffThumbnailRegistration) {\n if(!this.galleries[thumbnail.gallery.name]) {\n return;\n }\n const gallery = this.galleries[thumbnail.gallery.name].getValue();\n const index = gallery.thumbnails.indexOf(thumbnail);\n\n if(index === -1) {\n return;\n }\n\n this.galleries[thumbnail.gallery.name].next({\n ...gallery,\n thumbnails: [\n ...gallery.thumbnails.slice(0, index),\n ...gallery.thumbnails.slice(index + 1),\n ],\n });\n }\n\n private removeGallery(gallery: DaffMediaGalleryRegistration) {\n delete this.galleries[gallery.name];\n }\n\n /**\n * @description\n * Selects a media element for a given gallery.\n */\n select(thumbnail: DaffThumbnailRegistration) {\n if(!this.galleries[thumbnail.gallery.name]) {\n return;\n }\n\n const gallery = this.galleries[thumbnail.gallery.name].getValue();\n const index = gallery.thumbnails.indexOf(thumbnail);\n\n if(thumbnail.selected || index === -1){\n return;\n }\n\n this.galleries[thumbnail.gallery.name].next({\n ...gallery,\n thumbnails: [\n ...gallery.thumbnails.filter(m => m !== thumbnail).map(m => m.deselect()),\n thumbnail.select(),\n ],\n });\n }\n}\n","import {\n Component,\n OnInit,\n ComponentFactoryResolver,\n Type,\n ViewChild,\n ViewContainerRef,\n TemplateRef,\n ChangeDetectionStrategy,\n OnDestroy,\n Inject,\n} from '@angular/core';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nimport { DaffMediaGalleryRegistration } from '../helpers/media-gallery-registration.interface';\nimport { DAFF_MEDIA_GALLERY_TOKEN } from '../helpers/media-gallery-token';\nimport { DaffMediaGalleryRegistry } from '../registry/media-gallery.registry';\n\n/**\n * Dynamically renders the selected `DaffThumbnailDirective` in a `daff-media-gallery` any time the selected thumbnail\n * changes.\n */\n@Component({\n selector: 'daff-media-renderer',\n template: '<ng-template></ng-template>',\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n})\nexport class DaffMediaRendererComponent implements OnInit, OnDestroy {\n\n /**\n * Private tracker for indicating when the component is destroyed.\n */\n private _destroy$ = new Subject();\n\n constructor(\n private componentFactoryResolver: ComponentFactoryResolver,\n private registry: DaffMediaGalleryRegistry,\n @Inject(DAFF_MEDIA_GALLERY_TOKEN) private gallery: DaffMediaGalleryRegistration,\n ) {}\n\n /**\n * The slot that the \"component\" is rendered into.\n */\n @ViewChild(TemplateRef, { static: true, read: ViewContainerRef })\n slot: ViewContainerRef;\n\n ngOnInit() {\n this.registry.galleries[this.gallery.name]\n .pipe(takeUntil(this._destroy$))\n .subscribe((gallery) => {\n\n /**\n * Clear out the slot for the dynamically rendered thumbnail\n */\n this.slot.clear();\n\n const _selectedThumbnail = gallery.thumbnails.filter(media => media.selected).shift();\n\n /**\n * If there's no selected media, render nothing.\n */\n if(!_selectedThumbnail) {\n return;\n }\n\n const _selectedThumbnailComponent = _selectedThumbnail.component;\n\n /**\n * Create the component to insert.\n */\n const component = this.componentFactoryResolver.resolveComponentFactory(\n <Type<unknown>>_selectedThumbnailComponent.constructor,\n );\n const componentRef = this.slot.createComponent(component);\n\n /**\n * Fill the component with it's values from the original component\n */\n component.inputs.forEach(input => {\n componentRef.instance[input.propName] = _selectedThumbnailComponent[input.propName];\n });\n\n /**\n * Trigger a change detection on the component tree, outside the cycle to address\n * the fact that the component was created outside a typical CD loop.\n */\n componentRef.changeDetectorRef.detectChanges();\n });\n }\n\n /**\n * Used to unsubscribe from the dynamic component.\n */\n ngOnDestroy() {\n this._destroy$.next(true);\n this._destroy$.unsubscribe();\n }\n}\n\n","import { InjectionToken } from '@angular/core';\n\n/**\n * A multi provider injection token that marks a component as renderable for the `DaffMediaRendererComponent`.\n */\nexport const daffThumbnailCompatToken = new InjectionToken<unknown>('thumbnailCompatToken');\n","import {\n Directive,\n Inject,\n Type,\n HostBinding,\n HostListener,\n Output,\n EventEmitter,\n ChangeDetectorRef,\n OnInit,\n OnDestroy,\n} from '@angular/core';\n\nimport { daffThumbnailCompatToken } from './thumbnail-compat.token';\nimport { DaffThumbnailRegistration } from './thumbnail-registration.interface';\nimport { DaffMediaGalleryRegistration } from '../helpers/media-gallery-registration.interface';\nimport { DAFF_MEDIA_GALLERY_TOKEN } from '../helpers/media-gallery-token';\nimport { DaffMediaGalleryRegistry } from '../registry/media-gallery.registry';\n\n/**\n * A directive marking thumbnails for the `DaffMediaRendererComponent`. Needs to be wrapped in a `daff-media-gallery` component\n * and needs to be placed on a component that is provided as a `daffThumbnailCompatToken`.\n */\n@Directive({\n selector: '[daffThumbnail]',\n standalone: true,\n})\nexport class DaffThumbnailDirective implements OnInit, OnDestroy, DaffThumbnailRegistration {\n\n /**\n * Adds a class for styling a selected thumbnail\n */\n @HostBinding('class.daff-thumbnail--selected') get selectedClass() {\n return this.selected;\n };\n\n constructor(\n @Inject(daffThumbnailCompatToken) public component: Type<unknown>,\n private cd: ChangeDetectorRef,\n private registry: DaffMediaGalleryRegistry,\n @Inject(DAFF_MEDIA_GALLERY_TOKEN) public gallery: DaffMediaGalleryRegistration,\n ) {}\n\n /**\n * Adds a class for styling a thumbnail\n */\n @HostBinding('class.daff-thumbnail') class = true;\n\n /**\n * A prop for determining whether or not the media element is selected.\n */\n selected = false;\n\n /**\n * An event that fires after the media element becomes selected.\n */\n @Output() becameSelected: EventEmitter<void> = new EventEmitter<void>();\n\n /**\n * Adds a click event to trigger selection of the media element.\n *\n * @param event: MouseEvent\n */\n @HostListener('click', ['$event']) onClick($event: MouseEvent) {\n this.registry.select(this);\n }\n\n ngOnInit(): void {\n this.registry.add(this.gallery, this);\n }\n\n ngOnDestroy(): void {\n this.registry.remove(this);\n }\n\n select() {\n this.selected = true;\n this.becameSelected.emit();\n this.cd.markForCheck();\n return this;\n }\n\n deselect() {\n this.selected = false;\n this.cd.markForCheck();\n return this;\n }\n}\n","import {\n Component,\n HostBinding,\n ChangeDetectionStrategy,\n Input,\n OnInit,\n OnDestroy,\n} from '@angular/core';\n\nimport {\n DaffArticleEncapsulatedDirective,\n DaffSkeletonableDirective,\n} from '@daffodil/design';\n\nimport { DaffMediaGalleryRegistration } from '../helpers/media-gallery-registration.interface';\nimport { DAFF_MEDIA_GALLERY_TOKEN } from '../helpers/media-gallery-token';\nimport { DaffMediaRendererComponent } from '../media-renderer/media-renderer.component';\nimport { DaffMediaGalleryRegistry } from '../registry/media-gallery.registry';\nimport { DaffThumbnailDirective } from '../thumbnail/thumbnail.directive';\n\nlet uniqueGalleryId = 0;\n\n@Component({\n selector: 'daff-media-gallery',\n templateUrl: './media-gallery.component.html',\n styleUrls: ['./media-gallery.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n { provide: DAFF_MEDIA_GALLERY_TOKEN, useExisting: DaffMediaGalleryComponent },\n ],\n hostDirectives: [\n { directive: DaffArticleEncapsulatedDirective },\n {\n directive: DaffSkeletonableDirective,\n inputs: ['skeleton'],\n },\n ],\n standalone: true,\n imports: [\n DaffMediaRendererComponent,\n DaffThumbnailDirective,\n ],\n})\nexport class DaffMediaGalleryComponent implements DaffMediaGalleryRegistration, OnInit, OnDestroy {\n /**\n * Adds a class for styling the media gallery\n */\n @HostBinding('class.daff-media-gallery') class = true;\n\n /**\n * The name of the gallery\n */\n @Input() name = `${uniqueGalleryId}`;\n\n constructor(private registry: DaffMediaGalleryRegistry) {\n uniqueGalleryId++;\n }\n\n ngOnInit() {\n this.registry.add(this);\n }\n\n ngOnDestroy() {\n this.registry.remove(this);\n }\n}\n","<div class=\"daff-media-gallery__thumbnails\">\n\t<ng-content select=\"[daffThumbnail]\"></ng-content>\n</div>\n<div class=\"daff-media-gallery__selected-thumbnail\">\n\t<daff-media-renderer></daff-media-renderer>\n</div>","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { DaffMediaGalleryComponent } from './media-gallery/media-gallery.component';\nimport { DaffMediaRendererComponent } from './media-renderer/media-renderer.component';\nimport { DaffThumbnailDirective } from './thumbnail/thumbnail.directive';\n\n/**\n * @deprecated in favor of {@link DAFF_MEDIA_GALLERY_COMPONENTS}\n */\n@NgModule({\n imports: [\n CommonModule,\n DaffMediaGalleryComponent,\n DaffThumbnailDirective,\n DaffMediaRendererComponent,\n ],\n exports: [\n DaffMediaGalleryComponent,\n DaffThumbnailDirective,\n ],\n})\nexport class DaffMediaGalleryModule {}\n","import { DaffMediaGalleryComponent } from './media-gallery/media-gallery.component';\nimport { DaffMediaRendererComponent } from './media-renderer/media-renderer.component';\nimport { DaffThumbnailDirective } from './thumbnail/thumbnail.directive';\n\nexport const DAFF_MEDIA_GALLERY_COMPONENTS = <const> [\n DaffMediaGalleryComponent,\n DaffThumbnailDirective,\n DaffMediaRendererComponent,\n];\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.DaffMediaGalleryRegistry"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"daffodil-design-media-gallery.mjs","sources":["../../../libs/design/media-gallery/src/helpers/media-gallery-token.ts","../../../libs/design/media-gallery/src/registry/media-gallery.registry.ts","../../../libs/design/media-gallery/src/media-renderer/media-renderer.component.ts","../../../libs/design/media-gallery/src/thumbnail/thumbnail-compat.token.ts","../../../libs/design/media-gallery/src/thumbnail/thumbnail.directive.ts","../../../libs/design/media-gallery/src/media-gallery/media-gallery.component.ts","../../../libs/design/media-gallery/src/media-gallery/media-gallery.component.html","../../../libs/design/media-gallery/src/media-gallery.module.ts","../../../libs/design/media-gallery/src/media-gallery.ts","../../../libs/design/media-gallery/src/daffodil-design-media-gallery.ts"],"sourcesContent":["import { createSingleInjectionToken } from '@daffodil/core';\n\nimport { DaffMediaGalleryRegistration } from './media-gallery-registration.interface';\n\nexport const {\n token: DAFF_MEDIA_GALLERY_TOKEN,\n /**\n * Provider function for {@link DAFF_MEDIA_GALLERY_TOKEN}.\n */\n provider: provideDaffMediaGalleryToken,\n} = createSingleInjectionToken<DaffMediaGalleryRegistration>('DAFF_MEDIA_GALLERY_TOKEN');\n","import { Injectable } from '@angular/core';\nimport { BehaviorSubject } from 'rxjs';\n\nimport { DaffMediaGalleryRegistration } from '../helpers/media-gallery-registration.interface';\nimport { DaffThumbnailRegistration } from '../thumbnail/thumbnail-registration.interface';\n\nexport interface DaffMediaGalleryDict {\n [galleryName: string]: BehaviorSubject<DaffMediaGallery>;\n}\n\nexport interface DaffMediaGallery {\n gallery: DaffMediaGalleryRegistration;\n thumbnails: DaffThumbnailRegistration[];\n}\n\nexport const isGallery = (element: DaffThumbnailRegistration | DaffMediaGalleryRegistration): element is DaffMediaGalleryRegistration => !('gallery' in element);\n\n@Injectable({ providedIn: 'root' })\nexport class DaffMediaGalleryRegistry {\n galleries: DaffMediaGalleryDict = {};\n\n /**\n * @description\n * Adds a media element to the internal registry.\n */\n add(gallery: DaffMediaGalleryRegistration, thumbnail?: DaffThumbnailRegistration) {\n if(this.galleries[gallery.name]) {\n let newGallery = this.galleries[gallery.name].getValue();\n\n if(thumbnail) {\n newGallery = {\n ...newGallery,\n thumbnails: [\n ...newGallery.thumbnails.filter(t => t !== thumbnail),\n thumbnail,\n ],\n };\n }\n\n this.galleries[gallery.name].next(newGallery);\n } else {\n this.galleries[gallery.name] = new BehaviorSubject({\n gallery,\n thumbnails: thumbnail ? [thumbnail] : [],\n });\n }\n\n if(this.galleries[gallery.name].getValue().thumbnails.length === 1) {\n thumbnail.select();\n }\n }\n\n /**\n * @description\n * Removes a thumbnail or gallery from the internal registry.\n */\n remove(element: DaffThumbnailRegistration | DaffMediaGalleryRegistration) {\n if(isGallery(element)) {\n this.removeGallery(element);\n } else {\n this.removeThumbnail(element);\n }\n }\n\n private removeThumbnail(thumbnail: DaffThumbnailRegistration) {\n if(!this.galleries[thumbnail.gallery.name]) {\n return;\n }\n const gallery = this.galleries[thumbnail.gallery.name].getValue();\n const index = gallery.thumbnails.indexOf(thumbnail);\n\n if(index === -1) {\n return;\n }\n\n this.galleries[thumbnail.gallery.name].next({\n ...gallery,\n thumbnails: [\n ...gallery.thumbnails.slice(0, index),\n ...gallery.thumbnails.slice(index + 1),\n ],\n });\n }\n\n private removeGallery(gallery: DaffMediaGalleryRegistration) {\n delete this.galleries[gallery.name];\n }\n\n /**\n * @description\n * Selects a media element for a given gallery.\n */\n select(thumbnail: DaffThumbnailRegistration) {\n if(!this.galleries[thumbnail.gallery.name]) {\n return;\n }\n\n const gallery = this.galleries[thumbnail.gallery.name].getValue();\n const index = gallery.thumbnails.indexOf(thumbnail);\n\n if(thumbnail.selected || index === -1){\n return;\n }\n\n this.galleries[thumbnail.gallery.name].next({\n ...gallery,\n thumbnails: [\n ...gallery.thumbnails.filter(m => m !== thumbnail).map(m => m.deselect()),\n thumbnail.select(),\n ],\n });\n }\n}\n","import {\n Component,\n OnInit,\n ComponentFactoryResolver,\n Type,\n ViewChild,\n ViewContainerRef,\n TemplateRef,\n ChangeDetectionStrategy,\n OnDestroy,\n Inject,\n} from '@angular/core';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nimport { DaffMediaGalleryRegistration } from '../helpers/media-gallery-registration.interface';\nimport { DAFF_MEDIA_GALLERY_TOKEN } from '../helpers/media-gallery-token';\nimport { DaffMediaGalleryRegistry } from '../registry/media-gallery.registry';\n\n/**\n * Dynamically renders the selected `DaffThumbnailDirective` in a `daff-media-gallery` any time the selected thumbnail\n * changes.\n */\n@Component({\n selector: 'daff-media-renderer',\n template: '<ng-template></ng-template>',\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n})\nexport class DaffMediaRendererComponent implements OnInit, OnDestroy {\n\n /**\n * Private tracker for indicating when the component is destroyed.\n */\n private _destroy$ = new Subject();\n\n constructor(\n private componentFactoryResolver: ComponentFactoryResolver,\n private registry: DaffMediaGalleryRegistry,\n @Inject(DAFF_MEDIA_GALLERY_TOKEN) private gallery: DaffMediaGalleryRegistration,\n ) {}\n\n /**\n * The slot that the \"component\" is rendered into.\n */\n @ViewChild(TemplateRef, { static: true, read: ViewContainerRef })\n slot: ViewContainerRef;\n\n ngOnInit() {\n this.registry.galleries[this.gallery.name]\n .pipe(takeUntil(this._destroy$))\n .subscribe((gallery) => {\n\n /**\n * Clear out the slot for the dynamically rendered thumbnail\n */\n this.slot.clear();\n\n const _selectedThumbnail = gallery.thumbnails.filter(media => media.selected).shift();\n\n /**\n * If there's no selected media, render nothing.\n */\n if(!_selectedThumbnail) {\n return;\n }\n\n const _selectedThumbnailComponent = _selectedThumbnail.component;\n\n /**\n * Create the component to insert.\n */\n const component = this.componentFactoryResolver.resolveComponentFactory(\n <Type<unknown>>_selectedThumbnailComponent.constructor,\n );\n const componentRef = this.slot.createComponent(component);\n\n /**\n * Fill the component with it's values from the original component\n */\n component.inputs.forEach(input => {\n componentRef.instance[input.propName] = _selectedThumbnailComponent[input.propName];\n });\n\n /**\n * Trigger a change detection on the component tree, outside the cycle to address\n * the fact that the component was created outside a typical CD loop.\n */\n componentRef.changeDetectorRef.detectChanges();\n });\n }\n\n /**\n * Used to unsubscribe from the dynamic component.\n */\n ngOnDestroy() {\n this._destroy$.next(true);\n this._destroy$.unsubscribe();\n }\n}\n\n","import { createSingleInjectionToken } from '@daffodil/core';\n\nexport const {\n /**\n * A multi provider injection token that marks a component as renderable for the `DaffMediaRendererComponent`.\n */\n token: daffThumbnailCompatToken,\n /**\n * Provider function for {@link daffThumbnailCompatToken}.\n */\n provider: provideDaffThumbnailCompatToken,\n} = createSingleInjectionToken<unknown>('thumbnailCompatToken');\n","import {\n Directive,\n Inject,\n Type,\n HostBinding,\n HostListener,\n Output,\n EventEmitter,\n ChangeDetectorRef,\n OnInit,\n OnDestroy,\n} from '@angular/core';\n\nimport { daffThumbnailCompatToken } from './thumbnail-compat.token';\nimport { DaffThumbnailRegistration } from './thumbnail-registration.interface';\nimport { DaffMediaGalleryRegistration } from '../helpers/media-gallery-registration.interface';\nimport { DAFF_MEDIA_GALLERY_TOKEN } from '../helpers/media-gallery-token';\nimport { DaffMediaGalleryRegistry } from '../registry/media-gallery.registry';\n\n/**\n * A directive marking thumbnails for the `DaffMediaRendererComponent`. Needs to be wrapped in a `daff-media-gallery` component\n * and needs to be placed on a component that is provided as a `daffThumbnailCompatToken`.\n */\n@Directive({\n selector: '[daffThumbnail]',\n standalone: true,\n})\nexport class DaffThumbnailDirective implements OnInit, OnDestroy, DaffThumbnailRegistration {\n\n /**\n * Adds a class for styling a selected thumbnail\n */\n @HostBinding('class.daff-thumbnail--selected') get selectedClass() {\n return this.selected;\n };\n\n constructor(\n @Inject(daffThumbnailCompatToken) public component: Type<unknown>,\n private cd: ChangeDetectorRef,\n private registry: DaffMediaGalleryRegistry,\n @Inject(DAFF_MEDIA_GALLERY_TOKEN) public gallery: DaffMediaGalleryRegistration,\n ) {}\n\n /**\n * Adds a class for styling a thumbnail\n */\n @HostBinding('class.daff-thumbnail') class = true;\n\n /**\n * A prop for determining whether or not the media element is selected.\n */\n selected = false;\n\n /**\n * An event that fires after the media element becomes selected.\n */\n @Output() becameSelected: EventEmitter<void> = new EventEmitter<void>();\n\n /**\n * Adds a click event to trigger selection of the media element.\n *\n * @param event: MouseEvent\n */\n @HostListener('click', ['$event']) onClick($event: MouseEvent) {\n this.registry.select(this);\n }\n\n ngOnInit(): void {\n this.registry.add(this.gallery, this);\n }\n\n ngOnDestroy(): void {\n this.registry.remove(this);\n }\n\n select() {\n this.selected = true;\n this.becameSelected.emit();\n this.cd.markForCheck();\n return this;\n }\n\n deselect() {\n this.selected = false;\n this.cd.markForCheck();\n return this;\n }\n}\n","import {\n Component,\n HostBinding,\n ChangeDetectionStrategy,\n Input,\n OnInit,\n OnDestroy,\n} from '@angular/core';\n\nimport {\n DaffArticleEncapsulatedDirective,\n DaffSkeletonableDirective,\n} from '@daffodil/design';\n\nimport { DaffMediaGalleryRegistration } from '../helpers/media-gallery-registration.interface';\nimport { DAFF_MEDIA_GALLERY_TOKEN } from '../helpers/media-gallery-token';\nimport { DaffMediaRendererComponent } from '../media-renderer/media-renderer.component';\nimport { DaffMediaGalleryRegistry } from '../registry/media-gallery.registry';\nimport { DaffThumbnailDirective } from '../thumbnail/thumbnail.directive';\n\nlet uniqueGalleryId = 0;\n\n@Component({\n selector: 'daff-media-gallery',\n templateUrl: './media-gallery.component.html',\n styleUrls: ['./media-gallery.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n { provide: DAFF_MEDIA_GALLERY_TOKEN, useExisting: DaffMediaGalleryComponent },\n ],\n hostDirectives: [\n { directive: DaffArticleEncapsulatedDirective },\n {\n directive: DaffSkeletonableDirective,\n inputs: ['skeleton'],\n },\n ],\n standalone: true,\n imports: [\n DaffMediaRendererComponent,\n DaffThumbnailDirective,\n ],\n})\nexport class DaffMediaGalleryComponent implements DaffMediaGalleryRegistration, OnInit, OnDestroy {\n /**\n * Adds a class for styling the media gallery\n */\n @HostBinding('class.daff-media-gallery') class = true;\n\n /**\n * The name of the gallery\n */\n @Input() name = `${uniqueGalleryId}`;\n\n constructor(private registry: DaffMediaGalleryRegistry) {\n uniqueGalleryId++;\n }\n\n ngOnInit() {\n this.registry.add(this);\n }\n\n ngOnDestroy() {\n this.registry.remove(this);\n }\n}\n","<div class=\"daff-media-gallery__thumbnails\">\n\t<ng-content select=\"[daffThumbnail]\"></ng-content>\n</div>\n<div class=\"daff-media-gallery__selected-thumbnail\">\n\t<daff-media-renderer></daff-media-renderer>\n</div>","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { DaffMediaGalleryComponent } from './media-gallery/media-gallery.component';\nimport { DaffMediaRendererComponent } from './media-renderer/media-renderer.component';\nimport { DaffThumbnailDirective } from './thumbnail/thumbnail.directive';\n\n/**\n * @deprecated in favor of {@link DAFF_MEDIA_GALLERY_COMPONENTS} Deprecated in version 0.78.0. Will be removed in version 0.81.0.\n */\n@NgModule({\n imports: [\n CommonModule,\n DaffMediaGalleryComponent,\n DaffThumbnailDirective,\n DaffMediaRendererComponent,\n ],\n exports: [\n DaffMediaGalleryComponent,\n DaffThumbnailDirective,\n ],\n})\nexport class DaffMediaGalleryModule {}\n","import { DaffMediaGalleryComponent } from './media-gallery/media-gallery.component';\nimport { DaffMediaRendererComponent } from './media-renderer/media-renderer.component';\nimport { DaffThumbnailDirective } from './thumbnail/thumbnail.directive';\n\nexport const DAFF_MEDIA_GALLERY_COMPONENTS = <const> [\n DaffMediaGalleryComponent,\n DaffThumbnailDirective,\n DaffMediaRendererComponent,\n];\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.DaffMediaGalleryRegistry"],"mappings":"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"}
|
@@ -1,12 +1,10 @@
|
|
1
1
|
import * as i0 from '@angular/core';
|
2
2
|
import { Component, ChangeDetectionStrategy } from '@angular/core';
|
3
|
-
import
|
4
|
-
import { DAFF_BUTTON_COMPONENTS } from '@daffodil/design/button';
|
3
|
+
import { DaffButtonComponent } from '@daffodil/design/button';
|
5
4
|
import * as i1 from '@daffodil/design/menu';
|
6
5
|
import { DaffMenuModule } from '@daffodil/design/menu';
|
7
6
|
import { FaIconComponent } from '@fortawesome/angular-fontawesome';
|
8
7
|
import { faUser, faInfo, faEnvelope } from '@fortawesome/free-solid-svg-icons';
|
9
|
-
import * as i2 from '@daffodil/design';
|
10
8
|
|
11
9
|
class MenuContentComponent {
|
12
10
|
constructor() {
|
@@ -30,12 +28,12 @@ class BasicMenuComponent {
|
|
30
28
|
this.menu = MenuContentComponent;
|
31
29
|
}
|
32
30
|
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: BasicMenuComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
33
|
-
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.2", type: BasicMenuComponent, isStandalone: true, selector: "basic-menu", ngImport: i0, template: "<button daff-button color=\"theme\" [daffMenuActivator]=\"menu\">\n\tMenu\n</button>", dependencies: [{ kind: "component", type:
|
31
|
+
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.2", type: BasicMenuComponent, isStandalone: true, selector: "basic-menu", ngImport: i0, template: "<button daff-button color=\"theme\" [daffMenuActivator]=\"menu\">\n\tMenu\n</button>", dependencies: [{ kind: "component", type: DaffButtonComponent, selector: "button[daff-button],a[daff-button]" }, { kind: "ngmodule", type: DaffMenuModule }, { kind: "directive", type: i1.DaffMenuActivatorDirective, selector: "[daffMenuActivator]", inputs: ["daffMenuActivator"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
34
32
|
}
|
35
33
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: BasicMenuComponent, decorators: [{
|
36
34
|
type: Component,
|
37
35
|
args: [{ selector: 'basic-menu', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
|
38
|
-
|
36
|
+
DaffButtonComponent,
|
39
37
|
DaffMenuModule,
|
40
38
|
], template: "<button daff-button color=\"theme\" [daffMenuActivator]=\"menu\">\n\tMenu\n</button>" }]
|
41
39
|
}] });
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"daffodil-design-menu-examples.mjs","sources":["../../../libs/design/menu/examples/src/basic-menu/menu-content/menu-content.component.ts","../../../libs/design/menu/examples/src/basic-menu/menu-content/menu-content.component.html","../../../libs/design/menu/examples/src/basic-menu/basic-menu.component.ts","../../../libs/design/menu/examples/src/basic-menu/basic-menu.component.html","../../../libs/design/menu/examples/src/public_api.ts","../../../libs/design/menu/examples/src/daffodil-design-menu-examples.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n} from '@angular/core';\nimport { FaIconComponent } from '@fortawesome/angular-fontawesome';\nimport {\n faEnvelope,\n faInfo,\n faUser,\n} from '@fortawesome/free-solid-svg-icons';\n\nimport { DaffMenuModule } from '@daffodil/design/menu';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'menu-content',\n templateUrl: './menu-content.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n imports: [\n DaffMenuModule,\n FaIconComponent,\n ],\n})\nexport class MenuContentComponent {\n faUser = faUser;\n faInfo = faInfo;\n faEnvelope = faEnvelope;\n}\n","<daff-menu>\n <a href=\"#\" daff-menu-item>\n <fa-icon [icon]=\"faUser\" [fixedWidth]=\"true\" daffPrefix></fa-icon> My Account\n </a>\n <a href=\"#\" daff-menu-item>\n <fa-icon [icon]=\"faInfo\" [fixedWidth]=\"true\" daffPrefix></fa-icon> Help\n </a>\n <button daff-menu-item>\n <fa-icon [icon]=\"faEnvelope\" [fixedWidth]=\"true\" daffPrefix></fa-icon> Contact Us\n </button>\n</daff-menu>","import {\n ChangeDetectionStrategy,\n Component,\n} from '@angular/core';\n\nimport {
|
1
|
+
{"version":3,"file":"daffodil-design-menu-examples.mjs","sources":["../../../libs/design/menu/examples/src/basic-menu/menu-content/menu-content.component.ts","../../../libs/design/menu/examples/src/basic-menu/menu-content/menu-content.component.html","../../../libs/design/menu/examples/src/basic-menu/basic-menu.component.ts","../../../libs/design/menu/examples/src/basic-menu/basic-menu.component.html","../../../libs/design/menu/examples/src/public_api.ts","../../../libs/design/menu/examples/src/daffodil-design-menu-examples.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n} from '@angular/core';\nimport { FaIconComponent } from '@fortawesome/angular-fontawesome';\nimport {\n faEnvelope,\n faInfo,\n faUser,\n} from '@fortawesome/free-solid-svg-icons';\n\nimport { DaffMenuModule } from '@daffodil/design/menu';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'menu-content',\n templateUrl: './menu-content.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n imports: [\n DaffMenuModule,\n FaIconComponent,\n ],\n})\nexport class MenuContentComponent {\n faUser = faUser;\n faInfo = faInfo;\n faEnvelope = faEnvelope;\n}\n","<daff-menu>\n <a href=\"#\" daff-menu-item>\n <fa-icon [icon]=\"faUser\" [fixedWidth]=\"true\" daffPrefix></fa-icon> My Account\n </a>\n <a href=\"#\" daff-menu-item>\n <fa-icon [icon]=\"faInfo\" [fixedWidth]=\"true\" daffPrefix></fa-icon> Help\n </a>\n <button daff-menu-item>\n <fa-icon [icon]=\"faEnvelope\" [fixedWidth]=\"true\" daffPrefix></fa-icon> Contact Us\n </button>\n</daff-menu>","import {\n ChangeDetectionStrategy,\n Component,\n} from '@angular/core';\n\nimport { DaffButtonComponent } from '@daffodil/design/button';\nimport { DaffMenuModule } from '@daffodil/design/menu';\n\nimport { MenuContentComponent } from './menu-content/menu-content.component';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'basic-menu',\n templateUrl: './basic-menu.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n imports: [\n DaffButtonComponent,\n DaffMenuModule,\n ],\n})\nexport class BasicMenuComponent {\n public menu = MenuContentComponent;\n}\n","<button daff-button color=\"theme\" [daffMenuActivator]=\"menu\">\n\tMenu\n</button>","import { BasicMenuComponent } from './basic-menu/basic-menu.component';\n\n\nexport const MENU_EXAMPLES = [\n BasicMenuComponent,\n];\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;MAwBa,oBAAoB,CAAA;AAXjC,IAAA,WAAA,GAAA;QAYE,IAAM,CAAA,MAAA,GAAG,MAAM,CAAC;QAChB,IAAM,CAAA,MAAA,GAAG,MAAM,CAAC;QAChB,IAAU,CAAA,UAAA,GAAG,UAAU,CAAC;AACzB,KAAA;iIAJY,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAApB,uBAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,oBAAoB,ECxBjC,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,cAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,wZAUY,EDUR,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,cAAc,sNACd,eAAe,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,OAAA,EAAA,WAAA,EAAA,MAAA,EAAA,MAAA,EAAA,MAAA,EAAA,MAAA,EAAA,QAAA,EAAA,SAAA,EAAA,QAAA,EAAA,QAAA,EAAA,YAAA,EAAA,WAAA,EAAA,UAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA,EAAA;;2FAGN,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAXhC,SAAS;AAEE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,cAAc,mBAEP,uBAAuB,CAAC,MAAM,EAAA,UAAA,EACnC,IAAI,EACP,OAAA,EAAA;wBACP,cAAc;wBACd,eAAe;AAChB,qBAAA,EAAA,QAAA,EAAA,wZAAA,EAAA,CAAA;;;MEDU,kBAAkB,CAAA;AAX/B,IAAA,WAAA,GAAA;QAYS,IAAI,CAAA,IAAA,GAAG,oBAAoB,CAAC;AACpC,KAAA;iIAFY,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAlB,uBAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,kBAAkB,ECrB/B,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,YAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,sFAES,EDeL,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,mBAAmB,8EACnB,cAAc,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,0BAAA,EAAA,QAAA,EAAA,qBAAA,EAAA,MAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA,EAAA;;2FAGL,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAX9B,SAAS;AAEE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,YAAY,mBAEL,uBAAuB,CAAC,MAAM,EAAA,UAAA,EACnC,IAAI,EACP,OAAA,EAAA;wBACP,mBAAmB;wBACnB,cAAc;AACf,qBAAA,EAAA,QAAA,EAAA,sFAAA,EAAA,CAAA;;;AEhBU,MAAA,aAAa,GAAG;IAC3B,kBAAkB;;;ACJpB;;AAEG;;;;"}
|
@@ -1,20 +1,18 @@
|
|
1
1
|
import * as i0 from '@angular/core';
|
2
2
|
import { Component, ChangeDetectionStrategy } from '@angular/core';
|
3
|
-
import
|
4
|
-
import { DAFF_BUTTON_COMPONENTS } from '@daffodil/design/button';
|
3
|
+
import { DaffButtonComponent } from '@daffodil/design/button';
|
5
4
|
import * as i1 from '@daffodil/design/modal';
|
6
5
|
import { DAFF_MODAL_COMPONENTS, DaffModalService } from '@daffodil/design/modal';
|
7
|
-
import * as i3 from '@daffodil/design';
|
8
6
|
|
9
7
|
class BasicModalContentComponent {
|
10
8
|
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: BasicModalContentComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
11
|
-
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.2", type: BasicModalContentComponent, isStandalone: true, selector: "basic-modal-content", ngImport: i0, template: "<daff-modal-header>\n\t<h5 daffModalTitle>Descriptive title of the modal</h5>\n</daff-modal-header>\n<daff-modal-content>\n\tModal content goes here. Components can be placed in here. The content is scrollable.\n</daff-modal-content>\n<daff-modal-actions>\n\t<button daff-flat-button color=\"theme-contrast\" daffModalClose>Cancel</button>\n\t<button type=\"button\" daff-button>Save Changes</button>\n</daff-modal-actions>", dependencies: [{ kind: "component", type: i1.DaffModalHeaderComponent, selector: "daff-modal-header", inputs: ["dismissible"] }, { kind: "directive", type: i1.DaffModalTitleDirective, selector: "[daffModalTitle]" }, { kind: "component", type: i1.DaffModalContentComponent, selector: "daff-modal-content" }, { kind: "component", type: i1.DaffModalActionsComponent, selector: "daff-modal-actions" }, { kind: "directive", type: i1.DaffModalCloseDirective, selector: "button[daffModalClose]" }, { kind: "component", type:
|
9
|
+
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.2", type: BasicModalContentComponent, isStandalone: true, selector: "basic-modal-content", ngImport: i0, template: "<daff-modal-header>\n\t<h5 daffModalTitle>Descriptive title of the modal</h5>\n</daff-modal-header>\n<daff-modal-content>\n\tModal content goes here. Components can be placed in here. The content is scrollable.\n</daff-modal-content>\n<daff-modal-actions>\n\t<button daff-flat-button color=\"theme-contrast\" daffModalClose>Cancel</button>\n\t<button type=\"button\" daff-button>Save Changes</button>\n</daff-modal-actions>", dependencies: [{ kind: "component", type: i1.DaffModalHeaderComponent, selector: "daff-modal-header", inputs: ["dismissible"] }, { kind: "directive", type: i1.DaffModalTitleDirective, selector: "[daffModalTitle]" }, { kind: "component", type: i1.DaffModalContentComponent, selector: "daff-modal-content" }, { kind: "component", type: i1.DaffModalActionsComponent, selector: "daff-modal-actions" }, { kind: "directive", type: i1.DaffModalCloseDirective, selector: "button[daffModalClose]" }, { kind: "component", type: DaffButtonComponent, selector: "button[daff-button],a[daff-button]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
12
10
|
}
|
13
11
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: BasicModalContentComponent, decorators: [{
|
14
12
|
type: Component,
|
15
13
|
args: [{ selector: 'basic-modal-content', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
|
16
14
|
DAFF_MODAL_COMPONENTS,
|
17
|
-
|
15
|
+
DaffButtonComponent,
|
18
16
|
], template: "<daff-modal-header>\n\t<h5 daffModalTitle>Descriptive title of the modal</h5>\n</daff-modal-header>\n<daff-modal-content>\n\tModal content goes here. Components can be placed in here. The content is scrollable.\n</daff-modal-content>\n<daff-modal-actions>\n\t<button daff-flat-button color=\"theme-contrast\" daffModalClose>Cancel</button>\n\t<button type=\"button\" daff-button>Save Changes</button>\n</daff-modal-actions>" }]
|
19
17
|
}] });
|
20
18
|
|
@@ -28,12 +26,12 @@ class BasicModalComponent {
|
|
28
26
|
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: BasicModalComponent, deps: [{ token: i1.DaffModalService }], target: i0.ɵɵFactoryTarget.Component }); }
|
29
27
|
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.2", type: BasicModalComponent, isStandalone: true, selector: "basic-modal", providers: [
|
30
28
|
DaffModalService,
|
31
|
-
], ngImport: i0, template: "<button daff-button (click)=\"showModal()\">Open Modal</button>\n", dependencies: [{ kind: "component", type:
|
29
|
+
], ngImport: i0, template: "<button daff-button (click)=\"showModal()\">Open Modal</button>\n", dependencies: [{ kind: "component", type: DaffButtonComponent, selector: "button[daff-button],a[daff-button]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
32
30
|
}
|
33
31
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: BasicModalComponent, decorators: [{
|
34
32
|
type: Component,
|
35
33
|
args: [{ selector: 'basic-modal', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
|
36
|
-
|
34
|
+
DaffButtonComponent,
|
37
35
|
DAFF_MODAL_COMPONENTS,
|
38
36
|
], providers: [
|
39
37
|
DaffModalService,
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"daffodil-design-modal-examples.mjs","sources":["../../../libs/design/modal/examples/src/basic-modal/modal-content.component.ts","../../../libs/design/modal/examples/src/basic-modal/modal-content.component.html","../../../libs/design/modal/examples/src/basic-modal/basic-modal.component.ts","../../../libs/design/modal/examples/src/basic-modal/basic-modal.component.html","../../../libs/design/modal/examples/src/public_api.ts","../../../libs/design/modal/examples/src/daffodil-design-modal-examples.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n} from '@angular/core';\n\nimport {
|
1
|
+
{"version":3,"file":"daffodil-design-modal-examples.mjs","sources":["../../../libs/design/modal/examples/src/basic-modal/modal-content.component.ts","../../../libs/design/modal/examples/src/basic-modal/modal-content.component.html","../../../libs/design/modal/examples/src/basic-modal/basic-modal.component.ts","../../../libs/design/modal/examples/src/basic-modal/basic-modal.component.html","../../../libs/design/modal/examples/src/public_api.ts","../../../libs/design/modal/examples/src/daffodil-design-modal-examples.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n} from '@angular/core';\n\nimport { DaffButtonComponent } from '@daffodil/design/button';\nimport { DAFF_MODAL_COMPONENTS } from '@daffodil/design/modal';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'basic-modal-content',\n templateUrl: './modal-content.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n imports: [\n DAFF_MODAL_COMPONENTS,\n DaffButtonComponent,\n ],\n})\nexport class BasicModalContentComponent {\n\n}\n","<daff-modal-header>\n\t<h5 daffModalTitle>Descriptive title of the modal</h5>\n</daff-modal-header>\n<daff-modal-content>\n\tModal content goes here. Components can be placed in here. The content is scrollable.\n</daff-modal-content>\n<daff-modal-actions>\n\t<button daff-flat-button color=\"theme-contrast\" daffModalClose>Cancel</button>\n\t<button type=\"button\" daff-button>Save Changes</button>\n</daff-modal-actions>","import {\n ChangeDetectionStrategy,\n Component,\n} from '@angular/core';\n\nimport { DaffButtonComponent } from '@daffodil/design/button';\nimport {\n DaffModalComponent,\n DAFF_MODAL_COMPONENTS,\n DaffModalService,\n} from '@daffodil/design/modal';\n\nimport { BasicModalContentComponent } from './modal-content.component';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'basic-modal',\n templateUrl: './basic-modal.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n imports: [\n DaffButtonComponent,\n DAFF_MODAL_COMPONENTS,\n ],\n providers: [\n DaffModalService,\n ],\n})\nexport class BasicModalComponent {\n modal: DaffModalComponent;\n\n constructor(private modalService: DaffModalService) {}\n\n showModal() {\n this.modal = this.modalService.open(\n BasicModalContentComponent,\n { ariaLabelledBy: 'Modal Title' },\n );\n }\n}\n","<button daff-button (click)=\"showModal()\">Open Modal</button>\n","import { BasicModalComponent } from './basic-modal/basic-modal.component';\n\nexport const MODAL_EXAMPLES = [\n BasicModalComponent,\n];\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
@@ -10,8 +10,7 @@ import { daffFocusableElementsSelector, DaffOpenableDirective } from '@daffodil/
|
|
10
10
|
import { trigger, state, style, transition, animate } from '@angular/animations';
|
11
11
|
import { NgIf, CommonModule } from '@angular/common';
|
12
12
|
import { FaIconComponent, FontAwesomeModule } from '@fortawesome/angular-fontawesome';
|
13
|
-
import
|
14
|
-
import { DAFF_BUTTON_COMPONENTS, DaffButtonModule } from '@daffodil/design/button';
|
13
|
+
import { DaffIconButtonComponent, DaffButtonModule } from '@daffodil/design/button';
|
15
14
|
import { faXmark } from '@fortawesome/free-solid-svg-icons';
|
16
15
|
|
17
16
|
const daffFadeAnimations = {
|
@@ -336,13 +335,13 @@ class DaffModalHeaderComponent {
|
|
336
335
|
this.dismissible = true;
|
337
336
|
}
|
338
337
|
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: DaffModalHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
339
|
-
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.2", type: DaffModalHeaderComponent, isStandalone: true, selector: "daff-modal-header", inputs: { dismissible: "dismissible" }, host: { properties: { "class.daff-modal-header": "this.class" } }, ngImport: i0, template: "<ng-content select=\"[daffModalTitle]\"></ng-content>\n<ng-container *ngIf=\"dismissible\">\n\t<button daff-icon-button color=\"theme-contrast\"\n\t\tdaffModalClose\n\t\tclass=\"daff-modal-header__dismiss-button\"\n\t\taria-label=\"Close modal\">\n\t\t\t<fa-icon [icon]=\"faXmark\" size=\"lg\"></fa-icon>\n\t</button>\n</ng-container>", dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type:
|
338
|
+
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.2", type: DaffModalHeaderComponent, isStandalone: true, selector: "daff-modal-header", inputs: { dismissible: "dismissible" }, host: { properties: { "class.daff-modal-header": "this.class" } }, ngImport: i0, template: "<ng-content select=\"[daffModalTitle]\"></ng-content>\n<ng-container *ngIf=\"dismissible\">\n\t<button daff-icon-button color=\"theme-contrast\"\n\t\tdaffModalClose\n\t\tclass=\"daff-modal-header__dismiss-button\"\n\t\taria-label=\"Close modal\">\n\t\t\t<fa-icon [icon]=\"faXmark\" size=\"lg\"></fa-icon>\n\t</button>\n</ng-container>", dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: DaffIconButtonComponent, selector: "button[daff-icon-button],a[daff-icon-button]" }, { kind: "component", type: FaIconComponent, selector: "fa-icon", inputs: ["icon", "title", "animation", "mask", "flip", "size", "pull", "border", "inverse", "symbol", "rotate", "fixedWidth", "transform", "a11yRole"] }, { kind: "directive", type: DaffModalCloseDirective, selector: "button[daffModalClose]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
340
339
|
}
|
341
340
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: DaffModalHeaderComponent, decorators: [{
|
342
341
|
type: Component,
|
343
342
|
args: [{ selector: 'daff-modal-header', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
|
344
343
|
NgIf,
|
345
|
-
|
344
|
+
DaffIconButtonComponent,
|
346
345
|
FaIconComponent,
|
347
346
|
DaffModalCloseDirective,
|
348
347
|
], template: "<ng-content select=\"[daffModalTitle]\"></ng-content>\n<ng-container *ngIf=\"dismissible\">\n\t<button daff-icon-button color=\"theme-contrast\"\n\t\tdaffModalClose\n\t\tclass=\"daff-modal-header__dismiss-button\"\n\t\taria-label=\"Close modal\">\n\t\t\t<fa-icon [icon]=\"faXmark\" size=\"lg\"></fa-icon>\n\t</button>\n</ng-container>" }]
|
@@ -400,7 +399,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImpor
|
|
400
399
|
}] } });
|
401
400
|
|
402
401
|
/**
|
403
|
-
* @deprecated in favor of {@link DAFF_MODAL_COMPONENTS}
|
402
|
+
* @deprecated in favor of {@link DAFF_MODAL_COMPONENTS} Deprecated in version 0.78.0. Will be removed in version 0.81.0.
|
404
403
|
*/
|
405
404
|
class DaffModalModule {
|
406
405
|
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: DaffModalModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"daffodil-design-modal.mjs","sources":["../../../libs/design/modal/src/animations/modal-animation.ts","../../../libs/design/modal/src/animations/modal-animation-state.ts","../../../libs/design/modal/src/service/modal.service.ts","../../../libs/design/modal/src/modal/modal.component.ts","../../../libs/design/modal/src/modal/modal.component.html","../../../libs/design/modal/src/modal-actions/modal-actions.component.ts","../../../libs/design/modal/src/modal-close/modal-close.directive.ts","../../../libs/design/modal/src/modal-content/modal-content.component.ts","../../../libs/design/modal/src/modal-header/modal-header.component.ts","../../../libs/design/modal/src/modal-header/modal-header.component.html","../../../libs/design/modal/src/modal-title/modal-title.directive.ts","../../../libs/design/modal/src/modal.module.ts","../../../libs/design/modal/src/modal.ts","../../../libs/design/modal/src/daffodil-design-modal.ts"],"sourcesContent":["import {\n animate,\n state,\n style,\n transition,\n trigger,\n AnimationTriggerMetadata,\n} from '@angular/animations';\n\nexport const daffFadeAnimations: {\n readonly fade: AnimationTriggerMetadata;\n} = {\n fade: trigger('fade', [\n state('open', style({ opacity: 1 })),\n state('closed', style({ opacity: 0 })),\n transition('open <=> closed', animate('400ms cubic-bezier(0.25, 0.8, 0.25, 1)')),\n ]),\n};\n","export const getAnimationState = (open: boolean) => open ? 'open' : 'closed';\n","import { AnimationEvent } from '@angular/animations';\nimport {\n OverlayRef,\n Overlay,\n GlobalPositionStrategy,\n} from '@angular/cdk/overlay';\nimport { ComponentPortal } from '@angular/cdk/portal';\nimport {\n Injectable,\n Type,\n ComponentRef,\n Injector,\n} from '@angular/core';\n\nimport { DaffModal } from '../modal/modal';\nimport { DaffModalConfiguration } from '../modal/modal-config';\nimport { DaffModalComponent } from '../modal/modal.component';\n\n@Injectable()\nexport class DaffModalService {\n private _modals: Map<DaffModalComponent, DaffModal> = new Map();\n\n constructor(private overlay: Overlay) { }\n\n private defaultConfiguration: DaffModalConfiguration = {};\n\n private _attachModal(\n overlayRef: OverlayRef,\n ): ComponentRef<DaffModalComponent> {\n const modal = overlayRef.attach(\n new ComponentPortal(\n DaffModalComponent,\n undefined,\n Injector.create({\n providers: [{\n provide: DaffModalService,\n useValue: this,\n }],\n }),\n ),\n );\n modal.instance.reveal();\n return modal;\n }\n\n private _attachModalContent(\n component: Type<any>,\n modal: ComponentRef<DaffModalComponent>,\n ): void {\n modal.instance.attachContent(new ComponentPortal(component));\n }\n\n private _createOverlayRef(): OverlayRef {\n return this.overlay.create({\n hasBackdrop: true,\n positionStrategy: new GlobalPositionStrategy()\n .centerHorizontally()\n .centerVertically(),\n scrollStrategy: this.overlay.scrollStrategies.block(),\n });\n }\n\n private _removeModal(modal: DaffModal) {\n if (!this._modals.has(modal.modal.instance)) {\n throw new Error(\n 'The Modal that you are trying to remove does not exist.',\n );\n }\n\n this._modals.delete(modal.modal.instance);\n\n modal.overlay.dispose();\n }\n\n open(\n component: Type<any>,\n configuration?: Partial<DaffModalConfiguration>,\n ): DaffModalComponent {\n const config = { ...this.defaultConfiguration, ...configuration };\n const _ref = this._createOverlayRef();\n const _modal = this._attachModal(_ref);\n const _attachedModal = this._attachModalContent(component, _modal);\n\n if (configuration?.ariaLabelledBy) {\n _modal.instance.ariaLabelledBy = configuration.ariaLabelledBy;\n }\n\n const modal: DaffModal = {\n modal: _modal,\n overlay: _ref,\n };\n\n this._modals.set(modal.modal.instance, modal);\n\n _ref\n .backdropClick()\n .subscribe(() =>\n config.onBackdropClicked\n ? config.onBackdropClicked()\n : this.close(modal.modal.instance),\n );\n return modal.modal.instance;\n }\n\n close(component: DaffModalComponent): void {\n component.hide();\n const modal = this._modals.get(component);\n\n modal.overlay.detachBackdrop();\n component.closedAnimationCompleted.subscribe(\n (e: AnimationEvent) => this._removeModal(modal),\n );\n }\n}\n","import { AnimationEvent } from '@angular/animations';\nimport {\n ConfigurableFocusTrap,\n ConfigurableFocusTrapFactory,\n} from '@angular/cdk/a11y';\nimport { OverlayModule } from '@angular/cdk/overlay';\nimport {\n CdkPortalOutlet,\n ComponentPortal,\n PortalModule,\n} from '@angular/cdk/portal';\nimport {\n Component,\n EventEmitter,\n HostBinding,\n ChangeDetectionStrategy,\n ViewChild,\n HostListener,\n ElementRef,\n AfterContentInit,\n AfterViewInit,\n ViewEncapsulation,\n} from '@angular/core';\n\nimport {\n DaffOpenable,\n DaffOpenableDirective,\n} from '@daffodil/design';\nimport { daffFocusableElementsSelector } from '@daffodil/design';\n\nimport { daffFadeAnimations } from '../animations/modal-animation';\nimport { getAnimationState } from '../animations/modal-animation-state';\nimport { DaffModalService } from '../service/modal.service';\n\n@Component({\n selector: 'daff-modal',\n templateUrl: './modal.component.html',\n styleUrls: ['./modal.component.scss'],\n hostDirectives: [{\n directive: DaffOpenableDirective,\n outputs: ['toggled'],\n }],\n animations: [daffFadeAnimations.fade],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n standalone: true,\n imports: [\n PortalModule,\n OverlayModule,\n ],\n})\nexport class DaffModalComponent implements AfterContentInit, AfterViewInit, DaffOpenable {\n /**\n * Sets a class of .daff-modal to the host element.\n */\n @HostBinding('class.daff-modal') modalClass = true;\n\n /**\n * Sets the role to dialog.\n */\n @HostBinding('attr.role') role = 'dialog';\n\n /**\n * Sets aria-modal to true.\n */\n @HostBinding('attr.aria-modal') ariaModal = true;\n\n private _ariaLabelledBy = null;\n\n /**\n * The aria-labelledby for the modal. This is set by the id of\n * {@link DaffModalTitleDirective} when it is used.\n *\n */\n @HostBinding('attr.aria-labelledby') get ariaLabelledBy() {\n return this._ariaLabelledBy;\n } set ariaLabelledBy(value: string) {\n this._ariaLabelledBy = value;\n }\n\n /**\n * The CDK Portal outlet used to portal content into the modal.\n */\n @ViewChild(CdkPortalOutlet, { static: true }) private _portalOutlet: CdkPortalOutlet;\n\n /**\n * Event fired when the close animation is completed.\n */\n animationCompleted: EventEmitter<any> = new EventEmitter<any>();\n\n /**\n * Event fired when the close animation is completed.\n */\n closedAnimationCompleted: EventEmitter<any> = new EventEmitter<\n any\n >();\n\n /**\n * @docs-private\n */\n @HostListener('keydown.escape')\n onEscape() {\n this.modalService.close(this);\n }\n\n private _focusTrap: ConfigurableFocusTrap;\n\n constructor(\n private modalService: DaffModalService,\n private _focusTrapFactory: ConfigurableFocusTrapFactory,\n private elementRef: ElementRef<HTMLElement>,\n private openDirective: DaffOpenableDirective,\n ) {\n this.openDirective.stateless = false;\n }\n\n ngAfterContentInit() {\n this._focusTrap = this._focusTrapFactory.create(\n this.elementRef.nativeElement,\n );\n }\n\n ngAfterViewInit() {\n const focusableChild = (<HTMLElement>this.elementRef.nativeElement.querySelector(\n daffFocusableElementsSelector)\n );\n\n if (focusableChild) {\n focusableChild.focus();\n } else {\n // There's a timing condition when computing HostBindings afterContentInit\n // so to allow the menu to be focused, we manually set the tabindex.\n this.elementRef.nativeElement.tabIndex = 0;\n (<HTMLElement>this.elementRef.nativeElement).focus();\n }\n }\n\n /**\n * Helper method to attach portable content to modal.\n */\n attachContent(portal: ComponentPortal<any>): any {\n const attachContent = this._portalOutlet.attachComponentPortal(portal);\n\n // When a component is created to inject content into the modal, it can\n // interfere with the display styles applied to the modal's header, content,\n // and action sections. By setting `display: contents;` on the custom\n // component, it is visually removed from the UI, allowing the content\n // within it to inherit the modal's styles.\n attachContent.location.nativeElement.style.display = 'contents';\n\n return attachContent;\n }\n\n /** Animation hook that controls the entrance and exit animations of the modal. */\n @HostBinding('@fade') get fadeState(): string {\n return getAnimationState(this.openDirective.open);\n }\n\n /**\n * Animation event that can used to hook into when\n * animations are fully completed. We use this in the DaffModalService\n * to determine when to actually remove the dynamically rendered element from the DOM\n * so that the animation does not clip as the element is removed.\n */\n @HostListener('@fade.done', ['$event'])\n animationDone(e: AnimationEvent) {\n this.animationCompleted.emit(e);\n if (e.toState === 'closed') {\n this.closedAnimationCompleted.emit(e);\n }\n }\n\n get open() {\n return this.openDirective.open;\n }\n\n /**\n * Reveals the modal\n */\n reveal() {\n this.openDirective.reveal();\n }\n\n /**\n * Hides the modal\n */\n hide() {\n this.openDirective.hide();\n }\n\n /**\n * Toggles the visibility of the modal\n */\n toggle() {\n this.openDirective.toggle();\n }\n}\n","<ng-template cdkPortalOutlet></ng-template>\n","import {\n ChangeDetectionStrategy,\n Component,\n HostBinding,\n} from '@angular/core';\n\n@Component({\n selector: 'daff-modal-actions',\n template: '<ng-content></ng-content>',\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n})\nexport class DaffModalActionsComponent {\n @HostBinding('class.daff-modal-actions') class = true;\n}\n","import {\n Directive,\n HostBinding,\n HostListener,\n Optional,\n} from '@angular/core';\n\nimport { DaffModalComponent } from '../modal/modal.component';\nimport { DaffModalService } from '../service/modal.service';\n\n/**\n * The DaffModalCloseDirective is a helper directive that passes a click\n * event to the button it's used with to close a modal. It needs to be\n * implemented with the `<button>` HTML element to work. This helps to\n * reduce code duplication.\n */\n@Directive({\n selector: 'button[daffModalClose]',\n standalone: true,\n})\n\nexport class DaffModalCloseDirective {\n constructor(\n private modalService: DaffModalService,\n @Optional() private modal: DaffModalComponent,\n ) {}\n\n /**\n * Event fired when the button the directive is attached to is clicked. This is used to close a modal.\n */\n @HostListener('click')\n _onCloseModal(event: MouseEvent) {\n if(this.modal) {\n this.modalService.close(this.modal);\n }\n }\n\n /**\n * Sets the button type attribute to button.\n */\n @HostBinding('attr.type') typeAttribute = 'button';\n}\n","import {\n Component,\n ChangeDetectionStrategy,\n HostBinding,\n} from '@angular/core';\n\n@Component({\n selector: 'daff-modal-content',\n template: '<ng-content></ng-content>',\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n})\nexport class DaffModalContentComponent {\n @HostBinding('class.daff-modal-content') class = true;\n}\n","import { NgIf } from '@angular/common';\nimport {\n Component,\n ViewEncapsulation,\n HostBinding,\n ChangeDetectionStrategy,\n Input,\n} from '@angular/core';\nimport { FaIconComponent } from '@fortawesome/angular-fontawesome';\nimport { faXmark } from '@fortawesome/free-solid-svg-icons';\n\nimport { DAFF_BUTTON_COMPONENTS } from '@daffodil/design/button';\n\nimport { DaffModalCloseDirective } from '../modal-close/modal-close.directive';\n\n@Component({\n selector: 'daff-modal-header',\n templateUrl: './modal-header.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n imports: [\n NgIf,\n DAFF_BUTTON_COMPONENTS,\n FaIconComponent,\n DaffModalCloseDirective,\n ],\n})\nexport class DaffModalHeaderComponent {\n faXmark = faXmark;\n\n /**\n * @docs-private\n */\n @HostBinding('class.daff-modal-header') class = true;\n\n /**\n * Whether or not a modal is dismissible.\n */\n @Input() dismissible = true;\n}\n","<ng-content select=\"[daffModalTitle]\"></ng-content>\n<ng-container *ngIf=\"dismissible\">\n\t<button daff-icon-button color=\"theme-contrast\"\n\t\tdaffModalClose\n\t\tclass=\"daff-modal-header__dismiss-button\"\n\t\taria-label=\"Close modal\">\n\t\t\t<fa-icon [icon]=\"faXmark\" size=\"lg\"></fa-icon>\n\t</button>\n</ng-container>","import {\n Directive,\n HostBinding,\n Optional,\n} from '@angular/core';\n\nimport { DaffModalComponent } from '../modal/modal.component';\n\nlet modalTitleId = 0;\n\n/**\n * Title of a modal.\n */\n@Directive({\n selector: '[daffModalTitle]',\n standalone: true,\n})\n\nexport class DaffModalTitleDirective {\n /**\n * @docs-private\n */\n @HostBinding('class.daff-modal-title') class = true;\n\n private _id = '';\n\n /**\n * The html `id` of the modal title.\n */\n @HostBinding('attr.id') get uniqueId() {\n return this._id;\n }\n\n constructor(@Optional() private modal: DaffModalComponent) {\n modalTitleId++;\n\n this._id = 'daff-modal-title-' + modalTitleId;\n\n /**\n * Sets the ariaLabelledBy of the modal to the id of the modal title.\n */\n if(this.modal) {\n this.modal.ariaLabelledBy = this.uniqueId;\n }\n }\n}\n","import { OverlayModule } from '@angular/cdk/overlay';\nimport { PortalModule } from '@angular/cdk/portal';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FontAwesomeModule } from '@fortawesome/angular-fontawesome';\n\nimport { DaffButtonModule } from '@daffodil/design/button';\n\nimport { DaffModalComponent } from './modal/modal.component';\nimport { DaffModalActionsComponent } from './modal-actions/modal-actions.component';\nimport { DaffModalCloseDirective } from './modal-close/modal-close.directive';\nimport { DaffModalContentComponent } from './modal-content/modal-content.component';\nimport { DaffModalHeaderComponent } from './modal-header/modal-header.component';\nimport { DaffModalTitleDirective } from './modal-title/modal-title.directive';\nimport { DaffModalService } from './service/modal.service';\n\n/**\n * @deprecated in favor of {@link DAFF_MODAL_COMPONENTS}\n */\n@NgModule({\n imports: [\n CommonModule,\n PortalModule,\n OverlayModule,\n DaffButtonModule,\n FontAwesomeModule,\n\n DaffModalComponent,\n DaffModalHeaderComponent,\n DaffModalTitleDirective,\n DaffModalContentComponent,\n DaffModalActionsComponent,\n DaffModalCloseDirective,\n ],\n exports: [\n DaffModalComponent,\n DaffModalHeaderComponent,\n DaffModalTitleDirective,\n DaffModalContentComponent,\n DaffModalActionsComponent,\n DaffModalCloseDirective,\n ],\n providers: [\n DaffModalService,\n ],\n})\nexport class DaffModalModule { }\n","import { DaffModalActionsComponent } from './modal-actions/modal-actions.component';\nimport { DaffModalCloseDirective } from './modal-close/modal-close.directive';\nimport { DaffModalContentComponent } from './modal-content/modal-content.component';\nimport { DaffModalHeaderComponent } from './modal-header/modal-header.component';\nimport { DaffModalTitleDirective } from './modal-title/modal-title.directive';\n\nexport const DAFF_MODAL_COMPONENTS = <const> [\n DaffModalHeaderComponent,\n DaffModalTitleDirective,\n DaffModalContentComponent,\n DaffModalActionsComponent,\n DaffModalCloseDirective,\n];\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.DaffModalService","i2.DaffModalComponent","i1","i2","i1.DaffModalComponent"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"daffodil-design-modal.mjs","sources":["../../../libs/design/modal/src/animations/modal-animation.ts","../../../libs/design/modal/src/animations/modal-animation-state.ts","../../../libs/design/modal/src/service/modal.service.ts","../../../libs/design/modal/src/modal/modal.component.ts","../../../libs/design/modal/src/modal/modal.component.html","../../../libs/design/modal/src/modal-actions/modal-actions.component.ts","../../../libs/design/modal/src/modal-close/modal-close.directive.ts","../../../libs/design/modal/src/modal-content/modal-content.component.ts","../../../libs/design/modal/src/modal-header/modal-header.component.ts","../../../libs/design/modal/src/modal-header/modal-header.component.html","../../../libs/design/modal/src/modal-title/modal-title.directive.ts","../../../libs/design/modal/src/modal.module.ts","../../../libs/design/modal/src/modal.ts","../../../libs/design/modal/src/daffodil-design-modal.ts"],"sourcesContent":["import {\n animate,\n state,\n style,\n transition,\n trigger,\n AnimationTriggerMetadata,\n} from '@angular/animations';\n\nexport const daffFadeAnimations: {\n readonly fade: AnimationTriggerMetadata;\n} = {\n fade: trigger('fade', [\n state('open', style({ opacity: 1 })),\n state('closed', style({ opacity: 0 })),\n transition('open <=> closed', animate('400ms cubic-bezier(0.25, 0.8, 0.25, 1)')),\n ]),\n};\n","export const getAnimationState = (open: boolean) => open ? 'open' : 'closed';\n","import { AnimationEvent } from '@angular/animations';\nimport {\n OverlayRef,\n Overlay,\n GlobalPositionStrategy,\n} from '@angular/cdk/overlay';\nimport { ComponentPortal } from '@angular/cdk/portal';\nimport {\n Injectable,\n Type,\n ComponentRef,\n Injector,\n} from '@angular/core';\n\nimport { DaffModal } from '../modal/modal';\nimport { DaffModalConfiguration } from '../modal/modal-config';\nimport { DaffModalComponent } from '../modal/modal.component';\n\n@Injectable()\nexport class DaffModalService {\n private _modals: Map<DaffModalComponent, DaffModal> = new Map();\n\n constructor(private overlay: Overlay) { }\n\n private defaultConfiguration: DaffModalConfiguration = {};\n\n private _attachModal(\n overlayRef: OverlayRef,\n ): ComponentRef<DaffModalComponent> {\n const modal = overlayRef.attach(\n new ComponentPortal(\n DaffModalComponent,\n undefined,\n Injector.create({\n providers: [{\n provide: DaffModalService,\n useValue: this,\n }],\n }),\n ),\n );\n modal.instance.reveal();\n return modal;\n }\n\n private _attachModalContent(\n component: Type<any>,\n modal: ComponentRef<DaffModalComponent>,\n ): void {\n modal.instance.attachContent(new ComponentPortal(component));\n }\n\n private _createOverlayRef(): OverlayRef {\n return this.overlay.create({\n hasBackdrop: true,\n positionStrategy: new GlobalPositionStrategy()\n .centerHorizontally()\n .centerVertically(),\n scrollStrategy: this.overlay.scrollStrategies.block(),\n });\n }\n\n private _removeModal(modal: DaffModal) {\n if (!this._modals.has(modal.modal.instance)) {\n throw new Error(\n 'The Modal that you are trying to remove does not exist.',\n );\n }\n\n this._modals.delete(modal.modal.instance);\n\n modal.overlay.dispose();\n }\n\n open(\n component: Type<any>,\n configuration?: Partial<DaffModalConfiguration>,\n ): DaffModalComponent {\n const config = { ...this.defaultConfiguration, ...configuration };\n const _ref = this._createOverlayRef();\n const _modal = this._attachModal(_ref);\n const _attachedModal = this._attachModalContent(component, _modal);\n\n if (configuration?.ariaLabelledBy) {\n _modal.instance.ariaLabelledBy = configuration.ariaLabelledBy;\n }\n\n const modal: DaffModal = {\n modal: _modal,\n overlay: _ref,\n };\n\n this._modals.set(modal.modal.instance, modal);\n\n _ref\n .backdropClick()\n .subscribe(() =>\n config.onBackdropClicked\n ? config.onBackdropClicked()\n : this.close(modal.modal.instance),\n );\n return modal.modal.instance;\n }\n\n close(component: DaffModalComponent): void {\n component.hide();\n const modal = this._modals.get(component);\n\n modal.overlay.detachBackdrop();\n component.closedAnimationCompleted.subscribe(\n (e: AnimationEvent) => this._removeModal(modal),\n );\n }\n}\n","import { AnimationEvent } from '@angular/animations';\nimport {\n ConfigurableFocusTrap,\n ConfigurableFocusTrapFactory,\n} from '@angular/cdk/a11y';\nimport { OverlayModule } from '@angular/cdk/overlay';\nimport {\n CdkPortalOutlet,\n ComponentPortal,\n PortalModule,\n} from '@angular/cdk/portal';\nimport {\n Component,\n EventEmitter,\n HostBinding,\n ChangeDetectionStrategy,\n ViewChild,\n HostListener,\n ElementRef,\n AfterContentInit,\n AfterViewInit,\n ViewEncapsulation,\n} from '@angular/core';\n\nimport {\n DaffOpenable,\n DaffOpenableDirective,\n} from '@daffodil/design';\nimport { daffFocusableElementsSelector } from '@daffodil/design';\n\nimport { daffFadeAnimations } from '../animations/modal-animation';\nimport { getAnimationState } from '../animations/modal-animation-state';\nimport { DaffModalService } from '../service/modal.service';\n\n@Component({\n selector: 'daff-modal',\n templateUrl: './modal.component.html',\n styleUrls: ['./modal.component.scss'],\n hostDirectives: [{\n directive: DaffOpenableDirective,\n outputs: ['toggled'],\n }],\n animations: [daffFadeAnimations.fade],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n standalone: true,\n imports: [\n PortalModule,\n OverlayModule,\n ],\n})\nexport class DaffModalComponent implements AfterContentInit, AfterViewInit, DaffOpenable {\n /**\n * Sets a class of .daff-modal to the host element.\n */\n @HostBinding('class.daff-modal') modalClass = true;\n\n /**\n * Sets the role to dialog.\n */\n @HostBinding('attr.role') role = 'dialog';\n\n /**\n * Sets aria-modal to true.\n */\n @HostBinding('attr.aria-modal') ariaModal = true;\n\n private _ariaLabelledBy = null;\n\n /**\n * The aria-labelledby for the modal. This is set by the id of\n * {@link DaffModalTitleDirective} when it is used.\n *\n */\n @HostBinding('attr.aria-labelledby') get ariaLabelledBy() {\n return this._ariaLabelledBy;\n } set ariaLabelledBy(value: string) {\n this._ariaLabelledBy = value;\n }\n\n /**\n * The CDK Portal outlet used to portal content into the modal.\n */\n @ViewChild(CdkPortalOutlet, { static: true }) private _portalOutlet: CdkPortalOutlet;\n\n /**\n * Event fired when the close animation is completed.\n */\n animationCompleted: EventEmitter<any> = new EventEmitter<any>();\n\n /**\n * Event fired when the close animation is completed.\n */\n closedAnimationCompleted: EventEmitter<any> = new EventEmitter<\n any\n >();\n\n /**\n * @docs-private\n */\n @HostListener('keydown.escape')\n onEscape() {\n this.modalService.close(this);\n }\n\n private _focusTrap: ConfigurableFocusTrap;\n\n constructor(\n private modalService: DaffModalService,\n private _focusTrapFactory: ConfigurableFocusTrapFactory,\n private elementRef: ElementRef<HTMLElement>,\n private openDirective: DaffOpenableDirective,\n ) {\n this.openDirective.stateless = false;\n }\n\n ngAfterContentInit() {\n this._focusTrap = this._focusTrapFactory.create(\n this.elementRef.nativeElement,\n );\n }\n\n ngAfterViewInit() {\n const focusableChild = (<HTMLElement>this.elementRef.nativeElement.querySelector(\n daffFocusableElementsSelector)\n );\n\n if (focusableChild) {\n focusableChild.focus();\n } else {\n // There's a timing condition when computing HostBindings afterContentInit\n // so to allow the menu to be focused, we manually set the tabindex.\n this.elementRef.nativeElement.tabIndex = 0;\n (<HTMLElement>this.elementRef.nativeElement).focus();\n }\n }\n\n /**\n * Helper method to attach portable content to modal.\n */\n attachContent(portal: ComponentPortal<any>): any {\n const attachContent = this._portalOutlet.attachComponentPortal(portal);\n\n // When a component is created to inject content into the modal, it can\n // interfere with the display styles applied to the modal's header, content,\n // and action sections. By setting `display: contents;` on the custom\n // component, it is visually removed from the UI, allowing the content\n // within it to inherit the modal's styles.\n attachContent.location.nativeElement.style.display = 'contents';\n\n return attachContent;\n }\n\n /** Animation hook that controls the entrance and exit animations of the modal. */\n @HostBinding('@fade') get fadeState(): string {\n return getAnimationState(this.openDirective.open);\n }\n\n /**\n * Animation event that can used to hook into when\n * animations are fully completed. We use this in the DaffModalService\n * to determine when to actually remove the dynamically rendered element from the DOM\n * so that the animation does not clip as the element is removed.\n */\n @HostListener('@fade.done', ['$event'])\n animationDone(e: AnimationEvent) {\n this.animationCompleted.emit(e);\n if (e.toState === 'closed') {\n this.closedAnimationCompleted.emit(e);\n }\n }\n\n get open() {\n return this.openDirective.open;\n }\n\n /**\n * Reveals the modal\n */\n reveal() {\n this.openDirective.reveal();\n }\n\n /**\n * Hides the modal\n */\n hide() {\n this.openDirective.hide();\n }\n\n /**\n * Toggles the visibility of the modal\n */\n toggle() {\n this.openDirective.toggle();\n }\n}\n","<ng-template cdkPortalOutlet></ng-template>\n","import {\n ChangeDetectionStrategy,\n Component,\n HostBinding,\n} from '@angular/core';\n\n@Component({\n selector: 'daff-modal-actions',\n template: '<ng-content></ng-content>',\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n})\nexport class DaffModalActionsComponent {\n @HostBinding('class.daff-modal-actions') class = true;\n}\n","import {\n Directive,\n HostBinding,\n HostListener,\n Optional,\n} from '@angular/core';\n\nimport { DaffModalComponent } from '../modal/modal.component';\nimport { DaffModalService } from '../service/modal.service';\n\n/**\n * The DaffModalCloseDirective is a helper directive that passes a click\n * event to the button it's used with to close a modal. It needs to be\n * implemented with the `<button>` HTML element to work. This helps to\n * reduce code duplication.\n */\n@Directive({\n selector: 'button[daffModalClose]',\n standalone: true,\n})\n\nexport class DaffModalCloseDirective {\n constructor(\n private modalService: DaffModalService,\n @Optional() private modal: DaffModalComponent,\n ) {}\n\n /**\n * Event fired when the button the directive is attached to is clicked. This is used to close a modal.\n */\n @HostListener('click')\n _onCloseModal(event: MouseEvent) {\n if(this.modal) {\n this.modalService.close(this.modal);\n }\n }\n\n /**\n * Sets the button type attribute to button.\n */\n @HostBinding('attr.type') typeAttribute = 'button';\n}\n","import {\n Component,\n ChangeDetectionStrategy,\n HostBinding,\n} from '@angular/core';\n\n@Component({\n selector: 'daff-modal-content',\n template: '<ng-content></ng-content>',\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n})\nexport class DaffModalContentComponent {\n @HostBinding('class.daff-modal-content') class = true;\n}\n","import { NgIf } from '@angular/common';\nimport {\n Component,\n ViewEncapsulation,\n HostBinding,\n ChangeDetectionStrategy,\n Input,\n} from '@angular/core';\nimport { FaIconComponent } from '@fortawesome/angular-fontawesome';\nimport { faXmark } from '@fortawesome/free-solid-svg-icons';\n\nimport { DaffIconButtonComponent } from '@daffodil/design/button';\n\nimport { DaffModalCloseDirective } from '../modal-close/modal-close.directive';\n\n@Component({\n selector: 'daff-modal-header',\n templateUrl: './modal-header.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n imports: [\n NgIf,\n DaffIconButtonComponent,\n FaIconComponent,\n DaffModalCloseDirective,\n ],\n})\nexport class DaffModalHeaderComponent {\n faXmark = faXmark;\n\n /**\n * @docs-private\n */\n @HostBinding('class.daff-modal-header') class = true;\n\n /**\n * Whether or not a modal is dismissible.\n */\n @Input() dismissible = true;\n}\n","<ng-content select=\"[daffModalTitle]\"></ng-content>\n<ng-container *ngIf=\"dismissible\">\n\t<button daff-icon-button color=\"theme-contrast\"\n\t\tdaffModalClose\n\t\tclass=\"daff-modal-header__dismiss-button\"\n\t\taria-label=\"Close modal\">\n\t\t\t<fa-icon [icon]=\"faXmark\" size=\"lg\"></fa-icon>\n\t</button>\n</ng-container>","import {\n Directive,\n HostBinding,\n Optional,\n} from '@angular/core';\n\nimport { DaffModalComponent } from '../modal/modal.component';\n\nlet modalTitleId = 0;\n\n/**\n * Title of a modal.\n */\n@Directive({\n selector: '[daffModalTitle]',\n standalone: true,\n})\n\nexport class DaffModalTitleDirective {\n /**\n * @docs-private\n */\n @HostBinding('class.daff-modal-title') class = true;\n\n private _id = '';\n\n /**\n * The html `id` of the modal title.\n */\n @HostBinding('attr.id') get uniqueId() {\n return this._id;\n }\n\n constructor(@Optional() private modal: DaffModalComponent) {\n modalTitleId++;\n\n this._id = 'daff-modal-title-' + modalTitleId;\n\n /**\n * Sets the ariaLabelledBy of the modal to the id of the modal title.\n */\n if(this.modal) {\n this.modal.ariaLabelledBy = this.uniqueId;\n }\n }\n}\n","import { OverlayModule } from '@angular/cdk/overlay';\nimport { PortalModule } from '@angular/cdk/portal';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FontAwesomeModule } from '@fortawesome/angular-fontawesome';\n\nimport { DaffButtonModule } from '@daffodil/design/button';\n\nimport { DaffModalComponent } from './modal/modal.component';\nimport { DaffModalActionsComponent } from './modal-actions/modal-actions.component';\nimport { DaffModalCloseDirective } from './modal-close/modal-close.directive';\nimport { DaffModalContentComponent } from './modal-content/modal-content.component';\nimport { DaffModalHeaderComponent } from './modal-header/modal-header.component';\nimport { DaffModalTitleDirective } from './modal-title/modal-title.directive';\nimport { DaffModalService } from './service/modal.service';\n\n/**\n * @deprecated in favor of {@link DAFF_MODAL_COMPONENTS} Deprecated in version 0.78.0. Will be removed in version 0.81.0.\n */\n@NgModule({\n imports: [\n CommonModule,\n PortalModule,\n OverlayModule,\n DaffButtonModule,\n FontAwesomeModule,\n\n DaffModalComponent,\n DaffModalHeaderComponent,\n DaffModalTitleDirective,\n DaffModalContentComponent,\n DaffModalActionsComponent,\n DaffModalCloseDirective,\n ],\n exports: [\n DaffModalComponent,\n DaffModalHeaderComponent,\n DaffModalTitleDirective,\n DaffModalContentComponent,\n DaffModalActionsComponent,\n DaffModalCloseDirective,\n ],\n providers: [\n DaffModalService,\n ],\n})\nexport class DaffModalModule { }\n","import { DaffModalActionsComponent } from './modal-actions/modal-actions.component';\nimport { DaffModalCloseDirective } from './modal-close/modal-close.directive';\nimport { DaffModalContentComponent } from './modal-content/modal-content.component';\nimport { DaffModalHeaderComponent } from './modal-header/modal-header.component';\nimport { DaffModalTitleDirective } from './modal-title/modal-title.directive';\n\nexport const DAFF_MODAL_COMPONENTS = <const> [\n DaffModalHeaderComponent,\n DaffModalTitleDirective,\n DaffModalContentComponent,\n DaffModalActionsComponent,\n DaffModalCloseDirective,\n];\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.DaffModalService","i2.DaffModalComponent","i1.DaffModalComponent"],"mappings":"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"}
|
@@ -1,38 +1,36 @@
|
|
1
1
|
import * as i0 from '@angular/core';
|
2
2
|
import { Component, ChangeDetectionStrategy } from '@angular/core';
|
3
|
-
import
|
4
|
-
import { DAFF_BUTTON_COMPONENTS } from '@daffodil/design/button';
|
3
|
+
import { DaffButtonComponent } from '@daffodil/design/button';
|
5
4
|
import * as i1 from '@daffodil/design/navbar';
|
6
5
|
import { DAFF_NAVBAR_COMPONENTS } from '@daffodil/design/navbar';
|
7
|
-
import * as
|
8
|
-
import * as i2$1 from '@daffodil/design/container';
|
6
|
+
import * as i2 from '@daffodil/design/container';
|
9
7
|
import { DAFF_CONTAINER_COMPONENTS } from '@daffodil/design/container';
|
10
8
|
import { NgFor } from '@angular/common';
|
11
|
-
import * as
|
9
|
+
import * as i2$1 from '@angular/forms';
|
12
10
|
import { UntypedFormControl, ReactiveFormsModule } from '@angular/forms';
|
13
11
|
|
14
12
|
class BasicNavbarComponent {
|
15
13
|
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: BasicNavbarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
16
|
-
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.2", type: BasicNavbarComponent, isStandalone: true, selector: "basic-navbar", ngImport: i0, template: "<nav daff-navbar class=\"daff-basic-navbar\">\n\t<div class=\"daff-basic-navbar__links\">\n\t\t<a href=\"/\">Home</a>\n\t\t<a href=\"/\">About Us</a>\n\t</div>\n\t<button daff-button color=\"theme-contrast\">Contact Us</button>\n</nav>", styles: [".daff-basic-navbar{justify-content:space-between}.daff-basic-navbar__links>*{font-weight:700;font-size:1.125rem;padding:0 16px;text-decoration:none;text-transform:uppercase}\n"], dependencies: [{ kind: "component", type: i1.DaffNavbarComponent, selector: "nav[daff-navbar]", inputs: ["raised"] }, { kind: "component", type:
|
14
|
+
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.2", type: BasicNavbarComponent, isStandalone: true, selector: "basic-navbar", ngImport: i0, template: "<nav daff-navbar class=\"daff-basic-navbar\">\n\t<div class=\"daff-basic-navbar__links\">\n\t\t<a href=\"/\">Home</a>\n\t\t<a href=\"/\">About Us</a>\n\t</div>\n\t<button daff-button color=\"theme-contrast\">Contact Us</button>\n</nav>", styles: [".daff-basic-navbar{justify-content:space-between}.daff-basic-navbar__links>*{font-weight:700;font-size:1.125rem;padding:0 16px;text-decoration:none;text-transform:uppercase}\n"], dependencies: [{ kind: "component", type: i1.DaffNavbarComponent, selector: "nav[daff-navbar]", inputs: ["raised"] }, { kind: "component", type: DaffButtonComponent, selector: "button[daff-button],a[daff-button]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
17
15
|
}
|
18
16
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: BasicNavbarComponent, decorators: [{
|
19
17
|
type: Component,
|
20
18
|
args: [{ selector: 'basic-navbar', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
|
21
19
|
DAFF_NAVBAR_COMPONENTS,
|
22
|
-
|
20
|
+
DaffButtonComponent,
|
23
21
|
], template: "<nav daff-navbar class=\"daff-basic-navbar\">\n\t<div class=\"daff-basic-navbar__links\">\n\t\t<a href=\"/\">Home</a>\n\t\t<a href=\"/\">About Us</a>\n\t</div>\n\t<button daff-button color=\"theme-contrast\">Contact Us</button>\n</nav>", styles: [".daff-basic-navbar{justify-content:space-between}.daff-basic-navbar__links>*{font-weight:700;font-size:1.125rem;padding:0 16px;text-decoration:none;text-transform:uppercase}\n"] }]
|
24
22
|
}] });
|
25
23
|
|
26
24
|
class ContainedNavbarComponent {
|
27
25
|
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: ContainedNavbarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
28
|
-
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.2", type: ContainedNavbarComponent, isStandalone: true, selector: "contained-navbar", ngImport: i0, template: "<nav daff-navbar class=\"daff-contained-navbar\">\n\t<daff-container size=\"md\">\n\t\t<div class=\"daff-contained-navbar__links\">\n\t\t\t<a href=\"/\">Home</a>\n\t\t\t<a href=\"/\">About Us</a>\n\t\t</div>\n\t\t<button daff-button>Contact Us</button>\n\t</daff-container>\n</nav>\n", styles: [".daff-contained-navbar{justify-content:space-between}.daff-contained-navbar__links>*{font-weight:700;font-size:1.125rem;padding:0 16px;text-decoration:none;text-transform:uppercase}\n"], dependencies: [{ kind: "component", type: i1.DaffNavbarComponent, selector: "nav[daff-navbar]", inputs: ["raised"] }, { kind: "component", type: i2
|
26
|
+
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.2", type: ContainedNavbarComponent, isStandalone: true, selector: "contained-navbar", ngImport: i0, template: "<nav daff-navbar class=\"daff-contained-navbar\">\n\t<daff-container size=\"md\">\n\t\t<div class=\"daff-contained-navbar__links\">\n\t\t\t<a href=\"/\">Home</a>\n\t\t\t<a href=\"/\">About Us</a>\n\t\t</div>\n\t\t<button daff-button>Contact Us</button>\n\t</daff-container>\n</nav>\n", styles: [".daff-contained-navbar{justify-content:space-between}.daff-contained-navbar__links>*{font-weight:700;font-size:1.125rem;padding:0 16px;text-decoration:none;text-transform:uppercase}\n"], dependencies: [{ kind: "component", type: i1.DaffNavbarComponent, selector: "nav[daff-navbar]", inputs: ["raised"] }, { kind: "component", type: i2.DaffContainerComponent, selector: "daff-container" }, { kind: "component", type: DaffButtonComponent, selector: "button[daff-button],a[daff-button]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
29
27
|
}
|
30
28
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: ContainedNavbarComponent, decorators: [{
|
31
29
|
type: Component,
|
32
30
|
args: [{ selector: 'contained-navbar', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
|
33
31
|
DAFF_NAVBAR_COMPONENTS,
|
34
32
|
DAFF_CONTAINER_COMPONENTS,
|
35
|
-
|
33
|
+
DaffButtonComponent,
|
36
34
|
], template: "<nav daff-navbar class=\"daff-contained-navbar\">\n\t<daff-container size=\"md\">\n\t\t<div class=\"daff-contained-navbar__links\">\n\t\t\t<a href=\"/\">Home</a>\n\t\t\t<a href=\"/\">About Us</a>\n\t\t</div>\n\t\t<button daff-button>Contact Us</button>\n\t</daff-container>\n</nav>\n", styles: [".daff-contained-navbar{justify-content:space-between}.daff-contained-navbar__links>*{font-weight:700;font-size:1.125rem;padding:0 16px;text-decoration:none;text-transform:uppercase}\n"] }]
|
37
35
|
}] });
|
38
36
|
|
@@ -51,13 +49,13 @@ class NavbarThemingComponent {
|
|
51
49
|
];
|
52
50
|
}
|
53
51
|
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: NavbarThemingComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
54
|
-
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.2", type: NavbarThemingComponent, isStandalone: true, selector: "navbar-theming", ngImport: i0, template: "<nav daff-navbar [color]=\"colorControl.value\" class=\"daff-navbar-theming\">\n\t<div class=\"daff-navbar-theming__links\">\n\t\t<a href=\"/\">Home</a>\n\t\t<a href=\"/\">About Us</a>\n\t</div>\n\t<button daff-button>Contact Us</button>\n</nav>\n\n<select [formControl]=\"colorControl\">\n\t<option *ngFor=\"let option of options\" [value]=\"option.value\">{{ option.label }}</option>\n</select>", styles: [".daff-navbar-theming{justify-content:space-between}.daff-navbar-theming__links>*{font-weight:700;font-size:1.125rem;padding:0 16px;text-decoration:none;text-transform:uppercase}\n"], dependencies: [{ kind: "component", type: i1.DaffNavbarComponent, selector: "nav[daff-navbar]", inputs: ["raised"] }, { kind: "component", type:
|
52
|
+
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.2", type: NavbarThemingComponent, isStandalone: true, selector: "navbar-theming", ngImport: i0, template: "<nav daff-navbar [color]=\"colorControl.value\" class=\"daff-navbar-theming\">\n\t<div class=\"daff-navbar-theming__links\">\n\t\t<a href=\"/\">Home</a>\n\t\t<a href=\"/\">About Us</a>\n\t</div>\n\t<button daff-button>Contact Us</button>\n</nav>\n\n<select [formControl]=\"colorControl\">\n\t<option *ngFor=\"let option of options\" [value]=\"option.value\">{{ option.label }}</option>\n</select>", styles: [".daff-navbar-theming{justify-content:space-between}.daff-navbar-theming__links>*{font-weight:700;font-size:1.125rem;padding:0 16px;text-decoration:none;text-transform:uppercase}\n"], dependencies: [{ kind: "component", type: i1.DaffNavbarComponent, selector: "nav[daff-navbar]", inputs: ["raised"] }, { kind: "component", type: DaffButtonComponent, selector: "button[daff-button],a[daff-button]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2$1.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i2$1.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i2$1.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
55
53
|
}
|
56
54
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: NavbarThemingComponent, decorators: [{
|
57
55
|
type: Component,
|
58
56
|
args: [{ selector: 'navbar-theming', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
|
59
57
|
DAFF_NAVBAR_COMPONENTS,
|
60
|
-
|
58
|
+
DaffButtonComponent,
|
61
59
|
ReactiveFormsModule,
|
62
60
|
NgFor,
|
63
61
|
], template: "<nav daff-navbar [color]=\"colorControl.value\" class=\"daff-navbar-theming\">\n\t<div class=\"daff-navbar-theming__links\">\n\t\t<a href=\"/\">Home</a>\n\t\t<a href=\"/\">About Us</a>\n\t</div>\n\t<button daff-button>Contact Us</button>\n</nav>\n\n<select [formControl]=\"colorControl\">\n\t<option *ngFor=\"let option of options\" [value]=\"option.value\">{{ option.label }}</option>\n</select>", styles: [".daff-navbar-theming{justify-content:space-between}.daff-navbar-theming__links>*{font-weight:700;font-size:1.125rem;padding:0 16px;text-decoration:none;text-transform:uppercase}\n"] }]
|
@@ -65,13 +63,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImpor
|
|
65
63
|
|
66
64
|
class RaisedNavbarComponent {
|
67
65
|
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: RaisedNavbarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
68
|
-
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.2", type: RaisedNavbarComponent, isStandalone: true, selector: "raised-navbar", ngImport: i0, template: "<nav daff-navbar [raised]=\"true\" class=\"daff-raised-navbar\">\n\t<div class=\"daff-raised-navbar__links\">\n\t\t<a href=\"/\">Home</a>\n\t\t<a href=\"/\">About Us</a>\n\t</div>\n\t<button daff-button>Contact Us</button>\n</nav>\n", styles: [".daff-raised-navbar{justify-content:space-between}.daff-raised-navbar__links>*{font-weight:700;font-size:1.125rem;padding:0 16px;text-decoration:none;text-transform:uppercase}\n"], dependencies: [{ kind: "component", type: i1.DaffNavbarComponent, selector: "nav[daff-navbar]", inputs: ["raised"] }, { kind: "component", type:
|
66
|
+
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.2", type: RaisedNavbarComponent, isStandalone: true, selector: "raised-navbar", ngImport: i0, template: "<nav daff-navbar [raised]=\"true\" class=\"daff-raised-navbar\">\n\t<div class=\"daff-raised-navbar__links\">\n\t\t<a href=\"/\">Home</a>\n\t\t<a href=\"/\">About Us</a>\n\t</div>\n\t<button daff-button>Contact Us</button>\n</nav>\n", styles: [".daff-raised-navbar{justify-content:space-between}.daff-raised-navbar__links>*{font-weight:700;font-size:1.125rem;padding:0 16px;text-decoration:none;text-transform:uppercase}\n"], dependencies: [{ kind: "component", type: i1.DaffNavbarComponent, selector: "nav[daff-navbar]", inputs: ["raised"] }, { kind: "component", type: DaffButtonComponent, selector: "button[daff-button],a[daff-button]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
69
67
|
}
|
70
68
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: RaisedNavbarComponent, decorators: [{
|
71
69
|
type: Component,
|
72
70
|
args: [{ selector: 'raised-navbar', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
|
73
71
|
DAFF_NAVBAR_COMPONENTS,
|
74
|
-
|
72
|
+
DaffButtonComponent,
|
75
73
|
], template: "<nav daff-navbar [raised]=\"true\" class=\"daff-raised-navbar\">\n\t<div class=\"daff-raised-navbar__links\">\n\t\t<a href=\"/\">Home</a>\n\t\t<a href=\"/\">About Us</a>\n\t</div>\n\t<button daff-button>Contact Us</button>\n</nav>\n", styles: [".daff-raised-navbar{justify-content:space-between}.daff-raised-navbar__links>*{font-weight:700;font-size:1.125rem;padding:0 16px;text-decoration:none;text-transform:uppercase}\n"] }]
|
76
74
|
}] });
|
77
75
|
|