@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
@@ -0,0 +1,79 @@
1
+ @use '../../../scss/interactions';
2
+ @use '../../../scss/typography' as t;
3
+
4
+ @mixin daff-button-base {
5
+ @include interactions.clickable();
6
+ display: inline-flex;
7
+ justify-content: center;
8
+ align-items: center;
9
+ gap: 0.5rem;
10
+ appearance: none;
11
+ border: none;
12
+ border-radius: 0.25rem;
13
+ position: relative;
14
+ text-align: center;
15
+ text-decoration: none;
16
+
17
+ &[disabled],
18
+ &.disabled {
19
+ cursor: not-allowed;
20
+ }
21
+
22
+ .daff-button__content,
23
+ .daff-prefix,
24
+ .daff-suffix {
25
+ z-index: 2;
26
+ }
27
+
28
+ .daff-button__loading {
29
+ max-width: 1.5rem;
30
+ }
31
+
32
+ .daff-button__content {
33
+ @include t.text-truncate();
34
+ }
35
+ }
36
+
37
+ @mixin daff-button-background($border-radius) {
38
+ &::after {
39
+ content: '';
40
+ border-radius: $border-radius;
41
+ position: absolute;
42
+ width: 100%;
43
+ height: 100%;
44
+ opacity: 0;
45
+ transition: opacity 300ms;
46
+ }
47
+
48
+ &:hover,
49
+ &:active {
50
+ &::after {
51
+ opacity: 1;
52
+ }
53
+ }
54
+ }
55
+
56
+ @mixin daff-button-sizes {
57
+ min-width: 96px;
58
+
59
+ &.daff-sm {
60
+ font-size: t.$small-font-size;
61
+ line-height: 2rem;
62
+ height: 2rem;
63
+ padding: 0 1rem;
64
+ }
65
+
66
+ &.daff-md {
67
+ font-size: t.$normal-font-size;
68
+ line-height: 3rem;
69
+ height: 3rem;
70
+ padding: 0 1.5rem;
71
+ }
72
+
73
+ &.daff-lg {
74
+ font-size: t.$medium-font-size;
75
+ line-height: 3.5rem;
76
+ height: 3.5rem;
77
+ padding: 0 1.5rem;
78
+ }
79
+ }
@@ -0,0 +1,142 @@
1
+ @use 'sass:map';
2
+ @use '../../../../scss/theming';
3
+ @use '../../../../scss/core';
4
+
5
+ @mixin daff-flat-button-theme-variant($base-color, $active-color) {
6
+ color: $base-color;
7
+
8
+ &::after {
9
+ background-color: $base-color;
10
+ }
11
+
12
+ &:hover {
13
+ color: theming.daff-text-contrast($base-color);
14
+ }
15
+
16
+ &:active {
17
+ color: theming.daff-text-contrast($active-color);
18
+
19
+ &::after {
20
+ background-color: $active-color;
21
+ }
22
+ }
23
+ }
24
+
25
+ @mixin daff-flat-button-theme($theme) {
26
+ $primary: core.daff-map-get($theme, primary);
27
+ $secondary: core.daff-map-get($theme, secondary);
28
+ $tertiary: core.daff-map-get($theme, tertiary);
29
+ $info: core.daff-map-get($theme, informational);
30
+ $warn: core.daff-map-get($theme, warn);
31
+ $critical: core.daff-map-get($theme, critical);
32
+ $success: core.daff-map-get($theme, success);
33
+ $base: core.daff-map-get($theme, 'core', 'base');
34
+ $base-contrast: core.daff-map-get($theme, 'core', 'base-contrast');
35
+ $white: core.daff-map-get($theme, 'core', 'white');
36
+ $black: core.daff-map-get($theme, 'core', 'black');
37
+ $neutral: core.daff-map-get($theme, 'core', 'neutral');
38
+
39
+ .daff-flat-button {
40
+ color: currentColor;
41
+
42
+ &::after {
43
+ background-color: theming.daff-illuminate($base, $neutral, 2);
44
+ }
45
+
46
+ &:active {
47
+ &::after {
48
+ background-color: theming.daff-illuminate($base, $neutral, 3);
49
+ }
50
+ }
51
+
52
+ &:hover,
53
+ &:active {
54
+ color: theming.daff-text-contrast(
55
+ theming.daff-illuminate($base, $neutral, 2)
56
+ );
57
+ }
58
+
59
+ &.daff-primary {
60
+ @include daff-flat-button-theme-variant(
61
+ theming.daff-color($primary),
62
+ theming.daff-color($primary, 70)
63
+ );
64
+ }
65
+
66
+ &.daff-secondary {
67
+ @include daff-flat-button-theme-variant(
68
+ theming.daff-color($secondary),
69
+ theming.daff-color($secondary, 70)
70
+ );
71
+ }
72
+
73
+ &.daff-tertiary {
74
+ @include daff-flat-button-theme-variant(
75
+ theming.daff-color($tertiary),
76
+ theming.daff-color($tertiary, 70)
77
+ );
78
+ }
79
+
80
+ &.daff-black {
81
+ @include daff-flat-button-theme-variant(
82
+ $black,
83
+ theming.daff-color($neutral, 100)
84
+ );
85
+ }
86
+
87
+ &.daff-white {
88
+ @include daff-flat-button-theme-variant(
89
+ $white,
90
+ theming.daff-color($neutral, 20)
91
+ );
92
+ }
93
+
94
+ &.daff-theme {
95
+ @include daff-flat-button-theme-variant(
96
+ $base,
97
+ theming.daff-illuminate($base, $neutral, 2)
98
+ );
99
+ }
100
+
101
+ &.daff-theme-contrast {
102
+ @include daff-flat-button-theme-variant(
103
+ $base-contrast,
104
+ theming.daff-illuminate($base-contrast, $neutral, 2)
105
+ );
106
+ }
107
+
108
+ &[disabled],
109
+ &.disabled {
110
+ color: theming.daff-illuminate($base, $neutral, 5);
111
+
112
+ &:hover,
113
+ &:focus,
114
+ &:active {
115
+ &::after {
116
+ background: transparent;
117
+ }
118
+ }
119
+ }
120
+
121
+ &.daff-warn {
122
+ @include daff-flat-button-theme-variant(
123
+ theming.daff-color($warn),
124
+ theming.daff-color($warn, 70)
125
+ );
126
+ }
127
+
128
+ &.daff-critical {
129
+ @include daff-flat-button-theme-variant(
130
+ theming.daff-color($critical),
131
+ theming.daff-color($critical, 70)
132
+ );
133
+ }
134
+
135
+ &.daff-success {
136
+ @include daff-flat-button-theme-variant(
137
+ theming.daff-color($success),
138
+ theming.daff-color($success, 70)
139
+ );
140
+ }
141
+ }
142
+ }
@@ -0,0 +1,140 @@
1
+ @use 'sass:map';
2
+ @use '../../../../scss/theming';
3
+ @use '../../../../scss/core';
4
+
5
+ @mixin daff-icon-button-theme-variant(
6
+ $base-color: currentColor,
7
+ $hover-color: currentColor,
8
+ $active-color: $hover-color
9
+ ) {
10
+ color: $base-color;
11
+
12
+ &:hover {
13
+ color: $hover-color;
14
+ @if $base-color == currentColor {
15
+ opacity: 0.8;
16
+ } @else {
17
+ opacity: 1;
18
+ }
19
+ }
20
+
21
+ &:active {
22
+ color: $active-color;
23
+ }
24
+ }
25
+
26
+ @mixin daff-icon-button-theme($theme) {
27
+ $primary: core.daff-map-get($theme, primary);
28
+ $secondary: core.daff-map-get($theme, secondary);
29
+ $tertiary: core.daff-map-get($theme, tertiary);
30
+ $info: core.daff-map-get($theme, informational);
31
+ $warn: core.daff-map-get($theme, warn);
32
+ $critical: core.daff-map-get($theme, critical);
33
+ $success: core.daff-map-get($theme, success);
34
+ $base: core.daff-map-get($theme, 'core', 'base');
35
+ $base-contrast: core.daff-map-get($theme, 'core', 'base-contrast');
36
+ $white: core.daff-map-get($theme, 'core', 'white');
37
+ $black: core.daff-map-get($theme, 'core', 'black');
38
+ $neutral: core.daff-map-get($theme, 'core', 'neutral');
39
+
40
+ .daff-icon-button {
41
+ @include daff-icon-button-theme-variant(
42
+ theming.daff-illuminate($base, $neutral, 5),
43
+ theming.daff-illuminate($base, $neutral, 6),
44
+ theming.daff-illuminate($base, $neutral, 7)
45
+ );
46
+
47
+ &.daff-primary {
48
+ @include daff-icon-button-theme-variant(
49
+ theming.daff-color($primary),
50
+ theming.daff-color($primary, 70),
51
+ theming.daff-color($primary, 80)
52
+ );
53
+ }
54
+
55
+ &.daff-secondary {
56
+ @include daff-icon-button-theme-variant(
57
+ theming.daff-color($secondary),
58
+ theming.daff-color($secondary, 70),
59
+ theming.daff-color($secondary, 80)
60
+ );
61
+ }
62
+
63
+ &.daff-tertiary {
64
+ @include daff-icon-button-theme-variant(
65
+ theming.daff-color($tertiary),
66
+ theming.daff-color($tertiary, 70),
67
+ theming.daff-color($tertiary, 80)
68
+ );
69
+ }
70
+
71
+ &.daff-black {
72
+ @include daff-icon-button-theme-variant(
73
+ $black,
74
+ theming.daff-color($neutral, 100),
75
+ theming.daff-color($neutral, 80)
76
+ );
77
+ }
78
+
79
+ &.daff-white {
80
+ @include daff-icon-button-theme-variant(
81
+ $white,
82
+ theming.daff-color($neutral, 20),
83
+ theming.daff-color($neutral, 30)
84
+ );
85
+ }
86
+
87
+ &.daff-theme {
88
+ @include daff-icon-button-theme-variant(
89
+ $base,
90
+ theming.daff-illuminate($base, $neutral, 1),
91
+ theming.daff-illuminate($base, $neutral, 2)
92
+ );
93
+ }
94
+
95
+ &.daff-theme-contrast {
96
+ @include daff-icon-button-theme-variant(
97
+ $base-contrast,
98
+ theming.daff-illuminate($base-contrast, $neutral, 1),
99
+ theming.daff-illuminate($base-contrast, $neutral, 2)
100
+ );
101
+ }
102
+
103
+ &[disabled],
104
+ &.disabled {
105
+ @include daff-icon-button-theme-variant(
106
+ theming.daff-illuminate($base, $neutral, 4),
107
+ theming.daff-illuminate($base, $neutral, 4),
108
+ theming.daff-illuminate($base, $neutral, 4)
109
+ );
110
+
111
+ &:hover {
112
+ color: theming.daff-illuminate($base, $neutral, 4);
113
+ }
114
+ }
115
+
116
+ &.daff-warn {
117
+ @include daff-icon-button-theme-variant(
118
+ theming.daff-color($warn),
119
+ theming.daff-color($warn, 70),
120
+ theming.daff-color($warn, 80)
121
+ );
122
+ }
123
+
124
+ &.daff-critical {
125
+ @include daff-icon-button-theme-variant(
126
+ theming.daff-color($critical),
127
+ theming.daff-color($critical, 70),
128
+ theming.daff-color($critical, 80)
129
+ );
130
+ }
131
+
132
+ &.daff-success {
133
+ @include daff-icon-button-theme-variant(
134
+ theming.daff-color($success),
135
+ theming.daff-color($success, 70),
136
+ theming.daff-color($success, 80)
137
+ );
138
+ }
139
+ }
140
+ }
@@ -0,0 +1,107 @@
1
+ @use 'sass:map';
2
+ @use '../../../../scss/theming';
3
+ @use '../../../../scss/core';
4
+
5
+ @mixin daff-raised-button-theme-variant($base-color) {
6
+ @if theming.daff-contrast-ratio(
7
+ $base-color,
8
+ theming.daff-text-contrast($base-color)
9
+ ) < 4.5 {
10
+ @error 'Button Initial State: ' + map.get(a11y.$wcag-aa-errors, 'text-contrast');
11
+ }
12
+
13
+ @if theming.daff-contrast-ratio(
14
+ $base-color,
15
+ theming.daff-text-contrast($base-color)
16
+ ) < 4.5 {
17
+ @error 'Button Hover State: ' + map.get(a11y.$wcag-aa-errors, 'text-contrast');
18
+ }
19
+
20
+ $black: theming.daff-color(theming.$daff-neutral, 110);
21
+ background-color: $base-color;
22
+ border: 1px solid $base-color;
23
+ box-shadow: 0 3px 5px rgba($black, 0.12), 0 1px 3px rgba($black, 0.08);
24
+ color: theming.daff-text-contrast($base-color);
25
+
26
+ &::after {
27
+ box-shadow: 0 6px 12px rgba($black, 0.08), 0 4px 6px rgba($black, 0.04);
28
+ }
29
+
30
+ &:hover {
31
+ background-color: $base-color;
32
+ border: 1px solid $base-color;
33
+ }
34
+ }
35
+
36
+ @mixin daff-raised-button-theme($theme) {
37
+ $primary: core.daff-map-get($theme, primary);
38
+ $secondary: core.daff-map-get($theme, secondary);
39
+ $tertiary: core.daff-map-get($theme, tertiary);
40
+ $info: core.daff-map-get($theme, informational);
41
+ $warn: core.daff-map-get($theme, warn);
42
+ $critical: core.daff-map-get($theme, critical);
43
+ $success: core.daff-map-get($theme, success);
44
+ $base: core.daff-map-get($theme, 'core', 'base');
45
+ $base-contrast: core.daff-map-get($theme, 'core', 'base-contrast');
46
+ $white: core.daff-map-get($theme, 'core', 'white');
47
+ $black: core.daff-map-get($theme, 'core', 'black');
48
+ $neutral: core.daff-map-get($theme, 'core', 'neutral');
49
+
50
+ .daff-raised-button {
51
+ @include daff-raised-button-theme-variant(
52
+ theming.daff-illuminate($base, $neutral, 2)
53
+ );
54
+
55
+ &.daff-primary {
56
+ @include daff-raised-button-theme-variant(theming.daff-color($primary));
57
+ }
58
+
59
+ &.daff-secondary {
60
+ @include daff-raised-button-theme-variant(theming.daff-color($secondary));
61
+ }
62
+
63
+ &.daff-tertiary {
64
+ @include daff-raised-button-theme-variant(theming.daff-color($tertiary));
65
+ }
66
+
67
+ &.daff-black {
68
+ @include daff-raised-button-theme-variant($black);
69
+ }
70
+
71
+ &.daff-white {
72
+ @include daff-raised-button-theme-variant($white);
73
+ }
74
+
75
+ &.daff-theme {
76
+ @include daff-raised-button-theme-variant($base);
77
+ }
78
+
79
+ &.daff-theme-contrast {
80
+ @include daff-raised-button-theme-variant($base-contrast);
81
+ }
82
+
83
+ &[disabled],
84
+ &.disabled {
85
+ @include daff-raised-button-theme-variant(
86
+ theming.daff-illuminate($base, $neutral, 3)
87
+ );
88
+ color: theming.daff-illuminate($base, $neutral, 5);
89
+
90
+ &::after {
91
+ box-shadow: none;
92
+ }
93
+ }
94
+
95
+ &.daff-warn {
96
+ @include daff-raised-button-theme-variant(theming.daff-color($warn));
97
+ }
98
+
99
+ &.daff-critical {
100
+ @include daff-raised-button-theme-variant(theming.daff-color($critical));
101
+ }
102
+
103
+ &.daff-success {
104
+ @include daff-raised-button-theme-variant(theming.daff-color($success));
105
+ }
106
+ }
107
+ }
@@ -0,0 +1,155 @@
1
+ @use 'sass:map';
2
+ @use '../../../../scss/theming';
3
+ @use '../../../../scss/core';
4
+
5
+ @mixin daff-stroked-button-theme-variant($base-color, $active-color) {
6
+ border: 1px solid $base-color;
7
+ color: $base-color;
8
+ background-color: transparent;
9
+
10
+ &::after {
11
+ background-color: $base-color;
12
+ }
13
+
14
+ &:hover {
15
+ color: theming.daff-text-contrast($base-color);
16
+ }
17
+
18
+ &:active {
19
+ border: 1px solid $active-color;
20
+ color: theming.daff-text-contrast($active-color);
21
+
22
+ &::after {
23
+ background-color: $active-color;
24
+ }
25
+ }
26
+ }
27
+
28
+ @mixin daff-stroked-button-theme($theme) {
29
+ $primary: core.daff-map-get($theme, primary);
30
+ $secondary: core.daff-map-get($theme, secondary);
31
+ $tertiary: core.daff-map-get($theme, tertiary);
32
+ $info: core.daff-map-get($theme, informational);
33
+ $warn: core.daff-map-get($theme, warn);
34
+ $critical: core.daff-map-get($theme, critical);
35
+ $success: core.daff-map-get($theme, success);
36
+ $base: core.daff-map-get($theme, 'core', 'base');
37
+ $base-contrast: core.daff-map-get($theme, 'core', 'base-contrast');
38
+ $white: core.daff-map-get($theme, 'core', 'white');
39
+ $black: core.daff-map-get($theme, 'core', 'black');
40
+ $neutral: core.daff-map-get($theme, 'core', 'neutral');
41
+
42
+ .daff-stroked-button {
43
+ background: transparent;
44
+ border: 1px solid theming.daff-illuminate($base, $neutral, 5);
45
+ color: currentColor;
46
+
47
+ &::after {
48
+ background: theming.daff-illuminate($base, $neutral, 2);
49
+ }
50
+
51
+ &:hover {
52
+ border: 1px solid theming.daff-illuminate($base, $neutral, 2);
53
+ color: theming.daff-text-contrast(
54
+ theming.daff-illuminate($base, $neutral, 2)
55
+ );
56
+ }
57
+
58
+ &:active {
59
+ border: 1px solid theming.daff-illuminate($base, $neutral, 3);
60
+ color: theming.daff-text-contrast(
61
+ theming.daff-illuminate($base, $neutral, 3)
62
+ );
63
+
64
+ &::after {
65
+ background: theming.daff-illuminate($base, $neutral, 3);
66
+ }
67
+ }
68
+
69
+ &.daff-primary {
70
+ @include daff-stroked-button-theme-variant(
71
+ theming.daff-color($primary),
72
+ theming.daff-color($primary, 70)
73
+ );
74
+ }
75
+
76
+ &.daff-secondary {
77
+ @include daff-stroked-button-theme-variant(
78
+ theming.daff-color($secondary),
79
+ theming.daff-color($secondary, 70)
80
+ );
81
+ }
82
+
83
+ &.daff-tertiary {
84
+ @include daff-stroked-button-theme-variant(
85
+ theming.daff-color($tertiary),
86
+ theming.daff-color($tertiary, 70)
87
+ );
88
+ }
89
+
90
+ &.daff-black {
91
+ @include daff-stroked-button-theme-variant(
92
+ $black,
93
+ theming.daff-color($neutral, 100)
94
+ );
95
+ }
96
+
97
+ &.daff-white {
98
+ @include daff-stroked-button-theme-variant(
99
+ $white,
100
+ theming.daff-color($neutral, 20)
101
+ );
102
+ }
103
+
104
+ &.daff-theme {
105
+ @include daff-stroked-button-theme-variant(
106
+ $base,
107
+ theming.daff-illuminate($base, $neutral, 2)
108
+ );
109
+ }
110
+
111
+ &.daff-theme-contrast {
112
+ @include daff-stroked-button-theme-variant(
113
+ $base-contrast,
114
+ theming.daff-illuminate($base-contrast, $neutral, 2)
115
+ );
116
+ }
117
+
118
+ &[disabled],
119
+ &.disabled {
120
+ background-color: transparent;
121
+ border-color: theming.daff-illuminate($base, $neutral, 3);
122
+ color: theming.daff-illuminate($base, $neutral, 5);
123
+
124
+ &:hover {
125
+ color: theming.daff-illuminate($base, $neutral, 5);
126
+
127
+ &::after {
128
+ background-color: transparent;
129
+ opacity: 0;
130
+ }
131
+ }
132
+ }
133
+
134
+ &.daff-warn {
135
+ @include daff-stroked-button-theme-variant(
136
+ theming.daff-color($warn),
137
+ theming.daff-color($warn, 70)
138
+ );
139
+ }
140
+
141
+ &.daff-critical {
142
+ @include daff-stroked-button-theme-variant(
143
+ theming.daff-color($critical),
144
+ theming.daff-color($critical, 70)
145
+ );
146
+ }
147
+
148
+ &.daff-success {
149
+ @include daff-stroked-button-theme-variant(
150
+ theming.daff-color($success),
151
+ theming.daff-color($success, 70)
152
+ );
153
+ }
154
+ }
155
+ }
@@ -0,0 +1,89 @@
1
+ @use 'sass:map';
2
+ @use '../../../../scss/theming';
3
+ @use '../../../../scss/core';
4
+
5
+ @mixin daff-underline-button-theme-variant($base-color: currentColor) {
6
+ color: $base-color;
7
+
8
+ &::after {
9
+ background-color: $base-color;
10
+ }
11
+ }
12
+
13
+ @mixin daff-underline-button-theme($theme) {
14
+ $primary: core.daff-map-get($theme, primary);
15
+ $secondary: core.daff-map-get($theme, secondary);
16
+ $tertiary: core.daff-map-get($theme, tertiary);
17
+ $info: core.daff-map-get($theme, informational);
18
+ $warn: core.daff-map-get($theme, warn);
19
+ $critical: core.daff-map-get($theme, critical);
20
+ $success: core.daff-map-get($theme, success);
21
+ $base: core.daff-map-get($theme, 'core', 'base');
22
+ $base-contrast: core.daff-map-get($theme, 'core', 'base-contrast');
23
+ $white: core.daff-map-get($theme, 'core', 'white');
24
+ $black: core.daff-map-get($theme, 'core', 'black');
25
+ $neutral: core.daff-map-get($theme, 'core', 'neutral');
26
+
27
+ .daff-underline-button {
28
+ @include daff-underline-button-theme-variant(
29
+ theming.daff-illuminate($base, $neutral, 7)
30
+ );
31
+
32
+ &.daff-primary {
33
+ @include daff-underline-button-theme-variant(
34
+ theming.daff-color($primary)
35
+ );
36
+ }
37
+
38
+ &.daff-secondary {
39
+ @include daff-underline-button-theme-variant(
40
+ theming.daff-color($secondary)
41
+ );
42
+ }
43
+
44
+ &.daff-tertiary {
45
+ @include daff-underline-button-theme-variant(
46
+ theming.daff-color($tertiary)
47
+ );
48
+ }
49
+
50
+ &.daff-black {
51
+ @include daff-underline-button-theme-variant($black);
52
+ }
53
+
54
+ &.daff-white {
55
+ @include daff-underline-button-theme-variant($white);
56
+ }
57
+
58
+ &.daff-theme {
59
+ @include daff-underline-button-theme-variant($base);
60
+ }
61
+
62
+ &.daff-theme-contrast {
63
+ @include daff-underline-button-theme-variant($base-contrast);
64
+ }
65
+
66
+ &[disabled],
67
+ &.disabled {
68
+ @include daff-underline-button-theme-variant(
69
+ theming.daff-illuminate($base, $neutral, 4)
70
+ );
71
+ }
72
+
73
+ &.daff-warn {
74
+ @include daff-underline-button-theme-variant(theming.daff-color($warn));
75
+ }
76
+
77
+ &.daff-critical {
78
+ @include daff-underline-button-theme-variant(
79
+ theming.daff-color($critical)
80
+ );
81
+ }
82
+
83
+ &.daff-success {
84
+ @include daff-underline-button-theme-variant(
85
+ theming.daff-color($success)
86
+ );
87
+ }
88
+ }
89
+ }