@daffodil/design 0.83.0 → 0.85.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.
Files changed (251) hide show
  1. package/accordion/src/accordion-theme.scss +11 -13
  2. package/article/src/article-theme.scss +36 -38
  3. package/atoms/form/checkbox/cva/checkbox-cva.directive.d.ts +3 -0
  4. package/atoms/form/error-message/error-message.component.d.ts +4 -1
  5. package/atoms/form/error-message/error-message.module.d.ts +4 -1
  6. package/atoms/form/form-field/form-field/form-field.component.d.ts +40 -25
  7. package/atoms/form/form-field/form-field-control.d.ts +19 -4
  8. package/atoms/form/form-field/form-field-state.d.ts +7 -0
  9. package/atoms/form/form-field/form-field.d.ts +10 -0
  10. package/atoms/form/form-field/form-field.module.d.ts +6 -4
  11. package/atoms/form/form-field/public_api.d.ts +2 -1
  12. package/atoms/form/form-label/form-label.directive.d.ts +4 -1
  13. package/atoms/form/form-label/form-label.module.d.ts +4 -1
  14. package/atoms/form/hint/hint.component.d.ts +13 -0
  15. package/atoms/form/hint/public_api.d.ts +1 -0
  16. package/atoms/form/native-select/native-select.component.d.ts +5 -1
  17. package/atoms/form/radio/cva/radio-cva.directive.d.ts +3 -0
  18. package/breadcrumb/breadcrumb/breadcrumb.component.d.ts +3 -0
  19. package/breadcrumb/src/breadcrumb-theme.scss +14 -7
  20. package/button/button/button-base.directive.d.ts +6 -23
  21. package/button/button/raised/raised.component.d.ts +1 -1
  22. package/button/src/button/basic/button-theme.scss +84 -114
  23. package/button/src/button/button-base.scss +17 -4
  24. package/button/src/button/flat/flat-theme.scss +32 -68
  25. package/button/src/button/icon/icon-theme.scss +78 -106
  26. package/button/src/button/raised/raised-theme.scss +30 -32
  27. package/button/src/button/stroked/stroked-theme.scss +35 -69
  28. package/button/src/button/underline/underline-theme.scss +34 -50
  29. package/callout/src/callout-theme.scss +37 -22
  30. package/card/card/basic/basic.component.d.ts +3 -0
  31. package/card/card/raised/raised.component.d.ts +3 -0
  32. package/card/card/stroked/stroked.component.d.ts +3 -0
  33. package/card/src/card/raised/raised-theme.scss +9 -11
  34. package/card/src/card/stroked/stroked-theme.scss +32 -34
  35. package/card/src/card-base-theme.scss +42 -44
  36. package/checkbox/examples/basic-checkbox/basic-checkbox.component.d.ts +3 -0
  37. package/checkbox/examples/checkbox-set/checkbox-set.component.d.ts +3 -0
  38. package/core/article-encapsulated/article-encapsulated.directive.d.ts +3 -0
  39. package/core/colorable/colorable.d.ts +2 -2
  40. package/core/colorable/colorable.directive.d.ts +8 -0
  41. package/core/manage-container-layout/manage-container-layout.directive.d.ts +3 -0
  42. package/core/openable/openable.directive.d.ts +3 -0
  43. package/core/prefix-suffix/prefix-suffix.module.d.ts +1 -1
  44. package/core/prefix-suffix/prefix.directive.d.ts +4 -1
  45. package/core/prefix-suffix/public_api.d.ts +0 -4
  46. package/core/prefix-suffix/suffix.directive.d.ts +4 -1
  47. package/core/sizable/sizable.directive.d.ts +8 -0
  48. package/core/statusable/statusable.directive.d.ts +2 -0
  49. package/core/text-alignable/text-alignable.directive.d.ts +6 -1
  50. package/fesm2022/daffodil-design-accordion-examples.mjs +10 -10
  51. package/fesm2022/daffodil-design-accordion-examples.mjs.map +1 -1
  52. package/fesm2022/daffodil-design-accordion.mjs +15 -15
  53. package/fesm2022/daffodil-design-accordion.mjs.map +1 -1
  54. package/fesm2022/daffodil-design-article-examples.mjs +31 -31
  55. package/fesm2022/daffodil-design-article-examples.mjs.map +1 -1
  56. package/fesm2022/daffodil-design-article.mjs +11 -11
  57. package/fesm2022/daffodil-design-article.mjs.map +1 -1
  58. package/fesm2022/daffodil-design-breadcrumb-examples.mjs +7 -7
  59. package/fesm2022/daffodil-design-breadcrumb-examples.mjs.map +1 -1
  60. package/fesm2022/daffodil-design-breadcrumb.mjs +15 -12
  61. package/fesm2022/daffodil-design-breadcrumb.mjs.map +1 -1
  62. package/fesm2022/daffodil-design-button-examples.mjs +41 -37
  63. package/fesm2022/daffodil-design-button-examples.mjs.map +1 -1
  64. package/fesm2022/daffodil-design-button.mjs +46 -53
  65. package/fesm2022/daffodil-design-button.mjs.map +1 -1
  66. package/fesm2022/daffodil-design-callout-examples.mjs +13 -13
  67. package/fesm2022/daffodil-design-callout-examples.mjs.map +1 -1
  68. package/fesm2022/daffodil-design-callout.mjs +23 -23
  69. package/fesm2022/daffodil-design-callout.mjs.map +1 -1
  70. package/fesm2022/daffodil-design-card-examples.mjs +19 -19
  71. package/fesm2022/daffodil-design-card-examples.mjs.map +1 -1
  72. package/fesm2022/daffodil-design-card.mjs +44 -35
  73. package/fesm2022/daffodil-design-card.mjs.map +1 -1
  74. package/fesm2022/daffodil-design-checkbox-examples.mjs +13 -7
  75. package/fesm2022/daffodil-design-checkbox-examples.mjs.map +1 -1
  76. package/fesm2022/daffodil-design-container-examples.mjs +4 -4
  77. package/fesm2022/daffodil-design-container-examples.mjs.map +1 -1
  78. package/fesm2022/daffodil-design-container.mjs +8 -8
  79. package/fesm2022/daffodil-design-container.mjs.map +1 -1
  80. package/fesm2022/daffodil-design-hero-examples.mjs +13 -13
  81. package/fesm2022/daffodil-design-hero-examples.mjs.map +1 -1
  82. package/fesm2022/daffodil-design-hero.mjs +23 -23
  83. package/fesm2022/daffodil-design-hero.mjs.map +1 -1
  84. package/fesm2022/daffodil-design-image-examples.mjs +10 -10
  85. package/fesm2022/daffodil-design-image-examples.mjs.map +1 -1
  86. package/fesm2022/daffodil-design-image.mjs +9 -9
  87. package/fesm2022/daffodil-design-image.mjs.map +1 -1
  88. package/fesm2022/daffodil-design-input-examples.mjs +72 -28
  89. package/fesm2022/daffodil-design-input-examples.mjs.map +1 -1
  90. package/fesm2022/daffodil-design-input.mjs +96 -0
  91. package/fesm2022/daffodil-design-input.mjs.map +1 -0
  92. package/fesm2022/daffodil-design-link-set.mjs +17 -17
  93. package/fesm2022/daffodil-design-link-set.mjs.map +1 -1
  94. package/fesm2022/daffodil-design-list-examples.mjs +13 -13
  95. package/fesm2022/daffodil-design-list-examples.mjs.map +1 -1
  96. package/fesm2022/daffodil-design-list.mjs +12 -12
  97. package/fesm2022/daffodil-design-list.mjs.map +1 -1
  98. package/fesm2022/daffodil-design-loading-icon-examples.mjs +4 -4
  99. package/fesm2022/daffodil-design-loading-icon-examples.mjs.map +1 -1
  100. package/fesm2022/daffodil-design-loading-icon.mjs +8 -8
  101. package/fesm2022/daffodil-design-loading-icon.mjs.map +1 -1
  102. package/fesm2022/daffodil-design-media-gallery-examples.mjs +16 -16
  103. package/fesm2022/daffodil-design-media-gallery-examples.mjs.map +1 -1
  104. package/fesm2022/daffodil-design-media-gallery.mjs +14 -21
  105. package/fesm2022/daffodil-design-media-gallery.mjs.map +1 -1
  106. package/fesm2022/daffodil-design-menu-examples.mjs +7 -7
  107. package/fesm2022/daffodil-design-menu-examples.mjs.map +1 -1
  108. package/fesm2022/daffodil-design-menu.mjs +39 -26
  109. package/fesm2022/daffodil-design-menu.mjs.map +1 -1
  110. package/fesm2022/daffodil-design-modal-examples.mjs +7 -7
  111. package/fesm2022/daffodil-design-modal-examples.mjs.map +1 -1
  112. package/fesm2022/daffodil-design-modal.mjs +61 -28
  113. package/fesm2022/daffodil-design-modal.mjs.map +1 -1
  114. package/fesm2022/daffodil-design-navbar-examples.mjs +13 -13
  115. package/fesm2022/daffodil-design-navbar-examples.mjs.map +1 -1
  116. package/fesm2022/daffodil-design-navbar.mjs +9 -9
  117. package/fesm2022/daffodil-design-navbar.mjs.map +1 -1
  118. package/fesm2022/daffodil-design-notification-examples.mjs +17 -22
  119. package/fesm2022/daffodil-design-notification-examples.mjs.map +1 -1
  120. package/fesm2022/daffodil-design-notification.mjs +51 -24
  121. package/fesm2022/daffodil-design-notification.mjs.map +1 -1
  122. package/fesm2022/daffodil-design-paginator-examples.mjs +7 -7
  123. package/fesm2022/daffodil-design-paginator-examples.mjs.map +1 -1
  124. package/fesm2022/daffodil-design-paginator.mjs +9 -9
  125. package/fesm2022/daffodil-design-paginator.mjs.map +1 -1
  126. package/fesm2022/daffodil-design-progress-bar-examples.mjs +10 -10
  127. package/fesm2022/daffodil-design-progress-bar-examples.mjs.map +1 -1
  128. package/fesm2022/daffodil-design-progress-bar.mjs +30 -12
  129. package/fesm2022/daffodil-design-progress-bar.mjs.map +1 -1
  130. package/fesm2022/daffodil-design-quantity-field-examples.mjs +23 -22
  131. package/fesm2022/daffodil-design-quantity-field-examples.mjs.map +1 -1
  132. package/fesm2022/daffodil-design-quantity-field.mjs +355 -0
  133. package/fesm2022/daffodil-design-quantity-field.mjs.map +1 -0
  134. package/fesm2022/daffodil-design-radio-examples.mjs +4 -4
  135. package/fesm2022/daffodil-design-radio-examples.mjs.map +1 -1
  136. package/fesm2022/daffodil-design-sidebar-examples.mjs +13 -13
  137. package/fesm2022/daffodil-design-sidebar-examples.mjs.map +1 -1
  138. package/fesm2022/daffodil-design-sidebar.mjs +27 -27
  139. package/fesm2022/daffodil-design-sidebar.mjs.map +1 -1
  140. package/fesm2022/daffodil-design-switch-examples.mjs +17 -17
  141. package/fesm2022/daffodil-design-switch-examples.mjs.map +1 -1
  142. package/fesm2022/daffodil-design-switch.mjs +6 -7
  143. package/fesm2022/daffodil-design-switch.mjs.map +1 -1
  144. package/fesm2022/daffodil-design-tabs-examples.mjs +16 -16
  145. package/fesm2022/daffodil-design-tabs-examples.mjs.map +1 -1
  146. package/fesm2022/daffodil-design-tabs.mjs +38 -19
  147. package/fesm2022/daffodil-design-tabs.mjs.map +1 -1
  148. package/fesm2022/daffodil-design-text-snippet-examples.mjs +4 -4
  149. package/fesm2022/daffodil-design-text-snippet-examples.mjs.map +1 -1
  150. package/fesm2022/daffodil-design-text-snippet.mjs +4 -4
  151. package/fesm2022/daffodil-design-text-snippet.mjs.map +1 -1
  152. package/fesm2022/daffodil-design-toast-examples.mjs +22 -16
  153. package/fesm2022/daffodil-design-toast-examples.mjs.map +1 -1
  154. package/fesm2022/daffodil-design-toast.mjs +24 -26
  155. package/fesm2022/daffodil-design-toast.mjs.map +1 -1
  156. package/fesm2022/daffodil-design-tree-examples.mjs +7 -7
  157. package/fesm2022/daffodil-design-tree-examples.mjs.map +1 -1
  158. package/fesm2022/daffodil-design-tree.mjs +30 -16
  159. package/fesm2022/daffodil-design-tree.mjs.map +1 -1
  160. package/fesm2022/daffodil-design-youtube-player.mjs +10 -7
  161. package/fesm2022/daffodil-design-youtube-player.mjs.map +1 -1
  162. package/fesm2022/daffodil-design.mjs +531 -818
  163. package/fesm2022/daffodil-design.mjs.map +1 -1
  164. package/hero/src/hero-theme.scss +37 -22
  165. package/input/README.md +66 -0
  166. package/input/examples/examples.d.ts +2 -2
  167. package/input/examples/input-disabled/input-disabled.component.d.ts +2 -0
  168. package/input/examples/input-hint/input-hint.component.d.ts +5 -0
  169. package/input/examples/input-hint-and-error/input-hint-and-error.component.d.ts +9 -0
  170. package/input/examples/input-with-form-field/input-with-form-field.component.d.ts +2 -0
  171. package/input/index.d.ts +1 -0
  172. package/{atoms/form/input → input}/input.component.d.ts +16 -20
  173. package/input/input.module.d.ts +10 -0
  174. package/list/list/list.component.d.ts +1 -1
  175. package/list/src/list-theme.scss +20 -26
  176. package/loading-icon/src/loading-icon-theme.scss +20 -22
  177. package/media-gallery/media-gallery/media-gallery.component.d.ts +0 -4
  178. package/media-gallery/src/media-gallery-theme.scss +10 -12
  179. package/menu/helpers/create-overlay.d.ts +1 -1
  180. package/menu/menu/menu.component.d.ts +15 -0
  181. package/menu/menu-activator/menu-activator.component.d.ts +3 -0
  182. package/menu/src/menu-theme.scss +34 -16
  183. package/modal/modal/modal.component.d.ts +21 -0
  184. package/modal/modal-actions/modal-actions.component.d.ts +3 -0
  185. package/modal/modal-close/modal-close.directive.d.ts +3 -0
  186. package/modal/modal-content/modal-content.component.d.ts +3 -0
  187. package/modal/modal-title/modal-title.directive.d.ts +3 -0
  188. package/modal/src/modal-theme.scss +2 -2
  189. package/navbar/src/navbar-theme.scss +21 -18
  190. package/notification/README.md +11 -12
  191. package/notification/notification/notification.component.d.ts +17 -2
  192. package/notification/notification-actions/notification-actions.directive.d.ts +3 -0
  193. package/notification/notification-message/notification-message.directive.d.ts +3 -0
  194. package/notification/notification-subtitle/notification-subtitle.directive.d.ts +3 -0
  195. package/notification/notification-title/notification-title.directive.d.ts +3 -0
  196. package/notification/notification.d.ts +2 -2
  197. package/notification/src/notification-theme.scss +44 -46
  198. package/package.json +1 -1
  199. package/paginator/src/paginator-theme.scss +26 -23
  200. package/progress-bar/progress-bar-label/progress-bar-label.directive.d.ts +3 -0
  201. package/progress-bar/progress-bar.component.d.ts +15 -0
  202. package/progress-bar/src/progress-bar-theme.scss +18 -20
  203. package/public_api.d.ts +1 -2
  204. package/quantity-field/README.md +63 -0
  205. package/quantity-field/index.d.ts +1 -0
  206. package/quantity-field/public_api.d.ts +2 -0
  207. package/{atoms/form/quantity-field → quantity-field}/quantity-field.component.d.ts +5 -4
  208. package/quantity-field/quantity-field.module.d.ts +11 -0
  209. package/{atoms/form/quantity-field → quantity-field}/quantity-input/quantity-input.component.d.ts +5 -2
  210. package/{atoms/form/quantity-field → quantity-field}/quantity-select/quantity-select.component.d.ts +2 -2
  211. package/scss/state/skeleton/_mixins.scss +22 -13
  212. package/scss/theme.scss +2 -2
  213. package/scss/theming/_configure-theme.scss +16 -16
  214. package/scss/theming/_get-base-color.scss +19 -0
  215. package/scss/theming/_get-palette.scss +27 -0
  216. package/scss/theming/_get-theme-mode.scss +9 -0
  217. package/scss/theming/_index.scss +3 -0
  218. package/scss/theming/_light-dark.scss +4 -4
  219. package/scss/theming/_theme-css-variables.scss +20 -20
  220. package/sidebar/src/sidebar-theme.scss +4 -5
  221. package/src/atoms/form/error-message/error-message-theme.scss +4 -2
  222. package/src/atoms/form/form-field/form-field/form-field-theme.scss +47 -24
  223. package/src/atoms/form/hint/hint-theme.scss +22 -0
  224. package/src/atoms/form/native-select/native-select-theme.scss +5 -7
  225. package/switch/src/switch-theme.scss +13 -15
  226. package/switch/switch.d.ts +2 -2
  227. package/tabs/src/tabs-theme.scss +13 -15
  228. package/tabs/tabs/tab-activator/tab-activator.component.d.ts +15 -0
  229. package/tabs/tabs/tab-label/tab-label.component.d.ts +2 -5
  230. package/tabs/tabs/tabs.component.d.ts +3 -0
  231. package/toast/examples/default-toast/default-toast.component.d.ts +3 -0
  232. package/toast/examples/toast-positions/toast-positions.component.d.ts +3 -0
  233. package/toast/src/toast-theme.scss +36 -38
  234. package/toast/toast/toast.component.d.ts +3 -5
  235. package/tree/interfaces/tree-data.d.ts +15 -0
  236. package/tree/interfaces/tree-render-mode.d.ts +2 -2
  237. package/tree/src/tree-theme.scss +20 -22
  238. package/tree/tree/tree-notifier.service.d.ts +3 -3
  239. package/tree/tree/tree.component.d.ts +13 -3
  240. package/tree/tree-item/tree-item.directive.d.ts +6 -0
  241. package/youtube-player/youtube-player.component.d.ts +3 -0
  242. package/atoms/form/input/input.module.d.ts +0 -8
  243. package/atoms/form/quantity-field/public_api.d.ts +0 -4
  244. package/atoms/form/quantity-field/quantity-field.module.d.ts +0 -13
  245. package/core/prefix-suffix/prefixable/prefixable-interface.d.ts +0 -7
  246. package/core/prefix-suffix/prefixable/prefixable.d.ts +0 -11
  247. package/core/prefix-suffix/suffixable/suffixable-interface.d.ts +0 -7
  248. package/core/prefix-suffix/suffixable/suffixable.d.ts +0 -11
  249. package/input/examples/basic-input/basic-input.component.d.ts +0 -5
  250. package/src/atoms/form/input/input-theme.scss +0 -16
  251. /package/{atoms/form/input → input}/public_api.d.ts +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"daffodil-design-menu.mjs","sources":["../../../libs/design/menu/src/helpers/create-overlay.ts","../../../libs/design/menu/src/services/menu.service.ts","../../../libs/design/menu/src/menu-activator/menu-activator.component.ts","../../../libs/design/menu/src/menu-item/menu-item.component.ts","../../../libs/design/menu/src/menu-item/menu-item.component.html","../../../libs/design/menu/src/menu/menu.component.ts","../../../libs/design/menu/src/menu.module.ts","../../../libs/design/menu/src/daffodil-design-menu.ts"],"sourcesContent":["import {\n Overlay,\n OverlayConfig,\n} from '@angular/cdk/overlay';\nimport { ElementRef } from '@angular/core';\n\nexport function daffMenuCreateOverlay(overlay: Overlay, element: ElementRef, config: OverlayConfig = {}) {\n return overlay.create({\n hasBackdrop: true,\n backdropClass: 'cdk-overlay-transparent-backdrop',\n scrollStrategy: overlay.scrollStrategies.block(),\n disposeOnNavigation: true,\n positionStrategy: overlay\n .position()\n .flexibleConnectedTo(element)\n .withPositions([\n {\n originX: 'start',\n originY: 'bottom',\n overlayX: 'start',\n overlayY: 'top',\n offsetY: 0,\n },\n {\n originX: 'start',\n originY: 'top',\n overlayX: 'start',\n overlayY: 'bottom',\n },\n ]),\n ...config,\n });\n};\n","import {\n Overlay,\n OverlayRef,\n} from '@angular/cdk/overlay';\nimport {\n ComponentPortal,\n TemplatePortal,\n} from '@angular/cdk/portal';\nimport {\n ElementRef,\n Injectable,\n Injector,\n TemplateRef,\n Type,\n ViewContainerRef,\n} from '@angular/core';\nimport {\n BehaviorSubject,\n map,\n Observable,\n} from 'rxjs';\n\nimport { DaffLazyComponent } from '@daffodil/design';\n\nimport { daffMenuCreateOverlay } from '../helpers/public_api';\n\nexport interface DaffActivatedMenu {\n el: ElementRef;\n component: Type<unknown>;\n}\n\nexport type DaffMenuSlot = TemplateRef<unknown> | DaffLazyComponent | Type<unknown>;\n\n@Injectable()\nexport class DaffMenuService {\n protected _overlay: OverlayRef | null;\n private _activator: ViewContainerRef;\n\n private $_open: BehaviorSubject<boolean> = new BehaviorSubject(false);\n public open$: Observable<boolean> = this.$_open.asObservable();\n\n constructor(\n protected overlay: Overlay,\n private injector: Injector,\n ) {}\n\n protected async _createOverlay(activatorElement: ViewContainerRef, component: DaffMenuSlot) {\n if (!this._overlay) {\n this._overlay = daffMenuCreateOverlay(this.overlay, activatorElement.element);\n if(typeof component === 'object' && (<DaffLazyComponent>component)?.import) {\n component = await (<DaffLazyComponent>component).import();\n }\n\n if(component instanceof Type) {\n this._overlay.attach(new ComponentPortal(<Type<unknown>>component, null, this.injector));\n } else if (component instanceof TemplateRef) {\n this._overlay.attach(new TemplatePortal(component, activatorElement, null, this.injector));\n }\n\n this._overlay.backdropClick().pipe(\n map(() => this._destroyOverlay()),\n ).subscribe();\n }\n }\n\n protected _destroyOverlay() {\n if (this._overlay) {\n this._overlay.detach();\n this._overlay.dispose();\n this._overlay = null;\n }\n }\n\n close() {\n this._destroyOverlay();\n this.$_open.next(false);\n this._activator.element.nativeElement.focus();\n }\n\n open(activator: ViewContainerRef, component: DaffMenuSlot) {\n this._createOverlay(activator, component);\n this._activator = activator;\n this.$_open.next(true);\n }\n}\n","import {\n ChangeDetectorRef,\n Directive,\n HostBinding,\n HostListener,\n Input,\n OnDestroy,\n TemplateRef,\n Type,\n ViewContainerRef,\n} from '@angular/core';\nimport {\n Subject,\n takeUntil,\n} from 'rxjs';\n\nimport { DaffMenuService } from '../services/menu.service';\n\n@Directive({\n selector: '[daffMenuActivator]',\n standalone: true,\n})\nexport class DaffMenuActivatorDirective implements OnDestroy {\n\n private _destroyed$ = new Subject<boolean>();\n private _open: boolean;\n\n @HostBinding('class.open') get openClass() {\n return this._open;\n }\n\n @Input() daffMenuActivator: Type<unknown> | TemplateRef<unknown>;\n\n constructor(\n private service: DaffMenuService,\n private viewContainerRef: ViewContainerRef,\n private cdRef: ChangeDetectorRef,\n ) {\n this.service.open$.pipe(\n takeUntil(this._destroyed$),\n ).subscribe((val: boolean) => {\n this._open = val;\n this.cdRef.markForCheck();\n });\n }\n\n ngOnDestroy(): void {\n this._destroyed$.next(true);\n this._destroyed$.complete();\n }\n\n focus() {\n this.viewContainerRef.element.nativeElement.focus();\n }\n\n @HostListener('click', ['$event'])\n openMenu(event) {\n event.preventDefault();\n this.service.open(this.viewContainerRef, this.daffMenuActivator);\n }\n}\n","import { NgIf } from '@angular/common';\nimport {\n Component,\n ChangeDetectionStrategy,\n HostBinding,\n ContentChild,\n} from '@angular/core';\n\nimport {\n DaffPrefixDirective,\n DaffPrefixSuffixModule,\n} from '@daffodil/design';\n\n@Component({\n selector: 'a[daff-menu-item]' + ',' +\n 'button[daff-menu-item]',\n templateUrl: './menu-item.component.html',\n styleUrls: ['./menu-item.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n NgIf,\n DaffPrefixSuffixModule,\n ],\n})\n\nexport class DaffMenuItemComponent {\n /**\n * @docs-private\n */\n @HostBinding('class.daff-menu-item') class = true;\n\n /**\n * Sets the role of the component to menuitem.\n *\n * @docs-private\n */\n @HostBinding('attr.role') role = 'menuitem';\n\n /**\n * @docs-private\n */\n @ContentChild(DaffPrefixDirective) _prefix: DaffPrefixDirective;\n}\n","<ng-container *ngIf=\"_prefix\">\n <ng-content select=\"[daffPrefix]\"></ng-content>\n</ng-container>\n<div class=\"daff-menu-item__content\">\n <ng-content></ng-content>\n</div>","import {\n ConfigurableFocusTrapFactory,\n ConfigurableFocusTrap,\n} from '@angular/cdk/a11y';\nimport {\n AfterContentInit,\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n HostBinding,\n NgZone,\n} from '@angular/core';\nimport {\n filter,\n fromEvent,\n} from 'rxjs';\n\nimport { daffFocusableElementsSelector } from '@daffodil/design';\n\nimport { DaffMenuItemComponent } from '../menu-item/menu-item.component';\nimport { DaffMenuService } from '../services/menu.service';\n\n@Component({\n selector: 'daff-menu',\n template: '<ng-content select=\"[daff-menu-item]\"></ng-content>',\n styleUrls: ['./menu.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n DaffMenuItemComponent,\n ],\n})\nexport class DaffMenuComponent implements AfterContentInit, AfterViewInit {\n @HostBinding('class.daff-menu') class = true;\n @HostBinding('tabindex') tabindex = 0;\n @HostBinding('attr.role') role = 'menu';\n\n private _focusTrap: ConfigurableFocusTrap;\n\n constructor(\n private _focusTrapFactory: ConfigurableFocusTrapFactory,\n private _ngZone: NgZone,\n private _elementRef: ElementRef<HTMLElement>,\n private menuService: DaffMenuService,\n ) {\n /**\n * Listen to `keydown` events outside the zone so that change detection is not run every\n * time a key is pressed. Instead we re-enter the zone only if the `ESC` key is pressed.\n *\n */\n this._ngZone.runOutsideAngular(() => {\n fromEvent<KeyboardEvent>(this._elementRef.nativeElement, 'keyup')\n .pipe(\n filter((event) => event.key === 'Escape'),\n )\n .subscribe((event) =>\n this._ngZone.run(() => {\n this.menuService.close();\n event.stopPropagation();\n }),\n );\n });\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","import { OverlayModule } from '@angular/cdk/overlay';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { DaffMenuComponent } from './menu/menu.component';\nimport { DaffMenuActivatorDirective } from './menu-activator/menu-activator.component';\nimport { DaffMenuItemComponent } from './menu-item/menu-item.component';\nimport { DaffMenuService } from './services/menu.service';\n\n@NgModule({\n imports: [\n CommonModule,\n OverlayModule,\n DaffMenuActivatorDirective,\n DaffMenuComponent,\n DaffMenuItemComponent,\n ],\n exports: [\n DaffMenuActivatorDirective,\n DaffMenuComponent,\n DaffMenuItemComponent,\n ],\n providers: [\n DaffMenuService,\n ],\n})\n\nexport class DaffMenuModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.DaffMenuService","i1","i2.DaffMenuService"],"mappings":"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"}
1
+ {"version":3,"file":"daffodil-design-menu.mjs","sources":["../../../libs/design/menu/src/helpers/create-overlay.ts","../../../libs/design/menu/src/services/menu.service.ts","../../../libs/design/menu/src/menu-activator/menu-activator.component.ts","../../../libs/design/menu/src/menu-item/menu-item.component.ts","../../../libs/design/menu/src/menu-item/menu-item.component.html","../../../libs/design/menu/src/menu/menu.component.ts","../../../libs/design/menu/src/menu.module.ts","../../../libs/design/menu/src/daffodil-design-menu.ts"],"sourcesContent":["import {\n Overlay,\n OverlayConfig,\n} from '@angular/cdk/overlay';\nimport { ElementRef } from '@angular/core';\n\nexport function daffMenuCreateOverlay(overlay: Overlay, element: ElementRef, config: OverlayConfig = {}) {\n return overlay.create({\n hasBackdrop: true,\n backdropClass: 'cdk-overlay-transparent-backdrop',\n scrollStrategy: overlay.scrollStrategies.block(),\n disposeOnNavigation: true,\n positionStrategy: overlay\n .position()\n .flexibleConnectedTo(element)\n .withPositions([\n {\n originX: 'start',\n originY: 'bottom',\n overlayX: 'start',\n overlayY: 'top',\n offsetY: 0,\n },\n {\n originX: 'start',\n originY: 'top',\n overlayX: 'start',\n overlayY: 'bottom',\n },\n ]),\n ...config,\n });\n};\n","import {\n Overlay,\n OverlayRef,\n} from '@angular/cdk/overlay';\nimport {\n ComponentPortal,\n TemplatePortal,\n} from '@angular/cdk/portal';\nimport {\n ElementRef,\n Injectable,\n Injector,\n TemplateRef,\n Type,\n ViewContainerRef,\n} from '@angular/core';\nimport {\n BehaviorSubject,\n map,\n Observable,\n} from 'rxjs';\n\nimport { DaffLazyComponent } from '@daffodil/design';\n\nimport { daffMenuCreateOverlay } from '../helpers/public_api';\n\nexport interface DaffActivatedMenu {\n el: ElementRef;\n component: Type<unknown>;\n}\n\nexport type DaffMenuSlot = TemplateRef<unknown> | DaffLazyComponent | Type<unknown>;\n\n@Injectable()\nexport class DaffMenuService {\n protected _overlay: OverlayRef | null;\n private _activator: ViewContainerRef;\n\n private $_open: BehaviorSubject<boolean> = new BehaviorSubject(false);\n public open$: Observable<boolean> = this.$_open.asObservable();\n\n constructor(\n protected overlay: Overlay,\n private injector: Injector,\n ) {}\n\n protected async _createOverlay(activatorElement: ViewContainerRef, component: DaffMenuSlot) {\n if (!this._overlay) {\n this._overlay = daffMenuCreateOverlay(this.overlay, activatorElement.element);\n if(typeof component === 'object' && (<DaffLazyComponent>component)?.import) {\n component = await (<DaffLazyComponent>component).import();\n }\n\n if(component instanceof Type) {\n this._overlay.attach(new ComponentPortal(<Type<unknown>>component, null, this.injector));\n } else if (component instanceof TemplateRef) {\n this._overlay.attach(new TemplatePortal(component, activatorElement, null, this.injector));\n }\n\n this._overlay.backdropClick().pipe(\n map(() => this._destroyOverlay()),\n ).subscribe();\n }\n }\n\n protected _destroyOverlay() {\n if (this._overlay) {\n this._overlay.detach();\n this._overlay.dispose();\n this._overlay = null;\n }\n }\n\n close() {\n this._destroyOverlay();\n this.$_open.next(false);\n this._activator.element.nativeElement.focus();\n }\n\n open(activator: ViewContainerRef, component: DaffMenuSlot) {\n this._createOverlay(activator, component);\n this._activator = activator;\n this.$_open.next(true);\n }\n}\n","import {\n ChangeDetectorRef,\n Directive,\n HostBinding,\n HostListener,\n Input,\n OnDestroy,\n TemplateRef,\n Type,\n ViewContainerRef,\n} from '@angular/core';\nimport {\n Subject,\n takeUntil,\n} from 'rxjs';\n\nimport { DaffMenuService } from '../services/menu.service';\n\n@Directive({\n selector: '[daffMenuActivator]',\n standalone: true,\n})\nexport class DaffMenuActivatorDirective implements OnDestroy {\n\n private _destroyed$ = new Subject<boolean>();\n private _open: boolean;\n\n /**\n * @docs-private\n */\n @HostBinding('class.open') get openClass() {\n return this._open;\n }\n\n @Input() daffMenuActivator: Type<unknown> | TemplateRef<unknown>;\n\n constructor(\n private service: DaffMenuService,\n private viewContainerRef: ViewContainerRef,\n private cdRef: ChangeDetectorRef,\n ) {\n this.service.open$.pipe(\n takeUntil(this._destroyed$),\n ).subscribe((val: boolean) => {\n this._open = val;\n this.cdRef.markForCheck();\n });\n }\n\n ngOnDestroy(): void {\n this._destroyed$.next(true);\n this._destroyed$.complete();\n }\n\n focus() {\n this.viewContainerRef.element.nativeElement.focus();\n }\n\n @HostListener('click', ['$event'])\n openMenu(event) {\n event.preventDefault();\n this.service.open(this.viewContainerRef, this.daffMenuActivator);\n }\n}\n","import {\n Component,\n ChangeDetectionStrategy,\n HostBinding,\n ContentChild,\n} from '@angular/core';\n\nimport { DaffPrefixDirective } from '@daffodil/design';\n\n@Component({\n selector: 'a[daff-menu-item]' + ',' +\n 'button[daff-menu-item]',\n templateUrl: './menu-item.component.html',\n styleUrls: ['./menu-item.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\n\nexport class DaffMenuItemComponent {\n /**\n * @docs-private\n */\n @HostBinding('class.daff-menu-item') class = true;\n\n /**\n * Sets the role of the component to menuitem.\n *\n * @docs-private\n */\n @HostBinding('attr.role') role = 'menuitem';\n\n /**\n * @docs-private\n */\n @ContentChild(DaffPrefixDirective) _prefix: DaffPrefixDirective;\n}\n","@if (_prefix) {\n <ng-content select=\"[daffPrefix]\"></ng-content>\n}\n<div class=\"daff-menu-item__content\">\n <ng-content></ng-content>\n</div>","import {\n ConfigurableFocusTrapFactory,\n ConfigurableFocusTrap,\n} from '@angular/cdk/a11y';\nimport {\n AfterContentInit,\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n HostBinding,\n NgZone,\n} from '@angular/core';\nimport {\n filter,\n fromEvent,\n} from 'rxjs';\n\nimport { daffFocusableElementsSelector } from '@daffodil/design';\n\nimport { DaffMenuItemComponent } from '../menu-item/menu-item.component';\nimport { DaffMenuService } from '../services/menu.service';\n\n@Component({\n selector: 'daff-menu',\n template: '<ng-content select=\"[daff-menu-item]\"></ng-content>',\n styleUrls: ['./menu.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n DaffMenuItemComponent,\n ],\n})\nexport class DaffMenuComponent implements AfterContentInit, AfterViewInit {\n /**\n * @docs-private\n */\n @HostBinding('class.daff-menu') class = true;\n /**\n * @docs-private\n */\n @HostBinding('tabindex') tabindex = 0;\n /**\n * @docs-private\n */\n @HostBinding('attr.role') role = 'menu';\n\n private _focusTrap: ConfigurableFocusTrap;\n\n constructor(\n private _focusTrapFactory: ConfigurableFocusTrapFactory,\n private _ngZone: NgZone,\n private _elementRef: ElementRef<HTMLElement>,\n private menuService: DaffMenuService,\n ) {\n /**\n * Listen to `keydown` events outside the zone so that change detection is not run every\n * time a key is pressed. Instead we re-enter the zone only if the `ESC` key is pressed.\n *\n */\n this._ngZone.runOutsideAngular(() => {\n fromEvent<KeyboardEvent>(this._elementRef.nativeElement, 'keyup')\n .pipe(\n filter((event) => event.key === 'Escape'),\n )\n .subscribe((event) =>\n this._ngZone.run(() => {\n this.menuService.close();\n event.stopPropagation();\n }),\n );\n });\n }\n\n /**\n * @docs-private\n */\n ngAfterContentInit() {\n this._focusTrap = this._focusTrapFactory.create(\n this._elementRef.nativeElement,\n );\n }\n\n /**\n * @docs-private\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","import { OverlayModule } from '@angular/cdk/overlay';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { DaffMenuComponent } from './menu/menu.component';\nimport { DaffMenuActivatorDirective } from './menu-activator/menu-activator.component';\nimport { DaffMenuItemComponent } from './menu-item/menu-item.component';\nimport { DaffMenuService } from './services/menu.service';\n\n@NgModule({\n imports: [\n CommonModule,\n OverlayModule,\n DaffMenuActivatorDirective,\n DaffMenuComponent,\n DaffMenuItemComponent,\n ],\n exports: [\n DaffMenuActivatorDirective,\n DaffMenuComponent,\n DaffMenuItemComponent,\n ],\n providers: [\n DaffMenuService,\n ],\n})\n\nexport class DaffMenuModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.DaffMenuService","i1","i2.DaffMenuService"],"mappings":"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"}
@@ -1,14 +1,14 @@
1
1
  import * as i0 from '@angular/core';
2
- import { Component, ChangeDetectionStrategy } from '@angular/core';
2
+ import { ChangeDetectionStrategy, Component } from '@angular/core';
3
3
  import { DaffButtonComponent } from '@daffodil/design/button';
4
4
  import * as i1 from '@daffodil/design/modal';
5
5
  import { DAFF_MODAL_COMPONENTS, DaffModalService } from '@daffodil/design/modal';
6
6
 
7
7
  class BasicModalContentComponent {
8
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: BasicModalContentComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
9
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.1.5", 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]", inputs: ["elevated"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
8
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: BasicModalContentComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
9
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.11", 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]", inputs: ["elevated"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
10
10
  }
11
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: BasicModalContentComponent, decorators: [{
11
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: BasicModalContentComponent, decorators: [{
12
12
  type: Component,
13
13
  args: [{ selector: 'basic-modal-content', changeDetection: ChangeDetectionStrategy.OnPush, imports: [
14
14
  DAFF_MODAL_COMPONENTS,
@@ -23,12 +23,12 @@ class BasicModalComponent {
23
23
  showModal() {
24
24
  this.modal = this.modalService.open(BasicModalContentComponent, { ariaLabelledBy: 'Modal Title' });
25
25
  }
26
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: BasicModalComponent, deps: [{ token: i1.DaffModalService }], target: i0.ɵɵFactoryTarget.Component }); }
27
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.1.5", type: BasicModalComponent, isStandalone: true, selector: "basic-modal", providers: [
26
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: BasicModalComponent, deps: [{ token: i1.DaffModalService }], target: i0.ɵɵFactoryTarget.Component }); }
27
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.11", type: BasicModalComponent, isStandalone: true, selector: "basic-modal", providers: [
28
28
  DaffModalService,
29
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]", inputs: ["elevated"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
30
30
  }
31
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: BasicModalComponent, decorators: [{
31
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: BasicModalComponent, decorators: [{
32
32
  type: Component,
33
33
  args: [{ selector: 'basic-modal', changeDetection: ChangeDetectionStrategy.OnPush, imports: [
34
34
  DaffButtonComponent,
@@ -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 { 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 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 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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"}
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 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 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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"}
@@ -2,12 +2,12 @@ import * as i2 from '@angular/cdk/a11y';
2
2
  import * as i1 from '@angular/cdk/overlay';
3
3
  import { GlobalPositionStrategy, OverlayModule } from '@angular/cdk/overlay';
4
4
  import * as i4 from '@angular/cdk/portal';
5
- import { ComponentPortal, CdkPortalOutlet, PortalModule } from '@angular/cdk/portal';
5
+ import { ComponentPortal, PortalModule, CdkPortalOutlet } from '@angular/cdk/portal';
6
6
  import * as i0 from '@angular/core';
7
- import { Injector, Injectable, EventEmitter, Component, ChangeDetectionStrategy, ViewEncapsulation, HostBinding, ViewChild, HostListener, Directive, Optional, Input, NgModule } from '@angular/core';
7
+ import { Injector, Injectable, EventEmitter, HostListener, HostBinding, ViewChild, ViewEncapsulation, ChangeDetectionStrategy, Component, Optional, Directive, Input, NgModule } from '@angular/core';
8
8
  import * as i3 from '@daffodil/design';
9
9
  import { daffFocusableElementsSelector, DaffOpenableDirective } from '@daffodil/design';
10
- import { trigger, state, style, transition, animate } from '@angular/animations';
10
+ import { trigger, state, transition, style, animate } from '@angular/animations';
11
11
  import { NgIf, CommonModule } from '@angular/common';
12
12
  import { FaIconComponent, FontAwesomeModule } from '@fortawesome/angular-fontawesome';
13
13
  import { DaffIconButtonComponent, DaffButtonModule } from '@daffodil/design/button';
@@ -84,10 +84,10 @@ class DaffModalService {
84
84
  modal.overlay.detachBackdrop();
85
85
  component.closedAnimationCompleted.subscribe((e) => this._removeModal(modal));
86
86
  }
87
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffModalService, deps: [{ token: i1.Overlay }], target: i0.ɵɵFactoryTarget.Injectable }); }
88
- /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffModalService }); }
87
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: DaffModalService, deps: [{ token: i1.Overlay }], target: i0.ɵɵFactoryTarget.Injectable }); }
88
+ /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: DaffModalService }); }
89
89
  }
90
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffModalService, decorators: [{
90
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: DaffModalService, decorators: [{
91
91
  type: Injectable
92
92
  }], ctorParameters: () => [{ type: i1.Overlay }] });
93
93
 
@@ -97,6 +97,9 @@ class DaffModalComponent {
97
97
  * {@link DaffModalTitleDirective} when it is used.
98
98
  *
99
99
  */
100
+ /**
101
+ * @docs-private
102
+ */
100
103
  get ariaLabelledBy() {
101
104
  return this._ariaLabelledBy;
102
105
  }
@@ -117,14 +120,23 @@ class DaffModalComponent {
117
120
  /**
118
121
  * Sets a class of .daff-modal to the host element.
119
122
  */
123
+ /**
124
+ * @docs-private
125
+ */
120
126
  this.modalClass = true;
121
127
  /**
122
128
  * Sets the role to dialog.
123
129
  */
130
+ /**
131
+ * @docs-private
132
+ */
124
133
  this.role = 'dialog';
125
134
  /**
126
135
  * Sets aria-modal to true.
127
136
  */
137
+ /**
138
+ * @docs-private
139
+ */
128
140
  this.ariaModal = true;
129
141
  this._ariaLabelledBy = null;
130
142
  /**
@@ -137,9 +149,15 @@ class DaffModalComponent {
137
149
  this.closedAnimationCompleted = new EventEmitter();
138
150
  this.openDirective.stateless = false;
139
151
  }
152
+ /**
153
+ * @docs-private
154
+ */
140
155
  ngAfterContentInit() {
141
156
  this._focusTrap = this._focusTrapFactory.create(this.elementRef.nativeElement);
142
157
  }
158
+ /**
159
+ * @docs-private
160
+ */
143
161
  ngAfterViewInit() {
144
162
  const focusableChild = this.elementRef.nativeElement.querySelector(daffFocusableElementsSelector);
145
163
  if (focusableChild) {
@@ -166,6 +184,9 @@ class DaffModalComponent {
166
184
  return attachContent;
167
185
  }
168
186
  /** Animation hook that controls the entrance and exit animations of the modal. */
187
+ /**
188
+ * @docs-private
189
+ */
169
190
  get fadeState() {
170
191
  return getAnimationState(this.openDirective.open);
171
192
  }
@@ -202,10 +223,10 @@ class DaffModalComponent {
202
223
  toggle() {
203
224
  this.openDirective.toggle();
204
225
  }
205
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffModalComponent, deps: [{ token: DaffModalService }, { token: i2.ConfigurableFocusTrapFactory }, { token: i0.ElementRef }, { token: i3.DaffOpenableDirective }], target: i0.ɵɵFactoryTarget.Component }); }
206
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.1.5", type: DaffModalComponent, isStandalone: true, selector: "daff-modal", host: { listeners: { "keydown.escape": "onEscape()", "@fade.done": "animationDone($event)" }, properties: { "class.daff-modal": "this.modalClass", "attr.role": "this.role", "attr.aria-modal": "this.ariaModal", "attr.aria-labelledby": "this.ariaLabelledBy", "@fade": "this.fadeState" } }, viewQueries: [{ propertyName: "_portalOutlet", first: true, predicate: CdkPortalOutlet, descendants: true, static: true }], hostDirectives: [{ directive: i3.DaffOpenableDirective, outputs: ["toggled", "toggled"] }], ngImport: i0, template: "<ng-template cdkPortalOutlet></ng-template>\n", styles: [".daff-modal{display:flex;flex-direction:column;justify-content:space-between;border-radius:4px;max-height:90vh;max-width:90vw;overflow:hidden;z-index:3}@media (min-width: 480px){.daff-modal{max-height:80vh;max-width:80vw}}.daff-modal-header{display:flex;align-items:center;justify-content:space-between;padding:24px;position:relative}.daff-modal-header .daff-modal-title{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:1.25rem;font-weight:500;line-height:1.5rem;margin:0;padding:0 32px 0 0}.daff-modal-header__dismiss-button{position:absolute;right:7px;top:12px}.daff-modal-content{display:block;flex-grow:1;max-height:60vh;overflow-y:auto;padding:24px}.daff-modal-actions{display:flex;align-items:center;flex-wrap:wrap;justify-content:flex-end;gap:8px;padding:24px}.daff-modal-content+.daff-modal-actions{padding:0 24px 24px}.daff-modal-header+.daff-modal-content{padding-top:0}\n"], dependencies: [{ kind: "ngmodule", type: PortalModule }, { kind: "directive", type: i4.CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }, { kind: "ngmodule", type: OverlayModule }], animations: [daffFadeAnimations.fade], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
226
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: DaffModalComponent, deps: [{ token: DaffModalService }, { token: i2.ConfigurableFocusTrapFactory }, { token: i0.ElementRef }, { token: i3.DaffOpenableDirective }], target: i0.ɵɵFactoryTarget.Component }); }
227
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.11", type: DaffModalComponent, isStandalone: true, selector: "daff-modal", host: { listeners: { "keydown.escape": "onEscape()", "@fade.done": "animationDone($event)" }, properties: { "class.daff-modal": "this.modalClass", "attr.role": "this.role", "attr.aria-modal": "this.ariaModal", "attr.aria-labelledby": "this.ariaLabelledBy", "@fade": "this.fadeState" } }, viewQueries: [{ propertyName: "_portalOutlet", first: true, predicate: CdkPortalOutlet, descendants: true, static: true }], hostDirectives: [{ directive: i3.DaffOpenableDirective, outputs: ["toggled", "toggled"] }], ngImport: i0, template: "<ng-template cdkPortalOutlet></ng-template>\n", styles: [".daff-modal{display:flex;flex-direction:column;justify-content:space-between;border-radius:4px;max-height:90vh;max-width:90vw;overflow:hidden;z-index:3}@media (min-width: 480px){.daff-modal{max-height:80vh;max-width:80vw}}.daff-modal-header{display:flex;align-items:center;justify-content:space-between;padding:24px;position:relative}.daff-modal-header .daff-modal-title{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:1.25rem;font-weight:500;line-height:1.5rem;margin:0;padding:0 32px 0 0}.daff-modal-header__dismiss-button{position:absolute;right:7px;top:12px}.daff-modal-content{display:block;flex-grow:1;max-height:60vh;overflow-y:auto;padding:24px}.daff-modal-actions{display:flex;align-items:center;flex-wrap:wrap;justify-content:flex-end;gap:8px;padding:24px}.daff-modal-content+.daff-modal-actions{padding:0 24px 24px}.daff-modal-header+.daff-modal-content{padding-top:0}\n"], dependencies: [{ kind: "ngmodule", type: PortalModule }, { kind: "directive", type: i4.CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }, { kind: "ngmodule", type: OverlayModule }], animations: [daffFadeAnimations.fade], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
207
228
  }
208
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffModalComponent, decorators: [{
229
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: DaffModalComponent, decorators: [{
209
230
  type: Component,
210
231
  args: [{ selector: 'daff-modal', hostDirectives: [{
211
232
  directive: DaffOpenableDirective,
@@ -242,12 +263,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImpor
242
263
 
243
264
  class DaffModalActionsComponent {
244
265
  constructor() {
266
+ /**
267
+ * @docs-private
268
+ */
245
269
  this.class = true;
246
270
  }
247
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffModalActionsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
248
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.1.5", type: DaffModalActionsComponent, isStandalone: true, selector: "daff-modal-actions", host: { properties: { "class.daff-modal-actions": "this.class" } }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
271
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: DaffModalActionsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
272
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.11", type: DaffModalActionsComponent, isStandalone: true, selector: "daff-modal-actions", host: { properties: { "class.daff-modal-actions": "this.class" } }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
249
273
  }
250
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffModalActionsComponent, decorators: [{
274
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: DaffModalActionsComponent, decorators: [{
251
275
  type: Component,
252
276
  args: [{
253
277
  selector: 'daff-modal-actions',
@@ -273,6 +297,9 @@ class DaffModalCloseDirective {
273
297
  /**
274
298
  * Sets the button type attribute to button.
275
299
  */
300
+ /**
301
+ * @docs-private
302
+ */
276
303
  this.typeAttribute = 'button';
277
304
  }
278
305
  /**
@@ -283,10 +310,10 @@ class DaffModalCloseDirective {
283
310
  this.modalService.close(this.modal);
284
311
  }
285
312
  }
286
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffModalCloseDirective, deps: [{ token: DaffModalService }, { token: DaffModalComponent, optional: true }], target: i0.ɵɵFactoryTarget.Directive }); }
287
- /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.1.5", type: DaffModalCloseDirective, isStandalone: true, selector: "button[daffModalClose]", host: { listeners: { "click": "_onCloseModal()" }, properties: { "attr.type": "this.typeAttribute" } }, ngImport: i0 }); }
313
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: DaffModalCloseDirective, deps: [{ token: DaffModalService }, { token: DaffModalComponent, optional: true }], target: i0.ɵɵFactoryTarget.Directive }); }
314
+ /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.11", type: DaffModalCloseDirective, isStandalone: true, selector: "button[daffModalClose]", host: { listeners: { "click": "_onCloseModal()" }, properties: { "attr.type": "this.typeAttribute" } }, ngImport: i0 }); }
288
315
  }
289
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffModalCloseDirective, decorators: [{
316
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: DaffModalCloseDirective, decorators: [{
290
317
  type: Directive,
291
318
  args: [{
292
319
  selector: 'button[daffModalClose]',
@@ -304,12 +331,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImpor
304
331
 
305
332
  class DaffModalContentComponent {
306
333
  constructor() {
334
+ /**
335
+ * @docs-private
336
+ */
307
337
  this.class = true;
308
338
  }
309
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffModalContentComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
310
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.1.5", type: DaffModalContentComponent, isStandalone: true, selector: "daff-modal-content", host: { properties: { "class.daff-modal-content": "this.class" } }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
339
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: DaffModalContentComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
340
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.11", type: DaffModalContentComponent, isStandalone: true, selector: "daff-modal-content", host: { properties: { "class.daff-modal-content": "this.class" } }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
311
341
  }
312
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffModalContentComponent, decorators: [{
342
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: DaffModalContentComponent, decorators: [{
313
343
  type: Component,
314
344
  args: [{
315
345
  selector: 'daff-modal-content',
@@ -334,10 +364,10 @@ class DaffModalHeaderComponent {
334
364
  */
335
365
  this.dismissible = true;
336
366
  }
337
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffModalHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
338
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.1.5", 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 }); }
367
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: DaffModalHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
368
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.11", 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 }); }
339
369
  }
340
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffModalHeaderComponent, decorators: [{
370
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: DaffModalHeaderComponent, decorators: [{
341
371
  type: Component,
342
372
  args: [{ selector: 'daff-modal-header', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, imports: [
343
373
  NgIf,
@@ -360,6 +390,9 @@ class DaffModalTitleDirective {
360
390
  /**
361
391
  * The html `id` of the modal title.
362
392
  */
393
+ /**
394
+ * @docs-private
395
+ */
363
396
  get uniqueId() {
364
397
  return this._id;
365
398
  }
@@ -379,10 +412,10 @@ class DaffModalTitleDirective {
379
412
  this.modal.ariaLabelledBy = this.uniqueId;
380
413
  }
381
414
  }
382
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffModalTitleDirective, deps: [{ token: DaffModalComponent, optional: true }], target: i0.ɵɵFactoryTarget.Directive }); }
383
- /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.1.5", type: DaffModalTitleDirective, isStandalone: true, selector: "[daffModalTitle]", host: { properties: { "class.daff-modal-title": "this.class", "attr.id": "this.uniqueId" } }, ngImport: i0 }); }
415
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: DaffModalTitleDirective, deps: [{ token: DaffModalComponent, optional: true }], target: i0.ɵɵFactoryTarget.Directive }); }
416
+ /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.11", type: DaffModalTitleDirective, isStandalone: true, selector: "[daffModalTitle]", host: { properties: { "class.daff-modal-title": "this.class", "attr.id": "this.uniqueId" } }, ngImport: i0 }); }
384
417
  }
385
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffModalTitleDirective, decorators: [{
418
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: DaffModalTitleDirective, decorators: [{
386
419
  type: Directive,
387
420
  args: [{
388
421
  selector: '[daffModalTitle]',
@@ -402,8 +435,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImpor
402
435
  * @deprecated in favor of {@link DAFF_MODAL_COMPONENTS}. Deprecated in version 0.78.0. Will be removed in version 1.0.0.
403
436
  */
404
437
  class DaffModalModule {
405
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffModalModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
406
- /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.1.5", ngImport: i0, type: DaffModalModule, imports: [CommonModule,
438
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: DaffModalModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
439
+ /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.11", ngImport: i0, type: DaffModalModule, imports: [CommonModule,
407
440
  PortalModule,
408
441
  OverlayModule,
409
442
  DaffButtonModule,
@@ -419,7 +452,7 @@ class DaffModalModule {
419
452
  DaffModalContentComponent,
420
453
  DaffModalActionsComponent,
421
454
  DaffModalCloseDirective] }); }
422
- /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffModalModule, providers: [
455
+ /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: DaffModalModule, providers: [
423
456
  DaffModalService,
424
457
  ], imports: [CommonModule,
425
458
  PortalModule,
@@ -429,7 +462,7 @@ class DaffModalModule {
429
462
  DaffModalComponent,
430
463
  DaffModalHeaderComponent] }); }
431
464
  }
432
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffModalModule, decorators: [{
465
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: DaffModalModule, decorators: [{
433
466
  type: NgModule,
434
467
  args: [{
435
468
  imports: [
@@ -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 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 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 1.0.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\n/**\n * @docs-private\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
+ {"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 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 /**\n * @docs-private\n */\n @HostBinding('class.daff-modal') modalClass = true;\n\n /**\n * Sets the role to dialog.\n */\n /**\n * @docs-private\n */\n @HostBinding('attr.role') role = 'dialog';\n\n /**\n * Sets aria-modal to true.\n */\n /**\n * @docs-private\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 /**\n * @docs-private\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 /**\n * @docs-private\n */\n ngAfterContentInit() {\n this._focusTrap = this._focusTrapFactory.create(\n this.elementRef.nativeElement,\n );\n }\n\n /**\n * @docs-private\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 /**\n * @docs-private\n */\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 /**\n * @docs-private\n */\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 /**\n * @docs-private\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 /**\n * @docs-private\n */\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 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 /**\n * @docs-private\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 1.0.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\n/**\n * @docs-private\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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"}