@daffodil/design 0.77.0 → 0.79.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (573) hide show
  1. package/accordion/README.md +40 -2
  2. package/accordion/accordion/accordion/accordion.component.d.ts +1 -1
  3. package/accordion/accordion/accordion-item/accordion-item.component.d.ts +19 -8
  4. package/accordion/accordion/accordion-item-title/accordion-item-title.directive.d.ts +1 -1
  5. package/accordion/accordion.d.ts +4 -0
  6. package/accordion/accordion.module.d.ts +6 -7
  7. package/accordion/examples/basic-accordion/basic-accordion.component.d.ts +1 -1
  8. package/accordion/examples/public_api.d.ts +0 -1
  9. package/accordion/public_api.d.ts +1 -0
  10. package/article/README.md +42 -1
  11. package/article/article/article.component.d.ts +1 -1
  12. package/article/article-meta/article-meta.directive.d.ts +1 -1
  13. package/article/article.d.ts +3 -0
  14. package/article/article.module.d.ts +5 -4
  15. package/article/public_api.d.ts +2 -1
  16. package/atoms/form/form-field/form-field/form-field.component.d.ts +1 -1
  17. package/button/README.md +42 -1
  18. package/button/button/basic/button.component.d.ts +28 -0
  19. package/button/button/button-base.directive.d.ts +51 -0
  20. package/button/button/flat/flat.component.d.ts +28 -0
  21. package/button/button/icon/icon.component.d.ts +24 -0
  22. package/button/button/raised/raised.component.d.ts +28 -0
  23. package/button/button/stroked/stroked.component.d.ts +28 -0
  24. package/button/button/underline/underline.component.d.ts +28 -0
  25. package/button/button.d.ts +8 -0
  26. package/button/button.module.d.ts +10 -5
  27. package/button/public_api.d.ts +7 -1
  28. package/button/src/button/basic/button-theme.scss +145 -0
  29. package/button/src/button/button-base.scss +79 -0
  30. package/button/src/button/flat/flat-theme.scss +143 -0
  31. package/button/src/button/icon/icon-theme.scss +141 -0
  32. package/button/src/button/raised/raised-theme.scss +120 -0
  33. package/button/src/button/stroked/stroked-theme.scss +158 -0
  34. package/button/src/button/underline/underline-theme.scss +93 -0
  35. package/callout/README.md +42 -0
  36. package/callout/callout/callout.component.d.ts +1 -1
  37. package/callout/callout-body/callout-body.directive.d.ts +1 -1
  38. package/callout/callout-icon/callout-icon.directive.d.ts +1 -1
  39. package/callout/callout-subtitle/callout-subtitle.directive.d.ts +1 -1
  40. package/callout/callout-tagline/callout-tagline.directive.d.ts +1 -1
  41. package/callout/callout-title/callout-title.directive.d.ts +1 -1
  42. package/callout/callout.d.ts +7 -0
  43. package/callout/callout.module.d.ts +9 -8
  44. package/callout/public_api.d.ts +1 -0
  45. package/card/README.md +41 -0
  46. package/card/card/card.component.d.ts +1 -1
  47. package/card/card-actions/card-actions.directive.d.ts +1 -1
  48. package/card/card-content/card-content.directive.d.ts +1 -1
  49. package/card/card-icon/card-icon.directive.d.ts +1 -1
  50. package/card/card-image/card-image.directive.d.ts +1 -1
  51. package/card/card-tagline/card-tagline.directive.d.ts +1 -1
  52. package/card/card-title/card-title.directive.d.ts +1 -1
  53. package/card/card.d.ts +8 -0
  54. package/card/card.module.d.ts +12 -9
  55. package/card/public_api.d.ts +1 -0
  56. package/container/README.md +42 -1
  57. package/container/container/container.component.d.ts +1 -1
  58. package/container/container.d.ts +2 -0
  59. package/container/container.module.d.ts +6 -3
  60. package/container/public_api.d.ts +1 -0
  61. package/core/openable/openable.d.ts +13 -0
  62. package/core/openable/openable.directive.d.ts +81 -0
  63. package/core/openable/public_api.d.ts +2 -0
  64. package/core/openable/utils/state-error.d.ts +1 -0
  65. package/core/public_api.d.ts +1 -0
  66. package/core/statusable/statusable.d.ts +5 -3
  67. package/core/statusable/statusable.directive.d.ts +6 -4
  68. package/esm2022/accordion/accordion/accordion/accordion.component.mjs +3 -3
  69. package/esm2022/accordion/accordion/accordion-item/accordion-item.component.mjs +38 -22
  70. package/esm2022/accordion/accordion/accordion-item-title/accordion-item-title.directive.mjs +3 -2
  71. package/esm2022/accordion/accordion/animation/accordion-animation.mjs +1 -4
  72. package/esm2022/accordion/accordion.mjs +9 -0
  73. package/esm2022/accordion/accordion.module.mjs +6 -14
  74. package/esm2022/accordion/examples/basic-accordion/basic-accordion.component.mjs +6 -3
  75. package/esm2022/accordion/examples/public_api.mjs +1 -2
  76. package/esm2022/accordion/public_api.mjs +2 -1
  77. package/esm2022/article/article/article.component.mjs +3 -3
  78. package/esm2022/article/article-meta/article-meta.directive.mjs +3 -2
  79. package/esm2022/article/article.mjs +7 -0
  80. package/esm2022/article/article.module.mjs +5 -5
  81. package/esm2022/article/examples/article-blockquote/article-blockquote.component.mjs +6 -4
  82. package/esm2022/article/examples/article-code-block/article-code-block.component.mjs +6 -4
  83. package/esm2022/article/examples/article-code-inline/article-code-inline.component.mjs +6 -4
  84. package/esm2022/article/examples/article-headings/article-headings.component.mjs +7 -3
  85. package/esm2022/article/examples/article-hr/article-hr.component.mjs +6 -4
  86. package/esm2022/article/examples/article-link/article-link.component.mjs +6 -4
  87. package/esm2022/article/examples/article-meta/article-meta.component.mjs +6 -4
  88. package/esm2022/article/examples/article-ol/article-ol.component.mjs +6 -4
  89. package/esm2022/article/examples/article-table/article-table.component.mjs +6 -4
  90. package/esm2022/article/examples/article-ul/article-ul.component.mjs +6 -4
  91. package/esm2022/article/public_api.mjs +3 -2
  92. package/esm2022/atoms/form/form-field/form-field/form-field.component.mjs +2 -2
  93. package/esm2022/button/button/basic/button.component.mjs +48 -0
  94. package/esm2022/button/button/button-base.directive.mjs +105 -0
  95. package/esm2022/button/button/flat/flat.component.mjs +48 -0
  96. package/esm2022/button/button/icon/icon.component.mjs +44 -0
  97. package/esm2022/button/button/raised/raised.component.mjs +48 -0
  98. package/esm2022/button/button/stroked/stroked.component.mjs +48 -0
  99. package/esm2022/button/button/underline/underline.component.mjs +48 -0
  100. package/esm2022/button/button.mjs +17 -0
  101. package/esm2022/button/button.module.mjs +36 -12
  102. package/esm2022/button/examples/basic-button/basic-button.component.mjs +4 -8
  103. package/esm2022/button/examples/flat-button/flat-button.component.mjs +4 -8
  104. package/esm2022/button/examples/icon-button/icon-button.component.mjs +7 -5
  105. package/esm2022/button/examples/raised-button/raised-button.component.mjs +4 -8
  106. package/esm2022/button/examples/sizeable-button/sizeable-button.component.mjs +8 -4
  107. package/esm2022/button/examples/statusable-button/statusable-button.component.mjs +8 -4
  108. package/esm2022/button/examples/stroked-button/stroked-button.component.mjs +4 -8
  109. package/esm2022/button/examples/underline-button/underline-button.component.mjs +4 -8
  110. package/esm2022/button/public_api.mjs +8 -2
  111. package/esm2022/callout/callout/callout.component.mjs +4 -4
  112. package/esm2022/callout/callout-body/callout-body.directive.mjs +3 -2
  113. package/esm2022/callout/callout-icon/callout-icon.directive.mjs +3 -2
  114. package/esm2022/callout/callout-subtitle/callout-subtitle.directive.mjs +3 -2
  115. package/esm2022/callout/callout-tagline/callout-tagline.directive.mjs +3 -2
  116. package/esm2022/callout/callout-title/callout-title.directive.mjs +3 -2
  117. package/esm2022/callout/callout.mjs +15 -0
  118. package/esm2022/callout/callout.module.mjs +5 -5
  119. package/esm2022/callout/examples/callout-text-alignment/callout-text-alignment.component.mjs +9 -10
  120. package/esm2022/callout/examples/callout-theming/callout-theming.component.mjs +7 -8
  121. package/esm2022/callout/examples/callout-with-grid/callout-with-grid.component.mjs +9 -9
  122. package/esm2022/callout/examples/compact-callout/compact-callout.component.mjs +8 -9
  123. package/esm2022/callout/public_api.mjs +2 -1
  124. package/esm2022/card/card/card.component.mjs +3 -3
  125. package/esm2022/card/card-actions/card-actions.directive.mjs +3 -2
  126. package/esm2022/card/card-content/card-content.directive.mjs +3 -2
  127. package/esm2022/card/card-icon/card-icon.directive.mjs +3 -2
  128. package/esm2022/card/card-image/card-image.directive.mjs +3 -2
  129. package/esm2022/card/card-tagline/card-tagline.directive.mjs +3 -2
  130. package/esm2022/card/card-title/card-title.directive.mjs +3 -2
  131. package/esm2022/card/card.mjs +17 -0
  132. package/esm2022/card/card.module.mjs +7 -5
  133. package/esm2022/card/examples/basic-card/basic-card.component.mjs +8 -9
  134. package/esm2022/card/examples/card-orientation/card-orientation.component.mjs +9 -10
  135. package/esm2022/card/examples/card-theming/card-theming.component.mjs +4 -4
  136. package/esm2022/card/examples/linkable-card/linkable-card.component.mjs +6 -6
  137. package/esm2022/card/examples/raised-card/raised-card.component.mjs +6 -6
  138. package/esm2022/card/examples/stroked-card/stroked-card.component.mjs +6 -6
  139. package/esm2022/card/public_api.mjs +2 -1
  140. package/esm2022/checkbox/examples/basic-checkbox/basic-checkbox.component.mjs +4 -5
  141. package/esm2022/checkbox/examples/checkbox-set/checkbox-set.component.mjs +4 -5
  142. package/esm2022/container/container/container.component.mjs +3 -3
  143. package/esm2022/container/container.mjs +5 -0
  144. package/esm2022/container/container.module.mjs +6 -4
  145. package/esm2022/container/examples/container-sizes/container-sizes.component.mjs +4 -4
  146. package/esm2022/container/public_api.mjs +2 -1
  147. package/esm2022/core/openable/openable.directive.mjs +122 -0
  148. package/esm2022/core/openable/openable.mjs +2 -0
  149. package/esm2022/core/openable/public_api.mjs +2 -0
  150. package/esm2022/core/openable/utils/state-error.mjs +2 -0
  151. package/esm2022/core/public_api.mjs +2 -1
  152. package/esm2022/core/statusable/statusable.directive.mjs +7 -5
  153. package/esm2022/core/statusable/statusable.mjs +3 -2
  154. package/esm2022/hero/examples/compact-hero/compact-hero.component.mjs +6 -7
  155. package/esm2022/hero/examples/hero-text-alignment/hero-text-alignment.component.mjs +9 -10
  156. package/esm2022/hero/examples/hero-theming/hero-theming.component.mjs +7 -8
  157. package/esm2022/hero/examples/hero-with-grid/hero-with-grid.component.mjs +8 -9
  158. package/esm2022/hero/hero/hero.component.mjs +4 -7
  159. package/esm2022/hero/hero-body/hero-body.directive.mjs +3 -2
  160. package/esm2022/hero/hero-icon/hero-icon.directive.mjs +3 -2
  161. package/esm2022/hero/hero-subtitle/hero-subtitle.directive.mjs +3 -2
  162. package/esm2022/hero/hero-tagline/hero-tagline.directive.mjs +3 -2
  163. package/esm2022/hero/hero-title/hero-title.directive.mjs +3 -2
  164. package/esm2022/hero/hero.mjs +15 -0
  165. package/esm2022/hero/hero.module.mjs +7 -5
  166. package/esm2022/hero/public_api.mjs +2 -1
  167. package/esm2022/image/examples/basic-image/basic-image.component.mjs +6 -4
  168. package/esm2022/image/examples/load-image/load-image.component.mjs +7 -4
  169. package/esm2022/image/examples/skeleton-image/skeleton-image.component.mjs +6 -4
  170. package/esm2022/image/image/image.component.mjs +3 -3
  171. package/esm2022/image/image.mjs +5 -0
  172. package/esm2022/image/image.module.mjs +7 -5
  173. package/esm2022/image/public_api.mjs +2 -1
  174. package/esm2022/link-set/link-set/link-set.component.mjs +3 -3
  175. package/esm2022/link-set/link-set-heading/link-set-heading.directive.mjs +3 -2
  176. package/esm2022/link-set/link-set-item/link-set-item.component.mjs +3 -2
  177. package/esm2022/link-set/link-set-subheading/link-set-subheading.directive.mjs +3 -2
  178. package/esm2022/link-set/link-set.mjs +11 -0
  179. package/esm2022/link-set/link-set.module.mjs +8 -6
  180. package/esm2022/link-set/public_api.mjs +2 -1
  181. package/esm2022/list/examples/basic-list/basic-list.component.mjs +7 -4
  182. package/esm2022/list/examples/icon-list/icon-list.component.mjs +4 -6
  183. package/esm2022/list/examples/multiline-list/multiline-list.component.mjs +7 -4
  184. package/esm2022/list/examples/nav-list/nav-list.component.mjs +4 -6
  185. package/esm2022/list/list/list.component.mjs +3 -3
  186. package/esm2022/list/list-item/list-item.component.mjs +8 -5
  187. package/esm2022/list/list.mjs +9 -0
  188. package/esm2022/list/list.module.mjs +8 -8
  189. package/esm2022/list/public_api.mjs +2 -1
  190. package/esm2022/loading-icon/examples/examples.mjs +1 -3
  191. package/esm2022/loading-icon/examples/loading-icon-color/loading-icon-color.component.mjs +4 -4
  192. package/esm2022/loading-icon/loading-icon/loading-icon.component.mjs +5 -20
  193. package/esm2022/loading-icon/loading-icon.mjs +5 -0
  194. package/esm2022/loading-icon/loading-icon.module.mjs +6 -4
  195. package/esm2022/loading-icon/public_api.mjs +2 -1
  196. package/esm2022/media-gallery/examples/basic-media-gallery/basic-media-gallery.component.mjs +8 -5
  197. package/esm2022/media-gallery/examples/mismatched-sizes-media-gallery/mismatched-sizes-media-gallery.component.mjs +8 -5
  198. package/esm2022/media-gallery/examples/skeleton-media-gallery/skeleton-media-gallery.component.mjs +8 -5
  199. package/esm2022/media-gallery/helpers/media-gallery-token.mjs +7 -3
  200. package/esm2022/media-gallery/media-gallery/media-gallery.component.mjs +9 -5
  201. package/esm2022/media-gallery/media-gallery.mjs +9 -0
  202. package/esm2022/media-gallery/media-gallery.module.mjs +11 -9
  203. package/esm2022/media-gallery/media-renderer/media-renderer.component.mjs +3 -2
  204. package/esm2022/media-gallery/public_api.mjs +2 -1
  205. package/esm2022/media-gallery/thumbnail/thumbnail-compat.token.mjs +8 -3
  206. package/esm2022/media-gallery/thumbnail/thumbnail.directive.mjs +3 -2
  207. package/esm2022/menu/examples/basic-menu/basic-menu.component.mjs +8 -6
  208. package/esm2022/menu/examples/basic-menu/menu-content/menu-content.component.mjs +6 -3
  209. package/esm2022/menu/menu/menu.component.mjs +6 -3
  210. package/esm2022/menu/menu-activator/menu-activator.component.mjs +3 -2
  211. package/esm2022/menu/menu-item/menu-item.component.mjs +8 -5
  212. package/esm2022/menu/menu.module.mjs +8 -7
  213. package/esm2022/menu/services/menu.service.mjs +8 -7
  214. package/esm2022/modal/examples/basic-modal/basic-modal.component.mjs +12 -6
  215. package/esm2022/modal/examples/basic-modal/modal-content.component.mjs +8 -6
  216. package/esm2022/modal/modal/modal.component.mjs +47 -21
  217. package/esm2022/modal/modal-actions/modal-actions.component.mjs +3 -2
  218. package/esm2022/modal/modal-close/modal-close.directive.mjs +3 -2
  219. package/esm2022/modal/modal-content/modal-content.component.mjs +3 -2
  220. package/esm2022/modal/modal-header/modal-header.component.mjs +12 -7
  221. package/esm2022/modal/modal-title/modal-title.directive.mjs +3 -2
  222. package/esm2022/modal/modal.mjs +13 -0
  223. package/esm2022/modal/modal.module.mjs +17 -11
  224. package/esm2022/modal/public_api.mjs +2 -1
  225. package/esm2022/modal/service/modal.service.mjs +7 -5
  226. package/esm2022/navbar/examples/basic-navbar/basic-navbar.component.mjs +8 -6
  227. package/esm2022/navbar/examples/contained-navbar/contained-navbar.component.mjs +8 -9
  228. package/esm2022/navbar/examples/navbar-theming/navbar-theming.component.mjs +7 -8
  229. package/esm2022/navbar/examples/raised-navbar/raised-navbar.component.mjs +8 -6
  230. package/esm2022/navbar/navbar/navbar.component.mjs +3 -6
  231. package/esm2022/navbar/navbar.mjs +5 -0
  232. package/esm2022/navbar/navbar.module.mjs +10 -4
  233. package/esm2022/navbar/public_api.mjs +2 -1
  234. package/esm2022/notification/examples/default-notification/default-notification.component.mjs +4 -6
  235. package/esm2022/notification/examples/dismissible-notification/dismissible-notification.component.mjs +4 -4
  236. package/esm2022/notification/examples/notification-orientations/notification-orientations.component.mjs +4 -6
  237. package/esm2022/notification/examples/notification-status/notification-status.component.mjs +5 -7
  238. package/esm2022/notification/examples/notification-with-actions/notification-with-actions.component.mjs +6 -7
  239. package/esm2022/notification/notification/notification.component.mjs +12 -8
  240. package/esm2022/notification/notification-actions/notification-actions.directive.mjs +3 -2
  241. package/esm2022/notification/notification-message/notification-message.directive.mjs +3 -2
  242. package/esm2022/notification/notification-subtitle/notification-subtitle.directive.mjs +3 -2
  243. package/esm2022/notification/notification-title/notification-title.directive.mjs +3 -2
  244. package/esm2022/notification/notification.mjs +15 -0
  245. package/esm2022/notification/notification.module.mjs +11 -8
  246. package/esm2022/notification/public_api.mjs +2 -1
  247. package/esm2022/paginator/examples/basic-paginator/basic-paginator.component.mjs +4 -4
  248. package/esm2022/paginator/examples/link-paginator/link-paginator.component.mjs +4 -4
  249. package/esm2022/paginator/paginator/paginator.component.mjs +12 -9
  250. package/esm2022/paginator/paginator.mjs +5 -0
  251. package/esm2022/paginator/paginator.module.mjs +9 -6
  252. package/esm2022/paginator/public_api.mjs +2 -1
  253. package/esm2022/progress-bar/examples/progress-bar-default/progress-bar-default.component.mjs +6 -4
  254. package/esm2022/progress-bar/examples/progress-bar-indeterminate/progress-bar-indeterminate.component.mjs +6 -4
  255. package/esm2022/progress-bar/examples/progress-bar-themes/progress-bar-themes.component.mjs +7 -4
  256. package/esm2022/progress-bar/progress-bar-label/progress-bar-label.directive.mjs +20 -0
  257. package/esm2022/progress-bar/progress-bar.component.mjs +5 -3
  258. package/esm2022/progress-bar/progress-bar.mjs +7 -0
  259. package/esm2022/progress-bar/progress-bar.module.mjs +11 -4
  260. package/esm2022/progress-bar/public_api.mjs +3 -1
  261. package/esm2022/sidebar/examples/basic-sidebar/basic-sidebar.component.mjs +6 -4
  262. package/esm2022/sidebar/examples/over-and-under-sidebars/over-and-under-sidebars.component.mjs +8 -8
  263. package/esm2022/sidebar/examples/side-fixed-sidebar/side-fixed-sidebar.component.mjs +5 -5
  264. package/esm2022/sidebar/examples/sidebar-with-sticky-content/sidebar-with-sticky-content.component.mjs +6 -4
  265. package/esm2022/sidebar/public_api.mjs +2 -1
  266. package/esm2022/sidebar/sidebar/sidebar.component.mjs +35 -15
  267. package/esm2022/sidebar/sidebar-footer/sidebar-footer.component.mjs +3 -3
  268. package/esm2022/sidebar/sidebar-header/sidebar-header-action/sidebar-header-action.directive.mjs +3 -2
  269. package/esm2022/sidebar/sidebar-header/sidebar-header-title/sidebar-header-title.directive.mjs +3 -2
  270. package/esm2022/sidebar/sidebar-header/sidebar-header.component.mjs +3 -3
  271. package/esm2022/sidebar/sidebar-viewport/scroll-token/scroll.token.mjs +9 -3
  272. package/esm2022/sidebar/sidebar-viewport/sidebar-viewport.component.mjs +22 -38
  273. package/esm2022/sidebar/sidebar-viewport/utils/content-pad.mjs +6 -6
  274. package/esm2022/sidebar/sidebar-viewport-backdrop/sidebar-viewport-backdrop.component.mjs +3 -3
  275. package/esm2022/sidebar/sidebar.mjs +17 -0
  276. package/esm2022/sidebar/sidebar.module.mjs +8 -6
  277. package/esm2022/tabs/daffodil-design-tabs.mjs +5 -0
  278. package/esm2022/tabs/examples/basic-tabs/basic-tabs.component.mjs +22 -0
  279. package/esm2022/tabs/examples/custom-select-tabs/custom-select-tabs.component.mjs +34 -0
  280. package/esm2022/tabs/examples/daffodil-design-tabs-examples.mjs +5 -0
  281. package/esm2022/tabs/examples/disabled-tabs/disabled-tabs.component.mjs +22 -0
  282. package/esm2022/tabs/examples/index.mjs +2 -0
  283. package/esm2022/tabs/examples/initially-select-tab/initially-select-tab.component.mjs +22 -0
  284. package/esm2022/tabs/examples/public_api.mjs +11 -0
  285. package/esm2022/tabs/index.mjs +2 -0
  286. package/esm2022/tabs/public_api.mjs +6 -0
  287. package/esm2022/tabs/tabs/tab/tab.component.mjs +86 -0
  288. package/esm2022/tabs/tabs/tab-activator/tab-activator.component.mjs +83 -0
  289. package/esm2022/tabs/tabs/tab-label/tab-label.component.mjs +33 -0
  290. package/esm2022/tabs/tabs/tab-panel/tab-panel.component.mjs +68 -0
  291. package/esm2022/tabs/tabs/tabs.component.mjs +161 -0
  292. package/esm2022/tabs/tabs.mjs +13 -0
  293. package/esm2022/text-snippet/daffodil-design-text-snippet.mjs +5 -0
  294. package/esm2022/text-snippet/examples/basic-text-snippet/basic-text-snippet.component.mjs +14 -0
  295. package/esm2022/text-snippet/examples/daffodil-design-text-snippet-examples.mjs +5 -0
  296. package/esm2022/text-snippet/examples/index.mjs +2 -0
  297. package/esm2022/text-snippet/examples/public_api.mjs +5 -0
  298. package/esm2022/text-snippet/index.mjs +2 -0
  299. package/esm2022/text-snippet/public_api.mjs +2 -0
  300. package/esm2022/text-snippet/text-snippet.component.mjs +46 -0
  301. package/esm2022/toast/examples/default-toast/default-toast.component.mjs +6 -5
  302. package/esm2022/toast/examples/toast-positions/toast-positions.component.mjs +7 -5
  303. package/esm2022/toast/examples/toast-status/toast-status.component.mjs +11 -8
  304. package/esm2022/toast/examples/toast-with-custom-duration/toast-with-custom-duration.component.mjs +6 -5
  305. package/esm2022/toast/options/daff-toast-options.mjs +7 -7
  306. package/esm2022/toast/public_api.mjs +2 -1
  307. package/esm2022/toast/service/toast.service.mjs +9 -10
  308. package/esm2022/toast/toast/toast-provider.mjs +7 -0
  309. package/esm2022/toast/toast/toast-template.component.mjs +30 -12
  310. package/esm2022/toast/toast/toast.component.mjs +6 -9
  311. package/esm2022/toast/toast-actions/toast-actions.directive.mjs +3 -2
  312. package/esm2022/toast/toast-message/toast-message.directive.mjs +3 -2
  313. package/esm2022/toast/toast-title/toast-title.directive.mjs +3 -2
  314. package/esm2022/toast/toast.module.mjs +10 -11
  315. package/esm2022/tree/examples/basic-tree/basic-tree.component.mjs +7 -4
  316. package/esm2022/tree/public_api.mjs +2 -2
  317. package/esm2022/tree/tree/tree.component.mjs +8 -5
  318. package/esm2022/tree/tree-item/tree-item.directive.mjs +3 -2
  319. package/esm2022/tree/tree.mjs +7 -0
  320. package/esm2022/tree/tree.module.mjs +9 -7
  321. package/fesm2022/daffodil-design-accordion-examples.mjs +7 -26
  322. package/fesm2022/daffodil-design-accordion-examples.mjs.map +1 -1
  323. package/fesm2022/daffodil-design-accordion.mjs +52 -41
  324. package/fesm2022/daffodil-design-accordion.mjs.map +1 -1
  325. package/fesm2022/daffodil-design-article-examples.mjs +41 -21
  326. package/fesm2022/daffodil-design-article-examples.mjs.map +1 -1
  327. package/fesm2022/daffodil-design-article.mjs +15 -9
  328. package/fesm2022/daffodil-design-article.mjs.map +1 -1
  329. package/fesm2022/daffodil-design-button-examples.mjs +27 -24
  330. package/fesm2022/daffodil-design-button-examples.mjs.map +1 -1
  331. package/fesm2022/daffodil-design-button.mjs +312 -135
  332. package/fesm2022/daffodil-design-button.mjs.map +1 -1
  333. package/fesm2022/daffodil-design-callout-examples.mjs +21 -21
  334. package/fesm2022/daffodil-design-callout-examples.mjs.map +1 -1
  335. package/fesm2022/daffodil-design-callout.mjs +27 -13
  336. package/fesm2022/daffodil-design-callout.mjs.map +1 -1
  337. package/fesm2022/daffodil-design-card-examples.mjs +23 -24
  338. package/fesm2022/daffodil-design-card-examples.mjs.map +1 -1
  339. package/fesm2022/daffodil-design-card.mjs +31 -13
  340. package/fesm2022/daffodil-design-card.mjs.map +1 -1
  341. package/fesm2022/daffodil-design-checkbox-examples.mjs +5 -6
  342. package/fesm2022/daffodil-design-checkbox-examples.mjs.map +1 -1
  343. package/fesm2022/daffodil-design-container-examples.mjs +3 -3
  344. package/fesm2022/daffodil-design-container-examples.mjs.map +1 -1
  345. package/fesm2022/daffodil-design-container.mjs +12 -6
  346. package/fesm2022/daffodil-design-container.mjs.map +1 -1
  347. package/fesm2022/daffodil-design-hero-examples.mjs +19 -20
  348. package/fesm2022/daffodil-design-hero-examples.mjs.map +1 -1
  349. package/fesm2022/daffodil-design-hero.mjs +29 -16
  350. package/fesm2022/daffodil-design-hero.mjs.map +1 -1
  351. package/fesm2022/daffodil-design-image-examples.mjs +14 -7
  352. package/fesm2022/daffodil-design-image-examples.mjs.map +1 -1
  353. package/fesm2022/daffodil-design-image.mjs +13 -7
  354. package/fesm2022/daffodil-design-image.mjs.map +1 -1
  355. package/fesm2022/daffodil-design-link-set.mjs +23 -11
  356. package/fesm2022/daffodil-design-link-set.mjs.map +1 -1
  357. package/fesm2022/daffodil-design-list-examples.mjs +14 -13
  358. package/fesm2022/daffodil-design-list-examples.mjs.map +1 -1
  359. package/fesm2022/daffodil-design-list.mjs +22 -14
  360. package/fesm2022/daffodil-design-list.mjs.map +1 -1
  361. package/fesm2022/daffodil-design-loading-icon-examples.mjs +3 -13
  362. package/fesm2022/daffodil-design-loading-icon-examples.mjs.map +1 -1
  363. package/fesm2022/daffodil-design-loading-icon.mjs +14 -23
  364. package/fesm2022/daffodil-design-loading-icon.mjs.map +1 -1
  365. package/fesm2022/daffodil-design-media-gallery-examples.mjs +17 -8
  366. package/fesm2022/daffodil-design-media-gallery-examples.mjs.map +1 -1
  367. package/fesm2022/daffodil-design-media-gallery.mjs +82 -59
  368. package/fesm2022/daffodil-design-media-gallery.mjs.map +1 -1
  369. package/fesm2022/daffodil-design-menu-examples.mjs +11 -6
  370. package/fesm2022/daffodil-design-menu-examples.mjs.map +1 -1
  371. package/fesm2022/daffodil-design-menu.mjs +55 -48
  372. package/fesm2022/daffodil-design-menu.mjs.map +1 -1
  373. package/fesm2022/daffodil-design-modal-examples.mjs +16 -7
  374. package/fesm2022/daffodil-design-modal-examples.mjs.map +1 -1
  375. package/fesm2022/daffodil-design-modal.mjs +95 -49
  376. package/fesm2022/daffodil-design-modal.mjs.map +1 -1
  377. package/fesm2022/daffodil-design-navbar-examples.mjs +22 -17
  378. package/fesm2022/daffodil-design-navbar-examples.mjs.map +1 -1
  379. package/fesm2022/daffodil-design-navbar.mjs +16 -9
  380. package/fesm2022/daffodil-design-navbar.mjs.map +1 -1
  381. package/fesm2022/daffodil-design-notification-examples.mjs +14 -18
  382. package/fesm2022/daffodil-design-notification-examples.mjs.map +1 -1
  383. package/fesm2022/daffodil-design-notification.mjs +39 -21
  384. package/fesm2022/daffodil-design-notification.mjs.map +1 -1
  385. package/fesm2022/daffodil-design-paginator-examples.mjs +5 -5
  386. package/fesm2022/daffodil-design-paginator-examples.mjs.map +1 -1
  387. package/fesm2022/daffodil-design-paginator.mjs +23 -16
  388. package/fesm2022/daffodil-design-paginator.mjs.map +1 -1
  389. package/fesm2022/daffodil-design-progress-bar-examples.mjs +14 -7
  390. package/fesm2022/daffodil-design-progress-bar-examples.mjs.map +1 -1
  391. package/fesm2022/daffodil-design-progress-bar.mjs +38 -8
  392. package/fesm2022/daffodil-design-progress-bar.mjs.map +1 -1
  393. package/fesm2022/daffodil-design-sidebar-examples.mjs +18 -14
  394. package/fesm2022/daffodil-design-sidebar-examples.mjs.map +1 -1
  395. package/fesm2022/daffodil-design-sidebar.mjs +94 -70
  396. package/fesm2022/daffodil-design-sidebar.mjs.map +1 -1
  397. package/fesm2022/daffodil-design-tabs-examples.mjs +93 -0
  398. package/fesm2022/daffodil-design-tabs-examples.mjs.map +1 -0
  399. package/fesm2022/daffodil-design-tabs.mjs +431 -0
  400. package/fesm2022/daffodil-design-tabs.mjs.map +1 -0
  401. package/fesm2022/daffodil-design-text-snippet-examples.mjs +25 -0
  402. package/fesm2022/daffodil-design-text-snippet-examples.mjs.map +1 -0
  403. package/fesm2022/daffodil-design-text-snippet.mjs +53 -0
  404. package/fesm2022/daffodil-design-text-snippet.mjs.map +1 -0
  405. package/fesm2022/daffodil-design-toast-examples.mjs +23 -13
  406. package/fesm2022/daffodil-design-toast-examples.mjs.map +1 -1
  407. package/fesm2022/daffodil-design-toast.mjs +152 -132
  408. package/fesm2022/daffodil-design-toast.mjs.map +1 -1
  409. package/fesm2022/daffodil-design-tree-examples.mjs +6 -3
  410. package/fesm2022/daffodil-design-tree-examples.mjs.map +1 -1
  411. package/fesm2022/daffodil-design-tree.mjs +23 -35
  412. package/fesm2022/daffodil-design-tree.mjs.map +1 -1
  413. package/fesm2022/daffodil-design.mjs +132 -8
  414. package/fesm2022/daffodil-design.mjs.map +1 -1
  415. package/hero/README.md +41 -0
  416. package/hero/hero/hero.component.d.ts +1 -4
  417. package/hero/hero-body/hero-body.directive.d.ts +1 -1
  418. package/hero/hero-icon/hero-icon.directive.d.ts +1 -1
  419. package/hero/hero-subtitle/hero-subtitle.directive.d.ts +1 -1
  420. package/hero/hero-tagline/hero-tagline.directive.d.ts +1 -1
  421. package/hero/hero-title/hero-title.directive.d.ts +1 -1
  422. package/hero/hero.d.ts +7 -0
  423. package/hero/hero.module.d.ts +11 -8
  424. package/hero/public_api.d.ts +1 -0
  425. package/image/README.md +47 -8
  426. package/image/image/image.component.d.ts +1 -1
  427. package/image/image.d.ts +2 -0
  428. package/image/image.module.d.ts +6 -3
  429. package/image/public_api.d.ts +1 -0
  430. package/link-set/README.md +43 -2
  431. package/link-set/link-set/link-set.component.d.ts +1 -1
  432. package/link-set/link-set-heading/link-set-heading.directive.d.ts +1 -1
  433. package/link-set/link-set-item/link-set-item.component.d.ts +1 -1
  434. package/link-set/link-set-subheading/link-set-subheading.directive.d.ts +1 -1
  435. package/link-set/link-set.d.ts +5 -0
  436. package/link-set/link-set.module.d.ts +9 -6
  437. package/link-set/public_api.d.ts +1 -0
  438. package/list/README.md +42 -1
  439. package/list/list/list.component.d.ts +1 -1
  440. package/list/list-item/list-item.component.d.ts +1 -1
  441. package/list/list.d.ts +4 -0
  442. package/list/list.module.d.ts +7 -4
  443. package/list/public_api.d.ts +1 -0
  444. package/loading-icon/README.md +39 -3
  445. package/loading-icon/examples/examples.d.ts +2 -2
  446. package/loading-icon/loading-icon/loading-icon.component.d.ts +1 -9
  447. package/loading-icon/loading-icon.d.ts +2 -0
  448. package/loading-icon/loading-icon.module.d.ts +6 -3
  449. package/loading-icon/public_api.d.ts +1 -0
  450. package/media-gallery/README.md +45 -1
  451. package/media-gallery/helpers/media-gallery-token.d.ts +1 -2
  452. package/media-gallery/media-gallery/media-gallery.component.d.ts +1 -1
  453. package/media-gallery/media-gallery.d.ts +4 -0
  454. package/media-gallery/media-gallery.module.d.ts +8 -5
  455. package/media-gallery/media-renderer/media-renderer.component.d.ts +1 -1
  456. package/media-gallery/public_api.d.ts +1 -0
  457. package/media-gallery/thumbnail/thumbnail-compat.token.d.ts +1 -5
  458. package/media-gallery/thumbnail/thumbnail.directive.d.ts +1 -1
  459. package/menu/README.md +23 -0
  460. package/menu/menu/menu.component.d.ts +1 -1
  461. package/menu/menu-activator/menu-activator.component.d.ts +1 -1
  462. package/menu/menu-item/menu-item.component.d.ts +1 -1
  463. package/menu/menu.module.d.ts +6 -6
  464. package/menu/services/menu.service.d.ts +3 -2
  465. package/modal/README.md +41 -0
  466. package/modal/modal/modal.component.d.ts +20 -8
  467. package/modal/modal-actions/modal-actions.component.d.ts +1 -1
  468. package/modal/modal-close/modal-close.directive.d.ts +1 -1
  469. package/modal/modal-content/modal-content.component.d.ts +1 -1
  470. package/modal/modal-header/modal-header.component.d.ts +1 -1
  471. package/modal/modal-title/modal-title.directive.d.ts +1 -1
  472. package/modal/modal.d.ts +6 -0
  473. package/modal/modal.module.d.ts +15 -12
  474. package/modal/public_api.d.ts +1 -0
  475. package/navbar/README.md +41 -0
  476. package/navbar/navbar/navbar.component.d.ts +1 -4
  477. package/navbar/navbar.d.ts +2 -0
  478. package/navbar/navbar.module.d.ts +6 -2
  479. package/navbar/public_api.d.ts +1 -0
  480. package/notification/README.md +43 -2
  481. package/notification/notification/notification.component.d.ts +2 -2
  482. package/notification/notification-actions/notification-actions.directive.d.ts +1 -1
  483. package/notification/notification-message/notification-message.directive.d.ts +1 -1
  484. package/notification/notification-subtitle/notification-subtitle.directive.d.ts +1 -1
  485. package/notification/notification-title/notification-title.directive.d.ts +1 -1
  486. package/notification/notification.d.ts +7 -0
  487. package/notification/notification.module.d.ts +12 -9
  488. package/notification/public_api.d.ts +1 -0
  489. package/notification/src/notification-theme.scss +17 -13
  490. package/package.json +1 -1
  491. package/paginator/README.md +45 -4
  492. package/paginator/paginator/paginator.component.d.ts +1 -4
  493. package/paginator/paginator.d.ts +2 -0
  494. package/paginator/paginator.module.d.ts +8 -5
  495. package/paginator/public_api.d.ts +1 -0
  496. package/progress-bar/README.md +41 -0
  497. package/progress-bar/progress-bar-label/progress-bar-label.directive.d.ts +6 -0
  498. package/progress-bar/progress-bar.component.d.ts +1 -1
  499. package/progress-bar/progress-bar.d.ts +3 -0
  500. package/progress-bar/progress-bar.module.d.ts +7 -3
  501. package/progress-bar/public_api.d.ts +2 -0
  502. package/scss/theme.scss +13 -1
  503. package/scss/theming/_configure-theme.scss +60 -2
  504. package/scss/theming/_theme-css-variables.scss +1 -1
  505. package/sidebar/README.md +78 -20
  506. package/sidebar/public_api.d.ts +1 -0
  507. package/sidebar/sidebar/sidebar.component.d.ts +19 -8
  508. package/sidebar/sidebar-footer/sidebar-footer.component.d.ts +1 -1
  509. package/sidebar/sidebar-header/sidebar-header-action/sidebar-header-action.directive.d.ts +1 -1
  510. package/sidebar/sidebar-header/sidebar-header-title/sidebar-header-title.directive.d.ts +1 -1
  511. package/sidebar/sidebar-header/sidebar-header.component.d.ts +1 -1
  512. package/sidebar/sidebar-viewport/scroll-token/scroll.token.d.ts +1 -7
  513. package/sidebar/sidebar-viewport/sidebar-viewport.component.d.ts +5 -17
  514. package/sidebar/sidebar-viewport/utils/content-pad.d.ts +2 -2
  515. package/sidebar/sidebar-viewport-backdrop/sidebar-viewport-backdrop.component.d.ts +1 -1
  516. package/sidebar/sidebar.d.ts +8 -0
  517. package/sidebar/sidebar.module.d.ts +13 -10
  518. package/tabs/README.md +19 -0
  519. package/tabs/examples/basic-tabs/basic-tabs.component.d.ts +6 -0
  520. package/tabs/examples/custom-select-tabs/custom-select-tabs.component.d.ts +11 -0
  521. package/tabs/examples/disabled-tabs/disabled-tabs.component.d.ts +6 -0
  522. package/tabs/examples/index.d.ts +1 -0
  523. package/tabs/examples/initially-select-tab/initially-select-tab.component.d.ts +6 -0
  524. package/tabs/examples/public_api.d.ts +2 -0
  525. package/tabs/index.d.ts +1 -0
  526. package/tabs/public_api.d.ts +5 -0
  527. package/tabs/src/tabs-theme.scss +22 -0
  528. package/tabs/tabs/tab/tab.component.d.ts +57 -0
  529. package/tabs/tabs/tab-activator/tab-activator.component.d.ts +37 -0
  530. package/tabs/tabs/tab-label/tab-label.component.d.ts +19 -0
  531. package/tabs/tabs/tab-panel/tab-panel.component.d.ts +38 -0
  532. package/tabs/tabs/tabs.component.d.ts +104 -0
  533. package/tabs/tabs.d.ts +6 -0
  534. package/text-snippet/README.md +2 -0
  535. package/text-snippet/examples/basic-text-snippet/basic-text-snippet.component.d.ts +5 -0
  536. package/text-snippet/examples/index.d.ts +1 -0
  537. package/text-snippet/examples/public_api.d.ts +2 -0
  538. package/text-snippet/index.d.ts +1 -0
  539. package/text-snippet/public_api.d.ts +1 -0
  540. package/text-snippet/text-snippet.component.d.ts +19 -0
  541. package/toast/README.md +109 -34
  542. package/toast/options/daff-toast-options.d.ts +1 -3
  543. package/toast/public_api.d.ts +1 -0
  544. package/toast/service/toast.service.d.ts +4 -3
  545. package/toast/src/toast-theme.scss +14 -10
  546. package/toast/toast/toast-provider.d.ts +2 -0
  547. package/toast/toast/toast-template.component.d.ts +1 -1
  548. package/toast/toast/toast.component.d.ts +1 -3
  549. package/toast/toast-actions/toast-actions.directive.d.ts +1 -1
  550. package/toast/toast-message/toast-message.directive.d.ts +1 -1
  551. package/toast/toast-title/toast-title.directive.d.ts +1 -1
  552. package/toast/toast.module.d.ts +14 -12
  553. package/tree/README.md +41 -0
  554. package/tree/public_api.d.ts +1 -2
  555. package/tree/tree/tree.component.d.ts +1 -1
  556. package/tree/tree-item/tree-item.directive.d.ts +1 -1
  557. package/tree/tree.d.ts +3 -0
  558. package/tree/tree.module.d.ts +7 -4
  559. package/accordion/examples/accordion-examples.module.d.ts +0 -9
  560. package/button/button/button.component.d.ts +0 -80
  561. package/button/src/button-theme-variants/button.scss +0 -26
  562. package/button/src/button-theme-variants/flat.scss +0 -25
  563. package/button/src/button-theme-variants/icon.scss +0 -21
  564. package/button/src/button-theme-variants/raised.scss +0 -36
  565. package/button/src/button-theme-variants/stroked.scss +0 -28
  566. package/button/src/button-theme-variants/underline.scss +0 -9
  567. package/button/src/button-theme.scss +0 -574
  568. package/esm2022/accordion/examples/accordion-examples.module.mjs +0 -26
  569. package/esm2022/button/button/button.component.mjs +0 -207
  570. package/esm2022/loading-icon/examples/loading-icon-diameter/loading-icon-diameter.component.mjs +0 -13
  571. package/esm2022/tree/utils/transform-in-place.mjs +0 -23
  572. package/loading-icon/examples/loading-icon-diameter/loading-icon-diameter.component.d.ts +0 -5
  573. package/tree/utils/transform-in-place.d.ts +0 -15
@@ -1,12 +1,11 @@
1
- import { coerceBooleanProperty } from '@angular/cdk/coercion';
1
+ import { CommonModule } from '@angular/common';
2
2
  import * as i0 from '@angular/core';
3
- import { Directive, Component, ViewEncapsulation, ChangeDetectionStrategy, HostBinding, Input, NgModule } from '@angular/core';
3
+ import { Directive, HostBinding, Input, Component, ViewEncapsulation, ChangeDetectionStrategy, NgModule } from '@angular/core';
4
4
  import * as i2 from '@daffodil/design';
5
5
  import { DaffSizableDirective, daffPrefixableMixin, daffSuffixableMixin, DaffArticleEncapsulatedDirective, DaffStatusableDirective, DaffColorableDirective, DaffPrefixSuffixModule } from '@daffodil/design';
6
- import * as i3 from '@angular/common';
7
- import { CommonModule } from '@angular/common';
8
- import * as i4 from '@daffodil/design/loading-icon';
9
- import { DaffLoadingIconModule } from '@daffodil/design/loading-icon';
6
+ import * as i1 from '@daffodil/design/loading-icon';
7
+ import { DAFF_LOADING_ICON_COMPONENTS } from '@daffodil/design/loading-icon';
8
+ import { coerceBooleanProperty } from '@angular/cdk/coercion';
10
9
 
11
10
  class DaffButtonSizableDirective extends DaffSizableDirective {
12
11
  /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: DaffButtonSizableDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
@@ -19,17 +18,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImpor
19
18
  }]
20
19
  }] });
21
20
 
22
- /**
23
- * List of classes to add to DaffButtonComponent instances based on host attributes to style as different variants.
24
- */
25
- const BUTTON_HOST_ATTRIBUTES = [
26
- 'daff-button',
27
- 'daff-stroked-button',
28
- 'daff-raised-button',
29
- 'daff-flat-button',
30
- 'daff-icon-button',
31
- 'daff-underline-button',
32
- ];
33
21
  /**
34
22
  * An _elementRef and an instance of renderer2 are needed for the button mixins
35
23
  */
@@ -40,32 +28,18 @@ class DaffButtonBase {
40
28
  }
41
29
  }
42
30
  const _daffButtonBase = daffPrefixableMixin(daffSuffixableMixin((DaffButtonBase)));
43
- var DaffButtonTypeEnum;
44
- (function (DaffButtonTypeEnum) {
45
- DaffButtonTypeEnum["Default"] = "daff-button";
46
- DaffButtonTypeEnum["Stroked"] = "daff-stroked-button";
47
- DaffButtonTypeEnum["Raised"] = "daff-raised-button";
48
- DaffButtonTypeEnum["Flat"] = "daff-flat-button";
49
- DaffButtonTypeEnum["Icon"] = "daff-icon-button";
50
- DaffButtonTypeEnum["Underline"] = "daff-underline-button";
51
- })(DaffButtonTypeEnum || (DaffButtonTypeEnum = {}));
52
- /**
53
- * @inheritdoc
54
- */
55
- class DaffButtonComponent extends _daffButtonBase {
31
+ class DaffButtonBaseDirective extends _daffButtonBase {
56
32
  constructor(elementRef, renderer, size) {
57
33
  super(elementRef, renderer);
58
34
  this.elementRef = elementRef;
59
35
  this.renderer = renderer;
60
36
  this.size = size;
61
37
  this.loading = false;
38
+ /**
39
+ * Set the `tabindex` to 0.
40
+ */
62
41
  this.tabindex = 0;
63
42
  this._disabled = false;
64
- for (const attr of BUTTON_HOST_ATTRIBUTES) {
65
- if (this._hasHostAttributes(attr)) {
66
- elementRef.nativeElement.classList.add(attr);
67
- }
68
- }
69
43
  /**
70
44
  * Sets the default size of a button to medium.
71
45
  */
@@ -74,49 +48,6 @@ class DaffButtonComponent extends _daffButtonBase {
74
48
  /**
75
49
  * @docs-private
76
50
  */
77
- ngOnInit() {
78
- for (const attr of BUTTON_HOST_ATTRIBUTES) {
79
- if (this._hasHostAttributes(attr)) {
80
- this.buttonType = attr;
81
- }
82
- }
83
- }
84
- /**
85
- * @docs-private
86
- */
87
- get button() {
88
- return this.buttonType === DaffButtonTypeEnum.Default || this.buttonType === undefined;
89
- }
90
- /**
91
- * @docs-private
92
- */
93
- get stroked() {
94
- return this.buttonType === DaffButtonTypeEnum.Stroked;
95
- }
96
- /**
97
- * @docs-private
98
- */
99
- get raised() {
100
- return this.buttonType === DaffButtonTypeEnum.Raised;
101
- }
102
- /**
103
- * @docs-private
104
- */
105
- get flat() {
106
- return this.buttonType === DaffButtonTypeEnum.Flat;
107
- }
108
- /**
109
- * @docs-private
110
- */
111
- get icon() {
112
- return this.buttonType === DaffButtonTypeEnum.Icon;
113
- }
114
- /**
115
- * @docs-private
116
- */
117
- get underline() {
118
- return this.buttonType === DaffButtonTypeEnum.Underline;
119
- }
120
51
  get disabledClass() {
121
52
  return this.disabled;
122
53
  }
@@ -135,36 +66,20 @@ class DaffButtonComponent extends _daffButtonBase {
135
66
  get ariaDisabled() {
136
67
  return this.disabled ? true : null;
137
68
  }
69
+ /**
70
+ * Set the `tabindex` to -1 if the button is disabled.
71
+ */
138
72
  get disabledTabIndex() {
139
73
  return this.disabled ? -1 : this.tabindex;
140
74
  }
141
- _getHostElement() {
142
- return this.elementRef.nativeElement;
143
- }
144
- /**
145
- * Gets whether the button has one of the given attributes.
146
- * */
147
- _hasHostAttributes(...attributes) {
148
- return attributes.some(attribute => this._getHostElement().hasAttribute(attribute));
149
- }
150
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: DaffButtonComponent, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: DaffButtonSizableDirective }], target: i0.ɵɵFactoryTarget.Component }); }
151
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.2", type: DaffButtonComponent, selector: "button[daff-button],button[daff-stroked-button],button[daff-raised-button],button[daff-flat-button],button[daff-icon-button],button[daff-underline-button],a[daff-button],a[daff-stroked-button],a[daff-raised-button],a[daff-flat-button],a[daff-icon-button],a[daff-underline-button]", inputs: { loading: "loading", tabindex: "tabindex", disabled: "disabled" }, host: { properties: { "class.daff-button": "this.button", "class.daff-stroked-button": "this.stroked", "class.daff-raised-button": "this.raised", "class.daff-flat-button": "this.flat", "class.daff-icon-button": "this.icon", "class.daff-underline-button": "this.underline", "class.daff-button--disabled": "this.disabledClass", "attr.disabled": "this.disabledAttribute", "attr.aria-disabled": "this.ariaDisabled", "attr.tabindex": "this.disabledTabIndex" } }, usesInheritance: true, hostDirectives: [{ directive: i2.DaffArticleEncapsulatedDirective }, { directive: DaffButtonSizableDirective, inputs: ["size", "size"] }, { directive: i2.DaffStatusableDirective, inputs: ["status", "status"] }, { directive: i2.DaffColorableDirective, inputs: ["color", "color"] }], ngImport: i0, template: "<ng-container *ngIf=\"_prefix\">\n <ng-content select=\"[daffPrefix]\"></ng-content>\n</ng-container>\n<span class=\"daff-button__content\" *ngIf=\"!loading\"><ng-content></ng-content></span>\n<daff-loading-icon *ngIf=\"loading\" [diameter]=\"24\"></daff-loading-icon>\n<ng-container *ngIf=\"_suffix\">\n <ng-content select=\"[daffSuffix]\"></ng-content>\n</ng-container>", styles: [".daff-button,.daff-raised-button,.daff-stroked-button,.daff-flat-button{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;display:inline-flex;justify-content:center;align-items:center;gap:8px;appearance:none;border:none;border-radius:4px;position:relative;text-align:center;text-decoration:none;min-width:96px}.daff-button[disabled],.daff-button.daff-button--disabled,.daff-raised-button[disabled],.daff-raised-button.daff-button--disabled,.daff-stroked-button[disabled],.daff-stroked-button.daff-button--disabled,.daff-flat-button[disabled],.daff-flat-button.daff-button--disabled{cursor:not-allowed}.daff-button[disabled]:hover:after,.daff-button.daff-button--disabled:hover:after,.daff-raised-button[disabled]:hover:after,.daff-raised-button.daff-button--disabled:hover:after,.daff-stroked-button[disabled]:hover:after,.daff-stroked-button.daff-button--disabled:hover:after,.daff-flat-button[disabled]:hover:after,.daff-flat-button.daff-button--disabled:hover:after{opacity:0}.daff-button .daff-button__content,.daff-button .daff-prefix,.daff-button .daff-suffix,.daff-raised-button .daff-button__content,.daff-raised-button .daff-prefix,.daff-raised-button .daff-suffix,.daff-stroked-button .daff-button__content,.daff-stroked-button .daff-prefix,.daff-stroked-button .daff-suffix,.daff-flat-button .daff-button__content,.daff-flat-button .daff-prefix,.daff-flat-button .daff-suffix{z-index:2}.daff-button.daff-sm,.daff-raised-button.daff-sm,.daff-stroked-button.daff-sm,.daff-flat-button.daff-sm{font-size:.875rem;line-height:2rem;height:2rem;padding:0 1rem}.daff-button.daff-md,.daff-raised-button.daff-md,.daff-stroked-button.daff-md,.daff-flat-button.daff-md{font-size:1rem;line-height:3rem;height:3rem;padding:0 1.5rem}.daff-button.daff-lg,.daff-raised-button.daff-lg,.daff-stroked-button.daff-lg,.daff-flat-button.daff-lg{font-size:1.25rem;line-height:3.5rem;height:3.5rem;padding:0 1.5rem}.daff-button:after,.daff-flat-button:after{content:\"\";border-radius:4px;position:absolute;width:100%;height:100%;opacity:0;transition:opacity .3s}.daff-button:hover:after,.daff-button:active:after,.daff-flat-button:hover:after,.daff-flat-button:active:after{opacity:1}.daff-raised-button:after{content:\"\";border-radius:0;position:absolute;width:100%;height:100%;opacity:0;transition:opacity .3s}.daff-raised-button:hover:after,.daff-raised-button:active:after{opacity:1}.daff-stroked-button:after{content:\"\";border-radius:3px;position:absolute;width:100%;height:100%;opacity:0;transition:opacity .3s}.daff-stroked-button:hover:after,.daff-stroked-button:active:after{opacity:1}.daff-flat-button{background:none;border:none}.daff-icon-button{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;display:inline-flex;justify-content:center;align-items:center;gap:8px;appearance:none;border:none;border-radius:4px;position:relative;text-align:center;text-decoration:none;background:none;border:0;padding:0}.daff-icon-button[disabled],.daff-icon-button.daff-button--disabled{cursor:not-allowed}.daff-icon-button[disabled]:hover:after,.daff-icon-button.daff-button--disabled:hover:after{opacity:0}.daff-icon-button .daff-button__content,.daff-icon-button .daff-prefix,.daff-icon-button .daff-suffix{z-index:2}.daff-icon-button.daff-sm{font-size:.875rem;line-height:2rem;height:2rem;width:2rem}.daff-icon-button.daff-md{font-size:1rem;line-height:3rem;height:3rem;width:3rem}.daff-icon-button.daff-lg{font-size:1.25rem;line-height:3.5rem;height:3.5rem;width:3.5rem}.daff-underline-button{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;display:inline-flex;justify-content:center;align-items:center;gap:8px;appearance:none;border:none;position:relative;text-align:center;background:transparent;border:0;border-radius:0;line-height:1.25rem;overflow:hidden;text-decoration:none;vertical-align:middle}.daff-underline-button[disabled]:hover:after,.daff-underline-button.daff-button--disabled:hover:after{opacity:0}.daff-underline-button .daff-button__content,.daff-underline-button .daff-prefix,.daff-underline-button .daff-suffix{z-index:2}.daff-underline-button[disabled],.daff-underline-button.daff-button--disabled{cursor:not-allowed}.daff-underline-button[disabled]:hover:after,.daff-underline-button[disabled]:active:after,.daff-underline-button.daff-button--disabled:hover:after,.daff-underline-button.daff-button--disabled:active:after{animation:none}.daff-underline-button:after{bottom:0;content:\"\";height:2px;left:0;opacity:1;position:absolute;width:100%}.daff-underline-button:hover:after{animation:none}@media (min-width: 1024px){.daff-underline-button:hover:after{animation:underline-button-hover .7s ease}}.daff-underline-button.daff-sm{font-size:.875rem;height:1.25rem;padding:0}.daff-underline-button.daff-md{font-size:1rem;height:1.5rem;padding:0 0 4px}.daff-underline-button.daff-lg{font-size:1.25rem;height:1.75rem;padding:0 0 8px}@keyframes underline-button-hover{0%{transform:translate(0)}50%{transform:translate(100%)}51%{transform:translate(-100%)}to{transform:translate(0)}}\n"], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.DaffLoadingIconComponent, selector: "daff-loading-icon", inputs: ["diameter"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
75
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: DaffButtonBaseDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: DaffButtonSizableDirective }], target: i0.ɵɵFactoryTarget.Directive }); }
76
+ /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.2", type: DaffButtonBaseDirective, isStandalone: true, selector: "[daffButtonBase]", inputs: { loading: "loading", tabindex: "tabindex", disabled: "disabled" }, host: { properties: { "class.disabled": "this.disabledClass", "attr.disabled": "this.disabledAttribute", "attr.aria-disabled": "this.ariaDisabled", "attr.tabindex": "this.disabledTabIndex" } }, usesInheritance: true, hostDirectives: [{ directive: i2.DaffArticleEncapsulatedDirective }, { directive: DaffButtonSizableDirective, inputs: ["size", "size"] }, { directive: i2.DaffStatusableDirective, inputs: ["status", "status"] }, { directive: i2.DaffColorableDirective, inputs: ["color", "color"] }], ngImport: i0 }); }
152
77
  }
153
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: DaffButtonComponent, decorators: [{
154
- type: Component,
155
- args: [{ selector: '' +
156
- 'button[daff-button]' + ',' +
157
- 'button[daff-stroked-button]' + ',' +
158
- 'button[daff-raised-button]' + ',' +
159
- 'button[daff-flat-button]' + ',' +
160
- 'button[daff-icon-button]' + ',' +
161
- 'button[daff-underline-button]' + ',' +
162
- 'a[daff-button]' + ',' +
163
- 'a[daff-stroked-button]' + ',' +
164
- 'a[daff-raised-button]' + ',' +
165
- 'a[daff-flat-button]' + ',' +
166
- 'a[daff-icon-button]' + ',' +
167
- 'a[daff-underline-button]', hostDirectives: [
78
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: DaffButtonBaseDirective, decorators: [{
79
+ type: Directive,
80
+ args: [{
81
+ selector: '[daffButtonBase]',
82
+ hostDirectives: [
168
83
  { directive: DaffArticleEncapsulatedDirective },
169
84
  {
170
85
  directive: DaffButtonSizableDirective,
@@ -178,28 +93,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImpor
178
93
  directive: DaffColorableDirective,
179
94
  inputs: ['color'],
180
95
  },
181
- ], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container *ngIf=\"_prefix\">\n <ng-content select=\"[daffPrefix]\"></ng-content>\n</ng-container>\n<span class=\"daff-button__content\" *ngIf=\"!loading\"><ng-content></ng-content></span>\n<daff-loading-icon *ngIf=\"loading\" [diameter]=\"24\"></daff-loading-icon>\n<ng-container *ngIf=\"_suffix\">\n <ng-content select=\"[daffSuffix]\"></ng-content>\n</ng-container>", styles: [".daff-button,.daff-raised-button,.daff-stroked-button,.daff-flat-button{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;display:inline-flex;justify-content:center;align-items:center;gap:8px;appearance:none;border:none;border-radius:4px;position:relative;text-align:center;text-decoration:none;min-width:96px}.daff-button[disabled],.daff-button.daff-button--disabled,.daff-raised-button[disabled],.daff-raised-button.daff-button--disabled,.daff-stroked-button[disabled],.daff-stroked-button.daff-button--disabled,.daff-flat-button[disabled],.daff-flat-button.daff-button--disabled{cursor:not-allowed}.daff-button[disabled]:hover:after,.daff-button.daff-button--disabled:hover:after,.daff-raised-button[disabled]:hover:after,.daff-raised-button.daff-button--disabled:hover:after,.daff-stroked-button[disabled]:hover:after,.daff-stroked-button.daff-button--disabled:hover:after,.daff-flat-button[disabled]:hover:after,.daff-flat-button.daff-button--disabled:hover:after{opacity:0}.daff-button .daff-button__content,.daff-button .daff-prefix,.daff-button .daff-suffix,.daff-raised-button .daff-button__content,.daff-raised-button .daff-prefix,.daff-raised-button .daff-suffix,.daff-stroked-button .daff-button__content,.daff-stroked-button .daff-prefix,.daff-stroked-button .daff-suffix,.daff-flat-button .daff-button__content,.daff-flat-button .daff-prefix,.daff-flat-button .daff-suffix{z-index:2}.daff-button.daff-sm,.daff-raised-button.daff-sm,.daff-stroked-button.daff-sm,.daff-flat-button.daff-sm{font-size:.875rem;line-height:2rem;height:2rem;padding:0 1rem}.daff-button.daff-md,.daff-raised-button.daff-md,.daff-stroked-button.daff-md,.daff-flat-button.daff-md{font-size:1rem;line-height:3rem;height:3rem;padding:0 1.5rem}.daff-button.daff-lg,.daff-raised-button.daff-lg,.daff-stroked-button.daff-lg,.daff-flat-button.daff-lg{font-size:1.25rem;line-height:3.5rem;height:3.5rem;padding:0 1.5rem}.daff-button:after,.daff-flat-button:after{content:\"\";border-radius:4px;position:absolute;width:100%;height:100%;opacity:0;transition:opacity .3s}.daff-button:hover:after,.daff-button:active:after,.daff-flat-button:hover:after,.daff-flat-button:active:after{opacity:1}.daff-raised-button:after{content:\"\";border-radius:0;position:absolute;width:100%;height:100%;opacity:0;transition:opacity .3s}.daff-raised-button:hover:after,.daff-raised-button:active:after{opacity:1}.daff-stroked-button:after{content:\"\";border-radius:3px;position:absolute;width:100%;height:100%;opacity:0;transition:opacity .3s}.daff-stroked-button:hover:after,.daff-stroked-button:active:after{opacity:1}.daff-flat-button{background:none;border:none}.daff-icon-button{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;display:inline-flex;justify-content:center;align-items:center;gap:8px;appearance:none;border:none;border-radius:4px;position:relative;text-align:center;text-decoration:none;background:none;border:0;padding:0}.daff-icon-button[disabled],.daff-icon-button.daff-button--disabled{cursor:not-allowed}.daff-icon-button[disabled]:hover:after,.daff-icon-button.daff-button--disabled:hover:after{opacity:0}.daff-icon-button .daff-button__content,.daff-icon-button .daff-prefix,.daff-icon-button .daff-suffix{z-index:2}.daff-icon-button.daff-sm{font-size:.875rem;line-height:2rem;height:2rem;width:2rem}.daff-icon-button.daff-md{font-size:1rem;line-height:3rem;height:3rem;width:3rem}.daff-icon-button.daff-lg{font-size:1.25rem;line-height:3.5rem;height:3.5rem;width:3.5rem}.daff-underline-button{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;display:inline-flex;justify-content:center;align-items:center;gap:8px;appearance:none;border:none;position:relative;text-align:center;background:transparent;border:0;border-radius:0;line-height:1.25rem;overflow:hidden;text-decoration:none;vertical-align:middle}.daff-underline-button[disabled]:hover:after,.daff-underline-button.daff-button--disabled:hover:after{opacity:0}.daff-underline-button .daff-button__content,.daff-underline-button .daff-prefix,.daff-underline-button .daff-suffix{z-index:2}.daff-underline-button[disabled],.daff-underline-button.daff-button--disabled{cursor:not-allowed}.daff-underline-button[disabled]:hover:after,.daff-underline-button[disabled]:active:after,.daff-underline-button.daff-button--disabled:hover:after,.daff-underline-button.daff-button--disabled:active:after{animation:none}.daff-underline-button:after{bottom:0;content:\"\";height:2px;left:0;opacity:1;position:absolute;width:100%}.daff-underline-button:hover:after{animation:none}@media (min-width: 1024px){.daff-underline-button:hover:after{animation:underline-button-hover .7s ease}}.daff-underline-button.daff-sm{font-size:.875rem;height:1.25rem;padding:0}.daff-underline-button.daff-md{font-size:1rem;height:1.5rem;padding:0 0 4px}.daff-underline-button.daff-lg{font-size:1.25rem;height:1.75rem;padding:0 0 8px}@keyframes underline-button-hover{0%{transform:translate(0)}50%{transform:translate(100%)}51%{transform:translate(-100%)}to{transform:translate(0)}}\n"] }]
182
- }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.Renderer2 }, { type: DaffButtonSizableDirective }], propDecorators: { button: [{
183
- type: HostBinding,
184
- args: ['class.daff-button']
185
- }], stroked: [{
186
- type: HostBinding,
187
- args: ['class.daff-stroked-button']
188
- }], raised: [{
189
- type: HostBinding,
190
- args: ['class.daff-raised-button']
191
- }], flat: [{
192
- type: HostBinding,
193
- args: ['class.daff-flat-button']
194
- }], icon: [{
195
- type: HostBinding,
196
- args: ['class.daff-icon-button']
197
- }], underline: [{
198
- type: HostBinding,
199
- args: ['class.daff-underline-button']
200
- }], disabledClass: [{
96
+ ],
97
+ standalone: true,
98
+ }]
99
+ }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.Renderer2 }, { type: DaffButtonSizableDirective }], propDecorators: { disabledClass: [{
201
100
  type: HostBinding,
202
- args: ['class.daff-button--disabled']
101
+ args: ['class.disabled']
203
102
  }], loading: [{
204
103
  type: Input
205
104
  }], tabindex: [{
@@ -217,37 +116,315 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImpor
217
116
  args: ['attr.tabindex']
218
117
  }] } });
219
118
 
119
+ /**
120
+ * DaffButtonComponent is a rectangular contained button with background color.
121
+ *
122
+ * ## Usage
123
+ * ```html
124
+ * <button daff-button>
125
+ * <div daffPrefix></div>
126
+ * Button
127
+ * <div daffSuffix></div>
128
+ * </button>
129
+ *
130
+ * <a href="/" daff-button>
131
+ * <div daffPrefix></div>
132
+ * Linked button
133
+ * <div daffSuffix></div>
134
+ * </a>
135
+ * ```
136
+ */
137
+ class DaffButtonComponent extends DaffButtonBaseDirective {
138
+ constructor() {
139
+ super(...arguments);
140
+ /**
141
+ * @docs-private
142
+ */
143
+ this.class = true;
144
+ }
145
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: DaffButtonComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
146
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.2", type: DaffButtonComponent, isStandalone: true, selector: "button[daff-button],a[daff-button]", host: { properties: { "class.daff-button": "this.class" } }, usesInheritance: true, ngImport: i0, template: "@if (_prefix) {\n <ng-content select=\"[daffPrefix]\"></ng-content>\n}\n@if (loading) {\n <daff-loading-icon class=\"daff-button__loading\"></daff-loading-icon>\n} @else {\n <span class=\"daff-button__content\"><ng-content></ng-content></span>\n}\n@if (_suffix) {\n <ng-content select=\"[daffSuffix]\"></ng-content>\n}", styles: [".daff-button{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;display:inline-flex;justify-content:center;align-items:center;gap:.5rem;appearance:none;border:none;border-radius:.25rem;position:relative;text-align:center;text-decoration:none;min-width:96px}.daff-button[disabled],.daff-button.disabled{cursor:not-allowed}.daff-button .daff-button__content,.daff-button .daff-prefix,.daff-button .daff-suffix{z-index:2}.daff-button .daff-button__loading{max-width:1.5rem}.daff-button .daff-button__content{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.daff-button:after{content:\"\";border-radius:4px;position:absolute;width:100%;height:100%;opacity:0;transition:opacity .3s}.daff-button:hover:after,.daff-button:active:after{opacity:1}.daff-button.daff-sm{font-size:.875rem;line-height:2rem;height:2rem;padding:0 1rem}.daff-button.daff-md{font-size:1rem;line-height:3rem;height:3rem;padding:0 1.5rem}.daff-button.daff-lg{font-size:1.25rem;line-height:3.5rem;height:3.5rem;padding:0 1.5rem}\n"], dependencies: [{ kind: "ngmodule", type: DaffPrefixSuffixModule }, { kind: "component", type: i1.DaffLoadingIconComponent, selector: "daff-loading-icon" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
147
+ }
148
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: DaffButtonComponent, decorators: [{
149
+ type: Component,
150
+ args: [{ selector: '' +
151
+ 'button[daff-button]' + ',' +
152
+ 'a[daff-button]', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
153
+ DaffPrefixSuffixModule,
154
+ DAFF_LOADING_ICON_COMPONENTS,
155
+ ], template: "@if (_prefix) {\n <ng-content select=\"[daffPrefix]\"></ng-content>\n}\n@if (loading) {\n <daff-loading-icon class=\"daff-button__loading\"></daff-loading-icon>\n} @else {\n <span class=\"daff-button__content\"><ng-content></ng-content></span>\n}\n@if (_suffix) {\n <ng-content select=\"[daffSuffix]\"></ng-content>\n}", styles: [".daff-button{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;display:inline-flex;justify-content:center;align-items:center;gap:.5rem;appearance:none;border:none;border-radius:.25rem;position:relative;text-align:center;text-decoration:none;min-width:96px}.daff-button[disabled],.daff-button.disabled{cursor:not-allowed}.daff-button .daff-button__content,.daff-button .daff-prefix,.daff-button .daff-suffix{z-index:2}.daff-button .daff-button__loading{max-width:1.5rem}.daff-button .daff-button__content{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.daff-button:after{content:\"\";border-radius:4px;position:absolute;width:100%;height:100%;opacity:0;transition:opacity .3s}.daff-button:hover:after,.daff-button:active:after{opacity:1}.daff-button.daff-sm{font-size:.875rem;line-height:2rem;height:2rem;padding:0 1rem}.daff-button.daff-md{font-size:1rem;line-height:3rem;height:3rem;padding:0 1.5rem}.daff-button.daff-lg{font-size:1.25rem;line-height:3.5rem;height:3.5rem;padding:0 1.5rem}\n"] }]
156
+ }], propDecorators: { class: [{
157
+ type: HostBinding,
158
+ args: ['class.daff-button']
159
+ }] } });
160
+
161
+ /**
162
+ * DaffFlatButtonComponent is a rectangular contained button no background.
163
+ *
164
+ * ## Usage
165
+ * ```html
166
+ * <button daff-flat-button>
167
+ * <div daffPrefix></div>
168
+ * Flat Button
169
+ * <div daffSuffix></div>
170
+ * </button>
171
+ *
172
+ * <a href="/" daff-flat-button>
173
+ * <div daffPrefix></div>
174
+ * Linked flat button
175
+ * <div daffSuffix></div>
176
+ * </a>
177
+ * ```
178
+ */
179
+ class DaffFlatButtonComponent extends DaffButtonBaseDirective {
180
+ constructor() {
181
+ super(...arguments);
182
+ /**
183
+ * @docs-private
184
+ */
185
+ this.class = true;
186
+ }
187
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: DaffFlatButtonComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
188
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.2", type: DaffFlatButtonComponent, isStandalone: true, selector: "button[daff-flat-button],a[daff-flat-button]", host: { properties: { "class.daff-flat-button": "this.class" } }, usesInheritance: true, ngImport: i0, template: "@if (_prefix) {\n <ng-content select=\"[daffPrefix]\"></ng-content>\n}\n@if (loading) {\n <daff-loading-icon class=\"daff-button__loading\"></daff-loading-icon>\n} @else {\n <span class=\"daff-button__content\"><ng-content></ng-content></span>\n}\n@if (_suffix) {\n <ng-content select=\"[daffSuffix]\"></ng-content>\n}", styles: [".daff-flat-button{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;display:inline-flex;justify-content:center;align-items:center;gap:.5rem;appearance:none;border-radius:.25rem;position:relative;text-align:center;text-decoration:none;min-width:96px;background:none;border:none}.daff-flat-button[disabled],.daff-flat-button.disabled{cursor:not-allowed}.daff-flat-button .daff-button__content,.daff-flat-button .daff-prefix,.daff-flat-button .daff-suffix{z-index:2}.daff-flat-button .daff-button__loading{max-width:1.5rem}.daff-flat-button .daff-button__content{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.daff-flat-button:after{content:\"\";border-radius:4px;position:absolute;width:100%;height:100%;opacity:0;transition:opacity .3s}.daff-flat-button:hover:after,.daff-flat-button:active:after{opacity:1}.daff-flat-button.daff-sm{font-size:.875rem;line-height:2rem;height:2rem;padding:0 1rem}.daff-flat-button.daff-md{font-size:1rem;line-height:3rem;height:3rem;padding:0 1.5rem}.daff-flat-button.daff-lg{font-size:1.25rem;line-height:3.5rem;height:3.5rem;padding:0 1.5rem}\n"], dependencies: [{ kind: "ngmodule", type: DaffPrefixSuffixModule }, { kind: "component", type: i1.DaffLoadingIconComponent, selector: "daff-loading-icon" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
189
+ }
190
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: DaffFlatButtonComponent, decorators: [{
191
+ type: Component,
192
+ args: [{ selector: '' +
193
+ 'button[daff-flat-button]' + ',' +
194
+ 'a[daff-flat-button]', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
195
+ DaffPrefixSuffixModule,
196
+ DAFF_LOADING_ICON_COMPONENTS,
197
+ ], template: "@if (_prefix) {\n <ng-content select=\"[daffPrefix]\"></ng-content>\n}\n@if (loading) {\n <daff-loading-icon class=\"daff-button__loading\"></daff-loading-icon>\n} @else {\n <span class=\"daff-button__content\"><ng-content></ng-content></span>\n}\n@if (_suffix) {\n <ng-content select=\"[daffSuffix]\"></ng-content>\n}", styles: [".daff-flat-button{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;display:inline-flex;justify-content:center;align-items:center;gap:.5rem;appearance:none;border-radius:.25rem;position:relative;text-align:center;text-decoration:none;min-width:96px;background:none;border:none}.daff-flat-button[disabled],.daff-flat-button.disabled{cursor:not-allowed}.daff-flat-button .daff-button__content,.daff-flat-button .daff-prefix,.daff-flat-button .daff-suffix{z-index:2}.daff-flat-button .daff-button__loading{max-width:1.5rem}.daff-flat-button .daff-button__content{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.daff-flat-button:after{content:\"\";border-radius:4px;position:absolute;width:100%;height:100%;opacity:0;transition:opacity .3s}.daff-flat-button:hover:after,.daff-flat-button:active:after{opacity:1}.daff-flat-button.daff-sm{font-size:.875rem;line-height:2rem;height:2rem;padding:0 1rem}.daff-flat-button.daff-md{font-size:1rem;line-height:3rem;height:3rem;padding:0 1.5rem}.daff-flat-button.daff-lg{font-size:1.25rem;line-height:3.5rem;height:3.5rem;padding:0 1.5rem}\n"] }]
198
+ }], propDecorators: { class: [{
199
+ type: HostBinding,
200
+ args: ['class.daff-flat-button']
201
+ }] } });
202
+
203
+ /**
204
+ * DaffIconButtonComponent is an icon button used with icon fonts.
205
+ *
206
+ * ## Usage
207
+ * ```html
208
+ * <button daff-icon-button>
209
+ * <fa-icon [icon]="faPlus"></fa-icon>
210
+ * </button>
211
+ *
212
+ * <a href="/" daff-icon-button>
213
+ * <fa-icon [icon]="faPlus"></fa-icon>
214
+ * </a>
215
+ * ```
216
+ */
217
+ class DaffIconButtonComponent extends DaffButtonBaseDirective {
218
+ constructor() {
219
+ super(...arguments);
220
+ /**
221
+ * @docs-private
222
+ */
223
+ this.class = true;
224
+ }
225
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: DaffIconButtonComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
226
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.2", type: DaffIconButtonComponent, isStandalone: true, selector: "button[daff-icon-button],a[daff-icon-button]", host: { properties: { "class.daff-icon-button": "this.class" } }, usesInheritance: true, ngImport: i0, template: "@if (_prefix) {\n <ng-content select=\"[daffPrefix]\"></ng-content>\n}\n@if (loading) {\n <daff-loading-icon class=\"daff-button__loading\"></daff-loading-icon>\n} @else {\n <span class=\"daff-button__content\"><ng-content></ng-content></span>\n}\n@if (_suffix) {\n <ng-content select=\"[daffSuffix]\"></ng-content>\n}", styles: [".daff-icon-button{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;display:inline-flex;justify-content:center;align-items:center;gap:.5rem;appearance:none;border:none;border-radius:.25rem;position:relative;text-align:center;text-decoration:none;background:none;border:0;padding:0}.daff-icon-button[disabled],.daff-icon-button.disabled{cursor:not-allowed}.daff-icon-button .daff-button__content,.daff-icon-button .daff-prefix,.daff-icon-button .daff-suffix{z-index:2}.daff-icon-button .daff-button__loading{max-width:1.5rem}.daff-icon-button .daff-button__content{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.daff-icon-button.daff-sm{font-size:.875rem;line-height:2rem;height:2rem;width:2rem}.daff-icon-button.daff-md{font-size:1rem;line-height:3rem;height:3rem;width:3rem}.daff-icon-button.daff-lg{font-size:1.25rem;line-height:3.5rem;height:3.5rem;width:3.5rem}\n"], dependencies: [{ kind: "ngmodule", type: DaffPrefixSuffixModule }, { kind: "component", type: i1.DaffLoadingIconComponent, selector: "daff-loading-icon" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
227
+ }
228
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: DaffIconButtonComponent, decorators: [{
229
+ type: Component,
230
+ args: [{ selector: '' +
231
+ 'button[daff-icon-button]' + ',' +
232
+ 'a[daff-icon-button]', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
233
+ DaffPrefixSuffixModule,
234
+ DAFF_LOADING_ICON_COMPONENTS,
235
+ ], template: "@if (_prefix) {\n <ng-content select=\"[daffPrefix]\"></ng-content>\n}\n@if (loading) {\n <daff-loading-icon class=\"daff-button__loading\"></daff-loading-icon>\n} @else {\n <span class=\"daff-button__content\"><ng-content></ng-content></span>\n}\n@if (_suffix) {\n <ng-content select=\"[daffSuffix]\"></ng-content>\n}", styles: [".daff-icon-button{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;display:inline-flex;justify-content:center;align-items:center;gap:.5rem;appearance:none;border:none;border-radius:.25rem;position:relative;text-align:center;text-decoration:none;background:none;border:0;padding:0}.daff-icon-button[disabled],.daff-icon-button.disabled{cursor:not-allowed}.daff-icon-button .daff-button__content,.daff-icon-button .daff-prefix,.daff-icon-button .daff-suffix{z-index:2}.daff-icon-button .daff-button__loading{max-width:1.5rem}.daff-icon-button .daff-button__content{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.daff-icon-button.daff-sm{font-size:.875rem;line-height:2rem;height:2rem;width:2rem}.daff-icon-button.daff-md{font-size:1rem;line-height:3rem;height:3rem;width:3rem}.daff-icon-button.daff-lg{font-size:1.25rem;line-height:3.5rem;height:3.5rem;width:3.5rem}\n"] }]
236
+ }], propDecorators: { class: [{
237
+ type: HostBinding,
238
+ args: ['class.daff-icon-button']
239
+ }] } });
240
+
241
+ /**
242
+ * DaffRaisedButtonComponent is a rectangular contained button with background color and elevation.
243
+ *
244
+ * ## Usage
245
+ * ```html
246
+ * <button daff-raised-button>
247
+ * <div daffPrefix></div>
248
+ * Raised Button
249
+ * <div daffSuffix></div>
250
+ * </button>
251
+ *
252
+ * <a href="/" daff-raised-button>
253
+ * <div daffPrefix></div>
254
+ * Linked raised button
255
+ * <div daffSuffix></div>
256
+ * </a>
257
+ * ```
258
+ */
259
+ class DaffRaisedButtonComponent extends DaffButtonBaseDirective {
260
+ constructor() {
261
+ super(...arguments);
262
+ /**
263
+ * @docs-private
264
+ */
265
+ this.class = true;
266
+ }
267
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: DaffRaisedButtonComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
268
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.2", type: DaffRaisedButtonComponent, isStandalone: true, selector: "button[daff-raised-button],a[daff-raised-button]", host: { properties: { "class.daff-raised-button": "this.class" } }, usesInheritance: true, ngImport: i0, template: "@if (_prefix) {\n <ng-content select=\"[daffPrefix]\"></ng-content>\n}\n@if (loading) {\n <daff-loading-icon class=\"daff-button__loading\"></daff-loading-icon>\n} @else {\n <span class=\"daff-button__content\"><ng-content></ng-content></span>\n}\n@if (_suffix) {\n <ng-content select=\"[daffSuffix]\"></ng-content>\n}", styles: [".daff-raised-button{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;display:inline-flex;justify-content:center;align-items:center;gap:.5rem;appearance:none;border:none;border-radius:.25rem;position:relative;text-align:center;text-decoration:none;min-width:96px}.daff-raised-button[disabled],.daff-raised-button.disabled{cursor:not-allowed}.daff-raised-button .daff-button__content,.daff-raised-button .daff-prefix,.daff-raised-button .daff-suffix{z-index:2}.daff-raised-button .daff-button__loading{max-width:1.5rem}.daff-raised-button .daff-button__content{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.daff-raised-button:after{content:\"\";border-radius:0;position:absolute;width:100%;height:100%;opacity:0;transition:opacity .3s}.daff-raised-button:hover:after,.daff-raised-button:active:after{opacity:1}.daff-raised-button.daff-sm{font-size:.875rem;line-height:2rem;height:2rem;padding:0 1rem}.daff-raised-button.daff-md{font-size:1rem;line-height:3rem;height:3rem;padding:0 1.5rem}.daff-raised-button.daff-lg{font-size:1.25rem;line-height:3.5rem;height:3.5rem;padding:0 1.5rem}\n"], dependencies: [{ kind: "ngmodule", type: DaffPrefixSuffixModule }, { kind: "component", type: i1.DaffLoadingIconComponent, selector: "daff-loading-icon" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
269
+ }
270
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: DaffRaisedButtonComponent, decorators: [{
271
+ type: Component,
272
+ args: [{ selector: '' +
273
+ 'button[daff-raised-button]' + ',' +
274
+ 'a[daff-raised-button]', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
275
+ DaffPrefixSuffixModule,
276
+ DAFF_LOADING_ICON_COMPONENTS,
277
+ ], template: "@if (_prefix) {\n <ng-content select=\"[daffPrefix]\"></ng-content>\n}\n@if (loading) {\n <daff-loading-icon class=\"daff-button__loading\"></daff-loading-icon>\n} @else {\n <span class=\"daff-button__content\"><ng-content></ng-content></span>\n}\n@if (_suffix) {\n <ng-content select=\"[daffSuffix]\"></ng-content>\n}", styles: [".daff-raised-button{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;display:inline-flex;justify-content:center;align-items:center;gap:.5rem;appearance:none;border:none;border-radius:.25rem;position:relative;text-align:center;text-decoration:none;min-width:96px}.daff-raised-button[disabled],.daff-raised-button.disabled{cursor:not-allowed}.daff-raised-button .daff-button__content,.daff-raised-button .daff-prefix,.daff-raised-button .daff-suffix{z-index:2}.daff-raised-button .daff-button__loading{max-width:1.5rem}.daff-raised-button .daff-button__content{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.daff-raised-button:after{content:\"\";border-radius:0;position:absolute;width:100%;height:100%;opacity:0;transition:opacity .3s}.daff-raised-button:hover:after,.daff-raised-button:active:after{opacity:1}.daff-raised-button.daff-sm{font-size:.875rem;line-height:2rem;height:2rem;padding:0 1rem}.daff-raised-button.daff-md{font-size:1rem;line-height:3rem;height:3rem;padding:0 1.5rem}.daff-raised-button.daff-lg{font-size:1.25rem;line-height:3.5rem;height:3.5rem;padding:0 1.5rem}\n"] }]
278
+ }], propDecorators: { class: [{
279
+ type: HostBinding,
280
+ args: ['class.daff-raised-button']
281
+ }] } });
282
+
283
+ /**
284
+ * DaffStrokedButtonComponent is a rectangular outlined button with no background color.
285
+ *
286
+ * ## Usage
287
+ * ```html
288
+ * <button daff-stroked-button>
289
+ * <div daffPrefix></div>
290
+ * Stroked Button
291
+ * <div daffSuffix></div>
292
+ * </button>
293
+ *
294
+ * <a href="/" daff-stroked-button>
295
+ * <div daffPrefix></div>
296
+ * Linked stroked button
297
+ * <div daffSuffix></div>
298
+ * </a>
299
+ * ```
300
+ */
301
+ class DaffStrokedButtonComponent extends DaffButtonBaseDirective {
302
+ constructor() {
303
+ super(...arguments);
304
+ /**
305
+ * @docs-private
306
+ */
307
+ this.class = true;
308
+ }
309
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: DaffStrokedButtonComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
310
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.2", type: DaffStrokedButtonComponent, isStandalone: true, selector: "button[daff-stroked-button],a[daff-stroked-button]", host: { properties: { "class.daff-stroked-button": "this.class" } }, usesInheritance: true, ngImport: i0, template: "@if (_prefix) {\n <ng-content select=\"[daffPrefix]\"></ng-content>\n}\n@if (loading) {\n <daff-loading-icon class=\"daff-button__loading\"></daff-loading-icon>\n} @else {\n <span class=\"daff-button__content\"><ng-content></ng-content></span>\n}\n@if (_suffix) {\n <ng-content select=\"[daffSuffix]\"></ng-content>\n}", styles: [".daff-stroked-button{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;display:inline-flex;justify-content:center;align-items:center;gap:.5rem;appearance:none;border:none;border-radius:.25rem;position:relative;text-align:center;text-decoration:none;min-width:96px}.daff-stroked-button[disabled],.daff-stroked-button.disabled{cursor:not-allowed}.daff-stroked-button .daff-button__content,.daff-stroked-button .daff-prefix,.daff-stroked-button .daff-suffix{z-index:2}.daff-stroked-button .daff-button__loading{max-width:1.5rem}.daff-stroked-button .daff-button__content{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.daff-stroked-button:after{content:\"\";border-radius:3px;position:absolute;width:100%;height:100%;opacity:0;transition:opacity .3s}.daff-stroked-button:hover:after,.daff-stroked-button:active:after{opacity:1}.daff-stroked-button.daff-sm{font-size:.875rem;line-height:2rem;height:2rem;padding:0 1rem}.daff-stroked-button.daff-md{font-size:1rem;line-height:3rem;height:3rem;padding:0 1.5rem}.daff-stroked-button.daff-lg{font-size:1.25rem;line-height:3.5rem;height:3.5rem;padding:0 1.5rem}\n"], dependencies: [{ kind: "ngmodule", type: DaffPrefixSuffixModule }, { kind: "component", type: i1.DaffLoadingIconComponent, selector: "daff-loading-icon" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
311
+ }
312
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: DaffStrokedButtonComponent, decorators: [{
313
+ type: Component,
314
+ args: [{ selector: '' +
315
+ 'button[daff-stroked-button]' + ',' +
316
+ 'a[daff-stroked-button]', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
317
+ DaffPrefixSuffixModule,
318
+ DAFF_LOADING_ICON_COMPONENTS,
319
+ ], template: "@if (_prefix) {\n <ng-content select=\"[daffPrefix]\"></ng-content>\n}\n@if (loading) {\n <daff-loading-icon class=\"daff-button__loading\"></daff-loading-icon>\n} @else {\n <span class=\"daff-button__content\"><ng-content></ng-content></span>\n}\n@if (_suffix) {\n <ng-content select=\"[daffSuffix]\"></ng-content>\n}", styles: [".daff-stroked-button{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;display:inline-flex;justify-content:center;align-items:center;gap:.5rem;appearance:none;border:none;border-radius:.25rem;position:relative;text-align:center;text-decoration:none;min-width:96px}.daff-stroked-button[disabled],.daff-stroked-button.disabled{cursor:not-allowed}.daff-stroked-button .daff-button__content,.daff-stroked-button .daff-prefix,.daff-stroked-button .daff-suffix{z-index:2}.daff-stroked-button .daff-button__loading{max-width:1.5rem}.daff-stroked-button .daff-button__content{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.daff-stroked-button:after{content:\"\";border-radius:3px;position:absolute;width:100%;height:100%;opacity:0;transition:opacity .3s}.daff-stroked-button:hover:after,.daff-stroked-button:active:after{opacity:1}.daff-stroked-button.daff-sm{font-size:.875rem;line-height:2rem;height:2rem;padding:0 1rem}.daff-stroked-button.daff-md{font-size:1rem;line-height:3rem;height:3rem;padding:0 1.5rem}.daff-stroked-button.daff-lg{font-size:1.25rem;line-height:3.5rem;height:3.5rem;padding:0 1.5rem}\n"] }]
320
+ }], propDecorators: { class: [{
321
+ type: HostBinding,
322
+ args: ['class.daff-stroked-button']
323
+ }] } });
324
+
325
+ /**
326
+ * DaffUnderlineButtonComponent is a borderless button with a custom underline style.
327
+ *
328
+ * ## Usage
329
+ * ```html
330
+ * <button daff-underline-button>
331
+ * <div daffPrefix></div>
332
+ * Underline Button
333
+ * <div daffSuffix></div>
334
+ * </button>
335
+ *
336
+ * <a href="/" daff-underline-button>
337
+ * <div daffPrefix></div>
338
+ * Linked underline button
339
+ * <div daffSuffix></div>
340
+ * </a>
341
+ * ```
342
+ */
343
+ class DaffUnderlineButtonComponent extends DaffButtonBaseDirective {
344
+ constructor() {
345
+ super(...arguments);
346
+ /**
347
+ * @docs-private
348
+ */
349
+ this.class = true;
350
+ }
351
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: DaffUnderlineButtonComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
352
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.2", type: DaffUnderlineButtonComponent, isStandalone: true, selector: "button[daff-underline-button],a[daff-underline-button]", host: { properties: { "class.daff-underline-button": "this.class" } }, usesInheritance: true, ngImport: i0, template: "@if (_prefix) {\n <ng-content select=\"[daffPrefix]\"></ng-content>\n}\n@if (loading) {\n <daff-loading-icon class=\"daff-button__loading\"></daff-loading-icon>\n} @else {\n <span class=\"daff-button__content\"><ng-content></ng-content></span>\n}\n@if (_suffix) {\n <ng-content select=\"[daffSuffix]\"></ng-content>\n}", styles: [".daff-underline-button{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;display:inline-flex;justify-content:center;align-items:center;gap:.5rem;appearance:none;border:none;border-radius:.25rem;position:relative;text-align:center;background:transparent;border:0;border-radius:0;line-height:1.25rem;overflow:hidden;text-decoration:none;vertical-align:middle}.daff-underline-button .daff-button__content,.daff-underline-button .daff-prefix,.daff-underline-button .daff-suffix{z-index:2}.daff-underline-button .daff-button__loading{max-width:1.5rem}.daff-underline-button .daff-button__content{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.daff-underline-button[disabled],.daff-underline-button.disabled{cursor:not-allowed}.daff-underline-button[disabled]:hover:after,.daff-underline-button[disabled]:active:after,.daff-underline-button.disabled:hover:after,.daff-underline-button.disabled:active:after{animation:none}.daff-underline-button:after{bottom:0;content:\"\";height:2px;left:0;opacity:1;position:absolute;width:100%}.daff-underline-button:hover:after{animation:none}@media (min-width: 1024px){.daff-underline-button:hover:after{animation:underline-button-hover .7s ease}}.daff-underline-button.daff-sm{font-size:.875rem;height:1.25rem;padding:0}.daff-underline-button.daff-md{font-size:1rem;height:1.5rem;padding:0 0 4px}.daff-underline-button.daff-lg{font-size:1.25rem;height:1.75rem;padding:0 0 8px}@keyframes underline-button-hover{0%{transform:translate(0)}50%{transform:translate(100%)}51%{transform:translate(-100%)}to{transform:translate(0)}}\n"], dependencies: [{ kind: "ngmodule", type: DaffPrefixSuffixModule }, { kind: "component", type: i1.DaffLoadingIconComponent, selector: "daff-loading-icon" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
353
+ }
354
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: DaffUnderlineButtonComponent, decorators: [{
355
+ type: Component,
356
+ args: [{ selector: '' +
357
+ 'button[daff-underline-button]' + ',' +
358
+ 'a[daff-underline-button]', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
359
+ DaffPrefixSuffixModule,
360
+ DAFF_LOADING_ICON_COMPONENTS,
361
+ ], template: "@if (_prefix) {\n <ng-content select=\"[daffPrefix]\"></ng-content>\n}\n@if (loading) {\n <daff-loading-icon class=\"daff-button__loading\"></daff-loading-icon>\n} @else {\n <span class=\"daff-button__content\"><ng-content></ng-content></span>\n}\n@if (_suffix) {\n <ng-content select=\"[daffSuffix]\"></ng-content>\n}", styles: [".daff-underline-button{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;display:inline-flex;justify-content:center;align-items:center;gap:.5rem;appearance:none;border:none;border-radius:.25rem;position:relative;text-align:center;background:transparent;border:0;border-radius:0;line-height:1.25rem;overflow:hidden;text-decoration:none;vertical-align:middle}.daff-underline-button .daff-button__content,.daff-underline-button .daff-prefix,.daff-underline-button .daff-suffix{z-index:2}.daff-underline-button .daff-button__loading{max-width:1.5rem}.daff-underline-button .daff-button__content{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.daff-underline-button[disabled],.daff-underline-button.disabled{cursor:not-allowed}.daff-underline-button[disabled]:hover:after,.daff-underline-button[disabled]:active:after,.daff-underline-button.disabled:hover:after,.daff-underline-button.disabled:active:after{animation:none}.daff-underline-button:after{bottom:0;content:\"\";height:2px;left:0;opacity:1;position:absolute;width:100%}.daff-underline-button:hover:after{animation:none}@media (min-width: 1024px){.daff-underline-button:hover:after{animation:underline-button-hover .7s ease}}.daff-underline-button.daff-sm{font-size:.875rem;height:1.25rem;padding:0}.daff-underline-button.daff-md{font-size:1rem;height:1.5rem;padding:0 0 4px}.daff-underline-button.daff-lg{font-size:1.25rem;height:1.75rem;padding:0 0 8px}@keyframes underline-button-hover{0%{transform:translate(0)}50%{transform:translate(100%)}51%{transform:translate(-100%)}to{transform:translate(0)}}\n"] }]
362
+ }], propDecorators: { class: [{
363
+ type: HostBinding,
364
+ args: ['class.daff-underline-button']
365
+ }] } });
366
+
367
+ /** @deprecated in favor of {@link DAFF_BUTTON_COMPONENTS} */
220
368
  class DaffButtonModule {
221
369
  /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: DaffButtonModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
222
- /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.2", ngImport: i0, type: DaffButtonModule, declarations: [DaffButtonComponent], imports: [CommonModule,
223
- DaffPrefixSuffixModule,
224
- DaffLoadingIconModule], exports: [DaffButtonComponent,
370
+ /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.2", ngImport: i0, type: DaffButtonModule, imports: [CommonModule,
371
+ DaffButtonComponent,
372
+ DaffFlatButtonComponent,
373
+ DaffIconButtonComponent,
374
+ DaffRaisedButtonComponent,
375
+ DaffStrokedButtonComponent,
376
+ DaffUnderlineButtonComponent], exports: [DaffButtonComponent,
377
+ DaffFlatButtonComponent,
378
+ DaffIconButtonComponent,
379
+ DaffRaisedButtonComponent,
380
+ DaffStrokedButtonComponent,
381
+ DaffUnderlineButtonComponent,
225
382
  DaffPrefixSuffixModule] }); }
226
383
  /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: DaffButtonModule, imports: [CommonModule,
227
- DaffPrefixSuffixModule,
228
- DaffLoadingIconModule, DaffPrefixSuffixModule] }); }
384
+ DaffButtonComponent,
385
+ DaffFlatButtonComponent,
386
+ DaffIconButtonComponent,
387
+ DaffRaisedButtonComponent,
388
+ DaffStrokedButtonComponent,
389
+ DaffUnderlineButtonComponent, DaffPrefixSuffixModule] }); }
229
390
  }
230
391
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: DaffButtonModule, decorators: [{
231
392
  type: NgModule,
232
393
  args: [{
233
394
  imports: [
234
395
  CommonModule,
235
- DaffPrefixSuffixModule,
236
- DaffLoadingIconModule,
237
- ],
238
- declarations: [
239
396
  DaffButtonComponent,
397
+ DaffFlatButtonComponent,
398
+ DaffIconButtonComponent,
399
+ DaffRaisedButtonComponent,
400
+ DaffStrokedButtonComponent,
401
+ DaffUnderlineButtonComponent,
240
402
  ],
241
403
  exports: [
242
404
  DaffButtonComponent,
405
+ DaffFlatButtonComponent,
406
+ DaffIconButtonComponent,
407
+ DaffRaisedButtonComponent,
408
+ DaffStrokedButtonComponent,
409
+ DaffUnderlineButtonComponent,
243
410
  DaffPrefixSuffixModule,
244
411
  ],
245
412
  }]
246
413
  }] });
247
414
 
415
+ const DAFF_BUTTON_COMPONENTS = [
416
+ DaffButtonComponent,
417
+ DaffPrefixSuffixModule,
418
+ DaffFlatButtonComponent,
419
+ DaffIconButtonComponent,
420
+ DaffRaisedButtonComponent,
421
+ DaffStrokedButtonComponent,
422
+ DaffUnderlineButtonComponent,
423
+ ];
424
+
248
425
  /**
249
426
  * Generated bundle index. Do not edit.
250
427
  */
251
428
 
252
- export { DaffButtonComponent, DaffButtonModule, DaffButtonSizableDirective };
429
+ export { DAFF_BUTTON_COMPONENTS, DaffButtonComponent, DaffButtonModule, DaffButtonSizableDirective, DaffFlatButtonComponent, DaffIconButtonComponent, DaffRaisedButtonComponent, DaffStrokedButtonComponent, DaffUnderlineButtonComponent };
253
430
  //# sourceMappingURL=daffodil-design-button.mjs.map