@daffodil/design 0.78.0 → 0.80.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 (386) hide show
  1. package/accordion/accordion.module.d.ts +3 -1
  2. package/accordion/src/accordion-theme.scss +4 -4
  3. package/article/README.md +5 -6
  4. package/article/article.module.d.ts +3 -1
  5. package/article/src/article-theme.scss +8 -8
  6. package/atoms/form/form-field/form-field/form-field.component.d.ts +1 -1
  7. package/breadcrumb/breadcrumb.module.d.ts +3 -1
  8. package/breadcrumb/src/breadcrumb-theme.scss +3 -3
  9. package/button/README.md +3 -3
  10. package/button/button/basic/button.component.d.ts +28 -0
  11. package/button/button/button-base.directive.d.ts +51 -0
  12. package/button/button/flat/flat.component.d.ts +28 -0
  13. package/button/button/icon/icon.component.d.ts +24 -0
  14. package/button/button/raised/raised.component.d.ts +28 -0
  15. package/button/button/stroked/stroked.component.d.ts +28 -0
  16. package/button/button/underline/underline.component.d.ts +28 -0
  17. package/button/button.d.ts +7 -2
  18. package/button/button.module.d.ts +11 -4
  19. package/button/public_api.d.ts +6 -1
  20. package/button/src/button/basic/button-theme.scss +145 -0
  21. package/button/src/button/button-base.scss +79 -0
  22. package/button/src/button/flat/flat-theme.scss +142 -0
  23. package/button/src/button/icon/icon-theme.scss +140 -0
  24. package/button/src/button/raised/raised-theme.scss +107 -0
  25. package/button/src/button/stroked/stroked-theme.scss +155 -0
  26. package/button/src/button/underline/underline-theme.scss +89 -0
  27. package/callout/callout.module.d.ts +3 -1
  28. package/callout/src/callout-theme.scss +11 -17
  29. package/card/card.module.d.ts +1 -1
  30. package/card/src/card-theme-variants/linkable-card.scss +1 -1
  31. package/card/src/card-theme.scss +9 -9
  32. package/container/container.module.d.ts +1 -1
  33. package/core/public_api.d.ts +1 -0
  34. package/core/selectable/public_api.d.ts +2 -0
  35. package/core/selectable/selectable.d.ts +7 -0
  36. package/core/selectable/selectable.directive.d.ts +17 -0
  37. package/core/statusable/statusable.d.ts +5 -3
  38. package/core/statusable/statusable.directive.d.ts +6 -4
  39. package/esm2022/accordion/accordion/animation/accordion-animation.mjs +1 -4
  40. package/esm2022/accordion/accordion.module.mjs +4 -2
  41. package/esm2022/article/article.module.mjs +4 -2
  42. package/esm2022/atoms/form/checkbox/checkbox.component.mjs +2 -2
  43. package/esm2022/atoms/form/checkbox-set/checkbox-set.component.mjs +2 -2
  44. package/esm2022/atoms/form/form-field/form-field/form-field.component.mjs +2 -2
  45. package/esm2022/atoms/form/radio/radio.component.mjs +2 -2
  46. package/esm2022/atoms/form/radio-set/radio-set.component.mjs +2 -2
  47. package/esm2022/breadcrumb/breadcrumb.module.mjs +4 -2
  48. package/esm2022/button/button/basic/button.component.mjs +48 -0
  49. package/esm2022/button/button/button-base.directive.mjs +105 -0
  50. package/esm2022/button/button/flat/flat.component.mjs +48 -0
  51. package/esm2022/button/button/icon/icon.component.mjs +44 -0
  52. package/esm2022/button/button/raised/raised.component.mjs +48 -0
  53. package/esm2022/button/button/stroked/stroked.component.mjs +48 -0
  54. package/esm2022/button/button/underline/underline.component.mjs +48 -0
  55. package/esm2022/button/button.mjs +12 -2
  56. package/esm2022/button/button.module.mjs +37 -5
  57. package/esm2022/button/examples/basic-button/basic-button.component.mjs +4 -6
  58. package/esm2022/button/examples/flat-button/flat-button.component.mjs +4 -6
  59. package/esm2022/button/examples/icon-button/icon-button.component.mjs +4 -6
  60. package/esm2022/button/examples/raised-button/raised-button.component.mjs +4 -6
  61. package/esm2022/button/examples/sizeable-button/sizeable-button.component.mjs +2 -2
  62. package/esm2022/button/examples/statusable-button/statusable-button.component.mjs +3 -3
  63. package/esm2022/button/examples/stroked-button/stroked-button.component.mjs +4 -6
  64. package/esm2022/button/examples/underline-button/underline-button.component.mjs +4 -6
  65. package/esm2022/button/public_api.mjs +7 -2
  66. package/esm2022/callout/callout.module.mjs +4 -2
  67. package/esm2022/callout/examples/callout-text-alignment/callout-text-alignment.component.mjs +5 -7
  68. package/esm2022/callout/examples/callout-theming/callout-theming.component.mjs +5 -7
  69. package/esm2022/callout/examples/callout-with-grid/callout-with-grid.component.mjs +5 -6
  70. package/esm2022/callout/examples/compact-callout/compact-callout.component.mjs +4 -6
  71. package/esm2022/card/card.module.mjs +2 -2
  72. package/esm2022/card/examples/basic-card/basic-card.component.mjs +4 -6
  73. package/esm2022/card/examples/card-orientation/card-orientation.component.mjs +5 -7
  74. package/esm2022/checkbox/examples/basic-checkbox/basic-checkbox.component.mjs +4 -5
  75. package/esm2022/checkbox/examples/checkbox-set/checkbox-set.component.mjs +4 -5
  76. package/esm2022/container/container/container.component.mjs +2 -2
  77. package/esm2022/container/container.module.mjs +2 -2
  78. package/esm2022/core/public_api.mjs +2 -1
  79. package/esm2022/core/selectable/public_api.mjs +2 -0
  80. package/esm2022/core/selectable/selectable.directive.mjs +41 -0
  81. package/esm2022/core/selectable/selectable.mjs +2 -0
  82. package/esm2022/core/statusable/statusable.directive.mjs +7 -5
  83. package/esm2022/core/statusable/statusable.mjs +3 -2
  84. package/esm2022/hero/examples/compact-hero/compact-hero.component.mjs +4 -6
  85. package/esm2022/hero/examples/hero-text-alignment/hero-text-alignment.component.mjs +5 -7
  86. package/esm2022/hero/examples/hero-theming/hero-theming.component.mjs +5 -7
  87. package/esm2022/hero/examples/hero-with-grid/hero-with-grid.component.mjs +4 -6
  88. package/esm2022/hero/hero.module.mjs +2 -2
  89. package/esm2022/image/image.module.mjs +2 -2
  90. package/esm2022/link-set/link-set.module.mjs +2 -2
  91. package/esm2022/list/examples/basic-list/basic-list.component.mjs +1 -1
  92. package/esm2022/list/examples/icon-list/icon-list.component.mjs +2 -2
  93. package/esm2022/list/examples/multiline-list/multiline-list.component.mjs +1 -1
  94. package/esm2022/list/examples/nav-list/nav-list.component.mjs +2 -2
  95. package/esm2022/list/list/list.component.mjs +2 -2
  96. package/esm2022/list/list-item/list-item.component.mjs +10 -3
  97. package/esm2022/list/list.module.mjs +2 -2
  98. package/esm2022/loading-icon/examples/examples.mjs +1 -3
  99. package/esm2022/loading-icon/examples/loading-icon-color/loading-icon-color.component.mjs +2 -2
  100. package/esm2022/loading-icon/loading-icon/loading-icon.component.mjs +5 -20
  101. package/esm2022/loading-icon/loading-icon.module.mjs +2 -2
  102. package/esm2022/media-gallery/examples/basic-media-gallery/basic-media-gallery.component.mjs +1 -1
  103. package/esm2022/media-gallery/examples/mismatched-sizes-media-gallery/mismatched-sizes-media-gallery.component.mjs +1 -1
  104. package/esm2022/media-gallery/examples/skeleton-media-gallery/skeleton-media-gallery.component.mjs +1 -1
  105. package/esm2022/media-gallery/helpers/media-gallery-token.mjs +7 -3
  106. package/esm2022/media-gallery/media-gallery.module.mjs +2 -2
  107. package/esm2022/media-gallery/thumbnail/thumbnail-compat.token.mjs +8 -3
  108. package/esm2022/media-gallery/thumbnail/thumbnail.directive.mjs +26 -39
  109. package/esm2022/menu/examples/basic-menu/basic-menu.component.mjs +5 -7
  110. package/esm2022/modal/examples/basic-modal/basic-modal.component.mjs +4 -6
  111. package/esm2022/modal/examples/basic-modal/modal-content.component.mjs +4 -6
  112. package/esm2022/modal/modal-header/modal-header.component.mjs +4 -6
  113. package/esm2022/modal/modal.module.mjs +2 -2
  114. package/esm2022/navbar/examples/basic-navbar/basic-navbar.component.mjs +4 -6
  115. package/esm2022/navbar/examples/contained-navbar/contained-navbar.component.mjs +4 -6
  116. package/esm2022/navbar/examples/navbar-theming/navbar-theming.component.mjs +5 -7
  117. package/esm2022/navbar/examples/raised-navbar/raised-navbar.component.mjs +4 -6
  118. package/esm2022/navbar/navbar.module.mjs +2 -2
  119. package/esm2022/notification/examples/default-notification/default-notification.component.mjs +1 -3
  120. package/esm2022/notification/examples/notification-orientations/notification-orientations.component.mjs +1 -3
  121. package/esm2022/notification/examples/notification-status/notification-status.component.mjs +3 -5
  122. package/esm2022/notification/examples/notification-with-actions/notification-with-actions.component.mjs +4 -5
  123. package/esm2022/notification/notification/notification.component.mjs +3 -3
  124. package/esm2022/notification/notification.module.mjs +2 -2
  125. package/esm2022/paginator/paginator.module.mjs +2 -2
  126. package/esm2022/progress-bar/progress-bar.module.mjs +2 -2
  127. package/esm2022/sidebar/examples/over-and-under-sidebars/over-and-under-sidebars.component.mjs +5 -6
  128. package/esm2022/sidebar/sidebar-viewport/scroll-token/scroll.token.mjs +9 -3
  129. package/esm2022/sidebar/sidebar-viewport/sidebar-viewport.component.mjs +3 -3
  130. package/esm2022/sidebar/sidebar.module.mjs +2 -2
  131. package/esm2022/switch/daffodil-design-switch.mjs +5 -0
  132. package/esm2022/switch/examples/basic-switch/basic-switch.component.mjs +23 -0
  133. package/esm2022/switch/examples/daffodil-design-switch-examples.mjs +5 -0
  134. package/esm2022/switch/examples/disabled-switch/disabled-switch.component.mjs +20 -0
  135. package/esm2022/switch/examples/examples.mjs +13 -0
  136. package/esm2022/switch/examples/index.mjs +2 -0
  137. package/esm2022/switch/examples/loading-switch/loading-switch.component.mjs +20 -0
  138. package/esm2022/switch/examples/public_api.mjs +7 -0
  139. package/esm2022/switch/examples/switch-error/switch-error.component.mjs +22 -0
  140. package/esm2022/switch/examples/switch-label-positions/switch-label-positions.component.mjs +31 -0
  141. package/esm2022/switch/index.mjs +2 -0
  142. package/esm2022/switch/public_api.mjs +3 -0
  143. package/esm2022/switch/switch/label-position.mjs +11 -0
  144. package/esm2022/switch/switch/switch.component.mjs +126 -0
  145. package/esm2022/switch/switch.mjs +7 -0
  146. package/esm2022/tabs/daffodil-design-tabs.mjs +5 -0
  147. package/esm2022/tabs/examples/basic-tabs/basic-tabs.component.mjs +22 -0
  148. package/esm2022/tabs/examples/custom-select-tabs/custom-select-tabs.component.mjs +34 -0
  149. package/esm2022/tabs/examples/daffodil-design-tabs-examples.mjs +5 -0
  150. package/esm2022/tabs/examples/disabled-tabs/disabled-tabs.component.mjs +22 -0
  151. package/esm2022/tabs/examples/index.mjs +2 -0
  152. package/esm2022/tabs/examples/initially-select-tab/initially-select-tab.component.mjs +22 -0
  153. package/esm2022/tabs/examples/public_api.mjs +11 -0
  154. package/esm2022/tabs/index.mjs +2 -0
  155. package/esm2022/tabs/public_api.mjs +6 -0
  156. package/esm2022/tabs/tabs/tab/tab.component.mjs +86 -0
  157. package/esm2022/tabs/tabs/tab-activator/tab-activator.component.mjs +84 -0
  158. package/esm2022/tabs/tabs/tab-label/tab-label.component.mjs +33 -0
  159. package/esm2022/tabs/tabs/tab-panel/tab-panel.component.mjs +68 -0
  160. package/esm2022/tabs/tabs/tabs.component.mjs +157 -0
  161. package/esm2022/tabs/tabs.mjs +13 -0
  162. package/esm2022/text-snippet/daffodil-design-text-snippet.mjs +5 -0
  163. package/esm2022/text-snippet/examples/basic-text-snippet/basic-text-snippet.component.mjs +14 -0
  164. package/esm2022/text-snippet/examples/daffodil-design-text-snippet-examples.mjs +5 -0
  165. package/esm2022/text-snippet/examples/index.mjs +2 -0
  166. package/esm2022/text-snippet/examples/public_api.mjs +5 -0
  167. package/esm2022/text-snippet/index.mjs +2 -0
  168. package/esm2022/text-snippet/public_api.mjs +2 -0
  169. package/esm2022/text-snippet/text-snippet.component.mjs +46 -0
  170. package/esm2022/toast/examples/default-toast/default-toast.component.mjs +4 -6
  171. package/esm2022/toast/examples/toast-positions/toast-positions.component.mjs +4 -6
  172. package/esm2022/toast/examples/toast-status/toast-status.component.mjs +8 -10
  173. package/esm2022/toast/examples/toast-with-custom-duration/toast-with-custom-duration.component.mjs +4 -6
  174. package/esm2022/toast/options/daff-toast-options.mjs +7 -7
  175. package/esm2022/toast/toast/toast-provider.mjs +2 -2
  176. package/esm2022/toast/toast/toast-template.component.mjs +2 -2
  177. package/esm2022/toast/toast/toast.component.mjs +3 -3
  178. package/esm2022/toast/toast.module.mjs +2 -2
  179. package/esm2022/tree/tree.module.mjs +2 -2
  180. package/fesm2022/daffodil-design-accordion.mjs +3 -4
  181. package/fesm2022/daffodil-design-accordion.mjs.map +1 -1
  182. package/fesm2022/daffodil-design-article.mjs +3 -1
  183. package/fesm2022/daffodil-design-article.mjs.map +1 -1
  184. package/fesm2022/daffodil-design-breadcrumb.mjs +3 -1
  185. package/fesm2022/daffodil-design-breadcrumb.mjs.map +1 -1
  186. package/fesm2022/daffodil-design-button-examples.mjs +16 -16
  187. package/fesm2022/daffodil-design-button-examples.mjs.map +1 -1
  188. package/fesm2022/daffodil-design-button.mjs +308 -132
  189. package/fesm2022/daffodil-design-button.mjs.map +1 -1
  190. package/fesm2022/daffodil-design-callout-examples.mjs +12 -13
  191. package/fesm2022/daffodil-design-callout-examples.mjs.map +1 -1
  192. package/fesm2022/daffodil-design-callout.mjs +3 -1
  193. package/fesm2022/daffodil-design-callout.mjs.map +1 -1
  194. package/fesm2022/daffodil-design-card-examples.mjs +10 -12
  195. package/fesm2022/daffodil-design-card-examples.mjs.map +1 -1
  196. package/fesm2022/daffodil-design-card.mjs +1 -1
  197. package/fesm2022/daffodil-design-card.mjs.map +1 -1
  198. package/fesm2022/daffodil-design-checkbox-examples.mjs +5 -6
  199. package/fesm2022/daffodil-design-checkbox-examples.mjs.map +1 -1
  200. package/fesm2022/daffodil-design-container.mjs +3 -3
  201. package/fesm2022/daffodil-design-container.mjs.map +1 -1
  202. package/fesm2022/daffodil-design-hero-examples.mjs +11 -13
  203. package/fesm2022/daffodil-design-hero-examples.mjs.map +1 -1
  204. package/fesm2022/daffodil-design-hero.mjs +1 -1
  205. package/fesm2022/daffodil-design-hero.mjs.map +1 -1
  206. package/fesm2022/daffodil-design-image.mjs +1 -1
  207. package/fesm2022/daffodil-design-image.mjs.map +1 -1
  208. package/fesm2022/daffodil-design-link-set.mjs +1 -1
  209. package/fesm2022/daffodil-design-link-set.mjs.map +1 -1
  210. package/fesm2022/daffodil-design-list-examples.mjs +4 -4
  211. package/fesm2022/daffodil-design-list-examples.mjs.map +1 -1
  212. package/fesm2022/daffodil-design-list.mjs +12 -5
  213. package/fesm2022/daffodil-design-list.mjs.map +1 -1
  214. package/fesm2022/daffodil-design-loading-icon-examples.mjs +1 -13
  215. package/fesm2022/daffodil-design-loading-icon-examples.mjs.map +1 -1
  216. package/fesm2022/daffodil-design-loading-icon.mjs +5 -20
  217. package/fesm2022/daffodil-design-loading-icon.mjs.map +1 -1
  218. package/fesm2022/daffodil-design-media-gallery-examples.mjs +3 -3
  219. package/fesm2022/daffodil-design-media-gallery-examples.mjs.map +1 -1
  220. package/fesm2022/daffodil-design-media-gallery.mjs +37 -42
  221. package/fesm2022/daffodil-design-media-gallery.mjs.map +1 -1
  222. package/fesm2022/daffodil-design-menu-examples.mjs +3 -5
  223. package/fesm2022/daffodil-design-menu-examples.mjs.map +1 -1
  224. package/fesm2022/daffodil-design-modal-examples.mjs +5 -7
  225. package/fesm2022/daffodil-design-modal-examples.mjs.map +1 -1
  226. package/fesm2022/daffodil-design-modal.mjs +4 -5
  227. package/fesm2022/daffodil-design-modal.mjs.map +1 -1
  228. package/fesm2022/daffodil-design-navbar-examples.mjs +11 -13
  229. package/fesm2022/daffodil-design-navbar-examples.mjs.map +1 -1
  230. package/fesm2022/daffodil-design-navbar.mjs +1 -1
  231. package/fesm2022/daffodil-design-navbar.mjs.map +1 -1
  232. package/fesm2022/daffodil-design-notification-examples.mjs +5 -9
  233. package/fesm2022/daffodil-design-notification-examples.mjs.map +1 -1
  234. package/fesm2022/daffodil-design-notification.mjs +3 -3
  235. package/fesm2022/daffodil-design-notification.mjs.map +1 -1
  236. package/fesm2022/daffodil-design-paginator.mjs +1 -1
  237. package/fesm2022/daffodil-design-paginator.mjs.map +1 -1
  238. package/fesm2022/daffodil-design-progress-bar.mjs +1 -1
  239. package/fesm2022/daffodil-design-progress-bar.mjs.map +1 -1
  240. package/fesm2022/daffodil-design-sidebar-examples.mjs +4 -5
  241. package/fesm2022/daffodil-design-sidebar-examples.mjs.map +1 -1
  242. package/fesm2022/daffodil-design-sidebar.mjs +11 -5
  243. package/fesm2022/daffodil-design-sidebar.mjs.map +1 -1
  244. package/fesm2022/daffodil-design-switch-examples.mjs +109 -0
  245. package/fesm2022/daffodil-design-switch-examples.mjs.map +1 -0
  246. package/fesm2022/daffodil-design-switch.mjs +148 -0
  247. package/fesm2022/daffodil-design-switch.mjs.map +1 -0
  248. package/fesm2022/daffodil-design-tabs-examples.mjs +93 -0
  249. package/fesm2022/daffodil-design-tabs-examples.mjs.map +1 -0
  250. package/fesm2022/daffodil-design-tabs.mjs +428 -0
  251. package/fesm2022/daffodil-design-tabs.mjs.map +1 -0
  252. package/fesm2022/daffodil-design-text-snippet-examples.mjs +25 -0
  253. package/fesm2022/daffodil-design-text-snippet-examples.mjs.map +1 -0
  254. package/fesm2022/daffodil-design-text-snippet.mjs +53 -0
  255. package/fesm2022/daffodil-design-text-snippet.mjs.map +1 -0
  256. package/fesm2022/daffodil-design-toast-examples.mjs +13 -15
  257. package/fesm2022/daffodil-design-toast-examples.mjs.map +1 -1
  258. package/fesm2022/daffodil-design-toast.mjs +13 -12
  259. package/fesm2022/daffodil-design-toast.mjs.map +1 -1
  260. package/fesm2022/daffodil-design-tree.mjs +1 -1
  261. package/fesm2022/daffodil-design-tree.mjs.map +1 -1
  262. package/fesm2022/daffodil-design.mjs +53 -11
  263. package/fesm2022/daffodil-design.mjs.map +1 -1
  264. package/hero/hero.module.d.ts +1 -1
  265. package/hero/src/hero-theme.scss +11 -17
  266. package/image/README.md +4 -1
  267. package/image/image.module.d.ts +1 -1
  268. package/link-set/README.md +1 -1
  269. package/link-set/link-set.module.d.ts +1 -1
  270. package/list/list-item/list-item.component.d.ts +3 -1
  271. package/list/list.module.d.ts +1 -1
  272. package/list/src/list-theme.scss +13 -9
  273. package/loading-icon/README.md +0 -5
  274. package/loading-icon/examples/examples.d.ts +2 -2
  275. package/loading-icon/loading-icon/loading-icon.component.d.ts +1 -9
  276. package/loading-icon/loading-icon.module.d.ts +1 -1
  277. package/loading-icon/src/loading-icon-theme.scss +7 -7
  278. package/media-gallery/README.md +4 -1
  279. package/media-gallery/helpers/media-gallery-token.d.ts +1 -2
  280. package/media-gallery/media-gallery.module.d.ts +1 -1
  281. package/media-gallery/src/media-gallery-theme.scss +3 -3
  282. package/media-gallery/thumbnail/thumbnail-compat.token.d.ts +1 -5
  283. package/media-gallery/thumbnail/thumbnail.directive.d.ts +9 -18
  284. package/menu/src/menu-theme.scss +5 -5
  285. package/modal/modal.module.d.ts +1 -1
  286. package/modal/src/modal-theme.scss +1 -1
  287. package/navbar/navbar.module.d.ts +1 -1
  288. package/navbar/src/navbar-theme.scss +8 -8
  289. package/notification/README.md +2 -2
  290. package/notification/notification/notification.component.d.ts +1 -1
  291. package/notification/notification.module.d.ts +1 -1
  292. package/notification/src/notification-theme.scss +25 -21
  293. package/package.json +1 -1
  294. package/paginator/paginator.module.d.ts +1 -1
  295. package/paginator/src/paginator-theme.scss +11 -10
  296. package/progress-bar/progress-bar.module.d.ts +1 -1
  297. package/progress-bar/src/progress-bar-theme.scss +10 -10
  298. package/scss/accessibility/_index.scss +1 -1
  299. package/scss/core/_index.scss +1 -2
  300. package/scss/core/error/error-to-string.scss +13 -0
  301. package/scss/core/map/map-deep-check/map-deep-check.scss +2 -1
  302. package/scss/core/map/map-deep-get/map-deep-get.scss +1 -0
  303. package/scss/core/map/map-get/map-get.scss +23 -0
  304. package/scss/core/map/map-get/map-get.spec.scss +65 -0
  305. package/scss/core/string/split/string-split.scss +10 -7
  306. package/scss/global.scss +1 -0
  307. package/scss/interactions/_index.scss +1 -1
  308. package/scss/layout/_index.scss +1 -1
  309. package/scss/state/skeleton/_mixins.scss +2 -2
  310. package/scss/theme.scss +15 -1
  311. package/scss/theming/_configure-theme.scss +60 -2
  312. package/scss/theming/_daff-theme.scss +14 -4
  313. package/scss/theming/_index.scss +1 -1
  314. package/scss/theming/_theme-css-variables.scss +15 -13
  315. package/scss/theming/contrast/luminance/luminance.scss +8 -6
  316. package/scss/theming/illuminate/illuminate.scss +20 -17
  317. package/scss/typography/utilities/_index.scss +1 -1
  318. package/scss/typography/utilities/_variables.scss +1 -1
  319. package/sidebar/sidebar-viewport/scroll-token/scroll.token.d.ts +1 -7
  320. package/sidebar/sidebar-viewport/sidebar-viewport.component.d.ts +1 -1
  321. package/sidebar/sidebar.module.d.ts +1 -1
  322. package/sidebar/src/sidebar-theme.scss +3 -3
  323. package/src/atoms/form/form-field/form-field/form-field-theme.scss +6 -6
  324. package/src/atoms/form/input/input-theme.scss +2 -2
  325. package/src/atoms/form/native-select/native-select-theme.scss +3 -3
  326. package/switch/README.md +61 -0
  327. package/switch/examples/basic-switch/basic-switch.component.d.ts +8 -0
  328. package/switch/examples/disabled-switch/disabled-switch.component.d.ts +7 -0
  329. package/switch/examples/examples.d.ts +5 -0
  330. package/switch/examples/index.d.ts +1 -0
  331. package/switch/examples/loading-switch/loading-switch.component.d.ts +7 -0
  332. package/switch/examples/public_api.d.ts +6 -0
  333. package/switch/examples/switch-error/switch-error.component.d.ts +7 -0
  334. package/switch/examples/switch-label-positions/switch-label-positions.component.d.ts +12 -0
  335. package/switch/index.d.ts +1 -0
  336. package/switch/public_api.d.ts +2 -0
  337. package/switch/src/switch-theme.scss +31 -0
  338. package/switch/switch/label-position.d.ts +10 -0
  339. package/switch/switch/switch.component.d.ts +53 -0
  340. package/switch/switch.d.ts +3 -0
  341. package/tabs/README.md +19 -0
  342. package/tabs/examples/basic-tabs/basic-tabs.component.d.ts +6 -0
  343. package/tabs/examples/custom-select-tabs/custom-select-tabs.component.d.ts +11 -0
  344. package/tabs/examples/disabled-tabs/disabled-tabs.component.d.ts +6 -0
  345. package/tabs/examples/index.d.ts +1 -0
  346. package/tabs/examples/initially-select-tab/initially-select-tab.component.d.ts +6 -0
  347. package/tabs/examples/public_api.d.ts +2 -0
  348. package/tabs/index.d.ts +1 -0
  349. package/tabs/public_api.d.ts +5 -0
  350. package/tabs/src/tabs-theme.scss +22 -0
  351. package/tabs/tabs/tab/tab.component.d.ts +57 -0
  352. package/tabs/tabs/tab-activator/tab-activator.component.d.ts +38 -0
  353. package/tabs/tabs/tab-label/tab-label.component.d.ts +19 -0
  354. package/tabs/tabs/tab-panel/tab-panel.component.d.ts +38 -0
  355. package/tabs/tabs/tabs.component.d.ts +103 -0
  356. package/tabs/tabs.d.ts +6 -0
  357. package/text-snippet/README.md +2 -0
  358. package/text-snippet/examples/basic-text-snippet/basic-text-snippet.component.d.ts +5 -0
  359. package/text-snippet/examples/index.d.ts +1 -0
  360. package/text-snippet/examples/public_api.d.ts +2 -0
  361. package/text-snippet/index.d.ts +1 -0
  362. package/text-snippet/public_api.d.ts +1 -0
  363. package/text-snippet/text-snippet.component.d.ts +19 -0
  364. package/toast/README.md +5 -5
  365. package/toast/options/daff-toast-options.d.ts +1 -3
  366. package/toast/src/toast-theme.scss +28 -24
  367. package/toast/toast/toast-provider.d.ts +1 -1
  368. package/toast/toast.module.d.ts +1 -1
  369. package/tree/src/tree-theme.scss +11 -11
  370. package/tree/tree.module.d.ts +1 -1
  371. package/button/button/button.component.d.ts +0 -80
  372. package/button/src/button-theme-variants/button.scss +0 -26
  373. package/button/src/button-theme-variants/flat.scss +0 -25
  374. package/button/src/button-theme-variants/icon.scss +0 -21
  375. package/button/src/button-theme-variants/raised.scss +0 -36
  376. package/button/src/button-theme-variants/stroked.scss +0 -28
  377. package/button/src/button-theme-variants/underline.scss +0 -9
  378. package/button/src/button-theme.scss +0 -574
  379. package/esm2022/button/button/button.component.mjs +0 -212
  380. package/esm2022/loading-icon/examples/loading-icon-diameter/loading-icon-diameter.component.mjs +0 -15
  381. package/loading-icon/examples/loading-icon-diameter/loading-icon-diameter.component.d.ts +0 -5
  382. package/scss/core/map/map-deep-check/map-deep-check.spec.scss +0 -43
  383. package/scss/core/map/map-deep-get/map-deep-get.spec.scss +0 -25
  384. package/scss/theming/contrast/contrast-ratio/contrast-ratio.spec.scss +0 -0
  385. package/scss/theming/contrast/text-contrast/text-contrast.spec.scss +0 -0
  386. package/src/atoms/form/radio/radio.scss +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"daffodil-design-tree.mjs","sources":["../../../libs/design/tree/src/tree/tree-notifier.service.ts","../../../libs/design/tree/src/utils/flatten-tree.ts","../../../libs/design/tree/src/utils/traverse-tree.ts","../../../libs/design/tree/src/utils/hydrate-tree.ts","../../../libs/design/tree/src/tree/tree.component.ts","../../../libs/design/tree/src/tree/tree.component.html","../../../libs/design/tree/src/tree-item/tree-item.directive.ts","../../../libs/design/tree/src/tree.module.ts","../../../libs/design/tree/src/utils/transform.ts","../../../libs/design/tree/src/tree.ts","../../../libs/design/tree/src/daffodil-design-tree.ts"],"sourcesContent":["import {\n Inject,\n OnDestroy,\n} from '@angular/core';\nimport { BehaviorSubject } from 'rxjs';\n\n/**\n * This service is used by tree-items to notify their parent\n * that the tree has to be re-computed.\n *\n * This service is a multiton associated with each tree instance.\n * It follows the same lifecycle has the tree it is associated with.\n */\n@Inject({})\nexport class DaffTreeNotifierService implements OnDestroy {\n\n /**\n * @docs-private\n */\n private _notice: BehaviorSubject<boolean> = new BehaviorSubject<boolean>(true);\n\n /**\n * An observable that emits when the tree needs to be re-computed.\n */\n notice$ = this._notice.asObservable();\n\n /**\n * `notify` can be called to trigger a re-computation of the tree\n * if data has changed unexpectedly and a re-render did not occur.\n *\n * This should be used sparingly. Instead, prefer updating `data` on the tree\n * itself for performance reasons.\n */\n notify() {\n this._notice.next(true);\n }\n\n /**\n * Cleanup when the tree is destroyed.\n *\n * @docs-private\n */\n ngOnDestroy(): void {\n this._notice.complete();\n }\n}\n","import { collect } from '@daffodil/core';\n\nimport { DaffTreeUi } from '../interfaces/tree-ui';\n\n/**\n * A flattened node of a tree. This is used when translating the tree data\n * structure into an array.\n */\nexport interface DaffTreeFlatNode {\n id: number | string;\n title: string;\n url: string;\n level: number;\n hasChildren: boolean;\n data: unknown;\n visible: boolean;\n _treeRef: DaffTreeUi<unknown>;\n}\n\n/**\n * Flatten a DaffTreeUi<unknown> into an array, removing elements from the array\n * below nodes in the tree that are not open.\n */\nexport const flattenTree = (daffUiTree: DaffTreeUi<unknown>, removeNodes: boolean = false): DaffTreeFlatNode[] => {\n const tree: DaffTreeFlatNode[] = [];\n if(!daffUiTree) {\n return [];\n }\n\n let items = [\n {\n ...daffUiTree,\n level: 0,\n data: undefined,\n open: true,\n _treeRef: daffUiTree,\n },\n ];\n\n\n while(items) {\n const el = items.pop();\n if(!el) {\n break;\n }\n\n items = [\n ...items,\n ...el.items.map((i) => ({\n ...i,\n level:\n el.level + 1,\n _treeRef: i,\n })).reverse(),\n ];\n\n const hasClosedAncestor = el._treeRef.parent\n ? collect(el._treeRef.parent, (node) => node.parent ? [node.parent] : [], el.level).reduce(\n (acc, parent) => acc || !parent.open,\n false,\n )\n : false;\n\n if(!removeNodes && el._treeRef.parent) {\n tree.push({\n id: el.id,\n title: el.title,\n level: el.level,\n url : el.url,\n visible: !hasClosedAncestor,\n hasChildren: el.items.length > 0,\n data: undefined,\n _treeRef: el._treeRef,\n });\n } else if(removeNodes && el._treeRef.parent?.open) {\n tree.push({\n id: el.id,\n title: el.title,\n level: el.level,\n url : el.url,\n visible: !hasClosedAncestor,\n hasChildren: el.items.length > 0,\n data: undefined,\n _treeRef: el._treeRef,\n });\n }\n }\n\n return tree;\n};\n","import { RecursiveTreeKeyOfType } from '../interfaces/recursive-key';\n\n/**\n * Traverse the tree, pre-order, right-to-left\n */\nexport const traverse = <T extends Record<any, any>, V extends Record<any, any> = T>(\n tree: T,\n visit: (tree: T) => V,\n key: RecursiveTreeKeyOfType<T>,\n): V => {\n let stack = [\n tree,\n ];\n\n while(stack) {\n const el = stack.pop();\n if(!el) {\n break;\n }\n\n visit(el);\n\n stack = [\n ...stack,\n ...<T[]><unknown>el[key],\n ];\n }\n\n return tree;\n};\n","import { traverse } from './traverse-tree';\nimport { DaffTreeData } from '../interfaces/tree-data';\nimport { DaffTreeUi } from '../interfaces/tree-ui';\n\nexport const daffDataTreeToUiTree = <T>(data: DaffTreeData<T>, parent: DaffTreeUi<T>, open: boolean = false): DaffTreeUi<T> => ({\n id: data.id ?? data.title,\n title: data.title,\n url: data.url,\n data: data.data,\n open,\n parent,\n items: [],\n});\n\n/**\n * This function translates the original data given to us by the client\n * to the internal representation of the tree used by the {@link DaffTreeComponent}\n */\nexport const hydrateTree = <T>(data: DaffTreeData<T>): DaffTreeUi<T> => {\n const tree = daffDataTreeToUiTree(data, undefined, true);\n\n let treeStack = [\n tree,\n ];\n\n traverse(data, (el) => {\n const treeEl = treeStack.pop();\n treeEl.items = el.items.map((i) => daffDataTreeToUiTree(i, treeEl, false));\n treeStack = [\n ...treeStack,\n ...treeEl.items,\n ];\n return el;\n }, 'items');\n\n return tree;\n};\n","import {\n NgFor,\n NgTemplateOutlet,\n} from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n ContentChild,\n HostBinding,\n Input,\n OnChanges,\n OnInit,\n SimpleChanges,\n TemplateRef,\n ViewEncapsulation,\n} from '@angular/core';\n\nimport { DaffArticleEncapsulatedDirective } from '@daffodil/design';\n\nimport { DaffTreeNotifierService } from './tree-notifier.service';\nimport { DaffTreeData } from '../interfaces/tree-data';\nimport { DaffTreeRenderMode } from '../interfaces/tree-render-mode';\nimport { DaffTreeUi } from '../interfaces/tree-ui';\nimport {\n DaffTreeFlatNode,\n flattenTree,\n} from '../utils/flatten-tree';\nimport { hydrateTree } from '../utils/hydrate-tree';\n\n/**\n * The `DaffTreeComponent` allows you to render tree structures as interactable ui.\n *\n * They can be used like:\n *\n * ```html\n * <ul daff-tree [tree]=\"tree\">\n * <ng-template #daffTreeItemWithChildrenTpl let-node>\n * <button daffTreeItem [node]=\"node\">{{ node.title }} </button>\n * </ng-template>\n *\n * <ng-template #daffTreeItemTpl let-node>\n * <a daffTreeItem [node]=\"node\" [routerLink]=\"node.url\">{{ node.title }}</a>\n * </ng-template>\n * </ul>\n * ```\n *\n * where `tree` is a {@link DaffTreeData}.\n *\n */\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'ul[daff-tree]',\n templateUrl: './tree.component.html',\n styleUrls: ['./tree.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n DaffTreeNotifierService,\n ],\n hostDirectives: [{\n directive: DaffArticleEncapsulatedDirective,\n }],\n standalone: true,\n imports: [\n NgFor,\n NgTemplateOutlet,\n ],\n})\nexport class DaffTreeComponent implements OnInit, OnChanges {\n\n /**\n * The css class of the daff-tree.\n *\n * @docs-private\n */\n @HostBinding('class.daff-tree') class = true;\n\n /**\n * The rendering mode for nodes in the tree.\n *\n * Default value is 'in-dom', which means nodes are present in the DOM.\n *\n * Generally, `not-in-dom` is faster as there are less DOM elements to render,\n * but there may be use-cases (like SEO) where having the tree in the DOM\n * is relevant.\n */\n @Input() renderMode: DaffTreeRenderMode;\n\n /**\n * The internal tree element.\n */\n private _tree: DaffTreeUi<unknown> = undefined;\n\n /**\n * The flattened tree data. You can iterate through this if you want to inspect\n * the resulting array structure we computed to render the tree.\n */\n public flatTree: DaffTreeFlatNode[] = [];\n\n /**\n * The tree data you would like to render.\n */\n @Input() tree: DaffTreeData<unknown>;\n\n /**\n * The template used to render tree-nodes that themselves have children.\n *\n * @docs-private\n */\n @ContentChild('daffTreeItemWithChildrenTpl', { static: true })\n withChildrenTemplate: TemplateRef<any>;\n\n /**\n * The template used to render tree-nodes that have no children.\n *\n * @docs-private\n */\n @ContentChild('daffTreeItemTpl', { static: true }) treeItemTemplate: TemplateRef<any>;\n\n constructor(private notifier: DaffTreeNotifierService) {}\n\n ngOnChanges(changes: SimpleChanges): void {\n if(!changes.tree.currentValue) {\n this._tree = undefined;\n this.flatTree = [];\n return;\n }\n\n if(changes.renderMode && !changes.tree) {\n this.flatTree = flattenTree(this._tree, changes.renderMode.currentValue === 'not-in-dom');\n } else if(changes.renderMode || changes.tree) {\n this._tree = hydrateTree(changes.tree?.currentValue ?? this.tree);\n this.flatTree = flattenTree(this._tree, (changes.renderMode?.currentValue ?? this.renderMode) === 'not-in-dom');\n }\n }\n\n /**\n * The track-by function used to reduce tree-item re-renders\n */\n trackByTreeElement(index: number, el: any): any {\n return el.title;\n }\n\n /**\n * @docs-private\n */\n ngOnInit(): void {\n this.notifier.notice$.subscribe(() => {\n this.flatTree = flattenTree(this._tree, this.renderMode === 'not-in-dom');\n });\n }\n}\n","<ng-container *ngFor=\"let node of flatTree; trackBy: trackByTreeElement\">\n\t<ng-container>\n\t\t<li [attr.aria-level]=\"node.level\" [class.hidden]=\"!node.visible\">\n\t\t\t<ng-container\n\t\t\t\t*ngTemplateOutlet=\"node.hasChildren ? withChildrenTemplate : treeItemTemplate; context: { $implicit: node }\">\n\t\t\t</ng-container>\n\t\t</li>\n\t</ng-container>\n</ng-container>","import { DOCUMENT } from '@angular/common';\nimport {\n Directive,\n HostBinding,\n HostListener,\n Inject,\n Input,\n} from '@angular/core';\n\nimport { DaffTreeNotifierService } from '../tree/tree-notifier.service';\nimport { DaffTreeFlatNode } from '../utils/flatten-tree';\n\n/**\n * The `DaffTreeItemDirective` allows you to demarcate the elements which are\n * tree-children that interact with the parent tree.\n *\n * They can be used like:\n *\n * ```html\n * <ul daff-tree [tree]=\"tree\">\n * <ng-template #daffTreeItemWithChildrenTpl let-node>\n * <button daffTreeItem [node]=\"node\">{{ node.title }} </button>\n * </ng-template>\n *\n * <ng-template #daffTreeItemTpl let-node>\n * <a daffTreeItem [node]=\"node\" [routerLink]=\"node.url\">{{ node.title }}</a>\n * </ng-template>\n * </ul>\n * ```\n *\n * where `tree` is a {@link DaffTreeData} and `daff-tree` is a {@link DaffTreeComponent}.\n *\n */\n@Directive({\n selector: '[daffTreeItem]',\n standalone: true,\n})\nexport class DaffTreeItemDirective {\n\n /**\n * The css class of the daff-tree.\n *\n * @docs-private\n */\n @HostBinding('class.daff-tree-item') class = true;\n\n /**\n * The css class of a DaffTreeItemDirective that has children.\n *\n * @docs-private\n */\n @HostBinding('class.parent') classParent = false;\n\n /**\n * The html `id` of the tree item. This is derived from the {@link DaffTreeData}.\n *\n * @docs-private\n */\n @HostBinding('attr.id') id;\n\n /**\n * Accessibility property, notifying users about whether\n * or not the tree item is open.\n *\n * @docs-private\n */\n @HostBinding('attr.aria-expanded') ariaExpanded: string;\n\n /**\n * A css variable indicating the depth of the tree.\n * You can use this to style your templates if you want to\n * use different designs at different depths.\n */\n @HostBinding('style.--depth') depth: number;\n\n /**\n * The CSS class indicating whether or not the tree is `selected`.\n */\n @HostBinding('class.selected') get selectedClass() {\n return this.selected;\n };\n\n /**\n * The CSS class indicating whether or not the tree is `open`.\n */\n @HostBinding('class.open') openClass = false;\n\n /**\n * The {@link DaffTreeFlatNode} associated with this specific tree item.\n *\n * @docs-private\n */\n private _node: DaffTreeFlatNode;\n\n /**\n * The {@link DaffTreeFlatNode} associated with this specific tree item.\n */\n @Input()\n get node() {\n return this._node;\n };\n set node(val: DaffTreeFlatNode) {\n this._node = val;\n this.id = 'tree-' + this._node.id;\n this.depth = this._node.level;\n this.classParent = this._node.hasChildren;\n this.openClass = this._node._treeRef.open;\n\n if(this._node.hasChildren) {\n this.ariaExpanded = this._node._treeRef.open ? 'true' : 'false';\n }\n }\n\n /**\n * Whether or not the tree item is the currently active item.\n * Note that there is no requirement there there only be one active item at a time.\n */\n @Input() selected = false;\n\n constructor(\n @Inject(DOCUMENT) private document: any,\n private treeNotifier: DaffTreeNotifierService,\n ) {}\n\n /**\n * @docs-private\n */\n @HostListener('keydown.escape')\n onEscape() {\n this.toggleParent(this.node);\n }\n\n /**\n * @docs-private\n */\n @HostListener('click')\n onClick() {\n if(this.node.hasChildren) {\n this.toggleTree(this.node);\n }\n this.treeNotifier.notify();\n }\n\n /**\n * Toggle the open state of the tree's parent.\n */\n toggleParent(node: DaffTreeFlatNode) {\n if(node._treeRef?.parent.parent === undefined) {\n return;\n }\n node._treeRef.parent.open = !node._treeRef.parent.open;\n (<Document>this.document).getElementById('tree-' + node._treeRef.parent.id).focus();\n }\n\n /**\n * Toggle the open state of this specific subtree tree.\n */\n toggleTree(node: DaffTreeFlatNode) {\n if(node._treeRef.open === false) {\n node._treeRef.open = true;\n } else {\n node._treeRef.open = false;\n }\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { DaffTreeComponent } from './tree/tree.component';\nimport { DaffTreeItemDirective } from './tree-item/tree-item.directive';\n\n/**\n * @deprecated in favor of {@link DAFF_TREE_COMPONENTS}\n */\n@NgModule({\n imports: [\n CommonModule,\n DaffTreeComponent,\n DaffTreeItemDirective,\n ],\n exports: [\n DaffTreeComponent,\n DaffTreeItemDirective,\n ],\n})\nexport class DaffTreeModule { }\n","import { RecursiveTreeKeyOfType } from '../interfaces/recursive-key';\nimport { DaffTreeData } from '../interfaces/tree-data';\n\n/**\n * Transform a tree-like structure into a {@link DaffTreeData}.\n *\n * @param tree - The data structure representing tree-like data.\n * @param transformFn - A user-supplied function that will transform the user\n * type into a {@link DaffTreeData}\n * @param key - The property of the your tree that indicates which\n * key contains the \"children\" of your tree structure.\n *\n */\nexport const daffTransformTree = <\n // eslint-disable-next-line @typescript-eslint/no-restricted-types\n T extends Record<any,any>,\n V\n>(\n tree: T,\n transformFn: (type: T) => DaffTreeData<V>,\n key: RecursiveTreeKeyOfType<T>,\n): DaffTreeData<V> => {\n\n const transformedTree: DaffTreeData<V> = transformFn(tree);\n\n const queue: { node: T; parent: DaffTreeData<V> }[] = [{ node: tree, parent: transformedTree }];\n\n while (queue.length > 0) {\n const { node, parent } = queue.shift();\n\n const childItems = node[key];\n for (const child of <T[]>childItems) {\n const transformedChild: DaffTreeData<V> = transformFn(child);\n parent.items.push(transformedChild);\n queue.push({ node: child, parent: transformedChild });\n }\n }\n\n return transformedTree;\n};\n","import { DaffTreeComponent } from './tree/tree.component';\nimport { DaffTreeItemDirective } from './tree-item/tree-item.directive';\n\nexport const DAFF_TREE_COMPONENTS = <const> [\n DaffTreeComponent,\n DaffTreeItemDirective,\n];\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.DaffTreeNotifierService"],"mappings":"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"}
1
+ {"version":3,"file":"daffodil-design-tree.mjs","sources":["../../../libs/design/tree/src/tree/tree-notifier.service.ts","../../../libs/design/tree/src/utils/flatten-tree.ts","../../../libs/design/tree/src/utils/traverse-tree.ts","../../../libs/design/tree/src/utils/hydrate-tree.ts","../../../libs/design/tree/src/tree/tree.component.ts","../../../libs/design/tree/src/tree/tree.component.html","../../../libs/design/tree/src/tree-item/tree-item.directive.ts","../../../libs/design/tree/src/tree.module.ts","../../../libs/design/tree/src/utils/transform.ts","../../../libs/design/tree/src/tree.ts","../../../libs/design/tree/src/daffodil-design-tree.ts"],"sourcesContent":["import {\n Inject,\n OnDestroy,\n} from '@angular/core';\nimport { BehaviorSubject } from 'rxjs';\n\n/**\n * This service is used by tree-items to notify their parent\n * that the tree has to be re-computed.\n *\n * This service is a multiton associated with each tree instance.\n * It follows the same lifecycle has the tree it is associated with.\n */\n@Inject({})\nexport class DaffTreeNotifierService implements OnDestroy {\n\n /**\n * @docs-private\n */\n private _notice: BehaviorSubject<boolean> = new BehaviorSubject<boolean>(true);\n\n /**\n * An observable that emits when the tree needs to be re-computed.\n */\n notice$ = this._notice.asObservable();\n\n /**\n * `notify` can be called to trigger a re-computation of the tree\n * if data has changed unexpectedly and a re-render did not occur.\n *\n * This should be used sparingly. Instead, prefer updating `data` on the tree\n * itself for performance reasons.\n */\n notify() {\n this._notice.next(true);\n }\n\n /**\n * Cleanup when the tree is destroyed.\n *\n * @docs-private\n */\n ngOnDestroy(): void {\n this._notice.complete();\n }\n}\n","import { collect } from '@daffodil/core';\n\nimport { DaffTreeUi } from '../interfaces/tree-ui';\n\n/**\n * A flattened node of a tree. This is used when translating the tree data\n * structure into an array.\n */\nexport interface DaffTreeFlatNode {\n id: number | string;\n title: string;\n url: string;\n level: number;\n hasChildren: boolean;\n data: unknown;\n visible: boolean;\n _treeRef: DaffTreeUi<unknown>;\n}\n\n/**\n * Flatten a DaffTreeUi<unknown> into an array, removing elements from the array\n * below nodes in the tree that are not open.\n */\nexport const flattenTree = (daffUiTree: DaffTreeUi<unknown>, removeNodes: boolean = false): DaffTreeFlatNode[] => {\n const tree: DaffTreeFlatNode[] = [];\n if(!daffUiTree) {\n return [];\n }\n\n let items = [\n {\n ...daffUiTree,\n level: 0,\n data: undefined,\n open: true,\n _treeRef: daffUiTree,\n },\n ];\n\n\n while(items) {\n const el = items.pop();\n if(!el) {\n break;\n }\n\n items = [\n ...items,\n ...el.items.map((i) => ({\n ...i,\n level:\n el.level + 1,\n _treeRef: i,\n })).reverse(),\n ];\n\n const hasClosedAncestor = el._treeRef.parent\n ? collect(el._treeRef.parent, (node) => node.parent ? [node.parent] : [], el.level).reduce(\n (acc, parent) => acc || !parent.open,\n false,\n )\n : false;\n\n if(!removeNodes && el._treeRef.parent) {\n tree.push({\n id: el.id,\n title: el.title,\n level: el.level,\n url : el.url,\n visible: !hasClosedAncestor,\n hasChildren: el.items.length > 0,\n data: undefined,\n _treeRef: el._treeRef,\n });\n } else if(removeNodes && el._treeRef.parent?.open) {\n tree.push({\n id: el.id,\n title: el.title,\n level: el.level,\n url : el.url,\n visible: !hasClosedAncestor,\n hasChildren: el.items.length > 0,\n data: undefined,\n _treeRef: el._treeRef,\n });\n }\n }\n\n return tree;\n};\n","import { RecursiveTreeKeyOfType } from '../interfaces/recursive-key';\n\n/**\n * Traverse the tree, pre-order, right-to-left\n */\nexport const traverse = <T extends Record<any, any>, V extends Record<any, any> = T>(\n tree: T,\n visit: (tree: T) => V,\n key: RecursiveTreeKeyOfType<T>,\n): V => {\n let stack = [\n tree,\n ];\n\n while(stack) {\n const el = stack.pop();\n if(!el) {\n break;\n }\n\n visit(el);\n\n stack = [\n ...stack,\n ...<T[]><unknown>el[key],\n ];\n }\n\n return tree;\n};\n","import { traverse } from './traverse-tree';\nimport { DaffTreeData } from '../interfaces/tree-data';\nimport { DaffTreeUi } from '../interfaces/tree-ui';\n\nexport const daffDataTreeToUiTree = <T>(data: DaffTreeData<T>, parent: DaffTreeUi<T>, open: boolean = false): DaffTreeUi<T> => ({\n id: data.id ?? data.title,\n title: data.title,\n url: data.url,\n data: data.data,\n open,\n parent,\n items: [],\n});\n\n/**\n * This function translates the original data given to us by the client\n * to the internal representation of the tree used by the {@link DaffTreeComponent}\n */\nexport const hydrateTree = <T>(data: DaffTreeData<T>): DaffTreeUi<T> => {\n const tree = daffDataTreeToUiTree(data, undefined, true);\n\n let treeStack = [\n tree,\n ];\n\n traverse(data, (el) => {\n const treeEl = treeStack.pop();\n treeEl.items = el.items.map((i) => daffDataTreeToUiTree(i, treeEl, false));\n treeStack = [\n ...treeStack,\n ...treeEl.items,\n ];\n return el;\n }, 'items');\n\n return tree;\n};\n","import {\n NgFor,\n NgTemplateOutlet,\n} from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n ContentChild,\n HostBinding,\n Input,\n OnChanges,\n OnInit,\n SimpleChanges,\n TemplateRef,\n ViewEncapsulation,\n} from '@angular/core';\n\nimport { DaffArticleEncapsulatedDirective } from '@daffodil/design';\n\nimport { DaffTreeNotifierService } from './tree-notifier.service';\nimport { DaffTreeData } from '../interfaces/tree-data';\nimport { DaffTreeRenderMode } from '../interfaces/tree-render-mode';\nimport { DaffTreeUi } from '../interfaces/tree-ui';\nimport {\n DaffTreeFlatNode,\n flattenTree,\n} from '../utils/flatten-tree';\nimport { hydrateTree } from '../utils/hydrate-tree';\n\n/**\n * The `DaffTreeComponent` allows you to render tree structures as interactable ui.\n *\n * They can be used like:\n *\n * ```html\n * <ul daff-tree [tree]=\"tree\">\n * <ng-template #daffTreeItemWithChildrenTpl let-node>\n * <button daffTreeItem [node]=\"node\">{{ node.title }} </button>\n * </ng-template>\n *\n * <ng-template #daffTreeItemTpl let-node>\n * <a daffTreeItem [node]=\"node\" [routerLink]=\"node.url\">{{ node.title }}</a>\n * </ng-template>\n * </ul>\n * ```\n *\n * where `tree` is a {@link DaffTreeData}.\n *\n */\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'ul[daff-tree]',\n templateUrl: './tree.component.html',\n styleUrls: ['./tree.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n DaffTreeNotifierService,\n ],\n hostDirectives: [{\n directive: DaffArticleEncapsulatedDirective,\n }],\n standalone: true,\n imports: [\n NgFor,\n NgTemplateOutlet,\n ],\n})\nexport class DaffTreeComponent implements OnInit, OnChanges {\n\n /**\n * The css class of the daff-tree.\n *\n * @docs-private\n */\n @HostBinding('class.daff-tree') class = true;\n\n /**\n * The rendering mode for nodes in the tree.\n *\n * Default value is 'in-dom', which means nodes are present in the DOM.\n *\n * Generally, `not-in-dom` is faster as there are less DOM elements to render,\n * but there may be use-cases (like SEO) where having the tree in the DOM\n * is relevant.\n */\n @Input() renderMode: DaffTreeRenderMode;\n\n /**\n * The internal tree element.\n */\n private _tree: DaffTreeUi<unknown> = undefined;\n\n /**\n * The flattened tree data. You can iterate through this if you want to inspect\n * the resulting array structure we computed to render the tree.\n */\n public flatTree: DaffTreeFlatNode[] = [];\n\n /**\n * The tree data you would like to render.\n */\n @Input() tree: DaffTreeData<unknown>;\n\n /**\n * The template used to render tree-nodes that themselves have children.\n *\n * @docs-private\n */\n @ContentChild('daffTreeItemWithChildrenTpl', { static: true })\n withChildrenTemplate: TemplateRef<any>;\n\n /**\n * The template used to render tree-nodes that have no children.\n *\n * @docs-private\n */\n @ContentChild('daffTreeItemTpl', { static: true }) treeItemTemplate: TemplateRef<any>;\n\n constructor(private notifier: DaffTreeNotifierService) {}\n\n ngOnChanges(changes: SimpleChanges): void {\n if(!changes.tree.currentValue) {\n this._tree = undefined;\n this.flatTree = [];\n return;\n }\n\n if(changes.renderMode && !changes.tree) {\n this.flatTree = flattenTree(this._tree, changes.renderMode.currentValue === 'not-in-dom');\n } else if(changes.renderMode || changes.tree) {\n this._tree = hydrateTree(changes.tree?.currentValue ?? this.tree);\n this.flatTree = flattenTree(this._tree, (changes.renderMode?.currentValue ?? this.renderMode) === 'not-in-dom');\n }\n }\n\n /**\n * The track-by function used to reduce tree-item re-renders\n */\n trackByTreeElement(index: number, el: any): any {\n return el.title;\n }\n\n /**\n * @docs-private\n */\n ngOnInit(): void {\n this.notifier.notice$.subscribe(() => {\n this.flatTree = flattenTree(this._tree, this.renderMode === 'not-in-dom');\n });\n }\n}\n","<ng-container *ngFor=\"let node of flatTree; trackBy: trackByTreeElement\">\n\t<ng-container>\n\t\t<li [attr.aria-level]=\"node.level\" [class.hidden]=\"!node.visible\">\n\t\t\t<ng-container\n\t\t\t\t*ngTemplateOutlet=\"node.hasChildren ? withChildrenTemplate : treeItemTemplate; context: { $implicit: node }\">\n\t\t\t</ng-container>\n\t\t</li>\n\t</ng-container>\n</ng-container>","import { DOCUMENT } from '@angular/common';\nimport {\n Directive,\n HostBinding,\n HostListener,\n Inject,\n Input,\n} from '@angular/core';\n\nimport { DaffTreeNotifierService } from '../tree/tree-notifier.service';\nimport { DaffTreeFlatNode } from '../utils/flatten-tree';\n\n/**\n * The `DaffTreeItemDirective` allows you to demarcate the elements which are\n * tree-children that interact with the parent tree.\n *\n * They can be used like:\n *\n * ```html\n * <ul daff-tree [tree]=\"tree\">\n * <ng-template #daffTreeItemWithChildrenTpl let-node>\n * <button daffTreeItem [node]=\"node\">{{ node.title }} </button>\n * </ng-template>\n *\n * <ng-template #daffTreeItemTpl let-node>\n * <a daffTreeItem [node]=\"node\" [routerLink]=\"node.url\">{{ node.title }}</a>\n * </ng-template>\n * </ul>\n * ```\n *\n * where `tree` is a {@link DaffTreeData} and `daff-tree` is a {@link DaffTreeComponent}.\n *\n */\n@Directive({\n selector: '[daffTreeItem]',\n standalone: true,\n})\nexport class DaffTreeItemDirective {\n\n /**\n * The css class of the daff-tree.\n *\n * @docs-private\n */\n @HostBinding('class.daff-tree-item') class = true;\n\n /**\n * The css class of a DaffTreeItemDirective that has children.\n *\n * @docs-private\n */\n @HostBinding('class.parent') classParent = false;\n\n /**\n * The html `id` of the tree item. This is derived from the {@link DaffTreeData}.\n *\n * @docs-private\n */\n @HostBinding('attr.id') id;\n\n /**\n * Accessibility property, notifying users about whether\n * or not the tree item is open.\n *\n * @docs-private\n */\n @HostBinding('attr.aria-expanded') ariaExpanded: string;\n\n /**\n * A css variable indicating the depth of the tree.\n * You can use this to style your templates if you want to\n * use different designs at different depths.\n */\n @HostBinding('style.--depth') depth: number;\n\n /**\n * The CSS class indicating whether or not the tree is `selected`.\n */\n @HostBinding('class.selected') get selectedClass() {\n return this.selected;\n };\n\n /**\n * The CSS class indicating whether or not the tree is `open`.\n */\n @HostBinding('class.open') openClass = false;\n\n /**\n * The {@link DaffTreeFlatNode} associated with this specific tree item.\n *\n * @docs-private\n */\n private _node: DaffTreeFlatNode;\n\n /**\n * The {@link DaffTreeFlatNode} associated with this specific tree item.\n */\n @Input()\n get node() {\n return this._node;\n };\n set node(val: DaffTreeFlatNode) {\n this._node = val;\n this.id = 'tree-' + this._node.id;\n this.depth = this._node.level;\n this.classParent = this._node.hasChildren;\n this.openClass = this._node._treeRef.open;\n\n if(this._node.hasChildren) {\n this.ariaExpanded = this._node._treeRef.open ? 'true' : 'false';\n }\n }\n\n /**\n * Whether or not the tree item is the currently active item.\n * Note that there is no requirement there there only be one active item at a time.\n */\n @Input() selected = false;\n\n constructor(\n @Inject(DOCUMENT) private document: any,\n private treeNotifier: DaffTreeNotifierService,\n ) {}\n\n /**\n * @docs-private\n */\n @HostListener('keydown.escape')\n onEscape() {\n this.toggleParent(this.node);\n }\n\n /**\n * @docs-private\n */\n @HostListener('click')\n onClick() {\n if(this.node.hasChildren) {\n this.toggleTree(this.node);\n }\n this.treeNotifier.notify();\n }\n\n /**\n * Toggle the open state of the tree's parent.\n */\n toggleParent(node: DaffTreeFlatNode) {\n if(node._treeRef?.parent.parent === undefined) {\n return;\n }\n node._treeRef.parent.open = !node._treeRef.parent.open;\n (<Document>this.document).getElementById('tree-' + node._treeRef.parent.id).focus();\n }\n\n /**\n * Toggle the open state of this specific subtree tree.\n */\n toggleTree(node: DaffTreeFlatNode) {\n if(node._treeRef.open === false) {\n node._treeRef.open = true;\n } else {\n node._treeRef.open = false;\n }\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { DaffTreeComponent } from './tree/tree.component';\nimport { DaffTreeItemDirective } from './tree-item/tree-item.directive';\n\n/**\n * @deprecated in favor of {@link DAFF_TREE_COMPONENTS}. Deprecated in version 0.78.0. Will be removed in version 1.0.0.\n */\n@NgModule({\n imports: [\n CommonModule,\n DaffTreeComponent,\n DaffTreeItemDirective,\n ],\n exports: [\n DaffTreeComponent,\n DaffTreeItemDirective,\n ],\n})\nexport class DaffTreeModule { }\n","import { RecursiveTreeKeyOfType } from '../interfaces/recursive-key';\nimport { DaffTreeData } from '../interfaces/tree-data';\n\n/**\n * Transform a tree-like structure into a {@link DaffTreeData}.\n *\n * @param tree - The data structure representing tree-like data.\n * @param transformFn - A user-supplied function that will transform the user\n * type into a {@link DaffTreeData}\n * @param key - The property of the your tree that indicates which\n * key contains the \"children\" of your tree structure.\n *\n */\nexport const daffTransformTree = <\n // eslint-disable-next-line @typescript-eslint/no-restricted-types\n T extends Record<any,any>,\n V\n>(\n tree: T,\n transformFn: (type: T) => DaffTreeData<V>,\n key: RecursiveTreeKeyOfType<T>,\n): DaffTreeData<V> => {\n\n const transformedTree: DaffTreeData<V> = transformFn(tree);\n\n const queue: { node: T; parent: DaffTreeData<V> }[] = [{ node: tree, parent: transformedTree }];\n\n while (queue.length > 0) {\n const { node, parent } = queue.shift();\n\n const childItems = node[key];\n for (const child of <T[]>childItems) {\n const transformedChild: DaffTreeData<V> = transformFn(child);\n parent.items.push(transformedChild);\n queue.push({ node: child, parent: transformedChild });\n }\n }\n\n return transformedTree;\n};\n","import { DaffTreeComponent } from './tree/tree.component';\nimport { DaffTreeItemDirective } from './tree-item/tree-item.directive';\n\nexport const DAFF_TREE_COMPONENTS = <const> [\n DaffTreeComponent,\n DaffTreeItemDirective,\n];\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.DaffTreeNotifierService"],"mappings":"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"}
@@ -49,7 +49,7 @@ class DaffFormFieldComponent {
49
49
  * The tracking property used to determine if the parent form has been submitted,
50
50
  * and thus show an error message (even if the field hasn't been touched).
51
51
  *
52
- * @deprecated
52
+ * @deprecated Deprecated in version 0.78.0. Will be removed in version 1.0.0.
53
53
  */
54
54
  // eslint-disable-next-line @typescript-eslint/no-inferrable-types
55
55
  this.formSubmitted = false;
@@ -447,7 +447,7 @@ class DaffCheckboxComponent {
447
447
  this._cdRef.markForCheck();
448
448
  }
449
449
  /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: DaffCheckboxComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
450
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.2", type: DaffCheckboxComponent, selector: "daff-checkbox", inputs: { name: "name", value: "value", checked: "checked", id: "id", label: ["aria-label", "label"], labeledBy: ["aria-labelledby", "labeledBy"] }, outputs: { becameChecked: "becameChecked", becameUnchecked: "becameUnchecked" }, host: { properties: { "attr.role": "this.role", "class.focused": "this.focusClass", "class.disabled": "this.disabledClass" } }, viewQueries: [{ propertyName: "nativeCheckbox", first: true, predicate: ["inputElement"], descendants: true, read: ElementRef, static: true }], ngImport: i0, template: "<input #inputElement\ntype=\"checkbox\"\n[attr.aria-label]=\"label\"\n[attr.aria-labelledby]=\"labeledBy\"\n[attr.checked]=\"checked ? '' : null\"\n[attr.id] = \"id\"\n[attr.value]=\"value\"\n[attr.name]=\"name\"\n[attr.disabled] = \"disabled ? '' : null\" \n(change)=\"_onChange($event)\"\n(blur)=\"onBlur()\"\n(focus)=\"onFocus()\"\n/>\n<label [attr.for]=\"id\"><ng-content></ng-content></label>", styles: [""], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
450
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.2", type: DaffCheckboxComponent, selector: "daff-checkbox", inputs: { name: "name", value: "value", checked: "checked", id: "id", label: ["aria-label", "label"], labeledBy: ["aria-labelledby", "labeledBy"] }, outputs: { becameChecked: "becameChecked", becameUnchecked: "becameUnchecked" }, host: { properties: { "attr.role": "this.role", "class.focused": "this.focusClass", "class.disabled": "this.disabledClass" } }, viewQueries: [{ propertyName: "nativeCheckbox", first: true, predicate: ["inputElement"], descendants: true, read: ElementRef, static: true }], ngImport: i0, template: "<input #inputElement\ntype=\"checkbox\"\n[attr.aria-label]=\"label\"\n[attr.aria-labelledby]=\"labeledBy\"\n[attr.checked]=\"checked ? '' : null\"\n[attr.id] = \"id\"\n[attr.value]=\"value\"\n[attr.name]=\"name\"\n[attr.disabled] = \"disabled ? '' : null\" \n(change)=\"_onChange($event)\"\n(blur)=\"onBlur()\"\n(focus)=\"onFocus()\"\n/>\n<label [attr.for]=\"id\"><ng-content></ng-content></label>", changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
451
451
  }
452
452
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: DaffCheckboxComponent, decorators: [{
453
453
  type: Component,
@@ -587,7 +587,7 @@ class DaffCheckboxSetComponent {
587
587
  return this.formArray.value.map((element, index) => element === true ? checkboxes[index].value : false).filter(element => element !== false);
588
588
  }
589
589
  /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: DaffCheckboxSetComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
590
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.2", type: DaffCheckboxSetComponent, selector: "daff-checkbox-set", inputs: { formArray: "formArray", name: "name" }, outputs: { valueList: "valueList" }, host: { properties: { "attr.role": "this.role" } }, queries: [{ propertyName: "checkboxes", predicate: DaffCheckboxComponent }], ngImport: i0, template: "<ng-content></ng-content>", styles: [""], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
590
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.2", type: DaffCheckboxSetComponent, selector: "daff-checkbox-set", inputs: { formArray: "formArray", name: "name" }, outputs: { valueList: "valueList" }, host: { properties: { "attr.role": "this.role" } }, queries: [{ propertyName: "checkboxes", predicate: DaffCheckboxComponent }], ngImport: i0, template: "<ng-content></ng-content>", changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
591
591
  }
592
592
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: DaffCheckboxSetComponent, decorators: [{
593
593
  type: Component,
@@ -975,7 +975,7 @@ class DaffRadioSetComponent {
975
975
  this.role = 'radiogroup';
976
976
  }
977
977
  /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: DaffRadioSetComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
978
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.2", type: DaffRadioSetComponent, selector: "daff-radio-set", inputs: { name: "name" }, host: { properties: { "attr.role": "this.role" } }, ngImport: i0, template: "<ng-content></ng-content>", styles: [""], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
978
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.2", type: DaffRadioSetComponent, selector: "daff-radio-set", inputs: { name: "name" }, host: { properties: { "attr.role": "this.role" } }, ngImport: i0, template: "<ng-content></ng-content>", changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
979
979
  }
980
980
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: DaffRadioSetComponent, decorators: [{
981
981
  type: Component,
@@ -1081,7 +1081,7 @@ class DaffRadioComponent {
1081
1081
  }
1082
1082
  ;
1083
1083
  /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: DaffRadioComponent, deps: [{ token: DaffRadioSetComponent, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
1084
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.2", type: DaffRadioComponent, selector: "daff-radio", inputs: { checked: "checked", value: "value", id: "id", name: "name", label: ["aria-label", "label"], labelledby: ["aria-labelledby", "labelledby"] }, outputs: { selectionChange: "selectionChange" }, host: { properties: { "attr.role": "this.role", "class.focused": "this.focusClass", "class.disabled": "this.disabledClass" } }, ngImport: i0, template: "<input type=\"radio\" \n[attr.checked]=\"checked ? '' : null\" \n[attr.id]=\"id\" \n[attr.name]=\"name\" \n[attr.aria-label]=\"label\"\n[attr.aria-labelledby]=\"labelledby\"\n[attr.value]=\"value\"\n[attr.disabled] = \"disabled ? '' : null\" \n(change)=\"onChange()\"\n(blur)=\"onBlur()\"\n(focus)=\"onFocus()\"/>\n<label [attr.for]=\"id\">\n <ng-content></ng-content>\n</label>", styles: [""], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
1084
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.2", type: DaffRadioComponent, selector: "daff-radio", inputs: { checked: "checked", value: "value", id: "id", name: "name", label: ["aria-label", "label"], labelledby: ["aria-labelledby", "labelledby"] }, outputs: { selectionChange: "selectionChange" }, host: { properties: { "attr.role": "this.role", "class.focused": "this.focusClass", "class.disabled": "this.disabledClass" } }, ngImport: i0, template: "<input type=\"radio\" \n[attr.checked]=\"checked ? '' : null\" \n[attr.id]=\"id\" \n[attr.name]=\"name\" \n[attr.aria-label]=\"label\"\n[attr.aria-labelledby]=\"labelledby\"\n[attr.value]=\"value\"\n[attr.disabled] = \"disabled ? '' : null\" \n(change)=\"onChange()\"\n(blur)=\"onBlur()\"\n(focus)=\"onFocus()\"/>\n<label [attr.for]=\"id\">\n <ng-content></ng-content>\n</label>", changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
1085
1085
  }
1086
1086
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: DaffRadioComponent, decorators: [{
1087
1087
  type: Component,
@@ -1606,15 +1606,16 @@ const SERVER_SAFE_BREAKPOINT_OBSERVER = new InjectionToken('SERVER_SAFE_BREAKPOI
1606
1606
  */
1607
1607
  var DaffStatusEnum;
1608
1608
  (function (DaffStatusEnum) {
1609
+ DaffStatusEnum["Info"] = "info";
1609
1610
  DaffStatusEnum["Warn"] = "warn";
1610
- DaffStatusEnum["Danger"] = "danger";
1611
+ DaffStatusEnum["Critical"] = "critical";
1611
1612
  DaffStatusEnum["Success"] = "success";
1612
1613
  })(DaffStatusEnum || (DaffStatusEnum = {}));
1613
1614
 
1614
1615
  /**
1615
1616
  * `DaffStatusableDirective` allows a component to conditionally apply status-specific
1616
1617
  * styles by setting CSS classes based on the specified status. This directive is useful
1617
- * for indicating different statuses such as warning, danger, or success states.
1618
+ * for indicating different statuses such as info, warning, critical, or success states.
1618
1619
  *
1619
1620
  * ## Usage
1620
1621
  *
@@ -1643,7 +1644,7 @@ var DaffStatusEnum;
1643
1644
  * ```scss
1644
1645
  * .custom-component {
1645
1646
  *
1646
- * &.daff-danger {
1647
+ * &.daff-critical {
1647
1648
  * background: daff-color($red, 10);
1648
1649
  * color: daff-color($red, 90);
1649
1650
  * }
@@ -1653,8 +1654,9 @@ var DaffStatusEnum;
1653
1654
  *
1654
1655
  * The directive applies the following CSS classes based on the status:
1655
1656
  *
1657
+ * - `daff-info`: Applied when the status is `info`.
1656
1658
  * - `daff-warn`: Applied when the status is `warn`.
1657
- * - `daff-danger`: Applied when the status is `danger`.
1659
+ * - `daff-critical`: Applied when the status is `critical`.
1658
1660
  * - `daff-success`: Applied when the status is `success`.
1659
1661
  */
1660
1662
  class DaffStatusableDirective {
@@ -1664,8 +1666,9 @@ class DaffStatusableDirective {
1664
1666
  */
1665
1667
  get class() {
1666
1668
  return {
1669
+ 'daff-info': this.status === DaffStatusEnum.Info,
1667
1670
  'daff-warn': this.status === DaffStatusEnum.Warn,
1668
- 'daff-danger': this.status === DaffStatusEnum.Danger,
1671
+ 'daff-critical': this.status === DaffStatusEnum.Critical,
1669
1672
  'daff-success': this.status === DaffStatusEnum.Success,
1670
1673
  };
1671
1674
  }
@@ -2564,6 +2567,45 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImpor
2564
2567
  type: Output
2565
2568
  }] } });
2566
2569
 
2570
+ class DaffSelectableDirective {
2571
+ constructor(cd) {
2572
+ this.cd = cd;
2573
+ /** Whether or not a component implementing the directive is selected */
2574
+ this.selected = false;
2575
+ /**
2576
+ * An event that fires after the media element becomes selected.
2577
+ */
2578
+ this.becameSelected = new EventEmitter();
2579
+ }
2580
+ select() {
2581
+ this.selected = true;
2582
+ this.becameSelected.emit();
2583
+ this.cd.markForCheck();
2584
+ return this;
2585
+ }
2586
+ deselect() {
2587
+ this.selected = false;
2588
+ this.cd.markForCheck();
2589
+ return this;
2590
+ }
2591
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: DaffSelectableDirective, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive }); }
2592
+ /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.2", type: DaffSelectableDirective, isStandalone: true, selector: "[daffSelected]", inputs: { selected: "selected" }, outputs: { becameSelected: "becameSelected" }, host: { properties: { "class.daff-selected": "this.selected" } }, ngImport: i0 }); }
2593
+ }
2594
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: DaffSelectableDirective, decorators: [{
2595
+ type: Directive,
2596
+ args: [{
2597
+ selector: '[daffSelected]',
2598
+ standalone: true,
2599
+ }]
2600
+ }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }], propDecorators: { selected: [{
2601
+ type: Input
2602
+ }, {
2603
+ type: HostBinding,
2604
+ args: ['class.daff-selected']
2605
+ }], becameSelected: [{
2606
+ type: Output
2607
+ }] } });
2608
+
2567
2609
  // Core
2568
2610
 
2569
2611
  /*
@@ -2580,5 +2622,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImpor
2580
2622
  * Generated bundle index. Do not edit.
2581
2623
  */
2582
2624
 
2583
- export { DAFF_THEME_INITIALIZER, DaffArticleEncapsulatedDirective, DaffBreakpoints, DaffCheckboxComponent, DaffCheckboxControlValueAccessorDirective, DaffCheckboxModule, DaffCheckboxSetComponent, DaffColorableDirective, DaffCompactableDirective, DaffErrorMessageComponent, DaffErrorMessageModule, DaffErrorStateMatcher, DaffFocusStackService, DaffFormFieldComponent, DaffFormFieldControl, DaffFormFieldModule, DaffFormLabelDirective, DaffFormLabelModule, DaffInputComponent, DaffInputModule, DaffManageContainerLayoutDirective, DaffNativeSelectComponent, DaffNativeSelectModule, DaffOpenableDirective, DaffPrefixDirective, DaffPrefixSuffixModule, DaffQuantityFieldComponent, DaffQuantityFieldModule, DaffQuantityInputComponent, DaffQuantitySelectComponent, DaffRadioComponent, DaffRadioControlValueAccessorDirective, DaffRadioModule, DaffRadioSetComponent, DaffSizableDirective, DaffSizableEnum, DaffSkeletonableDirective, DaffStatusEnum, DaffStatusableDirective, DaffSuffixDirective, DaffTextAlignableDirective, DaffTextAlignmentEnum, DaffTheme, DaffThemingService, NoopBreakpointObserver, SERVER_SAFE_BREAKPOINT_OBSERVER, daffFocusableElementsSelector, daffPrefixableMixin, daffSuffixableMixin };
2625
+ export { DAFF_THEME_INITIALIZER, DaffArticleEncapsulatedDirective, DaffBreakpoints, DaffCheckboxComponent, DaffCheckboxControlValueAccessorDirective, DaffCheckboxModule, DaffCheckboxSetComponent, DaffColorableDirective, DaffCompactableDirective, DaffErrorMessageComponent, DaffErrorMessageModule, DaffErrorStateMatcher, DaffFocusStackService, DaffFormFieldComponent, DaffFormFieldControl, DaffFormFieldModule, DaffFormLabelDirective, DaffFormLabelModule, DaffInputComponent, DaffInputModule, DaffManageContainerLayoutDirective, DaffNativeSelectComponent, DaffNativeSelectModule, DaffOpenableDirective, DaffPrefixDirective, DaffPrefixSuffixModule, DaffQuantityFieldComponent, DaffQuantityFieldModule, DaffQuantityInputComponent, DaffQuantitySelectComponent, DaffRadioComponent, DaffRadioControlValueAccessorDirective, DaffRadioModule, DaffRadioSetComponent, DaffSelectableDirective, DaffSizableDirective, DaffSizableEnum, DaffSkeletonableDirective, DaffStatusEnum, DaffStatusableDirective, DaffSuffixDirective, DaffTextAlignableDirective, DaffTextAlignmentEnum, DaffTheme, DaffThemingService, NoopBreakpointObserver, SERVER_SAFE_BREAKPOINT_OBSERVER, daffFocusableElementsSelector, daffPrefixableMixin, daffSuffixableMixin };
2584
2626
  //# sourceMappingURL=daffodil-design.mjs.map