@daffodil/design 0.78.0 → 0.80.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (386) hide show
  1. package/accordion/accordion.module.d.ts +3 -1
  2. package/accordion/src/accordion-theme.scss +4 -4
  3. package/article/README.md +5 -6
  4. package/article/article.module.d.ts +3 -1
  5. package/article/src/article-theme.scss +8 -8
  6. package/atoms/form/form-field/form-field/form-field.component.d.ts +1 -1
  7. package/breadcrumb/breadcrumb.module.d.ts +3 -1
  8. package/breadcrumb/src/breadcrumb-theme.scss +3 -3
  9. package/button/README.md +3 -3
  10. package/button/button/basic/button.component.d.ts +28 -0
  11. package/button/button/button-base.directive.d.ts +51 -0
  12. package/button/button/flat/flat.component.d.ts +28 -0
  13. package/button/button/icon/icon.component.d.ts +24 -0
  14. package/button/button/raised/raised.component.d.ts +28 -0
  15. package/button/button/stroked/stroked.component.d.ts +28 -0
  16. package/button/button/underline/underline.component.d.ts +28 -0
  17. package/button/button.d.ts +7 -2
  18. package/button/button.module.d.ts +11 -4
  19. package/button/public_api.d.ts +6 -1
  20. package/button/src/button/basic/button-theme.scss +145 -0
  21. package/button/src/button/button-base.scss +79 -0
  22. package/button/src/button/flat/flat-theme.scss +142 -0
  23. package/button/src/button/icon/icon-theme.scss +140 -0
  24. package/button/src/button/raised/raised-theme.scss +107 -0
  25. package/button/src/button/stroked/stroked-theme.scss +155 -0
  26. package/button/src/button/underline/underline-theme.scss +89 -0
  27. package/callout/callout.module.d.ts +3 -1
  28. package/callout/src/callout-theme.scss +11 -17
  29. package/card/card.module.d.ts +1 -1
  30. package/card/src/card-theme-variants/linkable-card.scss +1 -1
  31. package/card/src/card-theme.scss +9 -9
  32. package/container/container.module.d.ts +1 -1
  33. package/core/public_api.d.ts +1 -0
  34. package/core/selectable/public_api.d.ts +2 -0
  35. package/core/selectable/selectable.d.ts +7 -0
  36. package/core/selectable/selectable.directive.d.ts +17 -0
  37. package/core/statusable/statusable.d.ts +5 -3
  38. package/core/statusable/statusable.directive.d.ts +6 -4
  39. package/esm2022/accordion/accordion/animation/accordion-animation.mjs +1 -4
  40. package/esm2022/accordion/accordion.module.mjs +4 -2
  41. package/esm2022/article/article.module.mjs +4 -2
  42. package/esm2022/atoms/form/checkbox/checkbox.component.mjs +2 -2
  43. package/esm2022/atoms/form/checkbox-set/checkbox-set.component.mjs +2 -2
  44. package/esm2022/atoms/form/form-field/form-field/form-field.component.mjs +2 -2
  45. package/esm2022/atoms/form/radio/radio.component.mjs +2 -2
  46. package/esm2022/atoms/form/radio-set/radio-set.component.mjs +2 -2
  47. package/esm2022/breadcrumb/breadcrumb.module.mjs +4 -2
  48. package/esm2022/button/button/basic/button.component.mjs +48 -0
  49. package/esm2022/button/button/button-base.directive.mjs +105 -0
  50. package/esm2022/button/button/flat/flat.component.mjs +48 -0
  51. package/esm2022/button/button/icon/icon.component.mjs +44 -0
  52. package/esm2022/button/button/raised/raised.component.mjs +48 -0
  53. package/esm2022/button/button/stroked/stroked.component.mjs +48 -0
  54. package/esm2022/button/button/underline/underline.component.mjs +48 -0
  55. package/esm2022/button/button.mjs +12 -2
  56. package/esm2022/button/button.module.mjs +37 -5
  57. package/esm2022/button/examples/basic-button/basic-button.component.mjs +4 -6
  58. package/esm2022/button/examples/flat-button/flat-button.component.mjs +4 -6
  59. package/esm2022/button/examples/icon-button/icon-button.component.mjs +4 -6
  60. package/esm2022/button/examples/raised-button/raised-button.component.mjs +4 -6
  61. package/esm2022/button/examples/sizeable-button/sizeable-button.component.mjs +2 -2
  62. package/esm2022/button/examples/statusable-button/statusable-button.component.mjs +3 -3
  63. package/esm2022/button/examples/stroked-button/stroked-button.component.mjs +4 -6
  64. package/esm2022/button/examples/underline-button/underline-button.component.mjs +4 -6
  65. package/esm2022/button/public_api.mjs +7 -2
  66. package/esm2022/callout/callout.module.mjs +4 -2
  67. package/esm2022/callout/examples/callout-text-alignment/callout-text-alignment.component.mjs +5 -7
  68. package/esm2022/callout/examples/callout-theming/callout-theming.component.mjs +5 -7
  69. package/esm2022/callout/examples/callout-with-grid/callout-with-grid.component.mjs +5 -6
  70. package/esm2022/callout/examples/compact-callout/compact-callout.component.mjs +4 -6
  71. package/esm2022/card/card.module.mjs +2 -2
  72. package/esm2022/card/examples/basic-card/basic-card.component.mjs +4 -6
  73. package/esm2022/card/examples/card-orientation/card-orientation.component.mjs +5 -7
  74. package/esm2022/checkbox/examples/basic-checkbox/basic-checkbox.component.mjs +4 -5
  75. package/esm2022/checkbox/examples/checkbox-set/checkbox-set.component.mjs +4 -5
  76. package/esm2022/container/container/container.component.mjs +2 -2
  77. package/esm2022/container/container.module.mjs +2 -2
  78. package/esm2022/core/public_api.mjs +2 -1
  79. package/esm2022/core/selectable/public_api.mjs +2 -0
  80. package/esm2022/core/selectable/selectable.directive.mjs +41 -0
  81. package/esm2022/core/selectable/selectable.mjs +2 -0
  82. package/esm2022/core/statusable/statusable.directive.mjs +7 -5
  83. package/esm2022/core/statusable/statusable.mjs +3 -2
  84. package/esm2022/hero/examples/compact-hero/compact-hero.component.mjs +4 -6
  85. package/esm2022/hero/examples/hero-text-alignment/hero-text-alignment.component.mjs +5 -7
  86. package/esm2022/hero/examples/hero-theming/hero-theming.component.mjs +5 -7
  87. package/esm2022/hero/examples/hero-with-grid/hero-with-grid.component.mjs +4 -6
  88. package/esm2022/hero/hero.module.mjs +2 -2
  89. package/esm2022/image/image.module.mjs +2 -2
  90. package/esm2022/link-set/link-set.module.mjs +2 -2
  91. package/esm2022/list/examples/basic-list/basic-list.component.mjs +1 -1
  92. package/esm2022/list/examples/icon-list/icon-list.component.mjs +2 -2
  93. package/esm2022/list/examples/multiline-list/multiline-list.component.mjs +1 -1
  94. package/esm2022/list/examples/nav-list/nav-list.component.mjs +2 -2
  95. package/esm2022/list/list/list.component.mjs +2 -2
  96. package/esm2022/list/list-item/list-item.component.mjs +10 -3
  97. package/esm2022/list/list.module.mjs +2 -2
  98. package/esm2022/loading-icon/examples/examples.mjs +1 -3
  99. package/esm2022/loading-icon/examples/loading-icon-color/loading-icon-color.component.mjs +2 -2
  100. package/esm2022/loading-icon/loading-icon/loading-icon.component.mjs +5 -20
  101. package/esm2022/loading-icon/loading-icon.module.mjs +2 -2
  102. package/esm2022/media-gallery/examples/basic-media-gallery/basic-media-gallery.component.mjs +1 -1
  103. package/esm2022/media-gallery/examples/mismatched-sizes-media-gallery/mismatched-sizes-media-gallery.component.mjs +1 -1
  104. package/esm2022/media-gallery/examples/skeleton-media-gallery/skeleton-media-gallery.component.mjs +1 -1
  105. package/esm2022/media-gallery/helpers/media-gallery-token.mjs +7 -3
  106. package/esm2022/media-gallery/media-gallery.module.mjs +2 -2
  107. package/esm2022/media-gallery/thumbnail/thumbnail-compat.token.mjs +8 -3
  108. package/esm2022/media-gallery/thumbnail/thumbnail.directive.mjs +26 -39
  109. package/esm2022/menu/examples/basic-menu/basic-menu.component.mjs +5 -7
  110. package/esm2022/modal/examples/basic-modal/basic-modal.component.mjs +4 -6
  111. package/esm2022/modal/examples/basic-modal/modal-content.component.mjs +4 -6
  112. package/esm2022/modal/modal-header/modal-header.component.mjs +4 -6
  113. package/esm2022/modal/modal.module.mjs +2 -2
  114. package/esm2022/navbar/examples/basic-navbar/basic-navbar.component.mjs +4 -6
  115. package/esm2022/navbar/examples/contained-navbar/contained-navbar.component.mjs +4 -6
  116. package/esm2022/navbar/examples/navbar-theming/navbar-theming.component.mjs +5 -7
  117. package/esm2022/navbar/examples/raised-navbar/raised-navbar.component.mjs +4 -6
  118. package/esm2022/navbar/navbar.module.mjs +2 -2
  119. package/esm2022/notification/examples/default-notification/default-notification.component.mjs +1 -3
  120. package/esm2022/notification/examples/notification-orientations/notification-orientations.component.mjs +1 -3
  121. package/esm2022/notification/examples/notification-status/notification-status.component.mjs +3 -5
  122. package/esm2022/notification/examples/notification-with-actions/notification-with-actions.component.mjs +4 -5
  123. package/esm2022/notification/notification/notification.component.mjs +3 -3
  124. package/esm2022/notification/notification.module.mjs +2 -2
  125. package/esm2022/paginator/paginator.module.mjs +2 -2
  126. package/esm2022/progress-bar/progress-bar.module.mjs +2 -2
  127. package/esm2022/sidebar/examples/over-and-under-sidebars/over-and-under-sidebars.component.mjs +5 -6
  128. package/esm2022/sidebar/sidebar-viewport/scroll-token/scroll.token.mjs +9 -3
  129. package/esm2022/sidebar/sidebar-viewport/sidebar-viewport.component.mjs +3 -3
  130. package/esm2022/sidebar/sidebar.module.mjs +2 -2
  131. package/esm2022/switch/daffodil-design-switch.mjs +5 -0
  132. package/esm2022/switch/examples/basic-switch/basic-switch.component.mjs +23 -0
  133. package/esm2022/switch/examples/daffodil-design-switch-examples.mjs +5 -0
  134. package/esm2022/switch/examples/disabled-switch/disabled-switch.component.mjs +20 -0
  135. package/esm2022/switch/examples/examples.mjs +13 -0
  136. package/esm2022/switch/examples/index.mjs +2 -0
  137. package/esm2022/switch/examples/loading-switch/loading-switch.component.mjs +20 -0
  138. package/esm2022/switch/examples/public_api.mjs +7 -0
  139. package/esm2022/switch/examples/switch-error/switch-error.component.mjs +22 -0
  140. package/esm2022/switch/examples/switch-label-positions/switch-label-positions.component.mjs +31 -0
  141. package/esm2022/switch/index.mjs +2 -0
  142. package/esm2022/switch/public_api.mjs +3 -0
  143. package/esm2022/switch/switch/label-position.mjs +11 -0
  144. package/esm2022/switch/switch/switch.component.mjs +126 -0
  145. package/esm2022/switch/switch.mjs +7 -0
  146. package/esm2022/tabs/daffodil-design-tabs.mjs +5 -0
  147. package/esm2022/tabs/examples/basic-tabs/basic-tabs.component.mjs +22 -0
  148. package/esm2022/tabs/examples/custom-select-tabs/custom-select-tabs.component.mjs +34 -0
  149. package/esm2022/tabs/examples/daffodil-design-tabs-examples.mjs +5 -0
  150. package/esm2022/tabs/examples/disabled-tabs/disabled-tabs.component.mjs +22 -0
  151. package/esm2022/tabs/examples/index.mjs +2 -0
  152. package/esm2022/tabs/examples/initially-select-tab/initially-select-tab.component.mjs +22 -0
  153. package/esm2022/tabs/examples/public_api.mjs +11 -0
  154. package/esm2022/tabs/index.mjs +2 -0
  155. package/esm2022/tabs/public_api.mjs +6 -0
  156. package/esm2022/tabs/tabs/tab/tab.component.mjs +86 -0
  157. package/esm2022/tabs/tabs/tab-activator/tab-activator.component.mjs +84 -0
  158. package/esm2022/tabs/tabs/tab-label/tab-label.component.mjs +33 -0
  159. package/esm2022/tabs/tabs/tab-panel/tab-panel.component.mjs +68 -0
  160. package/esm2022/tabs/tabs/tabs.component.mjs +157 -0
  161. package/esm2022/tabs/tabs.mjs +13 -0
  162. package/esm2022/text-snippet/daffodil-design-text-snippet.mjs +5 -0
  163. package/esm2022/text-snippet/examples/basic-text-snippet/basic-text-snippet.component.mjs +14 -0
  164. package/esm2022/text-snippet/examples/daffodil-design-text-snippet-examples.mjs +5 -0
  165. package/esm2022/text-snippet/examples/index.mjs +2 -0
  166. package/esm2022/text-snippet/examples/public_api.mjs +5 -0
  167. package/esm2022/text-snippet/index.mjs +2 -0
  168. package/esm2022/text-snippet/public_api.mjs +2 -0
  169. package/esm2022/text-snippet/text-snippet.component.mjs +46 -0
  170. package/esm2022/toast/examples/default-toast/default-toast.component.mjs +4 -6
  171. package/esm2022/toast/examples/toast-positions/toast-positions.component.mjs +4 -6
  172. package/esm2022/toast/examples/toast-status/toast-status.component.mjs +8 -10
  173. package/esm2022/toast/examples/toast-with-custom-duration/toast-with-custom-duration.component.mjs +4 -6
  174. package/esm2022/toast/options/daff-toast-options.mjs +7 -7
  175. package/esm2022/toast/toast/toast-provider.mjs +2 -2
  176. package/esm2022/toast/toast/toast-template.component.mjs +2 -2
  177. package/esm2022/toast/toast/toast.component.mjs +3 -3
  178. package/esm2022/toast/toast.module.mjs +2 -2
  179. package/esm2022/tree/tree.module.mjs +2 -2
  180. package/fesm2022/daffodil-design-accordion.mjs +3 -4
  181. package/fesm2022/daffodil-design-accordion.mjs.map +1 -1
  182. package/fesm2022/daffodil-design-article.mjs +3 -1
  183. package/fesm2022/daffodil-design-article.mjs.map +1 -1
  184. package/fesm2022/daffodil-design-breadcrumb.mjs +3 -1
  185. package/fesm2022/daffodil-design-breadcrumb.mjs.map +1 -1
  186. package/fesm2022/daffodil-design-button-examples.mjs +16 -16
  187. package/fesm2022/daffodil-design-button-examples.mjs.map +1 -1
  188. package/fesm2022/daffodil-design-button.mjs +308 -132
  189. package/fesm2022/daffodil-design-button.mjs.map +1 -1
  190. package/fesm2022/daffodil-design-callout-examples.mjs +12 -13
  191. package/fesm2022/daffodil-design-callout-examples.mjs.map +1 -1
  192. package/fesm2022/daffodil-design-callout.mjs +3 -1
  193. package/fesm2022/daffodil-design-callout.mjs.map +1 -1
  194. package/fesm2022/daffodil-design-card-examples.mjs +10 -12
  195. package/fesm2022/daffodil-design-card-examples.mjs.map +1 -1
  196. package/fesm2022/daffodil-design-card.mjs +1 -1
  197. package/fesm2022/daffodil-design-card.mjs.map +1 -1
  198. package/fesm2022/daffodil-design-checkbox-examples.mjs +5 -6
  199. package/fesm2022/daffodil-design-checkbox-examples.mjs.map +1 -1
  200. package/fesm2022/daffodil-design-container.mjs +3 -3
  201. package/fesm2022/daffodil-design-container.mjs.map +1 -1
  202. package/fesm2022/daffodil-design-hero-examples.mjs +11 -13
  203. package/fesm2022/daffodil-design-hero-examples.mjs.map +1 -1
  204. package/fesm2022/daffodil-design-hero.mjs +1 -1
  205. package/fesm2022/daffodil-design-hero.mjs.map +1 -1
  206. package/fesm2022/daffodil-design-image.mjs +1 -1
  207. package/fesm2022/daffodil-design-image.mjs.map +1 -1
  208. package/fesm2022/daffodil-design-link-set.mjs +1 -1
  209. package/fesm2022/daffodil-design-link-set.mjs.map +1 -1
  210. package/fesm2022/daffodil-design-list-examples.mjs +4 -4
  211. package/fesm2022/daffodil-design-list-examples.mjs.map +1 -1
  212. package/fesm2022/daffodil-design-list.mjs +12 -5
  213. package/fesm2022/daffodil-design-list.mjs.map +1 -1
  214. package/fesm2022/daffodil-design-loading-icon-examples.mjs +1 -13
  215. package/fesm2022/daffodil-design-loading-icon-examples.mjs.map +1 -1
  216. package/fesm2022/daffodil-design-loading-icon.mjs +5 -20
  217. package/fesm2022/daffodil-design-loading-icon.mjs.map +1 -1
  218. package/fesm2022/daffodil-design-media-gallery-examples.mjs +3 -3
  219. package/fesm2022/daffodil-design-media-gallery-examples.mjs.map +1 -1
  220. package/fesm2022/daffodil-design-media-gallery.mjs +37 -42
  221. package/fesm2022/daffodil-design-media-gallery.mjs.map +1 -1
  222. package/fesm2022/daffodil-design-menu-examples.mjs +3 -5
  223. package/fesm2022/daffodil-design-menu-examples.mjs.map +1 -1
  224. package/fesm2022/daffodil-design-modal-examples.mjs +5 -7
  225. package/fesm2022/daffodil-design-modal-examples.mjs.map +1 -1
  226. package/fesm2022/daffodil-design-modal.mjs +4 -5
  227. package/fesm2022/daffodil-design-modal.mjs.map +1 -1
  228. package/fesm2022/daffodil-design-navbar-examples.mjs +11 -13
  229. package/fesm2022/daffodil-design-navbar-examples.mjs.map +1 -1
  230. package/fesm2022/daffodil-design-navbar.mjs +1 -1
  231. package/fesm2022/daffodil-design-navbar.mjs.map +1 -1
  232. package/fesm2022/daffodil-design-notification-examples.mjs +5 -9
  233. package/fesm2022/daffodil-design-notification-examples.mjs.map +1 -1
  234. package/fesm2022/daffodil-design-notification.mjs +3 -3
  235. package/fesm2022/daffodil-design-notification.mjs.map +1 -1
  236. package/fesm2022/daffodil-design-paginator.mjs +1 -1
  237. package/fesm2022/daffodil-design-paginator.mjs.map +1 -1
  238. package/fesm2022/daffodil-design-progress-bar.mjs +1 -1
  239. package/fesm2022/daffodil-design-progress-bar.mjs.map +1 -1
  240. package/fesm2022/daffodil-design-sidebar-examples.mjs +4 -5
  241. package/fesm2022/daffodil-design-sidebar-examples.mjs.map +1 -1
  242. package/fesm2022/daffodil-design-sidebar.mjs +11 -5
  243. package/fesm2022/daffodil-design-sidebar.mjs.map +1 -1
  244. package/fesm2022/daffodil-design-switch-examples.mjs +109 -0
  245. package/fesm2022/daffodil-design-switch-examples.mjs.map +1 -0
  246. package/fesm2022/daffodil-design-switch.mjs +148 -0
  247. package/fesm2022/daffodil-design-switch.mjs.map +1 -0
  248. package/fesm2022/daffodil-design-tabs-examples.mjs +93 -0
  249. package/fesm2022/daffodil-design-tabs-examples.mjs.map +1 -0
  250. package/fesm2022/daffodil-design-tabs.mjs +428 -0
  251. package/fesm2022/daffodil-design-tabs.mjs.map +1 -0
  252. package/fesm2022/daffodil-design-text-snippet-examples.mjs +25 -0
  253. package/fesm2022/daffodil-design-text-snippet-examples.mjs.map +1 -0
  254. package/fesm2022/daffodil-design-text-snippet.mjs +53 -0
  255. package/fesm2022/daffodil-design-text-snippet.mjs.map +1 -0
  256. package/fesm2022/daffodil-design-toast-examples.mjs +13 -15
  257. package/fesm2022/daffodil-design-toast-examples.mjs.map +1 -1
  258. package/fesm2022/daffodil-design-toast.mjs +13 -12
  259. package/fesm2022/daffodil-design-toast.mjs.map +1 -1
  260. package/fesm2022/daffodil-design-tree.mjs +1 -1
  261. package/fesm2022/daffodil-design-tree.mjs.map +1 -1
  262. package/fesm2022/daffodil-design.mjs +53 -11
  263. package/fesm2022/daffodil-design.mjs.map +1 -1
  264. package/hero/hero.module.d.ts +1 -1
  265. package/hero/src/hero-theme.scss +11 -17
  266. package/image/README.md +4 -1
  267. package/image/image.module.d.ts +1 -1
  268. package/link-set/README.md +1 -1
  269. package/link-set/link-set.module.d.ts +1 -1
  270. package/list/list-item/list-item.component.d.ts +3 -1
  271. package/list/list.module.d.ts +1 -1
  272. package/list/src/list-theme.scss +13 -9
  273. package/loading-icon/README.md +0 -5
  274. package/loading-icon/examples/examples.d.ts +2 -2
  275. package/loading-icon/loading-icon/loading-icon.component.d.ts +1 -9
  276. package/loading-icon/loading-icon.module.d.ts +1 -1
  277. package/loading-icon/src/loading-icon-theme.scss +7 -7
  278. package/media-gallery/README.md +4 -1
  279. package/media-gallery/helpers/media-gallery-token.d.ts +1 -2
  280. package/media-gallery/media-gallery.module.d.ts +1 -1
  281. package/media-gallery/src/media-gallery-theme.scss +3 -3
  282. package/media-gallery/thumbnail/thumbnail-compat.token.d.ts +1 -5
  283. package/media-gallery/thumbnail/thumbnail.directive.d.ts +9 -18
  284. package/menu/src/menu-theme.scss +5 -5
  285. package/modal/modal.module.d.ts +1 -1
  286. package/modal/src/modal-theme.scss +1 -1
  287. package/navbar/navbar.module.d.ts +1 -1
  288. package/navbar/src/navbar-theme.scss +8 -8
  289. package/notification/README.md +2 -2
  290. package/notification/notification/notification.component.d.ts +1 -1
  291. package/notification/notification.module.d.ts +1 -1
  292. package/notification/src/notification-theme.scss +25 -21
  293. package/package.json +1 -1
  294. package/paginator/paginator.module.d.ts +1 -1
  295. package/paginator/src/paginator-theme.scss +11 -10
  296. package/progress-bar/progress-bar.module.d.ts +1 -1
  297. package/progress-bar/src/progress-bar-theme.scss +10 -10
  298. package/scss/accessibility/_index.scss +1 -1
  299. package/scss/core/_index.scss +1 -2
  300. package/scss/core/error/error-to-string.scss +13 -0
  301. package/scss/core/map/map-deep-check/map-deep-check.scss +2 -1
  302. package/scss/core/map/map-deep-get/map-deep-get.scss +1 -0
  303. package/scss/core/map/map-get/map-get.scss +23 -0
  304. package/scss/core/map/map-get/map-get.spec.scss +65 -0
  305. package/scss/core/string/split/string-split.scss +10 -7
  306. package/scss/global.scss +1 -0
  307. package/scss/interactions/_index.scss +1 -1
  308. package/scss/layout/_index.scss +1 -1
  309. package/scss/state/skeleton/_mixins.scss +2 -2
  310. package/scss/theme.scss +15 -1
  311. package/scss/theming/_configure-theme.scss +60 -2
  312. package/scss/theming/_daff-theme.scss +14 -4
  313. package/scss/theming/_index.scss +1 -1
  314. package/scss/theming/_theme-css-variables.scss +15 -13
  315. package/scss/theming/contrast/luminance/luminance.scss +8 -6
  316. package/scss/theming/illuminate/illuminate.scss +20 -17
  317. package/scss/typography/utilities/_index.scss +1 -1
  318. package/scss/typography/utilities/_variables.scss +1 -1
  319. package/sidebar/sidebar-viewport/scroll-token/scroll.token.d.ts +1 -7
  320. package/sidebar/sidebar-viewport/sidebar-viewport.component.d.ts +1 -1
  321. package/sidebar/sidebar.module.d.ts +1 -1
  322. package/sidebar/src/sidebar-theme.scss +3 -3
  323. package/src/atoms/form/form-field/form-field/form-field-theme.scss +6 -6
  324. package/src/atoms/form/input/input-theme.scss +2 -2
  325. package/src/atoms/form/native-select/native-select-theme.scss +3 -3
  326. package/switch/README.md +61 -0
  327. package/switch/examples/basic-switch/basic-switch.component.d.ts +8 -0
  328. package/switch/examples/disabled-switch/disabled-switch.component.d.ts +7 -0
  329. package/switch/examples/examples.d.ts +5 -0
  330. package/switch/examples/index.d.ts +1 -0
  331. package/switch/examples/loading-switch/loading-switch.component.d.ts +7 -0
  332. package/switch/examples/public_api.d.ts +6 -0
  333. package/switch/examples/switch-error/switch-error.component.d.ts +7 -0
  334. package/switch/examples/switch-label-positions/switch-label-positions.component.d.ts +12 -0
  335. package/switch/index.d.ts +1 -0
  336. package/switch/public_api.d.ts +2 -0
  337. package/switch/src/switch-theme.scss +31 -0
  338. package/switch/switch/label-position.d.ts +10 -0
  339. package/switch/switch/switch.component.d.ts +53 -0
  340. package/switch/switch.d.ts +3 -0
  341. package/tabs/README.md +19 -0
  342. package/tabs/examples/basic-tabs/basic-tabs.component.d.ts +6 -0
  343. package/tabs/examples/custom-select-tabs/custom-select-tabs.component.d.ts +11 -0
  344. package/tabs/examples/disabled-tabs/disabled-tabs.component.d.ts +6 -0
  345. package/tabs/examples/index.d.ts +1 -0
  346. package/tabs/examples/initially-select-tab/initially-select-tab.component.d.ts +6 -0
  347. package/tabs/examples/public_api.d.ts +2 -0
  348. package/tabs/index.d.ts +1 -0
  349. package/tabs/public_api.d.ts +5 -0
  350. package/tabs/src/tabs-theme.scss +22 -0
  351. package/tabs/tabs/tab/tab.component.d.ts +57 -0
  352. package/tabs/tabs/tab-activator/tab-activator.component.d.ts +38 -0
  353. package/tabs/tabs/tab-label/tab-label.component.d.ts +19 -0
  354. package/tabs/tabs/tab-panel/tab-panel.component.d.ts +38 -0
  355. package/tabs/tabs/tabs.component.d.ts +103 -0
  356. package/tabs/tabs.d.ts +6 -0
  357. package/text-snippet/README.md +2 -0
  358. package/text-snippet/examples/basic-text-snippet/basic-text-snippet.component.d.ts +5 -0
  359. package/text-snippet/examples/index.d.ts +1 -0
  360. package/text-snippet/examples/public_api.d.ts +2 -0
  361. package/text-snippet/index.d.ts +1 -0
  362. package/text-snippet/public_api.d.ts +1 -0
  363. package/text-snippet/text-snippet.component.d.ts +19 -0
  364. package/toast/README.md +5 -5
  365. package/toast/options/daff-toast-options.d.ts +1 -3
  366. package/toast/src/toast-theme.scss +28 -24
  367. package/toast/toast/toast-provider.d.ts +1 -1
  368. package/toast/toast.module.d.ts +1 -1
  369. package/tree/src/tree-theme.scss +11 -11
  370. package/tree/tree.module.d.ts +1 -1
  371. package/button/button/button.component.d.ts +0 -80
  372. package/button/src/button-theme-variants/button.scss +0 -26
  373. package/button/src/button-theme-variants/flat.scss +0 -25
  374. package/button/src/button-theme-variants/icon.scss +0 -21
  375. package/button/src/button-theme-variants/raised.scss +0 -36
  376. package/button/src/button-theme-variants/stroked.scss +0 -28
  377. package/button/src/button-theme-variants/underline.scss +0 -9
  378. package/button/src/button-theme.scss +0 -574
  379. package/esm2022/button/button/button.component.mjs +0 -212
  380. package/esm2022/loading-icon/examples/loading-icon-diameter/loading-icon-diameter.component.mjs +0 -15
  381. package/loading-icon/examples/loading-icon-diameter/loading-icon-diameter.component.d.ts +0 -5
  382. package/scss/core/map/map-deep-check/map-deep-check.spec.scss +0 -43
  383. package/scss/core/map/map-deep-get/map-deep-get.spec.scss +0 -25
  384. package/scss/theming/contrast/contrast-ratio/contrast-ratio.spec.scss +0 -0
  385. package/scss/theming/contrast/text-contrast/text-contrast.spec.scss +0 -0
  386. package/src/atoms/form/radio/radio.scss +0 -0
@@ -1,11 +1,11 @@
1
- import { NgIf, CommonModule } from '@angular/common';
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
- import { DaffSizableDirective, daffPrefixableMixin, daffSuffixableMixin, DaffPrefixSuffixModule, DaffArticleEncapsulatedDirective, DaffStatusableDirective, DaffColorableDirective } from '@daffodil/design';
6
- import { coerceBooleanProperty } from '@angular/cdk/coercion';
7
- import * as i3 from '@daffodil/design/loading-icon';
5
+ import { DaffSizableDirective, daffPrefixableMixin, daffSuffixableMixin, DaffArticleEncapsulatedDirective, DaffStatusableDirective, DaffColorableDirective, DaffPrefixSuffixModule } from '@daffodil/design';
6
+ import * as i1 from '@daffodil/design/loading-icon';
8
7
  import { DAFF_LOADING_ICON_COMPONENTS } from '@daffodil/design/loading-icon';
8
+ import { coerceBooleanProperty } from '@angular/cdk/coercion';
9
9
 
10
10
  class DaffButtonSizableDirective extends DaffSizableDirective {
11
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 }); }
@@ -18,17 +18,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImpor
18
18
  }]
19
19
  }] });
20
20
 
21
- /**
22
- * List of classes to add to DaffButtonComponent instances based on host attributes to style as different variants.
23
- */
24
- const BUTTON_HOST_ATTRIBUTES = [
25
- 'daff-button',
26
- 'daff-stroked-button',
27
- 'daff-raised-button',
28
- 'daff-flat-button',
29
- 'daff-icon-button',
30
- 'daff-underline-button',
31
- ];
32
21
  /**
33
22
  * An _elementRef and an instance of renderer2 are needed for the button mixins
34
23
  */
@@ -39,32 +28,18 @@ class DaffButtonBase {
39
28
  }
40
29
  }
41
30
  const _daffButtonBase = daffPrefixableMixin(daffSuffixableMixin((DaffButtonBase)));
42
- var DaffButtonTypeEnum;
43
- (function (DaffButtonTypeEnum) {
44
- DaffButtonTypeEnum["Default"] = "daff-button";
45
- DaffButtonTypeEnum["Stroked"] = "daff-stroked-button";
46
- DaffButtonTypeEnum["Raised"] = "daff-raised-button";
47
- DaffButtonTypeEnum["Flat"] = "daff-flat-button";
48
- DaffButtonTypeEnum["Icon"] = "daff-icon-button";
49
- DaffButtonTypeEnum["Underline"] = "daff-underline-button";
50
- })(DaffButtonTypeEnum || (DaffButtonTypeEnum = {}));
51
- /**
52
- * @inheritdoc
53
- */
54
- class DaffButtonComponent extends _daffButtonBase {
31
+ class DaffButtonBaseDirective extends _daffButtonBase {
55
32
  constructor(elementRef, renderer, size) {
56
33
  super(elementRef, renderer);
57
34
  this.elementRef = elementRef;
58
35
  this.renderer = renderer;
59
36
  this.size = size;
60
37
  this.loading = false;
38
+ /**
39
+ * Set the `tabindex` to 0.
40
+ */
61
41
  this.tabindex = 0;
62
42
  this._disabled = false;
63
- for (const attr of BUTTON_HOST_ATTRIBUTES) {
64
- if (this._hasHostAttributes(attr)) {
65
- elementRef.nativeElement.classList.add(attr);
66
- }
67
- }
68
43
  /**
69
44
  * Sets the default size of a button to medium.
70
45
  */
@@ -73,49 +48,6 @@ class DaffButtonComponent extends _daffButtonBase {
73
48
  /**
74
49
  * @docs-private
75
50
  */
76
- ngOnInit() {
77
- for (const attr of BUTTON_HOST_ATTRIBUTES) {
78
- if (this._hasHostAttributes(attr)) {
79
- this.buttonType = attr;
80
- }
81
- }
82
- }
83
- /**
84
- * @docs-private
85
- */
86
- get button() {
87
- return this.buttonType === DaffButtonTypeEnum.Default || this.buttonType === undefined;
88
- }
89
- /**
90
- * @docs-private
91
- */
92
- get stroked() {
93
- return this.buttonType === DaffButtonTypeEnum.Stroked;
94
- }
95
- /**
96
- * @docs-private
97
- */
98
- get raised() {
99
- return this.buttonType === DaffButtonTypeEnum.Raised;
100
- }
101
- /**
102
- * @docs-private
103
- */
104
- get flat() {
105
- return this.buttonType === DaffButtonTypeEnum.Flat;
106
- }
107
- /**
108
- * @docs-private
109
- */
110
- get icon() {
111
- return this.buttonType === DaffButtonTypeEnum.Icon;
112
- }
113
- /**
114
- * @docs-private
115
- */
116
- get underline() {
117
- return this.buttonType === DaffButtonTypeEnum.Underline;
118
- }
119
51
  get disabledClass() {
120
52
  return this.disabled;
121
53
  }
@@ -134,36 +66,20 @@ class DaffButtonComponent extends _daffButtonBase {
134
66
  get ariaDisabled() {
135
67
  return this.disabled ? true : null;
136
68
  }
69
+ /**
70
+ * Set the `tabindex` to -1 if the button is disabled.
71
+ */
137
72
  get disabledTabIndex() {
138
73
  return this.disabled ? -1 : this.tabindex;
139
74
  }
140
- _getHostElement() {
141
- return this.elementRef.nativeElement;
142
- }
143
- /**
144
- * Gets whether the button has one of the given attributes.
145
- * */
146
- _hasHostAttributes(...attributes) {
147
- return attributes.some(attribute => this._getHostElement().hasAttribute(attribute));
148
- }
149
- /** @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 }); }
150
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.2", type: DaffButtonComponent, isStandalone: true, 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: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: DaffPrefixSuffixModule }, { kind: "component", type: i3.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 }); }
151
77
  }
152
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: DaffButtonComponent, decorators: [{
153
- type: Component,
154
- args: [{ selector: '' +
155
- 'button[daff-button]' + ',' +
156
- 'button[daff-stroked-button]' + ',' +
157
- 'button[daff-raised-button]' + ',' +
158
- 'button[daff-flat-button]' + ',' +
159
- 'button[daff-icon-button]' + ',' +
160
- 'button[daff-underline-button]' + ',' +
161
- 'a[daff-button]' + ',' +
162
- 'a[daff-stroked-button]' + ',' +
163
- 'a[daff-raised-button]' + ',' +
164
- 'a[daff-flat-button]' + ',' +
165
- 'a[daff-icon-button]' + ',' +
166
- '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: [
167
83
  { directive: DaffArticleEncapsulatedDirective },
168
84
  {
169
85
  directive: DaffButtonSizableDirective,
@@ -177,32 +93,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImpor
177
93
  directive: DaffColorableDirective,
178
94
  inputs: ['color'],
179
95
  },
180
- ], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
181
- NgIf,
182
- DaffPrefixSuffixModule,
183
- DAFF_LOADING_ICON_COMPONENTS,
184
- ], 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"] }]
185
- }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.Renderer2 }, { type: DaffButtonSizableDirective }], propDecorators: { button: [{
186
- type: HostBinding,
187
- args: ['class.daff-button']
188
- }], stroked: [{
189
- type: HostBinding,
190
- args: ['class.daff-stroked-button']
191
- }], raised: [{
192
- type: HostBinding,
193
- args: ['class.daff-raised-button']
194
- }], flat: [{
195
- type: HostBinding,
196
- args: ['class.daff-flat-button']
197
- }], icon: [{
198
- type: HostBinding,
199
- args: ['class.daff-icon-button']
200
- }], underline: [{
201
- type: HostBinding,
202
- args: ['class.daff-underline-button']
203
- }], disabledClass: [{
96
+ ],
97
+ standalone: true,
98
+ }]
99
+ }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.Renderer2 }, { type: DaffButtonSizableDirective }], propDecorators: { disabledClass: [{
204
100
  type: HostBinding,
205
- args: ['class.daff-button--disabled']
101
+ args: ['class.disabled']
206
102
  }], loading: [{
207
103
  type: Input
208
104
  }], tabindex: [{
@@ -220,14 +116,279 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImpor
220
116
  args: ['attr.tabindex']
221
117
  }] } });
222
118
 
223
- /** @deprecated in favor of {@link DAFF_BUTTON_COMPONENTS} */
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
+ /**
368
+ * @deprecated in favor of {@link DAFF_BUTTON_COMPONENTS}. Deprecated in version 0.78.0. Will be removed in version 1.0.0.
369
+ */
224
370
  class DaffButtonModule {
225
371
  /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: DaffButtonModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
226
372
  /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.2", ngImport: i0, type: DaffButtonModule, imports: [CommonModule,
227
- DaffButtonComponent], exports: [DaffButtonComponent,
373
+ DaffButtonComponent,
374
+ DaffFlatButtonComponent,
375
+ DaffIconButtonComponent,
376
+ DaffRaisedButtonComponent,
377
+ DaffStrokedButtonComponent,
378
+ DaffUnderlineButtonComponent], exports: [DaffButtonComponent,
379
+ DaffFlatButtonComponent,
380
+ DaffIconButtonComponent,
381
+ DaffRaisedButtonComponent,
382
+ DaffStrokedButtonComponent,
383
+ DaffUnderlineButtonComponent,
228
384
  DaffPrefixSuffixModule] }); }
229
385
  /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: DaffButtonModule, imports: [CommonModule,
230
- DaffButtonComponent, DaffPrefixSuffixModule] }); }
386
+ DaffButtonComponent,
387
+ DaffFlatButtonComponent,
388
+ DaffIconButtonComponent,
389
+ DaffRaisedButtonComponent,
390
+ DaffStrokedButtonComponent,
391
+ DaffUnderlineButtonComponent, DaffPrefixSuffixModule] }); }
231
392
  }
232
393
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: DaffButtonModule, decorators: [{
233
394
  type: NgModule,
@@ -235,9 +396,19 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImpor
235
396
  imports: [
236
397
  CommonModule,
237
398
  DaffButtonComponent,
399
+ DaffFlatButtonComponent,
400
+ DaffIconButtonComponent,
401
+ DaffRaisedButtonComponent,
402
+ DaffStrokedButtonComponent,
403
+ DaffUnderlineButtonComponent,
238
404
  ],
239
405
  exports: [
240
406
  DaffButtonComponent,
407
+ DaffFlatButtonComponent,
408
+ DaffIconButtonComponent,
409
+ DaffRaisedButtonComponent,
410
+ DaffStrokedButtonComponent,
411
+ DaffUnderlineButtonComponent,
241
412
  DaffPrefixSuffixModule,
242
413
  ],
243
414
  }]
@@ -246,11 +417,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImpor
246
417
  const DAFF_BUTTON_COMPONENTS = [
247
418
  DaffButtonComponent,
248
419
  DaffPrefixSuffixModule,
420
+ DaffFlatButtonComponent,
421
+ DaffIconButtonComponent,
422
+ DaffRaisedButtonComponent,
423
+ DaffStrokedButtonComponent,
424
+ DaffUnderlineButtonComponent,
249
425
  ];
250
426
 
251
427
  /**
252
428
  * Generated bundle index. Do not edit.
253
429
  */
254
430
 
255
- export { DAFF_BUTTON_COMPONENTS, DaffButtonComponent, DaffButtonModule, DaffButtonSizableDirective };
431
+ export { DAFF_BUTTON_COMPONENTS, DaffButtonComponent, DaffButtonModule, DaffButtonSizableDirective, DaffFlatButtonComponent, DaffIconButtonComponent, DaffRaisedButtonComponent, DaffStrokedButtonComponent, DaffUnderlineButtonComponent };
256
432
  //# sourceMappingURL=daffodil-design-button.mjs.map