@daffodil/design 0.77.0 → 0.79.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (573) hide show
  1. package/accordion/README.md +40 -2
  2. package/accordion/accordion/accordion/accordion.component.d.ts +1 -1
  3. package/accordion/accordion/accordion-item/accordion-item.component.d.ts +19 -8
  4. package/accordion/accordion/accordion-item-title/accordion-item-title.directive.d.ts +1 -1
  5. package/accordion/accordion.d.ts +4 -0
  6. package/accordion/accordion.module.d.ts +6 -7
  7. package/accordion/examples/basic-accordion/basic-accordion.component.d.ts +1 -1
  8. package/accordion/examples/public_api.d.ts +0 -1
  9. package/accordion/public_api.d.ts +1 -0
  10. package/article/README.md +42 -1
  11. package/article/article/article.component.d.ts +1 -1
  12. package/article/article-meta/article-meta.directive.d.ts +1 -1
  13. package/article/article.d.ts +3 -0
  14. package/article/article.module.d.ts +5 -4
  15. package/article/public_api.d.ts +2 -1
  16. package/atoms/form/form-field/form-field/form-field.component.d.ts +1 -1
  17. package/button/README.md +42 -1
  18. package/button/button/basic/button.component.d.ts +28 -0
  19. package/button/button/button-base.directive.d.ts +51 -0
  20. package/button/button/flat/flat.component.d.ts +28 -0
  21. package/button/button/icon/icon.component.d.ts +24 -0
  22. package/button/button/raised/raised.component.d.ts +28 -0
  23. package/button/button/stroked/stroked.component.d.ts +28 -0
  24. package/button/button/underline/underline.component.d.ts +28 -0
  25. package/button/button.d.ts +8 -0
  26. package/button/button.module.d.ts +10 -5
  27. package/button/public_api.d.ts +7 -1
  28. package/button/src/button/basic/button-theme.scss +145 -0
  29. package/button/src/button/button-base.scss +79 -0
  30. package/button/src/button/flat/flat-theme.scss +143 -0
  31. package/button/src/button/icon/icon-theme.scss +141 -0
  32. package/button/src/button/raised/raised-theme.scss +120 -0
  33. package/button/src/button/stroked/stroked-theme.scss +158 -0
  34. package/button/src/button/underline/underline-theme.scss +93 -0
  35. package/callout/README.md +42 -0
  36. package/callout/callout/callout.component.d.ts +1 -1
  37. package/callout/callout-body/callout-body.directive.d.ts +1 -1
  38. package/callout/callout-icon/callout-icon.directive.d.ts +1 -1
  39. package/callout/callout-subtitle/callout-subtitle.directive.d.ts +1 -1
  40. package/callout/callout-tagline/callout-tagline.directive.d.ts +1 -1
  41. package/callout/callout-title/callout-title.directive.d.ts +1 -1
  42. package/callout/callout.d.ts +7 -0
  43. package/callout/callout.module.d.ts +9 -8
  44. package/callout/public_api.d.ts +1 -0
  45. package/card/README.md +41 -0
  46. package/card/card/card.component.d.ts +1 -1
  47. package/card/card-actions/card-actions.directive.d.ts +1 -1
  48. package/card/card-content/card-content.directive.d.ts +1 -1
  49. package/card/card-icon/card-icon.directive.d.ts +1 -1
  50. package/card/card-image/card-image.directive.d.ts +1 -1
  51. package/card/card-tagline/card-tagline.directive.d.ts +1 -1
  52. package/card/card-title/card-title.directive.d.ts +1 -1
  53. package/card/card.d.ts +8 -0
  54. package/card/card.module.d.ts +12 -9
  55. package/card/public_api.d.ts +1 -0
  56. package/container/README.md +42 -1
  57. package/container/container/container.component.d.ts +1 -1
  58. package/container/container.d.ts +2 -0
  59. package/container/container.module.d.ts +6 -3
  60. package/container/public_api.d.ts +1 -0
  61. package/core/openable/openable.d.ts +13 -0
  62. package/core/openable/openable.directive.d.ts +81 -0
  63. package/core/openable/public_api.d.ts +2 -0
  64. package/core/openable/utils/state-error.d.ts +1 -0
  65. package/core/public_api.d.ts +1 -0
  66. package/core/statusable/statusable.d.ts +5 -3
  67. package/core/statusable/statusable.directive.d.ts +6 -4
  68. package/esm2022/accordion/accordion/accordion/accordion.component.mjs +3 -3
  69. package/esm2022/accordion/accordion/accordion-item/accordion-item.component.mjs +38 -22
  70. package/esm2022/accordion/accordion/accordion-item-title/accordion-item-title.directive.mjs +3 -2
  71. package/esm2022/accordion/accordion/animation/accordion-animation.mjs +1 -4
  72. package/esm2022/accordion/accordion.mjs +9 -0
  73. package/esm2022/accordion/accordion.module.mjs +6 -14
  74. package/esm2022/accordion/examples/basic-accordion/basic-accordion.component.mjs +6 -3
  75. package/esm2022/accordion/examples/public_api.mjs +1 -2
  76. package/esm2022/accordion/public_api.mjs +2 -1
  77. package/esm2022/article/article/article.component.mjs +3 -3
  78. package/esm2022/article/article-meta/article-meta.directive.mjs +3 -2
  79. package/esm2022/article/article.mjs +7 -0
  80. package/esm2022/article/article.module.mjs +5 -5
  81. package/esm2022/article/examples/article-blockquote/article-blockquote.component.mjs +6 -4
  82. package/esm2022/article/examples/article-code-block/article-code-block.component.mjs +6 -4
  83. package/esm2022/article/examples/article-code-inline/article-code-inline.component.mjs +6 -4
  84. package/esm2022/article/examples/article-headings/article-headings.component.mjs +7 -3
  85. package/esm2022/article/examples/article-hr/article-hr.component.mjs +6 -4
  86. package/esm2022/article/examples/article-link/article-link.component.mjs +6 -4
  87. package/esm2022/article/examples/article-meta/article-meta.component.mjs +6 -4
  88. package/esm2022/article/examples/article-ol/article-ol.component.mjs +6 -4
  89. package/esm2022/article/examples/article-table/article-table.component.mjs +6 -4
  90. package/esm2022/article/examples/article-ul/article-ul.component.mjs +6 -4
  91. package/esm2022/article/public_api.mjs +3 -2
  92. package/esm2022/atoms/form/form-field/form-field/form-field.component.mjs +2 -2
  93. package/esm2022/button/button/basic/button.component.mjs +48 -0
  94. package/esm2022/button/button/button-base.directive.mjs +105 -0
  95. package/esm2022/button/button/flat/flat.component.mjs +48 -0
  96. package/esm2022/button/button/icon/icon.component.mjs +44 -0
  97. package/esm2022/button/button/raised/raised.component.mjs +48 -0
  98. package/esm2022/button/button/stroked/stroked.component.mjs +48 -0
  99. package/esm2022/button/button/underline/underline.component.mjs +48 -0
  100. package/esm2022/button/button.mjs +17 -0
  101. package/esm2022/button/button.module.mjs +36 -12
  102. package/esm2022/button/examples/basic-button/basic-button.component.mjs +4 -8
  103. package/esm2022/button/examples/flat-button/flat-button.component.mjs +4 -8
  104. package/esm2022/button/examples/icon-button/icon-button.component.mjs +7 -5
  105. package/esm2022/button/examples/raised-button/raised-button.component.mjs +4 -8
  106. package/esm2022/button/examples/sizeable-button/sizeable-button.component.mjs +8 -4
  107. package/esm2022/button/examples/statusable-button/statusable-button.component.mjs +8 -4
  108. package/esm2022/button/examples/stroked-button/stroked-button.component.mjs +4 -8
  109. package/esm2022/button/examples/underline-button/underline-button.component.mjs +4 -8
  110. package/esm2022/button/public_api.mjs +8 -2
  111. package/esm2022/callout/callout/callout.component.mjs +4 -4
  112. package/esm2022/callout/callout-body/callout-body.directive.mjs +3 -2
  113. package/esm2022/callout/callout-icon/callout-icon.directive.mjs +3 -2
  114. package/esm2022/callout/callout-subtitle/callout-subtitle.directive.mjs +3 -2
  115. package/esm2022/callout/callout-tagline/callout-tagline.directive.mjs +3 -2
  116. package/esm2022/callout/callout-title/callout-title.directive.mjs +3 -2
  117. package/esm2022/callout/callout.mjs +15 -0
  118. package/esm2022/callout/callout.module.mjs +5 -5
  119. package/esm2022/callout/examples/callout-text-alignment/callout-text-alignment.component.mjs +9 -10
  120. package/esm2022/callout/examples/callout-theming/callout-theming.component.mjs +7 -8
  121. package/esm2022/callout/examples/callout-with-grid/callout-with-grid.component.mjs +9 -9
  122. package/esm2022/callout/examples/compact-callout/compact-callout.component.mjs +8 -9
  123. package/esm2022/callout/public_api.mjs +2 -1
  124. package/esm2022/card/card/card.component.mjs +3 -3
  125. package/esm2022/card/card-actions/card-actions.directive.mjs +3 -2
  126. package/esm2022/card/card-content/card-content.directive.mjs +3 -2
  127. package/esm2022/card/card-icon/card-icon.directive.mjs +3 -2
  128. package/esm2022/card/card-image/card-image.directive.mjs +3 -2
  129. package/esm2022/card/card-tagline/card-tagline.directive.mjs +3 -2
  130. package/esm2022/card/card-title/card-title.directive.mjs +3 -2
  131. package/esm2022/card/card.mjs +17 -0
  132. package/esm2022/card/card.module.mjs +7 -5
  133. package/esm2022/card/examples/basic-card/basic-card.component.mjs +8 -9
  134. package/esm2022/card/examples/card-orientation/card-orientation.component.mjs +9 -10
  135. package/esm2022/card/examples/card-theming/card-theming.component.mjs +4 -4
  136. package/esm2022/card/examples/linkable-card/linkable-card.component.mjs +6 -6
  137. package/esm2022/card/examples/raised-card/raised-card.component.mjs +6 -6
  138. package/esm2022/card/examples/stroked-card/stroked-card.component.mjs +6 -6
  139. package/esm2022/card/public_api.mjs +2 -1
  140. package/esm2022/checkbox/examples/basic-checkbox/basic-checkbox.component.mjs +4 -5
  141. package/esm2022/checkbox/examples/checkbox-set/checkbox-set.component.mjs +4 -5
  142. package/esm2022/container/container/container.component.mjs +3 -3
  143. package/esm2022/container/container.mjs +5 -0
  144. package/esm2022/container/container.module.mjs +6 -4
  145. package/esm2022/container/examples/container-sizes/container-sizes.component.mjs +4 -4
  146. package/esm2022/container/public_api.mjs +2 -1
  147. package/esm2022/core/openable/openable.directive.mjs +122 -0
  148. package/esm2022/core/openable/openable.mjs +2 -0
  149. package/esm2022/core/openable/public_api.mjs +2 -0
  150. package/esm2022/core/openable/utils/state-error.mjs +2 -0
  151. package/esm2022/core/public_api.mjs +2 -1
  152. package/esm2022/core/statusable/statusable.directive.mjs +7 -5
  153. package/esm2022/core/statusable/statusable.mjs +3 -2
  154. package/esm2022/hero/examples/compact-hero/compact-hero.component.mjs +6 -7
  155. package/esm2022/hero/examples/hero-text-alignment/hero-text-alignment.component.mjs +9 -10
  156. package/esm2022/hero/examples/hero-theming/hero-theming.component.mjs +7 -8
  157. package/esm2022/hero/examples/hero-with-grid/hero-with-grid.component.mjs +8 -9
  158. package/esm2022/hero/hero/hero.component.mjs +4 -7
  159. package/esm2022/hero/hero-body/hero-body.directive.mjs +3 -2
  160. package/esm2022/hero/hero-icon/hero-icon.directive.mjs +3 -2
  161. package/esm2022/hero/hero-subtitle/hero-subtitle.directive.mjs +3 -2
  162. package/esm2022/hero/hero-tagline/hero-tagline.directive.mjs +3 -2
  163. package/esm2022/hero/hero-title/hero-title.directive.mjs +3 -2
  164. package/esm2022/hero/hero.mjs +15 -0
  165. package/esm2022/hero/hero.module.mjs +7 -5
  166. package/esm2022/hero/public_api.mjs +2 -1
  167. package/esm2022/image/examples/basic-image/basic-image.component.mjs +6 -4
  168. package/esm2022/image/examples/load-image/load-image.component.mjs +7 -4
  169. package/esm2022/image/examples/skeleton-image/skeleton-image.component.mjs +6 -4
  170. package/esm2022/image/image/image.component.mjs +3 -3
  171. package/esm2022/image/image.mjs +5 -0
  172. package/esm2022/image/image.module.mjs +7 -5
  173. package/esm2022/image/public_api.mjs +2 -1
  174. package/esm2022/link-set/link-set/link-set.component.mjs +3 -3
  175. package/esm2022/link-set/link-set-heading/link-set-heading.directive.mjs +3 -2
  176. package/esm2022/link-set/link-set-item/link-set-item.component.mjs +3 -2
  177. package/esm2022/link-set/link-set-subheading/link-set-subheading.directive.mjs +3 -2
  178. package/esm2022/link-set/link-set.mjs +11 -0
  179. package/esm2022/link-set/link-set.module.mjs +8 -6
  180. package/esm2022/link-set/public_api.mjs +2 -1
  181. package/esm2022/list/examples/basic-list/basic-list.component.mjs +7 -4
  182. package/esm2022/list/examples/icon-list/icon-list.component.mjs +4 -6
  183. package/esm2022/list/examples/multiline-list/multiline-list.component.mjs +7 -4
  184. package/esm2022/list/examples/nav-list/nav-list.component.mjs +4 -6
  185. package/esm2022/list/list/list.component.mjs +3 -3
  186. package/esm2022/list/list-item/list-item.component.mjs +8 -5
  187. package/esm2022/list/list.mjs +9 -0
  188. package/esm2022/list/list.module.mjs +8 -8
  189. package/esm2022/list/public_api.mjs +2 -1
  190. package/esm2022/loading-icon/examples/examples.mjs +1 -3
  191. package/esm2022/loading-icon/examples/loading-icon-color/loading-icon-color.component.mjs +4 -4
  192. package/esm2022/loading-icon/loading-icon/loading-icon.component.mjs +5 -20
  193. package/esm2022/loading-icon/loading-icon.mjs +5 -0
  194. package/esm2022/loading-icon/loading-icon.module.mjs +6 -4
  195. package/esm2022/loading-icon/public_api.mjs +2 -1
  196. package/esm2022/media-gallery/examples/basic-media-gallery/basic-media-gallery.component.mjs +8 -5
  197. package/esm2022/media-gallery/examples/mismatched-sizes-media-gallery/mismatched-sizes-media-gallery.component.mjs +8 -5
  198. package/esm2022/media-gallery/examples/skeleton-media-gallery/skeleton-media-gallery.component.mjs +8 -5
  199. package/esm2022/media-gallery/helpers/media-gallery-token.mjs +7 -3
  200. package/esm2022/media-gallery/media-gallery/media-gallery.component.mjs +9 -5
  201. package/esm2022/media-gallery/media-gallery.mjs +9 -0
  202. package/esm2022/media-gallery/media-gallery.module.mjs +11 -9
  203. package/esm2022/media-gallery/media-renderer/media-renderer.component.mjs +3 -2
  204. package/esm2022/media-gallery/public_api.mjs +2 -1
  205. package/esm2022/media-gallery/thumbnail/thumbnail-compat.token.mjs +8 -3
  206. package/esm2022/media-gallery/thumbnail/thumbnail.directive.mjs +3 -2
  207. package/esm2022/menu/examples/basic-menu/basic-menu.component.mjs +8 -6
  208. package/esm2022/menu/examples/basic-menu/menu-content/menu-content.component.mjs +6 -3
  209. package/esm2022/menu/menu/menu.component.mjs +6 -3
  210. package/esm2022/menu/menu-activator/menu-activator.component.mjs +3 -2
  211. package/esm2022/menu/menu-item/menu-item.component.mjs +8 -5
  212. package/esm2022/menu/menu.module.mjs +8 -7
  213. package/esm2022/menu/services/menu.service.mjs +8 -7
  214. package/esm2022/modal/examples/basic-modal/basic-modal.component.mjs +12 -6
  215. package/esm2022/modal/examples/basic-modal/modal-content.component.mjs +8 -6
  216. package/esm2022/modal/modal/modal.component.mjs +47 -21
  217. package/esm2022/modal/modal-actions/modal-actions.component.mjs +3 -2
  218. package/esm2022/modal/modal-close/modal-close.directive.mjs +3 -2
  219. package/esm2022/modal/modal-content/modal-content.component.mjs +3 -2
  220. package/esm2022/modal/modal-header/modal-header.component.mjs +12 -7
  221. package/esm2022/modal/modal-title/modal-title.directive.mjs +3 -2
  222. package/esm2022/modal/modal.mjs +13 -0
  223. package/esm2022/modal/modal.module.mjs +17 -11
  224. package/esm2022/modal/public_api.mjs +2 -1
  225. package/esm2022/modal/service/modal.service.mjs +7 -5
  226. package/esm2022/navbar/examples/basic-navbar/basic-navbar.component.mjs +8 -6
  227. package/esm2022/navbar/examples/contained-navbar/contained-navbar.component.mjs +8 -9
  228. package/esm2022/navbar/examples/navbar-theming/navbar-theming.component.mjs +7 -8
  229. package/esm2022/navbar/examples/raised-navbar/raised-navbar.component.mjs +8 -6
  230. package/esm2022/navbar/navbar/navbar.component.mjs +3 -6
  231. package/esm2022/navbar/navbar.mjs +5 -0
  232. package/esm2022/navbar/navbar.module.mjs +10 -4
  233. package/esm2022/navbar/public_api.mjs +2 -1
  234. package/esm2022/notification/examples/default-notification/default-notification.component.mjs +4 -6
  235. package/esm2022/notification/examples/dismissible-notification/dismissible-notification.component.mjs +4 -4
  236. package/esm2022/notification/examples/notification-orientations/notification-orientations.component.mjs +4 -6
  237. package/esm2022/notification/examples/notification-status/notification-status.component.mjs +5 -7
  238. package/esm2022/notification/examples/notification-with-actions/notification-with-actions.component.mjs +6 -7
  239. package/esm2022/notification/notification/notification.component.mjs +12 -8
  240. package/esm2022/notification/notification-actions/notification-actions.directive.mjs +3 -2
  241. package/esm2022/notification/notification-message/notification-message.directive.mjs +3 -2
  242. package/esm2022/notification/notification-subtitle/notification-subtitle.directive.mjs +3 -2
  243. package/esm2022/notification/notification-title/notification-title.directive.mjs +3 -2
  244. package/esm2022/notification/notification.mjs +15 -0
  245. package/esm2022/notification/notification.module.mjs +11 -8
  246. package/esm2022/notification/public_api.mjs +2 -1
  247. package/esm2022/paginator/examples/basic-paginator/basic-paginator.component.mjs +4 -4
  248. package/esm2022/paginator/examples/link-paginator/link-paginator.component.mjs +4 -4
  249. package/esm2022/paginator/paginator/paginator.component.mjs +12 -9
  250. package/esm2022/paginator/paginator.mjs +5 -0
  251. package/esm2022/paginator/paginator.module.mjs +9 -6
  252. package/esm2022/paginator/public_api.mjs +2 -1
  253. package/esm2022/progress-bar/examples/progress-bar-default/progress-bar-default.component.mjs +6 -4
  254. package/esm2022/progress-bar/examples/progress-bar-indeterminate/progress-bar-indeterminate.component.mjs +6 -4
  255. package/esm2022/progress-bar/examples/progress-bar-themes/progress-bar-themes.component.mjs +7 -4
  256. package/esm2022/progress-bar/progress-bar-label/progress-bar-label.directive.mjs +20 -0
  257. package/esm2022/progress-bar/progress-bar.component.mjs +5 -3
  258. package/esm2022/progress-bar/progress-bar.mjs +7 -0
  259. package/esm2022/progress-bar/progress-bar.module.mjs +11 -4
  260. package/esm2022/progress-bar/public_api.mjs +3 -1
  261. package/esm2022/sidebar/examples/basic-sidebar/basic-sidebar.component.mjs +6 -4
  262. package/esm2022/sidebar/examples/over-and-under-sidebars/over-and-under-sidebars.component.mjs +8 -8
  263. package/esm2022/sidebar/examples/side-fixed-sidebar/side-fixed-sidebar.component.mjs +5 -5
  264. package/esm2022/sidebar/examples/sidebar-with-sticky-content/sidebar-with-sticky-content.component.mjs +6 -4
  265. package/esm2022/sidebar/public_api.mjs +2 -1
  266. package/esm2022/sidebar/sidebar/sidebar.component.mjs +35 -15
  267. package/esm2022/sidebar/sidebar-footer/sidebar-footer.component.mjs +3 -3
  268. package/esm2022/sidebar/sidebar-header/sidebar-header-action/sidebar-header-action.directive.mjs +3 -2
  269. package/esm2022/sidebar/sidebar-header/sidebar-header-title/sidebar-header-title.directive.mjs +3 -2
  270. package/esm2022/sidebar/sidebar-header/sidebar-header.component.mjs +3 -3
  271. package/esm2022/sidebar/sidebar-viewport/scroll-token/scroll.token.mjs +9 -3
  272. package/esm2022/sidebar/sidebar-viewport/sidebar-viewport.component.mjs +22 -38
  273. package/esm2022/sidebar/sidebar-viewport/utils/content-pad.mjs +6 -6
  274. package/esm2022/sidebar/sidebar-viewport-backdrop/sidebar-viewport-backdrop.component.mjs +3 -3
  275. package/esm2022/sidebar/sidebar.mjs +17 -0
  276. package/esm2022/sidebar/sidebar.module.mjs +8 -6
  277. package/esm2022/tabs/daffodil-design-tabs.mjs +5 -0
  278. package/esm2022/tabs/examples/basic-tabs/basic-tabs.component.mjs +22 -0
  279. package/esm2022/tabs/examples/custom-select-tabs/custom-select-tabs.component.mjs +34 -0
  280. package/esm2022/tabs/examples/daffodil-design-tabs-examples.mjs +5 -0
  281. package/esm2022/tabs/examples/disabled-tabs/disabled-tabs.component.mjs +22 -0
  282. package/esm2022/tabs/examples/index.mjs +2 -0
  283. package/esm2022/tabs/examples/initially-select-tab/initially-select-tab.component.mjs +22 -0
  284. package/esm2022/tabs/examples/public_api.mjs +11 -0
  285. package/esm2022/tabs/index.mjs +2 -0
  286. package/esm2022/tabs/public_api.mjs +6 -0
  287. package/esm2022/tabs/tabs/tab/tab.component.mjs +86 -0
  288. package/esm2022/tabs/tabs/tab-activator/tab-activator.component.mjs +83 -0
  289. package/esm2022/tabs/tabs/tab-label/tab-label.component.mjs +33 -0
  290. package/esm2022/tabs/tabs/tab-panel/tab-panel.component.mjs +68 -0
  291. package/esm2022/tabs/tabs/tabs.component.mjs +161 -0
  292. package/esm2022/tabs/tabs.mjs +13 -0
  293. package/esm2022/text-snippet/daffodil-design-text-snippet.mjs +5 -0
  294. package/esm2022/text-snippet/examples/basic-text-snippet/basic-text-snippet.component.mjs +14 -0
  295. package/esm2022/text-snippet/examples/daffodil-design-text-snippet-examples.mjs +5 -0
  296. package/esm2022/text-snippet/examples/index.mjs +2 -0
  297. package/esm2022/text-snippet/examples/public_api.mjs +5 -0
  298. package/esm2022/text-snippet/index.mjs +2 -0
  299. package/esm2022/text-snippet/public_api.mjs +2 -0
  300. package/esm2022/text-snippet/text-snippet.component.mjs +46 -0
  301. package/esm2022/toast/examples/default-toast/default-toast.component.mjs +6 -5
  302. package/esm2022/toast/examples/toast-positions/toast-positions.component.mjs +7 -5
  303. package/esm2022/toast/examples/toast-status/toast-status.component.mjs +11 -8
  304. package/esm2022/toast/examples/toast-with-custom-duration/toast-with-custom-duration.component.mjs +6 -5
  305. package/esm2022/toast/options/daff-toast-options.mjs +7 -7
  306. package/esm2022/toast/public_api.mjs +2 -1
  307. package/esm2022/toast/service/toast.service.mjs +9 -10
  308. package/esm2022/toast/toast/toast-provider.mjs +7 -0
  309. package/esm2022/toast/toast/toast-template.component.mjs +30 -12
  310. package/esm2022/toast/toast/toast.component.mjs +6 -9
  311. package/esm2022/toast/toast-actions/toast-actions.directive.mjs +3 -2
  312. package/esm2022/toast/toast-message/toast-message.directive.mjs +3 -2
  313. package/esm2022/toast/toast-title/toast-title.directive.mjs +3 -2
  314. package/esm2022/toast/toast.module.mjs +10 -11
  315. package/esm2022/tree/examples/basic-tree/basic-tree.component.mjs +7 -4
  316. package/esm2022/tree/public_api.mjs +2 -2
  317. package/esm2022/tree/tree/tree.component.mjs +8 -5
  318. package/esm2022/tree/tree-item/tree-item.directive.mjs +3 -2
  319. package/esm2022/tree/tree.mjs +7 -0
  320. package/esm2022/tree/tree.module.mjs +9 -7
  321. package/fesm2022/daffodil-design-accordion-examples.mjs +7 -26
  322. package/fesm2022/daffodil-design-accordion-examples.mjs.map +1 -1
  323. package/fesm2022/daffodil-design-accordion.mjs +52 -41
  324. package/fesm2022/daffodil-design-accordion.mjs.map +1 -1
  325. package/fesm2022/daffodil-design-article-examples.mjs +41 -21
  326. package/fesm2022/daffodil-design-article-examples.mjs.map +1 -1
  327. package/fesm2022/daffodil-design-article.mjs +15 -9
  328. package/fesm2022/daffodil-design-article.mjs.map +1 -1
  329. package/fesm2022/daffodil-design-button-examples.mjs +27 -24
  330. package/fesm2022/daffodil-design-button-examples.mjs.map +1 -1
  331. package/fesm2022/daffodil-design-button.mjs +312 -135
  332. package/fesm2022/daffodil-design-button.mjs.map +1 -1
  333. package/fesm2022/daffodil-design-callout-examples.mjs +21 -21
  334. package/fesm2022/daffodil-design-callout-examples.mjs.map +1 -1
  335. package/fesm2022/daffodil-design-callout.mjs +27 -13
  336. package/fesm2022/daffodil-design-callout.mjs.map +1 -1
  337. package/fesm2022/daffodil-design-card-examples.mjs +23 -24
  338. package/fesm2022/daffodil-design-card-examples.mjs.map +1 -1
  339. package/fesm2022/daffodil-design-card.mjs +31 -13
  340. package/fesm2022/daffodil-design-card.mjs.map +1 -1
  341. package/fesm2022/daffodil-design-checkbox-examples.mjs +5 -6
  342. package/fesm2022/daffodil-design-checkbox-examples.mjs.map +1 -1
  343. package/fesm2022/daffodil-design-container-examples.mjs +3 -3
  344. package/fesm2022/daffodil-design-container-examples.mjs.map +1 -1
  345. package/fesm2022/daffodil-design-container.mjs +12 -6
  346. package/fesm2022/daffodil-design-container.mjs.map +1 -1
  347. package/fesm2022/daffodil-design-hero-examples.mjs +19 -20
  348. package/fesm2022/daffodil-design-hero-examples.mjs.map +1 -1
  349. package/fesm2022/daffodil-design-hero.mjs +29 -16
  350. package/fesm2022/daffodil-design-hero.mjs.map +1 -1
  351. package/fesm2022/daffodil-design-image-examples.mjs +14 -7
  352. package/fesm2022/daffodil-design-image-examples.mjs.map +1 -1
  353. package/fesm2022/daffodil-design-image.mjs +13 -7
  354. package/fesm2022/daffodil-design-image.mjs.map +1 -1
  355. package/fesm2022/daffodil-design-link-set.mjs +23 -11
  356. package/fesm2022/daffodil-design-link-set.mjs.map +1 -1
  357. package/fesm2022/daffodil-design-list-examples.mjs +14 -13
  358. package/fesm2022/daffodil-design-list-examples.mjs.map +1 -1
  359. package/fesm2022/daffodil-design-list.mjs +22 -14
  360. package/fesm2022/daffodil-design-list.mjs.map +1 -1
  361. package/fesm2022/daffodil-design-loading-icon-examples.mjs +3 -13
  362. package/fesm2022/daffodil-design-loading-icon-examples.mjs.map +1 -1
  363. package/fesm2022/daffodil-design-loading-icon.mjs +14 -23
  364. package/fesm2022/daffodil-design-loading-icon.mjs.map +1 -1
  365. package/fesm2022/daffodil-design-media-gallery-examples.mjs +17 -8
  366. package/fesm2022/daffodil-design-media-gallery-examples.mjs.map +1 -1
  367. package/fesm2022/daffodil-design-media-gallery.mjs +82 -59
  368. package/fesm2022/daffodil-design-media-gallery.mjs.map +1 -1
  369. package/fesm2022/daffodil-design-menu-examples.mjs +11 -6
  370. package/fesm2022/daffodil-design-menu-examples.mjs.map +1 -1
  371. package/fesm2022/daffodil-design-menu.mjs +55 -48
  372. package/fesm2022/daffodil-design-menu.mjs.map +1 -1
  373. package/fesm2022/daffodil-design-modal-examples.mjs +16 -7
  374. package/fesm2022/daffodil-design-modal-examples.mjs.map +1 -1
  375. package/fesm2022/daffodil-design-modal.mjs +95 -49
  376. package/fesm2022/daffodil-design-modal.mjs.map +1 -1
  377. package/fesm2022/daffodil-design-navbar-examples.mjs +22 -17
  378. package/fesm2022/daffodil-design-navbar-examples.mjs.map +1 -1
  379. package/fesm2022/daffodil-design-navbar.mjs +16 -9
  380. package/fesm2022/daffodil-design-navbar.mjs.map +1 -1
  381. package/fesm2022/daffodil-design-notification-examples.mjs +14 -18
  382. package/fesm2022/daffodil-design-notification-examples.mjs.map +1 -1
  383. package/fesm2022/daffodil-design-notification.mjs +39 -21
  384. package/fesm2022/daffodil-design-notification.mjs.map +1 -1
  385. package/fesm2022/daffodil-design-paginator-examples.mjs +5 -5
  386. package/fesm2022/daffodil-design-paginator-examples.mjs.map +1 -1
  387. package/fesm2022/daffodil-design-paginator.mjs +23 -16
  388. package/fesm2022/daffodil-design-paginator.mjs.map +1 -1
  389. package/fesm2022/daffodil-design-progress-bar-examples.mjs +14 -7
  390. package/fesm2022/daffodil-design-progress-bar-examples.mjs.map +1 -1
  391. package/fesm2022/daffodil-design-progress-bar.mjs +38 -8
  392. package/fesm2022/daffodil-design-progress-bar.mjs.map +1 -1
  393. package/fesm2022/daffodil-design-sidebar-examples.mjs +18 -14
  394. package/fesm2022/daffodil-design-sidebar-examples.mjs.map +1 -1
  395. package/fesm2022/daffodil-design-sidebar.mjs +94 -70
  396. package/fesm2022/daffodil-design-sidebar.mjs.map +1 -1
  397. package/fesm2022/daffodil-design-tabs-examples.mjs +93 -0
  398. package/fesm2022/daffodil-design-tabs-examples.mjs.map +1 -0
  399. package/fesm2022/daffodil-design-tabs.mjs +431 -0
  400. package/fesm2022/daffodil-design-tabs.mjs.map +1 -0
  401. package/fesm2022/daffodil-design-text-snippet-examples.mjs +25 -0
  402. package/fesm2022/daffodil-design-text-snippet-examples.mjs.map +1 -0
  403. package/fesm2022/daffodil-design-text-snippet.mjs +53 -0
  404. package/fesm2022/daffodil-design-text-snippet.mjs.map +1 -0
  405. package/fesm2022/daffodil-design-toast-examples.mjs +23 -13
  406. package/fesm2022/daffodil-design-toast-examples.mjs.map +1 -1
  407. package/fesm2022/daffodil-design-toast.mjs +152 -132
  408. package/fesm2022/daffodil-design-toast.mjs.map +1 -1
  409. package/fesm2022/daffodil-design-tree-examples.mjs +6 -3
  410. package/fesm2022/daffodil-design-tree-examples.mjs.map +1 -1
  411. package/fesm2022/daffodil-design-tree.mjs +23 -35
  412. package/fesm2022/daffodil-design-tree.mjs.map +1 -1
  413. package/fesm2022/daffodil-design.mjs +132 -8
  414. package/fesm2022/daffodil-design.mjs.map +1 -1
  415. package/hero/README.md +41 -0
  416. package/hero/hero/hero.component.d.ts +1 -4
  417. package/hero/hero-body/hero-body.directive.d.ts +1 -1
  418. package/hero/hero-icon/hero-icon.directive.d.ts +1 -1
  419. package/hero/hero-subtitle/hero-subtitle.directive.d.ts +1 -1
  420. package/hero/hero-tagline/hero-tagline.directive.d.ts +1 -1
  421. package/hero/hero-title/hero-title.directive.d.ts +1 -1
  422. package/hero/hero.d.ts +7 -0
  423. package/hero/hero.module.d.ts +11 -8
  424. package/hero/public_api.d.ts +1 -0
  425. package/image/README.md +47 -8
  426. package/image/image/image.component.d.ts +1 -1
  427. package/image/image.d.ts +2 -0
  428. package/image/image.module.d.ts +6 -3
  429. package/image/public_api.d.ts +1 -0
  430. package/link-set/README.md +43 -2
  431. package/link-set/link-set/link-set.component.d.ts +1 -1
  432. package/link-set/link-set-heading/link-set-heading.directive.d.ts +1 -1
  433. package/link-set/link-set-item/link-set-item.component.d.ts +1 -1
  434. package/link-set/link-set-subheading/link-set-subheading.directive.d.ts +1 -1
  435. package/link-set/link-set.d.ts +5 -0
  436. package/link-set/link-set.module.d.ts +9 -6
  437. package/link-set/public_api.d.ts +1 -0
  438. package/list/README.md +42 -1
  439. package/list/list/list.component.d.ts +1 -1
  440. package/list/list-item/list-item.component.d.ts +1 -1
  441. package/list/list.d.ts +4 -0
  442. package/list/list.module.d.ts +7 -4
  443. package/list/public_api.d.ts +1 -0
  444. package/loading-icon/README.md +39 -3
  445. package/loading-icon/examples/examples.d.ts +2 -2
  446. package/loading-icon/loading-icon/loading-icon.component.d.ts +1 -9
  447. package/loading-icon/loading-icon.d.ts +2 -0
  448. package/loading-icon/loading-icon.module.d.ts +6 -3
  449. package/loading-icon/public_api.d.ts +1 -0
  450. package/media-gallery/README.md +45 -1
  451. package/media-gallery/helpers/media-gallery-token.d.ts +1 -2
  452. package/media-gallery/media-gallery/media-gallery.component.d.ts +1 -1
  453. package/media-gallery/media-gallery.d.ts +4 -0
  454. package/media-gallery/media-gallery.module.d.ts +8 -5
  455. package/media-gallery/media-renderer/media-renderer.component.d.ts +1 -1
  456. package/media-gallery/public_api.d.ts +1 -0
  457. package/media-gallery/thumbnail/thumbnail-compat.token.d.ts +1 -5
  458. package/media-gallery/thumbnail/thumbnail.directive.d.ts +1 -1
  459. package/menu/README.md +23 -0
  460. package/menu/menu/menu.component.d.ts +1 -1
  461. package/menu/menu-activator/menu-activator.component.d.ts +1 -1
  462. package/menu/menu-item/menu-item.component.d.ts +1 -1
  463. package/menu/menu.module.d.ts +6 -6
  464. package/menu/services/menu.service.d.ts +3 -2
  465. package/modal/README.md +41 -0
  466. package/modal/modal/modal.component.d.ts +20 -8
  467. package/modal/modal-actions/modal-actions.component.d.ts +1 -1
  468. package/modal/modal-close/modal-close.directive.d.ts +1 -1
  469. package/modal/modal-content/modal-content.component.d.ts +1 -1
  470. package/modal/modal-header/modal-header.component.d.ts +1 -1
  471. package/modal/modal-title/modal-title.directive.d.ts +1 -1
  472. package/modal/modal.d.ts +6 -0
  473. package/modal/modal.module.d.ts +15 -12
  474. package/modal/public_api.d.ts +1 -0
  475. package/navbar/README.md +41 -0
  476. package/navbar/navbar/navbar.component.d.ts +1 -4
  477. package/navbar/navbar.d.ts +2 -0
  478. package/navbar/navbar.module.d.ts +6 -2
  479. package/navbar/public_api.d.ts +1 -0
  480. package/notification/README.md +43 -2
  481. package/notification/notification/notification.component.d.ts +2 -2
  482. package/notification/notification-actions/notification-actions.directive.d.ts +1 -1
  483. package/notification/notification-message/notification-message.directive.d.ts +1 -1
  484. package/notification/notification-subtitle/notification-subtitle.directive.d.ts +1 -1
  485. package/notification/notification-title/notification-title.directive.d.ts +1 -1
  486. package/notification/notification.d.ts +7 -0
  487. package/notification/notification.module.d.ts +12 -9
  488. package/notification/public_api.d.ts +1 -0
  489. package/notification/src/notification-theme.scss +17 -13
  490. package/package.json +1 -1
  491. package/paginator/README.md +45 -4
  492. package/paginator/paginator/paginator.component.d.ts +1 -4
  493. package/paginator/paginator.d.ts +2 -0
  494. package/paginator/paginator.module.d.ts +8 -5
  495. package/paginator/public_api.d.ts +1 -0
  496. package/progress-bar/README.md +41 -0
  497. package/progress-bar/progress-bar-label/progress-bar-label.directive.d.ts +6 -0
  498. package/progress-bar/progress-bar.component.d.ts +1 -1
  499. package/progress-bar/progress-bar.d.ts +3 -0
  500. package/progress-bar/progress-bar.module.d.ts +7 -3
  501. package/progress-bar/public_api.d.ts +2 -0
  502. package/scss/theme.scss +13 -1
  503. package/scss/theming/_configure-theme.scss +60 -2
  504. package/scss/theming/_theme-css-variables.scss +1 -1
  505. package/sidebar/README.md +78 -20
  506. package/sidebar/public_api.d.ts +1 -0
  507. package/sidebar/sidebar/sidebar.component.d.ts +19 -8
  508. package/sidebar/sidebar-footer/sidebar-footer.component.d.ts +1 -1
  509. package/sidebar/sidebar-header/sidebar-header-action/sidebar-header-action.directive.d.ts +1 -1
  510. package/sidebar/sidebar-header/sidebar-header-title/sidebar-header-title.directive.d.ts +1 -1
  511. package/sidebar/sidebar-header/sidebar-header.component.d.ts +1 -1
  512. package/sidebar/sidebar-viewport/scroll-token/scroll.token.d.ts +1 -7
  513. package/sidebar/sidebar-viewport/sidebar-viewport.component.d.ts +5 -17
  514. package/sidebar/sidebar-viewport/utils/content-pad.d.ts +2 -2
  515. package/sidebar/sidebar-viewport-backdrop/sidebar-viewport-backdrop.component.d.ts +1 -1
  516. package/sidebar/sidebar.d.ts +8 -0
  517. package/sidebar/sidebar.module.d.ts +13 -10
  518. package/tabs/README.md +19 -0
  519. package/tabs/examples/basic-tabs/basic-tabs.component.d.ts +6 -0
  520. package/tabs/examples/custom-select-tabs/custom-select-tabs.component.d.ts +11 -0
  521. package/tabs/examples/disabled-tabs/disabled-tabs.component.d.ts +6 -0
  522. package/tabs/examples/index.d.ts +1 -0
  523. package/tabs/examples/initially-select-tab/initially-select-tab.component.d.ts +6 -0
  524. package/tabs/examples/public_api.d.ts +2 -0
  525. package/tabs/index.d.ts +1 -0
  526. package/tabs/public_api.d.ts +5 -0
  527. package/tabs/src/tabs-theme.scss +22 -0
  528. package/tabs/tabs/tab/tab.component.d.ts +57 -0
  529. package/tabs/tabs/tab-activator/tab-activator.component.d.ts +37 -0
  530. package/tabs/tabs/tab-label/tab-label.component.d.ts +19 -0
  531. package/tabs/tabs/tab-panel/tab-panel.component.d.ts +38 -0
  532. package/tabs/tabs/tabs.component.d.ts +104 -0
  533. package/tabs/tabs.d.ts +6 -0
  534. package/text-snippet/README.md +2 -0
  535. package/text-snippet/examples/basic-text-snippet/basic-text-snippet.component.d.ts +5 -0
  536. package/text-snippet/examples/index.d.ts +1 -0
  537. package/text-snippet/examples/public_api.d.ts +2 -0
  538. package/text-snippet/index.d.ts +1 -0
  539. package/text-snippet/public_api.d.ts +1 -0
  540. package/text-snippet/text-snippet.component.d.ts +19 -0
  541. package/toast/README.md +109 -34
  542. package/toast/options/daff-toast-options.d.ts +1 -3
  543. package/toast/public_api.d.ts +1 -0
  544. package/toast/service/toast.service.d.ts +4 -3
  545. package/toast/src/toast-theme.scss +14 -10
  546. package/toast/toast/toast-provider.d.ts +2 -0
  547. package/toast/toast/toast-template.component.d.ts +1 -1
  548. package/toast/toast/toast.component.d.ts +1 -3
  549. package/toast/toast-actions/toast-actions.directive.d.ts +1 -1
  550. package/toast/toast-message/toast-message.directive.d.ts +1 -1
  551. package/toast/toast-title/toast-title.directive.d.ts +1 -1
  552. package/toast/toast.module.d.ts +14 -12
  553. package/tree/README.md +41 -0
  554. package/tree/public_api.d.ts +1 -2
  555. package/tree/tree/tree.component.d.ts +1 -1
  556. package/tree/tree-item/tree-item.directive.d.ts +1 -1
  557. package/tree/tree.d.ts +3 -0
  558. package/tree/tree.module.d.ts +7 -4
  559. package/accordion/examples/accordion-examples.module.d.ts +0 -9
  560. package/button/button/button.component.d.ts +0 -80
  561. package/button/src/button-theme-variants/button.scss +0 -26
  562. package/button/src/button-theme-variants/flat.scss +0 -25
  563. package/button/src/button-theme-variants/icon.scss +0 -21
  564. package/button/src/button-theme-variants/raised.scss +0 -36
  565. package/button/src/button-theme-variants/stroked.scss +0 -28
  566. package/button/src/button-theme-variants/underline.scss +0 -9
  567. package/button/src/button-theme.scss +0 -574
  568. package/esm2022/accordion/examples/accordion-examples.module.mjs +0 -26
  569. package/esm2022/button/button/button.component.mjs +0 -207
  570. package/esm2022/loading-icon/examples/loading-icon-diameter/loading-icon-diameter.component.mjs +0 -13
  571. package/esm2022/tree/utils/transform-in-place.mjs +0 -23
  572. package/loading-icon/examples/loading-icon-diameter/loading-icon-diameter.component.d.ts +0 -5
  573. package/tree/utils/transform-in-place.d.ts +0 -15
@@ -0,0 +1,431 @@
1
+ import * as i1 from '@daffodil/design';
2
+ import { DaffPrefixDirective, DaffSuffixDirective, DaffPrefixSuffixModule, DaffArticleEncapsulatedDirective } from '@daffodil/design';
3
+ import * as i0 from '@angular/core';
4
+ import { TemplateRef, Component, ChangeDetectionStrategy, Input, ViewChild, ContentChild, HostBinding, ViewEncapsulation, EventEmitter, Output, ContentChildren, ViewChildren } from '@angular/core';
5
+ import { NgIf, NgTemplateOutlet } from '@angular/common';
6
+
7
+ let tabId = 1;
8
+ /**
9
+ * `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
+ *
11
+ * ## Template Structure
12
+ * A `<daff-tab>` should include the {@link DaffTabLabelComponent} and {@link DaffTabPanelComponent} components in order to properly structure the UI.
13
+ *
14
+ * ## Usage
15
+ * ```html
16
+ * <daff-tab>
17
+ * <daff-tab-label>
18
+ * <fa-icon [icon]="faInfoCircle" daffPrefix></fa-icon>
19
+ * Tab 1
20
+ * </daff-tab-label>
21
+ * <daff-tab-panel>
22
+ * Tab 1 Panel
23
+ * </daff-tab-panel>
24
+ * </daff-tab>
25
+ * ```
26
+ */
27
+ class DaffTabComponent {
28
+ constructor() {
29
+ /**
30
+ * Whether the tab is disabled.
31
+ *
32
+ * ```html
33
+ * <daff-tab [disabled]="true">
34
+ * </daff-tab>
35
+ * ```
36
+ */
37
+ this.disabled = false;
38
+ /**
39
+ * A unique id for the tab component.
40
+ *
41
+ * 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
+ *
43
+ * ```html
44
+ * <daff-tab [id]="'custom-id'"></daff-tab>
45
+ * ```
46
+ */
47
+ this.id = 'daff-tab-' + tabId;
48
+ /**
49
+ * @docs-private
50
+ */
51
+ this.panelId = 'daff-tab-panel-' + tabId;
52
+ tabId++;
53
+ }
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: `
56
+ <ng-template #label>
57
+ <ng-content select="daff-tab-label"></ng-content>
58
+ </ng-template>
59
+ <ng-template #content>
60
+ <ng-content select="daff-tab-panel"></ng-content>
61
+ </ng-template>
62
+ `, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
63
+ }
64
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: DaffTabComponent, decorators: [{
65
+ type: Component,
66
+ args: [{
67
+ standalone: true,
68
+ selector: 'daff-tab',
69
+ template: `
70
+ <ng-template #label>
71
+ <ng-content select="daff-tab-label"></ng-content>
72
+ </ng-template>
73
+ <ng-template #content>
74
+ <ng-content select="daff-tab-panel"></ng-content>
75
+ </ng-template>
76
+ `,
77
+ changeDetection: ChangeDetectionStrategy.OnPush,
78
+ }]
79
+ }], ctorParameters: () => [], propDecorators: { disabled: [{
80
+ type: Input
81
+ }], contentRef: [{
82
+ type: ViewChild,
83
+ args: ['content', { read: TemplateRef, static: true }]
84
+ }], labelRef: [{
85
+ type: ViewChild,
86
+ args: ['label', { read: TemplateRef, static: true }]
87
+ }], id: [{
88
+ type: Input
89
+ }] } });
90
+
91
+ /**
92
+ * 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
+ *
94
+ * ```html
95
+ * <daff-tab-label>
96
+ * <div daffPrefix></div>
97
+ * Label
98
+ * <div daffSuffix></div
99
+ * </daff-tab-Label>
100
+ * ```
101
+ */
102
+ 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 }); }
105
+ }
106
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: DaffTabLabelComponent, decorators: [{
107
+ type: Component,
108
+ args: [{ standalone: true, selector: 'daff-tab-label', changeDetection: ChangeDetectionStrategy.OnPush, imports: [
109
+ NgIf,
110
+ 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"] }]
112
+ }], propDecorators: { _prefix: [{
113
+ type: ContentChild,
114
+ args: [DaffPrefixDirective]
115
+ }], _suffix: [{
116
+ type: ContentChild,
117
+ args: [DaffSuffixDirective]
118
+ }] } });
119
+
120
+ /**
121
+ * DaffTabPanelComponent is used to display the content panel of a tab.
122
+ *
123
+ * ```html
124
+ * <daff-tab-panel>
125
+ * <!-- Tab panel content goes here -->
126
+ * </daff-tab-panel>
127
+ * ```
128
+ */
129
+ class DaffTabPanelComponent {
130
+ /**
131
+ * Dynamically binds the tab panel's id to a unique value generated from the associated tab's panelId.
132
+ */
133
+ get tabPanelId() {
134
+ return this._id;
135
+ }
136
+ constructor(tab) {
137
+ this.tab = tab;
138
+ /**
139
+ * @docs-private
140
+ */
141
+ this.class = true;
142
+ /**
143
+ * Sets the `role` to tabpanel.
144
+ */
145
+ this.role = 'tabpanel';
146
+ /**
147
+ * `aria-labelledby` for the tab.
148
+ */
149
+ this.ariaLabelledBy = '';
150
+ /**
151
+ * Sets the `tabindex` to 0.
152
+ */
153
+ this.tabIndex = '0';
154
+ this._id = '';
155
+ /**
156
+ * Sets the value of `ariaLabelledBy` to the id of the tab component.
157
+ */
158
+ this.ariaLabelledBy = this.tab.id;
159
+ this._id = this.tab.panelId;
160
+ }
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 }); }
163
+ }
164
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: DaffTabPanelComponent, decorators: [{
165
+ type: Component,
166
+ 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
+ }], ctorParameters: () => [{ type: DaffTabComponent }], propDecorators: { class: [{
168
+ type: HostBinding,
169
+ args: ['class.daff-tab-panel']
170
+ }], role: [{
171
+ type: HostBinding,
172
+ args: ['attr.role']
173
+ }], ariaLabelledBy: [{
174
+ type: HostBinding,
175
+ args: ['attr.aria-labelledby']
176
+ }], tabIndex: [{
177
+ type: HostBinding,
178
+ args: ['attr.tabindex']
179
+ }], tabPanelId: [{
180
+ type: HostBinding,
181
+ args: ['attr.id']
182
+ }] } });
183
+
184
+ class DaffTabActivatorComponent {
185
+ /**
186
+ * Sets `aria-selected` to true if the component is selected and false if it's not selected.
187
+ */
188
+ get ariaSelected() {
189
+ return this.selected ? true : false;
190
+ }
191
+ /**
192
+ * Sets `tabindex` to `0` if the component is selected and `-1` if it's not selected.
193
+ */
194
+ get tabIndex() {
195
+ return this.selected ? '0' : '-1';
196
+ }
197
+ ngOnInit() {
198
+ /**
199
+ * Sets the value of `panelId` to the `ariaControls` property
200
+ */
201
+ this.ariaControls = this.panelId;
202
+ }
203
+ constructor(el) {
204
+ this.el = el;
205
+ /**
206
+ * @docs-private
207
+ */
208
+ this.class = true;
209
+ /**
210
+ * Sets the `role` to tab.
211
+ */
212
+ this.role = 'tab';
213
+ /** Whether or not a tab is selected */
214
+ this.selected = false;
215
+ this.ariaControls = '';
216
+ /**
217
+ * The html id of the tab activator component
218
+ */
219
+ this.tabActivatorId = '';
220
+ this.panelId = '';
221
+ }
222
+ /**
223
+ * Sets focus to the native element of the component
224
+ */
225
+ focus() {
226
+ this.el.nativeElement.focus();
227
+ }
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 }); }
230
+ }
231
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: DaffTabActivatorComponent, decorators: [{
232
+ type: Component,
233
+ args: [{ standalone: true, selector: '' +
234
+ '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: [{
237
+ type: HostBinding,
238
+ args: ['class.daff-tab-activator']
239
+ }], role: [{
240
+ type: HostBinding,
241
+ args: ['attr.role']
242
+ }], selected: [{
243
+ type: Input
244
+ }, {
245
+ type: HostBinding,
246
+ args: ['class.selected']
247
+ }], ariaSelected: [{
248
+ type: HostBinding,
249
+ args: ['attr.aria-selected']
250
+ }], tabIndex: [{
251
+ type: HostBinding,
252
+ args: ['attr.tabindex']
253
+ }], ariaControls: [{
254
+ type: HostBinding,
255
+ args: ['attr.aria-controls']
256
+ }], tabActivatorId: [{
257
+ type: Input
258
+ }, {
259
+ type: HostBinding,
260
+ args: ['attr.id']
261
+ }], panelId: [{
262
+ type: Input
263
+ }] } });
264
+
265
+ /**
266
+ * Tabs provide a way to navigate between panels that display related content.
267
+ *
268
+ * ## Usage
269
+ * ```html
270
+ * <daff-tabs aria-label="List of tabs">
271
+ * <daff-tab>
272
+ * <daff-tab-label>
273
+ * <fa-icon [icon]="faInfoCircle" daffPrefix></fa-icon>
274
+ * Tab 1
275
+ * </daff-tab-label>
276
+ * <daff-tab-panel>
277
+ * Tab 1 Panel
278
+ * </daff-tab-panel>
279
+ * </daff-tab>
280
+ * <daff-tab>
281
+ * <daff-tab-label>
282
+ * Tab 2
283
+ * <fa-icon [icon]="faInfoCircle" daffSuffix></fa-icon>
284
+ * </daff-tab-label>
285
+ * <daff-tab-panel>
286
+ * Tab 2 Panel
287
+ * </daff-tab-panel>
288
+ * </daff-tab>
289
+ * </daff-tabs>
290
+ * ```
291
+ */
292
+ class DaffTabsComponent {
293
+ constructor(cdRef) {
294
+ this.cdRef = cdRef;
295
+ /**
296
+ * @docs-private
297
+ */
298
+ this.class = true;
299
+ /**
300
+ * 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.
301
+ */
302
+ this.initiallySelected = null;
303
+ /**
304
+ * @docs-private
305
+ */
306
+ this.externalAriaLabel = null;
307
+ /**
308
+ * aria-label for the tab.
309
+ */
310
+ this.ariaLabel = '';
311
+ /**
312
+ * Event emitted when tab selection changes.
313
+ */
314
+ this.tabChange = new EventEmitter();
315
+ }
316
+ /**
317
+ * @docs-private
318
+ */
319
+ ngAfterContentInit() {
320
+ if (this.initiallySelected) {
321
+ this.selectedTab = this.initiallySelected;
322
+ }
323
+ if (!this.selectedTab) {
324
+ this.selectedTab = this._tabs.first.id;
325
+ }
326
+ }
327
+ /**
328
+ * Selects a tab and sets focus on the selected tab.
329
+ */
330
+ select(tabId) {
331
+ const tabActivator = this._tabActivators.find(el => el.tabActivatorId === tabId);
332
+ if (!tabActivator) {
333
+ console.warn(`The tab '${tabId}' was not able to be selected because it does not exist. Check the id on your <daff-tab>s.`);
334
+ return;
335
+ }
336
+ this.tabChange.emit(tabId);
337
+ this.selectedTab = tabId;
338
+ this.cdRef.markForCheck();
339
+ tabActivator.focus();
340
+ }
341
+ /**
342
+ * Navigates through the tabs based on the given offset.
343
+ * Moves forward or backward in the tab array, wrapping around when necessary.
344
+ */
345
+ navigateTabs(offset) {
346
+ const array = this._tabs.toArray();
347
+ let selectedIndex = array.findIndex(el => el.id === this.selectedTab);
348
+ const startingIndex = selectedIndex;
349
+ let newIndex;
350
+ do {
351
+ newIndex = (selectedIndex + offset + array.length) % array.length;
352
+ selectedIndex = newIndex;
353
+ } while (array[newIndex].disabled && selectedIndex !== startingIndex); // Skip disabled tabs
354
+ this.select(array[newIndex].id);
355
+ }
356
+ /**
357
+ * Selects the previous tab and wraps around to the last tab if the first tab is currently selected.
358
+ */
359
+ previous() {
360
+ this.navigateTabs(-1);
361
+ }
362
+ /**
363
+ * Selects the next tab and wraps around to the first tab if the last tab is currently selected.
364
+ */
365
+ next() {
366
+ this.navigateTabs(1);
367
+ }
368
+ /**
369
+ * Selects the first tab.
370
+ */
371
+ selectFirst(event) {
372
+ event.preventDefault();
373
+ this.select(this._tabs.toArray()[0].id);
374
+ }
375
+ /**
376
+ * Selects the last tab.
377
+ */
378
+ selectLast(event) {
379
+ event.preventDefault();
380
+ const array = this._tabs.toArray();
381
+ this.select(array[array.length - 1].id);
382
+ }
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 }); }
385
+ }
386
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: DaffTabsComponent, decorators: [{
387
+ type: Component,
388
+ args: [{ standalone: true, selector: 'daff-tabs', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, imports: [
389
+ NgTemplateOutlet,
390
+ 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: [{
395
+ type: HostBinding,
396
+ args: ['class.daff-tabs']
397
+ }], initiallySelected: [{
398
+ type: Input
399
+ }], externalAriaLabel: [{
400
+ type: HostBinding,
401
+ args: ['attr.aria-label']
402
+ }], ariaLabel: [{
403
+ type: Input,
404
+ args: ['aria-label']
405
+ }], tabChange: [{
406
+ type: Output
407
+ }], _labels: [{
408
+ type: ContentChildren,
409
+ args: [DaffTabLabelComponent, { descendants: true }]
410
+ }], _tabs: [{
411
+ type: ContentChildren,
412
+ args: [DaffTabComponent]
413
+ }], _tabActivators: [{
414
+ type: ViewChildren,
415
+ args: [DaffTabActivatorComponent]
416
+ }] } });
417
+
418
+ const DAFF_TABS_COMPONENTS = [
419
+ DaffTabsComponent,
420
+ DaffTabLabelComponent,
421
+ DaffTabPanelComponent,
422
+ DaffPrefixSuffixModule,
423
+ DaffTabComponent,
424
+ ];
425
+
426
+ /**
427
+ * Generated bundle index. Do not edit.
428
+ */
429
+
430
+ export { DAFF_TABS_COMPONENTS, DaffTabComponent, DaffTabLabelComponent, DaffTabPanelComponent, DaffTabsComponent };
431
+ //# sourceMappingURL=daffodil-design-tabs.mjs.map
@@ -0,0 +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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"}
@@ -0,0 +1,25 @@
1
+ import * as i0 from '@angular/core';
2
+ import { Component, ChangeDetectionStrategy } from '@angular/core';
3
+ import { DaffTextSnippetComponent } from '@daffodil/design/text-snippet';
4
+
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 }); }
8
+ }
9
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: BasicTextSnippetComponent, decorators: [{
10
+ type: Component,
11
+ args: [{ selector: 'basic-text-snippet', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
12
+ DaffTextSnippetComponent,
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
+ }] });
15
+
16
+ const TEXT_SNIPPET_EXAMPLES = [
17
+ BasicTextSnippetComponent,
18
+ ];
19
+
20
+ /**
21
+ * Generated bundle index. Do not edit.
22
+ */
23
+
24
+ export { TEXT_SNIPPET_EXAMPLES };
25
+ //# sourceMappingURL=daffodil-design-text-snippet-examples.mjs.map
@@ -0,0 +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;;;;"}
@@ -0,0 +1,53 @@
1
+ import { NgIf } from '@angular/common';
2
+ import * as i0 from '@angular/core';
3
+ import { EventEmitter, ElementRef, Component, ChangeDetectionStrategy, Input, ViewChild, Output } from '@angular/core';
4
+ import * as i2 from '@daffodil/design/button';
5
+ import { DAFF_BUTTON_COMPONENTS } from '@daffodil/design/button';
6
+ import * as i1 from '@daffodil/design';
7
+
8
+ class DaffTextSnippetComponent {
9
+ constructor() {
10
+ /**
11
+ * A property to track whether or not the component
12
+ * should render a condensed version of the content.
13
+ */
14
+ this.condensed = true;
15
+ this.html = '';
16
+ /**
17
+ * An output event that can be used to track the state of the component externally.
18
+ */
19
+ this.toggle = new EventEmitter();
20
+ }
21
+ toggleSnippet() {
22
+ this.condensed = !this.condensed;
23
+ this.toggle.emit(this.condensed);
24
+ }
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 }); }
27
+ }
28
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: DaffTextSnippetComponent, decorators: [{
29
+ type: Component,
30
+ args: [{ selector: 'daff-text-snippet', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
31
+ NgIf,
32
+ DAFF_BUTTON_COMPONENTS,
33
+ ], 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"] }]
34
+ }], propDecorators: { condensed: [{
35
+ type: Input
36
+ }], html: [{
37
+ type: Input
38
+ }], contentRef: [{
39
+ type: ViewChild,
40
+ args: ['contentEl', { read: ElementRef }]
41
+ }], htmlRef: [{
42
+ type: ViewChild,
43
+ args: ['htmlEl', { read: ElementRef }]
44
+ }], toggle: [{
45
+ type: Output
46
+ }] } });
47
+
48
+ /**
49
+ * Generated bundle index. Do not edit.
50
+ */
51
+
52
+ export { DaffTextSnippetComponent };
53
+ //# sourceMappingURL=daffodil-design-text-snippet.mjs.map
@@ -0,0 +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;;;;"}