@daffodil/design 0.77.0 → 0.79.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (573) 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/atoms/form/form-field/form-field/form-field.component.d.ts +1 -1
  17. package/button/README.md +42 -1
  18. package/button/button/basic/button.component.d.ts +28 -0
  19. package/button/button/button-base.directive.d.ts +51 -0
  20. package/button/button/flat/flat.component.d.ts +28 -0
  21. package/button/button/icon/icon.component.d.ts +24 -0
  22. package/button/button/raised/raised.component.d.ts +28 -0
  23. package/button/button/stroked/stroked.component.d.ts +28 -0
  24. package/button/button/underline/underline.component.d.ts +28 -0
  25. package/button/button.d.ts +8 -0
  26. package/button/button.module.d.ts +10 -5
  27. package/button/public_api.d.ts +7 -1
  28. package/button/src/button/basic/button-theme.scss +145 -0
  29. package/button/src/button/button-base.scss +79 -0
  30. package/button/src/button/flat/flat-theme.scss +143 -0
  31. package/button/src/button/icon/icon-theme.scss +141 -0
  32. package/button/src/button/raised/raised-theme.scss +120 -0
  33. package/button/src/button/stroked/stroked-theme.scss +158 -0
  34. package/button/src/button/underline/underline-theme.scss +93 -0
  35. package/callout/README.md +42 -0
  36. package/callout/callout/callout.component.d.ts +1 -1
  37. package/callout/callout-body/callout-body.directive.d.ts +1 -1
  38. package/callout/callout-icon/callout-icon.directive.d.ts +1 -1
  39. package/callout/callout-subtitle/callout-subtitle.directive.d.ts +1 -1
  40. package/callout/callout-tagline/callout-tagline.directive.d.ts +1 -1
  41. package/callout/callout-title/callout-title.directive.d.ts +1 -1
  42. package/callout/callout.d.ts +7 -0
  43. package/callout/callout.module.d.ts +9 -8
  44. package/callout/public_api.d.ts +1 -0
  45. package/card/README.md +41 -0
  46. package/card/card/card.component.d.ts +1 -1
  47. package/card/card-actions/card-actions.directive.d.ts +1 -1
  48. package/card/card-content/card-content.directive.d.ts +1 -1
  49. package/card/card-icon/card-icon.directive.d.ts +1 -1
  50. package/card/card-image/card-image.directive.d.ts +1 -1
  51. package/card/card-tagline/card-tagline.directive.d.ts +1 -1
  52. package/card/card-title/card-title.directive.d.ts +1 -1
  53. package/card/card.d.ts +8 -0
  54. package/card/card.module.d.ts +12 -9
  55. package/card/public_api.d.ts +1 -0
  56. package/container/README.md +42 -1
  57. package/container/container/container.component.d.ts +1 -1
  58. package/container/container.d.ts +2 -0
  59. package/container/container.module.d.ts +6 -3
  60. package/container/public_api.d.ts +1 -0
  61. package/core/openable/openable.d.ts +13 -0
  62. package/core/openable/openable.directive.d.ts +81 -0
  63. package/core/openable/public_api.d.ts +2 -0
  64. package/core/openable/utils/state-error.d.ts +1 -0
  65. package/core/public_api.d.ts +1 -0
  66. package/core/statusable/statusable.d.ts +5 -3
  67. package/core/statusable/statusable.directive.d.ts +6 -4
  68. package/esm2022/accordion/accordion/accordion/accordion.component.mjs +3 -3
  69. package/esm2022/accordion/accordion/accordion-item/accordion-item.component.mjs +38 -22
  70. package/esm2022/accordion/accordion/accordion-item-title/accordion-item-title.directive.mjs +3 -2
  71. package/esm2022/accordion/accordion/animation/accordion-animation.mjs +1 -4
  72. package/esm2022/accordion/accordion.mjs +9 -0
  73. package/esm2022/accordion/accordion.module.mjs +6 -14
  74. package/esm2022/accordion/examples/basic-accordion/basic-accordion.component.mjs +6 -3
  75. package/esm2022/accordion/examples/public_api.mjs +1 -2
  76. package/esm2022/accordion/public_api.mjs +2 -1
  77. package/esm2022/article/article/article.component.mjs +3 -3
  78. package/esm2022/article/article-meta/article-meta.directive.mjs +3 -2
  79. package/esm2022/article/article.mjs +7 -0
  80. package/esm2022/article/article.module.mjs +5 -5
  81. package/esm2022/article/examples/article-blockquote/article-blockquote.component.mjs +6 -4
  82. package/esm2022/article/examples/article-code-block/article-code-block.component.mjs +6 -4
  83. package/esm2022/article/examples/article-code-inline/article-code-inline.component.mjs +6 -4
  84. package/esm2022/article/examples/article-headings/article-headings.component.mjs +7 -3
  85. package/esm2022/article/examples/article-hr/article-hr.component.mjs +6 -4
  86. package/esm2022/article/examples/article-link/article-link.component.mjs +6 -4
  87. package/esm2022/article/examples/article-meta/article-meta.component.mjs +6 -4
  88. package/esm2022/article/examples/article-ol/article-ol.component.mjs +6 -4
  89. package/esm2022/article/examples/article-table/article-table.component.mjs +6 -4
  90. package/esm2022/article/examples/article-ul/article-ul.component.mjs +6 -4
  91. package/esm2022/article/public_api.mjs +3 -2
  92. package/esm2022/atoms/form/form-field/form-field/form-field.component.mjs +2 -2
  93. package/esm2022/button/button/basic/button.component.mjs +48 -0
  94. package/esm2022/button/button/button-base.directive.mjs +105 -0
  95. package/esm2022/button/button/flat/flat.component.mjs +48 -0
  96. package/esm2022/button/button/icon/icon.component.mjs +44 -0
  97. package/esm2022/button/button/raised/raised.component.mjs +48 -0
  98. package/esm2022/button/button/stroked/stroked.component.mjs +48 -0
  99. package/esm2022/button/button/underline/underline.component.mjs +48 -0
  100. package/esm2022/button/button.mjs +17 -0
  101. package/esm2022/button/button.module.mjs +36 -12
  102. package/esm2022/button/examples/basic-button/basic-button.component.mjs +4 -8
  103. package/esm2022/button/examples/flat-button/flat-button.component.mjs +4 -8
  104. package/esm2022/button/examples/icon-button/icon-button.component.mjs +7 -5
  105. package/esm2022/button/examples/raised-button/raised-button.component.mjs +4 -8
  106. package/esm2022/button/examples/sizeable-button/sizeable-button.component.mjs +8 -4
  107. package/esm2022/button/examples/statusable-button/statusable-button.component.mjs +8 -4
  108. package/esm2022/button/examples/stroked-button/stroked-button.component.mjs +4 -8
  109. package/esm2022/button/examples/underline-button/underline-button.component.mjs +4 -8
  110. package/esm2022/button/public_api.mjs +8 -2
  111. package/esm2022/callout/callout/callout.component.mjs +4 -4
  112. package/esm2022/callout/callout-body/callout-body.directive.mjs +3 -2
  113. package/esm2022/callout/callout-icon/callout-icon.directive.mjs +3 -2
  114. package/esm2022/callout/callout-subtitle/callout-subtitle.directive.mjs +3 -2
  115. package/esm2022/callout/callout-tagline/callout-tagline.directive.mjs +3 -2
  116. package/esm2022/callout/callout-title/callout-title.directive.mjs +3 -2
  117. package/esm2022/callout/callout.mjs +15 -0
  118. package/esm2022/callout/callout.module.mjs +5 -5
  119. package/esm2022/callout/examples/callout-text-alignment/callout-text-alignment.component.mjs +9 -10
  120. package/esm2022/callout/examples/callout-theming/callout-theming.component.mjs +7 -8
  121. package/esm2022/callout/examples/callout-with-grid/callout-with-grid.component.mjs +9 -9
  122. package/esm2022/callout/examples/compact-callout/compact-callout.component.mjs +8 -9
  123. package/esm2022/callout/public_api.mjs +2 -1
  124. package/esm2022/card/card/card.component.mjs +3 -3
  125. package/esm2022/card/card-actions/card-actions.directive.mjs +3 -2
  126. package/esm2022/card/card-content/card-content.directive.mjs +3 -2
  127. package/esm2022/card/card-icon/card-icon.directive.mjs +3 -2
  128. package/esm2022/card/card-image/card-image.directive.mjs +3 -2
  129. package/esm2022/card/card-tagline/card-tagline.directive.mjs +3 -2
  130. package/esm2022/card/card-title/card-title.directive.mjs +3 -2
  131. package/esm2022/card/card.mjs +17 -0
  132. package/esm2022/card/card.module.mjs +7 -5
  133. package/esm2022/card/examples/basic-card/basic-card.component.mjs +8 -9
  134. package/esm2022/card/examples/card-orientation/card-orientation.component.mjs +9 -10
  135. package/esm2022/card/examples/card-theming/card-theming.component.mjs +4 -4
  136. package/esm2022/card/examples/linkable-card/linkable-card.component.mjs +6 -6
  137. package/esm2022/card/examples/raised-card/raised-card.component.mjs +6 -6
  138. package/esm2022/card/examples/stroked-card/stroked-card.component.mjs +6 -6
  139. package/esm2022/card/public_api.mjs +2 -1
  140. package/esm2022/checkbox/examples/basic-checkbox/basic-checkbox.component.mjs +4 -5
  141. package/esm2022/checkbox/examples/checkbox-set/checkbox-set.component.mjs +4 -5
  142. package/esm2022/container/container/container.component.mjs +3 -3
  143. package/esm2022/container/container.mjs +5 -0
  144. package/esm2022/container/container.module.mjs +6 -4
  145. package/esm2022/container/examples/container-sizes/container-sizes.component.mjs +4 -4
  146. package/esm2022/container/public_api.mjs +2 -1
  147. package/esm2022/core/openable/openable.directive.mjs +122 -0
  148. package/esm2022/core/openable/openable.mjs +2 -0
  149. package/esm2022/core/openable/public_api.mjs +2 -0
  150. package/esm2022/core/openable/utils/state-error.mjs +2 -0
  151. package/esm2022/core/public_api.mjs +2 -1
  152. package/esm2022/core/statusable/statusable.directive.mjs +7 -5
  153. package/esm2022/core/statusable/statusable.mjs +3 -2
  154. package/esm2022/hero/examples/compact-hero/compact-hero.component.mjs +6 -7
  155. package/esm2022/hero/examples/hero-text-alignment/hero-text-alignment.component.mjs +9 -10
  156. package/esm2022/hero/examples/hero-theming/hero-theming.component.mjs +7 -8
  157. package/esm2022/hero/examples/hero-with-grid/hero-with-grid.component.mjs +8 -9
  158. package/esm2022/hero/hero/hero.component.mjs +4 -7
  159. package/esm2022/hero/hero-body/hero-body.directive.mjs +3 -2
  160. package/esm2022/hero/hero-icon/hero-icon.directive.mjs +3 -2
  161. package/esm2022/hero/hero-subtitle/hero-subtitle.directive.mjs +3 -2
  162. package/esm2022/hero/hero-tagline/hero-tagline.directive.mjs +3 -2
  163. package/esm2022/hero/hero-title/hero-title.directive.mjs +3 -2
  164. package/esm2022/hero/hero.mjs +15 -0
  165. package/esm2022/hero/hero.module.mjs +7 -5
  166. package/esm2022/hero/public_api.mjs +2 -1
  167. package/esm2022/image/examples/basic-image/basic-image.component.mjs +6 -4
  168. package/esm2022/image/examples/load-image/load-image.component.mjs +7 -4
  169. package/esm2022/image/examples/skeleton-image/skeleton-image.component.mjs +6 -4
  170. package/esm2022/image/image/image.component.mjs +3 -3
  171. package/esm2022/image/image.mjs +5 -0
  172. package/esm2022/image/image.module.mjs +7 -5
  173. package/esm2022/image/public_api.mjs +2 -1
  174. package/esm2022/link-set/link-set/link-set.component.mjs +3 -3
  175. package/esm2022/link-set/link-set-heading/link-set-heading.directive.mjs +3 -2
  176. package/esm2022/link-set/link-set-item/link-set-item.component.mjs +3 -2
  177. package/esm2022/link-set/link-set-subheading/link-set-subheading.directive.mjs +3 -2
  178. package/esm2022/link-set/link-set.mjs +11 -0
  179. package/esm2022/link-set/link-set.module.mjs +8 -6
  180. package/esm2022/link-set/public_api.mjs +2 -1
  181. package/esm2022/list/examples/basic-list/basic-list.component.mjs +7 -4
  182. package/esm2022/list/examples/icon-list/icon-list.component.mjs +4 -6
  183. package/esm2022/list/examples/multiline-list/multiline-list.component.mjs +7 -4
  184. package/esm2022/list/examples/nav-list/nav-list.component.mjs +4 -6
  185. package/esm2022/list/list/list.component.mjs +3 -3
  186. package/esm2022/list/list-item/list-item.component.mjs +8 -5
  187. package/esm2022/list/list.mjs +9 -0
  188. package/esm2022/list/list.module.mjs +8 -8
  189. package/esm2022/list/public_api.mjs +2 -1
  190. package/esm2022/loading-icon/examples/examples.mjs +1 -3
  191. package/esm2022/loading-icon/examples/loading-icon-color/loading-icon-color.component.mjs +4 -4
  192. package/esm2022/loading-icon/loading-icon/loading-icon.component.mjs +5 -20
  193. package/esm2022/loading-icon/loading-icon.mjs +5 -0
  194. package/esm2022/loading-icon/loading-icon.module.mjs +6 -4
  195. package/esm2022/loading-icon/public_api.mjs +2 -1
  196. package/esm2022/media-gallery/examples/basic-media-gallery/basic-media-gallery.component.mjs +8 -5
  197. package/esm2022/media-gallery/examples/mismatched-sizes-media-gallery/mismatched-sizes-media-gallery.component.mjs +8 -5
  198. package/esm2022/media-gallery/examples/skeleton-media-gallery/skeleton-media-gallery.component.mjs +8 -5
  199. package/esm2022/media-gallery/helpers/media-gallery-token.mjs +7 -3
  200. package/esm2022/media-gallery/media-gallery/media-gallery.component.mjs +9 -5
  201. package/esm2022/media-gallery/media-gallery.mjs +9 -0
  202. package/esm2022/media-gallery/media-gallery.module.mjs +11 -9
  203. package/esm2022/media-gallery/media-renderer/media-renderer.component.mjs +3 -2
  204. package/esm2022/media-gallery/public_api.mjs +2 -1
  205. package/esm2022/media-gallery/thumbnail/thumbnail-compat.token.mjs +8 -3
  206. package/esm2022/media-gallery/thumbnail/thumbnail.directive.mjs +3 -2
  207. package/esm2022/menu/examples/basic-menu/basic-menu.component.mjs +8 -6
  208. package/esm2022/menu/examples/basic-menu/menu-content/menu-content.component.mjs +6 -3
  209. package/esm2022/menu/menu/menu.component.mjs +6 -3
  210. package/esm2022/menu/menu-activator/menu-activator.component.mjs +3 -2
  211. package/esm2022/menu/menu-item/menu-item.component.mjs +8 -5
  212. package/esm2022/menu/menu.module.mjs +8 -7
  213. package/esm2022/menu/services/menu.service.mjs +8 -7
  214. package/esm2022/modal/examples/basic-modal/basic-modal.component.mjs +12 -6
  215. package/esm2022/modal/examples/basic-modal/modal-content.component.mjs +8 -6
  216. package/esm2022/modal/modal/modal.component.mjs +47 -21
  217. package/esm2022/modal/modal-actions/modal-actions.component.mjs +3 -2
  218. package/esm2022/modal/modal-close/modal-close.directive.mjs +3 -2
  219. package/esm2022/modal/modal-content/modal-content.component.mjs +3 -2
  220. package/esm2022/modal/modal-header/modal-header.component.mjs +12 -7
  221. package/esm2022/modal/modal-title/modal-title.directive.mjs +3 -2
  222. package/esm2022/modal/modal.mjs +13 -0
  223. package/esm2022/modal/modal.module.mjs +17 -11
  224. package/esm2022/modal/public_api.mjs +2 -1
  225. package/esm2022/modal/service/modal.service.mjs +7 -5
  226. package/esm2022/navbar/examples/basic-navbar/basic-navbar.component.mjs +8 -6
  227. package/esm2022/navbar/examples/contained-navbar/contained-navbar.component.mjs +8 -9
  228. package/esm2022/navbar/examples/navbar-theming/navbar-theming.component.mjs +7 -8
  229. package/esm2022/navbar/examples/raised-navbar/raised-navbar.component.mjs +8 -6
  230. package/esm2022/navbar/navbar/navbar.component.mjs +3 -6
  231. package/esm2022/navbar/navbar.mjs +5 -0
  232. package/esm2022/navbar/navbar.module.mjs +10 -4
  233. package/esm2022/navbar/public_api.mjs +2 -1
  234. package/esm2022/notification/examples/default-notification/default-notification.component.mjs +4 -6
  235. package/esm2022/notification/examples/dismissible-notification/dismissible-notification.component.mjs +4 -4
  236. package/esm2022/notification/examples/notification-orientations/notification-orientations.component.mjs +4 -6
  237. package/esm2022/notification/examples/notification-status/notification-status.component.mjs +5 -7
  238. package/esm2022/notification/examples/notification-with-actions/notification-with-actions.component.mjs +6 -7
  239. package/esm2022/notification/notification/notification.component.mjs +12 -8
  240. package/esm2022/notification/notification-actions/notification-actions.directive.mjs +3 -2
  241. package/esm2022/notification/notification-message/notification-message.directive.mjs +3 -2
  242. package/esm2022/notification/notification-subtitle/notification-subtitle.directive.mjs +3 -2
  243. package/esm2022/notification/notification-title/notification-title.directive.mjs +3 -2
  244. package/esm2022/notification/notification.mjs +15 -0
  245. package/esm2022/notification/notification.module.mjs +11 -8
  246. package/esm2022/notification/public_api.mjs +2 -1
  247. package/esm2022/paginator/examples/basic-paginator/basic-paginator.component.mjs +4 -4
  248. package/esm2022/paginator/examples/link-paginator/link-paginator.component.mjs +4 -4
  249. package/esm2022/paginator/paginator/paginator.component.mjs +12 -9
  250. package/esm2022/paginator/paginator.mjs +5 -0
  251. package/esm2022/paginator/paginator.module.mjs +9 -6
  252. package/esm2022/paginator/public_api.mjs +2 -1
  253. package/esm2022/progress-bar/examples/progress-bar-default/progress-bar-default.component.mjs +6 -4
  254. package/esm2022/progress-bar/examples/progress-bar-indeterminate/progress-bar-indeterminate.component.mjs +6 -4
  255. package/esm2022/progress-bar/examples/progress-bar-themes/progress-bar-themes.component.mjs +7 -4
  256. package/esm2022/progress-bar/progress-bar-label/progress-bar-label.directive.mjs +20 -0
  257. package/esm2022/progress-bar/progress-bar.component.mjs +5 -3
  258. package/esm2022/progress-bar/progress-bar.mjs +7 -0
  259. package/esm2022/progress-bar/progress-bar.module.mjs +11 -4
  260. package/esm2022/progress-bar/public_api.mjs +3 -1
  261. package/esm2022/sidebar/examples/basic-sidebar/basic-sidebar.component.mjs +6 -4
  262. package/esm2022/sidebar/examples/over-and-under-sidebars/over-and-under-sidebars.component.mjs +8 -8
  263. package/esm2022/sidebar/examples/side-fixed-sidebar/side-fixed-sidebar.component.mjs +5 -5
  264. package/esm2022/sidebar/examples/sidebar-with-sticky-content/sidebar-with-sticky-content.component.mjs +6 -4
  265. package/esm2022/sidebar/public_api.mjs +2 -1
  266. package/esm2022/sidebar/sidebar/sidebar.component.mjs +35 -15
  267. package/esm2022/sidebar/sidebar-footer/sidebar-footer.component.mjs +3 -3
  268. package/esm2022/sidebar/sidebar-header/sidebar-header-action/sidebar-header-action.directive.mjs +3 -2
  269. package/esm2022/sidebar/sidebar-header/sidebar-header-title/sidebar-header-title.directive.mjs +3 -2
  270. package/esm2022/sidebar/sidebar-header/sidebar-header.component.mjs +3 -3
  271. package/esm2022/sidebar/sidebar-viewport/scroll-token/scroll.token.mjs +9 -3
  272. package/esm2022/sidebar/sidebar-viewport/sidebar-viewport.component.mjs +22 -38
  273. package/esm2022/sidebar/sidebar-viewport/utils/content-pad.mjs +6 -6
  274. package/esm2022/sidebar/sidebar-viewport-backdrop/sidebar-viewport-backdrop.component.mjs +3 -3
  275. package/esm2022/sidebar/sidebar.mjs +17 -0
  276. package/esm2022/sidebar/sidebar.module.mjs +8 -6
  277. package/esm2022/tabs/daffodil-design-tabs.mjs +5 -0
  278. package/esm2022/tabs/examples/basic-tabs/basic-tabs.component.mjs +22 -0
  279. package/esm2022/tabs/examples/custom-select-tabs/custom-select-tabs.component.mjs +34 -0
  280. package/esm2022/tabs/examples/daffodil-design-tabs-examples.mjs +5 -0
  281. package/esm2022/tabs/examples/disabled-tabs/disabled-tabs.component.mjs +22 -0
  282. package/esm2022/tabs/examples/index.mjs +2 -0
  283. package/esm2022/tabs/examples/initially-select-tab/initially-select-tab.component.mjs +22 -0
  284. package/esm2022/tabs/examples/public_api.mjs +11 -0
  285. package/esm2022/tabs/index.mjs +2 -0
  286. package/esm2022/tabs/public_api.mjs +6 -0
  287. package/esm2022/tabs/tabs/tab/tab.component.mjs +86 -0
  288. package/esm2022/tabs/tabs/tab-activator/tab-activator.component.mjs +83 -0
  289. package/esm2022/tabs/tabs/tab-label/tab-label.component.mjs +33 -0
  290. package/esm2022/tabs/tabs/tab-panel/tab-panel.component.mjs +68 -0
  291. package/esm2022/tabs/tabs/tabs.component.mjs +161 -0
  292. package/esm2022/tabs/tabs.mjs +13 -0
  293. package/esm2022/text-snippet/daffodil-design-text-snippet.mjs +5 -0
  294. package/esm2022/text-snippet/examples/basic-text-snippet/basic-text-snippet.component.mjs +14 -0
  295. package/esm2022/text-snippet/examples/daffodil-design-text-snippet-examples.mjs +5 -0
  296. package/esm2022/text-snippet/examples/index.mjs +2 -0
  297. package/esm2022/text-snippet/examples/public_api.mjs +5 -0
  298. package/esm2022/text-snippet/index.mjs +2 -0
  299. package/esm2022/text-snippet/public_api.mjs +2 -0
  300. package/esm2022/text-snippet/text-snippet.component.mjs +46 -0
  301. package/esm2022/toast/examples/default-toast/default-toast.component.mjs +6 -5
  302. package/esm2022/toast/examples/toast-positions/toast-positions.component.mjs +7 -5
  303. package/esm2022/toast/examples/toast-status/toast-status.component.mjs +11 -8
  304. package/esm2022/toast/examples/toast-with-custom-duration/toast-with-custom-duration.component.mjs +6 -5
  305. package/esm2022/toast/options/daff-toast-options.mjs +7 -7
  306. package/esm2022/toast/public_api.mjs +2 -1
  307. package/esm2022/toast/service/toast.service.mjs +9 -10
  308. package/esm2022/toast/toast/toast-provider.mjs +7 -0
  309. package/esm2022/toast/toast/toast-template.component.mjs +30 -12
  310. package/esm2022/toast/toast/toast.component.mjs +6 -9
  311. package/esm2022/toast/toast-actions/toast-actions.directive.mjs +3 -2
  312. package/esm2022/toast/toast-message/toast-message.directive.mjs +3 -2
  313. package/esm2022/toast/toast-title/toast-title.directive.mjs +3 -2
  314. package/esm2022/toast/toast.module.mjs +10 -11
  315. package/esm2022/tree/examples/basic-tree/basic-tree.component.mjs +7 -4
  316. package/esm2022/tree/public_api.mjs +2 -2
  317. package/esm2022/tree/tree/tree.component.mjs +8 -5
  318. package/esm2022/tree/tree-item/tree-item.directive.mjs +3 -2
  319. package/esm2022/tree/tree.mjs +7 -0
  320. package/esm2022/tree/tree.module.mjs +9 -7
  321. package/fesm2022/daffodil-design-accordion-examples.mjs +7 -26
  322. package/fesm2022/daffodil-design-accordion-examples.mjs.map +1 -1
  323. package/fesm2022/daffodil-design-accordion.mjs +52 -41
  324. package/fesm2022/daffodil-design-accordion.mjs.map +1 -1
  325. package/fesm2022/daffodil-design-article-examples.mjs +41 -21
  326. package/fesm2022/daffodil-design-article-examples.mjs.map +1 -1
  327. package/fesm2022/daffodil-design-article.mjs +15 -9
  328. package/fesm2022/daffodil-design-article.mjs.map +1 -1
  329. package/fesm2022/daffodil-design-button-examples.mjs +27 -24
  330. package/fesm2022/daffodil-design-button-examples.mjs.map +1 -1
  331. package/fesm2022/daffodil-design-button.mjs +312 -135
  332. package/fesm2022/daffodil-design-button.mjs.map +1 -1
  333. package/fesm2022/daffodil-design-callout-examples.mjs +21 -21
  334. package/fesm2022/daffodil-design-callout-examples.mjs.map +1 -1
  335. package/fesm2022/daffodil-design-callout.mjs +27 -13
  336. package/fesm2022/daffodil-design-callout.mjs.map +1 -1
  337. package/fesm2022/daffodil-design-card-examples.mjs +23 -24
  338. package/fesm2022/daffodil-design-card-examples.mjs.map +1 -1
  339. package/fesm2022/daffodil-design-card.mjs +31 -13
  340. package/fesm2022/daffodil-design-card.mjs.map +1 -1
  341. package/fesm2022/daffodil-design-checkbox-examples.mjs +5 -6
  342. package/fesm2022/daffodil-design-checkbox-examples.mjs.map +1 -1
  343. package/fesm2022/daffodil-design-container-examples.mjs +3 -3
  344. package/fesm2022/daffodil-design-container-examples.mjs.map +1 -1
  345. package/fesm2022/daffodil-design-container.mjs +12 -6
  346. package/fesm2022/daffodil-design-container.mjs.map +1 -1
  347. package/fesm2022/daffodil-design-hero-examples.mjs +19 -20
  348. package/fesm2022/daffodil-design-hero-examples.mjs.map +1 -1
  349. package/fesm2022/daffodil-design-hero.mjs +29 -16
  350. package/fesm2022/daffodil-design-hero.mjs.map +1 -1
  351. package/fesm2022/daffodil-design-image-examples.mjs +14 -7
  352. package/fesm2022/daffodil-design-image-examples.mjs.map +1 -1
  353. package/fesm2022/daffodil-design-image.mjs +13 -7
  354. package/fesm2022/daffodil-design-image.mjs.map +1 -1
  355. package/fesm2022/daffodil-design-link-set.mjs +23 -11
  356. package/fesm2022/daffodil-design-link-set.mjs.map +1 -1
  357. package/fesm2022/daffodil-design-list-examples.mjs +14 -13
  358. package/fesm2022/daffodil-design-list-examples.mjs.map +1 -1
  359. package/fesm2022/daffodil-design-list.mjs +22 -14
  360. package/fesm2022/daffodil-design-list.mjs.map +1 -1
  361. package/fesm2022/daffodil-design-loading-icon-examples.mjs +3 -13
  362. package/fesm2022/daffodil-design-loading-icon-examples.mjs.map +1 -1
  363. package/fesm2022/daffodil-design-loading-icon.mjs +14 -23
  364. package/fesm2022/daffodil-design-loading-icon.mjs.map +1 -1
  365. package/fesm2022/daffodil-design-media-gallery-examples.mjs +17 -8
  366. package/fesm2022/daffodil-design-media-gallery-examples.mjs.map +1 -1
  367. package/fesm2022/daffodil-design-media-gallery.mjs +82 -59
  368. package/fesm2022/daffodil-design-media-gallery.mjs.map +1 -1
  369. package/fesm2022/daffodil-design-menu-examples.mjs +11 -6
  370. package/fesm2022/daffodil-design-menu-examples.mjs.map +1 -1
  371. package/fesm2022/daffodil-design-menu.mjs +55 -48
  372. package/fesm2022/daffodil-design-menu.mjs.map +1 -1
  373. package/fesm2022/daffodil-design-modal-examples.mjs +16 -7
  374. package/fesm2022/daffodil-design-modal-examples.mjs.map +1 -1
  375. package/fesm2022/daffodil-design-modal.mjs +95 -49
  376. package/fesm2022/daffodil-design-modal.mjs.map +1 -1
  377. package/fesm2022/daffodil-design-navbar-examples.mjs +22 -17
  378. package/fesm2022/daffodil-design-navbar-examples.mjs.map +1 -1
  379. package/fesm2022/daffodil-design-navbar.mjs +16 -9
  380. package/fesm2022/daffodil-design-navbar.mjs.map +1 -1
  381. package/fesm2022/daffodil-design-notification-examples.mjs +14 -18
  382. package/fesm2022/daffodil-design-notification-examples.mjs.map +1 -1
  383. package/fesm2022/daffodil-design-notification.mjs +39 -21
  384. package/fesm2022/daffodil-design-notification.mjs.map +1 -1
  385. package/fesm2022/daffodil-design-paginator-examples.mjs +5 -5
  386. package/fesm2022/daffodil-design-paginator-examples.mjs.map +1 -1
  387. package/fesm2022/daffodil-design-paginator.mjs +23 -16
  388. package/fesm2022/daffodil-design-paginator.mjs.map +1 -1
  389. package/fesm2022/daffodil-design-progress-bar-examples.mjs +14 -7
  390. package/fesm2022/daffodil-design-progress-bar-examples.mjs.map +1 -1
  391. package/fesm2022/daffodil-design-progress-bar.mjs +38 -8
  392. package/fesm2022/daffodil-design-progress-bar.mjs.map +1 -1
  393. package/fesm2022/daffodil-design-sidebar-examples.mjs +18 -14
  394. package/fesm2022/daffodil-design-sidebar-examples.mjs.map +1 -1
  395. package/fesm2022/daffodil-design-sidebar.mjs +94 -70
  396. package/fesm2022/daffodil-design-sidebar.mjs.map +1 -1
  397. package/fesm2022/daffodil-design-tabs-examples.mjs +93 -0
  398. package/fesm2022/daffodil-design-tabs-examples.mjs.map +1 -0
  399. package/fesm2022/daffodil-design-tabs.mjs +431 -0
  400. package/fesm2022/daffodil-design-tabs.mjs.map +1 -0
  401. package/fesm2022/daffodil-design-text-snippet-examples.mjs +25 -0
  402. package/fesm2022/daffodil-design-text-snippet-examples.mjs.map +1 -0
  403. package/fesm2022/daffodil-design-text-snippet.mjs +53 -0
  404. package/fesm2022/daffodil-design-text-snippet.mjs.map +1 -0
  405. package/fesm2022/daffodil-design-toast-examples.mjs +23 -13
  406. package/fesm2022/daffodil-design-toast-examples.mjs.map +1 -1
  407. package/fesm2022/daffodil-design-toast.mjs +152 -132
  408. package/fesm2022/daffodil-design-toast.mjs.map +1 -1
  409. package/fesm2022/daffodil-design-tree-examples.mjs +6 -3
  410. package/fesm2022/daffodil-design-tree-examples.mjs.map +1 -1
  411. package/fesm2022/daffodil-design-tree.mjs +23 -35
  412. package/fesm2022/daffodil-design-tree.mjs.map +1 -1
  413. package/fesm2022/daffodil-design.mjs +132 -8
  414. package/fesm2022/daffodil-design.mjs.map +1 -1
  415. package/hero/README.md +41 -0
  416. package/hero/hero/hero.component.d.ts +1 -4
  417. package/hero/hero-body/hero-body.directive.d.ts +1 -1
  418. package/hero/hero-icon/hero-icon.directive.d.ts +1 -1
  419. package/hero/hero-subtitle/hero-subtitle.directive.d.ts +1 -1
  420. package/hero/hero-tagline/hero-tagline.directive.d.ts +1 -1
  421. package/hero/hero-title/hero-title.directive.d.ts +1 -1
  422. package/hero/hero.d.ts +7 -0
  423. package/hero/hero.module.d.ts +11 -8
  424. package/hero/public_api.d.ts +1 -0
  425. package/image/README.md +47 -8
  426. package/image/image/image.component.d.ts +1 -1
  427. package/image/image.d.ts +2 -0
  428. package/image/image.module.d.ts +6 -3
  429. package/image/public_api.d.ts +1 -0
  430. package/link-set/README.md +43 -2
  431. package/link-set/link-set/link-set.component.d.ts +1 -1
  432. package/link-set/link-set-heading/link-set-heading.directive.d.ts +1 -1
  433. package/link-set/link-set-item/link-set-item.component.d.ts +1 -1
  434. package/link-set/link-set-subheading/link-set-subheading.directive.d.ts +1 -1
  435. package/link-set/link-set.d.ts +5 -0
  436. package/link-set/link-set.module.d.ts +9 -6
  437. package/link-set/public_api.d.ts +1 -0
  438. package/list/README.md +42 -1
  439. package/list/list/list.component.d.ts +1 -1
  440. package/list/list-item/list-item.component.d.ts +1 -1
  441. package/list/list.d.ts +4 -0
  442. package/list/list.module.d.ts +7 -4
  443. package/list/public_api.d.ts +1 -0
  444. package/loading-icon/README.md +39 -3
  445. package/loading-icon/examples/examples.d.ts +2 -2
  446. package/loading-icon/loading-icon/loading-icon.component.d.ts +1 -9
  447. package/loading-icon/loading-icon.d.ts +2 -0
  448. package/loading-icon/loading-icon.module.d.ts +6 -3
  449. package/loading-icon/public_api.d.ts +1 -0
  450. package/media-gallery/README.md +45 -1
  451. package/media-gallery/helpers/media-gallery-token.d.ts +1 -2
  452. package/media-gallery/media-gallery/media-gallery.component.d.ts +1 -1
  453. package/media-gallery/media-gallery.d.ts +4 -0
  454. package/media-gallery/media-gallery.module.d.ts +8 -5
  455. package/media-gallery/media-renderer/media-renderer.component.d.ts +1 -1
  456. package/media-gallery/public_api.d.ts +1 -0
  457. package/media-gallery/thumbnail/thumbnail-compat.token.d.ts +1 -5
  458. package/media-gallery/thumbnail/thumbnail.directive.d.ts +1 -1
  459. package/menu/README.md +23 -0
  460. package/menu/menu/menu.component.d.ts +1 -1
  461. package/menu/menu-activator/menu-activator.component.d.ts +1 -1
  462. package/menu/menu-item/menu-item.component.d.ts +1 -1
  463. package/menu/menu.module.d.ts +6 -6
  464. package/menu/services/menu.service.d.ts +3 -2
  465. package/modal/README.md +41 -0
  466. package/modal/modal/modal.component.d.ts +20 -8
  467. package/modal/modal-actions/modal-actions.component.d.ts +1 -1
  468. package/modal/modal-close/modal-close.directive.d.ts +1 -1
  469. package/modal/modal-content/modal-content.component.d.ts +1 -1
  470. package/modal/modal-header/modal-header.component.d.ts +1 -1
  471. package/modal/modal-title/modal-title.directive.d.ts +1 -1
  472. package/modal/modal.d.ts +6 -0
  473. package/modal/modal.module.d.ts +15 -12
  474. package/modal/public_api.d.ts +1 -0
  475. package/navbar/README.md +41 -0
  476. package/navbar/navbar/navbar.component.d.ts +1 -4
  477. package/navbar/navbar.d.ts +2 -0
  478. package/navbar/navbar.module.d.ts +6 -2
  479. package/navbar/public_api.d.ts +1 -0
  480. package/notification/README.md +43 -2
  481. package/notification/notification/notification.component.d.ts +2 -2
  482. package/notification/notification-actions/notification-actions.directive.d.ts +1 -1
  483. package/notification/notification-message/notification-message.directive.d.ts +1 -1
  484. package/notification/notification-subtitle/notification-subtitle.directive.d.ts +1 -1
  485. package/notification/notification-title/notification-title.directive.d.ts +1 -1
  486. package/notification/notification.d.ts +7 -0
  487. package/notification/notification.module.d.ts +12 -9
  488. package/notification/public_api.d.ts +1 -0
  489. package/notification/src/notification-theme.scss +17 -13
  490. package/package.json +1 -1
  491. package/paginator/README.md +45 -4
  492. package/paginator/paginator/paginator.component.d.ts +1 -4
  493. package/paginator/paginator.d.ts +2 -0
  494. package/paginator/paginator.module.d.ts +8 -5
  495. package/paginator/public_api.d.ts +1 -0
  496. package/progress-bar/README.md +41 -0
  497. package/progress-bar/progress-bar-label/progress-bar-label.directive.d.ts +6 -0
  498. package/progress-bar/progress-bar.component.d.ts +1 -1
  499. package/progress-bar/progress-bar.d.ts +3 -0
  500. package/progress-bar/progress-bar.module.d.ts +7 -3
  501. package/progress-bar/public_api.d.ts +2 -0
  502. package/scss/theme.scss +13 -1
  503. package/scss/theming/_configure-theme.scss +60 -2
  504. package/scss/theming/_theme-css-variables.scss +1 -1
  505. package/sidebar/README.md +78 -20
  506. package/sidebar/public_api.d.ts +1 -0
  507. package/sidebar/sidebar/sidebar.component.d.ts +19 -8
  508. package/sidebar/sidebar-footer/sidebar-footer.component.d.ts +1 -1
  509. package/sidebar/sidebar-header/sidebar-header-action/sidebar-header-action.directive.d.ts +1 -1
  510. package/sidebar/sidebar-header/sidebar-header-title/sidebar-header-title.directive.d.ts +1 -1
  511. package/sidebar/sidebar-header/sidebar-header.component.d.ts +1 -1
  512. package/sidebar/sidebar-viewport/scroll-token/scroll.token.d.ts +1 -7
  513. package/sidebar/sidebar-viewport/sidebar-viewport.component.d.ts +5 -17
  514. package/sidebar/sidebar-viewport/utils/content-pad.d.ts +2 -2
  515. package/sidebar/sidebar-viewport-backdrop/sidebar-viewport-backdrop.component.d.ts +1 -1
  516. package/sidebar/sidebar.d.ts +8 -0
  517. package/sidebar/sidebar.module.d.ts +13 -10
  518. package/tabs/README.md +19 -0
  519. package/tabs/examples/basic-tabs/basic-tabs.component.d.ts +6 -0
  520. package/tabs/examples/custom-select-tabs/custom-select-tabs.component.d.ts +11 -0
  521. package/tabs/examples/disabled-tabs/disabled-tabs.component.d.ts +6 -0
  522. package/tabs/examples/index.d.ts +1 -0
  523. package/tabs/examples/initially-select-tab/initially-select-tab.component.d.ts +6 -0
  524. package/tabs/examples/public_api.d.ts +2 -0
  525. package/tabs/index.d.ts +1 -0
  526. package/tabs/public_api.d.ts +5 -0
  527. package/tabs/src/tabs-theme.scss +22 -0
  528. package/tabs/tabs/tab/tab.component.d.ts +57 -0
  529. package/tabs/tabs/tab-activator/tab-activator.component.d.ts +37 -0
  530. package/tabs/tabs/tab-label/tab-label.component.d.ts +19 -0
  531. package/tabs/tabs/tab-panel/tab-panel.component.d.ts +38 -0
  532. package/tabs/tabs/tabs.component.d.ts +104 -0
  533. package/tabs/tabs.d.ts +6 -0
  534. package/text-snippet/README.md +2 -0
  535. package/text-snippet/examples/basic-text-snippet/basic-text-snippet.component.d.ts +5 -0
  536. package/text-snippet/examples/index.d.ts +1 -0
  537. package/text-snippet/examples/public_api.d.ts +2 -0
  538. package/text-snippet/index.d.ts +1 -0
  539. package/text-snippet/public_api.d.ts +1 -0
  540. package/text-snippet/text-snippet.component.d.ts +19 -0
  541. package/toast/README.md +109 -34
  542. package/toast/options/daff-toast-options.d.ts +1 -3
  543. package/toast/public_api.d.ts +1 -0
  544. package/toast/service/toast.service.d.ts +4 -3
  545. package/toast/src/toast-theme.scss +14 -10
  546. package/toast/toast/toast-provider.d.ts +2 -0
  547. package/toast/toast/toast-template.component.d.ts +1 -1
  548. package/toast/toast/toast.component.d.ts +1 -3
  549. package/toast/toast-actions/toast-actions.directive.d.ts +1 -1
  550. package/toast/toast-message/toast-message.directive.d.ts +1 -1
  551. package/toast/toast-title/toast-title.directive.d.ts +1 -1
  552. package/toast/toast.module.d.ts +14 -12
  553. package/tree/README.md +41 -0
  554. package/tree/public_api.d.ts +1 -2
  555. package/tree/tree/tree.component.d.ts +1 -1
  556. package/tree/tree-item/tree-item.directive.d.ts +1 -1
  557. package/tree/tree.d.ts +3 -0
  558. package/tree/tree.module.d.ts +7 -4
  559. package/accordion/examples/accordion-examples.module.d.ts +0 -9
  560. package/button/button/button.component.d.ts +0 -80
  561. package/button/src/button-theme-variants/button.scss +0 -26
  562. package/button/src/button-theme-variants/flat.scss +0 -25
  563. package/button/src/button-theme-variants/icon.scss +0 -21
  564. package/button/src/button-theme-variants/raised.scss +0 -36
  565. package/button/src/button-theme-variants/stroked.scss +0 -28
  566. package/button/src/button-theme-variants/underline.scss +0 -9
  567. package/button/src/button-theme.scss +0 -574
  568. package/esm2022/accordion/examples/accordion-examples.module.mjs +0 -26
  569. package/esm2022/button/button/button.component.mjs +0 -207
  570. package/esm2022/loading-icon/examples/loading-icon-diameter/loading-icon-diameter.component.mjs +0 -13
  571. package/esm2022/tree/utils/transform-in-place.mjs +0 -23
  572. package/loading-icon/examples/loading-icon-diameter/loading-icon-diameter.component.d.ts +0 -5
  573. package/tree/utils/transform-in-place.d.ts +0 -15
@@ -1,12 +1,17 @@
1
1
  import * as i0 from '@angular/core';
2
- import { InjectionToken, Injectable, TemplateRef, ViewContainerRef, Component, ChangeDetectionStrategy, Inject, ViewChild, HostBinding, Input, EventEmitter, Directive, Output, HostListener, NgModule } from '@angular/core';
2
+ import { Injectable, TemplateRef, ViewContainerRef, Component, ChangeDetectionStrategy, Inject, ViewChild, EventEmitter, Directive, HostBinding, Output, HostListener, Input, NgModule } from '@angular/core';
3
3
  import * as i2 from '@daffodil/design';
4
4
  import { DaffArticleEncapsulatedDirective, DaffSkeletonableDirective } from '@daffodil/design';
5
+ import { createSingleInjectionToken } from '@daffodil/core';
5
6
  import { BehaviorSubject, Subject } from 'rxjs';
6
7
  import { takeUntil } from 'rxjs/operators';
7
8
  import { CommonModule } from '@angular/common';
8
9
 
9
- const DAFF_MEDIA_GALLERY_TOKEN = new InjectionToken('DAFF_MEDIA_GALLERY_TOKEN');
10
+ const { token: DAFF_MEDIA_GALLERY_TOKEN,
11
+ /**
12
+ * Provider function for {@link DAFF_MEDIA_GALLERY_TOKEN}.
13
+ */
14
+ provider: provideDaffMediaGalleryToken, } = createSingleInjectionToken('DAFF_MEDIA_GALLERY_TOKEN');
10
15
 
11
16
  const isGallery = (element) => !('gallery' in element);
12
17
  class DaffMediaGalleryRegistry {
@@ -158,7 +163,7 @@ class DaffMediaRendererComponent {
158
163
  this._destroy$.unsubscribe();
159
164
  }
160
165
  /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: DaffMediaRendererComponent, deps: [{ token: i0.ComponentFactoryResolver }, { token: DaffMediaGalleryRegistry }, { token: DAFF_MEDIA_GALLERY_TOKEN }], target: i0.ɵɵFactoryTarget.Component }); }
161
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.2", type: DaffMediaRendererComponent, selector: "daff-media-renderer", viewQueries: [{ propertyName: "slot", first: true, predicate: TemplateRef, descendants: true, read: ViewContainerRef, static: true }], ngImport: i0, template: '<ng-template></ng-template>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
166
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.2", type: DaffMediaRendererComponent, isStandalone: true, selector: "daff-media-renderer", viewQueries: [{ propertyName: "slot", first: true, predicate: TemplateRef, descendants: true, read: ViewContainerRef, static: true }], ngImport: i0, template: '<ng-template></ng-template>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
162
167
  }
163
168
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: DaffMediaRendererComponent, decorators: [{
164
169
  type: Component,
@@ -166,6 +171,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImpor
166
171
  selector: 'daff-media-renderer',
167
172
  template: '<ng-template></ng-template>',
168
173
  changeDetection: ChangeDetectionStrategy.OnPush,
174
+ standalone: true,
169
175
  }]
170
176
  }], ctorParameters: () => [{ type: i0.ComponentFactoryResolver }, { type: DaffMediaGalleryRegistry }, { type: undefined, decorators: [{
171
177
  type: Inject,
@@ -175,55 +181,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImpor
175
181
  args: [TemplateRef, { static: true, read: ViewContainerRef }]
176
182
  }] } });
177
183
 
178
- let uniqueGalleryId = 0;
179
- class DaffMediaGalleryComponent {
180
- constructor(registry) {
181
- this.registry = registry;
182
- /**
183
- * Adds a class for styling the media gallery
184
- */
185
- this.class = true;
186
- /**
187
- * The name of the gallery
188
- */
189
- this.name = `${uniqueGalleryId}`;
190
- uniqueGalleryId++;
191
- }
192
- ngOnInit() {
193
- this.registry.add(this);
194
- }
195
- ngOnDestroy() {
196
- this.registry.remove(this);
197
- }
198
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: DaffMediaGalleryComponent, deps: [{ token: DaffMediaGalleryRegistry }], target: i0.ɵɵFactoryTarget.Component }); }
199
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.2", type: DaffMediaGalleryComponent, selector: "daff-media-gallery", inputs: { skeleton: "skeleton", name: "name" }, host: { properties: { "class.daff-media-gallery": "this.class" } }, providers: [
200
- // eslint-disable-next-line @typescript-eslint/no-use-before-define
201
- { provide: DAFF_MEDIA_GALLERY_TOKEN, useExisting: DaffMediaGalleryComponent },
202
- ], hostDirectives: [{ directive: i2.DaffArticleEncapsulatedDirective }, { directive: i2.DaffSkeletonableDirective, inputs: ["skeleton", "skeleton"] }], ngImport: i0, template: "<div class=\"daff-media-gallery__thumbnails\">\n\t<ng-content select=\"[daffThumbnail]\"></ng-content>\n</div>\n<div class=\"daff-media-gallery__selected-thumbnail\">\n\t<daff-media-renderer></daff-media-renderer>\n</div>", styles: [":host(.daff-media-gallery){display:flex;flex-direction:column}@media (min-width: 1024px){:host(.daff-media-gallery){flex-direction:row}}:host(.daff-media-gallery) ::ng-deep .daff-thumbnail{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;display:inline-block;height:64px;width:64px;margin:0 2px;max-width:100%;overflow:hidden;user-select:none}@media (min-width: 480px){:host(.daff-media-gallery) ::ng-deep .daff-thumbnail{height:72px;width:72px}}@media (min-width: 1024px){:host(.daff-media-gallery) ::ng-deep .daff-thumbnail{display:block;margin:0 0 4px;height:80px;width:80px}}:host(.daff-media-gallery).daff-skeleton ::ng-deep .daff-thumbnail{display:flex;position:relative}:host(.daff-media-gallery).daff-skeleton ::ng-deep .daff-thumbnail:before{animation-name:loading;animation-duration:1s;animation-timing-function:linear;animation-iteration-count:infinite;animation-direction:alternate;content:\"\";height:72px;width:72px;position:absolute;top:0;left:0}@media (min-width: 1024px){:host(.daff-media-gallery).daff-skeleton ::ng-deep .daff-thumbnail{display:flex;position:relative}:host(.daff-media-gallery).daff-skeleton ::ng-deep .daff-thumbnail:before{animation-name:loading;animation-duration:1s;animation-timing-function:linear;animation-iteration-count:infinite;animation-direction:alternate;content:\"\";height:80px;width:80px;position:absolute;top:0;left:0}}:host(.daff-media-gallery).daff-skeleton ::ng-deep img{opacity:0}:host(.daff-media-gallery).daff-skeleton .daff-media-gallery__selected-thumbnail{display:flex;position:relative}:host(.daff-media-gallery).daff-skeleton .daff-media-gallery__selected-thumbnail:before{animation-name:loading;animation-duration:1s;animation-timing-function:linear;animation-iteration-count:infinite;animation-direction:alternate;content:\"\";height:100%;width:100%;position:absolute;top:0;left:0}.daff-media-gallery__thumbnails{margin:0 -2px;max-height:100%;order:2}@media (min-width: 1024px){.daff-media-gallery__thumbnails{margin:0 8px 0 0;order:1}}.daff-media-gallery__selected-thumbnail{display:block;flex-grow:1;order:1;position:relative}@media (min-width: 1024px){.daff-media-gallery__selected-thumbnail{order:2}}\n"], dependencies: [{ kind: "component", type: DaffMediaRendererComponent, selector: "daff-media-renderer" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
203
- }
204
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: DaffMediaGalleryComponent, decorators: [{
205
- type: Component,
206
- args: [{ selector: 'daff-media-gallery', changeDetection: ChangeDetectionStrategy.OnPush, providers: [
207
- // eslint-disable-next-line @typescript-eslint/no-use-before-define
208
- { provide: DAFF_MEDIA_GALLERY_TOKEN, useExisting: DaffMediaGalleryComponent },
209
- ], inputs: ['skeleton'], hostDirectives: [
210
- { directive: DaffArticleEncapsulatedDirective },
211
- {
212
- directive: DaffSkeletonableDirective,
213
- inputs: ['skeleton'],
214
- },
215
- ], template: "<div class=\"daff-media-gallery__thumbnails\">\n\t<ng-content select=\"[daffThumbnail]\"></ng-content>\n</div>\n<div class=\"daff-media-gallery__selected-thumbnail\">\n\t<daff-media-renderer></daff-media-renderer>\n</div>", styles: [":host(.daff-media-gallery){display:flex;flex-direction:column}@media (min-width: 1024px){:host(.daff-media-gallery){flex-direction:row}}:host(.daff-media-gallery) ::ng-deep .daff-thumbnail{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;display:inline-block;height:64px;width:64px;margin:0 2px;max-width:100%;overflow:hidden;user-select:none}@media (min-width: 480px){:host(.daff-media-gallery) ::ng-deep .daff-thumbnail{height:72px;width:72px}}@media (min-width: 1024px){:host(.daff-media-gallery) ::ng-deep .daff-thumbnail{display:block;margin:0 0 4px;height:80px;width:80px}}:host(.daff-media-gallery).daff-skeleton ::ng-deep .daff-thumbnail{display:flex;position:relative}:host(.daff-media-gallery).daff-skeleton ::ng-deep .daff-thumbnail:before{animation-name:loading;animation-duration:1s;animation-timing-function:linear;animation-iteration-count:infinite;animation-direction:alternate;content:\"\";height:72px;width:72px;position:absolute;top:0;left:0}@media (min-width: 1024px){:host(.daff-media-gallery).daff-skeleton ::ng-deep .daff-thumbnail{display:flex;position:relative}:host(.daff-media-gallery).daff-skeleton ::ng-deep .daff-thumbnail:before{animation-name:loading;animation-duration:1s;animation-timing-function:linear;animation-iteration-count:infinite;animation-direction:alternate;content:\"\";height:80px;width:80px;position:absolute;top:0;left:0}}:host(.daff-media-gallery).daff-skeleton ::ng-deep img{opacity:0}:host(.daff-media-gallery).daff-skeleton .daff-media-gallery__selected-thumbnail{display:flex;position:relative}:host(.daff-media-gallery).daff-skeleton .daff-media-gallery__selected-thumbnail:before{animation-name:loading;animation-duration:1s;animation-timing-function:linear;animation-iteration-count:infinite;animation-direction:alternate;content:\"\";height:100%;width:100%;position:absolute;top:0;left:0}.daff-media-gallery__thumbnails{margin:0 -2px;max-height:100%;order:2}@media (min-width: 1024px){.daff-media-gallery__thumbnails{margin:0 8px 0 0;order:1}}.daff-media-gallery__selected-thumbnail{display:block;flex-grow:1;order:1;position:relative}@media (min-width: 1024px){.daff-media-gallery__selected-thumbnail{order:2}}\n"] }]
216
- }], ctorParameters: () => [{ type: DaffMediaGalleryRegistry }], propDecorators: { class: [{
217
- type: HostBinding,
218
- args: ['class.daff-media-gallery']
219
- }], name: [{
220
- type: Input
221
- }] } });
222
-
184
+ const {
223
185
  /**
224
186
  * A multi provider injection token that marks a component as renderable for the `DaffMediaRendererComponent`.
225
187
  */
226
- const daffThumbnailCompatToken = new InjectionToken('thumbnailCompatToken');
188
+ token: daffThumbnailCompatToken,
189
+ /**
190
+ * Provider function for {@link daffThumbnailCompatToken}.
191
+ */
192
+ provider: provideDaffThumbnailCompatToken, } = createSingleInjectionToken('thumbnailCompatToken');
227
193
 
228
194
  /**
229
195
  * A directive marking thumbnails for the `DaffMediaRendererComponent`. Needs to be wrapped in a `daff-media-gallery` component
@@ -281,12 +247,13 @@ class DaffThumbnailDirective {
281
247
  return this;
282
248
  }
283
249
  /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: DaffThumbnailDirective, deps: [{ token: daffThumbnailCompatToken }, { token: i0.ChangeDetectorRef }, { token: DaffMediaGalleryRegistry }, { token: DAFF_MEDIA_GALLERY_TOKEN }], target: i0.ɵɵFactoryTarget.Directive }); }
284
- /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.2", type: DaffThumbnailDirective, selector: "[daffThumbnail]", outputs: { becameSelected: "becameSelected" }, host: { listeners: { "click": "onClick($event)" }, properties: { "class.daff-thumbnail--selected": "this.selectedClass", "class.daff-thumbnail": "this.class" } }, ngImport: i0 }); }
250
+ /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.2", type: DaffThumbnailDirective, isStandalone: true, selector: "[daffThumbnail]", outputs: { becameSelected: "becameSelected" }, host: { listeners: { "click": "onClick($event)" }, properties: { "class.daff-thumbnail--selected": "this.selectedClass", "class.daff-thumbnail": "this.class" } }, ngImport: i0 }); }
285
251
  }
286
252
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: DaffThumbnailDirective, decorators: [{
287
253
  type: Directive,
288
254
  args: [{
289
255
  selector: '[daffThumbnail]',
256
+ standalone: true,
290
257
  }]
291
258
  }], ctorParameters: () => [{ type: i0.Type, decorators: [{
292
259
  type: Inject,
@@ -307,35 +274,91 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImpor
307
274
  args: ['click', ['$event']]
308
275
  }] } });
309
276
 
277
+ let uniqueGalleryId = 0;
278
+ class DaffMediaGalleryComponent {
279
+ constructor(registry) {
280
+ this.registry = registry;
281
+ /**
282
+ * Adds a class for styling the media gallery
283
+ */
284
+ this.class = true;
285
+ /**
286
+ * The name of the gallery
287
+ */
288
+ this.name = `${uniqueGalleryId}`;
289
+ uniqueGalleryId++;
290
+ }
291
+ ngOnInit() {
292
+ this.registry.add(this);
293
+ }
294
+ ngOnDestroy() {
295
+ this.registry.remove(this);
296
+ }
297
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: DaffMediaGalleryComponent, deps: [{ token: DaffMediaGalleryRegistry }], target: i0.ɵɵFactoryTarget.Component }); }
298
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.2", type: DaffMediaGalleryComponent, isStandalone: true, selector: "daff-media-gallery", inputs: { name: "name" }, host: { properties: { "class.daff-media-gallery": "this.class" } }, providers: [
299
+ // eslint-disable-next-line @typescript-eslint/no-use-before-define
300
+ { provide: DAFF_MEDIA_GALLERY_TOKEN, useExisting: DaffMediaGalleryComponent },
301
+ ], hostDirectives: [{ directive: i2.DaffArticleEncapsulatedDirective }, { directive: i2.DaffSkeletonableDirective, inputs: ["skeleton", "skeleton"] }], ngImport: i0, template: "<div class=\"daff-media-gallery__thumbnails\">\n\t<ng-content select=\"[daffThumbnail]\"></ng-content>\n</div>\n<div class=\"daff-media-gallery__selected-thumbnail\">\n\t<daff-media-renderer></daff-media-renderer>\n</div>", styles: [":host(.daff-media-gallery){display:flex;flex-direction:column}@media (min-width: 1024px){:host(.daff-media-gallery){flex-direction:row}}:host(.daff-media-gallery) ::ng-deep .daff-thumbnail{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;display:inline-block;height:64px;width:64px;margin:0 2px;max-width:100%;overflow:hidden;user-select:none}@media (min-width: 480px){:host(.daff-media-gallery) ::ng-deep .daff-thumbnail{height:72px;width:72px}}@media (min-width: 1024px){:host(.daff-media-gallery) ::ng-deep .daff-thumbnail{display:block;margin:0 0 4px;height:80px;width:80px}}:host(.daff-media-gallery).daff-skeleton ::ng-deep .daff-thumbnail{display:flex;position:relative}:host(.daff-media-gallery).daff-skeleton ::ng-deep .daff-thumbnail:before{animation-name:loading;animation-duration:1s;animation-timing-function:linear;animation-iteration-count:infinite;animation-direction:alternate;content:\"\";height:72px;width:72px;position:absolute;top:0;left:0}@media (min-width: 1024px){:host(.daff-media-gallery).daff-skeleton ::ng-deep .daff-thumbnail{display:flex;position:relative}:host(.daff-media-gallery).daff-skeleton ::ng-deep .daff-thumbnail:before{animation-name:loading;animation-duration:1s;animation-timing-function:linear;animation-iteration-count:infinite;animation-direction:alternate;content:\"\";height:80px;width:80px;position:absolute;top:0;left:0}}:host(.daff-media-gallery).daff-skeleton ::ng-deep img{opacity:0}:host(.daff-media-gallery).daff-skeleton .daff-media-gallery__selected-thumbnail{display:flex;position:relative}:host(.daff-media-gallery).daff-skeleton .daff-media-gallery__selected-thumbnail:before{animation-name:loading;animation-duration:1s;animation-timing-function:linear;animation-iteration-count:infinite;animation-direction:alternate;content:\"\";height:100%;width:100%;position:absolute;top:0;left:0}.daff-media-gallery__thumbnails{margin:0 -2px;max-height:100%;order:2}@media (min-width: 1024px){.daff-media-gallery__thumbnails{margin:0 8px 0 0;order:1}}.daff-media-gallery__selected-thumbnail{display:block;flex-grow:1;order:1;position:relative}@media (min-width: 1024px){.daff-media-gallery__selected-thumbnail{order:2}}\n"], dependencies: [{ kind: "component", type: DaffMediaRendererComponent, selector: "daff-media-renderer" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
302
+ }
303
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: DaffMediaGalleryComponent, decorators: [{
304
+ type: Component,
305
+ args: [{ selector: 'daff-media-gallery', changeDetection: ChangeDetectionStrategy.OnPush, providers: [
306
+ // eslint-disable-next-line @typescript-eslint/no-use-before-define
307
+ { provide: DAFF_MEDIA_GALLERY_TOKEN, useExisting: DaffMediaGalleryComponent },
308
+ ], hostDirectives: [
309
+ { directive: DaffArticleEncapsulatedDirective },
310
+ {
311
+ directive: DaffSkeletonableDirective,
312
+ inputs: ['skeleton'],
313
+ },
314
+ ], standalone: true, imports: [
315
+ DaffMediaRendererComponent,
316
+ DaffThumbnailDirective,
317
+ ], template: "<div class=\"daff-media-gallery__thumbnails\">\n\t<ng-content select=\"[daffThumbnail]\"></ng-content>\n</div>\n<div class=\"daff-media-gallery__selected-thumbnail\">\n\t<daff-media-renderer></daff-media-renderer>\n</div>", styles: [":host(.daff-media-gallery){display:flex;flex-direction:column}@media (min-width: 1024px){:host(.daff-media-gallery){flex-direction:row}}:host(.daff-media-gallery) ::ng-deep .daff-thumbnail{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;display:inline-block;height:64px;width:64px;margin:0 2px;max-width:100%;overflow:hidden;user-select:none}@media (min-width: 480px){:host(.daff-media-gallery) ::ng-deep .daff-thumbnail{height:72px;width:72px}}@media (min-width: 1024px){:host(.daff-media-gallery) ::ng-deep .daff-thumbnail{display:block;margin:0 0 4px;height:80px;width:80px}}:host(.daff-media-gallery).daff-skeleton ::ng-deep .daff-thumbnail{display:flex;position:relative}:host(.daff-media-gallery).daff-skeleton ::ng-deep .daff-thumbnail:before{animation-name:loading;animation-duration:1s;animation-timing-function:linear;animation-iteration-count:infinite;animation-direction:alternate;content:\"\";height:72px;width:72px;position:absolute;top:0;left:0}@media (min-width: 1024px){:host(.daff-media-gallery).daff-skeleton ::ng-deep .daff-thumbnail{display:flex;position:relative}:host(.daff-media-gallery).daff-skeleton ::ng-deep .daff-thumbnail:before{animation-name:loading;animation-duration:1s;animation-timing-function:linear;animation-iteration-count:infinite;animation-direction:alternate;content:\"\";height:80px;width:80px;position:absolute;top:0;left:0}}:host(.daff-media-gallery).daff-skeleton ::ng-deep img{opacity:0}:host(.daff-media-gallery).daff-skeleton .daff-media-gallery__selected-thumbnail{display:flex;position:relative}:host(.daff-media-gallery).daff-skeleton .daff-media-gallery__selected-thumbnail:before{animation-name:loading;animation-duration:1s;animation-timing-function:linear;animation-iteration-count:infinite;animation-direction:alternate;content:\"\";height:100%;width:100%;position:absolute;top:0;left:0}.daff-media-gallery__thumbnails{margin:0 -2px;max-height:100%;order:2}@media (min-width: 1024px){.daff-media-gallery__thumbnails{margin:0 8px 0 0;order:1}}.daff-media-gallery__selected-thumbnail{display:block;flex-grow:1;order:1;position:relative}@media (min-width: 1024px){.daff-media-gallery__selected-thumbnail{order:2}}\n"] }]
318
+ }], ctorParameters: () => [{ type: DaffMediaGalleryRegistry }], propDecorators: { class: [{
319
+ type: HostBinding,
320
+ args: ['class.daff-media-gallery']
321
+ }], name: [{
322
+ type: Input
323
+ }] } });
324
+
325
+ /**
326
+ * @deprecated in favor of {@link DAFF_MEDIA_GALLERY_COMPONENTS} Deprecated in version 0.78.0. Will be removed in version 0.81.0.
327
+ */
310
328
  class DaffMediaGalleryModule {
311
329
  /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: DaffMediaGalleryModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
312
- /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.2", ngImport: i0, type: DaffMediaGalleryModule, declarations: [DaffMediaGalleryComponent,
330
+ /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.2", ngImport: i0, type: DaffMediaGalleryModule, imports: [CommonModule,
331
+ DaffMediaGalleryComponent,
313
332
  DaffThumbnailDirective,
314
- DaffMediaRendererComponent], imports: [CommonModule], exports: [DaffThumbnailDirective,
315
- DaffMediaGalleryComponent] }); }
333
+ DaffMediaRendererComponent], exports: [DaffMediaGalleryComponent,
334
+ DaffThumbnailDirective] }); }
316
335
  /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: DaffMediaGalleryModule, imports: [CommonModule] }); }
317
336
  }
318
337
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: DaffMediaGalleryModule, decorators: [{
319
338
  type: NgModule,
320
339
  args: [{
321
- declarations: [
340
+ imports: [
341
+ CommonModule,
322
342
  DaffMediaGalleryComponent,
323
343
  DaffThumbnailDirective,
324
344
  DaffMediaRendererComponent,
325
345
  ],
326
- imports: [
327
- CommonModule,
328
- ],
329
346
  exports: [
330
- DaffThumbnailDirective,
331
347
  DaffMediaGalleryComponent,
348
+ DaffThumbnailDirective,
332
349
  ],
333
350
  }]
334
351
  }] });
335
352
 
353
+ const DAFF_MEDIA_GALLERY_COMPONENTS = [
354
+ DaffMediaGalleryComponent,
355
+ DaffThumbnailDirective,
356
+ DaffMediaRendererComponent,
357
+ ];
358
+
336
359
  /**
337
360
  * Generated bundle index. Do not edit.
338
361
  */
339
362
 
340
- export { DaffMediaGalleryComponent, DaffMediaGalleryModule, DaffThumbnailDirective, daffThumbnailCompatToken };
363
+ export { DAFF_MEDIA_GALLERY_COMPONENTS, DaffMediaGalleryComponent, DaffMediaGalleryModule, DaffThumbnailDirective, daffThumbnailCompatToken };
341
364
  //# sourceMappingURL=daffodil-design-media-gallery.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"daffodil-design-media-gallery.mjs","sources":["../../../libs/design/media-gallery/src/helpers/media-gallery-token.ts","../../../libs/design/media-gallery/src/registry/media-gallery.registry.ts","../../../libs/design/media-gallery/src/media-renderer/media-renderer.component.ts","../../../libs/design/media-gallery/src/media-gallery/media-gallery.component.ts","../../../libs/design/media-gallery/src/media-gallery/media-gallery.component.html","../../../libs/design/media-gallery/src/thumbnail/thumbnail-compat.token.ts","../../../libs/design/media-gallery/src/thumbnail/thumbnail.directive.ts","../../../libs/design/media-gallery/src/media-gallery.module.ts","../../../libs/design/media-gallery/src/daffodil-design-media-gallery.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\n\nimport { DaffMediaGalleryRegistration } from './media-gallery-registration.interface';\n\nexport const DAFF_MEDIA_GALLERY_TOKEN = new InjectionToken<DaffMediaGalleryRegistration>('DAFF_MEDIA_GALLERY_TOKEN');\n","import { Injectable } from '@angular/core';\nimport { BehaviorSubject } from 'rxjs';\n\nimport { DaffMediaGalleryRegistration } from '../helpers/media-gallery-registration.interface';\nimport { DaffThumbnailRegistration } from '../thumbnail/thumbnail-registration.interface';\n\nexport interface DaffMediaGalleryDict {\n [galleryName: string]: BehaviorSubject<DaffMediaGallery>;\n}\n\nexport interface DaffMediaGallery {\n gallery: DaffMediaGalleryRegistration;\n thumbnails: DaffThumbnailRegistration[];\n}\n\nexport const isGallery = (element: DaffThumbnailRegistration | DaffMediaGalleryRegistration): element is DaffMediaGalleryRegistration => !('gallery' in element);\n\n@Injectable({ providedIn: 'root' })\nexport class DaffMediaGalleryRegistry {\n galleries: DaffMediaGalleryDict = {};\n\n /**\n * @description\n * Adds a media element to the internal registry.\n */\n add(gallery: DaffMediaGalleryRegistration, thumbnail?: DaffThumbnailRegistration) {\n if(this.galleries[gallery.name]) {\n let newGallery = this.galleries[gallery.name].getValue();\n\n if(thumbnail) {\n newGallery = {\n ...newGallery,\n thumbnails: [\n ...newGallery.thumbnails.filter(t => t !== thumbnail),\n thumbnail,\n ],\n };\n }\n\n this.galleries[gallery.name].next(newGallery);\n } else {\n this.galleries[gallery.name] = new BehaviorSubject({\n gallery,\n thumbnails: thumbnail ? [thumbnail] : [],\n });\n }\n\n if(this.galleries[gallery.name].getValue().thumbnails.length === 1) {\n thumbnail.select();\n }\n }\n\n /**\n * @description\n * Removes a thumbnail or gallery from the internal registry.\n */\n remove(element: DaffThumbnailRegistration | DaffMediaGalleryRegistration) {\n if(isGallery(element)) {\n this.removeGallery(element);\n } else {\n this.removeThumbnail(element);\n }\n }\n\n private removeThumbnail(thumbnail: DaffThumbnailRegistration) {\n if(!this.galleries[thumbnail.gallery.name]) {\n return;\n }\n const gallery = this.galleries[thumbnail.gallery.name].getValue();\n const index = gallery.thumbnails.indexOf(thumbnail);\n\n if(index === -1) {\n return;\n }\n\n this.galleries[thumbnail.gallery.name].next({\n ...gallery,\n thumbnails: [\n ...gallery.thumbnails.slice(0, index),\n ...gallery.thumbnails.slice(index + 1),\n ],\n });\n }\n\n private removeGallery(gallery: DaffMediaGalleryRegistration) {\n delete this.galleries[gallery.name];\n }\n\n /**\n * @description\n * Selects a media element for a given gallery.\n */\n select(thumbnail: DaffThumbnailRegistration) {\n if(!this.galleries[thumbnail.gallery.name]) {\n return;\n }\n\n const gallery = this.galleries[thumbnail.gallery.name].getValue();\n const index = gallery.thumbnails.indexOf(thumbnail);\n\n if(thumbnail.selected || index === -1){\n return;\n }\n\n this.galleries[thumbnail.gallery.name].next({\n ...gallery,\n thumbnails: [\n ...gallery.thumbnails.filter(m => m !== thumbnail).map(m => m.deselect()),\n thumbnail.select(),\n ],\n });\n }\n}\n","import {\n Component,\n OnInit,\n ComponentFactoryResolver,\n Type,\n ViewChild,\n ViewContainerRef,\n TemplateRef,\n ChangeDetectionStrategy,\n OnDestroy,\n Inject,\n} from '@angular/core';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nimport { DaffMediaGalleryRegistration } from '../helpers/media-gallery-registration.interface';\nimport { DAFF_MEDIA_GALLERY_TOKEN } from '../helpers/media-gallery-token';\nimport { DaffMediaGalleryRegistry } from '../registry/media-gallery.registry';\n\n/**\n * Dynamically renders the selected `DaffThumbnailDirective` in a `daff-media-gallery` any time the selected thumbnail\n * changes.\n */\n@Component({\n selector: 'daff-media-renderer',\n template: '<ng-template></ng-template>',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class DaffMediaRendererComponent implements OnInit, OnDestroy {\n\n /**\n * Private tracker for indicating when the component is destroyed.\n */\n private _destroy$ = new Subject();\n\n constructor(\n private componentFactoryResolver: ComponentFactoryResolver,\n private registry: DaffMediaGalleryRegistry,\n @Inject(DAFF_MEDIA_GALLERY_TOKEN) private gallery: DaffMediaGalleryRegistration,\n ) {}\n\n /**\n * The slot that the \"component\" is rendered into.\n */\n @ViewChild(TemplateRef, { static: true, read: ViewContainerRef })\n slot: ViewContainerRef;\n\n ngOnInit() {\n this.registry.galleries[this.gallery.name]\n .pipe(takeUntil(this._destroy$))\n .subscribe((gallery) => {\n\n /**\n * Clear out the slot for the dynamically rendered thumbnail\n */\n this.slot.clear();\n\n const _selectedThumbnail = gallery.thumbnails.filter(media => media.selected).shift();\n\n /**\n * If there's no selected media, render nothing.\n */\n if(!_selectedThumbnail) {\n return;\n }\n\n const _selectedThumbnailComponent = _selectedThumbnail.component;\n\n /**\n * Create the component to insert.\n */\n const component = this.componentFactoryResolver.resolveComponentFactory(\n <Type<unknown>>_selectedThumbnailComponent.constructor,\n );\n const componentRef = this.slot.createComponent(component);\n\n /**\n * Fill the component with it's values from the original component\n */\n component.inputs.forEach(input => {\n componentRef.instance[input.propName] = _selectedThumbnailComponent[input.propName];\n });\n\n /**\n * Trigger a change detection on the component tree, outside the cycle to address\n * the fact that the component was created outside a typical CD loop.\n */\n componentRef.changeDetectorRef.detectChanges();\n });\n }\n\n /**\n * Used to unsubscribe from the dynamic component.\n */\n ngOnDestroy() {\n this._destroy$.next(true);\n this._destroy$.unsubscribe();\n }\n}\n\n","import {\n Component,\n HostBinding,\n ChangeDetectionStrategy,\n Input,\n OnInit,\n OnDestroy,\n} from '@angular/core';\n\nimport {\n DaffArticleEncapsulatedDirective,\n DaffSkeletonableDirective,\n} from '@daffodil/design';\n\nimport { DaffMediaGalleryRegistration } from '../helpers/media-gallery-registration.interface';\nimport { DAFF_MEDIA_GALLERY_TOKEN } from '../helpers/media-gallery-token';\nimport { DaffMediaGalleryRegistry } from '../registry/media-gallery.registry';\n\nlet uniqueGalleryId = 0;\n\n@Component({\n selector: 'daff-media-gallery',\n templateUrl: './media-gallery.component.html',\n styleUrls: ['./media-gallery.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n { provide: DAFF_MEDIA_GALLERY_TOKEN, useExisting: DaffMediaGalleryComponent },\n ],\n // todo(damienwebdev): remove once decorators hit stage 3 - https://github.com/microsoft/TypeScript/issues/7342\n // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property\n inputs: ['skeleton'],\n hostDirectives: [\n { directive: DaffArticleEncapsulatedDirective },\n {\n directive: DaffSkeletonableDirective,\n inputs: ['skeleton'],\n },\n ],\n})\nexport class DaffMediaGalleryComponent implements DaffMediaGalleryRegistration, OnInit, OnDestroy {\n /**\n * Adds a class for styling the media gallery\n */\n @HostBinding('class.daff-media-gallery') class = true;\n\n /**\n * The name of the gallery\n */\n @Input() name = `${uniqueGalleryId}`;\n\n constructor(private registry: DaffMediaGalleryRegistry) {\n uniqueGalleryId++;\n }\n\n ngOnInit() {\n this.registry.add(this);\n }\n\n ngOnDestroy() {\n this.registry.remove(this);\n }\n}\n","<div class=\"daff-media-gallery__thumbnails\">\n\t<ng-content select=\"[daffThumbnail]\"></ng-content>\n</div>\n<div class=\"daff-media-gallery__selected-thumbnail\">\n\t<daff-media-renderer></daff-media-renderer>\n</div>","import { InjectionToken } from '@angular/core';\n\n/**\n * A multi provider injection token that marks a component as renderable for the `DaffMediaRendererComponent`.\n */\nexport const daffThumbnailCompatToken = new InjectionToken<unknown>('thumbnailCompatToken');\n","import {\n Directive,\n Inject,\n Type,\n HostBinding,\n HostListener,\n Output,\n EventEmitter,\n ChangeDetectorRef,\n OnInit,\n OnDestroy,\n} from '@angular/core';\n\nimport { daffThumbnailCompatToken } from './thumbnail-compat.token';\nimport { DaffThumbnailRegistration } from './thumbnail-registration.interface';\nimport { DaffMediaGalleryRegistration } from '../helpers/media-gallery-registration.interface';\nimport { DAFF_MEDIA_GALLERY_TOKEN } from '../helpers/media-gallery-token';\nimport { DaffMediaGalleryRegistry } from '../registry/media-gallery.registry';\n\n/**\n * A directive marking thumbnails for the `DaffMediaRendererComponent`. Needs to be wrapped in a `daff-media-gallery` component\n * and needs to be placed on a component that is provided as a `daffThumbnailCompatToken`.\n */\n@Directive({\n selector: '[daffThumbnail]',\n})\nexport class DaffThumbnailDirective implements OnInit, OnDestroy, DaffThumbnailRegistration {\n\n /**\n * Adds a class for styling a selected thumbnail\n */\n @HostBinding('class.daff-thumbnail--selected') get selectedClass() {\n return this.selected;\n };\n\n constructor(\n @Inject(daffThumbnailCompatToken) public component: Type<unknown>,\n private cd: ChangeDetectorRef,\n private registry: DaffMediaGalleryRegistry,\n @Inject(DAFF_MEDIA_GALLERY_TOKEN) public gallery: DaffMediaGalleryRegistration,\n ) {}\n\n /**\n * Adds a class for styling a thumbnail\n */\n @HostBinding('class.daff-thumbnail') class = true;\n\n /**\n * A prop for determining whether or not the media element is selected.\n */\n selected = false;\n\n /**\n * An event that fires after the media element becomes selected.\n */\n @Output() becameSelected: EventEmitter<void> = new EventEmitter<void>();\n\n /**\n * Adds a click event to trigger selection of the media element.\n *\n * @param event: MouseEvent\n */\n @HostListener('click', ['$event']) onClick($event: MouseEvent) {\n this.registry.select(this);\n }\n\n ngOnInit(): void {\n this.registry.add(this.gallery, this);\n }\n\n ngOnDestroy(): void {\n this.registry.remove(this);\n }\n\n select() {\n this.selected = true;\n this.becameSelected.emit();\n this.cd.markForCheck();\n return this;\n }\n\n deselect() {\n this.selected = false;\n this.cd.markForCheck();\n return this;\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { DaffMediaGalleryComponent } from './media-gallery/media-gallery.component';\nimport { DaffMediaRendererComponent } from './media-renderer/media-renderer.component';\nimport { DaffThumbnailDirective } from './thumbnail/thumbnail.directive';\n\n@NgModule({\n declarations: [\n DaffMediaGalleryComponent,\n DaffThumbnailDirective,\n DaffMediaRendererComponent,\n ],\n imports: [\n CommonModule,\n ],\n exports: [\n DaffThumbnailDirective,\n DaffMediaGalleryComponent,\n ],\n})\nexport class DaffMediaGalleryModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.DaffMediaGalleryRegistry","i3.DaffMediaRendererComponent"],"mappings":"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"}
1
+ {"version":3,"file":"daffodil-design-media-gallery.mjs","sources":["../../../libs/design/media-gallery/src/helpers/media-gallery-token.ts","../../../libs/design/media-gallery/src/registry/media-gallery.registry.ts","../../../libs/design/media-gallery/src/media-renderer/media-renderer.component.ts","../../../libs/design/media-gallery/src/thumbnail/thumbnail-compat.token.ts","../../../libs/design/media-gallery/src/thumbnail/thumbnail.directive.ts","../../../libs/design/media-gallery/src/media-gallery/media-gallery.component.ts","../../../libs/design/media-gallery/src/media-gallery/media-gallery.component.html","../../../libs/design/media-gallery/src/media-gallery.module.ts","../../../libs/design/media-gallery/src/media-gallery.ts","../../../libs/design/media-gallery/src/daffodil-design-media-gallery.ts"],"sourcesContent":["import { createSingleInjectionToken } from '@daffodil/core';\n\nimport { DaffMediaGalleryRegistration } from './media-gallery-registration.interface';\n\nexport const {\n token: DAFF_MEDIA_GALLERY_TOKEN,\n /**\n * Provider function for {@link DAFF_MEDIA_GALLERY_TOKEN}.\n */\n provider: provideDaffMediaGalleryToken,\n} = createSingleInjectionToken<DaffMediaGalleryRegistration>('DAFF_MEDIA_GALLERY_TOKEN');\n","import { Injectable } from '@angular/core';\nimport { BehaviorSubject } from 'rxjs';\n\nimport { DaffMediaGalleryRegistration } from '../helpers/media-gallery-registration.interface';\nimport { DaffThumbnailRegistration } from '../thumbnail/thumbnail-registration.interface';\n\nexport interface DaffMediaGalleryDict {\n [galleryName: string]: BehaviorSubject<DaffMediaGallery>;\n}\n\nexport interface DaffMediaGallery {\n gallery: DaffMediaGalleryRegistration;\n thumbnails: DaffThumbnailRegistration[];\n}\n\nexport const isGallery = (element: DaffThumbnailRegistration | DaffMediaGalleryRegistration): element is DaffMediaGalleryRegistration => !('gallery' in element);\n\n@Injectable({ providedIn: 'root' })\nexport class DaffMediaGalleryRegistry {\n galleries: DaffMediaGalleryDict = {};\n\n /**\n * @description\n * Adds a media element to the internal registry.\n */\n add(gallery: DaffMediaGalleryRegistration, thumbnail?: DaffThumbnailRegistration) {\n if(this.galleries[gallery.name]) {\n let newGallery = this.galleries[gallery.name].getValue();\n\n if(thumbnail) {\n newGallery = {\n ...newGallery,\n thumbnails: [\n ...newGallery.thumbnails.filter(t => t !== thumbnail),\n thumbnail,\n ],\n };\n }\n\n this.galleries[gallery.name].next(newGallery);\n } else {\n this.galleries[gallery.name] = new BehaviorSubject({\n gallery,\n thumbnails: thumbnail ? [thumbnail] : [],\n });\n }\n\n if(this.galleries[gallery.name].getValue().thumbnails.length === 1) {\n thumbnail.select();\n }\n }\n\n /**\n * @description\n * Removes a thumbnail or gallery from the internal registry.\n */\n remove(element: DaffThumbnailRegistration | DaffMediaGalleryRegistration) {\n if(isGallery(element)) {\n this.removeGallery(element);\n } else {\n this.removeThumbnail(element);\n }\n }\n\n private removeThumbnail(thumbnail: DaffThumbnailRegistration) {\n if(!this.galleries[thumbnail.gallery.name]) {\n return;\n }\n const gallery = this.galleries[thumbnail.gallery.name].getValue();\n const index = gallery.thumbnails.indexOf(thumbnail);\n\n if(index === -1) {\n return;\n }\n\n this.galleries[thumbnail.gallery.name].next({\n ...gallery,\n thumbnails: [\n ...gallery.thumbnails.slice(0, index),\n ...gallery.thumbnails.slice(index + 1),\n ],\n });\n }\n\n private removeGallery(gallery: DaffMediaGalleryRegistration) {\n delete this.galleries[gallery.name];\n }\n\n /**\n * @description\n * Selects a media element for a given gallery.\n */\n select(thumbnail: DaffThumbnailRegistration) {\n if(!this.galleries[thumbnail.gallery.name]) {\n return;\n }\n\n const gallery = this.galleries[thumbnail.gallery.name].getValue();\n const index = gallery.thumbnails.indexOf(thumbnail);\n\n if(thumbnail.selected || index === -1){\n return;\n }\n\n this.galleries[thumbnail.gallery.name].next({\n ...gallery,\n thumbnails: [\n ...gallery.thumbnails.filter(m => m !== thumbnail).map(m => m.deselect()),\n thumbnail.select(),\n ],\n });\n }\n}\n","import {\n Component,\n OnInit,\n ComponentFactoryResolver,\n Type,\n ViewChild,\n ViewContainerRef,\n TemplateRef,\n ChangeDetectionStrategy,\n OnDestroy,\n Inject,\n} from '@angular/core';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nimport { DaffMediaGalleryRegistration } from '../helpers/media-gallery-registration.interface';\nimport { DAFF_MEDIA_GALLERY_TOKEN } from '../helpers/media-gallery-token';\nimport { DaffMediaGalleryRegistry } from '../registry/media-gallery.registry';\n\n/**\n * Dynamically renders the selected `DaffThumbnailDirective` in a `daff-media-gallery` any time the selected thumbnail\n * changes.\n */\n@Component({\n selector: 'daff-media-renderer',\n template: '<ng-template></ng-template>',\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n})\nexport class DaffMediaRendererComponent implements OnInit, OnDestroy {\n\n /**\n * Private tracker for indicating when the component is destroyed.\n */\n private _destroy$ = new Subject();\n\n constructor(\n private componentFactoryResolver: ComponentFactoryResolver,\n private registry: DaffMediaGalleryRegistry,\n @Inject(DAFF_MEDIA_GALLERY_TOKEN) private gallery: DaffMediaGalleryRegistration,\n ) {}\n\n /**\n * The slot that the \"component\" is rendered into.\n */\n @ViewChild(TemplateRef, { static: true, read: ViewContainerRef })\n slot: ViewContainerRef;\n\n ngOnInit() {\n this.registry.galleries[this.gallery.name]\n .pipe(takeUntil(this._destroy$))\n .subscribe((gallery) => {\n\n /**\n * Clear out the slot for the dynamically rendered thumbnail\n */\n this.slot.clear();\n\n const _selectedThumbnail = gallery.thumbnails.filter(media => media.selected).shift();\n\n /**\n * If there's no selected media, render nothing.\n */\n if(!_selectedThumbnail) {\n return;\n }\n\n const _selectedThumbnailComponent = _selectedThumbnail.component;\n\n /**\n * Create the component to insert.\n */\n const component = this.componentFactoryResolver.resolveComponentFactory(\n <Type<unknown>>_selectedThumbnailComponent.constructor,\n );\n const componentRef = this.slot.createComponent(component);\n\n /**\n * Fill the component with it's values from the original component\n */\n component.inputs.forEach(input => {\n componentRef.instance[input.propName] = _selectedThumbnailComponent[input.propName];\n });\n\n /**\n * Trigger a change detection on the component tree, outside the cycle to address\n * the fact that the component was created outside a typical CD loop.\n */\n componentRef.changeDetectorRef.detectChanges();\n });\n }\n\n /**\n * Used to unsubscribe from the dynamic component.\n */\n ngOnDestroy() {\n this._destroy$.next(true);\n this._destroy$.unsubscribe();\n }\n}\n\n","import { createSingleInjectionToken } from '@daffodil/core';\n\nexport const {\n /**\n * A multi provider injection token that marks a component as renderable for the `DaffMediaRendererComponent`.\n */\n token: daffThumbnailCompatToken,\n /**\n * Provider function for {@link daffThumbnailCompatToken}.\n */\n provider: provideDaffThumbnailCompatToken,\n} = createSingleInjectionToken<unknown>('thumbnailCompatToken');\n","import {\n Directive,\n Inject,\n Type,\n HostBinding,\n HostListener,\n Output,\n EventEmitter,\n ChangeDetectorRef,\n OnInit,\n OnDestroy,\n} from '@angular/core';\n\nimport { daffThumbnailCompatToken } from './thumbnail-compat.token';\nimport { DaffThumbnailRegistration } from './thumbnail-registration.interface';\nimport { DaffMediaGalleryRegistration } from '../helpers/media-gallery-registration.interface';\nimport { DAFF_MEDIA_GALLERY_TOKEN } from '../helpers/media-gallery-token';\nimport { DaffMediaGalleryRegistry } from '../registry/media-gallery.registry';\n\n/**\n * A directive marking thumbnails for the `DaffMediaRendererComponent`. Needs to be wrapped in a `daff-media-gallery` component\n * and needs to be placed on a component that is provided as a `daffThumbnailCompatToken`.\n */\n@Directive({\n selector: '[daffThumbnail]',\n standalone: true,\n})\nexport class DaffThumbnailDirective implements OnInit, OnDestroy, DaffThumbnailRegistration {\n\n /**\n * Adds a class for styling a selected thumbnail\n */\n @HostBinding('class.daff-thumbnail--selected') get selectedClass() {\n return this.selected;\n };\n\n constructor(\n @Inject(daffThumbnailCompatToken) public component: Type<unknown>,\n private cd: ChangeDetectorRef,\n private registry: DaffMediaGalleryRegistry,\n @Inject(DAFF_MEDIA_GALLERY_TOKEN) public gallery: DaffMediaGalleryRegistration,\n ) {}\n\n /**\n * Adds a class for styling a thumbnail\n */\n @HostBinding('class.daff-thumbnail') class = true;\n\n /**\n * A prop for determining whether or not the media element is selected.\n */\n selected = false;\n\n /**\n * An event that fires after the media element becomes selected.\n */\n @Output() becameSelected: EventEmitter<void> = new EventEmitter<void>();\n\n /**\n * Adds a click event to trigger selection of the media element.\n *\n * @param event: MouseEvent\n */\n @HostListener('click', ['$event']) onClick($event: MouseEvent) {\n this.registry.select(this);\n }\n\n ngOnInit(): void {\n this.registry.add(this.gallery, this);\n }\n\n ngOnDestroy(): void {\n this.registry.remove(this);\n }\n\n select() {\n this.selected = true;\n this.becameSelected.emit();\n this.cd.markForCheck();\n return this;\n }\n\n deselect() {\n this.selected = false;\n this.cd.markForCheck();\n return this;\n }\n}\n","import {\n Component,\n HostBinding,\n ChangeDetectionStrategy,\n Input,\n OnInit,\n OnDestroy,\n} from '@angular/core';\n\nimport {\n DaffArticleEncapsulatedDirective,\n DaffSkeletonableDirective,\n} from '@daffodil/design';\n\nimport { DaffMediaGalleryRegistration } from '../helpers/media-gallery-registration.interface';\nimport { DAFF_MEDIA_GALLERY_TOKEN } from '../helpers/media-gallery-token';\nimport { DaffMediaRendererComponent } from '../media-renderer/media-renderer.component';\nimport { DaffMediaGalleryRegistry } from '../registry/media-gallery.registry';\nimport { DaffThumbnailDirective } from '../thumbnail/thumbnail.directive';\n\nlet uniqueGalleryId = 0;\n\n@Component({\n selector: 'daff-media-gallery',\n templateUrl: './media-gallery.component.html',\n styleUrls: ['./media-gallery.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n { provide: DAFF_MEDIA_GALLERY_TOKEN, useExisting: DaffMediaGalleryComponent },\n ],\n hostDirectives: [\n { directive: DaffArticleEncapsulatedDirective },\n {\n directive: DaffSkeletonableDirective,\n inputs: ['skeleton'],\n },\n ],\n standalone: true,\n imports: [\n DaffMediaRendererComponent,\n DaffThumbnailDirective,\n ],\n})\nexport class DaffMediaGalleryComponent implements DaffMediaGalleryRegistration, OnInit, OnDestroy {\n /**\n * Adds a class for styling the media gallery\n */\n @HostBinding('class.daff-media-gallery') class = true;\n\n /**\n * The name of the gallery\n */\n @Input() name = `${uniqueGalleryId}`;\n\n constructor(private registry: DaffMediaGalleryRegistry) {\n uniqueGalleryId++;\n }\n\n ngOnInit() {\n this.registry.add(this);\n }\n\n ngOnDestroy() {\n this.registry.remove(this);\n }\n}\n","<div class=\"daff-media-gallery__thumbnails\">\n\t<ng-content select=\"[daffThumbnail]\"></ng-content>\n</div>\n<div class=\"daff-media-gallery__selected-thumbnail\">\n\t<daff-media-renderer></daff-media-renderer>\n</div>","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { DaffMediaGalleryComponent } from './media-gallery/media-gallery.component';\nimport { DaffMediaRendererComponent } from './media-renderer/media-renderer.component';\nimport { DaffThumbnailDirective } from './thumbnail/thumbnail.directive';\n\n/**\n * @deprecated in favor of {@link DAFF_MEDIA_GALLERY_COMPONENTS} Deprecated in version 0.78.0. Will be removed in version 0.81.0.\n */\n@NgModule({\n imports: [\n CommonModule,\n DaffMediaGalleryComponent,\n DaffThumbnailDirective,\n DaffMediaRendererComponent,\n ],\n exports: [\n DaffMediaGalleryComponent,\n DaffThumbnailDirective,\n ],\n})\nexport class DaffMediaGalleryModule {}\n","import { DaffMediaGalleryComponent } from './media-gallery/media-gallery.component';\nimport { DaffMediaRendererComponent } from './media-renderer/media-renderer.component';\nimport { DaffThumbnailDirective } from './thumbnail/thumbnail.directive';\n\nexport const DAFF_MEDIA_GALLERY_COMPONENTS = <const> [\n DaffMediaGalleryComponent,\n DaffThumbnailDirective,\n DaffMediaRendererComponent,\n];\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.DaffMediaGalleryRegistry"],"mappings":"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"}
@@ -1,7 +1,6 @@
1
1
  import * as i0 from '@angular/core';
2
2
  import { Component, ChangeDetectionStrategy } from '@angular/core';
3
- import * as i1$1 from '@daffodil/design/button';
4
- import { DaffButtonModule } from '@daffodil/design/button';
3
+ import { DaffButtonComponent } from '@daffodil/design/button';
5
4
  import * as i1 from '@daffodil/design/menu';
6
5
  import { DaffMenuModule } from '@daffodil/design/menu';
7
6
  import { FaIconComponent } from '@fortawesome/angular-fontawesome';
@@ -14,11 +13,14 @@ class MenuContentComponent {
14
13
  this.faEnvelope = faEnvelope;
15
14
  }
16
15
  /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: MenuContentComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
17
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.2", type: MenuContentComponent, isStandalone: true, selector: "menu-content", ngImport: i0, template: "<daff-menu>\n <a href=\"#\" daff-menu-item>\n <fa-icon [icon]=\"faUser\" [fixedWidth]=\"true\"></fa-icon> My Account\n </a>\n <a href=\"#\" daff-menu-item>\n <fa-icon [icon]=\"faInfo\" [fixedWidth]=\"true\"></fa-icon> Help\n </a>\n <button daff-menu-item>\n <fa-icon [icon]=\"faEnvelope\" [fixedWidth]=\"true\"></fa-icon> Contact Us\n </button>\n</daff-menu>", dependencies: [{ kind: "ngmodule", type: DaffMenuModule }, { kind: "component", type: i1.DaffMenuComponent, selector: "daff-menu" }, { kind: "component", type: i1.DaffMenuItemComponent, selector: "a[daff-menu-item],button[daff-menu-item]" }, { kind: "component", type: FaIconComponent, selector: "fa-icon", inputs: ["icon", "title", "animation", "mask", "flip", "size", "pull", "border", "inverse", "symbol", "rotate", "fixedWidth", "transform", "a11yRole"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
16
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.2", type: MenuContentComponent, isStandalone: true, selector: "menu-content", ngImport: i0, template: "<daff-menu>\n <a href=\"#\" daff-menu-item>\n <fa-icon [icon]=\"faUser\" [fixedWidth]=\"true\" daffPrefix></fa-icon> My Account\n </a>\n <a href=\"#\" daff-menu-item>\n <fa-icon [icon]=\"faInfo\" [fixedWidth]=\"true\" daffPrefix></fa-icon> Help\n </a>\n <button daff-menu-item>\n <fa-icon [icon]=\"faEnvelope\" [fixedWidth]=\"true\" daffPrefix></fa-icon> Contact Us\n </button>\n</daff-menu>", dependencies: [{ kind: "ngmodule", type: DaffMenuModule }, { kind: "component", type: i1.DaffMenuComponent, selector: "daff-menu" }, { kind: "component", type: i1.DaffMenuItemComponent, selector: "a[daff-menu-item],button[daff-menu-item]" }, { kind: "component", type: FaIconComponent, selector: "fa-icon", inputs: ["icon", "title", "animation", "mask", "flip", "size", "pull", "border", "inverse", "symbol", "rotate", "fixedWidth", "transform", "a11yRole"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
18
17
  }
19
18
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: MenuContentComponent, decorators: [{
20
19
  type: Component,
21
- args: [{ selector: 'menu-content', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [DaffMenuModule, FaIconComponent], template: "<daff-menu>\n <a href=\"#\" daff-menu-item>\n <fa-icon [icon]=\"faUser\" [fixedWidth]=\"true\"></fa-icon> My Account\n </a>\n <a href=\"#\" daff-menu-item>\n <fa-icon [icon]=\"faInfo\" [fixedWidth]=\"true\"></fa-icon> Help\n </a>\n <button daff-menu-item>\n <fa-icon [icon]=\"faEnvelope\" [fixedWidth]=\"true\"></fa-icon> Contact Us\n </button>\n</daff-menu>" }]
20
+ args: [{ selector: 'menu-content', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
21
+ DaffMenuModule,
22
+ FaIconComponent,
23
+ ], template: "<daff-menu>\n <a href=\"#\" daff-menu-item>\n <fa-icon [icon]=\"faUser\" [fixedWidth]=\"true\" daffPrefix></fa-icon> My Account\n </a>\n <a href=\"#\" daff-menu-item>\n <fa-icon [icon]=\"faInfo\" [fixedWidth]=\"true\" daffPrefix></fa-icon> Help\n </a>\n <button daff-menu-item>\n <fa-icon [icon]=\"faEnvelope\" [fixedWidth]=\"true\" daffPrefix></fa-icon> Contact Us\n </button>\n</daff-menu>" }]
22
24
  }] });
23
25
 
24
26
  class BasicMenuComponent {
@@ -26,11 +28,14 @@ class BasicMenuComponent {
26
28
  this.menu = MenuContentComponent;
27
29
  }
28
30
  /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: BasicMenuComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
29
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.2", type: BasicMenuComponent, isStandalone: true, selector: "basic-menu", ngImport: i0, template: "<button daff-button color=\"theme\" [daffMenuActivator]=\"menu\">\n\tMenu\n</button>", dependencies: [{ kind: "ngmodule", type: DaffButtonModule }, { kind: "component", type: i1$1.DaffButtonComponent, selector: "button[daff-button],button[daff-stroked-button],button[daff-raised-button],button[daff-flat-button],button[daff-icon-button],button[daff-underline-button],a[daff-button],a[daff-stroked-button],a[daff-raised-button],a[daff-flat-button],a[daff-icon-button],a[daff-underline-button]", inputs: ["loading", "tabindex", "disabled"] }, { kind: "ngmodule", type: DaffMenuModule }, { kind: "directive", type: i1.DaffMenuActivatorDirective, selector: "[daffMenuActivator]", inputs: ["daffMenuActivator"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
31
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.2", type: BasicMenuComponent, isStandalone: true, selector: "basic-menu", ngImport: i0, template: "<button daff-button color=\"theme\" [daffMenuActivator]=\"menu\">\n\tMenu\n</button>", dependencies: [{ kind: "component", type: DaffButtonComponent, selector: "button[daff-button],a[daff-button]" }, { kind: "ngmodule", type: DaffMenuModule }, { kind: "directive", type: i1.DaffMenuActivatorDirective, selector: "[daffMenuActivator]", inputs: ["daffMenuActivator"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
30
32
  }
31
33
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: BasicMenuComponent, decorators: [{
32
34
  type: Component,
33
- args: [{ selector: 'basic-menu', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [DaffButtonModule, DaffMenuModule], template: "<button daff-button color=\"theme\" [daffMenuActivator]=\"menu\">\n\tMenu\n</button>" }]
35
+ args: [{ selector: 'basic-menu', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
36
+ DaffButtonComponent,
37
+ DaffMenuModule,
38
+ ], template: "<button daff-button color=\"theme\" [daffMenuActivator]=\"menu\">\n\tMenu\n</button>" }]
34
39
  }] });
35
40
 
36
41
  const MENU_EXAMPLES = [
@@ -1 +1 @@
1
- {"version":3,"file":"daffodil-design-menu-examples.mjs","sources":["../../../libs/design/menu/examples/src/basic-menu/menu-content/menu-content.component.ts","../../../libs/design/menu/examples/src/basic-menu/menu-content/menu-content.component.html","../../../libs/design/menu/examples/src/basic-menu/basic-menu.component.ts","../../../libs/design/menu/examples/src/basic-menu/basic-menu.component.html","../../../libs/design/menu/examples/src/public_api.ts","../../../libs/design/menu/examples/src/daffodil-design-menu-examples.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n} from '@angular/core';\nimport { FaIconComponent } from '@fortawesome/angular-fontawesome';\nimport {\n faEnvelope,\n faInfo,\n faUser,\n} from '@fortawesome/free-solid-svg-icons';\n\nimport { DaffMenuModule } from '@daffodil/design/menu';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'menu-content',\n templateUrl: './menu-content.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n imports: [DaffMenuModule, FaIconComponent],\n})\nexport class MenuContentComponent {\n faUser = faUser;\n faInfo = faInfo;\n faEnvelope = faEnvelope;\n}\n","<daff-menu>\n <a href=\"#\" daff-menu-item>\n <fa-icon [icon]=\"faUser\" [fixedWidth]=\"true\"></fa-icon> My Account\n </a>\n <a href=\"#\" daff-menu-item>\n <fa-icon [icon]=\"faInfo\" [fixedWidth]=\"true\"></fa-icon> Help\n </a>\n <button daff-menu-item>\n <fa-icon [icon]=\"faEnvelope\" [fixedWidth]=\"true\"></fa-icon> Contact Us\n </button>\n</daff-menu>","import {\n ChangeDetectionStrategy,\n Component,\n} from '@angular/core';\n\nimport { DaffButtonModule } from '@daffodil/design/button';\nimport { DaffMenuModule } from '@daffodil/design/menu';\n\nimport { MenuContentComponent } from './menu-content/menu-content.component';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'basic-menu',\n templateUrl: './basic-menu.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n imports: [DaffButtonModule, DaffMenuModule],\n})\nexport class BasicMenuComponent {\n public menu = MenuContentComponent;\n}\n","<button daff-button color=\"theme\" [daffMenuActivator]=\"menu\">\n\tMenu\n</button>","import { BasicMenuComponent } from './basic-menu/basic-menu.component';\n\n\nexport const MENU_EXAMPLES = [\n BasicMenuComponent,\n];\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i2"],"mappings":";;;;;;;;;MAqBa,oBAAoB,CAAA;AARjC,IAAA,WAAA,GAAA;QASE,IAAM,CAAA,MAAA,GAAG,MAAM,CAAC;QAChB,IAAM,CAAA,MAAA,GAAG,MAAM,CAAC;QAChB,IAAU,CAAA,UAAA,GAAG,UAAU,CAAC;AACzB,KAAA;iIAJY,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAApB,uBAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,oBAAoB,ECrBjC,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,cAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,uXAUY,EDSA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,cAAc,sNAAE,eAAe,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,OAAA,EAAA,WAAA,EAAA,MAAA,EAAA,MAAA,EAAA,MAAA,EAAA,MAAA,EAAA,QAAA,EAAA,SAAA,EAAA,QAAA,EAAA,QAAA,EAAA,YAAA,EAAA,WAAA,EAAA,UAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA,EAAA;;2FAE9B,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBARhC,SAAS;+BAEE,cAAc,EAAA,eAAA,EAEP,uBAAuB,CAAC,MAAM,EAAA,UAAA,EACnC,IAAI,EAAA,OAAA,EACP,CAAC,cAAc,EAAE,eAAe,CAAC,EAAA,QAAA,EAAA,uXAAA,EAAA,CAAA;;;MED/B,kBAAkB,CAAA;AAR/B,IAAA,WAAA,GAAA;QASS,IAAI,CAAA,IAAA,GAAG,oBAAoB,CAAC;AACpC,KAAA;iIAFY,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAlB,uBAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,kBAAkB,EClB/B,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,YAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,sFAES,EDcG,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,gBAAgB,uaAAE,cAAc,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,0BAAA,EAAA,QAAA,EAAA,qBAAA,EAAA,MAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA,EAAA;;2FAE/B,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAR9B,SAAS;+BAEE,YAAY,EAAA,eAAA,EAEL,uBAAuB,CAAC,MAAM,EAAA,UAAA,EACnC,IAAI,EAAA,OAAA,EACP,CAAC,gBAAgB,EAAE,cAAc,CAAC,EAAA,QAAA,EAAA,sFAAA,EAAA,CAAA;;;AEbhC,MAAA,aAAa,GAAG;IAC3B,kBAAkB;;;ACJpB;;AAEG;;;;"}
1
+ {"version":3,"file":"daffodil-design-menu-examples.mjs","sources":["../../../libs/design/menu/examples/src/basic-menu/menu-content/menu-content.component.ts","../../../libs/design/menu/examples/src/basic-menu/menu-content/menu-content.component.html","../../../libs/design/menu/examples/src/basic-menu/basic-menu.component.ts","../../../libs/design/menu/examples/src/basic-menu/basic-menu.component.html","../../../libs/design/menu/examples/src/public_api.ts","../../../libs/design/menu/examples/src/daffodil-design-menu-examples.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n} from '@angular/core';\nimport { FaIconComponent } from '@fortawesome/angular-fontawesome';\nimport {\n faEnvelope,\n faInfo,\n faUser,\n} from '@fortawesome/free-solid-svg-icons';\n\nimport { DaffMenuModule } from '@daffodil/design/menu';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'menu-content',\n templateUrl: './menu-content.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n imports: [\n DaffMenuModule,\n FaIconComponent,\n ],\n})\nexport class MenuContentComponent {\n faUser = faUser;\n faInfo = faInfo;\n faEnvelope = faEnvelope;\n}\n","<daff-menu>\n <a href=\"#\" daff-menu-item>\n <fa-icon [icon]=\"faUser\" [fixedWidth]=\"true\" daffPrefix></fa-icon> My Account\n </a>\n <a href=\"#\" daff-menu-item>\n <fa-icon [icon]=\"faInfo\" [fixedWidth]=\"true\" daffPrefix></fa-icon> Help\n </a>\n <button daff-menu-item>\n <fa-icon [icon]=\"faEnvelope\" [fixedWidth]=\"true\" daffPrefix></fa-icon> Contact Us\n </button>\n</daff-menu>","import {\n ChangeDetectionStrategy,\n Component,\n} from '@angular/core';\n\nimport { DaffButtonComponent } from '@daffodil/design/button';\nimport { DaffMenuModule } from '@daffodil/design/menu';\n\nimport { MenuContentComponent } from './menu-content/menu-content.component';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'basic-menu',\n templateUrl: './basic-menu.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n imports: [\n DaffButtonComponent,\n DaffMenuModule,\n ],\n})\nexport class BasicMenuComponent {\n public menu = MenuContentComponent;\n}\n","<button daff-button color=\"theme\" [daffMenuActivator]=\"menu\">\n\tMenu\n</button>","import { BasicMenuComponent } from './basic-menu/basic-menu.component';\n\n\nexport const MENU_EXAMPLES = [\n BasicMenuComponent,\n];\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;MAwBa,oBAAoB,CAAA;AAXjC,IAAA,WAAA,GAAA;QAYE,IAAM,CAAA,MAAA,GAAG,MAAM,CAAC;QAChB,IAAM,CAAA,MAAA,GAAG,MAAM,CAAC;QAChB,IAAU,CAAA,UAAA,GAAG,UAAU,CAAC;AACzB,KAAA;iIAJY,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAApB,uBAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,oBAAoB,ECxBjC,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,cAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,wZAUY,EDUR,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,cAAc,sNACd,eAAe,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,OAAA,EAAA,WAAA,EAAA,MAAA,EAAA,MAAA,EAAA,MAAA,EAAA,MAAA,EAAA,QAAA,EAAA,SAAA,EAAA,QAAA,EAAA,QAAA,EAAA,YAAA,EAAA,WAAA,EAAA,UAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA,EAAA;;2FAGN,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAXhC,SAAS;AAEE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,cAAc,mBAEP,uBAAuB,CAAC,MAAM,EAAA,UAAA,EACnC,IAAI,EACP,OAAA,EAAA;wBACP,cAAc;wBACd,eAAe;AAChB,qBAAA,EAAA,QAAA,EAAA,wZAAA,EAAA,CAAA;;;MEDU,kBAAkB,CAAA;AAX/B,IAAA,WAAA,GAAA;QAYS,IAAI,CAAA,IAAA,GAAG,oBAAoB,CAAC;AACpC,KAAA;iIAFY,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAlB,uBAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,kBAAkB,ECrB/B,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,YAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,sFAES,EDeL,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,mBAAmB,8EACnB,cAAc,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,0BAAA,EAAA,QAAA,EAAA,qBAAA,EAAA,MAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA,EAAA;;2FAGL,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAX9B,SAAS;AAEE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,YAAY,mBAEL,uBAAuB,CAAC,MAAM,EAAA,UAAA,EACnC,IAAI,EACP,OAAA,EAAA;wBACP,mBAAmB;wBACnB,cAAc;AACf,qBAAA,EAAA,QAAA,EAAA,sFAAA,EAAA,CAAA;;;AEhBU,MAAA,aAAa,GAAG;IAC3B,kBAAkB;;;ACJpB;;AAEG;;;;"}