@daffodil/design 0.79.0 → 0.81.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 (774) 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/button/basic/button.component.d.ts +1 -1
  10. package/button/button/flat/flat.component.d.ts +1 -1
  11. package/button/button/icon/icon.component.d.ts +1 -1
  12. package/button/button/raised/raised.component.d.ts +1 -1
  13. package/button/button/stroked/stroked.component.d.ts +1 -1
  14. package/button/button/underline/underline.component.d.ts +1 -1
  15. package/button/button.module.d.ts +3 -1
  16. package/button/src/button/basic/button-theme.scss +14 -14
  17. package/button/src/button/button-base.scss +3 -3
  18. package/button/src/button/flat/flat-theme.scss +21 -22
  19. package/button/src/button/icon/icon-theme.scss +13 -14
  20. package/button/src/button/raised/raised-theme.scss +32 -45
  21. package/button/src/button/stroked/stroked-theme.scss +18 -21
  22. package/button/src/button/underline/underline-theme.scss +14 -18
  23. package/callout/callout.module.d.ts +3 -1
  24. package/callout/src/callout-theme.scss +11 -17
  25. package/card/card.module.d.ts +1 -1
  26. package/card/src/card-theme-variants/linkable-card.scss +1 -1
  27. package/card/src/card-theme.scss +9 -9
  28. package/container/container.module.d.ts +1 -1
  29. package/core/article-encapsulated/article-encapsulated.directive.d.ts +4 -5
  30. package/core/colorable/colorable.directive.d.ts +28 -18
  31. package/core/compactable/compactable.directive.d.ts +6 -10
  32. package/core/focus/stack.service.d.ts +3 -1
  33. package/core/manage-container-layout/manage-container-layout.directive.d.ts +2 -4
  34. package/core/openable/openable.directive.d.ts +2 -1
  35. package/core/public_api.d.ts +1 -0
  36. package/core/selectable/public_api.d.ts +2 -0
  37. package/core/selectable/selectable.d.ts +7 -0
  38. package/core/selectable/selectable.directive.d.ts +17 -0
  39. package/core/sizable/sizable.directive.d.ts +4 -8
  40. package/core/skeletonable/skeletonable.directive.d.ts +7 -9
  41. package/core/statusable/statusable.directive.d.ts +4 -8
  42. package/core/text-alignable/text-alignable.directive.d.ts +9 -12
  43. package/core/theming/initializer.d.ts +1 -2
  44. package/fesm2022/daffodil-design-accordion-examples.mjs +4 -4
  45. package/fesm2022/daffodil-design-accordion-examples.mjs.map +1 -1
  46. package/fesm2022/daffodil-design-accordion.mjs +16 -14
  47. package/fesm2022/daffodil-design-accordion.mjs.map +1 -1
  48. package/fesm2022/daffodil-design-article-examples.mjs +40 -40
  49. package/fesm2022/daffodil-design-article-examples.mjs.map +1 -1
  50. package/fesm2022/daffodil-design-article.mjs +14 -12
  51. package/fesm2022/daffodil-design-article.mjs.map +1 -1
  52. package/fesm2022/daffodil-design-breadcrumb-examples.mjs +4 -4
  53. package/fesm2022/daffodil-design-breadcrumb-examples.mjs.map +1 -1
  54. package/fesm2022/daffodil-design-breadcrumb.mjs +13 -11
  55. package/fesm2022/daffodil-design-breadcrumb.mjs.map +1 -1
  56. package/fesm2022/daffodil-design-button-examples.mjs +32 -32
  57. package/fesm2022/daffodil-design-button-examples.mjs.map +1 -1
  58. package/fesm2022/daffodil-design-button.mjs +43 -41
  59. package/fesm2022/daffodil-design-button.mjs.map +1 -1
  60. package/fesm2022/daffodil-design-callout-examples.mjs +16 -16
  61. package/fesm2022/daffodil-design-callout-examples.mjs.map +1 -1
  62. package/fesm2022/daffodil-design-callout.mjs +26 -24
  63. package/fesm2022/daffodil-design-callout.mjs.map +1 -1
  64. package/fesm2022/daffodil-design-card-examples.mjs +24 -24
  65. package/fesm2022/daffodil-design-card-examples.mjs.map +1 -1
  66. package/fesm2022/daffodil-design-card.mjs +26 -26
  67. package/fesm2022/daffodil-design-card.mjs.map +1 -1
  68. package/fesm2022/daffodil-design-checkbox-examples.mjs +8 -8
  69. package/fesm2022/daffodil-design-checkbox-examples.mjs.map +1 -1
  70. package/fesm2022/daffodil-design-container-examples.mjs +4 -4
  71. package/fesm2022/daffodil-design-container-examples.mjs.map +1 -1
  72. package/fesm2022/daffodil-design-container.mjs +9 -9
  73. package/fesm2022/daffodil-design-container.mjs.map +1 -1
  74. package/fesm2022/daffodil-design-hero-examples.mjs +16 -16
  75. package/fesm2022/daffodil-design-hero-examples.mjs.map +1 -1
  76. package/fesm2022/daffodil-design-hero.mjs +24 -24
  77. package/fesm2022/daffodil-design-hero.mjs.map +1 -1
  78. package/fesm2022/daffodil-design-image-examples.mjs +12 -12
  79. package/fesm2022/daffodil-design-image-examples.mjs.map +1 -1
  80. package/fesm2022/daffodil-design-image.mjs +8 -8
  81. package/fesm2022/daffodil-design-image.mjs.map +1 -1
  82. package/fesm2022/daffodil-design-input-examples.mjs +16 -16
  83. package/fesm2022/daffodil-design-input-examples.mjs.map +1 -1
  84. package/fesm2022/daffodil-design-link-set.mjs +18 -18
  85. package/fesm2022/daffodil-design-link-set.mjs.map +1 -1
  86. package/fesm2022/daffodil-design-list-examples.mjs +16 -16
  87. package/fesm2022/daffodil-design-list-examples.mjs.map +1 -1
  88. package/fesm2022/daffodil-design-list.mjs +21 -14
  89. package/fesm2022/daffodil-design-list.mjs.map +1 -1
  90. package/fesm2022/daffodil-design-loading-icon-examples.mjs +4 -4
  91. package/fesm2022/daffodil-design-loading-icon-examples.mjs.map +1 -1
  92. package/fesm2022/daffodil-design-loading-icon.mjs +8 -8
  93. package/fesm2022/daffodil-design-loading-icon.mjs.map +1 -1
  94. package/fesm2022/daffodil-design-media-gallery-examples.mjs +12 -12
  95. package/fesm2022/daffodil-design-media-gallery-examples.mjs.map +1 -1
  96. package/fesm2022/daffodil-design-media-gallery.mjs +40 -55
  97. package/fesm2022/daffodil-design-media-gallery.mjs.map +1 -1
  98. package/fesm2022/daffodil-design-menu-examples.mjs +8 -8
  99. package/fesm2022/daffodil-design-menu-examples.mjs.map +1 -1
  100. package/fesm2022/daffodil-design-menu.mjs +18 -18
  101. package/fesm2022/daffodil-design-menu.mjs.map +1 -1
  102. package/fesm2022/daffodil-design-modal-examples.mjs +8 -8
  103. package/fesm2022/daffodil-design-modal-examples.mjs.map +1 -1
  104. package/fesm2022/daffodil-design-modal.mjs +28 -28
  105. package/fesm2022/daffodil-design-modal.mjs.map +1 -1
  106. package/fesm2022/daffodil-design-navbar-examples.mjs +20 -20
  107. package/fesm2022/daffodil-design-navbar-examples.mjs.map +1 -1
  108. package/fesm2022/daffodil-design-navbar.mjs +8 -8
  109. package/fesm2022/daffodil-design-navbar.mjs.map +1 -1
  110. package/fesm2022/daffodil-design-notification-examples.mjs +20 -20
  111. package/fesm2022/daffodil-design-notification-examples.mjs.map +1 -1
  112. package/fesm2022/daffodil-design-notification.mjs +21 -21
  113. package/fesm2022/daffodil-design-notification.mjs.map +1 -1
  114. package/fesm2022/daffodil-design-paginator-examples.mjs +8 -8
  115. package/fesm2022/daffodil-design-paginator-examples.mjs.map +1 -1
  116. package/fesm2022/daffodil-design-paginator.mjs +9 -9
  117. package/fesm2022/daffodil-design-paginator.mjs.map +1 -1
  118. package/fesm2022/daffodil-design-progress-bar-examples.mjs +12 -12
  119. package/fesm2022/daffodil-design-progress-bar-examples.mjs.map +1 -1
  120. package/fesm2022/daffodil-design-progress-bar.mjs +12 -12
  121. package/fesm2022/daffodil-design-progress-bar.mjs.map +1 -1
  122. package/fesm2022/daffodil-design-quantity-field-examples.mjs +16 -16
  123. package/fesm2022/daffodil-design-quantity-field-examples.mjs.map +1 -1
  124. package/fesm2022/daffodil-design-radio-examples.mjs +4 -4
  125. package/fesm2022/daffodil-design-radio-examples.mjs.map +1 -1
  126. package/fesm2022/daffodil-design-sidebar-examples.mjs +18 -18
  127. package/fesm2022/daffodil-design-sidebar-examples.mjs.map +1 -1
  128. package/fesm2022/daffodil-design-sidebar.mjs +71 -43
  129. package/fesm2022/daffodil-design-sidebar.mjs.map +1 -1
  130. package/fesm2022/daffodil-design-switch-examples.mjs +109 -0
  131. package/fesm2022/daffodil-design-switch-examples.mjs.map +1 -0
  132. package/fesm2022/daffodil-design-switch.mjs +151 -0
  133. package/fesm2022/daffodil-design-switch.mjs.map +1 -0
  134. package/fesm2022/daffodil-design-tabs-examples.mjs +32 -16
  135. package/fesm2022/daffodil-design-tabs-examples.mjs.map +1 -1
  136. package/fesm2022/daffodil-design-tabs.mjs +86 -45
  137. package/fesm2022/daffodil-design-tabs.mjs.map +1 -1
  138. package/fesm2022/daffodil-design-text-snippet-examples.mjs +4 -4
  139. package/fesm2022/daffodil-design-text-snippet-examples.mjs.map +1 -1
  140. package/fesm2022/daffodil-design-text-snippet.mjs +5 -4
  141. package/fesm2022/daffodil-design-text-snippet.mjs.map +1 -1
  142. package/fesm2022/daffodil-design-toast-examples.mjs +16 -16
  143. package/fesm2022/daffodil-design-toast-examples.mjs.map +1 -1
  144. package/fesm2022/daffodil-design-toast.mjs +28 -29
  145. package/fesm2022/daffodil-design-toast.mjs.map +1 -1
  146. package/fesm2022/daffodil-design-tree-examples.mjs +8 -8
  147. package/fesm2022/daffodil-design-tree-examples.mjs.map +1 -1
  148. package/fesm2022/daffodil-design-tree.mjs +18 -20
  149. package/fesm2022/daffodil-design-tree.mjs.map +1 -1
  150. package/fesm2022/daffodil-design.mjs +271 -236
  151. package/fesm2022/daffodil-design.mjs.map +1 -1
  152. package/hero/hero.module.d.ts +1 -1
  153. package/hero/src/hero-theme.scss +11 -17
  154. package/image/image.module.d.ts +1 -1
  155. package/link-set/link-set.module.d.ts +1 -1
  156. package/list/list-item/list-item.component.d.ts +3 -1
  157. package/list/list.module.d.ts +1 -1
  158. package/list/src/list-theme.scss +13 -9
  159. package/loading-icon/loading-icon.module.d.ts +1 -1
  160. package/loading-icon/src/loading-icon-theme.scss +7 -7
  161. package/media-gallery/README.md +2 -2
  162. package/media-gallery/media-gallery.module.d.ts +1 -1
  163. package/media-gallery/src/media-gallery-theme.scss +3 -3
  164. package/media-gallery/thumbnail/thumbnail.directive.d.ts +9 -18
  165. package/menu/src/menu-theme.scss +5 -5
  166. package/modal/modal.module.d.ts +1 -1
  167. package/modal/src/modal-theme.scss +1 -1
  168. package/navbar/README.md +1 -1
  169. package/navbar/navbar.module.d.ts +1 -1
  170. package/navbar/src/navbar-theme.scss +8 -8
  171. package/notification/notification.module.d.ts +1 -1
  172. package/notification/src/notification-theme.scss +12 -12
  173. package/package.json +1 -1
  174. package/paginator/paginator.module.d.ts +1 -1
  175. package/paginator/src/paginator-theme.scss +11 -10
  176. package/progress-bar/progress-bar.module.d.ts +1 -1
  177. package/progress-bar/src/progress-bar-theme.scss +10 -10
  178. package/scss/accessibility/_index.scss +1 -1
  179. package/scss/core/_index.scss +1 -2
  180. package/scss/core/error/error-to-string.scss +13 -0
  181. package/scss/core/map/map-deep-check/map-deep-check.scss +2 -1
  182. package/scss/core/map/map-deep-get/map-deep-get.scss +1 -0
  183. package/scss/core/map/map-get/map-get.scss +23 -0
  184. package/scss/core/map/map-get/map-get.spec.scss +65 -0
  185. package/scss/core/string/split/string-split.scss +10 -7
  186. package/scss/global.scss +2 -1
  187. package/scss/interactions/_index.scss +1 -1
  188. package/scss/interactions/mouse/_clickable.scss +1 -0
  189. package/scss/layout/_index.scss +1 -1
  190. package/scss/state/skeleton/_mixins.scss +2 -2
  191. package/scss/theme.scss +2 -0
  192. package/scss/theming/_configure-theme.scss +2 -2
  193. package/scss/theming/_daff-theme.scss +14 -4
  194. package/scss/theming/_index.scss +1 -1
  195. package/scss/theming/_theme-css-variables.scss +20 -15
  196. package/scss/theming/contrast/luminance/luminance.scss +8 -6
  197. package/scss/theming/illuminate/illuminate.scss +20 -17
  198. package/scss/typography/_classes.scss +2 -1
  199. package/scss/typography/mixins/_font-weight.scss +2 -0
  200. package/scss/typography/mixins/_sizes.scss +4 -4
  201. package/scss/typography/utilities/_index.scss +1 -1
  202. package/scss/typography/utilities/_variables.scss +1 -1
  203. package/sidebar/sidebar-header/sidebar-header.component.d.ts +10 -1
  204. package/sidebar/sidebar-viewport/sidebar-viewport.component.d.ts +13 -11
  205. package/sidebar/sidebar.module.d.ts +1 -1
  206. package/sidebar/src/sidebar-theme.scss +3 -3
  207. package/src/atoms/form/form-field/form-field/form-field-theme.scss +6 -6
  208. package/src/atoms/form/input/input-theme.scss +2 -2
  209. package/src/atoms/form/native-select/native-select-theme.scss +3 -3
  210. package/switch/README.md +61 -0
  211. package/switch/examples/basic-switch/basic-switch.component.d.ts +8 -0
  212. package/switch/examples/disabled-switch/disabled-switch.component.d.ts +7 -0
  213. package/switch/examples/examples.d.ts +5 -0
  214. package/switch/examples/index.d.ts +1 -0
  215. package/switch/examples/loading-switch/loading-switch.component.d.ts +7 -0
  216. package/switch/examples/public_api.d.ts +6 -0
  217. package/switch/examples/switch-error/switch-error.component.d.ts +7 -0
  218. package/switch/examples/switch-label-positions/switch-label-positions.component.d.ts +12 -0
  219. package/switch/index.d.ts +1 -0
  220. package/switch/public_api.d.ts +2 -0
  221. package/switch/src/switch-theme.scss +31 -0
  222. package/switch/switch/label-position.d.ts +10 -0
  223. package/switch/switch/switch.component.d.ts +56 -0
  224. package/switch/switch.d.ts +3 -0
  225. package/tabs/README.md +3 -0
  226. package/tabs/examples/link-tabs/link-tabs.component.d.ts +6 -0
  227. package/tabs/src/tabs-theme.scss +17 -9
  228. package/tabs/tabs/tab/tab.component.d.ts +3 -2
  229. package/tabs/tabs/tab-activator/tab-activator.component.d.ts +5 -4
  230. package/tabs/tabs/tab-label/tab-label.component.d.ts +1 -0
  231. package/tabs/tabs/tab-panel/tab-panel.component.d.ts +1 -0
  232. package/tabs/tabs/tabs.component.d.ts +31 -7
  233. package/toast/src/toast-theme.scss +18 -18
  234. package/toast/toast.module.d.ts +1 -1
  235. package/tree/src/tree-theme.scss +11 -11
  236. package/tree/tree/tree.component.d.ts +1 -2
  237. package/tree/tree-item/tree-item.directive.d.ts +5 -6
  238. package/tree/tree.module.d.ts +1 -1
  239. package/esm2022/accordion/accordion/accordion/accordion.component.mjs +0 -15
  240. package/esm2022/accordion/accordion/accordion-item/accordion-item.component.mjs +0 -81
  241. package/esm2022/accordion/accordion/accordion-item-title/accordion-item-title.directive.mjs +0 -23
  242. package/esm2022/accordion/accordion/animation/accordion-animation-state.mjs +0 -9
  243. package/esm2022/accordion/accordion/animation/accordion-animation.mjs +0 -15
  244. package/esm2022/accordion/accordion.mjs +0 -9
  245. package/esm2022/accordion/accordion.module.mjs +0 -34
  246. package/esm2022/accordion/daffodil-design-accordion.mjs +0 -5
  247. package/esm2022/accordion/examples/basic-accordion/basic-accordion.component.mjs +0 -15
  248. package/esm2022/accordion/examples/daffodil-design-accordion-examples.mjs +0 -5
  249. package/esm2022/accordion/examples/examples.mjs +0 -5
  250. package/esm2022/accordion/examples/index.mjs +0 -2
  251. package/esm2022/accordion/examples/public_api.mjs +0 -3
  252. package/esm2022/accordion/index.mjs +0 -2
  253. package/esm2022/accordion/public_api.mjs +0 -6
  254. package/esm2022/article/article/article.component.mjs +0 -30
  255. package/esm2022/article/article-meta/article-meta.directive.mjs +0 -23
  256. package/esm2022/article/article.mjs +0 -7
  257. package/esm2022/article/article.module.mjs +0 -29
  258. package/esm2022/article/daffodil-design-article.mjs +0 -5
  259. package/esm2022/article/examples/article-blockquote/article-blockquote.component.mjs +0 -15
  260. package/esm2022/article/examples/article-code-block/article-code-block.component.mjs +0 -15
  261. package/esm2022/article/examples/article-code-inline/article-code-inline.component.mjs +0 -15
  262. package/esm2022/article/examples/article-headings/article-headings.component.mjs +0 -15
  263. package/esm2022/article/examples/article-hr/article-hr.component.mjs +0 -15
  264. package/esm2022/article/examples/article-link/article-link.component.mjs +0 -15
  265. package/esm2022/article/examples/article-meta/article-meta.component.mjs +0 -15
  266. package/esm2022/article/examples/article-ol/article-ol.component.mjs +0 -15
  267. package/esm2022/article/examples/article-table/article-table.component.mjs +0 -15
  268. package/esm2022/article/examples/article-ul/article-ul.component.mjs +0 -15
  269. package/esm2022/article/examples/daffodil-design-article-examples.mjs +0 -5
  270. package/esm2022/article/examples/examples.mjs +0 -23
  271. package/esm2022/article/examples/index.mjs +0 -2
  272. package/esm2022/article/examples/public_api.mjs +0 -11
  273. package/esm2022/article/index.mjs +0 -2
  274. package/esm2022/article/public_api.mjs +0 -5
  275. package/esm2022/atoms/form/checkbox/checkbox.component.mjs +0 -142
  276. package/esm2022/atoms/form/checkbox/checkbox.module.mjs +0 -39
  277. package/esm2022/atoms/form/checkbox/cva/checkbox-cva.directive.mjs +0 -94
  278. package/esm2022/atoms/form/checkbox/public_api.mjs +0 -5
  279. package/esm2022/atoms/form/checkbox-set/checkbox-set.component.mjs +0 -38
  280. package/esm2022/atoms/form/core/error-state-matcher/error-state-matcher.mjs +0 -6
  281. package/esm2022/atoms/form/core/public_api.mjs +0 -2
  282. package/esm2022/atoms/form/error-message/error-message.component.mjs +0 -17
  283. package/esm2022/atoms/form/error-message/error-message.module.mjs +0 -20
  284. package/esm2022/atoms/form/error-message/public_api.mjs +0 -3
  285. package/esm2022/atoms/form/form-field/form-field/form-field.component.mjs +0 -102
  286. package/esm2022/atoms/form/form-field/form-field-control.mjs +0 -15
  287. package/esm2022/atoms/form/form-field/form-field-errors.mjs +0 -2
  288. package/esm2022/atoms/form/form-field/form-field.module.mjs +0 -34
  289. package/esm2022/atoms/form/form-field/public_api.mjs +0 -4
  290. package/esm2022/atoms/form/form-label/form-label.directive.mjs +0 -19
  291. package/esm2022/atoms/form/form-label/form-label.module.mjs +0 -20
  292. package/esm2022/atoms/form/form-label/public_api.mjs +0 -3
  293. package/esm2022/atoms/form/input/input.component.mjs +0 -59
  294. package/esm2022/atoms/form/input/input.module.mjs +0 -24
  295. package/esm2022/atoms/form/input/public_api.mjs +0 -3
  296. package/esm2022/atoms/form/native-select/native-select.component.mjs +0 -64
  297. package/esm2022/atoms/form/native-select/native-select.module.mjs +0 -24
  298. package/esm2022/atoms/form/native-select/public_api.mjs +0 -3
  299. package/esm2022/atoms/form/quantity-field/public_api.mjs +0 -5
  300. package/esm2022/atoms/form/quantity-field/quantity-field.component.mjs +0 -137
  301. package/esm2022/atoms/form/quantity-field/quantity-field.module.mjs +0 -46
  302. package/esm2022/atoms/form/quantity-field/quantity-input/quantity-input.component.mjs +0 -97
  303. package/esm2022/atoms/form/quantity-field/quantity-select/quantity-select.component.mjs +0 -84
  304. package/esm2022/atoms/form/radio/cva/radio-cva.directive.mjs +0 -89
  305. package/esm2022/atoms/form/radio/public_api.mjs +0 -5
  306. package/esm2022/atoms/form/radio/radio.component.mjs +0 -132
  307. package/esm2022/atoms/form/radio/radio.module.mjs +0 -34
  308. package/esm2022/atoms/form/radio/registry/radio-registry.mjs +0 -54
  309. package/esm2022/atoms/form/radio-set/radio-set.component.mjs +0 -22
  310. package/esm2022/breadcrumb/breadcrumb/breadcrumb.component.mjs +0 -25
  311. package/esm2022/breadcrumb/breadcrumb-item/breadcrumb-item.directive.mjs +0 -33
  312. package/esm2022/breadcrumb/breadcrumb.mjs +0 -7
  313. package/esm2022/breadcrumb/breadcrumb.module.mjs +0 -26
  314. package/esm2022/breadcrumb/daffodil-design-breadcrumb.mjs +0 -5
  315. package/esm2022/breadcrumb/examples/basic-breadcrumb/basic-breadcrumb.component.mjs +0 -15
  316. package/esm2022/breadcrumb/examples/daffodil-design-breadcrumb-examples.mjs +0 -5
  317. package/esm2022/breadcrumb/examples/index.mjs +0 -2
  318. package/esm2022/breadcrumb/examples/public_api.mjs +0 -5
  319. package/esm2022/breadcrumb/index.mjs +0 -2
  320. package/esm2022/breadcrumb/public_api.mjs +0 -5
  321. package/esm2022/button/button/basic/button.component.mjs +0 -48
  322. package/esm2022/button/button/button-base.directive.mjs +0 -105
  323. package/esm2022/button/button/button-sizable.directive.mjs +0 -14
  324. package/esm2022/button/button/flat/flat.component.mjs +0 -48
  325. package/esm2022/button/button/icon/icon.component.mjs +0 -44
  326. package/esm2022/button/button/raised/raised.component.mjs +0 -48
  327. package/esm2022/button/button/stroked/stroked.component.mjs +0 -48
  328. package/esm2022/button/button/underline/underline.component.mjs +0 -48
  329. package/esm2022/button/button.mjs +0 -17
  330. package/esm2022/button/button.module.mjs +0 -58
  331. package/esm2022/button/daffodil-design-button.mjs +0 -5
  332. package/esm2022/button/examples/basic-button/basic-button.component.mjs +0 -21
  333. package/esm2022/button/examples/daffodil-design-button-examples.mjs +0 -5
  334. package/esm2022/button/examples/examples.mjs +0 -19
  335. package/esm2022/button/examples/flat-button/flat-button.component.mjs +0 -21
  336. package/esm2022/button/examples/icon-button/icon-button.component.mjs +0 -20
  337. package/esm2022/button/examples/index.mjs +0 -2
  338. package/esm2022/button/examples/public_api.mjs +0 -10
  339. package/esm2022/button/examples/raised-button/raised-button.component.mjs +0 -21
  340. package/esm2022/button/examples/sizeable-button/sizeable-button.component.mjs +0 -22
  341. package/esm2022/button/examples/statusable-button/statusable-button.component.mjs +0 -24
  342. package/esm2022/button/examples/stroked-button/stroked-button.component.mjs +0 -21
  343. package/esm2022/button/examples/underline-button/underline-button.component.mjs +0 -21
  344. package/esm2022/button/index.mjs +0 -2
  345. package/esm2022/button/public_api.mjs +0 -10
  346. package/esm2022/callout/callout/callout.component.mjs +0 -43
  347. package/esm2022/callout/callout-body/callout-body.directive.mjs +0 -23
  348. package/esm2022/callout/callout-icon/callout-icon.directive.mjs +0 -23
  349. package/esm2022/callout/callout-subtitle/callout-subtitle.directive.mjs +0 -23
  350. package/esm2022/callout/callout-tagline/callout-tagline.directive.mjs +0 -23
  351. package/esm2022/callout/callout-title/callout-title.directive.mjs +0 -23
  352. package/esm2022/callout/callout.mjs +0 -15
  353. package/esm2022/callout/callout.module.mjs +0 -49
  354. package/esm2022/callout/daffodil-design-callout.mjs +0 -5
  355. package/esm2022/callout/examples/callout-text-alignment/callout-text-alignment.component.mjs +0 -38
  356. package/esm2022/callout/examples/callout-theming/callout-theming.component.mjs +0 -39
  357. package/esm2022/callout/examples/callout-with-grid/callout-with-grid.component.mjs +0 -27
  358. package/esm2022/callout/examples/compact-callout/compact-callout.component.mjs +0 -26
  359. package/esm2022/callout/examples/daffodil-design-callout-examples.mjs +0 -5
  360. package/esm2022/callout/examples/examples.mjs +0 -11
  361. package/esm2022/callout/examples/index.mjs +0 -2
  362. package/esm2022/callout/examples/public_api.mjs +0 -6
  363. package/esm2022/callout/index.mjs +0 -2
  364. package/esm2022/callout/public_api.mjs +0 -9
  365. package/esm2022/card/card/card.component.mjs +0 -108
  366. package/esm2022/card/card-actions/card-actions.directive.mjs +0 -23
  367. package/esm2022/card/card-content/card-content.directive.mjs +0 -23
  368. package/esm2022/card/card-icon/card-icon.directive.mjs +0 -23
  369. package/esm2022/card/card-image/card-image.directive.mjs +0 -23
  370. package/esm2022/card/card-tagline/card-tagline.directive.mjs +0 -23
  371. package/esm2022/card/card-title/card-title.directive.mjs +0 -23
  372. package/esm2022/card/card.mjs +0 -17
  373. package/esm2022/card/card.module.mjs +0 -56
  374. package/esm2022/card/daffodil-design-card.mjs +0 -5
  375. package/esm2022/card/examples/basic-card/basic-card.component.mjs +0 -26
  376. package/esm2022/card/examples/card-orientation/card-orientation.component.mjs +0 -37
  377. package/esm2022/card/examples/card-theming/card-theming.component.mjs +0 -33
  378. package/esm2022/card/examples/daffodil-design-card-examples.mjs +0 -5
  379. package/esm2022/card/examples/index.mjs +0 -2
  380. package/esm2022/card/examples/linkable-card/linkable-card.component.mjs +0 -38
  381. package/esm2022/card/examples/public_api.mjs +0 -16
  382. package/esm2022/card/examples/raised-card/raised-card.component.mjs +0 -36
  383. package/esm2022/card/examples/stroked-card/stroked-card.component.mjs +0 -36
  384. package/esm2022/card/index.mjs +0 -2
  385. package/esm2022/card/public_api.mjs +0 -10
  386. package/esm2022/checkbox/examples/basic-checkbox/basic-checkbox.component.mjs +0 -32
  387. package/esm2022/checkbox/examples/checkbox-set/checkbox-set.component.mjs +0 -33
  388. package/esm2022/checkbox/examples/daffodil-design-checkbox-examples.mjs +0 -5
  389. package/esm2022/checkbox/examples/examples.mjs +0 -7
  390. package/esm2022/checkbox/examples/index.mjs +0 -2
  391. package/esm2022/checkbox/examples/public_api.mjs +0 -2
  392. package/esm2022/container/container/container.component.mjs +0 -30
  393. package/esm2022/container/container.mjs +0 -5
  394. package/esm2022/container/container.module.mjs +0 -26
  395. package/esm2022/container/daffodil-design-container.mjs +0 -5
  396. package/esm2022/container/examples/container-sizes/container-sizes.component.mjs +0 -30
  397. package/esm2022/container/examples/daffodil-design-container-examples.mjs +0 -5
  398. package/esm2022/container/examples/examples.mjs +0 -5
  399. package/esm2022/container/examples/index.mjs +0 -2
  400. package/esm2022/container/examples/public_api.mjs +0 -3
  401. package/esm2022/container/index.mjs +0 -2
  402. package/esm2022/container/public_api.mjs +0 -4
  403. package/esm2022/core/animation/animation-state-with-params.mjs +0 -2
  404. package/esm2022/core/article-encapsulated/article-encapsulated.directive.mjs +0 -45
  405. package/esm2022/core/article-encapsulated/public_api.mjs +0 -2
  406. package/esm2022/core/breakpoints/breakpoints.mjs +0 -10
  407. package/esm2022/core/breakpoints/noop.service.mjs +0 -25
  408. package/esm2022/core/breakpoints/provider.mjs +0 -13
  409. package/esm2022/core/breakpoints/public_api.mjs +0 -4
  410. package/esm2022/core/colorable/colorable.directive.mjs +0 -104
  411. package/esm2022/core/colorable/colorable.mjs +0 -37
  412. package/esm2022/core/colorable/public_api.mjs +0 -2
  413. package/esm2022/core/compactable/compactable.directive.mjs +0 -70
  414. package/esm2022/core/compactable/compactable.mjs +0 -2
  415. package/esm2022/core/compactable/public_api.mjs +0 -2
  416. package/esm2022/core/constructor/constructor.mjs +0 -7
  417. package/esm2022/core/focus/focusable-elements.mjs +0 -2
  418. package/esm2022/core/focus/public_api.mjs +0 -3
  419. package/esm2022/core/focus/stack.service.mjs +0 -71
  420. package/esm2022/core/lazy/lazy-component.mjs +0 -3
  421. package/esm2022/core/lazy/public_api.mjs +0 -2
  422. package/esm2022/core/manage-container-layout/manage-container-layout.directive.mjs +0 -80
  423. package/esm2022/core/manage-container-layout/public_api.mjs +0 -2
  424. package/esm2022/core/mutable/mutable.mjs +0 -2
  425. package/esm2022/core/openable/openable.directive.mjs +0 -122
  426. package/esm2022/core/openable/openable.mjs +0 -2
  427. package/esm2022/core/openable/public_api.mjs +0 -2
  428. package/esm2022/core/openable/utils/state-error.mjs +0 -2
  429. package/esm2022/core/prefix-suffix/prefix-suffix.module.mjs +0 -26
  430. package/esm2022/core/prefix-suffix/prefix.directive.mjs +0 -24
  431. package/esm2022/core/prefix-suffix/prefixable/prefixable-interface.mjs +0 -2
  432. package/esm2022/core/prefix-suffix/prefixable/prefixable.mjs +0 -23
  433. package/esm2022/core/prefix-suffix/public_api.mjs +0 -6
  434. package/esm2022/core/prefix-suffix/suffix.directive.mjs +0 -24
  435. package/esm2022/core/prefix-suffix/suffixable/suffixable-interface.mjs +0 -2
  436. package/esm2022/core/prefix-suffix/suffixable/suffixable.mjs +0 -23
  437. package/esm2022/core/public_api.mjs +0 -19
  438. package/esm2022/core/sizable/public_api.mjs +0 -3
  439. package/esm2022/core/sizable/sizable.directive.mjs +0 -96
  440. package/esm2022/core/sizable/sizable.mjs +0 -12
  441. package/esm2022/core/skeletonable/public_api.mjs +0 -2
  442. package/esm2022/core/skeletonable/skeletonable.directive.mjs +0 -66
  443. package/esm2022/core/skeletonable/skeletonable.mjs +0 -2
  444. package/esm2022/core/statusable/public_api.mjs +0 -3
  445. package/esm2022/core/statusable/statusable.directive.mjs +0 -79
  446. package/esm2022/core/statusable/statusable.mjs +0 -11
  447. package/esm2022/core/text-alignable/public_api.mjs +0 -3
  448. package/esm2022/core/text-alignable/text-alignable.directive.mjs +0 -84
  449. package/esm2022/core/text-alignable/text-alignable.mjs +0 -7
  450. package/esm2022/core/theming/functions/computer.mjs +0 -18
  451. package/esm2022/core/theming/initializer.mjs +0 -17
  452. package/esm2022/core/theming/public_api.mjs +0 -4
  453. package/esm2022/core/theming/services/class-setter/theme-class-setter.service.mjs +0 -52
  454. package/esm2022/core/theming/services/os-theme/ostheme.service.mjs +0 -49
  455. package/esm2022/core/theming/services/storage/theme-storage.service.mjs +0 -67
  456. package/esm2022/core/theming/services/theming.service.mjs +0 -61
  457. package/esm2022/core/theming/types/theme.mjs +0 -10
  458. package/esm2022/daffodil-design.mjs +0 -5
  459. package/esm2022/hero/daffodil-design-hero.mjs +0 -5
  460. package/esm2022/hero/examples/compact-hero/compact-hero.component.mjs +0 -23
  461. package/esm2022/hero/examples/daffodil-design-hero-examples.mjs +0 -5
  462. package/esm2022/hero/examples/examples.mjs +0 -11
  463. package/esm2022/hero/examples/hero-text-alignment/hero-text-alignment.component.mjs +0 -38
  464. package/esm2022/hero/examples/hero-theming/hero-theming.component.mjs +0 -28
  465. package/esm2022/hero/examples/hero-with-grid/hero-with-grid.component.mjs +0 -26
  466. package/esm2022/hero/examples/index.mjs +0 -2
  467. package/esm2022/hero/examples/public_api.mjs +0 -6
  468. package/esm2022/hero/hero/hero.component.mjs +0 -40
  469. package/esm2022/hero/hero-body/hero-body.directive.mjs +0 -23
  470. package/esm2022/hero/hero-icon/hero-icon.directive.mjs +0 -23
  471. package/esm2022/hero/hero-subtitle/hero-subtitle.directive.mjs +0 -23
  472. package/esm2022/hero/hero-tagline/hero-tagline.directive.mjs +0 -23
  473. package/esm2022/hero/hero-title/hero-title.directive.mjs +0 -23
  474. package/esm2022/hero/hero.mjs +0 -15
  475. package/esm2022/hero/hero.module.mjs +0 -51
  476. package/esm2022/hero/index.mjs +0 -2
  477. package/esm2022/hero/public_api.mjs +0 -9
  478. package/esm2022/image/daffodil-design-image.mjs +0 -5
  479. package/esm2022/image/examples/basic-image/basic-image.component.mjs +0 -15
  480. package/esm2022/image/examples/daffodil-design-image-examples.mjs +0 -5
  481. package/esm2022/image/examples/index.mjs +0 -2
  482. package/esm2022/image/examples/load-image/load-image.component.mjs +0 -23
  483. package/esm2022/image/examples/public_api.mjs +0 -9
  484. package/esm2022/image/examples/skeleton-image/skeleton-image.component.mjs +0 -15
  485. package/esm2022/image/image/image.component.mjs +0 -116
  486. package/esm2022/image/image.mjs +0 -5
  487. package/esm2022/image/image.module.mjs +0 -26
  488. package/esm2022/image/index.mjs +0 -2
  489. package/esm2022/image/public_api.mjs +0 -4
  490. package/esm2022/index.mjs +0 -6
  491. package/esm2022/input/examples/basic-input/basic-input.component.mjs +0 -13
  492. package/esm2022/input/examples/daffodil-design-input-examples.mjs +0 -5
  493. package/esm2022/input/examples/examples.mjs +0 -11
  494. package/esm2022/input/examples/index.mjs +0 -2
  495. package/esm2022/input/examples/input-disabled/input-disabled.component.mjs +0 -13
  496. package/esm2022/input/examples/input-error/input-error.component.mjs +0 -25
  497. package/esm2022/input/examples/input-with-form-field/input-with-form-field.component.mjs +0 -13
  498. package/esm2022/input/examples/public_api.mjs +0 -2
  499. package/esm2022/link-set/daffodil-design-link-set.mjs +0 -5
  500. package/esm2022/link-set/index.mjs +0 -2
  501. package/esm2022/link-set/link-set/link-set.component.mjs +0 -27
  502. package/esm2022/link-set/link-set-heading/link-set-heading.directive.mjs +0 -26
  503. package/esm2022/link-set/link-set-item/link-set-item.component.mjs +0 -27
  504. package/esm2022/link-set/link-set-subheading/link-set-subheading.directive.mjs +0 -26
  505. package/esm2022/link-set/link-set.mjs +0 -11
  506. package/esm2022/link-set/link-set.module.mjs +0 -41
  507. package/esm2022/link-set/public_api.mjs +0 -7
  508. package/esm2022/list/daffodil-design-list.mjs +0 -5
  509. package/esm2022/list/examples/basic-list/basic-list.component.mjs +0 -16
  510. package/esm2022/list/examples/daffodil-design-list-examples.mjs +0 -5
  511. package/esm2022/list/examples/examples.mjs +0 -11
  512. package/esm2022/list/examples/icon-list/icon-list.component.mjs +0 -22
  513. package/esm2022/list/examples/index.mjs +0 -2
  514. package/esm2022/list/examples/multiline-list/multiline-list.component.mjs +0 -16
  515. package/esm2022/list/examples/nav-list/nav-list.component.mjs +0 -22
  516. package/esm2022/list/examples/public_api.mjs +0 -6
  517. package/esm2022/list/index.mjs +0 -2
  518. package/esm2022/list/list/list.component.mjs +0 -63
  519. package/esm2022/list/list-item/list-item.component.mjs +0 -52
  520. package/esm2022/list/list.mjs +0 -9
  521. package/esm2022/list/list.module.mjs +0 -35
  522. package/esm2022/list/public_api.mjs +0 -5
  523. package/esm2022/loading-icon/daffodil-design-loading-icon.mjs +0 -5
  524. package/esm2022/loading-icon/examples/daffodil-design-loading-icon-examples.mjs +0 -5
  525. package/esm2022/loading-icon/examples/examples.mjs +0 -5
  526. package/esm2022/loading-icon/examples/index.mjs +0 -2
  527. package/esm2022/loading-icon/examples/loading-icon-color/loading-icon-color.component.mjs +0 -33
  528. package/esm2022/loading-icon/examples/public_api.mjs +0 -3
  529. package/esm2022/loading-icon/index.mjs +0 -2
  530. package/esm2022/loading-icon/loading-icon/loading-icon.component.mjs +0 -30
  531. package/esm2022/loading-icon/loading-icon.mjs +0 -5
  532. package/esm2022/loading-icon/loading-icon.module.mjs +0 -26
  533. package/esm2022/loading-icon/public_api.mjs +0 -4
  534. package/esm2022/media-gallery/daffodil-design-media-gallery.mjs +0 -5
  535. package/esm2022/media-gallery/examples/basic-media-gallery/basic-media-gallery.component.mjs +0 -18
  536. package/esm2022/media-gallery/examples/daffodil-design-media-gallery-examples.mjs +0 -5
  537. package/esm2022/media-gallery/examples/examples.mjs +0 -9
  538. package/esm2022/media-gallery/examples/index.mjs +0 -2
  539. package/esm2022/media-gallery/examples/mismatched-sizes-media-gallery/mismatched-sizes-media-gallery.component.mjs +0 -18
  540. package/esm2022/media-gallery/examples/public_api.mjs +0 -5
  541. package/esm2022/media-gallery/examples/skeleton-media-gallery/skeleton-media-gallery.component.mjs +0 -18
  542. package/esm2022/media-gallery/helpers/media-gallery-registration.interface.mjs +0 -2
  543. package/esm2022/media-gallery/helpers/media-gallery-token.mjs +0 -7
  544. package/esm2022/media-gallery/index.mjs +0 -2
  545. package/esm2022/media-gallery/media-gallery/media-gallery.component.mjs +0 -57
  546. package/esm2022/media-gallery/media-gallery.mjs +0 -9
  547. package/esm2022/media-gallery/media-gallery.module.mjs +0 -34
  548. package/esm2022/media-gallery/media-renderer/media-renderer.component.mjs +0 -81
  549. package/esm2022/media-gallery/public_api.mjs +0 -6
  550. package/esm2022/media-gallery/registry/media-gallery.registry.mjs +0 -97
  551. package/esm2022/media-gallery/thumbnail/thumbnail-compat.token.mjs +0 -11
  552. package/esm2022/media-gallery/thumbnail/thumbnail-registration.interface.mjs +0 -2
  553. package/esm2022/media-gallery/thumbnail/thumbnail.directive.mjs +0 -89
  554. package/esm2022/menu/daffodil-design-menu.mjs +0 -5
  555. package/esm2022/menu/examples/basic-menu/basic-menu.component.mjs +0 -21
  556. package/esm2022/menu/examples/basic-menu/menu-content/menu-content.component.mjs +0 -23
  557. package/esm2022/menu/examples/daffodil-design-menu-examples.mjs +0 -5
  558. package/esm2022/menu/examples/index.mjs +0 -2
  559. package/esm2022/menu/examples/public_api.mjs +0 -5
  560. package/esm2022/menu/helpers/create-overlay.mjs +0 -29
  561. package/esm2022/menu/helpers/public_api.mjs +0 -2
  562. package/esm2022/menu/index.mjs +0 -2
  563. package/esm2022/menu/menu/menu.component.mjs +0 -66
  564. package/esm2022/menu/menu-activator/menu-activator.component.mjs +0 -49
  565. package/esm2022/menu/menu-item/menu-item.component.mjs +0 -38
  566. package/esm2022/menu/menu.module.mjs +0 -45
  567. package/esm2022/menu/public_api.mjs +0 -7
  568. package/esm2022/menu/services/menu.service.mjs +0 -53
  569. package/esm2022/modal/animations/modal-animation-state.mjs +0 -2
  570. package/esm2022/modal/animations/modal-animation.mjs +0 -9
  571. package/esm2022/modal/daffodil-design-modal.mjs +0 -5
  572. package/esm2022/modal/examples/basic-modal/basic-modal.component.mjs +0 -28
  573. package/esm2022/modal/examples/basic-modal/modal-content.component.mjs +0 -17
  574. package/esm2022/modal/examples/daffodil-design-modal-examples.mjs +0 -5
  575. package/esm2022/modal/examples/index.mjs +0 -2
  576. package/esm2022/modal/examples/public_api.mjs +0 -5
  577. package/esm2022/modal/index.mjs +0 -2
  578. package/esm2022/modal/modal/modal-config.mjs +0 -2
  579. package/esm2022/modal/modal/modal.component.mjs +0 -163
  580. package/esm2022/modal/modal/modal.mjs +0 -2
  581. package/esm2022/modal/modal-actions/modal-actions.component.mjs +0 -22
  582. package/esm2022/modal/modal-close/modal-close.directive.mjs +0 -48
  583. package/esm2022/modal/modal-content/modal-content.component.mjs +0 -22
  584. package/esm2022/modal/modal-header/modal-header.component.mjs +0 -37
  585. package/esm2022/modal/modal-title/modal-title.directive.mjs +0 -50
  586. package/esm2022/modal/modal.mjs +0 -13
  587. package/esm2022/modal/modal.module.mjs +0 -75
  588. package/esm2022/modal/public_api.mjs +0 -10
  589. package/esm2022/modal/service/modal.service.mjs +0 -74
  590. package/esm2022/navbar/daffodil-design-navbar.mjs +0 -5
  591. package/esm2022/navbar/examples/basic-navbar/basic-navbar.component.mjs +0 -17
  592. package/esm2022/navbar/examples/contained-navbar/contained-navbar.component.mjs +0 -20
  593. package/esm2022/navbar/examples/daffodil-design-navbar-examples.mjs +0 -5
  594. package/esm2022/navbar/examples/examples.mjs +0 -11
  595. package/esm2022/navbar/examples/index.mjs +0 -2
  596. package/esm2022/navbar/examples/navbar-theming/navbar-theming.component.mjs +0 -35
  597. package/esm2022/navbar/examples/public_api.mjs +0 -6
  598. package/esm2022/navbar/examples/raised-navbar/raised-navbar.component.mjs +0 -17
  599. package/esm2022/navbar/index.mjs +0 -2
  600. package/esm2022/navbar/navbar/navbar.component.mjs +0 -41
  601. package/esm2022/navbar/navbar.mjs +0 -5
  602. package/esm2022/navbar/navbar.module.mjs +0 -26
  603. package/esm2022/navbar/public_api.mjs +0 -4
  604. package/esm2022/notification/daffodil-design-notification.mjs +0 -5
  605. package/esm2022/notification/examples/daffodil-design-notification-examples.mjs +0 -5
  606. package/esm2022/notification/examples/default-notification/default-notification.component.mjs +0 -30
  607. package/esm2022/notification/examples/dismissible-notification/dismissible-notification.component.mjs +0 -30
  608. package/esm2022/notification/examples/index.mjs +0 -2
  609. package/esm2022/notification/examples/notification-orientations/notification-orientations.component.mjs +0 -30
  610. package/esm2022/notification/examples/notification-status/notification-status.component.mjs +0 -32
  611. package/esm2022/notification/examples/notification-with-actions/notification-with-actions.component.mjs +0 -29
  612. package/esm2022/notification/examples/public_api.mjs +0 -13
  613. package/esm2022/notification/index.mjs +0 -2
  614. package/esm2022/notification/notification/notification.component.mjs +0 -108
  615. package/esm2022/notification/notification-actions/notification-actions.directive.mjs +0 -20
  616. package/esm2022/notification/notification-message/notification-message.directive.mjs +0 -20
  617. package/esm2022/notification/notification-subtitle/notification-subtitle.directive.mjs +0 -20
  618. package/esm2022/notification/notification-title/notification-title.directive.mjs +0 -20
  619. package/esm2022/notification/notification.mjs +0 -15
  620. package/esm2022/notification/notification.module.mjs +0 -57
  621. package/esm2022/notification/public_api.mjs +0 -8
  622. package/esm2022/paginator/daffodil-design-paginator.mjs +0 -5
  623. package/esm2022/paginator/examples/basic-paginator/basic-paginator.component.mjs +0 -22
  624. package/esm2022/paginator/examples/daffodil-design-paginator-examples.mjs +0 -5
  625. package/esm2022/paginator/examples/examples.mjs +0 -7
  626. package/esm2022/paginator/examples/index.mjs +0 -2
  627. package/esm2022/paginator/examples/link-paginator/link-paginator.component.mjs +0 -30
  628. package/esm2022/paginator/examples/public_api.mjs +0 -4
  629. package/esm2022/paginator/index.mjs +0 -2
  630. package/esm2022/paginator/paginator/paginator.component.mjs +0 -169
  631. package/esm2022/paginator/paginator.mjs +0 -5
  632. package/esm2022/paginator/paginator.module.mjs +0 -35
  633. package/esm2022/paginator/public_api.mjs +0 -4
  634. package/esm2022/paginator/utils/paginator-errors.mjs +0 -3
  635. package/esm2022/progress-bar/animation/progress-bar-animation.mjs +0 -9
  636. package/esm2022/progress-bar/daffodil-design-progress-bar.mjs +0 -5
  637. package/esm2022/progress-bar/examples/daffodil-design-progress-bar-examples.mjs +0 -5
  638. package/esm2022/progress-bar/examples/index.mjs +0 -2
  639. package/esm2022/progress-bar/examples/progress-bar-default/progress-bar-default.component.mjs +0 -15
  640. package/esm2022/progress-bar/examples/progress-bar-indeterminate/progress-bar-indeterminate.component.mjs +0 -15
  641. package/esm2022/progress-bar/examples/progress-bar-themes/progress-bar-themes.component.mjs +0 -22
  642. package/esm2022/progress-bar/examples/public_api.mjs +0 -9
  643. package/esm2022/progress-bar/index.mjs +0 -2
  644. package/esm2022/progress-bar/progress-bar-label/progress-bar-label.directive.mjs +0 -20
  645. package/esm2022/progress-bar/progress-bar.component.mjs +0 -139
  646. package/esm2022/progress-bar/progress-bar.mjs +0 -7
  647. package/esm2022/progress-bar/progress-bar.module.mjs +0 -31
  648. package/esm2022/progress-bar/public_api.mjs +0 -5
  649. package/esm2022/public_api.mjs +0 -16
  650. package/esm2022/quantity-field/examples/basic-quantity-field/basic-quantity-field.component.mjs +0 -22
  651. package/esm2022/quantity-field/examples/custom-range-quantity-field/custom-range-quantity-field.component.mjs +0 -22
  652. package/esm2022/quantity-field/examples/daffodil-design-quantity-field-examples.mjs +0 -5
  653. package/esm2022/quantity-field/examples/disabled-quantity-field/disabled-quantity-field.component.mjs +0 -22
  654. package/esm2022/quantity-field/examples/index.mjs +0 -2
  655. package/esm2022/quantity-field/examples/public_api.mjs +0 -12
  656. package/esm2022/quantity-field/examples/select-max-quantity-field/select-max-quantity-field.component.mjs +0 -22
  657. package/esm2022/radio/examples/basic-radio/basic-radio.component.mjs +0 -20
  658. package/esm2022/radio/examples/daffodil-design-radio-examples.mjs +0 -5
  659. package/esm2022/radio/examples/examples.mjs +0 -5
  660. package/esm2022/radio/examples/index.mjs +0 -2
  661. package/esm2022/radio/examples/public_api.mjs +0 -2
  662. package/esm2022/sidebar/animation/sidebar-animation-state.mjs +0 -24
  663. package/esm2022/sidebar/animation/sidebar-animation-width.mjs +0 -2
  664. package/esm2022/sidebar/animation/sidebar-animation.mjs +0 -51
  665. package/esm2022/sidebar/animation/sidebar-viewport-animation-state.mjs +0 -4
  666. package/esm2022/sidebar/daffodil-design-sidebar.mjs +0 -5
  667. package/esm2022/sidebar/examples/basic-sidebar/basic-sidebar.component.mjs +0 -15
  668. package/esm2022/sidebar/examples/daffodil-design-sidebar-examples.mjs +0 -5
  669. package/esm2022/sidebar/examples/index.mjs +0 -2
  670. package/esm2022/sidebar/examples/over-and-under-sidebars/over-and-under-sidebars.component.mjs +0 -36
  671. package/esm2022/sidebar/examples/public_api.mjs +0 -11
  672. package/esm2022/sidebar/examples/side-fixed-sidebar/side-fixed-sidebar.component.mjs +0 -15
  673. package/esm2022/sidebar/examples/sidebar-with-sticky-content/sidebar-with-sticky-content.component.mjs +0 -15
  674. package/esm2022/sidebar/helper/is-docked-mode.mjs +0 -9
  675. package/esm2022/sidebar/helper/is-floating-mode.mjs +0 -9
  676. package/esm2022/sidebar/helper/sidebar-mode.mjs +0 -2
  677. package/esm2022/sidebar/helper/sidebar-side.mjs +0 -2
  678. package/esm2022/sidebar/index.mjs +0 -2
  679. package/esm2022/sidebar/public_api.mjs +0 -14
  680. package/esm2022/sidebar/service/registration.type.mjs +0 -2
  681. package/esm2022/sidebar/service/sidebar.service.mjs +0 -36
  682. package/esm2022/sidebar/sidebar/is-opening.mjs +0 -13
  683. package/esm2022/sidebar/sidebar/sidebar.component.mjs +0 -178
  684. package/esm2022/sidebar/sidebar-footer/sidebar-footer.component.mjs +0 -17
  685. package/esm2022/sidebar/sidebar-header/sidebar-header-action/sidebar-header-action.directive.mjs +0 -23
  686. package/esm2022/sidebar/sidebar-header/sidebar-header-title/sidebar-header-title.directive.mjs +0 -23
  687. package/esm2022/sidebar/sidebar-header/sidebar-header.component.mjs +0 -17
  688. package/esm2022/sidebar/sidebar-viewport/helper/has-parent-viewport.mjs +0 -16
  689. package/esm2022/sidebar/sidebar-viewport/nav-placement.mjs +0 -10
  690. package/esm2022/sidebar/sidebar-viewport/scroll-token/scroll.token.mjs +0 -45
  691. package/esm2022/sidebar/sidebar-viewport/sidebar-viewport.component.mjs +0 -198
  692. package/esm2022/sidebar/sidebar-viewport/utils/backdrop-interactable.mjs +0 -5
  693. package/esm2022/sidebar/sidebar-viewport/utils/content-pad.mjs +0 -17
  694. package/esm2022/sidebar/sidebar-viewport/utils/content-shift.mjs +0 -21
  695. package/esm2022/sidebar/sidebar-viewport-backdrop/animation/backdrop-animation-state.mjs +0 -2
  696. package/esm2022/sidebar/sidebar-viewport-backdrop/animation/backdrop-animation.mjs +0 -20
  697. package/esm2022/sidebar/sidebar-viewport-backdrop/sidebar-viewport-backdrop.component.mjs +0 -87
  698. package/esm2022/sidebar/sidebar.mjs +0 -17
  699. package/esm2022/sidebar/sidebar.module.mjs +0 -60
  700. package/esm2022/tabs/daffodil-design-tabs.mjs +0 -5
  701. package/esm2022/tabs/examples/basic-tabs/basic-tabs.component.mjs +0 -22
  702. package/esm2022/tabs/examples/custom-select-tabs/custom-select-tabs.component.mjs +0 -34
  703. package/esm2022/tabs/examples/daffodil-design-tabs-examples.mjs +0 -5
  704. package/esm2022/tabs/examples/disabled-tabs/disabled-tabs.component.mjs +0 -22
  705. package/esm2022/tabs/examples/index.mjs +0 -2
  706. package/esm2022/tabs/examples/initially-select-tab/initially-select-tab.component.mjs +0 -22
  707. package/esm2022/tabs/examples/public_api.mjs +0 -11
  708. package/esm2022/tabs/index.mjs +0 -2
  709. package/esm2022/tabs/public_api.mjs +0 -6
  710. package/esm2022/tabs/tabs/tab/tab.component.mjs +0 -86
  711. package/esm2022/tabs/tabs/tab-activator/tab-activator.component.mjs +0 -83
  712. package/esm2022/tabs/tabs/tab-label/tab-label.component.mjs +0 -33
  713. package/esm2022/tabs/tabs/tab-panel/tab-panel.component.mjs +0 -68
  714. package/esm2022/tabs/tabs/tabs.component.mjs +0 -161
  715. package/esm2022/tabs/tabs.mjs +0 -13
  716. package/esm2022/text-snippet/daffodil-design-text-snippet.mjs +0 -5
  717. package/esm2022/text-snippet/examples/basic-text-snippet/basic-text-snippet.component.mjs +0 -14
  718. package/esm2022/text-snippet/examples/daffodil-design-text-snippet-examples.mjs +0 -5
  719. package/esm2022/text-snippet/examples/index.mjs +0 -2
  720. package/esm2022/text-snippet/examples/public_api.mjs +0 -5
  721. package/esm2022/text-snippet/index.mjs +0 -2
  722. package/esm2022/text-snippet/public_api.mjs +0 -2
  723. package/esm2022/text-snippet/text-snippet.component.mjs +0 -46
  724. package/esm2022/toast/daffodil-design-toast.mjs +0 -5
  725. package/esm2022/toast/examples/daffodil-design-toast-examples.mjs +0 -5
  726. package/esm2022/toast/examples/default-toast/default-toast.component.mjs +0 -40
  727. package/esm2022/toast/examples/index.mjs +0 -2
  728. package/esm2022/toast/examples/public_api.mjs +0 -11
  729. package/esm2022/toast/examples/toast-positions/toast-positions.component.mjs +0 -61
  730. package/esm2022/toast/examples/toast-status/toast-status.component.mjs +0 -49
  731. package/esm2022/toast/examples/toast-with-custom-duration/toast-with-custom-duration.component.mjs +0 -28
  732. package/esm2022/toast/index.mjs +0 -2
  733. package/esm2022/toast/interfaces/toast-action.mjs +0 -2
  734. package/esm2022/toast/interfaces/toast.mjs +0 -2
  735. package/esm2022/toast/options/daff-toast-options.mjs +0 -16
  736. package/esm2022/toast/public_api.mjs +0 -10
  737. package/esm2022/toast/service/changes-focus.mjs +0 -2
  738. package/esm2022/toast/service/position-strategy.mjs +0 -29
  739. package/esm2022/toast/service/position.service.mjs +0 -33
  740. package/esm2022/toast/service/toast.service.mjs +0 -115
  741. package/esm2022/toast/toast/toast-config.mjs +0 -2
  742. package/esm2022/toast/toast/toast-provider.mjs +0 -7
  743. package/esm2022/toast/toast/toast-template.component.mjs +0 -280
  744. package/esm2022/toast/toast/toast.component.mjs +0 -73
  745. package/esm2022/toast/toast-actions/toast-actions.directive.mjs +0 -20
  746. package/esm2022/toast/toast-message/toast-message.directive.mjs +0 -20
  747. package/esm2022/toast/toast-title/toast-title.directive.mjs +0 -20
  748. package/esm2022/toast/toast.module.mjs +0 -69
  749. package/esm2022/tree/daffodil-design-tree.mjs +0 -5
  750. package/esm2022/tree/examples/basic-tree/basic-tree.component.mjs +0 -43
  751. package/esm2022/tree/examples/daffodil-design-tree-examples.mjs +0 -5
  752. package/esm2022/tree/examples/deep-tree/deep-tree.component.mjs +0 -54
  753. package/esm2022/tree/examples/index.mjs +0 -2
  754. package/esm2022/tree/examples/public_api.mjs +0 -8
  755. package/esm2022/tree/index.mjs +0 -2
  756. package/esm2022/tree/interfaces/recursive-key.mjs +0 -2
  757. package/esm2022/tree/interfaces/tree-data.mjs +0 -2
  758. package/esm2022/tree/interfaces/tree-render-mode.mjs +0 -2
  759. package/esm2022/tree/interfaces/tree-ui.mjs +0 -2
  760. package/esm2022/tree/public_api.mjs +0 -6
  761. package/esm2022/tree/tree/tree-notifier.service.mjs +0 -45
  762. package/esm2022/tree/tree/tree.component.mjs +0 -106
  763. package/esm2022/tree/tree-item/tree-item.directive.mjs +0 -157
  764. package/esm2022/tree/tree.mjs +0 -7
  765. package/esm2022/tree/tree.module.mjs +0 -31
  766. package/esm2022/tree/utils/flatten-tree.mjs +0 -63
  767. package/esm2022/tree/utils/hydrate-tree.mjs +0 -31
  768. package/esm2022/tree/utils/transform.mjs +0 -25
  769. package/esm2022/tree/utils/traverse-tree.mjs +0 -21
  770. package/scss/core/map/map-deep-check/map-deep-check.spec.scss +0 -43
  771. package/scss/core/map/map-deep-get/map-deep-get.spec.scss +0 -25
  772. package/scss/theming/contrast/contrast-ratio/contrast-ratio.spec.scss +0 -0
  773. package/scss/theming/contrast/text-contrast/text-contrast.spec.scss +0 -0
  774. package/src/atoms/form/radio/radio.scss +0 -0
@@ -1,17 +1,18 @@
1
1
  import * as i1 from '@daffodil/design';
2
- import { DaffPrefixDirective, DaffSuffixDirective, DaffPrefixSuffixModule, DaffArticleEncapsulatedDirective } from '@daffodil/design';
2
+ import { DaffPrefixDirective, DaffSuffixDirective, DaffPrefixSuffixModule, DaffSelectableDirective } from '@daffodil/design';
3
3
  import * as i0 from '@angular/core';
4
4
  import { TemplateRef, Component, ChangeDetectionStrategy, Input, ViewChild, ContentChild, HostBinding, ViewEncapsulation, EventEmitter, Output, ContentChildren, ViewChildren } from '@angular/core';
5
+ import * as i1$1 from '@angular/common';
5
6
  import { NgIf, NgTemplateOutlet } from '@angular/common';
7
+ import { RouterLink, RouterLinkActive } from '@angular/router';
6
8
 
7
9
  let tabId = 1;
8
10
  /**
9
11
  * `DaffTabComponet` is an element in the tab list that is used as a content container to group the label of a tab panel and the tab panel together.
10
12
  *
11
- * ## Template Structure
12
13
  * A `<daff-tab>` should include the {@link DaffTabLabelComponent} and {@link DaffTabPanelComponent} components in order to properly structure the UI.
13
14
  *
14
- * ## Usage
15
+ * @example Basic structure of tab
15
16
  * ```html
16
17
  * <daff-tab>
17
18
  * <daff-tab-label>
@@ -29,6 +30,7 @@ class DaffTabComponent {
29
30
  /**
30
31
  * Whether the tab is disabled.
31
32
  *
33
+ * @example Using the `disabled` property
32
34
  * ```html
33
35
  * <daff-tab [disabled]="true">
34
36
  * </daff-tab>
@@ -40,6 +42,7 @@ class DaffTabComponent {
40
42
  *
41
43
  * The `id` is automatically generated by linking the prefix 'daff-tab-' with an incrementing `tabId`. This value can be customized by passing a different `id` value via the component's `id` input.
42
44
  *
45
+ * @example Using the `id` property
43
46
  * ```html
44
47
  * <daff-tab [id]="'custom-id'"></daff-tab>
45
48
  * ```
@@ -51,8 +54,8 @@ class DaffTabComponent {
51
54
  this.panelId = 'daff-tab-panel-' + tabId;
52
55
  tabId++;
53
56
  }
54
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: DaffTabComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
55
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.2", type: DaffTabComponent, isStandalone: true, selector: "daff-tab", inputs: { disabled: "disabled", id: "id" }, viewQueries: [{ propertyName: "contentRef", first: true, predicate: ["content"], descendants: true, read: TemplateRef, static: true }, { propertyName: "labelRef", first: true, predicate: ["label"], descendants: true, read: TemplateRef, static: true }], ngImport: i0, template: `
57
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: DaffTabComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
58
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.0.7", type: DaffTabComponent, isStandalone: true, selector: "daff-tab", inputs: { disabled: "disabled", id: "id" }, viewQueries: [{ propertyName: "contentRef", first: true, predicate: ["content"], descendants: true, read: TemplateRef, static: true }, { propertyName: "labelRef", first: true, predicate: ["label"], descendants: true, read: TemplateRef, static: true }], ngImport: i0, template: `
56
59
  <ng-template #label>
57
60
  <ng-content select="daff-tab-label"></ng-content>
58
61
  </ng-template>
@@ -61,7 +64,7 @@ class DaffTabComponent {
61
64
  </ng-template>
62
65
  `, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
63
66
  }
64
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: DaffTabComponent, decorators: [{
67
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: DaffTabComponent, decorators: [{
65
68
  type: Component,
66
69
  args: [{
67
70
  standalone: true,
@@ -91,6 +94,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImpor
91
94
  /**
92
95
  * DaffTabLabelComponent is used to display the label of a tab panel. Labels may optionally contain a `daffPrefix` or `daffSuffix` to add icons or badges.
93
96
  *
97
+ * @example Basic structure of tab label
94
98
  * ```html
95
99
  * <daff-tab-label>
96
100
  * <div daffPrefix></div>
@@ -100,15 +104,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImpor
100
104
  * ```
101
105
  */
102
106
  class DaffTabLabelComponent {
103
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: DaffTabLabelComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
104
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.2", type: DaffTabLabelComponent, isStandalone: true, selector: "daff-tab-label", queries: [{ propertyName: "_prefix", first: true, predicate: DaffPrefixDirective, descendants: true }, { propertyName: "_suffix", first: true, predicate: DaffSuffixDirective, descendants: true }], ngImport: i0, template: "<ng-container *ngIf=\"_prefix\">\n <ng-content select=\"[daffPrefix]\"></ng-content>\n</ng-container>\n<div class=\"daff-tab-label__content\">\n <ng-content></ng-content>\n</div>\n<ng-container *ngIf=\"_suffix\">\n <ng-content select=\"[daffSuffix]\"></ng-content>\n</ng-container>", styles: [":host{display:flex;gap:8px}.daff-tab-label__content{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:240px}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: DaffPrefixSuffixModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
107
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: DaffTabLabelComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
108
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.0.7", type: DaffTabLabelComponent, isStandalone: true, selector: "daff-tab-label", queries: [{ propertyName: "_prefix", first: true, predicate: DaffPrefixDirective, descendants: true }, { propertyName: "_suffix", first: true, predicate: DaffSuffixDirective, descendants: true }], ngImport: i0, template: "<ng-container *ngIf=\"_prefix\">\n <ng-content select=\"[daffPrefix]\"></ng-content>\n</ng-container>\n<div class=\"daff-tab-label__content\">\n <ng-content></ng-content>\n</div>\n<ng-container *ngIf=\"_suffix\">\n <ng-content select=\"[daffSuffix]\"></ng-content>\n</ng-container>", styles: [":host{display:flex;justify-content:center;align-items:center;gap:.5rem}.daff-tab-label__content{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:15rem}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: DaffPrefixSuffixModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
105
109
  }
106
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: DaffTabLabelComponent, decorators: [{
110
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: DaffTabLabelComponent, decorators: [{
107
111
  type: Component,
108
- args: [{ standalone: true, selector: 'daff-tab-label', changeDetection: ChangeDetectionStrategy.OnPush, imports: [
112
+ args: [{ selector: 'daff-tab-label', changeDetection: ChangeDetectionStrategy.OnPush, imports: [
109
113
  NgIf,
110
114
  DaffPrefixSuffixModule,
111
- ], template: "<ng-container *ngIf=\"_prefix\">\n <ng-content select=\"[daffPrefix]\"></ng-content>\n</ng-container>\n<div class=\"daff-tab-label__content\">\n <ng-content></ng-content>\n</div>\n<ng-container *ngIf=\"_suffix\">\n <ng-content select=\"[daffSuffix]\"></ng-content>\n</ng-container>", styles: [":host{display:flex;gap:8px}.daff-tab-label__content{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:240px}\n"] }]
115
+ ], template: "<ng-container *ngIf=\"_prefix\">\n <ng-content select=\"[daffPrefix]\"></ng-content>\n</ng-container>\n<div class=\"daff-tab-label__content\">\n <ng-content></ng-content>\n</div>\n<ng-container *ngIf=\"_suffix\">\n <ng-content select=\"[daffSuffix]\"></ng-content>\n</ng-container>", styles: [":host{display:flex;justify-content:center;align-items:center;gap:.5rem}.daff-tab-label__content{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:15rem}\n"] }]
112
116
  }], propDecorators: { _prefix: [{
113
117
  type: ContentChild,
114
118
  args: [DaffPrefixDirective]
@@ -120,6 +124,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImpor
120
124
  /**
121
125
  * DaffTabPanelComponent is used to display the content panel of a tab.
122
126
  *
127
+ * @example Basic structure of tab panel
123
128
  * ```html
124
129
  * <daff-tab-panel>
125
130
  * <!-- Tab panel content goes here -->
@@ -158,10 +163,10 @@ class DaffTabPanelComponent {
158
163
  this.ariaLabelledBy = this.tab.id;
159
164
  this._id = this.tab.panelId;
160
165
  }
161
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: DaffTabPanelComponent, deps: [{ token: DaffTabComponent }], target: i0.ɵɵFactoryTarget.Component }); }
162
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.2", type: DaffTabPanelComponent, isStandalone: true, selector: "daff-tab-panel", host: { properties: { "class.daff-tab-panel": "this.class", "attr.role": "this.role", "attr.aria-labelledby": "this.ariaLabelledBy", "attr.tabindex": "this.tabIndex", "attr.id": "this.tabPanelId" } }, ngImport: i0, template: `<ng-content></ng-content>`, isInline: true, styles: [":host(.daff-tab-panel){display:block;padding:1rem}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
166
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: DaffTabPanelComponent, deps: [{ token: DaffTabComponent }], target: i0.ɵɵFactoryTarget.Component }); }
167
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.0.7", type: DaffTabPanelComponent, isStandalone: true, selector: "daff-tab-panel", host: { properties: { "class.daff-tab-panel": "this.class", "attr.role": "this.role", "attr.aria-labelledby": "this.ariaLabelledBy", "attr.tabindex": "this.tabIndex", "attr.id": "this.tabPanelId" } }, ngImport: i0, template: `<ng-content></ng-content>`, isInline: true, styles: [":host(.daff-tab-panel){display:block;padding:1rem}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
163
168
  }
164
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: DaffTabPanelComponent, decorators: [{
169
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: DaffTabPanelComponent, decorators: [{
165
170
  type: Component,
166
171
  args: [{ standalone: true, selector: 'daff-tab-panel', template: `<ng-content></ng-content>`, changeDetection: ChangeDetectionStrategy.OnPush, styles: [":host(.daff-tab-panel){display:block;padding:1rem}\n"] }]
167
172
  }], ctorParameters: () => [{ type: DaffTabComponent }], propDecorators: { class: [{
@@ -186,22 +191,17 @@ class DaffTabActivatorComponent {
186
191
  * Sets `aria-selected` to true if the component is selected and false if it's not selected.
187
192
  */
188
193
  get ariaSelected() {
189
- return this.selected ? true : false;
194
+ return this.selectableDirective.selected ? true : false;
190
195
  }
191
196
  /**
192
197
  * Sets `tabindex` to `0` if the component is selected and `-1` if it's not selected.
193
198
  */
194
199
  get tabIndex() {
195
- return this.selected ? '0' : '-1';
200
+ return this.selectableDirective.selected ? '0' : '-1';
196
201
  }
197
- ngOnInit() {
198
- /**
199
- * Sets the value of `panelId` to the `ariaControls` property
200
- */
201
- this.ariaControls = this.panelId;
202
- }
203
- constructor(el) {
202
+ constructor(el, selectableDirective) {
204
203
  this.el = el;
204
+ this.selectableDirective = selectableDirective;
205
205
  /**
206
206
  * @docs-private
207
207
  */
@@ -210,8 +210,6 @@ class DaffTabActivatorComponent {
210
210
  * Sets the `role` to tab.
211
211
  */
212
212
  this.role = 'tab';
213
- /** Whether or not a tab is selected */
214
- this.selected = false;
215
213
  this.ariaControls = '';
216
214
  /**
217
215
  * The html id of the tab activator component
@@ -219,31 +217,37 @@ class DaffTabActivatorComponent {
219
217
  this.tabActivatorId = '';
220
218
  this.panelId = '';
221
219
  }
220
+ ngOnInit() {
221
+ /**
222
+ * Sets the value of `panelId` to the `ariaControls` property
223
+ */
224
+ this.ariaControls = this.panelId;
225
+ }
222
226
  /**
223
227
  * Sets focus to the native element of the component
224
228
  */
225
229
  focus() {
226
230
  this.el.nativeElement.focus();
227
231
  }
228
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: DaffTabActivatorComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
229
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.2", type: DaffTabActivatorComponent, isStandalone: true, selector: "button[daff-tab-activator],a[daff-tab-activator]", inputs: { selected: "selected", tabActivatorId: "tabActivatorId", panelId: "panelId" }, host: { properties: { "class.daff-tab-activator": "this.class", "attr.role": "this.role", "class.selected": "this.selected", "attr.aria-selected": "this.ariaSelected", "attr.tabindex": "this.tabIndex", "attr.aria-controls": "this.ariaControls", "attr.id": "this.tabActivatorId" } }, ngImport: i0, template: `<ng-content></ng-content>`, isInline: true, styles: [".daff-tab-activator{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;display:inline-block;appearance:none;background:none;border:none;color:currentColor;font-size:1rem;font-weight:400;height:2.5rem;margin:0;padding:.5rem 1.5rem}.daff-tab-activator[disabled]{cursor:not-allowed;opacity:.6}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
232
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: DaffTabActivatorComponent, deps: [{ token: i0.ElementRef }, { token: i1.DaffSelectableDirective }], target: i0.ɵɵFactoryTarget.Component }); }
233
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.0.7", type: DaffTabActivatorComponent, isStandalone: true, selector: "button[daff-tab-activator],a[daff-tab-activator]", inputs: { tabActivatorId: "tabActivatorId", panelId: "panelId" }, host: { properties: { "class.daff-tab-activator": "this.class", "attr.role": "this.role", "attr.aria-selected": "this.ariaSelected", "attr.tabindex": "this.tabIndex", "attr.aria-controls": "this.ariaControls", "attr.id": "this.tabActivatorId" } }, hostDirectives: [{ directive: i1.DaffSelectableDirective, inputs: ["selected", "selected"] }], ngImport: i0, template: `<ng-content></ng-content>`, isInline: true, styles: [".daff-tab-activator{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;display:inline-block;appearance:none;background:none;border:none;color:currentColor;font-size:1rem;line-height:1.5rem;font-weight:500;height:3rem;margin:0;min-width:8rem;padding:.5rem 1.5rem;text-decoration:none;z-index:2}.daff-tab-activator[disabled]{cursor:not-allowed;opacity:.6}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
230
234
  }
231
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: DaffTabActivatorComponent, decorators: [{
235
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: DaffTabActivatorComponent, decorators: [{
232
236
  type: Component,
233
237
  args: [{ standalone: true, selector: '' +
234
238
  'button[daff-tab-activator]' + ',' +
235
- 'a[daff-tab-activator]', template: `<ng-content></ng-content>`, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, styles: [".daff-tab-activator{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;display:inline-block;appearance:none;background:none;border:none;color:currentColor;font-size:1rem;font-weight:400;height:2.5rem;margin:0;padding:.5rem 1.5rem}.daff-tab-activator[disabled]{cursor:not-allowed;opacity:.6}\n"] }]
236
- }], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { class: [{
239
+ 'a[daff-tab-activator]', template: `<ng-content></ng-content>`, hostDirectives: [
240
+ {
241
+ directive: DaffSelectableDirective,
242
+ inputs: ['selected'],
243
+ },
244
+ ], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, styles: [".daff-tab-activator{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;display:inline-block;appearance:none;background:none;border:none;color:currentColor;font-size:1rem;line-height:1.5rem;font-weight:500;height:3rem;margin:0;min-width:8rem;padding:.5rem 1.5rem;text-decoration:none;z-index:2}.daff-tab-activator[disabled]{cursor:not-allowed;opacity:.6}\n"] }]
245
+ }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i1.DaffSelectableDirective }], propDecorators: { class: [{
237
246
  type: HostBinding,
238
247
  args: ['class.daff-tab-activator']
239
248
  }], role: [{
240
249
  type: HostBinding,
241
250
  args: ['attr.role']
242
- }], selected: [{
243
- type: Input
244
- }, {
245
- type: HostBinding,
246
- args: ['class.selected']
247
251
  }], ariaSelected: [{
248
252
  type: HostBinding,
249
253
  args: ['attr.aria-selected']
@@ -265,7 +269,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImpor
265
269
  /**
266
270
  * Tabs provide a way to navigate between panels that display related content.
267
271
  *
268
- * ## Usage
272
+ * @example Basic use of the tabs component
269
273
  * ```html
270
274
  * <daff-tabs aria-label="List of tabs">
271
275
  * <daff-tab>
@@ -290,8 +294,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImpor
290
294
  * ```
291
295
  */
292
296
  class DaffTabsComponent {
293
- constructor(cdRef) {
297
+ get currentPath() {
298
+ return this.location.path();
299
+ }
300
+ constructor(cdRef, location) {
294
301
  this.cdRef = cdRef;
302
+ this.location = location;
295
303
  /**
296
304
  * @docs-private
297
305
  */
@@ -308,11 +316,30 @@ class DaffTabsComponent {
308
316
  * aria-label for the tab.
309
317
  */
310
318
  this.ariaLabel = '';
319
+ /**
320
+ * Replace the tab buttons with links.
321
+ */
322
+ this.linkMode = false;
323
+ /**
324
+ * The query parameter that the tabs component will use to set the tab value in link mode.
325
+ */
326
+ this.queryParam = 'tab';
311
327
  /**
312
328
  * Event emitted when tab selection changes.
313
329
  */
314
330
  this.tabChange = new EventEmitter();
315
331
  }
332
+ /**
333
+ * @docs-private
334
+ */
335
+ ngOnInit() {
336
+ this.location.onUrlChange(() => {
337
+ if (this.linkMode) {
338
+ this.selectedTab = null;
339
+ this.ngAfterContentInit();
340
+ }
341
+ });
342
+ }
316
343
  /**
317
344
  * @docs-private
318
345
  */
@@ -353,6 +380,14 @@ class DaffTabsComponent {
353
380
  } while (array[newIndex].disabled && selectedIndex !== startingIndex); // Skip disabled tabs
354
381
  this.select(array[newIndex].id);
355
382
  }
383
+ /**
384
+ * @docs-private
385
+ */
386
+ _buildQueryParams(tab) {
387
+ return {
388
+ [this.queryParam]: tab,
389
+ };
390
+ }
356
391
  /**
357
392
  * Selects the previous tab and wraps around to the last tab if the first tab is currently selected.
358
393
  */
@@ -380,18 +415,18 @@ class DaffTabsComponent {
380
415
  const array = this._tabs.toArray();
381
416
  this.select(array[array.length - 1].id);
382
417
  }
383
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: DaffTabsComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
384
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.2", type: DaffTabsComponent, isStandalone: true, selector: "daff-tabs", inputs: { initiallySelected: "initiallySelected", ariaLabel: ["aria-label", "ariaLabel"] }, outputs: { tabChange: "tabChange" }, host: { properties: { "class.daff-tabs": "this.class", "attr.aria-label": "this.externalAriaLabel" } }, queries: [{ propertyName: "_labels", predicate: DaffTabLabelComponent, descendants: true }, { propertyName: "_tabs", predicate: DaffTabComponent }], viewQueries: [{ propertyName: "_tabActivators", predicate: DaffTabActivatorComponent, descendants: true }], hostDirectives: [{ directive: i1.DaffArticleEncapsulatedDirective }], ngImport: i0, template: "<div class=\"daff-tabs__tab-list\"\n\trole=\"tablist\"\n\t[attr.aria-label]=\"ariaLabel\"\n\t(keydown.home)=\"selectFirst($event)\"\n\t(keydown.end)=\"selectLast($event)\">\n\t@for (tab of _tabs; track tab) {\n\t\t<button daff-tab-activator\n\t\t\t[selected]=\"tab.id === selectedTab\"\n\t\t\t(click)=\"select(tab.id)\"\n\t\t\t[panelId]=\"tab.panelId\"\n\t\t\t[disabled]=\"tab.disabled\"\n\t\t\t[tabActivatorId]=\"tab.id\"\n\t\t\t(keydown.arrowright)=\"next()\"\n\t\t\t(keydown.arrowleft)=\"previous()\">\n\t\t\t\t<ng-container *ngTemplateOutlet=\"tab.labelRef\"></ng-container>\n\t\t</button>\n\t}\n</div>\n\n@for (tab of _tabs; track tab) {\n\t@if(tab.id === selectedTab ) {\n\t\t<ng-container *ngTemplateOutlet=\"tab.contentRef\"></ng-container>\n\t}\n}", styles: [":host(.daff-tabs){max-width:100%}.daff-tabs{display:block}.daff-tabs .daff-tabs__tab-list{display:flex;overflow-x:scroll;scrollbar-width:thin}\n"], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: DaffTabActivatorComponent, selector: "button[daff-tab-activator],a[daff-tab-activator]", inputs: ["selected", "tabActivatorId", "panelId"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
418
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: DaffTabsComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1$1.Location }], target: i0.ɵɵFactoryTarget.Component }); }
419
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.7", type: DaffTabsComponent, isStandalone: true, selector: "daff-tabs", inputs: { initiallySelected: "initiallySelected", ariaLabel: ["aria-label", "ariaLabel"], linkMode: "linkMode", url: "url", queryParam: "queryParam" }, outputs: { tabChange: "tabChange" }, host: { properties: { "class.daff-tabs": "this.class", "attr.aria-label": "this.externalAriaLabel" } }, queries: [{ propertyName: "_labels", predicate: DaffTabLabelComponent, descendants: true }, { propertyName: "_tabs", predicate: DaffTabComponent }], viewQueries: [{ propertyName: "_tabActivators", predicate: DaffTabActivatorComponent, descendants: true }], ngImport: i0, template: "<div class=\"daff-tabs__tab-list\"\n\trole=\"tablist\"\n\t[attr.aria-label]=\"ariaLabel\"\n\t(keydown.home)=\"selectFirst($event)\"\n\t(keydown.end)=\"selectLast($event)\">\n\t@for (tab of _tabs; track tab) {\n\t\t@if (linkMode && tab.disabled) {\n\t\t\t<button daff-tab-activator routerLinkActive\n\t\t\t\t[selected]=\"tab.id === selectedTab\"\n\t\t\t\t[panelId]=\"tab.panelId\"\n\t\t\t\t[disabled]=\"tab.disabled\"\n\t\t\t\t[tabActivatorId]=\"tab.id\"\n\t\t\t\t(keydown.arrowright)=\"next()\"\n\t\t\t\t(keydown.arrowleft)=\"previous()\">\n\t\t\t\t\t<ng-container *ngTemplateOutlet=\"tab.labelRef\"></ng-container>\n\t\t\t</button>\n\t\t} @else if (linkMode) {\n\t\t\t<a daff-tab-activator routerLinkActive\n\t\t\t\tclass=\"daff-ae daff_tabs__link\"\n\t\t\t\t[selected]=\"tab.id === selectedTab\"\n\t\t\t\t[routerLink]=\"url || currentPath\"\n\t\t\t\tqueryParamsHandling=\"merge\"\n\t\t\t\t[queryParams]=\"_buildQueryParams(tab.id)\"\n\t\t\t\t[panelId]=\"tab.panelId\"\n\t\t\t\t[tabActivatorId]=\"tab.id\"\n\t\t\t\t(keydown.arrowright)=\"next()\"\n\t\t\t\t(keydown.arrowleft)=\"previous()\"\n\t\t\t\t(isActiveChange)=\"$event && select(tab.id)\">\n\t\t\t\t\t<ng-container *ngTemplateOutlet=\"tab.labelRef\"></ng-container>\n\t\t\t</a>\n\t\t} @else {\n\t\t\t<button daff-tab-activator\n\t\t\t\t[selected]=\"tab.id === selectedTab\"\n\t\t\t\t(click)=\"select(tab.id)\"\n\t\t\t\t[panelId]=\"tab.panelId\"\n\t\t\t\t[disabled]=\"tab.disabled\"\n\t\t\t\t[tabActivatorId]=\"tab.id\"\n\t\t\t\t(keydown.arrowright)=\"next()\"\n\t\t\t\t(keydown.arrowleft)=\"previous()\">\n\t\t\t\t\t<ng-container *ngTemplateOutlet=\"tab.labelRef\"></ng-container>\n\t\t\t</button>\n\t\t}\n\t}\n</div>\n\n@for (tab of _tabs; track tab) {\n\t@if(tab.id === selectedTab ) {\n\t\t<ng-container *ngTemplateOutlet=\"tab.contentRef\"></ng-container>\n\t}\n}", styles: [":host(.daff-tabs){max-width:100%}.daff-tabs{display:block}.daff-tabs .daff-tabs__tab-list{display:flex;overflow-x:auto;scrollbar-width:thin;position:relative}.daff-tabs .daff-tabs__tab-list:after{content:\"\";position:absolute;height:.125rem;width:100%;bottom:0}\n"], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "ariaCurrentWhenActive", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }, { kind: "component", type: DaffTabActivatorComponent, selector: "button[daff-tab-activator],a[daff-tab-activator]", inputs: ["tabActivatorId", "panelId"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
385
420
  }
386
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: DaffTabsComponent, decorators: [{
421
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: DaffTabsComponent, decorators: [{
387
422
  type: Component,
388
- args: [{ standalone: true, selector: 'daff-tabs', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, imports: [
423
+ args: [{ selector: 'daff-tabs', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, imports: [
389
424
  NgTemplateOutlet,
425
+ RouterLink,
426
+ RouterLinkActive,
390
427
  DaffTabActivatorComponent,
391
- ], hostDirectives: [
392
- { directive: DaffArticleEncapsulatedDirective },
393
- ], template: "<div class=\"daff-tabs__tab-list\"\n\trole=\"tablist\"\n\t[attr.aria-label]=\"ariaLabel\"\n\t(keydown.home)=\"selectFirst($event)\"\n\t(keydown.end)=\"selectLast($event)\">\n\t@for (tab of _tabs; track tab) {\n\t\t<button daff-tab-activator\n\t\t\t[selected]=\"tab.id === selectedTab\"\n\t\t\t(click)=\"select(tab.id)\"\n\t\t\t[panelId]=\"tab.panelId\"\n\t\t\t[disabled]=\"tab.disabled\"\n\t\t\t[tabActivatorId]=\"tab.id\"\n\t\t\t(keydown.arrowright)=\"next()\"\n\t\t\t(keydown.arrowleft)=\"previous()\">\n\t\t\t\t<ng-container *ngTemplateOutlet=\"tab.labelRef\"></ng-container>\n\t\t</button>\n\t}\n</div>\n\n@for (tab of _tabs; track tab) {\n\t@if(tab.id === selectedTab ) {\n\t\t<ng-container *ngTemplateOutlet=\"tab.contentRef\"></ng-container>\n\t}\n}", styles: [":host(.daff-tabs){max-width:100%}.daff-tabs{display:block}.daff-tabs .daff-tabs__tab-list{display:flex;overflow-x:scroll;scrollbar-width:thin}\n"] }]
394
- }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }], propDecorators: { class: [{
428
+ ], template: "<div class=\"daff-tabs__tab-list\"\n\trole=\"tablist\"\n\t[attr.aria-label]=\"ariaLabel\"\n\t(keydown.home)=\"selectFirst($event)\"\n\t(keydown.end)=\"selectLast($event)\">\n\t@for (tab of _tabs; track tab) {\n\t\t@if (linkMode && tab.disabled) {\n\t\t\t<button daff-tab-activator routerLinkActive\n\t\t\t\t[selected]=\"tab.id === selectedTab\"\n\t\t\t\t[panelId]=\"tab.panelId\"\n\t\t\t\t[disabled]=\"tab.disabled\"\n\t\t\t\t[tabActivatorId]=\"tab.id\"\n\t\t\t\t(keydown.arrowright)=\"next()\"\n\t\t\t\t(keydown.arrowleft)=\"previous()\">\n\t\t\t\t\t<ng-container *ngTemplateOutlet=\"tab.labelRef\"></ng-container>\n\t\t\t</button>\n\t\t} @else if (linkMode) {\n\t\t\t<a daff-tab-activator routerLinkActive\n\t\t\t\tclass=\"daff-ae daff_tabs__link\"\n\t\t\t\t[selected]=\"tab.id === selectedTab\"\n\t\t\t\t[routerLink]=\"url || currentPath\"\n\t\t\t\tqueryParamsHandling=\"merge\"\n\t\t\t\t[queryParams]=\"_buildQueryParams(tab.id)\"\n\t\t\t\t[panelId]=\"tab.panelId\"\n\t\t\t\t[tabActivatorId]=\"tab.id\"\n\t\t\t\t(keydown.arrowright)=\"next()\"\n\t\t\t\t(keydown.arrowleft)=\"previous()\"\n\t\t\t\t(isActiveChange)=\"$event && select(tab.id)\">\n\t\t\t\t\t<ng-container *ngTemplateOutlet=\"tab.labelRef\"></ng-container>\n\t\t\t</a>\n\t\t} @else {\n\t\t\t<button daff-tab-activator\n\t\t\t\t[selected]=\"tab.id === selectedTab\"\n\t\t\t\t(click)=\"select(tab.id)\"\n\t\t\t\t[panelId]=\"tab.panelId\"\n\t\t\t\t[disabled]=\"tab.disabled\"\n\t\t\t\t[tabActivatorId]=\"tab.id\"\n\t\t\t\t(keydown.arrowright)=\"next()\"\n\t\t\t\t(keydown.arrowleft)=\"previous()\">\n\t\t\t\t\t<ng-container *ngTemplateOutlet=\"tab.labelRef\"></ng-container>\n\t\t\t</button>\n\t\t}\n\t}\n</div>\n\n@for (tab of _tabs; track tab) {\n\t@if(tab.id === selectedTab ) {\n\t\t<ng-container *ngTemplateOutlet=\"tab.contentRef\"></ng-container>\n\t}\n}", styles: [":host(.daff-tabs){max-width:100%}.daff-tabs{display:block}.daff-tabs .daff-tabs__tab-list{display:flex;overflow-x:auto;scrollbar-width:thin;position:relative}.daff-tabs .daff-tabs__tab-list:after{content:\"\";position:absolute;height:.125rem;width:100%;bottom:0}\n"] }]
429
+ }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i1$1.Location }], propDecorators: { class: [{
395
430
  type: HostBinding,
396
431
  args: ['class.daff-tabs']
397
432
  }], initiallySelected: [{
@@ -402,6 +437,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImpor
402
437
  }], ariaLabel: [{
403
438
  type: Input,
404
439
  args: ['aria-label']
440
+ }], linkMode: [{
441
+ type: Input
442
+ }], url: [{
443
+ type: Input
444
+ }], queryParam: [{
445
+ type: Input
405
446
  }], tabChange: [{
406
447
  type: Output
407
448
  }], _labels: [{
@@ -1 +1 @@
1
- {"version":3,"file":"daffodil-design-tabs.mjs","sources":["../../../libs/design/tabs/src/tabs/tab/tab.component.ts","../../../libs/design/tabs/src/tabs/tab-label/tab-label.component.ts","../../../libs/design/tabs/src/tabs/tab-label/tab-label.component.html","../../../libs/design/tabs/src/tabs/tab-panel/tab-panel.component.ts","../../../libs/design/tabs/src/tabs/tab-activator/tab-activator.component.ts","../../../libs/design/tabs/src/tabs/tabs.component.ts","../../../libs/design/tabs/src/tabs/tabs.component.html","../../../libs/design/tabs/src/tabs.ts","../../../libs/design/tabs/src/daffodil-design-tabs.ts"],"sourcesContent":["import {\n Component,\n ChangeDetectionStrategy,\n TemplateRef,\n ViewChild,\n Input,\n} from '@angular/core';\n\nlet tabId = 1;\n\n/**\n * `DaffTabComponet` is an element in the tab list that is used as a content container to group the label of a tab panel and the tab panel together.\n *\n * ## Template Structure\n * A `<daff-tab>` should include the {@link DaffTabLabelComponent} and {@link DaffTabPanelComponent} components in order to properly structure the UI.\n *\n * ## Usage\n * ```html\n * <daff-tab>\n * \t<daff-tab-label>\n * \t\t<fa-icon [icon]=\"faInfoCircle\" daffPrefix></fa-icon>\n * \t\tTab 1\n * \t</daff-tab-label>\n * \t<daff-tab-panel>\n * \t\tTab 1 Panel\n * \t</daff-tab-panel>\n * </daff-tab>\n * ```\n */\n@Component({\n standalone: true,\n selector: 'daff-tab',\n template: `\n <ng-template #label>\n <ng-content select=\"daff-tab-label\"></ng-content>\n </ng-template>\n <ng-template #content>\n <ng-content select=\"daff-tab-panel\"></ng-content>\n </ng-template>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class DaffTabComponent {\n /**\n * Whether the tab is disabled.\n *\n * ```html\n * <daff-tab [disabled]=\"true\">\n * </daff-tab>\n * ```\n */\n @Input() disabled = false;\n\n /**\n * @docs-private\n */\n @ViewChild('content', { read: TemplateRef, static: true }) contentRef: TemplateRef<any>;\n\n /**\n * @docs-private\n */\n @ViewChild('label', { read: TemplateRef, static: true }) labelRef: TemplateRef<any>;\n\n /**\n * A unique id for the tab component.\n *\n * The `id` is automatically generated by linking the prefix 'daff-tab-' with an incrementing `tabId`. This value can be customized by passing a different `id` value via the component's `id` input.\n *\n * ```html\n * <daff-tab [id]=\"'custom-id'\"></daff-tab>\n * ```\n */\n @Input() id = 'daff-tab-' + tabId;\n\n /**\n * @docs-private\n */\n panelId = 'daff-tab-panel-' + tabId;\n\n constructor() {\n tabId++;\n }\n}\n","import { NgIf } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n ContentChild,\n} from '@angular/core';\n\nimport {\n DaffPrefixDirective,\n DaffSuffixDirective,\n DaffPrefixable,\n DaffSuffixable,\n DaffPrefixSuffixModule,\n} from '@daffodil/design';\n\n/**\n * DaffTabLabelComponent is used to display the label of a tab panel. Labels may optionally contain a `daffPrefix` or `daffSuffix` to add icons or badges.\n *\n * ```html\n * <daff-tab-label>\n * <div daffPrefix></div>\n * Label\n * <div daffSuffix></div\n * </daff-tab-Label>\n * ```\n */\n@Component({\n standalone: true,\n selector: 'daff-tab-label',\n templateUrl: './tab-label.component.html',\n styleUrl: './tab-label.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n NgIf,\n DaffPrefixSuffixModule,\n ],\n})\nexport class DaffTabLabelComponent implements DaffPrefixable, DaffSuffixable {\n @ContentChild(DaffPrefixDirective) _prefix: DaffPrefixDirective;\n @ContentChild(DaffSuffixDirective) _suffix: DaffSuffixDirective;\n}\n","<ng-container *ngIf=\"_prefix\">\n <ng-content select=\"[daffPrefix]\"></ng-content>\n</ng-container>\n<div class=\"daff-tab-label__content\">\n <ng-content></ng-content>\n</div>\n<ng-container *ngIf=\"_suffix\">\n <ng-content select=\"[daffSuffix]\"></ng-content>\n</ng-container>","import {\n Component,\n HostBinding,\n ChangeDetectionStrategy,\n} from '@angular/core';\n\nimport { DaffTabComponent } from '../tab/tab.component';\n\n/**\n * DaffTabPanelComponent is used to display the content panel of a tab.\n *\n * ```html\n * <daff-tab-panel>\n * <!-- Tab panel content goes here -->\n * </daff-tab-panel>\n * ```\n */\n@Component({\n standalone: true,\n selector: 'daff-tab-panel',\n template: `<ng-content></ng-content>`,\n styleUrl: './tab-panel.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class DaffTabPanelComponent {\n /**\n * @docs-private\n */\n @HostBinding('class.daff-tab-panel') private class = true;\n\n /**\n * Sets the `role` to tabpanel.\n */\n @HostBinding('attr.role') role = 'tabpanel';\n\n /**\n * `aria-labelledby` for the tab.\n */\n @HostBinding('attr.aria-labelledby') ariaLabelledBy = '';\n\n /**\n * Sets the `tabindex` to 0.\n */\n @HostBinding('attr.tabindex') tabIndex = '0';\n\n private _id = '';\n\n /**\n * Dynamically binds the tab panel's id to a unique value generated from the associated tab's panelId.\n */\n @HostBinding('attr.id') get tabPanelId() {\n return this._id;\n }\n\n constructor(private tab: DaffTabComponent) {\n /**\n * Sets the value of `ariaLabelledBy` to the id of the tab component.\n */\n this.ariaLabelledBy = this.tab.id;\n\n this._id = this.tab.panelId;\n }\n}\n","import {\n HostBinding,\n Input,\n OnInit,\n Component,\n ChangeDetectionStrategy,\n ViewEncapsulation,\n ElementRef,\n} from '@angular/core';\n\n@Component({\n standalone: true,\n selector: '' +\n 'button[daff-tab-activator]' + ',' +\n 'a[daff-tab-activator]',\n template: `<ng-content></ng-content>`,\n styleUrl: './tab-activator.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class DaffTabActivatorComponent implements OnInit {\n /**\n * @docs-private\n */\n @HostBinding('class.daff-tab-activator') class = true;\n\n /**\n * Sets the `role` to tab.\n */\n @HostBinding('attr.role') role = 'tab';\n\n /** Whether or not a tab is selected */\n @Input() @HostBinding('class.selected') selected = false;\n\n /**\n * Sets `aria-selected` to true if the component is selected and false if it's not selected.\n */\n @HostBinding('attr.aria-selected') get ariaSelected() {\n return this.selected ? true : false;\n }\n\n /**\n * Sets `tabindex` to `0` if the component is selected and `-1` if it's not selected.\n */\n @HostBinding('attr.tabindex') get tabIndex() {\n return this.selected ? '0' : '-1';\n }\n\n @HostBinding('attr.aria-controls') ariaControls = '';\n\n /**\n * The html id of the tab activator component\n */\n @Input() @HostBinding('attr.id') tabActivatorId = '';\n\n @Input() panelId = '';\n\n ngOnInit() {\n /**\n * Sets the value of `panelId` to the `ariaControls` property\n */\n this.ariaControls = this.panelId;\n }\n\n constructor(\n private el: ElementRef,\n ) {\n }\n\n /**\n * Sets focus to the native element of the component\n */\n focus() {\n this.el.nativeElement.focus();\n }\n}\n","import { NgTemplateOutlet } from '@angular/common';\nimport {\n Component,\n HostBinding,\n ViewEncapsulation,\n ChangeDetectionStrategy,\n ContentChildren,\n QueryList,\n AfterContentInit,\n Input,\n Output,\n EventEmitter,\n ViewChildren,\n ChangeDetectorRef,\n} from '@angular/core';\n\nimport { DaffArticleEncapsulatedDirective } from '@daffodil/design';\n\nimport { DaffTabComponent } from './tab/tab.component';\nimport { DaffTabActivatorComponent } from './tab-activator/tab-activator.component';\nimport { DaffTabLabelComponent } from './tab-label/tab-label.component';\n\n/**\n * Tabs provide a way to navigate between panels that display related content.\n *\n * ## Usage\n * ```html\n * <daff-tabs aria-label=\"List of tabs\">\n * \t<daff-tab>\n * \t\t<daff-tab-label>\n * \t\t\t<fa-icon [icon]=\"faInfoCircle\" daffPrefix></fa-icon>\n * \t\t\tTab 1\n * \t\t</daff-tab-label>\n * \t\t<daff-tab-panel>\n * \t\t\tTab 1 Panel\n * \t\t</daff-tab-panel>\n * \t</daff-tab>\n * \t<daff-tab>\n * \t\t<daff-tab-label>\n * \t\t\tTab 2\n * \t\t\t<fa-icon [icon]=\"faInfoCircle\" daffSuffix></fa-icon>\n * \t\t</daff-tab-label>\n * \t\t<daff-tab-panel>\n * \t\t\tTab 2 Panel\n * \t\t</daff-tab-panel>\n * \t</daff-tab>\n * </daff-tabs>\n * ```\n */\n@Component({\n standalone: true,\n selector: 'daff-tabs',\n templateUrl: './tabs.component.html',\n styleUrl: './tabs.component.scss',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n NgTemplateOutlet,\n DaffTabActivatorComponent,\n ],\n hostDirectives: [\n { directive: DaffArticleEncapsulatedDirective },\n ],\n})\n\nexport class DaffTabsComponent implements AfterContentInit {\n /**\n * @docs-private\n */\n @HostBinding('class.daff-tabs') private class = true;\n\n /**\n * The currently selected tab. This property is dynamically updated when a user selects a tab\n */\n selectedTab: string;\n\n /**\n * The tab that is initially selected on initial load. If it's not used, the first tab in the tablist will be selected by default.\n */\n @Input() initiallySelected: string = null;\n\n /**\n * @docs-private\n */\n @HostBinding('attr.aria-label') private externalAriaLabel = null;\n\n /**\n * aria-label for the tab.\n */\n @Input('aria-label') ariaLabel = '';\n\n /**\n * Event emitted when tab selection changes.\n */\n @Output() tabChange = new EventEmitter<string>();\n\n /**\n * @docs-private\n */\n @ContentChildren(DaffTabLabelComponent, { descendants: true }) _labels: QueryList<DaffTabLabelComponent>;\n\n /**\n * @docs-private\n */\n @ContentChildren(DaffTabComponent) _tabs: QueryList<DaffTabComponent>;\n\n /**\n * @docs-private\n */\n @ViewChildren(DaffTabActivatorComponent) _tabActivators: QueryList<DaffTabActivatorComponent>;\n\n constructor(private cdRef: ChangeDetectorRef) {}\n\n /**\n * @docs-private\n */\n ngAfterContentInit() {\n if(this.initiallySelected) {\n this.selectedTab = this.initiallySelected;\n }\n\n if (!this.selectedTab) {\n this.selectedTab = this._tabs.first.id;\n }\n }\n\n /**\n * Selects a tab and sets focus on the selected tab.\n */\n select(tabId: string) {\n const tabActivator = this._tabActivators.find(el => el.tabActivatorId === tabId);\n\n if (!tabActivator) {\n console.warn(`The tab '${tabId}' was not able to be selected because it does not exist. Check the id on your <daff-tab>s.`);\n return;\n }\n\n this.tabChange.emit(tabId);\n this.selectedTab = tabId;\n this.cdRef.markForCheck();\n\n tabActivator.focus();\n }\n\n /**\n * Navigates through the tabs based on the given offset.\n * Moves forward or backward in the tab array, wrapping around when necessary.\n */\n private navigateTabs(offset: number) {\n const array = this._tabs.toArray();\n let selectedIndex = array.findIndex(el => el.id === this.selectedTab);\n const startingIndex = selectedIndex;\n let newIndex;\n\n do {\n newIndex = (selectedIndex + offset + array.length) % array.length;\n selectedIndex = newIndex;\n } while (array[newIndex].disabled && selectedIndex !== startingIndex); // Skip disabled tabs\n\n this.select(array[newIndex].id);\n }\n\n /**\n * Selects the previous tab and wraps around to the last tab if the first tab is currently selected.\n */\n previous() {\n this.navigateTabs(-1);\n }\n\n /**\n * Selects the next tab and wraps around to the first tab if the last tab is currently selected.\n */\n next() {\n this.navigateTabs(1);\n }\n\n /**\n * Selects the first tab.\n */\n selectFirst(event: KeyboardEvent | null) {\n event.preventDefault();\n this.select(this._tabs.toArray()[0].id);\n }\n\n /**\n * Selects the last tab.\n */\n selectLast(event: KeyboardEvent | null) {\n event.preventDefault();\n const array = this._tabs.toArray();\n this.select(array[array.length - 1].id);\n }\n}\n","<div class=\"daff-tabs__tab-list\"\n\trole=\"tablist\"\n\t[attr.aria-label]=\"ariaLabel\"\n\t(keydown.home)=\"selectFirst($event)\"\n\t(keydown.end)=\"selectLast($event)\">\n\t@for (tab of _tabs; track tab) {\n\t\t<button daff-tab-activator\n\t\t\t[selected]=\"tab.id === selectedTab\"\n\t\t\t(click)=\"select(tab.id)\"\n\t\t\t[panelId]=\"tab.panelId\"\n\t\t\t[disabled]=\"tab.disabled\"\n\t\t\t[tabActivatorId]=\"tab.id\"\n\t\t\t(keydown.arrowright)=\"next()\"\n\t\t\t(keydown.arrowleft)=\"previous()\">\n\t\t\t\t<ng-container *ngTemplateOutlet=\"tab.labelRef\"></ng-container>\n\t\t</button>\n\t}\n</div>\n\n@for (tab of _tabs; track tab) {\n\t@if(tab.id === selectedTab ) {\n\t\t<ng-container *ngTemplateOutlet=\"tab.contentRef\"></ng-container>\n\t}\n}","import { DaffPrefixSuffixModule } from '@daffodil/design';\n\nimport { DaffTabComponent } from './tabs/tab/tab.component';\nimport { DaffTabLabelComponent } from './tabs/tab-label/tab-label.component';\nimport { DaffTabPanelComponent } from './tabs/tab-panel/tab-panel.component';\nimport { DaffTabsComponent } from './tabs/tabs.component';\n\nexport const DAFF_TABS_COMPONENTS = <const>[\n DaffTabsComponent,\n DaffTabLabelComponent,\n DaffTabPanelComponent,\n DaffPrefixSuffixModule,\n DaffTabComponent,\n];\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.DaffTabComponent"],"mappings":"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"}
1
+ {"version":3,"file":"daffodil-design-tabs.mjs","sources":["../../../libs/design/tabs/src/tabs/tab/tab.component.ts","../../../libs/design/tabs/src/tabs/tab-label/tab-label.component.ts","../../../libs/design/tabs/src/tabs/tab-label/tab-label.component.html","../../../libs/design/tabs/src/tabs/tab-panel/tab-panel.component.ts","../../../libs/design/tabs/src/tabs/tab-activator/tab-activator.component.ts","../../../libs/design/tabs/src/tabs/tabs.component.ts","../../../libs/design/tabs/src/tabs/tabs.component.html","../../../libs/design/tabs/src/tabs.ts","../../../libs/design/tabs/src/daffodil-design-tabs.ts"],"sourcesContent":["import {\n Component,\n ChangeDetectionStrategy,\n TemplateRef,\n ViewChild,\n Input,\n} from '@angular/core';\n\nlet tabId = 1;\n\n/**\n * `DaffTabComponet` is an element in the tab list that is used as a content container to group the label of a tab panel and the tab panel together.\n *\n * A `<daff-tab>` should include the {@link DaffTabLabelComponent} and {@link DaffTabPanelComponent} components in order to properly structure the UI.\n *\n * @example Basic structure of tab\n * ```html\n * <daff-tab>\n * \t<daff-tab-label>\n * \t\t<fa-icon [icon]=\"faInfoCircle\" daffPrefix></fa-icon>\n * \t\tTab 1\n * \t</daff-tab-label>\n * \t<daff-tab-panel>\n * \t\tTab 1 Panel\n * \t</daff-tab-panel>\n * </daff-tab>\n * ```\n */\n@Component({\n standalone: true,\n selector: 'daff-tab',\n template: `\n <ng-template #label>\n <ng-content select=\"daff-tab-label\"></ng-content>\n </ng-template>\n <ng-template #content>\n <ng-content select=\"daff-tab-panel\"></ng-content>\n </ng-template>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class DaffTabComponent {\n /**\n * Whether the tab is disabled.\n *\n * @example Using the `disabled` property\n * ```html\n * <daff-tab [disabled]=\"true\">\n * </daff-tab>\n * ```\n */\n @Input() disabled = false;\n\n /**\n * @docs-private\n */\n @ViewChild('content', { read: TemplateRef, static: true }) contentRef: TemplateRef<any>;\n\n /**\n * @docs-private\n */\n @ViewChild('label', { read: TemplateRef, static: true }) labelRef: TemplateRef<any>;\n\n /**\n * A unique id for the tab component.\n *\n * The `id` is automatically generated by linking the prefix 'daff-tab-' with an incrementing `tabId`. This value can be customized by passing a different `id` value via the component's `id` input.\n *\n * @example Using the `id` property\n * ```html\n * <daff-tab [id]=\"'custom-id'\"></daff-tab>\n * ```\n */\n @Input() id = 'daff-tab-' + tabId;\n\n /**\n * @docs-private\n */\n panelId = 'daff-tab-panel-' + tabId;\n\n constructor() {\n tabId++;\n }\n}\n","import { NgIf } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n ContentChild,\n} from '@angular/core';\n\nimport {\n DaffPrefixDirective,\n DaffSuffixDirective,\n DaffPrefixable,\n DaffSuffixable,\n DaffPrefixSuffixModule,\n} from '@daffodil/design';\n\n/**\n * DaffTabLabelComponent is used to display the label of a tab panel. Labels may optionally contain a `daffPrefix` or `daffSuffix` to add icons or badges.\n *\n * @example Basic structure of tab label\n * ```html\n * <daff-tab-label>\n * <div daffPrefix></div>\n * Label\n * <div daffSuffix></div\n * </daff-tab-Label>\n * ```\n */\n@Component({\n selector: 'daff-tab-label',\n templateUrl: './tab-label.component.html',\n styleUrl: './tab-label.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n NgIf,\n DaffPrefixSuffixModule,\n ],\n})\nexport class DaffTabLabelComponent implements DaffPrefixable, DaffSuffixable {\n @ContentChild(DaffPrefixDirective) _prefix: DaffPrefixDirective;\n @ContentChild(DaffSuffixDirective) _suffix: DaffSuffixDirective;\n}\n","<ng-container *ngIf=\"_prefix\">\n <ng-content select=\"[daffPrefix]\"></ng-content>\n</ng-container>\n<div class=\"daff-tab-label__content\">\n <ng-content></ng-content>\n</div>\n<ng-container *ngIf=\"_suffix\">\n <ng-content select=\"[daffSuffix]\"></ng-content>\n</ng-container>","import {\n Component,\n HostBinding,\n ChangeDetectionStrategy,\n} from '@angular/core';\n\nimport { DaffTabComponent } from '../tab/tab.component';\n\n/**\n * DaffTabPanelComponent is used to display the content panel of a tab.\n *\n * @example Basic structure of tab panel\n * ```html\n * <daff-tab-panel>\n * <!-- Tab panel content goes here -->\n * </daff-tab-panel>\n * ```\n */\n@Component({\n standalone: true,\n selector: 'daff-tab-panel',\n template: `<ng-content></ng-content>`,\n styleUrl: './tab-panel.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class DaffTabPanelComponent {\n /**\n * @docs-private\n */\n @HostBinding('class.daff-tab-panel') private class = true;\n\n /**\n * Sets the `role` to tabpanel.\n */\n @HostBinding('attr.role') role = 'tabpanel';\n\n /**\n * `aria-labelledby` for the tab.\n */\n @HostBinding('attr.aria-labelledby') ariaLabelledBy = '';\n\n /**\n * Sets the `tabindex` to 0.\n */\n @HostBinding('attr.tabindex') tabIndex = '0';\n\n private _id = '';\n\n /**\n * Dynamically binds the tab panel's id to a unique value generated from the associated tab's panelId.\n */\n @HostBinding('attr.id') get tabPanelId() {\n return this._id;\n }\n\n constructor(private tab: DaffTabComponent) {\n /**\n * Sets the value of `ariaLabelledBy` to the id of the tab component.\n */\n this.ariaLabelledBy = this.tab.id;\n\n this._id = this.tab.panelId;\n }\n}\n","import {\n HostBinding,\n Input,\n OnInit,\n Component,\n ChangeDetectionStrategy,\n ViewEncapsulation,\n ElementRef,\n} from '@angular/core';\n\nimport { DaffSelectableDirective } from '@daffodil/design';\n\n@Component({\n standalone: true,\n selector: '' +\n 'button[daff-tab-activator]' + ',' +\n 'a[daff-tab-activator]',\n template: `<ng-content></ng-content>`,\n styleUrl: './tab-activator.component.scss',\n hostDirectives: [\n {\n directive: DaffSelectableDirective,\n inputs: ['selected'],\n },\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class DaffTabActivatorComponent implements OnInit {\n /**\n * @docs-private\n */\n @HostBinding('class.daff-tab-activator') class = true;\n\n /**\n * Sets the `role` to tab.\n */\n @HostBinding('attr.role') role = 'tab';\n\n /**\n * Sets `aria-selected` to true if the component is selected and false if it's not selected.\n */\n @HostBinding('attr.aria-selected') get ariaSelected() {\n return this.selectableDirective.selected ? true : false;\n }\n\n /**\n * Sets `tabindex` to `0` if the component is selected and `-1` if it's not selected.\n */\n @HostBinding('attr.tabindex') get tabIndex() {\n return this.selectableDirective.selected ? '0' : '-1';\n }\n\n @HostBinding('attr.aria-controls') ariaControls = '';\n\n constructor(\n private el: ElementRef,\n private selectableDirective: DaffSelectableDirective,\n ) {\n }\n\n /**\n * The html id of the tab activator component\n */\n @Input() @HostBinding('attr.id') tabActivatorId = '';\n\n @Input() panelId = '';\n\n ngOnInit() {\n /**\n * Sets the value of `panelId` to the `ariaControls` property\n */\n this.ariaControls = this.panelId;\n }\n\n /**\n * Sets focus to the native element of the component\n */\n focus() {\n this.el.nativeElement.focus();\n }\n}\n","import {\n Location,\n NgTemplateOutlet,\n} from '@angular/common';\nimport {\n Component,\n HostBinding,\n ViewEncapsulation,\n ChangeDetectionStrategy,\n ContentChildren,\n QueryList,\n AfterContentInit,\n Input,\n Output,\n EventEmitter,\n ViewChildren,\n ChangeDetectorRef,\n OnInit,\n} from '@angular/core';\nimport {\n Params,\n RouterLink,\n RouterLinkActive,\n} from '@angular/router';\n\nimport { DaffTabComponent } from './tab/tab.component';\nimport { DaffTabActivatorComponent } from './tab-activator/tab-activator.component';\nimport { DaffTabLabelComponent } from './tab-label/tab-label.component';\n\n/**\n * Tabs provide a way to navigate between panels that display related content.\n *\n * @example Basic use of the tabs component\n * ```html\n * <daff-tabs aria-label=\"List of tabs\">\n * \t<daff-tab>\n * \t\t<daff-tab-label>\n * \t\t\t<fa-icon [icon]=\"faInfoCircle\" daffPrefix></fa-icon>\n * \t\t\tTab 1\n * \t\t</daff-tab-label>\n * \t\t<daff-tab-panel>\n * \t\t\tTab 1 Panel\n * \t\t</daff-tab-panel>\n * \t</daff-tab>\n * \t<daff-tab>\n * \t\t<daff-tab-label>\n * \t\t\tTab 2\n * \t\t\t<fa-icon [icon]=\"faInfoCircle\" daffSuffix></fa-icon>\n * \t\t</daff-tab-label>\n * \t\t<daff-tab-panel>\n * \t\t\tTab 2 Panel\n * \t\t</daff-tab-panel>\n * \t</daff-tab>\n * </daff-tabs>\n * ```\n */\n@Component({\n selector: 'daff-tabs',\n templateUrl: './tabs.component.html',\n styleUrl: './tabs.component.scss',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n NgTemplateOutlet,\n RouterLink,\n RouterLinkActive,\n DaffTabActivatorComponent,\n ],\n})\n\nexport class DaffTabsComponent implements AfterContentInit, OnInit {\n /**\n * @docs-private\n */\n @HostBinding('class.daff-tabs') private class = true;\n\n /**\n * The currently selected tab. This property is dynamically updated when a user selects a tab.\n */\n selectedTab: string;\n\n /**\n * The tab that is initially selected on initial load. If it's not used, the first tab in the tablist will be selected by default.\n */\n @Input() initiallySelected: string = null;\n\n /**\n * @docs-private\n */\n @HostBinding('attr.aria-label') private externalAriaLabel = null;\n\n /**\n * aria-label for the tab.\n */\n @Input('aria-label') ariaLabel = '';\n\n /**\n * Replace the tab buttons with links.\n */\n @Input() linkMode = false;\n\n /**\n * The URL to navigate to when the component is in link mode.\n * This component will set the specified query param.\n */\n @Input() url?: string;\n\n /**\n * The query parameter that the tabs component will use to set the tab value in link mode.\n */\n @Input() queryParam = 'tab';\n\n /**\n * Event emitted when tab selection changes.\n */\n @Output() tabChange = new EventEmitter<string>();\n\n /**\n * @docs-private\n */\n @ContentChildren(DaffTabLabelComponent, { descendants: true }) _labels: QueryList<DaffTabLabelComponent>;\n\n /**\n * @docs-private\n */\n @ContentChildren(DaffTabComponent) _tabs: QueryList<DaffTabComponent>;\n\n /**\n * @docs-private\n */\n @ViewChildren(DaffTabActivatorComponent) _tabActivators: QueryList<DaffTabActivatorComponent>;\n\n get currentPath(): string {\n return this.location.path();\n }\n\n constructor(\n private cdRef: ChangeDetectorRef,\n private location: Location,\n ) {}\n\n /**\n * @docs-private\n */\n ngOnInit(): void {\n this.location.onUrlChange(() => {\n if (this.linkMode) {\n this.selectedTab = null;\n this.ngAfterContentInit();\n }\n });\n }\n\n /**\n * @docs-private\n */\n ngAfterContentInit() {\n if(this.initiallySelected) {\n this.selectedTab = this.initiallySelected;\n }\n\n if (!this.selectedTab) {\n this.selectedTab = this._tabs.first.id;\n }\n }\n\n /**\n * Selects a tab and sets focus on the selected tab.\n */\n select(tabId: string) {\n const tabActivator = this._tabActivators.find(el => el.tabActivatorId === tabId);\n\n if (!tabActivator) {\n console.warn(`The tab '${tabId}' was not able to be selected because it does not exist. Check the id on your <daff-tab>s.`);\n return;\n }\n\n this.tabChange.emit(tabId);\n this.selectedTab = tabId;\n this.cdRef.markForCheck();\n\n tabActivator.focus();\n }\n\n /**\n * Navigates through the tabs based on the given offset.\n * Moves forward or backward in the tab array, wrapping around when necessary.\n */\n private navigateTabs(offset: number) {\n const array = this._tabs.toArray();\n let selectedIndex = array.findIndex(el => el.id === this.selectedTab);\n const startingIndex = selectedIndex;\n let newIndex;\n\n do {\n newIndex = (selectedIndex + offset + array.length) % array.length;\n selectedIndex = newIndex;\n } while (array[newIndex].disabled && selectedIndex !== startingIndex); // Skip disabled tabs\n\n this.select(array[newIndex].id);\n }\n\n /**\n * @docs-private\n */\n _buildQueryParams(tab: string): Params {\n return {\n [this.queryParam]: tab,\n };\n }\n\n /**\n * Selects the previous tab and wraps around to the last tab if the first tab is currently selected.\n */\n previous() {\n this.navigateTabs(-1);\n }\n\n /**\n * Selects the next tab and wraps around to the first tab if the last tab is currently selected.\n */\n next() {\n this.navigateTabs(1);\n }\n\n /**\n * Selects the first tab.\n */\n selectFirst(event: KeyboardEvent | null) {\n event.preventDefault();\n this.select(this._tabs.toArray()[0].id);\n }\n\n /**\n * Selects the last tab.\n */\n selectLast(event: KeyboardEvent | null) {\n event.preventDefault();\n const array = this._tabs.toArray();\n this.select(array[array.length - 1].id);\n }\n}\n","<div class=\"daff-tabs__tab-list\"\n\trole=\"tablist\"\n\t[attr.aria-label]=\"ariaLabel\"\n\t(keydown.home)=\"selectFirst($event)\"\n\t(keydown.end)=\"selectLast($event)\">\n\t@for (tab of _tabs; track tab) {\n\t\t@if (linkMode && tab.disabled) {\n\t\t\t<button daff-tab-activator routerLinkActive\n\t\t\t\t[selected]=\"tab.id === selectedTab\"\n\t\t\t\t[panelId]=\"tab.panelId\"\n\t\t\t\t[disabled]=\"tab.disabled\"\n\t\t\t\t[tabActivatorId]=\"tab.id\"\n\t\t\t\t(keydown.arrowright)=\"next()\"\n\t\t\t\t(keydown.arrowleft)=\"previous()\">\n\t\t\t\t\t<ng-container *ngTemplateOutlet=\"tab.labelRef\"></ng-container>\n\t\t\t</button>\n\t\t} @else if (linkMode) {\n\t\t\t<a daff-tab-activator routerLinkActive\n\t\t\t\tclass=\"daff-ae daff_tabs__link\"\n\t\t\t\t[selected]=\"tab.id === selectedTab\"\n\t\t\t\t[routerLink]=\"url || currentPath\"\n\t\t\t\tqueryParamsHandling=\"merge\"\n\t\t\t\t[queryParams]=\"_buildQueryParams(tab.id)\"\n\t\t\t\t[panelId]=\"tab.panelId\"\n\t\t\t\t[tabActivatorId]=\"tab.id\"\n\t\t\t\t(keydown.arrowright)=\"next()\"\n\t\t\t\t(keydown.arrowleft)=\"previous()\"\n\t\t\t\t(isActiveChange)=\"$event && select(tab.id)\">\n\t\t\t\t\t<ng-container *ngTemplateOutlet=\"tab.labelRef\"></ng-container>\n\t\t\t</a>\n\t\t} @else {\n\t\t\t<button daff-tab-activator\n\t\t\t\t[selected]=\"tab.id === selectedTab\"\n\t\t\t\t(click)=\"select(tab.id)\"\n\t\t\t\t[panelId]=\"tab.panelId\"\n\t\t\t\t[disabled]=\"tab.disabled\"\n\t\t\t\t[tabActivatorId]=\"tab.id\"\n\t\t\t\t(keydown.arrowright)=\"next()\"\n\t\t\t\t(keydown.arrowleft)=\"previous()\">\n\t\t\t\t\t<ng-container *ngTemplateOutlet=\"tab.labelRef\"></ng-container>\n\t\t\t</button>\n\t\t}\n\t}\n</div>\n\n@for (tab of _tabs; track tab) {\n\t@if(tab.id === selectedTab ) {\n\t\t<ng-container *ngTemplateOutlet=\"tab.contentRef\"></ng-container>\n\t}\n}","import { DaffPrefixSuffixModule } from '@daffodil/design';\n\nimport { DaffTabComponent } from './tabs/tab/tab.component';\nimport { DaffTabLabelComponent } from './tabs/tab-label/tab-label.component';\nimport { DaffTabPanelComponent } from './tabs/tab-panel/tab-panel.component';\nimport { DaffTabsComponent } from './tabs/tabs.component';\n\nexport const DAFF_TABS_COMPONENTS = <const>[\n DaffTabsComponent,\n DaffTabLabelComponent,\n DaffTabPanelComponent,\n DaffPrefixSuffixModule,\n DaffTabComponent,\n];\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.DaffTabComponent","i1"],"mappings":"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"}
@@ -3,12 +3,12 @@ import { Component, ChangeDetectionStrategy } from '@angular/core';
3
3
  import { DaffTextSnippetComponent } from '@daffodil/design/text-snippet';
4
4
 
5
5
  class BasicTextSnippetComponent {
6
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: BasicTextSnippetComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
7
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.2", type: BasicTextSnippetComponent, isStandalone: true, selector: "basic-text-snippet", ngImport: i0, template: "<daff-text-snippet>\n\tLorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.\n</daff-text-snippet>", dependencies: [{ kind: "component", type: DaffTextSnippetComponent, selector: "daff-text-snippet", inputs: ["condensed", "html"], outputs: ["toggle"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
6
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: BasicTextSnippetComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
7
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.0.7", type: BasicTextSnippetComponent, isStandalone: true, selector: "basic-text-snippet", ngImport: i0, template: "<daff-text-snippet>\n\tLorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.\n</daff-text-snippet>", dependencies: [{ kind: "component", type: DaffTextSnippetComponent, selector: "daff-text-snippet", inputs: ["condensed", "html"], outputs: ["toggle"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
8
8
  }
9
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: BasicTextSnippetComponent, decorators: [{
9
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: BasicTextSnippetComponent, decorators: [{
10
10
  type: Component,
11
- args: [{ selector: 'basic-text-snippet', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
11
+ args: [{ selector: 'basic-text-snippet', changeDetection: ChangeDetectionStrategy.OnPush, imports: [
12
12
  DaffTextSnippetComponent,
13
13
  ], template: "<daff-text-snippet>\n\tLorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.\n</daff-text-snippet>" }]
14
14
  }] });
@@ -1 +1 @@
1
- {"version":3,"file":"daffodil-design-text-snippet-examples.mjs","sources":["../../../libs/design/text-snippet/examples/src/basic-text-snippet/basic-text-snippet.component.ts","../../../libs/design/text-snippet/examples/src/basic-text-snippet/basic-text-snippet.component.html","../../../libs/design/text-snippet/examples/src/public_api.ts","../../../libs/design/text-snippet/examples/src/daffodil-design-text-snippet-examples.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n} from '@angular/core';\n\nimport { DaffTextSnippetComponent } from '@daffodil/design/text-snippet';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'basic-text-snippet',\n templateUrl: './basic-text-snippet.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n imports: [\n DaffTextSnippetComponent,\n ],\n})\nexport class BasicTextSnippetComponent {}\n","<daff-text-snippet>\n\tLorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.\n</daff-text-snippet>","import { BasicTextSnippetComponent } from './basic-text-snippet/basic-text-snippet.component';\n\nexport const TEXT_SNIPPET_EXAMPLES = [\n BasicTextSnippetComponent,\n];\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;MAiBa,yBAAyB,CAAA;iIAAzB,yBAAyB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;qHAAzB,yBAAyB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECjBtC,4eAEoB,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EDYhB,wBAAwB,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,CAAA,WAAA,EAAA,MAAA,CAAA,EAAA,OAAA,EAAA,CAAA,QAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA,EAAA;;2FAGf,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBAVrC,SAAS;AAEE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,oBAAoB,mBAEb,uBAAuB,CAAC,MAAM,EAAA,UAAA,EACnC,IAAI,EACP,OAAA,EAAA;wBACP,wBAAwB;AACzB,qBAAA,EAAA,QAAA,EAAA,4eAAA,EAAA,CAAA;;;AEbU,MAAA,qBAAqB,GAAG;IACnC,yBAAyB;;;ACH3B;;AAEG;;;;"}
1
+ {"version":3,"file":"daffodil-design-text-snippet-examples.mjs","sources":["../../../libs/design/text-snippet/examples/src/basic-text-snippet/basic-text-snippet.component.ts","../../../libs/design/text-snippet/examples/src/basic-text-snippet/basic-text-snippet.component.html","../../../libs/design/text-snippet/examples/src/public_api.ts","../../../libs/design/text-snippet/examples/src/daffodil-design-text-snippet-examples.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n} from '@angular/core';\n\nimport { DaffTextSnippetComponent } from '@daffodil/design/text-snippet';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'basic-text-snippet',\n templateUrl: './basic-text-snippet.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n DaffTextSnippetComponent,\n ],\n})\nexport class BasicTextSnippetComponent {}\n","<daff-text-snippet>\n\tLorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.\n</daff-text-snippet>","import { BasicTextSnippetComponent } from './basic-text-snippet/basic-text-snippet.component';\n\nexport const TEXT_SNIPPET_EXAMPLES = [\n BasicTextSnippetComponent,\n];\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;MAgBa,yBAAyB,CAAA;iIAAzB,yBAAyB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;qHAAzB,yBAAyB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EChBtC,4eAEoB,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EDWhB,wBAAwB,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,CAAA,WAAA,EAAA,MAAA,CAAA,EAAA,OAAA,EAAA,CAAA,QAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;2FAGf,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBATrC,SAAS;AAEE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,oBAAoB,EAEb,eAAA,EAAA,uBAAuB,CAAC,MAAM,EACtC,OAAA,EAAA;wBACP,wBAAwB;AACzB,qBAAA,EAAA,QAAA,EAAA,4eAAA,EAAA;;;AEZU,MAAA,qBAAqB,GAAG;IACnC,yBAAyB;;;ACH3B;;AAEG;;;;"}
@@ -16,18 +16,19 @@ class DaffTextSnippetComponent {
16
16
  /**
17
17
  * An output event that can be used to track the state of the component externally.
18
18
  */
19
+ // eslint-disable-next-line @angular-eslint/no-output-native
19
20
  this.toggle = new EventEmitter();
20
21
  }
21
22
  toggleSnippet() {
22
23
  this.condensed = !this.condensed;
23
24
  this.toggle.emit(this.condensed);
24
25
  }
25
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: DaffTextSnippetComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
26
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.2", type: DaffTextSnippetComponent, isStandalone: true, selector: "daff-text-snippet", inputs: { condensed: "condensed", html: "html" }, outputs: { toggle: "toggle" }, viewQueries: [{ propertyName: "contentRef", first: true, predicate: ["contentEl"], descendants: true, read: ElementRef }, { propertyName: "htmlRef", first: true, predicate: ["htmlEl"], descendants: true, read: ElementRef }], ngImport: i0, template: "<div class=\"daff-text-snippet__content daff-text-snippet__html\" #htmlEl [class.condensed]=\"condensed\" [innerHtml]=\"html\" *ngIf=\"html\"></div>\n<div class=\"daff-text-snippet__content daff-text-snippet__ngcontent\" #contentEl [class.condensed]=\"condensed\" *ngIf=\"!html\">\n <ng-content></ng-content>\n</div>\n<button daff-underline-button color=\"theme-contrast\" [attr.aria-expanded]=\"!condensed ? true : false\" (click)=\"toggleSnippet()\">\n <ng-container *ngIf=\"condensed\">Show More</ng-container>\n <ng-container *ngIf=\"!condensed\">Show Less</ng-container>\n</button>\n", styles: [":host{display:block;position:relative}:host ::ng-deep .daff-text-snippet__content>*:first-child{margin-top:0}:host ::ng-deep .daff-text-snippet__content>*:last-child{margin-bottom:0}:host ::ng-deep h2:first-of-type{margin-top:0}.daff-text-snippet__content{display:block}.daff-text-snippet__content.condensed{display:-webkit-box;line-clamp:1;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;width:100%}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: i1.DaffPrefixSuffixModule }, { kind: "component", type: i2.DaffUnderlineButtonComponent, selector: "button[daff-underline-button],a[daff-underline-button]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
26
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: DaffTextSnippetComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
27
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.0.7", type: DaffTextSnippetComponent, isStandalone: true, selector: "daff-text-snippet", inputs: { condensed: "condensed", html: "html" }, outputs: { toggle: "toggle" }, viewQueries: [{ propertyName: "contentRef", first: true, predicate: ["contentEl"], descendants: true, read: ElementRef }, { propertyName: "htmlRef", first: true, predicate: ["htmlEl"], descendants: true, read: ElementRef }], ngImport: i0, template: "<div class=\"daff-text-snippet__content daff-text-snippet__html\" #htmlEl [class.condensed]=\"condensed\" [innerHtml]=\"html\" *ngIf=\"html\"></div>\n<div class=\"daff-text-snippet__content daff-text-snippet__ngcontent\" #contentEl [class.condensed]=\"condensed\" *ngIf=\"!html\">\n <ng-content></ng-content>\n</div>\n<button daff-underline-button color=\"theme-contrast\" [attr.aria-expanded]=\"!condensed ? true : false\" (click)=\"toggleSnippet()\">\n <ng-container *ngIf=\"condensed\">Show More</ng-container>\n <ng-container *ngIf=\"!condensed\">Show Less</ng-container>\n</button>\n", styles: [":host{display:block;position:relative}:host ::ng-deep .daff-text-snippet__content>*:first-child{margin-top:0}:host ::ng-deep .daff-text-snippet__content>*:last-child{margin-bottom:0}:host ::ng-deep h2:first-of-type{margin-top:0}.daff-text-snippet__content{display:block}.daff-text-snippet__content.condensed{display:-webkit-box;line-clamp:1;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;width:100%}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: i1.DaffPrefixSuffixModule }, { kind: "component", type: i2.DaffUnderlineButtonComponent, selector: "button[daff-underline-button],a[daff-underline-button]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
27
28
  }
28
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: DaffTextSnippetComponent, decorators: [{
29
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: DaffTextSnippetComponent, decorators: [{
29
30
  type: Component,
30
- args: [{ selector: 'daff-text-snippet', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
31
+ args: [{ selector: 'daff-text-snippet', changeDetection: ChangeDetectionStrategy.OnPush, imports: [
31
32
  NgIf,
32
33
  DAFF_BUTTON_COMPONENTS,
33
34
  ], template: "<div class=\"daff-text-snippet__content daff-text-snippet__html\" #htmlEl [class.condensed]=\"condensed\" [innerHtml]=\"html\" *ngIf=\"html\"></div>\n<div class=\"daff-text-snippet__content daff-text-snippet__ngcontent\" #contentEl [class.condensed]=\"condensed\" *ngIf=\"!html\">\n <ng-content></ng-content>\n</div>\n<button daff-underline-button color=\"theme-contrast\" [attr.aria-expanded]=\"!condensed ? true : false\" (click)=\"toggleSnippet()\">\n <ng-container *ngIf=\"condensed\">Show More</ng-container>\n <ng-container *ngIf=\"!condensed\">Show Less</ng-container>\n</button>\n", styles: [":host{display:block;position:relative}:host ::ng-deep .daff-text-snippet__content>*:first-child{margin-top:0}:host ::ng-deep .daff-text-snippet__content>*:last-child{margin-bottom:0}:host ::ng-deep h2:first-of-type{margin-top:0}.daff-text-snippet__content{display:block}.daff-text-snippet__content.condensed{display:-webkit-box;line-clamp:1;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;width:100%}\n"] }]
@@ -1 +1 @@
1
- {"version":3,"file":"daffodil-design-text-snippet.mjs","sources":["../../../libs/design/text-snippet/src/text-snippet.component.ts","../../../libs/design/text-snippet/src/text-snippet.component.html","../../../libs/design/text-snippet/src/daffodil-design-text-snippet.ts"],"sourcesContent":["import { NgIf } from '@angular/common';\nimport {\n Component,\n Input,\n ChangeDetectionStrategy,\n EventEmitter,\n Output,\n ElementRef,\n ViewChild,\n} from '@angular/core';\n\nimport { DAFF_BUTTON_COMPONENTS } from '@daffodil/design/button';\n\n@Component({\n selector: 'daff-text-snippet',\n templateUrl: './text-snippet.component.html',\n styleUrls: ['./text-snippet.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n imports: [\n NgIf,\n DAFF_BUTTON_COMPONENTS,\n ],\n})\nexport class DaffTextSnippetComponent {\n\n /**\n * A property to track whether or not the component\n * should render a condensed version of the content.\n */\n @Input() condensed = true;\n\n @Input() html = '';\n\n @ViewChild('contentEl', { read: ElementRef }) contentRef: ElementRef;\n @ViewChild('htmlEl', { read: ElementRef }) htmlRef: ElementRef;\n\n /**\n * An output event that can be used to track the state of the component externally.\n */\n @Output() toggle: EventEmitter<boolean> = new EventEmitter();\n\n toggleSnippet() {\n this.condensed = !this.condensed;\n this.toggle.emit(this.condensed);\n }\n}\n","<div class=\"daff-text-snippet__content daff-text-snippet__html\" #htmlEl [class.condensed]=\"condensed\" [innerHtml]=\"html\" *ngIf=\"html\"></div>\n<div class=\"daff-text-snippet__content daff-text-snippet__ngcontent\" #contentEl [class.condensed]=\"condensed\" *ngIf=\"!html\">\n <ng-content></ng-content>\n</div>\n<button daff-underline-button color=\"theme-contrast\" [attr.aria-expanded]=\"!condensed ? true : false\" (click)=\"toggleSnippet()\">\n <ng-container *ngIf=\"condensed\">Show More</ng-container>\n <ng-container *ngIf=\"!condensed\">Show Less</ng-container>\n</button>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;MAwBa,wBAAwB,CAAA;AAXrC,IAAA,WAAA,GAAA;AAaE;;;AAGG;QACM,IAAS,CAAA,SAAA,GAAG,IAAI,CAAC;QAEjB,IAAI,CAAA,IAAA,GAAG,EAAE,CAAC;AAKnB;;AAEG;AACO,QAAA,IAAA,CAAA,MAAM,GAA0B,IAAI,YAAY,EAAE,CAAC;AAM9D,KAAA;IAJC,aAAa,GAAA;AACX,QAAA,IAAI,CAAC,SAAS,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC;QACjC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;KAClC;iIArBU,wBAAwB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAxB,uBAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,wBAAwB,kPAUH,UAAU,EAAA,EAAA,EAAA,YAAA,EAAA,SAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,QAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,IAAA,EACb,UAAU,ECnCzC,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,ilBAQA,6dDYI,IAAI,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,EAAA,CAAA,sBAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,4BAAA,EAAA,QAAA,EAAA,wDAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA,EAAA;;2FAIK,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBAXpC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,mBAAmB,mBAGZ,uBAAuB,CAAC,MAAM,EAAA,UAAA,EACnC,IAAI,EACP,OAAA,EAAA;wBACP,IAAI;wBACJ,sBAAsB;AACvB,qBAAA,EAAA,QAAA,EAAA,ilBAAA,EAAA,MAAA,EAAA,CAAA,qaAAA,CAAA,EAAA,CAAA;8BAQQ,SAAS,EAAA,CAAA;sBAAjB,KAAK;gBAEG,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBAEwC,UAAU,EAAA,CAAA;sBAAvD,SAAS;AAAC,gBAAA,IAAA,EAAA,CAAA,WAAW,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,CAAA;gBACD,OAAO,EAAA,CAAA;sBAAjD,SAAS;AAAC,gBAAA,IAAA,EAAA,CAAA,QAAQ,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,CAAA;gBAK/B,MAAM,EAAA,CAAA;sBAAf,MAAM;;;AExCT;;AAEG;;;;"}
1
+ {"version":3,"file":"daffodil-design-text-snippet.mjs","sources":["../../../libs/design/text-snippet/src/text-snippet.component.ts","../../../libs/design/text-snippet/src/text-snippet.component.html","../../../libs/design/text-snippet/src/daffodil-design-text-snippet.ts"],"sourcesContent":["import { NgIf } from '@angular/common';\nimport {\n Component,\n Input,\n ChangeDetectionStrategy,\n EventEmitter,\n Output,\n ElementRef,\n ViewChild,\n} from '@angular/core';\n\nimport { DAFF_BUTTON_COMPONENTS } from '@daffodil/design/button';\n\n@Component({\n selector: 'daff-text-snippet',\n templateUrl: './text-snippet.component.html',\n styleUrls: ['./text-snippet.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n NgIf,\n DAFF_BUTTON_COMPONENTS,\n ],\n})\nexport class DaffTextSnippetComponent {\n\n /**\n * A property to track whether or not the component\n * should render a condensed version of the content.\n */\n @Input() condensed = true;\n\n @Input() html = '';\n\n @ViewChild('contentEl', { read: ElementRef }) contentRef: ElementRef;\n @ViewChild('htmlEl', { read: ElementRef }) htmlRef: ElementRef;\n\n /**\n * An output event that can be used to track the state of the component externally.\n */\n // eslint-disable-next-line @angular-eslint/no-output-native\n @Output() toggle: EventEmitter<boolean> = new EventEmitter();\n\n toggleSnippet() {\n this.condensed = !this.condensed;\n this.toggle.emit(this.condensed);\n }\n}\n","<div class=\"daff-text-snippet__content daff-text-snippet__html\" #htmlEl [class.condensed]=\"condensed\" [innerHtml]=\"html\" *ngIf=\"html\"></div>\n<div class=\"daff-text-snippet__content daff-text-snippet__ngcontent\" #contentEl [class.condensed]=\"condensed\" *ngIf=\"!html\">\n <ng-content></ng-content>\n</div>\n<button daff-underline-button color=\"theme-contrast\" [attr.aria-expanded]=\"!condensed ? true : false\" (click)=\"toggleSnippet()\">\n <ng-container *ngIf=\"condensed\">Show More</ng-container>\n <ng-container *ngIf=\"!condensed\">Show Less</ng-container>\n</button>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;MAuBa,wBAAwB,CAAA;AAVrC,IAAA,WAAA,GAAA;AAYE;;;AAGG;QACM,IAAS,CAAA,SAAA,GAAG,IAAI;QAEhB,IAAI,CAAA,IAAA,GAAG,EAAE;AAKlB;;AAEG;;AAEO,QAAA,IAAA,CAAA,MAAM,GAA0B,IAAI,YAAY,EAAE;AAM7D;IAJC,aAAa,GAAA;AACX,QAAA,IAAI,CAAC,SAAS,GAAG,CAAC,IAAI,CAAC,SAAS;QAChC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC;;iIArBvB,wBAAwB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAxB,uBAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,wBAAwB,kPAUH,UAAU,EAAA,EAAA,EAAA,YAAA,EAAA,SAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,QAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,IAAA,EACb,UAAU,EClCzC,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,ilBAQA,6dDWI,IAAI,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,EAAA,CAAA,sBAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,4BAAA,EAAA,QAAA,EAAA,wDAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;2FAIK,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBAVpC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,mBAAmB,EAGZ,eAAA,EAAA,uBAAuB,CAAC,MAAM,EACtC,OAAA,EAAA;wBACP,IAAI;wBACJ,sBAAsB;AACvB,qBAAA,EAAA,QAAA,EAAA,ilBAAA,EAAA,MAAA,EAAA,CAAA,qaAAA,CAAA,EAAA;8BAQQ,SAAS,EAAA,CAAA;sBAAjB;gBAEQ,IAAI,EAAA,CAAA;sBAAZ;gBAE6C,UAAU,EAAA,CAAA;sBAAvD,SAAS;AAAC,gBAAA,IAAA,EAAA,CAAA,WAAW,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE;gBACD,OAAO,EAAA,CAAA;sBAAjD,SAAS;AAAC,gBAAA,IAAA,EAAA,CAAA,QAAQ,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE;gBAM/B,MAAM,EAAA,CAAA;sBAAf;;;AExCH;;AAEG;;;;"}