@daffodil/design 0.76.0 → 0.78.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 (553) hide show
  1. package/accordion/README.md +40 -2
  2. package/accordion/accordion/accordion/accordion.component.d.ts +1 -1
  3. package/accordion/accordion/accordion-item/accordion-item.component.d.ts +19 -8
  4. package/accordion/accordion/accordion-item-title/accordion-item-title.directive.d.ts +1 -1
  5. package/accordion/accordion.d.ts +4 -0
  6. package/accordion/accordion.module.d.ts +6 -7
  7. package/accordion/examples/basic-accordion/basic-accordion.component.d.ts +1 -1
  8. package/accordion/examples/public_api.d.ts +0 -1
  9. package/accordion/public_api.d.ts +1 -0
  10. package/article/README.md +42 -1
  11. package/article/article/article.component.d.ts +1 -1
  12. package/article/article-meta/article-meta.directive.d.ts +1 -1
  13. package/article/article.d.ts +3 -0
  14. package/article/article.module.d.ts +5 -4
  15. package/article/public_api.d.ts +2 -1
  16. package/button/README.md +41 -0
  17. package/button/button/button.component.d.ts +1 -1
  18. package/button/button.d.ts +3 -0
  19. package/button/button.module.d.ts +4 -4
  20. package/button/public_api.d.ts +2 -1
  21. package/callout/README.md +42 -0
  22. package/callout/callout/callout.component.d.ts +1 -1
  23. package/callout/callout-body/callout-body.directive.d.ts +1 -1
  24. package/callout/callout-icon/callout-icon.directive.d.ts +1 -1
  25. package/callout/callout-subtitle/callout-subtitle.directive.d.ts +1 -1
  26. package/callout/callout-tagline/callout-tagline.directive.d.ts +1 -1
  27. package/callout/callout-title/callout-title.directive.d.ts +1 -1
  28. package/callout/callout.d.ts +7 -0
  29. package/callout/callout.module.d.ts +9 -8
  30. package/callout/public_api.d.ts +1 -0
  31. package/card/README.md +41 -0
  32. package/card/card/card.component.d.ts +1 -1
  33. package/card/card-actions/card-actions.directive.d.ts +1 -1
  34. package/card/card-content/card-content.directive.d.ts +1 -1
  35. package/card/card-icon/card-icon.directive.d.ts +1 -1
  36. package/card/card-image/card-image.directive.d.ts +1 -1
  37. package/card/card-tagline/card-tagline.directive.d.ts +1 -1
  38. package/card/card-title/card-title.directive.d.ts +1 -1
  39. package/card/card.d.ts +8 -0
  40. package/card/card.module.d.ts +12 -9
  41. package/card/public_api.d.ts +1 -0
  42. package/container/README.md +42 -1
  43. package/container/container/container.component.d.ts +1 -1
  44. package/container/container.d.ts +2 -0
  45. package/container/container.module.d.ts +6 -3
  46. package/container/public_api.d.ts +1 -0
  47. package/core/openable/openable.d.ts +13 -0
  48. package/core/openable/openable.directive.d.ts +81 -0
  49. package/core/openable/public_api.d.ts +2 -0
  50. package/core/openable/utils/state-error.d.ts +1 -0
  51. package/core/public_api.d.ts +1 -0
  52. package/esm2022/accordion/accordion/accordion/accordion.component.mjs +5 -5
  53. package/esm2022/accordion/accordion/accordion-item/accordion-item.component.mjs +39 -23
  54. package/esm2022/accordion/accordion/accordion-item-title/accordion-item-title.directive.mjs +5 -4
  55. package/esm2022/accordion/accordion/animation/accordion-animation-state.mjs +1 -1
  56. package/esm2022/accordion/accordion.mjs +9 -0
  57. package/esm2022/accordion/accordion.module.mjs +8 -16
  58. package/esm2022/accordion/examples/basic-accordion/basic-accordion.component.mjs +8 -5
  59. package/esm2022/accordion/examples/public_api.mjs +1 -2
  60. package/esm2022/accordion/public_api.mjs +2 -1
  61. package/esm2022/article/article/article.component.mjs +5 -5
  62. package/esm2022/article/article-meta/article-meta.directive.mjs +5 -4
  63. package/esm2022/article/article.mjs +7 -0
  64. package/esm2022/article/article.module.mjs +8 -8
  65. package/esm2022/article/examples/article-blockquote/article-blockquote.component.mjs +8 -6
  66. package/esm2022/article/examples/article-code-block/article-code-block.component.mjs +8 -6
  67. package/esm2022/article/examples/article-code-inline/article-code-inline.component.mjs +8 -6
  68. package/esm2022/article/examples/article-headings/article-headings.component.mjs +9 -5
  69. package/esm2022/article/examples/article-hr/article-hr.component.mjs +8 -6
  70. package/esm2022/article/examples/article-link/article-link.component.mjs +8 -6
  71. package/esm2022/article/examples/article-meta/article-meta.component.mjs +8 -6
  72. package/esm2022/article/examples/article-ol/article-ol.component.mjs +8 -6
  73. package/esm2022/article/examples/article-table/article-table.component.mjs +8 -6
  74. package/esm2022/article/examples/article-ul/article-ul.component.mjs +8 -6
  75. package/esm2022/article/public_api.mjs +3 -2
  76. package/esm2022/atoms/form/checkbox/checkbox.component.mjs +4 -4
  77. package/esm2022/atoms/form/checkbox/checkbox.module.mjs +5 -5
  78. package/esm2022/atoms/form/checkbox/cva/checkbox-cva.directive.mjs +4 -4
  79. package/esm2022/atoms/form/checkbox-set/checkbox-set.component.mjs +4 -4
  80. package/esm2022/atoms/form/error-message/error-message.component.mjs +4 -4
  81. package/esm2022/atoms/form/error-message/error-message.module.mjs +5 -5
  82. package/esm2022/atoms/form/form-field/form-field/form-field.component.mjs +4 -4
  83. package/esm2022/atoms/form/form-field/form-field.module.mjs +5 -5
  84. package/esm2022/atoms/form/form-label/form-label.directive.mjs +4 -4
  85. package/esm2022/atoms/form/form-label/form-label.module.mjs +5 -5
  86. package/esm2022/atoms/form/input/input.component.mjs +4 -4
  87. package/esm2022/atoms/form/input/input.module.mjs +5 -5
  88. package/esm2022/atoms/form/native-select/native-select.component.mjs +4 -4
  89. package/esm2022/atoms/form/native-select/native-select.module.mjs +5 -5
  90. package/esm2022/atoms/form/quantity-field/quantity-field.component.mjs +4 -4
  91. package/esm2022/atoms/form/quantity-field/quantity-field.module.mjs +5 -5
  92. package/esm2022/atoms/form/quantity-field/quantity-input/quantity-input.component.mjs +4 -4
  93. package/esm2022/atoms/form/quantity-field/quantity-select/quantity-select.component.mjs +4 -4
  94. package/esm2022/atoms/form/radio/cva/radio-cva.directive.mjs +4 -4
  95. package/esm2022/atoms/form/radio/radio.component.mjs +4 -4
  96. package/esm2022/atoms/form/radio/radio.module.mjs +5 -5
  97. package/esm2022/atoms/form/radio/registry/radio-registry.mjs +4 -4
  98. package/esm2022/atoms/form/radio-set/radio-set.component.mjs +4 -4
  99. package/esm2022/breadcrumb/breadcrumb/breadcrumb.component.mjs +4 -4
  100. package/esm2022/breadcrumb/breadcrumb-item/breadcrumb-item.directive.mjs +4 -4
  101. package/esm2022/breadcrumb/breadcrumb.module.mjs +5 -5
  102. package/esm2022/breadcrumb/examples/basic-breadcrumb/basic-breadcrumb.component.mjs +4 -4
  103. package/esm2022/button/button/button-sizable.directive.mjs +4 -4
  104. package/esm2022/button/button/button.component.mjs +13 -8
  105. package/esm2022/button/button.mjs +7 -0
  106. package/esm2022/button/button.module.mjs +8 -14
  107. package/esm2022/button/examples/basic-button/basic-button.component.mjs +6 -8
  108. package/esm2022/button/examples/flat-button/flat-button.component.mjs +6 -8
  109. package/esm2022/button/examples/icon-button/icon-button.component.mjs +10 -6
  110. package/esm2022/button/examples/raised-button/raised-button.component.mjs +6 -8
  111. package/esm2022/button/examples/sizeable-button/sizeable-button.component.mjs +10 -6
  112. package/esm2022/button/examples/statusable-button/statusable-button.component.mjs +10 -6
  113. package/esm2022/button/examples/stroked-button/stroked-button.component.mjs +6 -8
  114. package/esm2022/button/examples/underline-button/underline-button.component.mjs +6 -8
  115. package/esm2022/button/public_api.mjs +3 -2
  116. package/esm2022/callout/callout/callout.component.mjs +6 -6
  117. package/esm2022/callout/callout-body/callout-body.directive.mjs +5 -4
  118. package/esm2022/callout/callout-icon/callout-icon.directive.mjs +5 -4
  119. package/esm2022/callout/callout-subtitle/callout-subtitle.directive.mjs +5 -4
  120. package/esm2022/callout/callout-tagline/callout-tagline.directive.mjs +5 -4
  121. package/esm2022/callout/callout-title/callout-title.directive.mjs +5 -4
  122. package/esm2022/callout/callout.mjs +15 -0
  123. package/esm2022/callout/callout.module.mjs +8 -8
  124. package/esm2022/callout/examples/callout-text-alignment/callout-text-alignment.component.mjs +12 -11
  125. package/esm2022/callout/examples/callout-theming/callout-theming.component.mjs +10 -9
  126. package/esm2022/callout/examples/callout-with-grid/callout-with-grid.component.mjs +11 -10
  127. package/esm2022/callout/examples/compact-callout/compact-callout.component.mjs +11 -10
  128. package/esm2022/callout/public_api.mjs +2 -1
  129. package/esm2022/card/card/card.component.mjs +5 -5
  130. package/esm2022/card/card-actions/card-actions.directive.mjs +5 -4
  131. package/esm2022/card/card-content/card-content.directive.mjs +5 -4
  132. package/esm2022/card/card-icon/card-icon.directive.mjs +5 -4
  133. package/esm2022/card/card-image/card-image.directive.mjs +5 -4
  134. package/esm2022/card/card-tagline/card-tagline.directive.mjs +5 -4
  135. package/esm2022/card/card-title/card-title.directive.mjs +5 -4
  136. package/esm2022/card/card.mjs +17 -0
  137. package/esm2022/card/card.module.mjs +10 -8
  138. package/esm2022/card/examples/basic-card/basic-card.component.mjs +11 -10
  139. package/esm2022/card/examples/card-orientation/card-orientation.component.mjs +12 -11
  140. package/esm2022/card/examples/card-theming/card-theming.component.mjs +6 -6
  141. package/esm2022/card/examples/linkable-card/linkable-card.component.mjs +8 -8
  142. package/esm2022/card/examples/raised-card/raised-card.component.mjs +8 -8
  143. package/esm2022/card/examples/stroked-card/stroked-card.component.mjs +8 -8
  144. package/esm2022/card/public_api.mjs +2 -1
  145. package/esm2022/checkbox/examples/basic-checkbox/basic-checkbox.component.mjs +6 -6
  146. package/esm2022/checkbox/examples/checkbox-set/checkbox-set.component.mjs +6 -6
  147. package/esm2022/container/container/container.component.mjs +5 -5
  148. package/esm2022/container/container.mjs +5 -0
  149. package/esm2022/container/container.module.mjs +9 -7
  150. package/esm2022/container/examples/container-sizes/container-sizes.component.mjs +6 -6
  151. package/esm2022/container/public_api.mjs +2 -1
  152. package/esm2022/core/article-encapsulated/article-encapsulated.directive.mjs +4 -4
  153. package/esm2022/core/breakpoints/noop.service.mjs +4 -4
  154. package/esm2022/core/colorable/colorable.directive.mjs +4 -4
  155. package/esm2022/core/compactable/compactable.directive.mjs +4 -4
  156. package/esm2022/core/focus/stack.service.mjs +4 -4
  157. package/esm2022/core/manage-container-layout/manage-container-layout.directive.mjs +4 -4
  158. package/esm2022/core/openable/openable.directive.mjs +122 -0
  159. package/esm2022/core/openable/openable.mjs +2 -0
  160. package/esm2022/core/openable/public_api.mjs +2 -0
  161. package/esm2022/core/openable/utils/state-error.mjs +2 -0
  162. package/esm2022/core/prefix-suffix/prefix-suffix.module.mjs +5 -5
  163. package/esm2022/core/prefix-suffix/prefix.directive.mjs +4 -4
  164. package/esm2022/core/prefix-suffix/prefixable/prefixable.mjs +4 -4
  165. package/esm2022/core/prefix-suffix/suffix.directive.mjs +4 -4
  166. package/esm2022/core/prefix-suffix/suffixable/suffixable.mjs +4 -4
  167. package/esm2022/core/public_api.mjs +2 -1
  168. package/esm2022/core/sizable/sizable.directive.mjs +4 -4
  169. package/esm2022/core/skeletonable/skeletonable.directive.mjs +4 -4
  170. package/esm2022/core/statusable/statusable.directive.mjs +4 -4
  171. package/esm2022/core/text-alignable/text-alignable.directive.mjs +4 -4
  172. package/esm2022/core/theming/functions/computer.mjs +1 -1
  173. package/esm2022/core/theming/services/class-setter/theme-class-setter.service.mjs +4 -4
  174. package/esm2022/core/theming/services/os-theme/ostheme.service.mjs +4 -4
  175. package/esm2022/core/theming/services/storage/theme-storage.service.mjs +4 -4
  176. package/esm2022/core/theming/services/theming.service.mjs +4 -4
  177. package/esm2022/hero/examples/compact-hero/compact-hero.component.mjs +9 -8
  178. package/esm2022/hero/examples/hero-text-alignment/hero-text-alignment.component.mjs +12 -11
  179. package/esm2022/hero/examples/hero-theming/hero-theming.component.mjs +10 -9
  180. package/esm2022/hero/examples/hero-with-grid/hero-with-grid.component.mjs +11 -10
  181. package/esm2022/hero/hero/hero.component.mjs +6 -9
  182. package/esm2022/hero/hero-body/hero-body.directive.mjs +5 -4
  183. package/esm2022/hero/hero-icon/hero-icon.directive.mjs +5 -4
  184. package/esm2022/hero/hero-subtitle/hero-subtitle.directive.mjs +5 -4
  185. package/esm2022/hero/hero-tagline/hero-tagline.directive.mjs +5 -4
  186. package/esm2022/hero/hero-title/hero-title.directive.mjs +5 -4
  187. package/esm2022/hero/hero.mjs +15 -0
  188. package/esm2022/hero/hero.module.mjs +10 -8
  189. package/esm2022/hero/public_api.mjs +2 -1
  190. package/esm2022/image/examples/basic-image/basic-image.component.mjs +8 -6
  191. package/esm2022/image/examples/load-image/load-image.component.mjs +9 -6
  192. package/esm2022/image/examples/skeleton-image/skeleton-image.component.mjs +8 -6
  193. package/esm2022/image/image/image.component.mjs +5 -5
  194. package/esm2022/image/image.mjs +5 -0
  195. package/esm2022/image/image.module.mjs +10 -8
  196. package/esm2022/image/public_api.mjs +2 -1
  197. package/esm2022/input/examples/basic-input/basic-input.component.mjs +4 -4
  198. package/esm2022/input/examples/input-disabled/input-disabled.component.mjs +4 -4
  199. package/esm2022/input/examples/input-error/input-error.component.mjs +4 -4
  200. package/esm2022/input/examples/input-with-form-field/input-with-form-field.component.mjs +4 -4
  201. package/esm2022/link-set/link-set/link-set.component.mjs +5 -5
  202. package/esm2022/link-set/link-set-heading/link-set-heading.directive.mjs +5 -4
  203. package/esm2022/link-set/link-set-item/link-set-item.component.mjs +5 -4
  204. package/esm2022/link-set/link-set-subheading/link-set-subheading.directive.mjs +5 -4
  205. package/esm2022/link-set/link-set.mjs +11 -0
  206. package/esm2022/link-set/link-set.module.mjs +11 -9
  207. package/esm2022/link-set/public_api.mjs +2 -1
  208. package/esm2022/list/examples/basic-list/basic-list.component.mjs +9 -6
  209. package/esm2022/list/examples/icon-list/icon-list.component.mjs +6 -8
  210. package/esm2022/list/examples/multiline-list/multiline-list.component.mjs +9 -6
  211. package/esm2022/list/examples/nav-list/nav-list.component.mjs +6 -8
  212. package/esm2022/list/list/list.component.mjs +5 -5
  213. package/esm2022/list/list-item/list-item.component.mjs +10 -7
  214. package/esm2022/list/list.mjs +9 -0
  215. package/esm2022/list/list.module.mjs +11 -11
  216. package/esm2022/list/public_api.mjs +2 -1
  217. package/esm2022/loading-icon/examples/loading-icon-color/loading-icon-color.component.mjs +6 -6
  218. package/esm2022/loading-icon/examples/loading-icon-diameter/loading-icon-diameter.component.mjs +8 -6
  219. package/esm2022/loading-icon/loading-icon/loading-icon.component.mjs +5 -5
  220. package/esm2022/loading-icon/loading-icon.mjs +5 -0
  221. package/esm2022/loading-icon/loading-icon.module.mjs +9 -7
  222. package/esm2022/loading-icon/public_api.mjs +2 -1
  223. package/esm2022/media-gallery/examples/basic-media-gallery/basic-media-gallery.component.mjs +10 -7
  224. package/esm2022/media-gallery/examples/mismatched-sizes-media-gallery/mismatched-sizes-media-gallery.component.mjs +10 -7
  225. package/esm2022/media-gallery/examples/skeleton-media-gallery/skeleton-media-gallery.component.mjs +10 -7
  226. package/esm2022/media-gallery/media-gallery/media-gallery.component.mjs +11 -7
  227. package/esm2022/media-gallery/media-gallery.mjs +9 -0
  228. package/esm2022/media-gallery/media-gallery.module.mjs +14 -12
  229. package/esm2022/media-gallery/media-renderer/media-renderer.component.mjs +5 -4
  230. package/esm2022/media-gallery/public_api.mjs +2 -1
  231. package/esm2022/media-gallery/registry/media-gallery.registry.mjs +4 -4
  232. package/esm2022/media-gallery/thumbnail/thumbnail.directive.mjs +5 -4
  233. package/esm2022/menu/examples/basic-menu/basic-menu.component.mjs +11 -7
  234. package/esm2022/menu/examples/basic-menu/menu-content/menu-content.component.mjs +8 -5
  235. package/esm2022/menu/menu/menu.component.mjs +8 -5
  236. package/esm2022/menu/menu-activator/menu-activator.component.mjs +5 -4
  237. package/esm2022/menu/menu-item/menu-item.component.mjs +10 -7
  238. package/esm2022/menu/menu.module.mjs +11 -10
  239. package/esm2022/menu/services/menu.service.mjs +10 -9
  240. package/esm2022/modal/examples/basic-modal/basic-modal.component.mjs +15 -7
  241. package/esm2022/modal/examples/basic-modal/modal-content.component.mjs +11 -7
  242. package/esm2022/modal/modal/modal.component.mjs +48 -22
  243. package/esm2022/modal/modal-actions/modal-actions.component.mjs +5 -4
  244. package/esm2022/modal/modal-close/modal-close.directive.mjs +5 -4
  245. package/esm2022/modal/modal-content/modal-content.component.mjs +5 -4
  246. package/esm2022/modal/modal-header/modal-header.component.mjs +16 -9
  247. package/esm2022/modal/modal-title/modal-title.directive.mjs +5 -4
  248. package/esm2022/modal/modal.mjs +13 -0
  249. package/esm2022/modal/modal.module.mjs +20 -14
  250. package/esm2022/modal/public_api.mjs +2 -1
  251. package/esm2022/modal/service/modal.service.mjs +10 -8
  252. package/esm2022/navbar/examples/basic-navbar/basic-navbar.component.mjs +11 -7
  253. package/esm2022/navbar/examples/contained-navbar/contained-navbar.component.mjs +11 -10
  254. package/esm2022/navbar/examples/navbar-theming/navbar-theming.component.mjs +10 -9
  255. package/esm2022/navbar/examples/raised-navbar/raised-navbar.component.mjs +11 -7
  256. package/esm2022/navbar/navbar/navbar.component.mjs +5 -8
  257. package/esm2022/navbar/navbar.mjs +5 -0
  258. package/esm2022/navbar/navbar.module.mjs +12 -6
  259. package/esm2022/navbar/public_api.mjs +2 -1
  260. package/esm2022/notification/examples/default-notification/default-notification.component.mjs +8 -8
  261. package/esm2022/notification/examples/dismissible-notification/dismissible-notification.component.mjs +6 -6
  262. package/esm2022/notification/examples/notification-orientations/notification-orientations.component.mjs +8 -8
  263. package/esm2022/notification/examples/notification-status/notification-status.component.mjs +8 -8
  264. package/esm2022/notification/examples/notification-with-actions/notification-with-actions.component.mjs +8 -8
  265. package/esm2022/notification/notification/notification.component.mjs +12 -8
  266. package/esm2022/notification/notification-actions/notification-actions.directive.mjs +5 -4
  267. package/esm2022/notification/notification-message/notification-message.directive.mjs +5 -4
  268. package/esm2022/notification/notification-subtitle/notification-subtitle.directive.mjs +5 -4
  269. package/esm2022/notification/notification-title/notification-title.directive.mjs +5 -4
  270. package/esm2022/notification/notification.mjs +15 -0
  271. package/esm2022/notification/notification.module.mjs +14 -11
  272. package/esm2022/notification/public_api.mjs +2 -1
  273. package/esm2022/paginator/examples/basic-paginator/basic-paginator.component.mjs +6 -6
  274. package/esm2022/paginator/examples/link-paginator/link-paginator.component.mjs +6 -6
  275. package/esm2022/paginator/paginator/paginator.component.mjs +14 -11
  276. package/esm2022/paginator/paginator.mjs +5 -0
  277. package/esm2022/paginator/paginator.module.mjs +12 -9
  278. package/esm2022/paginator/public_api.mjs +2 -1
  279. package/esm2022/progress-bar/examples/progress-bar-default/progress-bar-default.component.mjs +8 -6
  280. package/esm2022/progress-bar/examples/progress-bar-indeterminate/progress-bar-indeterminate.component.mjs +8 -6
  281. package/esm2022/progress-bar/examples/progress-bar-themes/progress-bar-themes.component.mjs +9 -6
  282. package/esm2022/progress-bar/progress-bar-label/progress-bar-label.directive.mjs +20 -0
  283. package/esm2022/progress-bar/progress-bar.component.mjs +7 -5
  284. package/esm2022/progress-bar/progress-bar.mjs +7 -0
  285. package/esm2022/progress-bar/progress-bar.module.mjs +14 -7
  286. package/esm2022/progress-bar/public_api.mjs +3 -1
  287. package/esm2022/quantity-field/examples/basic-quantity-field/basic-quantity-field.component.mjs +4 -4
  288. package/esm2022/quantity-field/examples/custom-range-quantity-field/custom-range-quantity-field.component.mjs +4 -4
  289. package/esm2022/quantity-field/examples/disabled-quantity-field/disabled-quantity-field.component.mjs +4 -4
  290. package/esm2022/quantity-field/examples/select-max-quantity-field/select-max-quantity-field.component.mjs +4 -4
  291. package/esm2022/radio/examples/basic-radio/basic-radio.component.mjs +4 -4
  292. package/esm2022/sidebar/animation/sidebar-animation-state.mjs +1 -1
  293. package/esm2022/sidebar/examples/basic-sidebar/basic-sidebar.component.mjs +8 -6
  294. package/esm2022/sidebar/examples/over-and-under-sidebars/over-and-under-sidebars.component.mjs +11 -10
  295. package/esm2022/sidebar/examples/side-fixed-sidebar/side-fixed-sidebar.component.mjs +7 -7
  296. package/esm2022/sidebar/examples/sidebar-with-sticky-content/sidebar-with-sticky-content.component.mjs +8 -6
  297. package/esm2022/sidebar/public_api.mjs +2 -1
  298. package/esm2022/sidebar/service/sidebar.service.mjs +1 -1
  299. package/esm2022/sidebar/sidebar/is-opening.mjs +1 -1
  300. package/esm2022/sidebar/sidebar/sidebar.component.mjs +36 -16
  301. package/esm2022/sidebar/sidebar-footer/sidebar-footer.component.mjs +5 -5
  302. package/esm2022/sidebar/sidebar-header/sidebar-header-action/sidebar-header-action.directive.mjs +5 -4
  303. package/esm2022/sidebar/sidebar-header/sidebar-header-title/sidebar-header-title.directive.mjs +5 -4
  304. package/esm2022/sidebar/sidebar-header/sidebar-header.component.mjs +5 -5
  305. package/esm2022/sidebar/sidebar-viewport/helper/has-parent-viewport.mjs +1 -1
  306. package/esm2022/sidebar/sidebar-viewport/sidebar-viewport.component.mjs +24 -40
  307. package/esm2022/sidebar/sidebar-viewport/utils/content-pad.mjs +6 -6
  308. package/esm2022/sidebar/sidebar-viewport/utils/content-shift.mjs +1 -1
  309. package/esm2022/sidebar/sidebar-viewport-backdrop/sidebar-viewport-backdrop.component.mjs +5 -5
  310. package/esm2022/sidebar/sidebar.mjs +17 -0
  311. package/esm2022/sidebar/sidebar.module.mjs +11 -9
  312. package/esm2022/toast/examples/default-toast/default-toast.component.mjs +9 -6
  313. package/esm2022/toast/examples/toast-positions/toast-positions.component.mjs +11 -7
  314. package/esm2022/toast/examples/toast-status/toast-status.component.mjs +14 -9
  315. package/esm2022/toast/examples/toast-with-custom-duration/toast-with-custom-duration.component.mjs +9 -6
  316. package/esm2022/toast/public_api.mjs +2 -1
  317. package/esm2022/toast/service/position-strategy.mjs +1 -1
  318. package/esm2022/toast/service/position.service.mjs +4 -4
  319. package/esm2022/toast/service/toast.service.mjs +10 -11
  320. package/esm2022/toast/toast/toast-provider.mjs +7 -0
  321. package/esm2022/toast/toast/toast-template.component.mjs +32 -14
  322. package/esm2022/toast/toast/toast.component.mjs +8 -11
  323. package/esm2022/toast/toast-actions/toast-actions.directive.mjs +5 -4
  324. package/esm2022/toast/toast-message/toast-message.directive.mjs +5 -4
  325. package/esm2022/toast/toast-title/toast-title.directive.mjs +5 -4
  326. package/esm2022/toast/toast.module.mjs +13 -14
  327. package/esm2022/tree/examples/basic-tree/basic-tree.component.mjs +9 -6
  328. package/esm2022/tree/examples/deep-tree/deep-tree.component.mjs +54 -0
  329. package/esm2022/tree/examples/public_api.mjs +4 -2
  330. package/esm2022/tree/public_api.mjs +2 -2
  331. package/esm2022/tree/tree/tree.component.mjs +10 -7
  332. package/esm2022/tree/tree-item/tree-item.directive.mjs +5 -4
  333. package/esm2022/tree/tree.mjs +7 -0
  334. package/esm2022/tree/tree.module.mjs +12 -10
  335. package/esm2022/tree/utils/flatten-tree.mjs +7 -3
  336. package/esm2022/tree/utils/transform.mjs +1 -1
  337. package/esm2022/tree/utils/traverse-tree.mjs +1 -1
  338. package/fesm2022/daffodil-design-accordion-examples.mjs +9 -28
  339. package/fesm2022/daffodil-design-accordion-examples.mjs.map +1 -1
  340. package/fesm2022/daffodil-design-accordion.mjs +59 -45
  341. package/fesm2022/daffodil-design-accordion.mjs.map +1 -1
  342. package/fesm2022/daffodil-design-article-examples.mjs +61 -41
  343. package/fesm2022/daffodil-design-article-examples.mjs.map +1 -1
  344. package/fesm2022/daffodil-design-article.mjs +22 -16
  345. package/fesm2022/daffodil-design-article.mjs.map +1 -1
  346. package/fesm2022/daffodil-design-breadcrumb-examples.mjs +3 -3
  347. package/fesm2022/daffodil-design-breadcrumb-examples.mjs.map +1 -1
  348. package/fesm2022/daffodil-design-breadcrumb.mjs +10 -10
  349. package/fesm2022/daffodil-design-breadcrumb.mjs.map +1 -1
  350. package/fesm2022/daffodil-design-button-examples.mjs +43 -40
  351. package/fesm2022/daffodil-design-button-examples.mjs.map +1 -1
  352. package/fesm2022/daffodil-design-button.mjs +29 -26
  353. package/fesm2022/daffodil-design-button.mjs.map +1 -1
  354. package/fesm2022/daffodil-design-callout-examples.mjs +28 -27
  355. package/fesm2022/daffodil-design-callout-examples.mjs.map +1 -1
  356. package/fesm2022/daffodil-design-callout.mjs +42 -28
  357. package/fesm2022/daffodil-design-callout.mjs.map +1 -1
  358. package/fesm2022/daffodil-design-card-examples.mjs +35 -34
  359. package/fesm2022/daffodil-design-card-examples.mjs.map +1 -1
  360. package/fesm2022/daffodil-design-card.mjs +48 -30
  361. package/fesm2022/daffodil-design-card.mjs.map +1 -1
  362. package/fesm2022/daffodil-design-checkbox-examples.mjs +9 -9
  363. package/fesm2022/daffodil-design-checkbox-examples.mjs.map +1 -1
  364. package/fesm2022/daffodil-design-container-examples.mjs +5 -5
  365. package/fesm2022/daffodil-design-container-examples.mjs.map +1 -1
  366. package/fesm2022/daffodil-design-container.mjs +17 -11
  367. package/fesm2022/daffodil-design-container.mjs.map +1 -1
  368. package/fesm2022/daffodil-design-hero-examples.mjs +27 -26
  369. package/fesm2022/daffodil-design-hero-examples.mjs.map +1 -1
  370. package/fesm2022/daffodil-design-hero.mjs +44 -31
  371. package/fesm2022/daffodil-design-hero.mjs.map +1 -1
  372. package/fesm2022/daffodil-design-image-examples.mjs +20 -13
  373. package/fesm2022/daffodil-design-image-examples.mjs.map +1 -1
  374. package/fesm2022/daffodil-design-image.mjs +18 -12
  375. package/fesm2022/daffodil-design-image.mjs.map +1 -1
  376. package/fesm2022/daffodil-design-input-examples.mjs +12 -12
  377. package/fesm2022/daffodil-design-input-examples.mjs.map +1 -1
  378. package/fesm2022/daffodil-design-link-set.mjs +34 -22
  379. package/fesm2022/daffodil-design-link-set.mjs.map +1 -1
  380. package/fesm2022/daffodil-design-list-examples.mjs +22 -21
  381. package/fesm2022/daffodil-design-list-examples.mjs.map +1 -1
  382. package/fesm2022/daffodil-design-list.mjs +29 -21
  383. package/fesm2022/daffodil-design-list.mjs.map +1 -1
  384. package/fesm2022/daffodil-design-loading-icon-examples.mjs +11 -9
  385. package/fesm2022/daffodil-design-loading-icon-examples.mjs.map +1 -1
  386. package/fesm2022/daffodil-design-loading-icon.mjs +17 -11
  387. package/fesm2022/daffodil-design-loading-icon.mjs.map +1 -1
  388. package/fesm2022/daffodil-design-media-gallery-examples.mjs +23 -14
  389. package/fesm2022/daffodil-design-media-gallery-examples.mjs.map +1 -1
  390. package/fesm2022/daffodil-design-media-gallery.mjs +80 -67
  391. package/fesm2022/daffodil-design-media-gallery.mjs.map +1 -1
  392. package/fesm2022/daffodil-design-menu-examples.mjs +16 -9
  393. package/fesm2022/daffodil-design-menu-examples.mjs.map +1 -1
  394. package/fesm2022/daffodil-design-menu.mjs +64 -57
  395. package/fesm2022/daffodil-design-menu.mjs.map +1 -1
  396. package/fesm2022/daffodil-design-modal-examples.mjs +21 -10
  397. package/fesm2022/daffodil-design-modal-examples.mjs.map +1 -1
  398. package/fesm2022/daffodil-design-modal.mjs +113 -66
  399. package/fesm2022/daffodil-design-modal.mjs.map +1 -1
  400. package/fesm2022/daffodil-design-navbar-examples.mjs +30 -23
  401. package/fesm2022/daffodil-design-navbar-examples.mjs.map +1 -1
  402. package/fesm2022/daffodil-design-navbar.mjs +20 -13
  403. package/fesm2022/daffodil-design-navbar.mjs.map +1 -1
  404. package/fesm2022/daffodil-design-notification-examples.mjs +26 -26
  405. package/fesm2022/daffodil-design-notification-examples.mjs.map +1 -1
  406. package/fesm2022/daffodil-design-notification.mjs +50 -32
  407. package/fesm2022/daffodil-design-notification.mjs.map +1 -1
  408. package/fesm2022/daffodil-design-paginator-examples.mjs +9 -9
  409. package/fesm2022/daffodil-design-paginator-examples.mjs.map +1 -1
  410. package/fesm2022/daffodil-design-paginator.mjs +28 -21
  411. package/fesm2022/daffodil-design-paginator.mjs.map +1 -1
  412. package/fesm2022/daffodil-design-progress-bar-examples.mjs +20 -13
  413. package/fesm2022/daffodil-design-progress-bar-examples.mjs.map +1 -1
  414. package/fesm2022/daffodil-design-progress-bar.mjs +43 -13
  415. package/fesm2022/daffodil-design-progress-bar.mjs.map +1 -1
  416. package/fesm2022/daffodil-design-quantity-field-examples.mjs +12 -12
  417. package/fesm2022/daffodil-design-quantity-field-examples.mjs.map +1 -1
  418. package/fesm2022/daffodil-design-radio-examples.mjs +3 -3
  419. package/fesm2022/daffodil-design-radio-examples.mjs.map +1 -1
  420. package/fesm2022/daffodil-design-sidebar-examples.mjs +27 -22
  421. package/fesm2022/daffodil-design-sidebar-examples.mjs.map +1 -1
  422. package/fesm2022/daffodil-design-sidebar.mjs +102 -84
  423. package/fesm2022/daffodil-design-sidebar.mjs.map +1 -1
  424. package/fesm2022/daffodil-design-toast-examples.mjs +32 -20
  425. package/fesm2022/daffodil-design-toast-examples.mjs.map +1 -1
  426. package/fesm2022/daffodil-design-toast.mjs +156 -137
  427. package/fesm2022/daffodil-design-toast.mjs.map +1 -1
  428. package/fesm2022/daffodil-design-tree-examples.mjs +59 -6
  429. package/fesm2022/daffodil-design-tree-examples.mjs.map +1 -1
  430. package/fesm2022/daffodil-design-tree.mjs +36 -44
  431. package/fesm2022/daffodil-design-tree.mjs.map +1 -1
  432. package/fesm2022/daffodil-design.mjs +258 -137
  433. package/fesm2022/daffodil-design.mjs.map +1 -1
  434. package/hero/README.md +41 -0
  435. package/hero/hero/hero.component.d.ts +1 -4
  436. package/hero/hero-body/hero-body.directive.d.ts +1 -1
  437. package/hero/hero-icon/hero-icon.directive.d.ts +1 -1
  438. package/hero/hero-subtitle/hero-subtitle.directive.d.ts +1 -1
  439. package/hero/hero-tagline/hero-tagline.directive.d.ts +1 -1
  440. package/hero/hero-title/hero-title.directive.d.ts +1 -1
  441. package/hero/hero.d.ts +7 -0
  442. package/hero/hero.module.d.ts +11 -8
  443. package/hero/public_api.d.ts +1 -0
  444. package/image/README.md +43 -7
  445. package/image/image/image.component.d.ts +1 -1
  446. package/image/image.d.ts +2 -0
  447. package/image/image.module.d.ts +6 -3
  448. package/image/public_api.d.ts +1 -0
  449. package/link-set/README.md +42 -1
  450. package/link-set/link-set/link-set.component.d.ts +1 -1
  451. package/link-set/link-set-heading/link-set-heading.directive.d.ts +1 -1
  452. package/link-set/link-set-item/link-set-item.component.d.ts +1 -1
  453. package/link-set/link-set-subheading/link-set-subheading.directive.d.ts +1 -1
  454. package/link-set/link-set.d.ts +5 -0
  455. package/link-set/link-set.module.d.ts +9 -6
  456. package/link-set/public_api.d.ts +1 -0
  457. package/list/README.md +42 -1
  458. package/list/list/list.component.d.ts +1 -1
  459. package/list/list-item/list-item.component.d.ts +1 -1
  460. package/list/list.d.ts +4 -0
  461. package/list/list.module.d.ts +7 -4
  462. package/list/public_api.d.ts +1 -0
  463. package/loading-icon/README.md +41 -0
  464. package/loading-icon/loading-icon/loading-icon.component.d.ts +1 -1
  465. package/loading-icon/loading-icon.d.ts +2 -0
  466. package/loading-icon/loading-icon.module.d.ts +6 -3
  467. package/loading-icon/public_api.d.ts +1 -0
  468. package/media-gallery/README.md +41 -0
  469. package/media-gallery/media-gallery/media-gallery.component.d.ts +1 -1
  470. package/media-gallery/media-gallery.d.ts +4 -0
  471. package/media-gallery/media-gallery.module.d.ts +8 -5
  472. package/media-gallery/media-renderer/media-renderer.component.d.ts +1 -1
  473. package/media-gallery/public_api.d.ts +1 -0
  474. package/media-gallery/thumbnail/thumbnail.directive.d.ts +1 -1
  475. package/menu/README.md +23 -0
  476. package/menu/menu/menu.component.d.ts +1 -1
  477. package/menu/menu-activator/menu-activator.component.d.ts +1 -1
  478. package/menu/menu-item/menu-item.component.d.ts +1 -1
  479. package/menu/menu.module.d.ts +6 -6
  480. package/menu/services/menu.service.d.ts +3 -2
  481. package/modal/README.md +41 -0
  482. package/modal/modal/modal.component.d.ts +20 -8
  483. package/modal/modal-actions/modal-actions.component.d.ts +1 -1
  484. package/modal/modal-close/modal-close.directive.d.ts +1 -1
  485. package/modal/modal-content/modal-content.component.d.ts +1 -1
  486. package/modal/modal-header/modal-header.component.d.ts +1 -1
  487. package/modal/modal-title/modal-title.directive.d.ts +1 -1
  488. package/modal/modal.d.ts +6 -0
  489. package/modal/modal.module.d.ts +15 -12
  490. package/modal/public_api.d.ts +1 -0
  491. package/navbar/README.md +41 -0
  492. package/navbar/navbar/navbar.component.d.ts +1 -4
  493. package/navbar/navbar.d.ts +2 -0
  494. package/navbar/navbar.module.d.ts +6 -2
  495. package/navbar/public_api.d.ts +1 -0
  496. package/notification/README.md +41 -0
  497. package/notification/notification/notification.component.d.ts +1 -1
  498. package/notification/notification-actions/notification-actions.directive.d.ts +1 -1
  499. package/notification/notification-message/notification-message.directive.d.ts +1 -1
  500. package/notification/notification-subtitle/notification-subtitle.directive.d.ts +1 -1
  501. package/notification/notification-title/notification-title.directive.d.ts +1 -1
  502. package/notification/notification.d.ts +7 -0
  503. package/notification/notification.module.d.ts +12 -9
  504. package/notification/public_api.d.ts +1 -0
  505. package/package.json +1 -1
  506. package/paginator/README.md +45 -4
  507. package/paginator/paginator/paginator.component.d.ts +1 -4
  508. package/paginator/paginator.d.ts +2 -0
  509. package/paginator/paginator.module.d.ts +8 -5
  510. package/paginator/public_api.d.ts +1 -0
  511. package/progress-bar/README.md +41 -0
  512. package/progress-bar/progress-bar-label/progress-bar-label.directive.d.ts +6 -0
  513. package/progress-bar/progress-bar.component.d.ts +1 -1
  514. package/progress-bar/progress-bar.d.ts +3 -0
  515. package/progress-bar/progress-bar.module.d.ts +7 -3
  516. package/progress-bar/public_api.d.ts +2 -0
  517. package/sidebar/README.md +78 -20
  518. package/sidebar/public_api.d.ts +1 -0
  519. package/sidebar/sidebar/sidebar.component.d.ts +19 -8
  520. package/sidebar/sidebar-footer/sidebar-footer.component.d.ts +1 -1
  521. package/sidebar/sidebar-header/sidebar-header-action/sidebar-header-action.directive.d.ts +1 -1
  522. package/sidebar/sidebar-header/sidebar-header-title/sidebar-header-title.directive.d.ts +1 -1
  523. package/sidebar/sidebar-header/sidebar-header.component.d.ts +1 -1
  524. package/sidebar/sidebar-viewport/sidebar-viewport.component.d.ts +5 -17
  525. package/sidebar/sidebar-viewport/utils/content-pad.d.ts +2 -2
  526. package/sidebar/sidebar-viewport-backdrop/sidebar-viewport-backdrop.component.d.ts +1 -1
  527. package/sidebar/sidebar.d.ts +8 -0
  528. package/sidebar/sidebar.module.d.ts +13 -10
  529. package/toast/README.md +108 -33
  530. package/toast/public_api.d.ts +1 -0
  531. package/toast/service/toast.service.d.ts +4 -3
  532. package/toast/src/toast-theme.scss +1 -1
  533. package/toast/toast/toast-provider.d.ts +2 -0
  534. package/toast/toast/toast-template.component.d.ts +1 -1
  535. package/toast/toast/toast.component.d.ts +1 -3
  536. package/toast/toast-actions/toast-actions.directive.d.ts +1 -1
  537. package/toast/toast-message/toast-message.directive.d.ts +1 -1
  538. package/toast/toast-title/toast-title.directive.d.ts +1 -1
  539. package/toast/toast.module.d.ts +14 -12
  540. package/tree/README.md +41 -0
  541. package/tree/examples/deep-tree/deep-tree.component.d.ts +7 -0
  542. package/tree/examples/public_api.d.ts +2 -1
  543. package/tree/public_api.d.ts +1 -2
  544. package/tree/tree/tree.component.d.ts +1 -1
  545. package/tree/tree-item/tree-item.directive.d.ts +1 -1
  546. package/tree/tree.d.ts +3 -0
  547. package/tree/tree.module.d.ts +7 -4
  548. package/tree/utils/transform.d.ts +1 -1
  549. package/tree/utils/traverse-tree.d.ts +1 -1
  550. package/accordion/examples/accordion-examples.module.d.ts +0 -9
  551. package/esm2022/accordion/examples/accordion-examples.module.mjs +0 -26
  552. package/esm2022/tree/utils/transform-in-place.mjs +0 -23
  553. package/tree/utils/transform-in-place.d.ts +0 -15
@@ -1 +1 @@
1
- {"version":3,"file":"daffodil-design-toast.mjs","sources":["../../../libs/design/toast/src/options/daff-toast-options.ts","../../../libs/design/toast/src/service/position.service.ts","../../../libs/design/toast/src/service/changes-focus.ts","../../../libs/design/toast/src/toast-actions/toast-actions.directive.ts","../../../libs/design/toast/src/toast/toast.component.ts","../../../libs/design/toast/src/toast/toast.component.html","../../../libs/design/toast/src/toast-title/toast-title.directive.ts","../../../libs/design/toast/src/toast-message/toast-message.directive.ts","../../../libs/design/toast/src/toast/toast-template.component.ts","../../../libs/design/toast/src/toast.module.ts","../../../libs/design/toast/src/service/position-strategy.ts","../../../libs/design/toast/src/toast/toast-config.ts","../../../libs/design/toast/src/service/toast.service.ts","../../../libs/design/toast/src/daffodil-design-toast.ts"],"sourcesContent":["import {\n InjectionToken,\n ValueProvider,\n} from '@angular/core';\n\ntype Without<T, U> = { [P in Exclude<keyof T, keyof U>]?: never };\ntype XOR<T, U> = (T | U) extends Record<string,unknown> ? (Without<T, U> & U) | (Without<U, T> & T) : T | U;\n\nexport interface VerticalPositionTypes { vertical: 'top' | 'bottom' };\n\nexport interface HorizontalPositionTypes { horizontal: 'left' | 'center' | 'right' };\n\nexport type DaffToastPosition = VerticalPositionTypes & HorizontalPositionTypes;\n\nexport interface DaffToastOptions {\n position: DaffToastPosition;\n useParent: boolean;\n}\n\nexport const daffToastDefaultOptions: DaffToastOptions = {\n position: {\n vertical: 'top',\n horizontal: 'right',\n },\n useParent: true,\n};\n\nexport const DAFF_TOAST_OPTIONS = new InjectionToken('DAFF_TOAST_OPTIONS', { providedIn: 'root', factory: () => daffToastDefaultOptions });\n\nexport const provideDaffToastOptions = (options: DaffToastOptions): ValueProvider => ({ provide: DAFF_TOAST_OPTIONS, useValue: {\n ...daffToastDefaultOptions,\n ...options,\n}});\n","import { BreakpointObserver } from '@angular/cdk/layout';\nimport {\n Inject,\n Injectable,\n} from '@angular/core';\n\nimport { DaffBreakpoints } from '@daffodil/design';\n\nimport {\n DaffToastOptions,\n DaffToastPosition,\n DAFF_TOAST_OPTIONS,\n} from '../options/daff-toast-options';\n\n@Injectable()\nexport class DaffToastPositionService {\n\n constructor(@Inject(DAFF_TOAST_OPTIONS) private options: DaffToastOptions, private mediaQuery: BreakpointObserver) {\n this._config = options.position;\n }\n\n private _config: DaffToastPosition;\n private _position: DaffToastPosition;\n\n get config(): DaffToastPosition {\n return this.mediaQuery.isMatched(DaffBreakpoints.MOBILE)\n ? this._position ?? this._config\n : <DaffToastPosition>{ vertical: 'bottom', horizontal: 'center' };\n }\n\n set config(val: DaffToastPosition) {\n this._config = val;\n }\n\n setPosition(position: DaffToastPosition) {\n this._position = position;\n }\n}\n","import { DaffToast } from '../interfaces/toast';\n\nexport const daffToastChangesFocus = (toast: DaffToast): boolean => toast.actions?.length > 0;\n","import {\n Directive,\n HostBinding,\n} from '@angular/core';\n\n@Directive({\n selector: '[daffToastActions]',\n})\n\nexport class DaffToastActionsDirective {\n\n @HostBinding('class.daff-toast__actions') class = true;\n}\n","import {\n ConfigurableFocusTrap,\n ConfigurableFocusTrapFactory,\n} from '@angular/cdk/a11y';\nimport {\n Component,\n ElementRef,\n HostBinding,\n ContentChild,\n ViewEncapsulation,\n ChangeDetectionStrategy,\n AfterViewInit,\n AfterContentInit,\n HostListener,\n Input,\n OnDestroy,\n} from '@angular/core';\n\nimport {\n DaffArticleEncapsulatedDirective,\n DaffFocusStackService,\n DaffPrefixable,\n DaffPrefixDirective,\n DaffStatusableDirective,\n} from '@daffodil/design';\n\nimport { DaffToast } from '../interfaces/toast';\nimport { daffToastChangesFocus } from '../service/changes-focus';\nimport { DaffToastActionsDirective } from '../toast-actions/toast-actions.directive';\n\n/**\n * DaffToastComponent provides a way to display and\n * communicate information for user actions or system updates.\n */\n@Component({\n selector: 'daff-toast',\n templateUrl: './toast.component.html',\n styleUrls: ['./toast.component.scss'],\n hostDirectives: [\n { directive: DaffArticleEncapsulatedDirective },\n {\n directive: DaffStatusableDirective,\n inputs: ['status'],\n },\n ],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class DaffToastComponent implements DaffPrefixable, AfterContentInit, AfterViewInit, OnDestroy {\n /** @docs-private */\n @HostBinding('class.daff-toast') class = true;\n\n /** @docs-private */\n @HostBinding('attr.role') role = 'status';\n\n @ContentChild(DaffToastActionsDirective)\n _actions: DaffToastActionsDirective;\n\n @ContentChild(DaffPrefixDirective)\n _prefix: DaffPrefixDirective;\n\n @Input() toast: DaffToast;\n\n /**\n * @docs-private\n */\n @HostListener('keydown.escape')\n onEscape() {\n this.toast.dismiss();\n }\n\n private _focusTrap: ConfigurableFocusTrap;\n\n constructor(\n private _elementRef: ElementRef,\n private _focusTrapFactory: ConfigurableFocusTrapFactory,\n private _focusStack: DaffFocusStackService,\n ) {\n }\n\n ngAfterContentInit() {\n if(daffToastChangesFocus(this.toast)) {\n this._focusTrap = this._focusTrapFactory.create(\n this._elementRef.nativeElement,\n );\n }\n }\n\n ngAfterViewInit() {\n if(daffToastChangesFocus(this.toast)) {\n this._focusStack.push();\n this._focusTrap.focusFirstTabbableElementWhenReady();\n }\n }\n\n ngOnDestroy() {\n if(daffToastChangesFocus(this.toast)) {\n this._focusTrap.destroy();\n }\n }\n}\n","<ng-container *ngIf=\"_prefix\">\n <ng-content select=\"[daffPrefix]\"></ng-content>\n</ng-container>\n<div class=\"daff-toast__details\">\n <div class=\"daff-toast__content\">\n <ng-content select=\"[daffToastTitle]\"></ng-content>\n <ng-content select=\"[daffToastMessage]\"></ng-content>\n </div>\n <ng-content select=\"[daffToastActions]\"></ng-content>\n</div>\n<ng-content></ng-content>\n","import {\n Directive,\n HostBinding,\n} from '@angular/core';\n\n@Directive({\n selector: '[daffToastTitle]',\n})\n\nexport class DaffToastTitleDirective {\n\n @HostBinding('class.daff-toast__title') class = true;\n}\n","import {\n Directive,\n HostBinding,\n} from '@angular/core';\n\n@Directive({\n selector: '[daffToastMessage]',\n})\n\nexport class DaffToastMessageDirective {\n\n @HostBinding('class.daff-toast__message') class = true;\n}\n","import {\n animate,\n style,\n transition,\n trigger,\n} from '@angular/animations';\nimport {\n Input,\n ChangeDetectionStrategy,\n Component,\n ChangeDetectorRef,\n Inject,\n Output,\n EventEmitter,\n} from '@angular/core';\nimport { faTimes } from '@fortawesome/free-solid-svg-icons';\n\nimport { DaffToast } from '../interfaces/toast';\nimport {\n DaffToastOptions,\n DAFF_TOAST_OPTIONS,\n} from '../options/daff-toast-options';\nimport { DaffToastPositionService } from '../service/position.service';\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: `\n <daff-toast\n *ngFor=\"let item of items | slice:0:3\"\n [toast]=\"item\"\n [status]=\"item.status ?? null\"\n (closeToast)=\"item.dismiss()\"\n [@slideIn]=\"slideAnimation\"\n [attr.role]=\"item.actions ? 'alertdialog' : undefined\"\n [attr.aria-labelledby]=\"item.actions ? item.title : undefined\"\n [attr.aria-describedby]=\"item.actions ? item.message : undefined\">\n <div daffToastTitle>{{ item.title }}</div>\n <div daffToastMessage>{{ item.message }}</div>\n <div daffToastActions *ngIf=\"item.actions\">\n <ng-container *ngFor=\"let action of item.actions\">\n <ng-container *ngTemplateOutlet=\"button;context:{ action, item }\"></ng-container>\n </ng-container>\n </div>\n <button daff-icon-button color=\"theme-contrast\"\n *ngIf=\"item.dismissible\"\n aria-label=\"close button\"\n [attr.aria-hidden]=\"item.actions ? undefined : true\"\n (click)=\"onCloseToast(item.dismiss())\">\n <fa-icon [icon]=\"faTimes\" size=\"sm\" [fixedWidth]=\"true\"></fa-icon>\n </button>\n </daff-toast>\n\n <ng-template #button let-action=\"action\" let-item=\"item\">\n <ng-container [ngSwitch]=\"action.type\">\n <button type=\"button\" *ngSwitchDefault daff-button\n [status]=\"action.status\"\n [color]=\"action.color\"\n [size]=\"action.size\"\n [attr.aria-label]=\"action.content\"\n (click)=\"action.eventEmitter?.emit({ event: $event, action})\">\n {{ action.content }}\n </button>\n <button type=\"button\" *ngSwitchCase=\"'stroked'\" daff-stroked-button\n [status]=\"action.status\"\n [color]=\"action.color\"\n [size]=\"action.size\"\n [attr.aria-label]=\"action.content\"\n (click)=\"action.eventEmitter?.emit({ event: $event, action})\">\n {{ action.content }}\n </button>\n <button type=\"button\" *ngSwitchCase=\"'raised'\" daff-raised-button\n [status]=\"action.status\"\n [color]=\"action.color\"\n [size]=\"action.size\"\n [attr.aria-label]=\"action.content\"\n (click)=\"action.eventEmitter?.emit({ event: $event, action})\">\n {{ action.content }}\n </button>\n <button type=\"button\" *ngSwitchCase=\"'flat'\" daff-flat-button\n [status]=\"action.status\"\n [color]=\"action.color\"\n [size]=\"action.size\"\n [attr.aria-label]=\"action.content\"\n (click)=\"action.eventEmitter?.emit({ event: $event, action})\">\n {{ action.content }}\n </button>\n <button type=\"button\" *ngSwitchCase=\"'underline'\" daff-underline-button\n [status]=\"action.status\"\n [color]=\"action.color\"\n [size]=\"action.size\"\n [attr.aria-label]=\"action.content\"\n (click)=\"action.eventEmitter?.emit({ event: $event, action})\">\n {{ action.content }}\n </button>\n </ng-container>\n </ng-template>\n `,\n animations: [\n trigger('slideIn', [\n transition(':enter', [\n style({ opacity: '0', transform: 'translate({{startX}}, {{startY}})' }),\n animate('300ms ease-out', style({ opacity: '1', transform: 'translate({{endX}}, {{endY}})' })),\n ],\n { params: {\n startX: '0',\n startY: '0',\n endX: '0',\n endY: '0',\n } }),\n ]),\n ],\n})\nexport class DaffToastTemplateComponent {\n faTimes = faTimes;\n\n private _items: DaffToast[] = [];\n\n constructor(\n private cd: ChangeDetectorRef,\n @Inject(DAFF_TOAST_OPTIONS)\n private options: DaffToastOptions,\n private toastPosition: DaffToastPositionService,\n ) { }\n\n @Output() closeToast: EventEmitter<void> = new EventEmitter();\n\n onCloseToast(event: Event) {\n this.closeToast.emit();\n }\n\n get slideAnimation(): any {\n switch (this.toastPosition.config.horizontal + '-' + this.toastPosition.config.vertical) {\n case 'left-top':\n case 'left-bottom':\n return {\n value: 0,\n params: {\n startX: '-100%',\n endX: '0',\n startY: '0',\n endY: '0',\n },\n };\n case 'right-top':\n case 'right-bottom':\n return {\n value: 0,\n params: {\n startX: '100%',\n endX: '0',\n startY: '0',\n endY: '0',\n },\n };\n\n case 'center-top':\n return {\n value: 0,\n params: {\n startX: '0',\n endX: '0',\n startY: '-100%',\n endY: '0',\n },\n };\n\n case 'center-bottom':\n return {\n value: 0,\n params: {\n startX: '0',\n endX: '0',\n startY: '100%',\n endY: '0',\n },\n };\n }\n }\n\n @Input()\n get items(): DaffToast[] {\n return this._items;\n }\n set items(value: DaffToast[]) {\n this._items = value;\n this.cd.markForCheck();\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 { DaffPrefixSuffixModule } from '@daffodil/design';\nimport { DaffButtonModule } from '@daffodil/design/button';\n\nimport { DaffToastPositionService } from './service/position.service';\nimport { DaffToastTemplateComponent } from './toast/toast-template.component';\nimport { DaffToastComponent } from './toast/toast.component';\nimport { DaffToastActionsDirective } from './toast-actions/toast-actions.directive';\nimport { DaffToastMessageDirective } from './toast-message/toast-message.directive';\nimport { DaffToastTitleDirective } from './toast-title/toast-title.directive';\n\n\n@NgModule({\n imports: [\n CommonModule,\n DaffPrefixSuffixModule,\n DaffButtonModule,\n FontAwesomeModule,\n PortalModule,\n OverlayModule,\n ],\n declarations: [\n DaffToastComponent,\n DaffToastActionsDirective,\n DaffToastTitleDirective,\n DaffToastMessageDirective,\n DaffToastTemplateComponent,\n ],\n exports: [\n DaffToastComponent,\n DaffToastActionsDirective,\n DaffToastTitleDirective,\n DaffToastMessageDirective,\n DaffPrefixSuffixModule,\n ],\n providers: [\n DaffToastPositionService,\n ],\n})\nexport class DaffToastModule { }\n","import {\n GlobalPositionStrategy,\n PositionStrategy,\n} from '@angular/cdk/overlay';\n\nimport { DaffToastPosition } from '../options/daff-toast-options';\n\nexport const createPositionStrategy = (position: DaffToastPosition): PositionStrategy => {\n const strat = new GlobalPositionStrategy();\n\n switch ( position.horizontal ) {\n case 'left':\n strat.left('48px');\n break;\n case 'right':\n strat.right('48px');\n break;\n case 'center':\n strat.centerHorizontally();\n break;\n default:\n strat.right('48px');\n }\n\n switch(position.vertical) {\n case 'top':\n strat.top('80px');\n break;\n case 'bottom':\n strat.bottom('48px');\n break;\n default:\n strat.top('80px');\n }\n\n return strat;\n};\n","export interface DaffToastConfiguration {\n /**\n * The duration (in milliseconds) that a toast is visible before it's dismissed.\n */\n duration?: number;\n}\n\nexport const daffDefaultToastConfiguration: DaffToastConfiguration = {};\n","import { BreakpointObserver } from '@angular/cdk/layout';\nimport {\n Overlay,\n OverlayRef,\n} from '@angular/cdk/overlay';\nimport { ComponentPortal } from '@angular/cdk/portal';\nimport {\n ComponentRef,\n EventEmitter,\n Inject,\n Injectable,\n OnDestroy,\n Optional,\n SkipSelf,\n} from '@angular/core';\nimport {\n EMPTY,\n interval,\n merge,\n of,\n Subscription,\n} from 'rxjs';\nimport {\n delay,\n filter,\n map,\n take,\n tap,\n} from 'rxjs/operators';\n\nimport {\n DaffBreakpoints,\n DaffFocusStackService,\n} from '@daffodil/design';\n\nimport { daffToastChangesFocus } from './changes-focus';\nimport { createPositionStrategy } from './position-strategy';\nimport { DaffToastPositionService } from './position.service';\nimport {\n DaffToast,\n DaffToastData,\n} from '../interfaces/toast';\nimport {\n DAFF_TOAST_OPTIONS,\n DaffToastOptions,\n} from '../options/daff-toast-options';\nimport {\n daffDefaultToastConfiguration,\n DaffToastConfiguration,\n} from '../toast/toast-config';\nimport { DaffToastTemplateComponent } from '../toast/toast-template.component';\nimport { DaffToastModule } from '../toast.module';\n\n@Injectable({ providedIn: DaffToastModule })\nexport class DaffToastService implements OnDestroy {\n\n private _sub: Subscription;\n\n private _toasts: DaffToast[] = [];\n\n private _overlayRef?: OverlayRef;\n\n private _template?: ComponentRef<DaffToastTemplateComponent>;\n\n constructor(\n private overlay: Overlay,\n @Inject(DAFF_TOAST_OPTIONS) private options: DaffToastOptions,\n @Optional() @SkipSelf() private _parentToast: DaffToastService,\n private mediaQuery: BreakpointObserver,\n private toastPosition: DaffToastPositionService,\n private focusStack: DaffFocusStackService,\n ) {\n this._sub = this.mediaQuery.observe(DaffBreakpoints.MOBILE).pipe(\n filter(() => this._overlayRef !== undefined),\n map((position) => createPositionStrategy(this.toastPosition.config)),\n tap((strategy) => this._overlayRef.updatePositionStrategy(strategy)),\n ).subscribe();\n }\n\n ngOnDestroy(): void {\n this._sub.unsubscribe();\n }\n\n private _attachToastTemplate(\n\t overlayRef: OverlayRef,\n ): ComponentRef<DaffToastTemplateComponent> {\n\t const template = overlayRef.attach(new ComponentPortal(DaffToastTemplateComponent));\n\t return template;\n }\n\n private _createOverlayRef(): OverlayRef {\n return this.overlay.create({\n\t hasBackdrop: false,\n\t scrollStrategy: this.overlay.scrollStrategies.noop(),\n positionStrategy: createPositionStrategy(this.toastPosition.config),\n\t });\n }\n\n open(\n\t toast: DaffToastData,\n\t configuration?: Partial<DaffToastConfiguration>,\n ): DaffToast {\n if(this._parentToast && this.options.useParent) {\n return this._parentToast.open(toast, configuration);\n }\n\n\t const config: DaffToastConfiguration = {\n ...daffDefaultToastConfiguration,\n // sets the default duration to 5000ms if a toast does not have actions\n duration: toast.actions?.length > 0 ? undefined : 5000,\n ...configuration,\n };\n if(this._toasts.length === 0) {\n this._overlayRef = this._createOverlayRef();\n this._template = this._attachToastTemplate(this._overlayRef);\n }\n const dismissEvent = new EventEmitter<void>();\n const _toastPlus: DaffToast = {\n dismissible: true,\n ...toast,\n dismiss: () => {\n dismissEvent.emit();\n },\n dismissalStream: merge(\n config.duration ? of(undefined).pipe(delay(config.duration)) : EMPTY,\n dismissEvent,\n ).pipe(\n take(1),\n ),\n };\n\n _toastPlus.dismissalStream.subscribe(() => {\n this.close(_toastPlus);\n });\n\n\t this._toasts = [\n _toastPlus,\n ...this._toasts,\n ];\n\n this._template.instance.items = this._toasts;\n\n\t return _toastPlus;\n }\n\n close(toast: DaffToast): void {\n if(this._parentToast && this.options.useParent) {\n this._parentToast.close(toast);\n return;\n }\n\n if(daffToastChangesFocus(toast)) {\n this.focusStack.pop();\n }\n\n\t const index = this._toasts.indexOf(toast);\n\t if (index === -1) {\n\t throw new Error(\n\t 'The Toast that you are trying to remove does not exist.',\n\t );\n\t }\n\n\t this._toasts = this._toasts.filter(m => m !== toast);\n this._template.instance.items = [...this._toasts];\n\n // This currently overrides the \":leave\" animation as we currently\n // remove the animating element immediately after there are no more toasts,\n // without waiting for the animation to complete.\n if(this._toasts.length === 0) {\n this._overlayRef.dispose();\n this._template.destroy();\n this._overlayRef = undefined;\n this._template = undefined;\n }\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","i3","i1.DaffToastPositionService","i2","i5.DaffToastComponent","i6.DaffToastActionsDirective","i7.DaffToastTitleDirective","i8.DaffToastMessageDirective","i3.DaffToastPositionService","i4"],"mappings":"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"}
1
+ {"version":3,"file":"daffodil-design-toast.mjs","sources":["../../../libs/design/toast/src/options/daff-toast-options.ts","../../../libs/design/toast/src/service/position.service.ts","../../../libs/design/toast/src/service/changes-focus.ts","../../../libs/design/toast/src/toast-actions/toast-actions.directive.ts","../../../libs/design/toast/src/toast/toast.component.ts","../../../libs/design/toast/src/toast/toast.component.html","../../../libs/design/toast/src/toast-message/toast-message.directive.ts","../../../libs/design/toast/src/toast-title/toast-title.directive.ts","../../../libs/design/toast/src/toast.module.ts","../../../libs/design/toast/src/service/position-strategy.ts","../../../libs/design/toast/src/toast/toast-config.ts","../../../libs/design/toast/src/toast/toast-template.component.ts","../../../libs/design/toast/src/service/toast.service.ts","../../../libs/design/toast/src/toast/toast-provider.ts","../../../libs/design/toast/src/daffodil-design-toast.ts"],"sourcesContent":["import {\n InjectionToken,\n ValueProvider,\n} from '@angular/core';\n\ntype Without<T, U> = { [P in Exclude<keyof T, keyof U>]?: never };\ntype XOR<T, U> = (T | U) extends Record<string,unknown> ? (Without<T, U> & U) | (Without<U, T> & T) : T | U;\n\nexport interface VerticalPositionTypes { vertical: 'top' | 'bottom' };\n\nexport interface HorizontalPositionTypes { horizontal: 'left' | 'center' | 'right' };\n\nexport type DaffToastPosition = VerticalPositionTypes & HorizontalPositionTypes;\n\nexport interface DaffToastOptions {\n position: DaffToastPosition;\n useParent: boolean;\n}\n\nexport const daffToastDefaultOptions: DaffToastOptions = {\n position: {\n vertical: 'top',\n horizontal: 'right',\n },\n useParent: true,\n};\n\nexport const DAFF_TOAST_OPTIONS = new InjectionToken('DAFF_TOAST_OPTIONS', { providedIn: 'root', factory: () => daffToastDefaultOptions });\n\nexport const provideDaffToastOptions = (options: DaffToastOptions): ValueProvider => ({ provide: DAFF_TOAST_OPTIONS, useValue: {\n ...daffToastDefaultOptions,\n ...options,\n}});\n","import { BreakpointObserver } from '@angular/cdk/layout';\nimport {\n Inject,\n Injectable,\n} from '@angular/core';\n\nimport { DaffBreakpoints } from '@daffodil/design';\n\nimport {\n DaffToastOptions,\n DaffToastPosition,\n DAFF_TOAST_OPTIONS,\n} from '../options/daff-toast-options';\n\n@Injectable()\nexport class DaffToastPositionService {\n\n constructor(@Inject(DAFF_TOAST_OPTIONS) private options: DaffToastOptions, private mediaQuery: BreakpointObserver) {\n this._config = options.position;\n }\n\n private _config: DaffToastPosition;\n private _position: DaffToastPosition;\n\n get config(): DaffToastPosition {\n return this.mediaQuery.isMatched(DaffBreakpoints.MOBILE)\n ? this._position ?? this._config\n : <DaffToastPosition>{ vertical: 'bottom', horizontal: 'center' };\n }\n\n set config(val: DaffToastPosition) {\n this._config = val;\n }\n\n setPosition(position: DaffToastPosition) {\n this._position = position;\n }\n}\n","import { DaffToast } from '../interfaces/toast';\n\nexport const daffToastChangesFocus = (toast: DaffToast): boolean => toast.actions?.length > 0;\n","import {\n Directive,\n HostBinding,\n} from '@angular/core';\n\n@Directive({\n selector: '[daffToastActions]',\n standalone: true,\n})\n\nexport class DaffToastActionsDirective {\n\n @HostBinding('class.daff-toast__actions') class = true;\n}\n","import {\n ConfigurableFocusTrap,\n ConfigurableFocusTrapFactory,\n} from '@angular/cdk/a11y';\nimport { NgIf } from '@angular/common';\nimport {\n Component,\n ElementRef,\n HostBinding,\n ContentChild,\n ViewEncapsulation,\n ChangeDetectionStrategy,\n AfterViewInit,\n AfterContentInit,\n HostListener,\n Input,\n OnDestroy,\n} from '@angular/core';\n\nimport {\n DaffArticleEncapsulatedDirective,\n DaffFocusStackService,\n DaffPrefixable,\n DaffPrefixDirective,\n DaffStatusableDirective,\n} from '@daffodil/design';\n\nimport { DaffToast } from '../interfaces/toast';\nimport { daffToastChangesFocus } from '../service/changes-focus';\nimport { DaffToastActionsDirective } from '../toast-actions/toast-actions.directive';\n\n/**\n * DaffToastComponent provides a way to display and\n * communicate information for user actions or system updates.\n */\n@Component({\n selector: 'daff-toast',\n templateUrl: './toast.component.html',\n styleUrls: ['./toast.component.scss'],\n hostDirectives: [\n { directive: DaffArticleEncapsulatedDirective },\n {\n directive: DaffStatusableDirective,\n inputs: ['status'],\n },\n ],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n imports: [\n NgIf,\n ],\n})\nexport class DaffToastComponent implements DaffPrefixable, AfterContentInit, AfterViewInit, OnDestroy {\n /** @docs-private */\n @HostBinding('class.daff-toast') class = true;\n\n @ContentChild(DaffToastActionsDirective)\n _actions: DaffToastActionsDirective;\n\n @ContentChild(DaffPrefixDirective)\n _prefix: DaffPrefixDirective;\n\n @Input() toast: DaffToast;\n\n /**\n * @docs-private\n */\n @HostListener('keydown.escape')\n onEscape() {\n this.toast.dismiss();\n }\n\n private _focusTrap: ConfigurableFocusTrap;\n\n constructor(\n private _elementRef: ElementRef,\n private _focusTrapFactory: ConfigurableFocusTrapFactory,\n private _focusStack: DaffFocusStackService,\n ) {\n }\n\n ngAfterContentInit() {\n if(daffToastChangesFocus(this.toast)) {\n this._focusTrap = this._focusTrapFactory.create(\n this._elementRef.nativeElement,\n );\n }\n }\n\n ngAfterViewInit() {\n if(daffToastChangesFocus(this.toast)) {\n this._focusStack.push();\n this._focusTrap.focusFirstTabbableElementWhenReady();\n }\n }\n\n ngOnDestroy() {\n if(daffToastChangesFocus(this.toast)) {\n this._focusTrap.destroy();\n }\n }\n}\n","<ng-container *ngIf=\"_prefix\">\n <ng-content select=\"[daffPrefix]\"></ng-content>\n</ng-container>\n<div class=\"daff-toast__details\">\n <div class=\"daff-toast__content\">\n <ng-content select=\"[daffToastTitle]\"></ng-content>\n <ng-content select=\"[daffToastMessage]\"></ng-content>\n </div>\n <ng-content select=\"[daffToastActions]\"></ng-content>\n</div>\n<ng-content></ng-content>\n","import {\n Directive,\n HostBinding,\n} from '@angular/core';\n\n@Directive({\n selector: '[daffToastMessage]',\n standalone: true,\n})\n\nexport class DaffToastMessageDirective {\n\n @HostBinding('class.daff-toast__message') class = true;\n}\n","import {\n Directive,\n HostBinding,\n} from '@angular/core';\n\n@Directive({\n selector: '[daffToastTitle]',\n standalone: true,\n})\n\nexport class DaffToastTitleDirective {\n\n @HostBinding('class.daff-toast__title') class = true;\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 { DaffPrefixSuffixModule } from '@daffodil/design';\nimport { DaffButtonModule } from '@daffodil/design/button';\n\nimport { DaffToastPositionService } from './service/position.service';\nimport { DaffToastComponent } from './toast/toast.component';\nimport { DaffToastActionsDirective } from './toast-actions/toast-actions.directive';\nimport { DaffToastMessageDirective } from './toast-message/toast-message.directive';\nimport { DaffToastTitleDirective } from './toast-title/toast-title.directive';\n\n/**\n * @deprecated in favor of {@link daffProvideToast}\n */\n@NgModule({\n imports: [\n CommonModule,\n DaffPrefixSuffixModule,\n DaffButtonModule,\n FontAwesomeModule,\n PortalModule,\n OverlayModule,\n DaffToastComponent,\n DaffToastActionsDirective,\n DaffToastTitleDirective,\n DaffToastMessageDirective,\n ],\n exports: [\n DaffToastComponent,\n DaffToastActionsDirective,\n DaffToastTitleDirective,\n DaffToastMessageDirective,\n DaffPrefixSuffixModule,\n ],\n providers: [\n DaffToastPositionService,\n ],\n})\nexport class DaffToastModule { }\n","import {\n GlobalPositionStrategy,\n PositionStrategy,\n} from '@angular/cdk/overlay';\n\nimport { DaffToastPosition } from '../options/daff-toast-options';\n\nexport const createPositionStrategy = (position: DaffToastPosition): PositionStrategy => {\n const strat = new GlobalPositionStrategy();\n\n switch ( position.horizontal ) {\n case 'left':\n strat.left('48px');\n break;\n case 'right':\n strat.right('48px');\n break;\n case 'center':\n strat.centerHorizontally();\n break;\n default:\n strat.right('48px');\n }\n\n switch(position.vertical) {\n case 'top':\n strat.top('80px');\n break;\n case 'bottom':\n strat.bottom('48px');\n break;\n default:\n strat.top('80px');\n }\n\n return strat;\n};\n","export interface DaffToastConfiguration {\n /**\n * The duration (in milliseconds) that a toast is visible before it's dismissed.\n */\n duration?: number;\n}\n\nexport const daffDefaultToastConfiguration: DaffToastConfiguration = {};\n","import {\n animate,\n style,\n transition,\n trigger,\n} from '@angular/animations';\nimport {\n NgFor,\n NgIf,\n NgSwitch,\n NgSwitchCase,\n NgSwitchDefault,\n NgTemplateOutlet,\n SlicePipe,\n} from '@angular/common';\nimport {\n Input,\n ChangeDetectionStrategy,\n Component,\n ChangeDetectorRef,\n Inject,\n Output,\n EventEmitter,\n} from '@angular/core';\nimport { FaIconComponent } from '@fortawesome/angular-fontawesome';\nimport { faTimes } from '@fortawesome/free-solid-svg-icons';\n\nimport { DAFF_BUTTON_COMPONENTS } from '@daffodil/design/button';\n\nimport { DaffToastComponent } from './toast.component';\nimport { DaffToast } from '../interfaces/toast';\nimport {\n DaffToastOptions,\n DAFF_TOAST_OPTIONS,\n} from '../options/daff-toast-options';\nimport { DaffToastPositionService } from '../service/position.service';\nimport { DaffToastActionsDirective } from '../toast-actions/toast-actions.directive';\nimport { DaffToastMessageDirective } from '../toast-message/toast-message.directive';\nimport { DaffToastTitleDirective } from '../toast-title/toast-title.directive';\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: `\n <daff-toast\n *ngFor=\"let item of items | slice:0:3\"\n [toast]=\"item\"\n [status]=\"item.status ?? null\"\n (closeToast)=\"item.dismiss()\"\n [@slideIn]=\"slideAnimation\"\n [attr.role]=\"item.actions ? 'alertdialog' : 'status'\"\n [attr.aria-labelledby]=\"item.actions ? item.title : undefined\"\n [attr.aria-describedby]=\"item.actions ? item.message : undefined\">\n <div daffToastTitle>{{ item.title }}</div>\n <div daffToastMessage>{{ item.message }}</div>\n <div daffToastActions *ngIf=\"item.actions\">\n <ng-container *ngFor=\"let action of item.actions\">\n <ng-container *ngTemplateOutlet=\"button;context:{ action, item }\"></ng-container>\n </ng-container>\n </div>\n <button daff-icon-button color=\"theme-contrast\"\n *ngIf=\"item.dismissible\"\n aria-label=\"close button\"\n [attr.aria-hidden]=\"item.actions ? undefined : true\"\n (click)=\"onCloseToast(item.dismiss())\">\n <fa-icon [icon]=\"faTimes\" size=\"sm\" [fixedWidth]=\"true\"></fa-icon>\n </button>\n </daff-toast>\n\n <ng-template #button let-action=\"action\" let-item=\"item\">\n <ng-container [ngSwitch]=\"action.type\">\n <button type=\"button\" *ngSwitchDefault daff-button\n [status]=\"action.status\"\n [color]=\"action.color\"\n [size]=\"action.size\"\n [attr.aria-label]=\"action.content\"\n (click)=\"action.eventEmitter?.emit({ event: $event, action})\">\n {{ action.content }}\n </button>\n <button type=\"button\" *ngSwitchCase=\"'stroked'\" daff-stroked-button\n [status]=\"action.status\"\n [color]=\"action.color\"\n [size]=\"action.size\"\n [attr.aria-label]=\"action.content\"\n (click)=\"action.eventEmitter?.emit({ event: $event, action})\">\n {{ action.content }}\n </button>\n <button type=\"button\" *ngSwitchCase=\"'raised'\" daff-raised-button\n [status]=\"action.status\"\n [color]=\"action.color\"\n [size]=\"action.size\"\n [attr.aria-label]=\"action.content\"\n (click)=\"action.eventEmitter?.emit({ event: $event, action})\">\n {{ action.content }}\n </button>\n <button type=\"button\" *ngSwitchCase=\"'flat'\" daff-flat-button\n [status]=\"action.status\"\n [color]=\"action.color\"\n [size]=\"action.size\"\n [attr.aria-label]=\"action.content\"\n (click)=\"action.eventEmitter?.emit({ event: $event, action})\">\n {{ action.content }}\n </button>\n <button type=\"button\" *ngSwitchCase=\"'underline'\" daff-underline-button\n [status]=\"action.status\"\n [color]=\"action.color\"\n [size]=\"action.size\"\n [attr.aria-label]=\"action.content\"\n (click)=\"action.eventEmitter?.emit({ event: $event, action})\">\n {{ action.content }}\n </button>\n </ng-container>\n </ng-template>\n `,\n animations: [\n trigger('slideIn', [\n transition(':enter', [\n style({ opacity: '0', transform: 'translate({{startX}}, {{startY}})' }),\n animate('300ms ease-out', style({ opacity: '1', transform: 'translate({{endX}}, {{endY}})' })),\n ],\n { params: {\n startX: '0',\n startY: '0',\n endX: '0',\n endY: '0',\n } }),\n ]),\n ],\n standalone: true,\n imports: [\n DAFF_BUTTON_COMPONENTS,\n DaffToastComponent,\n DaffToastActionsDirective,\n DaffToastTitleDirective,\n DaffToastMessageDirective,\n FaIconComponent,\n NgSwitch,\n NgFor,\n NgSwitchCase,\n NgSwitchDefault,\n NgIf,\n SlicePipe,\n NgTemplateOutlet,\n ],\n})\nexport class DaffToastTemplateComponent {\n faTimes = faTimes;\n\n private _items: DaffToast[] = [];\n\n constructor(\n private cd: ChangeDetectorRef,\n @Inject(DAFF_TOAST_OPTIONS)\n private options: DaffToastOptions,\n private toastPosition: DaffToastPositionService,\n ) { }\n\n @Output() closeToast: EventEmitter<void> = new EventEmitter();\n\n onCloseToast(event: Event) {\n this.closeToast.emit();\n }\n\n get slideAnimation(): any {\n switch (this.toastPosition.config.horizontal + '-' + this.toastPosition.config.vertical) {\n case 'left-top':\n case 'left-bottom':\n return {\n value: 0,\n params: {\n startX: '-100%',\n endX: '0',\n startY: '0',\n endY: '0',\n },\n };\n case 'right-top':\n case 'right-bottom':\n return {\n value: 0,\n params: {\n startX: '100%',\n endX: '0',\n startY: '0',\n endY: '0',\n },\n };\n\n case 'center-top':\n return {\n value: 0,\n params: {\n startX: '0',\n endX: '0',\n startY: '-100%',\n endY: '0',\n },\n };\n\n case 'center-bottom':\n return {\n value: 0,\n params: {\n startX: '0',\n endX: '0',\n startY: '100%',\n endY: '0',\n },\n };\n }\n }\n\n @Input()\n get items(): DaffToast[] {\n return this._items;\n }\n set items(value: DaffToast[]) {\n this._items = value;\n this.cd.markForCheck();\n }\n}\n","import { BreakpointObserver } from '@angular/cdk/layout';\nimport {\n Overlay,\n OverlayRef,\n} from '@angular/cdk/overlay';\nimport { ComponentPortal } from '@angular/cdk/portal';\nimport {\n ComponentRef,\n EventEmitter,\n Inject,\n Injectable,\n Injector,\n OnDestroy,\n Optional,\n SkipSelf,\n} from '@angular/core';\nimport {\n EMPTY,\n merge,\n of,\n Subscription,\n} from 'rxjs';\nimport {\n delay,\n filter,\n map,\n take,\n tap,\n} from 'rxjs/operators';\n\nimport {\n DaffBreakpoints,\n DaffFocusStackService,\n} from '@daffodil/design';\n\nimport { daffToastChangesFocus } from './changes-focus';\nimport { createPositionStrategy } from './position-strategy';\nimport { DaffToastPositionService } from './position.service';\nimport {\n DaffToast,\n DaffToastData,\n} from '../interfaces/toast';\nimport {\n DAFF_TOAST_OPTIONS,\n DaffToastOptions,\n} from '../options/daff-toast-options';\nimport {\n daffDefaultToastConfiguration,\n DaffToastConfiguration,\n} from '../toast/toast-config';\nimport { DaffToastTemplateComponent } from '../toast/toast-template.component';\n\n@Injectable()\nexport class DaffToastService implements OnDestroy {\n\n private _sub: Subscription;\n\n private _toasts: DaffToast[] = [];\n\n private _overlayRef?: OverlayRef;\n\n private _template?: ComponentRef<DaffToastTemplateComponent>;\n\n constructor(\n private overlay: Overlay,\n @Inject(DAFF_TOAST_OPTIONS) private options: DaffToastOptions,\n @Optional() @SkipSelf() private _parentToast: DaffToastService,\n private mediaQuery: BreakpointObserver,\n private toastPosition: DaffToastPositionService,\n private focusStack: DaffFocusStackService,\n private injector: Injector,\n ) {\n this._sub = this.mediaQuery.observe(DaffBreakpoints.MOBILE).pipe(\n filter(() => this._overlayRef !== undefined),\n map((position) => createPositionStrategy(this.toastPosition.config)),\n tap((strategy) => this._overlayRef.updatePositionStrategy(strategy)),\n ).subscribe();\n }\n\n ngOnDestroy(): void {\n this._sub.unsubscribe();\n }\n\n private _attachToastTemplate(\n overlayRef: OverlayRef,\n ): ComponentRef<DaffToastTemplateComponent> {\n const template = overlayRef.attach(new ComponentPortal(DaffToastTemplateComponent, null, this.injector));\n return template;\n }\n\n private _createOverlayRef(): OverlayRef {\n return this.overlay.create({\n hasBackdrop: false,\n scrollStrategy: this.overlay.scrollStrategies.noop(),\n positionStrategy: createPositionStrategy(this.toastPosition.config),\n });\n }\n\n open(\n toast: DaffToastData,\n configuration?: Partial<DaffToastConfiguration>,\n ): DaffToast {\n if(this._parentToast && this.options.useParent) {\n return this._parentToast.open(toast, configuration);\n }\n\n const config: DaffToastConfiguration = {\n ...daffDefaultToastConfiguration,\n // sets the default duration to 5000ms if a toast does not have actions\n duration: toast.actions?.length > 0 ? undefined : 5000,\n ...configuration,\n };\n if(this._toasts.length === 0) {\n this._overlayRef = this._createOverlayRef();\n this._template = this._attachToastTemplate(this._overlayRef);\n }\n const dismissEvent = new EventEmitter<void>();\n const _toastPlus: DaffToast = {\n dismissible: true,\n ...toast,\n dismiss: () => {\n dismissEvent.emit();\n },\n dismissalStream: merge(\n config.duration ? of(undefined).pipe(delay(config.duration)) : EMPTY,\n dismissEvent,\n ).pipe(\n take(1),\n ),\n };\n\n _toastPlus.dismissalStream.subscribe(() => {\n this.close(_toastPlus);\n });\n\n this._toasts = [\n _toastPlus,\n ...this._toasts,\n ];\n\n this._template.instance.items = this._toasts;\n\n return _toastPlus;\n }\n\n close(toast: DaffToast): void {\n if(this._parentToast && this.options.useParent) {\n this._parentToast.close(toast);\n return;\n }\n\n if(daffToastChangesFocus(toast)) {\n this.focusStack.pop();\n }\n\n const index = this._toasts.indexOf(toast);\n if (index === -1) {\n throw new Error(\n 'The Toast that you are trying to remove does not exist.',\n );\n }\n\n this._toasts = this._toasts.filter(m => m !== toast);\n this._template.instance.items = [...this._toasts];\n\n // This currently overrides the \":leave\" animation as we currently\n // remove the animating element immediately after there are no more toasts,\n // without waiting for the animation to complete.\n if(this._toasts.length === 0) {\n this._overlayRef.dispose();\n this._template.destroy();\n this._overlayRef = undefined;\n this._template = undefined;\n }\n }\n}\n","import { Provider } from '@angular/core';\n\nimport { DaffToastPositionService } from '../service/position.service';\nimport { DaffToastService } from '../service/toast.service';\n\nexport const daffProvideToast = (): Provider[] => [\n DaffToastService,\n DaffToastPositionService,\n];\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","i1.DaffToastPositionService","i2","i3","i3.DaffToastPositionService","i4"],"mappings":";;;;;;;;;;;;;;;;;;AAQqE,CAAC;AAEc,CAAC;AAS9E,MAAM,uBAAuB,GAAqB;AACvD,IAAA,QAAQ,EAAE;AACR,QAAA,QAAQ,EAAE,KAAK;AACf,QAAA,UAAU,EAAE,OAAO;AACpB,KAAA;AACD,IAAA,SAAS,EAAE,IAAI;CAChB,CAAC;MAEW,kBAAkB,GAAG,IAAI,cAAc,CAAC,oBAAoB,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,uBAAuB,EAAE,EAAE;AAE9H,MAAA,uBAAuB,GAAG,CAAC,OAAyB,MAAqB,EAAE,OAAO,EAAE,kBAAkB,EAAE,QAAQ,EAAE;AAC7H,QAAA,GAAG,uBAAuB;AAC1B,QAAA,GAAG,OAAO;AACX,KAAA,EAAC;;MCjBW,wBAAwB,CAAA;IAEnC,WAAgD,CAAA,OAAyB,EAAU,UAA8B,EAAA;QAAjE,IAAO,CAAA,OAAA,GAAP,OAAO,CAAkB;QAAU,IAAU,CAAA,UAAA,GAAV,UAAU,CAAoB;AAC/G,QAAA,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC;KACjC;AAKD,IAAA,IAAI,MAAM,GAAA;QACR,OAAO,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,eAAe,CAAC,MAAM,CAAC;AACtD,cAAE,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,OAAO;cACX,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC;KACrE;IAED,IAAI,MAAM,CAAC,GAAsB,EAAA;AAC/B,QAAA,IAAI,CAAC,OAAO,GAAG,GAAG,CAAC;KACpB;AAED,IAAA,WAAW,CAAC,QAA2B,EAAA;AACrC,QAAA,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;KAC3B;AArBU,uBAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,wBAAwB,kBAEf,kBAAkB,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,kBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA;qIAF3B,wBAAwB,EAAA,CAAA,CAAA,EAAA;;2FAAxB,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBADpC,UAAU;;0BAGI,MAAM;2BAAC,kBAAkB,CAAA;;;ACfjC,MAAM,qBAAqB,GAAG,CAAC,KAAgB,KAAc,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,CAAC;;MCQhF,yBAAyB,CAAA;AALtC,IAAA,WAAA,GAAA;QAO4C,IAAK,CAAA,KAAA,GAAG,IAAI,CAAC;AACxD,KAAA;iIAHY,yBAAyB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;qHAAzB,yBAAyB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,2BAAA,EAAA,YAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;2FAAzB,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBALrC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,oBAAoB;AAC9B,oBAAA,UAAU,EAAE,IAAI;AACjB,iBAAA,CAAA;8BAI2C,KAAK,EAAA,CAAA;sBAA9C,WAAW;uBAAC,2BAA2B,CAAA;;;ACmB1C;;;AAGG;MAmBU,kBAAkB,CAAA;AAY7B;;AAEG;IAEH,QAAQ,GAAA;AACN,QAAA,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;KACtB;AAID,IAAA,WAAA,CACU,WAAuB,EACvB,iBAA+C,EAC/C,WAAkC,EAAA;QAFlC,IAAW,CAAA,WAAA,GAAX,WAAW,CAAY;QACvB,IAAiB,CAAA,iBAAA,GAAjB,iBAAiB,CAA8B;QAC/C,IAAW,CAAA,WAAA,GAAX,WAAW,CAAuB;;QAvBX,IAAK,CAAA,KAAA,GAAG,IAAI,CAAC;KAyB7C;IAED,kBAAkB,GAAA;AAChB,QAAA,IAAG,qBAAqB,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;AACpC,YAAA,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAC7C,IAAI,CAAC,WAAW,CAAC,aAAa,CAC/B,CAAC;SACH;KACF;IAED,eAAe,GAAA;AACb,QAAA,IAAG,qBAAqB,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;AACpC,YAAA,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;AACxB,YAAA,IAAI,CAAC,UAAU,CAAC,kCAAkC,EAAE,CAAC;SACtD;KACF;IAED,WAAW,GAAA;AACT,QAAA,IAAG,qBAAqB,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;AACpC,YAAA,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;SAC3B;KACF;iIAhDU,kBAAkB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAAA,IAAA,CAAA,4BAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,qBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAlB,uBAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,kBAAkB,mPAIf,yBAAyB,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,SAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAGzB,mBAAmB,EC5DnC,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,cAAA,EAAA,CAAA,EAAA,SAAA,EAAA,EAAA,CAAA,gCAAA,EAAA,EAAA,EAAA,SAAA,EAAA,EAAA,CAAA,uBAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,QAAA,CAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,sZAWA,+lCDuCI,IAAI,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA,EAAA;;2FAGK,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAlB9B,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,YAAY,EAGN,cAAA,EAAA;wBACd,EAAE,SAAS,EAAE,gCAAgC,EAAE;AAC/C,wBAAA;AACE,4BAAA,SAAS,EAAE,uBAAuB;4BAClC,MAAM,EAAE,CAAC,QAAQ,CAAC;AACnB,yBAAA;qBACF,EACc,aAAA,EAAA,iBAAiB,CAAC,IAAI,EAAA,eAAA,EACpB,uBAAuB,CAAC,MAAM,EACnC,UAAA,EAAA,IAAI,EACP,OAAA,EAAA;wBACP,IAAI;AACL,qBAAA,EAAA,QAAA,EAAA,sZAAA,EAAA,MAAA,EAAA,CAAA,uiCAAA,CAAA,EAAA,CAAA;gKAIgC,KAAK,EAAA,CAAA;sBAArC,WAAW;uBAAC,kBAAkB,CAAA;gBAG/B,QAAQ,EAAA,CAAA;sBADP,YAAY;uBAAC,yBAAyB,CAAA;gBAIvC,OAAO,EAAA,CAAA;sBADN,YAAY;uBAAC,mBAAmB,CAAA;gBAGxB,KAAK,EAAA,CAAA;sBAAb,KAAK;gBAMN,QAAQ,EAAA,CAAA;sBADP,YAAY;uBAAC,gBAAgB,CAAA;;;ME1DnB,yBAAyB,CAAA;AALtC,IAAA,WAAA,GAAA;QAO4C,IAAK,CAAA,KAAA,GAAG,IAAI,CAAC;AACxD,KAAA;iIAHY,yBAAyB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;qHAAzB,yBAAyB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,2BAAA,EAAA,YAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;2FAAzB,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBALrC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,oBAAoB;AAC9B,oBAAA,UAAU,EAAE,IAAI;AACjB,iBAAA,CAAA;8BAI2C,KAAK,EAAA,CAAA;sBAA9C,WAAW;uBAAC,2BAA2B,CAAA;;;MCF7B,uBAAuB,CAAA;AALpC,IAAA,WAAA,GAAA;QAO0C,IAAK,CAAA,KAAA,GAAG,IAAI,CAAC;AACtD,KAAA;iIAHY,uBAAuB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;qHAAvB,uBAAuB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,yBAAA,EAAA,YAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;2FAAvB,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBALnC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,kBAAkB;AAC5B,oBAAA,UAAU,EAAE,IAAI;AACjB,iBAAA,CAAA;8BAIyC,KAAK,EAAA,CAAA;sBAA5C,WAAW;uBAAC,yBAAyB,CAAA;;;ACGxC;;AAEG;MAyBU,eAAe,CAAA;iIAAf,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA,EAAA;AAAf,uBAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,eAAe,YAtBxB,YAAY;YACZ,sBAAsB;YACtB,gBAAgB;YAChB,iBAAiB;YACjB,YAAY;YACZ,aAAa;YACb,kBAAkB;YAClB,yBAAyB;YACzB,uBAAuB;AACvB,YAAA,yBAAyB,aAGzB,kBAAkB;YAClB,yBAAyB;YACzB,uBAAuB;YACvB,yBAAyB;YACzB,sBAAsB,CAAA,EAAA,CAAA,CAAA,EAAA;AAMb,uBAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,eAAe,EAJf,SAAA,EAAA;YACT,wBAAwB;AACzB,SAAA,EAAA,OAAA,EAAA,CApBC,YAAY;YACZ,sBAAsB;YACtB,gBAAgB;YAChB,iBAAiB;YACjB,YAAY;AACZ,YAAA,aAAa,EAWb,sBAAsB,CAAA,EAAA,CAAA,CAAA,EAAA;;2FAMb,eAAe,EAAA,UAAA,EAAA,CAAA;kBAxB3B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,OAAO,EAAE;wBACP,YAAY;wBACZ,sBAAsB;wBACtB,gBAAgB;wBAChB,iBAAiB;wBACjB,YAAY;wBACZ,aAAa;wBACb,kBAAkB;wBAClB,yBAAyB;wBACzB,uBAAuB;wBACvB,yBAAyB;AAC1B,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,kBAAkB;wBAClB,yBAAyB;wBACzB,uBAAuB;wBACvB,yBAAyB;wBACzB,sBAAsB;AACvB,qBAAA;AACD,oBAAA,SAAS,EAAE;wBACT,wBAAwB;AACzB,qBAAA;AACF,iBAAA,CAAA;;;AClCM,MAAM,sBAAsB,GAAG,CAAC,QAA2B,KAAsB;AACtF,IAAA,MAAM,KAAK,GAAG,IAAI,sBAAsB,EAAE,CAAC;AAE3C,IAAA,QAAS,QAAQ,CAAC,UAAU;AAC1B,QAAA,KAAK,MAAM;AACT,YAAA,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACnB,MAAM;AACR,QAAA,KAAK,OAAO;AACV,YAAA,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YACpB,MAAM;AACR,QAAA,KAAK,QAAQ;YACX,KAAK,CAAC,kBAAkB,EAAE,CAAC;YAC3B,MAAM;AACR,QAAA;AACE,YAAA,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;KACvB;AAED,IAAA,QAAO,QAAQ,CAAC,QAAQ;AACtB,QAAA,KAAK,KAAK;AACR,YAAA,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YAClB,MAAM;AACR,QAAA,KAAK,QAAQ;AACX,YAAA,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YACrB,MAAM;AACR,QAAA;AACE,YAAA,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;KACrB;AAED,IAAA,OAAO,KAAK,CAAC;AACf,CAAC;;AC7BM,MAAM,6BAA6B,GAA2B,EAAE;;MCyI1D,0BAA0B,CAAA;AAKrC,IAAA,WAAA,CACU,EAAqB,EAErB,OAAyB,EACzB,aAAuC,EAAA;QAHvC,IAAE,CAAA,EAAA,GAAF,EAAE,CAAmB;QAErB,IAAO,CAAA,OAAA,GAAP,OAAO,CAAkB;QACzB,IAAa,CAAA,aAAA,GAAb,aAAa,CAA0B;QARjD,IAAO,CAAA,OAAA,GAAG,OAAO,CAAC;QAEV,IAAM,CAAA,MAAA,GAAgB,EAAE,CAAC;AASvB,QAAA,IAAA,CAAA,UAAU,GAAuB,IAAI,YAAY,EAAE,CAAC;KAFzD;AAIL,IAAA,YAAY,CAAC,KAAY,EAAA;AACvB,QAAA,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;KACxB;AAED,IAAA,IAAI,cAAc,GAAA;AAChB,QAAA,QAAQ,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,UAAU,GAAG,GAAG,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,QAAQ;AACrF,YAAA,KAAK,UAAU,CAAC;AAChB,YAAA,KAAK,aAAa;gBAChB,OAAO;AACL,oBAAA,KAAK,EAAE,CAAC;AACR,oBAAA,MAAM,EAAE;AACN,wBAAA,MAAM,EAAE,OAAO;AACf,wBAAA,IAAI,EAAE,GAAG;AACT,wBAAA,MAAM,EAAE,GAAG;AACX,wBAAA,IAAI,EAAE,GAAG;AACV,qBAAA;iBACF,CAAC;AACJ,YAAA,KAAK,WAAW,CAAC;AACjB,YAAA,KAAK,cAAc;gBACjB,OAAO;AACL,oBAAA,KAAK,EAAE,CAAC;AACR,oBAAA,MAAM,EAAE;AACN,wBAAA,MAAM,EAAE,MAAM;AACd,wBAAA,IAAI,EAAE,GAAG;AACT,wBAAA,MAAM,EAAE,GAAG;AACX,wBAAA,IAAI,EAAE,GAAG;AACV,qBAAA;iBACF,CAAC;AAEJ,YAAA,KAAK,YAAY;gBACf,OAAO;AACL,oBAAA,KAAK,EAAE,CAAC;AACR,oBAAA,MAAM,EAAE;AACN,wBAAA,MAAM,EAAE,GAAG;AACX,wBAAA,IAAI,EAAE,GAAG;AACT,wBAAA,MAAM,EAAE,OAAO;AACf,wBAAA,IAAI,EAAE,GAAG;AACV,qBAAA;iBACF,CAAC;AAEJ,YAAA,KAAK,eAAe;gBAClB,OAAO;AACL,oBAAA,KAAK,EAAE,CAAC;AACR,oBAAA,MAAM,EAAE;AACN,wBAAA,MAAM,EAAE,GAAG;AACX,wBAAA,IAAI,EAAE,GAAG;AACT,wBAAA,MAAM,EAAE,MAAM;AACd,wBAAA,IAAI,EAAE,GAAG;AACV,qBAAA;iBACF,CAAC;SACL;KACF;AAED,IAAA,IACI,KAAK,GAAA;QACP,OAAO,IAAI,CAAC,MAAM,CAAC;KACpB;IACD,IAAI,KAAK,CAAC,KAAkB,EAAA;AAC1B,QAAA,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;AACpB,QAAA,IAAI,CAAC,EAAE,CAAC,YAAY,EAAE,CAAC;KACxB;AA1EU,uBAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,0BAA0B,mDAO3B,kBAAkB,EAAA,EAAA,EAAA,KAAA,EAAAC,wBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAPjB,uBAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,0BAA0B,EAtG3B,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,OAAA,EAAA,EAAA,OAAA,EAAA,EAAA,UAAA,EAAA,YAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsET,EAkBC,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,IAAA,CAAA,mBAAA,EAAA,QAAA,EAAA,yRAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAAC,EAAA,CAAA,sBAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,kBAAkB,0EAClB,yBAAyB,EAAA,QAAA,EAAA,oBAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACzB,uBAAuB,EACvB,QAAA,EAAA,kBAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,yBAAyB,EACzB,QAAA,EAAA,oBAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,eAAe,EACf,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,OAAA,EAAA,WAAA,EAAA,MAAA,EAAA,MAAA,EAAA,MAAA,EAAA,MAAA,EAAA,QAAA,EAAA,SAAA,EAAA,QAAA,EAAA,QAAA,EAAA,YAAA,EAAA,WAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,QAAQ,6EACR,KAAK,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACL,YAAY,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACZ,eAAe,EAAA,QAAA,EAAA,mBAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACf,IAAI,EACJ,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,SAAS,EACT,IAAA,EAAA,OAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,gBAAgB,EA5BN,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,EAAA,0BAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA;YACV,OAAO,CAAC,SAAS,EAAE;gBACjB,UAAU,CAAC,QAAQ,EAAE;oBACnB,KAAK,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,mCAAmC,EAAE,CAAC;AACvE,oBAAA,OAAO,CAAC,gBAAgB,EAAE,KAAK,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,+BAA+B,EAAE,CAAC,CAAC;iBAC/F,EACD,EAAE,MAAM,EAAE;AACR,wBAAA,MAAM,EAAE,GAAG;AACX,wBAAA,MAAM,EAAE,GAAG;AACX,wBAAA,IAAI,EAAE,GAAG;AACT,wBAAA,IAAI,EAAE,GAAG;AACV,qBAAA,EAAE,CAAC;aACL,CAAC;AACH,SAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA,EAAA;;2FAkBU,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBAxGtC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;oBACT,eAAe,EAAE,uBAAuB,CAAC,MAAM;AAC/C,oBAAA,QAAQ,EAAE,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAsET,EAAA,CAAA;AACD,oBAAA,UAAU,EAAE;wBACV,OAAO,CAAC,SAAS,EAAE;4BACjB,UAAU,CAAC,QAAQ,EAAE;gCACnB,KAAK,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,mCAAmC,EAAE,CAAC;AACvE,gCAAA,OAAO,CAAC,gBAAgB,EAAE,KAAK,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,+BAA+B,EAAE,CAAC,CAAC;6BAC/F,EACD,EAAE,MAAM,EAAE;AACR,oCAAA,MAAM,EAAE,GAAG;AACX,oCAAA,MAAM,EAAE,GAAG;AACX,oCAAA,IAAI,EAAE,GAAG;AACT,oCAAA,IAAI,EAAE,GAAG;AACV,iCAAA,EAAE,CAAC;yBACL,CAAC;AACH,qBAAA;AACD,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,OAAO,EAAE;wBACP,sBAAsB;wBACtB,kBAAkB;wBAClB,yBAAyB;wBACzB,uBAAuB;wBACvB,yBAAyB;wBACzB,eAAe;wBACf,QAAQ;wBACR,KAAK;wBACL,YAAY;wBACZ,eAAe;wBACf,IAAI;wBACJ,SAAS;wBACT,gBAAgB;AACjB,qBAAA;AACF,iBAAA,CAAA;;0BAQI,MAAM;2BAAC,kBAAkB,CAAA;6EAKlB,UAAU,EAAA,CAAA;sBAAnB,MAAM;gBAwDH,KAAK,EAAA,CAAA;sBADR,KAAK;;;MC9JK,gBAAgB,CAAA;AAU3B,IAAA,WAAA,CACU,OAAgB,EACY,OAAyB,EAC7B,YAA8B,EACtD,UAA8B,EAC9B,aAAuC,EACvC,UAAiC,EACjC,QAAkB,EAAA;QANlB,IAAO,CAAA,OAAA,GAAP,OAAO,CAAS;QACY,IAAO,CAAA,OAAA,GAAP,OAAO,CAAkB;QAC7B,IAAY,CAAA,YAAA,GAAZ,YAAY,CAAkB;QACtD,IAAU,CAAA,UAAA,GAAV,UAAU,CAAoB;QAC9B,IAAa,CAAA,aAAA,GAAb,aAAa,CAA0B;QACvC,IAAU,CAAA,UAAA,GAAV,UAAU,CAAuB;QACjC,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAU;QAbpB,IAAO,CAAA,OAAA,GAAgB,EAAE,CAAC;AAehC,QAAA,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,IAAI,CAC9D,MAAM,CAAC,MAAM,IAAI,CAAC,WAAW,KAAK,SAAS,CAAC,EAC5C,GAAG,CAAC,CAAC,QAAQ,KAAK,sBAAsB,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,EACpE,GAAG,CAAC,CAAC,QAAQ,KAAK,IAAI,CAAC,WAAW,CAAC,sBAAsB,CAAC,QAAQ,CAAC,CAAC,CACrE,CAAC,SAAS,EAAE,CAAC;KACf;IAED,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;KACzB;AAEO,IAAA,oBAAoB,CAC1B,UAAsB,EAAA;AAEtB,QAAA,MAAM,QAAQ,GAAG,UAAU,CAAC,MAAM,CAAC,IAAI,eAAe,CAAC,0BAA0B,EAAE,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;AACzG,QAAA,OAAO,QAAQ,CAAC;KACjB;IAEO,iBAAiB,GAAA;AACvB,QAAA,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;AACzB,YAAA,WAAW,EAAE,KAAK;YAClB,cAAc,EAAE,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,IAAI,EAAE;YACpD,gBAAgB,EAAE,sBAAsB,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC;AACpE,SAAA,CAAC,CAAC;KACJ;IAED,IAAI,CACF,KAAoB,EACpB,aAA+C,EAAA;QAE/C,IAAG,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE;YAC9C,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;SACrD;AAED,QAAA,MAAM,MAAM,GAA2B;AACrC,YAAA,GAAG,6BAA6B;;AAEhC,YAAA,QAAQ,EAAE,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,CAAC,GAAG,SAAS,GAAG,IAAI;AACtD,YAAA,GAAG,aAAa;SACjB,CAAC;QACF,IAAG,IAAI,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE;AAC5B,YAAA,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAC5C,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;SAC9D;AACD,QAAA,MAAM,YAAY,GAAG,IAAI,YAAY,EAAQ,CAAC;AAC9C,QAAA,MAAM,UAAU,GAAc;AAC5B,YAAA,WAAW,EAAE,IAAI;AACjB,YAAA,GAAG,KAAK;YACR,OAAO,EAAE,MAAK;gBACZ,YAAY,CAAC,IAAI,EAAE,CAAC;aACrB;AACD,YAAA,eAAe,EAAE,KAAK,CACpB,MAAM,CAAC,QAAQ,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,KAAK,EACpE,YAAY,CACb,CAAC,IAAI,CACJ,IAAI,CAAC,CAAC,CAAC,CACR;SACF,CAAC;AAEF,QAAA,UAAU,CAAC,eAAe,CAAC,SAAS,CAAC,MAAK;AACxC,YAAA,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;AACzB,SAAC,CAAC,CAAC;QAEH,IAAI,CAAC,OAAO,GAAG;YACb,UAAU;YACV,GAAG,IAAI,CAAC,OAAO;SAChB,CAAC;QAEF,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC;AAE7C,QAAA,OAAO,UAAU,CAAC;KACnB;AAED,IAAA,KAAK,CAAC,KAAgB,EAAA;QACpB,IAAG,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE;AAC9C,YAAA,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAC/B,OAAO;SACR;AAED,QAAA,IAAG,qBAAqB,CAAC,KAAK,CAAC,EAAE;AAC/B,YAAA,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC;SACvB;QAED,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC1C,QAAA,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE;AAChB,YAAA,MAAM,IAAI,KAAK,CACb,yDAAyD,CAC1D,CAAC;SACH;AAED,QAAA,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,KAAK,KAAK,CAAC,CAAC;AACrD,QAAA,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,GAAG,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC;;;;QAKlD,IAAG,IAAI,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE;AAC5B,YAAA,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;AAC3B,YAAA,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;AACzB,YAAA,IAAI,CAAC,WAAW,GAAG,SAAS,CAAC;AAC7B,YAAA,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;SAC5B;KACF;AAzHU,uBAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,gBAAgB,2CAYjB,kBAAkB,EAAA,EAAA,EAAA,KAAA,EAAA,gBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,EAAA,EAAA,KAAA,EAAAD,EAAA,CAAA,kBAAA,EAAA,EAAA,EAAA,KAAA,EAAAE,wBAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,EAAA,CAAA,qBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,QAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA;qIAZjB,gBAAgB,EAAA,CAAA,CAAA,EAAA;;2FAAhB,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAD5B,UAAU;;0BAaN,MAAM;2BAAC,kBAAkB,CAAA;;0BACzB,QAAQ;;0BAAI,QAAQ;;;AC7DZ,MAAA,gBAAgB,GAAG,MAAkB;IAChD,gBAAgB;IAChB,wBAAwB;;;ACP1B;;AAEG;;;;"}
@@ -2,7 +2,7 @@ import * as i0 from '@angular/core';
2
2
  import { Component, ChangeDetectionStrategy } from '@angular/core';
3
3
  import { RouterLink } from '@angular/router';
4
4
  import * as i1 from '@daffodil/design/tree';
5
- import { DaffTreeModule } from '@daffodil/design/tree';
5
+ import { DAFF_TREE_COMPONENTS, DaffTreeModule } from '@daffodil/design/tree';
6
6
 
7
7
  class BasicTreeComponent {
8
8
  constructor() {
@@ -31,21 +31,74 @@ class BasicTreeComponent {
31
31
  data: {},
32
32
  };
33
33
  }
34
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: BasicTreeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
35
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.10", type: BasicTreeComponent, isStandalone: true, selector: "basic-tree", ngImport: i0, template: "<ul daff-tree [tree]=\"tree\">\n\t<ng-template #daffTreeItemWithChildrenTpl let-node>\n\t\t\t<button daffTreeItem [node]=\"node\">{{ node.title }} </button>\n\t</ng-template>\n\t\n\t<ng-template #daffTreeItemTpl let-node>\n\t\t\t<a daffTreeItem [node]=\"node\" [routerLink]=\"node.url\">{{ node.title }}</a>\n\t</ng-template>\n</ul>\n\n", dependencies: [{ kind: "ngmodule", type: DaffTreeModule }, { kind: "component", type: i1.DaffTreeComponent, selector: "ul[daff-tree]", inputs: ["renderMode", "tree"] }, { kind: "directive", type: i1.DaffTreeItemDirective, selector: "[daffTreeItem]", inputs: ["node", "selected"] }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
34
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: BasicTreeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
35
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.2", type: BasicTreeComponent, isStandalone: true, selector: "basic-tree", ngImport: i0, template: "<ul daff-tree [tree]=\"tree\">\n\t<ng-template #daffTreeItemWithChildrenTpl let-node>\n\t\t\t<button daffTreeItem [node]=\"node\">{{ node.title }} </button>\n\t</ng-template>\n\t\n\t<ng-template #daffTreeItemTpl let-node>\n\t\t\t<a daffTreeItem [node]=\"node\" [routerLink]=\"node.url\">{{ node.title }}</a>\n\t</ng-template>\n</ul>\n\n", dependencies: [{ kind: "component", type: i1.DaffTreeComponent, selector: "ul[daff-tree]", inputs: ["renderMode", "tree"] }, { kind: "directive", type: i1.DaffTreeItemDirective, selector: "[daffTreeItem]", inputs: ["node", "selected"] }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
36
36
  }
37
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: BasicTreeComponent, decorators: [{
37
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: BasicTreeComponent, decorators: [{
38
38
  type: Component,
39
- args: [{ selector: 'basic-tree', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [DaffTreeModule, RouterLink], template: "<ul daff-tree [tree]=\"tree\">\n\t<ng-template #daffTreeItemWithChildrenTpl let-node>\n\t\t\t<button daffTreeItem [node]=\"node\">{{ node.title }} </button>\n\t</ng-template>\n\t\n\t<ng-template #daffTreeItemTpl let-node>\n\t\t\t<a daffTreeItem [node]=\"node\" [routerLink]=\"node.url\">{{ node.title }}</a>\n\t</ng-template>\n</ul>\n\n" }]
39
+ args: [{ selector: 'basic-tree', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
40
+ DAFF_TREE_COMPONENTS,
41
+ RouterLink,
42
+ ], template: "<ul daff-tree [tree]=\"tree\">\n\t<ng-template #daffTreeItemWithChildrenTpl let-node>\n\t\t\t<button daffTreeItem [node]=\"node\">{{ node.title }} </button>\n\t</ng-template>\n\t\n\t<ng-template #daffTreeItemTpl let-node>\n\t\t\t<a daffTreeItem [node]=\"node\" [routerLink]=\"node.url\">{{ node.title }}</a>\n\t</ng-template>\n</ul>\n\n" }]
43
+ }] });
44
+
45
+ class DeepTreeComponent {
46
+ constructor() {
47
+ this.tree = {
48
+ title: 'Root',
49
+ items: [
50
+ {
51
+ title: 'Example Children',
52
+ items: [
53
+ {
54
+ title: 'Example Child',
55
+ url: '#',
56
+ id: '',
57
+ items: [
58
+ {
59
+ title: 'Nested Child',
60
+ url: '#',
61
+ id: '',
62
+ items: [],
63
+ data: {},
64
+ },
65
+ ],
66
+ data: {},
67
+ },
68
+ ],
69
+ url: '#',
70
+ id: '',
71
+ data: {},
72
+ },
73
+ {
74
+ title: 'Example Link',
75
+ items: [],
76
+ url: '#',
77
+ id: '',
78
+ data: {},
79
+ },
80
+ ],
81
+ url: '',
82
+ id: '',
83
+ data: {},
84
+ };
85
+ }
86
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: DeepTreeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
87
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.2", type: DeepTreeComponent, isStandalone: true, selector: "deep-tree", ngImport: i0, template: "<ul daff-tree [tree]=\"tree\">\n\t<ng-template #daffTreeItemWithChildrenTpl let-node>\n\t\t\t<button daffTreeItem [node]=\"node\">{{ node.title }} </button>\n\t</ng-template>\n\t\n\t<ng-template #daffTreeItemTpl let-node>\n\t\t\t<a daffTreeItem [node]=\"node\" [routerLink]=\"node.url\">{{ node.title }}</a>\n\t</ng-template>\n</ul>\n\n", dependencies: [{ kind: "ngmodule", type: DaffTreeModule }, { kind: "component", type: i1.DaffTreeComponent, selector: "ul[daff-tree]", inputs: ["renderMode", "tree"] }, { kind: "directive", type: i1.DaffTreeItemDirective, selector: "[daffTreeItem]", inputs: ["node", "selected"] }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
88
+ }
89
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: DeepTreeComponent, decorators: [{
90
+ type: Component,
91
+ args: [{ selector: 'deep-tree', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [DaffTreeModule, RouterLink], template: "<ul daff-tree [tree]=\"tree\">\n\t<ng-template #daffTreeItemWithChildrenTpl let-node>\n\t\t\t<button daffTreeItem [node]=\"node\">{{ node.title }} </button>\n\t</ng-template>\n\t\n\t<ng-template #daffTreeItemTpl let-node>\n\t\t\t<a daffTreeItem [node]=\"node\" [routerLink]=\"node.url\">{{ node.title }}</a>\n\t</ng-template>\n</ul>\n\n" }]
40
92
  }] });
41
93
 
42
94
  const TREE_EXAMPLES = [
43
95
  BasicTreeComponent,
96
+ DeepTreeComponent,
44
97
  ];
45
98
 
46
99
  /**
47
100
  * Generated bundle index. Do not edit.
48
101
  */
49
102
 
50
- export { BasicTreeComponent, TREE_EXAMPLES };
103
+ export { BasicTreeComponent, DeepTreeComponent, TREE_EXAMPLES };
51
104
  //# sourceMappingURL=daffodil-design-tree-examples.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"daffodil-design-tree-examples.mjs","sources":["../../../libs/design/tree/examples/src/basic-tree/basic-tree.component.ts","../../../libs/design/tree/examples/src/basic-tree/basic-tree.component.html","../../../libs/design/tree/examples/src/public_api.ts","../../../libs/design/tree/examples/src/daffodil-design-tree-examples.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n} from '@angular/core';\nimport { RouterLink } from '@angular/router';\n\nimport {\n DaffTreeData,\n DaffTreeModule,\n} from '@daffodil/design/tree';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'basic-tree',\n templateUrl: './basic-tree.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n imports: [DaffTreeModule, RouterLink],\n})\nexport class BasicTreeComponent {\n tree: DaffTreeData<unknown> = {\n title: 'Root',\n items: [\n {\n title: 'Example Children',\n items: [\n { title: 'Example Child', url: '#', id: '', items: [], data: {}},\n ],\n url: '#',\n id: '',\n data: {},\n },\n {\n title: 'Example Link',\n items: [],\n url: '#',\n id: '',\n data: {},\n },\n ],\n url: '',\n id: '',\n data: {},\n };\n}\n","<ul daff-tree [tree]=\"tree\">\n\t<ng-template #daffTreeItemWithChildrenTpl let-node>\n\t\t\t<button daffTreeItem [node]=\"node\">{{ node.title }} </button>\n\t</ng-template>\n\t\n\t<ng-template #daffTreeItemTpl let-node>\n\t\t\t<a daffTreeItem [node]=\"node\" [routerLink]=\"node.url\">{{ node.title }}</a>\n\t</ng-template>\n</ul>\n\n","import { BasicTreeComponent } from './basic-tree/basic-tree.component';\n\nexport { BasicTreeComponent };\n\nexport const TREE_EXAMPLES = [\n BasicTreeComponent,\n];\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;MAmBa,kBAAkB,CAAA;AAR/B,IAAA,WAAA,GAAA;AASE,QAAA,IAAA,CAAA,IAAI,GAA0B;AAC5B,YAAA,KAAK,EAAE,MAAM;AACb,YAAA,KAAK,EAAE;AACL,gBAAA;AACE,oBAAA,KAAK,EAAE,kBAAkB;AACzB,oBAAA,KAAK,EAAE;AACL,wBAAA,EAAE,KAAK,EAAE,eAAe,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAC;AACjE,qBAAA;AACD,oBAAA,GAAG,EAAE,GAAG;AACR,oBAAA,EAAE,EAAE,EAAE;AACN,oBAAA,IAAI,EAAE,EAAE;AACT,iBAAA;AACD,gBAAA;AACE,oBAAA,KAAK,EAAE,cAAc;AACrB,oBAAA,KAAK,EAAE,EAAE;AACT,oBAAA,GAAG,EAAE,GAAG;AACR,oBAAA,EAAE,EAAE,EAAE;AACN,oBAAA,IAAI,EAAE,EAAE;AACT,iBAAA;AACF,aAAA;AACD,YAAA,GAAG,EAAE,EAAE;AACP,YAAA,EAAE,EAAE,EAAE;AACN,YAAA,IAAI,EAAE,EAAE;SACT,CAAC;AACH,KAAA;kIAzBY,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAlB,uBAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,kBAAkB,ECnB/B,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,YAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,kVAUA,EDOY,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,cAAc,8PAAE,UAAU,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,aAAA,EAAA,UAAA,EAAA,qBAAA,EAAA,OAAA,EAAA,MAAA,EAAA,YAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,YAAA,EAAA,YAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA,EAAA;;4FAEzB,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAR9B,SAAS;+BAEE,YAAY,EAAA,eAAA,EAEL,uBAAuB,CAAC,MAAM,EAAA,UAAA,EACnC,IAAI,EAAA,OAAA,EACP,CAAC,cAAc,EAAE,UAAU,CAAC,EAAA,QAAA,EAAA,kVAAA,EAAA,CAAA;;;AEb1B,MAAA,aAAa,GAAG;IAC3B,kBAAkB;;;ACLpB;;AAEG;;;;"}
1
+ {"version":3,"file":"daffodil-design-tree-examples.mjs","sources":["../../../libs/design/tree/examples/src/basic-tree/basic-tree.component.ts","../../../libs/design/tree/examples/src/basic-tree/basic-tree.component.html","../../../libs/design/tree/examples/src/deep-tree/deep-tree.component.ts","../../../libs/design/tree/examples/src/deep-tree/deep-tree.component.html","../../../libs/design/tree/examples/src/public_api.ts","../../../libs/design/tree/examples/src/daffodil-design-tree-examples.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n} from '@angular/core';\nimport { RouterLink } from '@angular/router';\n\nimport {\n DaffTreeData,\n DAFF_TREE_COMPONENTS,\n} from '@daffodil/design/tree';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'basic-tree',\n templateUrl: './basic-tree.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n imports: [\n DAFF_TREE_COMPONENTS,\n RouterLink,\n ],\n})\nexport class BasicTreeComponent {\n tree: DaffTreeData<unknown> = {\n title: 'Root',\n items: [\n {\n title: 'Example Children',\n items: [\n { title: 'Example Child', url: '#', id: '', items: [], data: {}},\n ],\n url: '#',\n id: '',\n data: {},\n },\n {\n title: 'Example Link',\n items: [],\n url: '#',\n id: '',\n data: {},\n },\n ],\n url: '',\n id: '',\n data: {},\n };\n}\n","<ul daff-tree [tree]=\"tree\">\n\t<ng-template #daffTreeItemWithChildrenTpl let-node>\n\t\t\t<button daffTreeItem [node]=\"node\">{{ node.title }} </button>\n\t</ng-template>\n\t\n\t<ng-template #daffTreeItemTpl let-node>\n\t\t\t<a daffTreeItem [node]=\"node\" [routerLink]=\"node.url\">{{ node.title }}</a>\n\t</ng-template>\n</ul>\n\n","import {\n ChangeDetectionStrategy,\n Component,\n} from '@angular/core';\nimport { RouterLink } from '@angular/router';\n\nimport {\n DaffTreeData,\n DaffTreeModule,\n} from '@daffodil/design/tree';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'deep-tree',\n templateUrl: './deep-tree.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n imports: [DaffTreeModule, RouterLink],\n})\nexport class DeepTreeComponent {\n tree: DaffTreeData<unknown> = {\n title: 'Root',\n items: [\n {\n title: 'Example Children',\n items: [\n {\n title: 'Example Child',\n url: '#',\n id: '',\n items: [\n {\n title: 'Nested Child',\n url: '#',\n id: '',\n items: [],\n data: {},\n },\n ],\n data: {},\n },\n ],\n url: '#',\n id: '',\n data: {},\n },\n {\n title: 'Example Link',\n items: [],\n url: '#',\n id: '',\n data: {},\n },\n ],\n url: '',\n id: '',\n data: {},\n };\n}\n","<ul daff-tree [tree]=\"tree\">\n\t<ng-template #daffTreeItemWithChildrenTpl let-node>\n\t\t\t<button daffTreeItem [node]=\"node\">{{ node.title }} </button>\n\t</ng-template>\n\t\n\t<ng-template #daffTreeItemTpl let-node>\n\t\t\t<a daffTreeItem [node]=\"node\" [routerLink]=\"node.url\">{{ node.title }}</a>\n\t</ng-template>\n</ul>\n\n","import { BasicTreeComponent } from './basic-tree/basic-tree.component';\nimport { DeepTreeComponent } from './deep-tree/deep-tree.component';\n\nexport {\n BasicTreeComponent,\n DeepTreeComponent,\n};\n\nexport const TREE_EXAMPLES = [\n BasicTreeComponent,\n DeepTreeComponent,\n];\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;MAsBa,kBAAkB,CAAA;AAX/B,IAAA,WAAA,GAAA;AAYE,QAAA,IAAA,CAAA,IAAI,GAA0B;AAC5B,YAAA,KAAK,EAAE,MAAM;AACb,YAAA,KAAK,EAAE;AACL,gBAAA;AACE,oBAAA,KAAK,EAAE,kBAAkB;AACzB,oBAAA,KAAK,EAAE;AACL,wBAAA,EAAE,KAAK,EAAE,eAAe,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAC;AACjE,qBAAA;AACD,oBAAA,GAAG,EAAE,GAAG;AACR,oBAAA,EAAE,EAAE,EAAE;AACN,oBAAA,IAAI,EAAE,EAAE;AACT,iBAAA;AACD,gBAAA;AACE,oBAAA,KAAK,EAAE,cAAc;AACrB,oBAAA,KAAK,EAAE,EAAE;AACT,oBAAA,GAAG,EAAE,GAAG;AACR,oBAAA,EAAE,EAAE,EAAE;AACN,oBAAA,IAAI,EAAE,EAAE;AACT,iBAAA;AACF,aAAA;AACD,YAAA,GAAG,EAAE,EAAE;AACP,YAAA,EAAE,EAAE,EAAE;AACN,YAAA,IAAI,EAAE,EAAE;SACT,CAAC;AACH,KAAA;iIAzBY,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;qHAAlB,kBAAkB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,YAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECtB/B,kVAUA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,YAAA,EAAA,MAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,qBAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EDSI,UAAU,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,aAAA,EAAA,UAAA,EAAA,qBAAA,EAAA,OAAA,EAAA,MAAA,EAAA,YAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,YAAA,EAAA,YAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA,EAAA;;2FAGD,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAX9B,SAAS;AAEE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,YAAY,mBAEL,uBAAuB,CAAC,MAAM,EAAA,UAAA,EACnC,IAAI,EACP,OAAA,EAAA;wBACP,oBAAoB;wBACpB,UAAU;AACX,qBAAA,EAAA,QAAA,EAAA,kVAAA,EAAA,CAAA;;;MEDU,iBAAiB,CAAA;AAR9B,IAAA,WAAA,GAAA;AASE,QAAA,IAAA,CAAA,IAAI,GAA0B;AAC5B,YAAA,KAAK,EAAE,MAAM;AACb,YAAA,KAAK,EAAE;AACL,gBAAA;AACE,oBAAA,KAAK,EAAE,kBAAkB;AACzB,oBAAA,KAAK,EAAE;AACL,wBAAA;AACE,4BAAA,KAAK,EAAE,eAAe;AACtB,4BAAA,GAAG,EAAE,GAAG;AACR,4BAAA,EAAE,EAAE,EAAE;AACN,4BAAA,KAAK,EAAE;AACL,gCAAA;AACE,oCAAA,KAAK,EAAE,cAAc;AACrB,oCAAA,GAAG,EAAE,GAAG;AACR,oCAAA,EAAE,EAAE,EAAE;AACN,oCAAA,KAAK,EAAE,EAAE;AACT,oCAAA,IAAI,EAAE,EAAE;AACT,iCAAA;AACF,6BAAA;AACD,4BAAA,IAAI,EAAE,EAAE;AACT,yBAAA;AACF,qBAAA;AACD,oBAAA,GAAG,EAAE,GAAG;AACR,oBAAA,EAAE,EAAE,EAAE;AACN,oBAAA,IAAI,EAAE,EAAE;AACT,iBAAA;AACD,gBAAA;AACE,oBAAA,KAAK,EAAE,cAAc;AACrB,oBAAA,KAAK,EAAE,EAAE;AACT,oBAAA,GAAG,EAAE,GAAG;AACR,oBAAA,EAAE,EAAE,EAAE;AACN,oBAAA,IAAI,EAAE,EAAE;AACT,iBAAA;AACF,aAAA;AACD,YAAA,GAAG,EAAE,EAAE;AACP,YAAA,EAAE,EAAE,EAAE;AACN,YAAA,IAAI,EAAE,EAAE;SACT,CAAC;AACH,KAAA;iIAvCY,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAjB,uBAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,iBAAiB,ECnB9B,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,WAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,kVAUA,EDOY,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,cAAc,8PAAE,UAAU,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,aAAA,EAAA,UAAA,EAAA,qBAAA,EAAA,OAAA,EAAA,MAAA,EAAA,YAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,YAAA,EAAA,YAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA,EAAA;;2FAEzB,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAR7B,SAAS;+BAEE,WAAW,EAAA,eAAA,EAEJ,uBAAuB,CAAC,MAAM,EAAA,UAAA,EACnC,IAAI,EAAA,OAAA,EACP,CAAC,cAAc,EAAE,UAAU,CAAC,EAAA,QAAA,EAAA,kVAAA,EAAA,CAAA;;;AET1B,MAAA,aAAa,GAAG;IAC3B,kBAAkB;IAClB,iBAAiB;;;ACVnB;;AAEG;;;;"}
@@ -1,11 +1,11 @@
1
- import * as i3 from '@angular/common';
2
- import { DOCUMENT, CommonModule } from '@angular/common';
1
+ import { NgFor, NgTemplateOutlet, DOCUMENT, CommonModule } from '@angular/common';
3
2
  import * as i0 from '@angular/core';
4
3
  import { Inject, Component, ViewEncapsulation, ChangeDetectionStrategy, HostBinding, Input, ContentChild, Directive, HostListener, NgModule } from '@angular/core';
5
4
  import * as i2 from '@daffodil/design';
6
5
  import { DaffArticleEncapsulatedDirective } from '@daffodil/design';
7
6
  import { __decorate } from 'tslib';
8
7
  import { BehaviorSubject } from 'rxjs';
8
+ import { collect } from '@daffodil/core';
9
9
 
10
10
  /**
11
11
  * This service is used by tree-items to notify their parent
@@ -79,13 +79,16 @@ const flattenTree = (daffUiTree, removeNodes = false) => {
79
79
  _treeRef: i,
80
80
  })).reverse(),
81
81
  ];
82
+ const hasClosedAncestor = el._treeRef.parent
83
+ ? collect(el._treeRef.parent, (node) => node.parent ? [node.parent] : [], el.level).reduce((acc, parent) => acc || !parent.open, false)
84
+ : false;
82
85
  if (!removeNodes && el._treeRef.parent) {
83
86
  tree.push({
84
87
  id: el.id,
85
88
  title: el.title,
86
89
  level: el.level,
87
90
  url: el.url,
88
- visible: el._treeRef.parent?.open,
91
+ visible: !hasClosedAncestor,
89
92
  hasChildren: el.items.length > 0,
90
93
  data: undefined,
91
94
  _treeRef: el._treeRef,
@@ -97,7 +100,7 @@ const flattenTree = (daffUiTree, removeNodes = false) => {
97
100
  title: el.title,
98
101
  level: el.level,
99
102
  url: el.url,
100
- visible: el._treeRef.parent?.open,
103
+ visible: !hasClosedAncestor,
101
104
  hasChildren: el.items.length > 0,
102
105
  data: undefined,
103
106
  _treeRef: el._treeRef,
@@ -225,18 +228,21 @@ class DaffTreeComponent {
225
228
  this.flatTree = flattenTree(this._tree, this.renderMode === 'not-in-dom');
226
229
  });
227
230
  }
228
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: DaffTreeComponent, deps: [{ token: DaffTreeNotifierService }], target: i0.ɵɵFactoryTarget.Component }); }
229
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.10", type: DaffTreeComponent, selector: "ul[daff-tree]", inputs: { renderMode: "renderMode", tree: "tree" }, host: { properties: { "class.daff-tree": "this.class" } }, providers: [
231
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: DaffTreeComponent, deps: [{ token: DaffTreeNotifierService }], target: i0.ɵɵFactoryTarget.Component }); }
232
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.2", type: DaffTreeComponent, isStandalone: true, selector: "ul[daff-tree]", inputs: { renderMode: "renderMode", tree: "tree" }, host: { properties: { "class.daff-tree": "this.class" } }, providers: [
230
233
  DaffTreeNotifierService,
231
- ], queries: [{ propertyName: "withChildrenTemplate", first: true, predicate: ["daffTreeItemWithChildrenTpl"], descendants: true, static: true }, { propertyName: "treeItemTemplate", first: true, predicate: ["daffTreeItemTpl"], descendants: true, static: true }], usesOnChanges: true, hostDirectives: [{ directive: i2.DaffArticleEncapsulatedDirective }], ngImport: i0, template: "<ng-container *ngFor=\"let node of flatTree; trackBy: trackByTreeElement\">\n\t<ng-container>\n\t\t<li [attr.aria-level]=\"node.level\" [class.hidden]=\"!node.visible\">\n\t\t\t<ng-container\n\t\t\t\t*ngTemplateOutlet=\"node.hasChildren ? withChildrenTemplate : treeItemTemplate; context: { $implicit: node }\">\n\t\t\t</ng-container>\n\t\t</li>\n\t</ng-container>\n</ng-container>", styles: [".daff-tree{margin:0;padding:0;list-style:none;--tree-padding: 1rem}.daff-tree li.hidden{display:none}.daff-tree-item{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block;position:relative;background:none;border:0;padding:.5rem 1rem .5rem 0;line-height:1.5rem;font-weight:400;text-align:left;text-decoration:none;width:100%;padding-left:calc(var(--tree-padding) * (var(--depth)))}.daff-tree-item:before{content:\"\";position:absolute;top:0;bottom:0;left:0;width:.25rem}.daff-tree-item:focus,.daff-tree-item:focus-visible{z-index:1}.daff-tree-item.selected{font-weight:600}.daff-tree-item.parent{position:relative;padding-right:2.5rem}.daff-tree-item.parent:after{content:\"\";position:absolute;top:48%;right:1rem;display:inline-block;border-right:2px solid currentColor;border-bottom:2px solid currentColor;width:.5rem;height:.5rem;transform:translateY(-50%) rotate(45deg);transition:transform .15s}.daff-tree-item.parent.open:after{top:56%;transform:translateY(-50%) rotate(225deg)}\n"], dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
234
+ ], queries: [{ propertyName: "withChildrenTemplate", first: true, predicate: ["daffTreeItemWithChildrenTpl"], descendants: true, static: true }, { propertyName: "treeItemTemplate", first: true, predicate: ["daffTreeItemTpl"], descendants: true, static: true }], usesOnChanges: true, hostDirectives: [{ directive: i2.DaffArticleEncapsulatedDirective }], ngImport: i0, template: "<ng-container *ngFor=\"let node of flatTree; trackBy: trackByTreeElement\">\n\t<ng-container>\n\t\t<li [attr.aria-level]=\"node.level\" [class.hidden]=\"!node.visible\">\n\t\t\t<ng-container\n\t\t\t\t*ngTemplateOutlet=\"node.hasChildren ? withChildrenTemplate : treeItemTemplate; context: { $implicit: node }\">\n\t\t\t</ng-container>\n\t\t</li>\n\t</ng-container>\n</ng-container>", styles: [".daff-tree{margin:0;padding:0;list-style:none;--tree-padding: 1rem}.daff-tree li.hidden{display:none}.daff-tree-item{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block;position:relative;background:none;border:0;padding:.5rem 1rem .5rem 0;line-height:1.5rem;font-weight:400;text-align:left;text-decoration:none;width:100%;padding-left:calc(var(--tree-padding) * (var(--depth)))}.daff-tree-item:before{content:\"\";position:absolute;top:0;bottom:0;left:0;width:.25rem}.daff-tree-item:focus,.daff-tree-item:focus-visible{z-index:1}.daff-tree-item.selected{font-weight:600}.daff-tree-item.parent{position:relative;padding-right:2.5rem}.daff-tree-item.parent:after{content:\"\";position:absolute;top:48%;right:1rem;display:inline-block;border-right:2px solid currentColor;border-bottom:2px solid currentColor;width:.5rem;height:.5rem;transform:translateY(-50%) rotate(45deg);transition:transform .15s}.daff-tree-item.parent.open:after{top:56%;transform:translateY(-50%) rotate(225deg)}\n"], dependencies: [{ kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
232
235
  }
233
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: DaffTreeComponent, decorators: [{
236
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: DaffTreeComponent, decorators: [{
234
237
  type: Component,
235
238
  args: [{ selector: 'ul[daff-tree]', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [
236
239
  DaffTreeNotifierService,
237
240
  ], hostDirectives: [{
238
241
  directive: DaffArticleEncapsulatedDirective,
239
- }], template: "<ng-container *ngFor=\"let node of flatTree; trackBy: trackByTreeElement\">\n\t<ng-container>\n\t\t<li [attr.aria-level]=\"node.level\" [class.hidden]=\"!node.visible\">\n\t\t\t<ng-container\n\t\t\t\t*ngTemplateOutlet=\"node.hasChildren ? withChildrenTemplate : treeItemTemplate; context: { $implicit: node }\">\n\t\t\t</ng-container>\n\t\t</li>\n\t</ng-container>\n</ng-container>", styles: [".daff-tree{margin:0;padding:0;list-style:none;--tree-padding: 1rem}.daff-tree li.hidden{display:none}.daff-tree-item{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block;position:relative;background:none;border:0;padding:.5rem 1rem .5rem 0;line-height:1.5rem;font-weight:400;text-align:left;text-decoration:none;width:100%;padding-left:calc(var(--tree-padding) * (var(--depth)))}.daff-tree-item:before{content:\"\";position:absolute;top:0;bottom:0;left:0;width:.25rem}.daff-tree-item:focus,.daff-tree-item:focus-visible{z-index:1}.daff-tree-item.selected{font-weight:600}.daff-tree-item.parent{position:relative;padding-right:2.5rem}.daff-tree-item.parent:after{content:\"\";position:absolute;top:48%;right:1rem;display:inline-block;border-right:2px solid currentColor;border-bottom:2px solid currentColor;width:.5rem;height:.5rem;transform:translateY(-50%) rotate(45deg);transition:transform .15s}.daff-tree-item.parent.open:after{top:56%;transform:translateY(-50%) rotate(225deg)}\n"] }]
242
+ }], standalone: true, imports: [
243
+ NgFor,
244
+ NgTemplateOutlet,
245
+ ], template: "<ng-container *ngFor=\"let node of flatTree; trackBy: trackByTreeElement\">\n\t<ng-container>\n\t\t<li [attr.aria-level]=\"node.level\" [class.hidden]=\"!node.visible\">\n\t\t\t<ng-container\n\t\t\t\t*ngTemplateOutlet=\"node.hasChildren ? withChildrenTemplate : treeItemTemplate; context: { $implicit: node }\">\n\t\t\t</ng-container>\n\t\t</li>\n\t</ng-container>\n</ng-container>", styles: [".daff-tree{margin:0;padding:0;list-style:none;--tree-padding: 1rem}.daff-tree li.hidden{display:none}.daff-tree-item{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block;position:relative;background:none;border:0;padding:.5rem 1rem .5rem 0;line-height:1.5rem;font-weight:400;text-align:left;text-decoration:none;width:100%;padding-left:calc(var(--tree-padding) * (var(--depth)))}.daff-tree-item:before{content:\"\";position:absolute;top:0;bottom:0;left:0;width:.25rem}.daff-tree-item:focus,.daff-tree-item:focus-visible{z-index:1}.daff-tree-item.selected{font-weight:600}.daff-tree-item.parent{position:relative;padding-right:2.5rem}.daff-tree-item.parent:after{content:\"\";position:absolute;top:48%;right:1rem;display:inline-block;border-right:2px solid currentColor;border-bottom:2px solid currentColor;width:.5rem;height:.5rem;transform:translateY(-50%) rotate(45deg);transition:transform .15s}.daff-tree-item.parent.open:after{top:56%;transform:translateY(-50%) rotate(225deg)}\n"] }]
240
246
  }], ctorParameters: () => [{ type: DaffTreeNotifierService }], propDecorators: { class: [{
241
247
  type: HostBinding,
242
248
  args: ['class.daff-tree']
@@ -359,13 +365,14 @@ class DaffTreeItemDirective {
359
365
  node._treeRef.open = false;
360
366
  }
361
367
  }
362
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: DaffTreeItemDirective, deps: [{ token: DOCUMENT }, { token: DaffTreeNotifierService }], target: i0.ɵɵFactoryTarget.Directive }); }
363
- /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.10", type: DaffTreeItemDirective, selector: "[daffTreeItem]", inputs: { node: "node", selected: "selected" }, host: { listeners: { "keydown.escape": "onEscape()", "click": "onClick()" }, properties: { "class.daff-tree-item": "this.class", "class.parent": "this.classParent", "attr.id": "this.id", "attr.aria-expanded": "this.ariaExpanded", "style.--depth": "this.depth", "class.selected": "this.selectedClass", "class.open": "this.openClass" } }, ngImport: i0 }); }
368
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: DaffTreeItemDirective, deps: [{ token: DOCUMENT }, { token: DaffTreeNotifierService }], target: i0.ɵɵFactoryTarget.Directive }); }
369
+ /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.2", type: DaffTreeItemDirective, isStandalone: true, selector: "[daffTreeItem]", inputs: { node: "node", selected: "selected" }, host: { listeners: { "keydown.escape": "onEscape()", "click": "onClick()" }, properties: { "class.daff-tree-item": "this.class", "class.parent": "this.classParent", "attr.id": "this.id", "attr.aria-expanded": "this.ariaExpanded", "style.--depth": "this.depth", "class.selected": "this.selectedClass", "class.open": "this.openClass" } }, ngImport: i0 }); }
364
370
  }
365
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: DaffTreeItemDirective, decorators: [{
371
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: DaffTreeItemDirective, decorators: [{
366
372
  type: Directive,
367
373
  args: [{
368
374
  selector: '[daffTreeItem]',
375
+ standalone: true,
369
376
  }]
370
377
  }], ctorParameters: () => [{ type: undefined, decorators: [{
371
378
  type: Inject,
@@ -403,22 +410,24 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.10", ngImpo
403
410
  args: ['click']
404
411
  }] } });
405
412
 
413
+ /**
414
+ * @deprecated in favor of {@link DAFF_TREE_COMPONENTS}
415
+ */
406
416
  class DaffTreeModule {
407
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: DaffTreeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
408
- /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.10", ngImport: i0, type: DaffTreeModule, declarations: [DaffTreeComponent,
409
- DaffTreeItemDirective], imports: [CommonModule], exports: [DaffTreeComponent,
417
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: DaffTreeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
418
+ /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.2", ngImport: i0, type: DaffTreeModule, imports: [CommonModule,
419
+ DaffTreeComponent,
420
+ DaffTreeItemDirective], exports: [DaffTreeComponent,
410
421
  DaffTreeItemDirective] }); }
411
- /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: DaffTreeModule, imports: [CommonModule] }); }
422
+ /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: DaffTreeModule, imports: [CommonModule] }); }
412
423
  }
413
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: DaffTreeModule, decorators: [{
424
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: DaffTreeModule, decorators: [{
414
425
  type: NgModule,
415
426
  args: [{
416
- declarations: [
417
- DaffTreeComponent,
418
- DaffTreeItemDirective,
419
- ],
420
427
  imports: [
421
428
  CommonModule,
429
+ DaffTreeComponent,
430
+ DaffTreeItemDirective,
422
431
  ],
423
432
  exports: [
424
433
  DaffTreeComponent,
@@ -427,28 +436,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.10", ngImpo
427
436
  }]
428
437
  }] });
429
438
 
430
- /**
431
- * Transform a tree-like structure in-place into a {@link DaffTreeData}.
432
- *
433
- * This will mutate the original object, hydrating with additional properties.
434
- *
435
- * @param tree - The data structure representing tree-like data.
436
- * @param transformFn - A user-supplied function that will transform the user
437
- * type into a {@link DaffTreeData}
438
- * @param key - The property of the your tree that indicates which
439
- * key contains the "children" of your tree structure.
440
- *
441
- */
442
- const daffTransformTreeInPlace = (tree, transformFn, key) => traverse(tree, (el) => {
443
- const r = Object.assign(el, transformFn(el));
444
- r.items = el[key];
445
- el = r;
446
- return el;
447
- },
448
- // This type is confusing. I don't understand why it has to be here,
449
- // the associated error message is incomprehensible.
450
- key);
451
-
452
439
  /**
453
440
  * Transform a tree-like structure into a {@link DaffTreeData}.
454
441
  *
@@ -474,9 +461,14 @@ const daffTransformTree = (tree, transformFn, key) => {
474
461
  return transformedTree;
475
462
  };
476
463
 
464
+ const DAFF_TREE_COMPONENTS = [
465
+ DaffTreeComponent,
466
+ DaffTreeItemDirective,
467
+ ];
468
+
477
469
  /**
478
470
  * Generated bundle index. Do not edit.
479
471
  */
480
472
 
481
- export { DaffTreeComponent, DaffTreeItemDirective, DaffTreeModule, daffTransformTree, daffTransformTreeInPlace };
473
+ export { DAFF_TREE_COMPONENTS, DaffTreeComponent, DaffTreeItemDirective, DaffTreeModule, daffTransformTree };
482
474
  //# sourceMappingURL=daffodil-design-tree.mjs.map