@design-factory/design-factory 20.0.2 → 21.0.0-next.1

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 (283) hide show
  1. package/README.md +2 -11
  2. package/fesm2022/design-factory.mjs +889 -1113
  3. package/fesm2022/design-factory.mjs.map +1 -1
  4. package/package.json +22 -51
  5. package/schematics/migrations/18_0_0/stepper-classes-18.0.0/index.js +1 -1
  6. package/schematics/migrations/21_0_0/ag-grid-neutral-header/index.d.ts +6 -0
  7. package/schematics/migrations/21_0_0/ag-grid-neutral-header/index.js +33 -0
  8. package/schematics/migrations/21_0_0/deleted-sass-vars/files/removed-vars.json +53 -0
  9. package/schematics/migrations/21_0_0/deleted-sass-vars/files/vars-with-value.json +4274 -0
  10. package/schematics/migrations/21_0_0/deleted-sass-vars/index.d.ts +7 -0
  11. package/schematics/migrations/21_0_0/deleted-sass-vars/index.js +90 -0
  12. package/schematics/migrations/21_0_0/style-import-package/index.d.ts +7 -0
  13. package/schematics/migrations/21_0_0/style-import-package/index.js +85 -0
  14. package/schematics/migrations/21_0_0/toast-classes-21.0/index.d.ts +2 -0
  15. package/schematics/migrations/21_0_0/toast-classes-21.0/index.js +36 -0
  16. package/schematics/migrations/migration.json +20 -0
  17. package/schematics/migrations/utils/add-dependencies.d.ts +3 -0
  18. package/schematics/migrations/utils/add-dependencies.js +41 -0
  19. package/schematics/migrations/utils/component-resource-collector.d.ts +3 -1
  20. package/schematics/migrations/utils/component-resource-collector.js +9 -4
  21. package/schematics/migrations/utils/style-updater.js +2 -2
  22. package/schematics/migrations/utils/template-updater.js +2 -2
  23. package/schematics/ng-add/index.js +12 -50
  24. package/{index.d.ts → types/design-factory.d.ts} +48 -71
  25. package/assets/.gitkeep +0 -0
  26. package/assets/fonts/amadeus-bold/amadeus-bold.woff +0 -0
  27. package/assets/fonts/amadeus-bold/amadeus-bold.woff2 +0 -0
  28. package/assets/fonts/amadeus-full/amadeus-full-bold.woff +0 -0
  29. package/assets/fonts/amadeus-full/amadeus-full-bold.woff2 +0 -0
  30. package/assets/fonts/amadeus-full/amadeus-full-bolditalic.woff +0 -0
  31. package/assets/fonts/amadeus-full/amadeus-full-bolditalic.woff2 +0 -0
  32. package/assets/fonts/amadeus-full/amadeus-full-italic.woff +0 -0
  33. package/assets/fonts/amadeus-full/amadeus-full-italic.woff2 +0 -0
  34. package/assets/fonts/amadeus-full/amadeus-full-light.woff +0 -0
  35. package/assets/fonts/amadeus-full/amadeus-full-light.woff2 +0 -0
  36. package/assets/fonts/amadeus-full/amadeus-full-lightitalic.woff +0 -0
  37. package/assets/fonts/amadeus-full/amadeus-full-lightitalic.woff2 +0 -0
  38. package/assets/fonts/amadeus-full/amadeus-full-regular.woff +0 -0
  39. package/assets/fonts/amadeus-full/amadeus-full-regular.woff2 +0 -0
  40. package/assets/fonts/amadeus-full/amadeus-full-thin.woff +0 -0
  41. package/assets/fonts/amadeus-full/amadeus-full-thin.woff2 +0 -0
  42. package/assets/fonts/amadeus-full/amadeus-full-thinitalic.woff +0 -0
  43. package/assets/fonts/amadeus-full/amadeus-full-thinitalic.woff2 +0 -0
  44. package/assets/fonts/amadeus-neue/bold/AmadeusNeueWeb-Bold.woff +0 -0
  45. package/assets/fonts/amadeus-neue/bold/AmadeusNeueWeb-Bold.woff2 +0 -0
  46. package/assets/fonts/amadeus-neue/bold/AmadeusNeueWeb-BoldItalic.woff +0 -0
  47. package/assets/fonts/amadeus-neue/bold/AmadeusNeueWeb-BoldItalic.woff2 +0 -0
  48. package/assets/fonts/amadeus-neue/light/AmadeusNeueWeb-Light.woff +0 -0
  49. package/assets/fonts/amadeus-neue/light/AmadeusNeueWeb-Light.woff2 +0 -0
  50. package/assets/fonts/amadeus-neue/light/AmadeusNeueWeb-LightItalic.woff +0 -0
  51. package/assets/fonts/amadeus-neue/light/AmadeusNeueWeb-LightItalic.woff2 +0 -0
  52. package/assets/fonts/amadeus-neue/medium/AmadeusNeueWeb-Medium.woff +0 -0
  53. package/assets/fonts/amadeus-neue/medium/AmadeusNeueWeb-Medium.woff2 +0 -0
  54. package/assets/fonts/amadeus-neue/medium/AmadeusNeueWeb-MediumItalic.woff +0 -0
  55. package/assets/fonts/amadeus-neue/medium/AmadeusNeueWeb-MediumItalic.woff2 +0 -0
  56. package/assets/fonts/amadeus-neue/regular/AmadeusNeueWeb-Regular.woff +0 -0
  57. package/assets/fonts/amadeus-neue/regular/AmadeusNeueWeb-Regular.woff2 +0 -0
  58. package/assets/fonts/amadeus-neue/regular/AmadeusNeueWeb-RegularItalic.woff +0 -0
  59. package/assets/fonts/amadeus-neue/regular/AmadeusNeueWeb-RegularItalic.woff2 +0 -0
  60. package/assets/fonts/amadeus-regular/amadeus-regular.woff +0 -0
  61. package/assets/fonts/amadeus-regular/amadeus-regular.woff2 +0 -0
  62. package/assets/fonts/amadeus-thin/amadeus-thin.woff +0 -0
  63. package/assets/fonts/amadeus-thin/amadeus-thin.woff2 +0 -0
  64. package/assets/fonts/df-icons/df-icons-light.woff2 +0 -0
  65. package/assets/fonts/df-icons/df-icons-solid.woff2 +0 -0
  66. package/assets/fonts/font-awesome/fa-brands-400.woff2 +0 -0
  67. package/assets/fonts/font-awesome/fa-light-300.woff2 +0 -0
  68. package/assets/fonts/font-awesome/fa-solid-900.woff2 +0 -0
  69. package/assets/fonts/noto/notosans-bold.woff +0 -0
  70. package/assets/fonts/noto/notosans-bold.woff2 +0 -0
  71. package/assets/fonts/noto/notosans-bolditalic.woff +0 -0
  72. package/assets/fonts/noto/notosans-bolditalic.woff2 +0 -0
  73. package/assets/fonts/noto/notosans-italic.woff +0 -0
  74. package/assets/fonts/noto/notosans-italic.woff2 +0 -0
  75. package/assets/fonts/noto/notosans-light.woff +0 -0
  76. package/assets/fonts/noto/notosans-light.woff2 +0 -0
  77. package/assets/fonts/noto/notosans-lightitalic.woff +0 -0
  78. package/assets/fonts/noto/notosans-lightitalic.woff2 +0 -0
  79. package/assets/fonts/noto/notosans-regular.woff +0 -0
  80. package/assets/fonts/noto/notosans-regular.woff2 +0 -0
  81. package/assets/fonts/noto/notosans-thin.woff +0 -0
  82. package/assets/fonts/noto/notosans-thin.woff2 +0 -0
  83. package/assets/fonts/noto/notosans-thinitalic.woff +0 -0
  84. package/assets/fonts/noto/notosans-thinitalic.woff2 +0 -0
  85. package/assets/fonts/noto/notosansarabic-bold.woff +0 -0
  86. package/assets/fonts/noto/notosansarabic-bold.woff2 +0 -0
  87. package/assets/fonts/noto/notosansarabic-light.woff +0 -0
  88. package/assets/fonts/noto/notosansarabic-light.woff2 +0 -0
  89. package/assets/fonts/noto/notosansarabic-regular.woff +0 -0
  90. package/assets/fonts/noto/notosansarabic-regular.woff2 +0 -0
  91. package/assets/fonts/noto/notosansarabic-thin.woff +0 -0
  92. package/assets/fonts/noto/notosansarabic-thin.woff2 +0 -0
  93. package/assets/fonts/noto/notosansgeorgian-bold.woff +0 -0
  94. package/assets/fonts/noto/notosansgeorgian-bold.woff2 +0 -0
  95. package/assets/fonts/noto/notosansgeorgian-light.woff +0 -0
  96. package/assets/fonts/noto/notosansgeorgian-light.woff2 +0 -0
  97. package/assets/fonts/noto/notosansgeorgian-regular.woff +0 -0
  98. package/assets/fonts/noto/notosansgeorgian-regular.woff2 +0 -0
  99. package/assets/fonts/noto/notosansgeorgian-thin.woff +0 -0
  100. package/assets/fonts/noto/notosansgeorgian-thin.woff2 +0 -0
  101. package/assets/fonts/noto/notosanshebrew-bold.woff +0 -0
  102. package/assets/fonts/noto/notosanshebrew-bold.woff2 +0 -0
  103. package/assets/fonts/noto/notosanshebrew-light.woff +0 -0
  104. package/assets/fonts/noto/notosanshebrew-light.woff2 +0 -0
  105. package/assets/fonts/noto/notosanshebrew-regular.woff +0 -0
  106. package/assets/fonts/noto/notosanshebrew-regular.woff2 +0 -0
  107. package/assets/fonts/noto/notosanshebrew-thin.woff +0 -0
  108. package/assets/fonts/noto/notosanshebrew-thin.woff2 +0 -0
  109. package/assets/fonts/source-sans-pro-bold/source-sans-pro-bold.woff +0 -0
  110. package/assets/fonts/source-sans-pro-bold/source-sans-pro-bold.woff2 +0 -0
  111. package/assets/fonts/source-sans-pro-full/sourcesanspro-full-bold.woff +0 -0
  112. package/assets/fonts/source-sans-pro-full/sourcesanspro-full-bold.woff2 +0 -0
  113. package/assets/fonts/source-sans-pro-full/sourcesanspro-full-bolditalic.woff +0 -0
  114. package/assets/fonts/source-sans-pro-full/sourcesanspro-full-bolditalic.woff2 +0 -0
  115. package/assets/fonts/source-sans-pro-full/sourcesanspro-full-italic.woff +0 -0
  116. package/assets/fonts/source-sans-pro-full/sourcesanspro-full-italic.woff2 +0 -0
  117. package/assets/fonts/source-sans-pro-full/sourcesanspro-full-light.woff +0 -0
  118. package/assets/fonts/source-sans-pro-full/sourcesanspro-full-light.woff2 +0 -0
  119. package/assets/fonts/source-sans-pro-full/sourcesanspro-full-lightitalic.woff +0 -0
  120. package/assets/fonts/source-sans-pro-full/sourcesanspro-full-lightitalic.woff2 +0 -0
  121. package/assets/fonts/source-sans-pro-full/sourcesanspro-full-regular.woff +0 -0
  122. package/assets/fonts/source-sans-pro-full/sourcesanspro-full-regular.woff2 +0 -0
  123. package/assets/fonts/source-sans-pro-light/source-sans-pro-light.woff +0 -0
  124. package/assets/fonts/source-sans-pro-light/source-sans-pro-light.woff2 +0 -0
  125. package/assets/fonts/source-sans-pro-regular/source-sans-pro-regular.woff +0 -0
  126. package/assets/fonts/source-sans-pro-regular/source-sans-pro-regular.woff2 +0 -0
  127. package/assets/fonts/source-sans-pro-semibold/source-sans-pro-semibold.woff +0 -0
  128. package/assets/fonts/source-sans-pro-semibold/source-sans-pro-semibold.woff2 +0 -0
  129. package/design-factory-initial-branding.css +0 -13
  130. package/design-factory-initial-branding.scss +0 -1
  131. package/design-factory-utilities.scss +0 -5
  132. package/design-factory.css +0 -13
  133. package/design-factory.scss +0 -3
  134. package/fesm2022/design-factory-design-factory-tokens-style-dictionary.mjs +0 -358
  135. package/fesm2022/design-factory-design-factory-tokens-style-dictionary.mjs.map +0 -1
  136. package/styles/scss/_common.mixins.scss +0 -30
  137. package/styles/scss/_common.root.scss +0 -70
  138. package/styles/scss/_common.scss +0 -51
  139. package/styles/scss/_common.variables.scss +0 -79
  140. package/styles/scss/_variables.scss +0 -61
  141. package/styles/scss/agnosui/_variables.scss +0 -28
  142. package/styles/scss/bootstrap/_maps.scss +0 -52
  143. package/styles/scss/bootstrap/_mixins-override.scss +0 -69
  144. package/styles/scss/bootstrap/_rtl-styles-override.scss +0 -127
  145. package/styles/scss/bootstrap/_utilities-override.scss +0 -25
  146. package/styles/scss/bootstrap/_variables-dark.scss +0 -86
  147. package/styles/scss/bootstrap/_variables.scss +0 -2622
  148. package/styles/scss/components/.gitkeep +0 -0
  149. package/styles/scss/components/accordion/_accordion.scss +0 -241
  150. package/styles/scss/components/accordion/_accordion.variables.scss +0 -19
  151. package/styles/scss/components/alert/_alert.scss +0 -236
  152. package/styles/scss/components/alert/_alert.variables.scss +0 -56
  153. package/styles/scss/components/badge/_badge.mixins.scss +0 -23
  154. package/styles/scss/components/badge/_badge.scss +0 -483
  155. package/styles/scss/components/badge/_badge.variables.scss +0 -28
  156. package/styles/scss/components/brand-color/_brand-color.mixins.scss +0 -42
  157. package/styles/scss/components/brand-color/_brand-color.scss +0 -20
  158. package/styles/scss/components/brand-color/_brand-color.variables.scss +0 -152
  159. package/styles/scss/components/brand-color/_brand-color_container.scss +0 -23
  160. package/styles/scss/components/breadcrumbs/_breadcrumbs.scss +0 -127
  161. package/styles/scss/components/breadcrumbs/_breadcrumbs.variables.scss +0 -21
  162. package/styles/scss/components/button/_button.scss +0 -1090
  163. package/styles/scss/components/button/_button.utils.scss +0 -35
  164. package/styles/scss/components/button/_button.variables.scss +0 -48
  165. package/styles/scss/components/button/_button_container.scss +0 -47
  166. package/styles/scss/components/card/_card.scss +0 -208
  167. package/styles/scss/components/card/_card.variables.scss +0 -33
  168. package/styles/scss/components/carousel/_carousel.scss +0 -51
  169. package/styles/scss/components/carousel/_carousel.variables.scss +0 -12
  170. package/styles/scss/components/checkbox/_checkbox.scss +0 -68
  171. package/styles/scss/components/checkbox/_checkbox.variables.scss +0 -7
  172. package/styles/scss/components/collapse/_collapse.scss +0 -99
  173. package/styles/scss/components/collapse/_collapse.variables.scss +0 -7
  174. package/styles/scss/components/datepicker/_datepicker.scss +0 -362
  175. package/styles/scss/components/datepicker/_datepicker.variables.scss +0 -64
  176. package/styles/scss/components/dropdown/_dropdown.mixins.scss +0 -8
  177. package/styles/scss/components/dropdown/_dropdown.scss +0 -178
  178. package/styles/scss/components/dropdown/_dropdown.variables.scss +0 -24
  179. package/styles/scss/components/fieldset/_fieldset.scss +0 -8
  180. package/styles/scss/components/fieldset/_fieldset.variables.scss +0 -2
  181. package/styles/scss/components/fonts/_font-awesome-icons-brands.scss +0 -1585
  182. package/styles/scss/components/fonts/_font-awesome-icons.scss +0 -12886
  183. package/styles/scss/components/fonts/_font-faces.mixins.scss +0 -579
  184. package/styles/scss/components/fonts/_fonts-family.scss +0 -229
  185. package/styles/scss/components/fonts/_fonts.root.scss +0 -28
  186. package/styles/scss/components/fonts/_fonts.scss +0 -101
  187. package/styles/scss/components/fonts/_fonts.variables.scss +0 -33
  188. package/styles/scss/components/fonts/_icon-font.scss +0 -94
  189. package/styles/scss/components/fonts/_icon-font.variables.scss +0 -14
  190. package/styles/scss/components/fonts/_multi-lang.mixins.scss +0 -8
  191. package/styles/scss/components/fonts/multi-lang/_arabic.mixins.scss +0 -12
  192. package/styles/scss/components/fonts/multi-lang/_chinese.mixins.scss +0 -21
  193. package/styles/scss/components/fonts/multi-lang/_cyrillic-extended.mixins.scss +0 -11
  194. package/styles/scss/components/fonts/multi-lang/_cyrillic.mixins.scss +0 -10
  195. package/styles/scss/components/fonts/multi-lang/_georgian.mixins.scss +0 -13
  196. package/styles/scss/components/fonts/multi-lang/_hebrew.mixins.scss +0 -13
  197. package/styles/scss/components/fonts/multi-lang/_japanese.mixins.scss +0 -33
  198. package/styles/scss/components/fonts/multi-lang/_korean.mixins.scss +0 -18
  199. package/styles/scss/components/footer/_footer.mixins.scss +0 -36
  200. package/styles/scss/components/footer/_footer.scss +0 -86
  201. package/styles/scss/components/footer/_footer.variables.scss +0 -14
  202. package/styles/scss/components/form/_form.scss +0 -206
  203. package/styles/scss/components/form/_form.variables.scss +0 -34
  204. package/styles/scss/components/icon/_amadeus-icon.scss +0 -39
  205. package/styles/scss/components/icon/_amadeus-icon.variables.scss +0 -4
  206. package/styles/scss/components/inputs/_inputs.mixin.scss +0 -125
  207. package/styles/scss/components/inputs/_inputs.root.scss +0 -8
  208. package/styles/scss/components/inputs/_inputs.scss +0 -292
  209. package/styles/scss/components/inputs/_inputs.variables.scss +0 -39
  210. package/styles/scss/components/link/_link.mixins.scss +0 -198
  211. package/styles/scss/components/link/_link.scss +0 -170
  212. package/styles/scss/components/link/_link.variables.scss +0 -55
  213. package/styles/scss/components/list/_list.scss +0 -20
  214. package/styles/scss/components/list/_list.variables.scss +0 -4
  215. package/styles/scss/components/list-group/_list-group.scss +0 -101
  216. package/styles/scss/components/list-group/_list-group.variables.scss +0 -10
  217. package/styles/scss/components/media/_media.scss +0 -89
  218. package/styles/scss/components/media/_media.variables.scss +0 -19
  219. package/styles/scss/components/modal/_modal.scss +0 -247
  220. package/styles/scss/components/modal/_modal.variables.scss +0 -29
  221. package/styles/scss/components/navbar/_navbar.mixins.scss +0 -55
  222. package/styles/scss/components/navbar/_navbar.scss +0 -563
  223. package/styles/scss/components/navbar/_navbar.variables.scss +0 -102
  224. package/styles/scss/components/pagination/_pagination.scss +0 -251
  225. package/styles/scss/components/pagination/_pagination.variables.scss +0 -35
  226. package/styles/scss/components/pagination/_pagination_container.scss +0 -17
  227. package/styles/scss/components/popover/_popover.mixin.scss +0 -46
  228. package/styles/scss/components/popover/_popover.scss +0 -45
  229. package/styles/scss/components/popover/_popover.variables.scss +0 -25
  230. package/styles/scss/components/popover/_popover_container.scss +0 -214
  231. package/styles/scss/components/progressbar/_progressbar.scss +0 -93
  232. package/styles/scss/components/progressbar/_progressbar.variables.scss +0 -28
  233. package/styles/scss/components/radio/_radio.scss +0 -50
  234. package/styles/scss/components/radio/_radio.variables.scss +0 -4
  235. package/styles/scss/components/rating/_rating.scss +0 -118
  236. package/styles/scss/components/rating/_rating.variables.scss +0 -20
  237. package/styles/scss/components/scrollspy/_scrollspy.scss +0 -88
  238. package/styles/scss/components/scrollspy/_scrollspy.variables.scss +0 -23
  239. package/styles/scss/components/select/_select.mixin.scss +0 -34
  240. package/styles/scss/components/select/_select.scss +0 -804
  241. package/styles/scss/components/select/_select.variables.scss +0 -89
  242. package/styles/scss/components/separator/_separator.scss +0 -9
  243. package/styles/scss/components/separator/_separator.variables.scss +0 -1
  244. package/styles/scss/components/sidenav/_sidenav.scss +0 -347
  245. package/styles/scss/components/sidenav/_sidenav.variables.scss +0 -104
  246. package/styles/scss/components/skip-links/_skip-links.scss +0 -40
  247. package/styles/scss/components/skip-links/_skip-links.variables.scss +0 -9
  248. package/styles/scss/components/slider/_slider.scss +0 -422
  249. package/styles/scss/components/slider/_slider.variables.scss +0 -59
  250. package/styles/scss/components/speechbubble/_speechbubble.scss +0 -166
  251. package/styles/scss/components/speechbubble/_speechbubble.variables.scss +0 -27
  252. package/styles/scss/components/spinner/_spinner.scss +0 -126
  253. package/styles/scss/components/spinner/_spinner.variables.scss +0 -30
  254. package/styles/scss/components/spinner/_spinner_container.scss +0 -43
  255. package/styles/scss/components/stepper/_stepper.mixins.scss +0 -176
  256. package/styles/scss/components/stepper/_stepper.scss +0 -254
  257. package/styles/scss/components/stepper/_stepper.variables.scss +0 -88
  258. package/styles/scss/components/table/_advancedtables.scss +0 -306
  259. package/styles/scss/components/table/_table.scss +0 -19
  260. package/styles/scss/components/table/_table.variables.scss +0 -37
  261. package/styles/scss/components/tabs/_tabs.scss +0 -277
  262. package/styles/scss/components/tabs/_tabs.variables.scss +0 -36
  263. package/styles/scss/components/timepicker/_timepicker.scss +0 -5
  264. package/styles/scss/components/timepicker/_timepicker.variables.scss +0 -1
  265. package/styles/scss/components/toast/_toast.scss +0 -354
  266. package/styles/scss/components/toast/_toast.variables.scss +0 -18
  267. package/styles/scss/components/toggle/_toggle.scss +0 -145
  268. package/styles/scss/components/toggle/_toggle.variables.scss +0 -22
  269. package/styles/scss/components/tooltip/_tooltip.scss +0 -24
  270. package/styles/scss/components/tooltip/_tooltip.variables.scss +0 -6
  271. package/styles/scss/components/tooltip/_tooltip_container.scss +0 -116
  272. package/styles/scss/components/typeahead/_typeahead.scss +0 -59
  273. package/styles/scss/components/typeahead/_typeahead.variables.scss +0 -11
  274. package/styles/scss/df-styles-namespace.scss +0 -165
  275. package/styles/scss/df-styles.scss +0 -117
  276. package/styles/scss/themes/brand2023/_variables.scss +0 -1140
  277. package/styles/scss/themes/brand2023/tokens/_mapping.gen.scss +0 -868
  278. package/styles/scss/themes/brand2023/tokens/_root.gen.scss +0 -1709
  279. package/styles/scss/themes/brand2023/tokens/_sass-vars.gen.scss +0 -1468
  280. package/styles/scss/utilities/_common.utilities.scss +0 -205
  281. package/styles/scss/utilities/_form.mixins.scss +0 -26
  282. package/styles/scss/utilities/_rgb.scss +0 -10
  283. package/tokens/style-dictionary/index.d.ts +0 -60
@@ -1,1090 +0,0 @@
1
- @use 'sass:meta';
2
- @use 'sass:map';
3
- @import 'button.utils';
4
-
5
- // stylelint-disable scss/dollar-variable-pattern, scss/dollar-variable-default
6
- $isBrand2023: meta.variable-exists(
7
- $name: 'df-enableBranding2023'
8
- )
9
- and $df-enableBranding2023;
10
-
11
- $mapped-theme-colors: ();
12
- @each $color, $value in $theme-colors {
13
- $mapped-theme-colors: map.set($mapped-theme-colors, $color, $color);
14
- }
15
- @if ($isBrand2023) {
16
- $mapped-theme-colors: map.set($mapped-theme-colors, 'info', 'primary');
17
- $mapped-theme-colors: map.remove($mapped-theme-colors, 'secondary');
18
- $mapped-theme-colors: map.remove($mapped-theme-colors, 'light');
19
- $mapped-theme-colors: map.remove($mapped-theme-colors, 'dark');
20
- }
21
- // stylelint-enable scss/dollar-variable-pattern, scss/dollar-variable-default
22
-
23
- .btn {
24
- // DF variables
25
- --#{$prefix}btn-cursor-disabled: #{$df-btn-cursor-disabled};
26
- --#{$prefix}btn-display: #{$df-btn-display};
27
- --#{$prefix}btn-icon-margin-end: #{$df-btn-icon-margin-end};
28
- --#{$prefix}btn-min-width-xl: #{$df-btn-min-width-xl};
29
- --#{$prefix}btn-focus-only-color: #{$body-color};
30
- --#{$prefix}btn-focus-only-bg: #{$df-btn-focus-only-bg-color};
31
- --#{$prefix}btn-focus-only-border-color: #{$df-btn-focus-only-bg-color};
32
- --#{$prefix}box-shadow-blur: #{$df-btn-focus-box-shadow-blur};
33
- --#{$prefix}box-shadow-color: #{$df-btn-focus-box-shadow-color};
34
- --#{$prefix}btn-focus-box-shadow: #{$df-btn-focus-box-shadow}; // override BS
35
- --#{$prefix}btn-bg: #{$df-btn-bg-color};
36
- @if $isBrand2023 {
37
- --#{$prefix}btn-border-radius: var(--#{$prefix}button-borderRadius-main-medium);
38
- }
39
-
40
- display: var(--#{$prefix}btn-display);
41
- align-items: center;
42
- justify-content: center;
43
-
44
- @if $isBrand2023 {
45
- &.btn-sm {
46
- --#{$prefix}btn-border-radius: var(--#{$prefix}button-borderRadius-main-small);
47
- }
48
-
49
- &.btn-lg {
50
- --#{$prefix}btn-border-radius: var(--#{$prefix}button-borderRadius-main-large);
51
- }
52
- }
53
-
54
- &.disabled,
55
- &:disabled {
56
- .btn-check:checked + &,
57
- :not(.btn-check) + &:active,
58
- &:first-child:active,
59
- &.active,
60
- &.show {
61
- color: var(--#{$prefix}btn-disabled-color);
62
- background-color: var(--#{$prefix}btn-disabled-bg);
63
- background-image: if($enable-gradients, none, null);
64
- border-color: var(--#{$prefix}btn-disabled-border-color);
65
- opacity: var(--#{$prefix}btn-disabled-opacity);
66
- @include box-shadow(none);
67
- }
68
-
69
- cursor: var(--#{$prefix}btn-cursor-disabled);
70
- pointer-events: auto; // override
71
- }
72
-
73
- [class*='icon-']:only-of-type,
74
- [class*='fa-']:only-of-type {
75
- &::before {
76
- @include ltr {
77
- margin-right: var(--#{$prefix}btn-icon-margin-end);
78
- }
79
- @include rtl {
80
- margin-left: var(--#{$prefix}btn-icon-margin-end);
81
- }
82
- }
83
- }
84
-
85
- &:focus-visible:not(:hover):not(:active) {
86
- color: var(--#{$prefix}btn-focus-only-color);
87
- background-color: var(--#{$prefix}btn-focus-only-bg);
88
- border-color: var(--#{$prefix}btn-focus-only-border-color);
89
-
90
- // workaround for high contrast mode that doesn't display box-shadow
91
- @media (prefers-contrast: more) {
92
- outline: 2px solid transparent;
93
- }
94
- }
95
-
96
- // TODO - Rework the placeholder component and the style of the button
97
- &.placeholder {
98
- display: inline-block;
99
- background-color: currentColor;
100
- opacity: $placeholder-opacity-max;
101
- pointer-events: none;
102
- }
103
-
104
- //TODO: delete brand2023 => needed only for old branding
105
- //TODO: remember to delete all usages
106
- &.df-btn-bg-white:not(:hover):not(:active) {
107
- background-color: $df-btn-bg-color-white;
108
- }
109
- }
110
-
111
- .btn-close {
112
- --#{$prefix}box-shadow-width: #{$df-btn-close-focus-shadow-width};
113
- @if $isBrand2023 {
114
- &:hover {
115
- background-color: var(--#{$prefix}button-text-basic-color-neutral-hovered-background);
116
- }
117
- &:active {
118
- background-color: var(--#{$prefix}button-text-basic-color-neutral-pressed-background);
119
- }
120
- }
121
- }
122
-
123
- .show > .btn:not(:disabled):not(.disabled).dropdown-toggle {
124
- &:not(.nav-link) {
125
- color: var(--#{$prefix}btn-active-color);
126
- background-color: var(--#{$prefix}btn-active-bg);
127
- }
128
- }
129
-
130
- .df-btn-icononly {
131
- --#{$prefix}btn-icononly-size: #{df-button-icononly-size($btn-padding-y)};
132
- --#{$prefix}btn-icononly-size-sm: #{df-button-icononly-size($btn-padding-y-sm)};
133
- --#{$prefix}btn-icononly-size-lg: #{df-button-icononly-size($btn-padding-y-lg)};
134
- --#{$prefix}btn-icononly-size-xl: #{df-button-icononly-size($btn-padding-y-lg)};
135
-
136
- --#{$prefix}btn-border-width: #{$df-btn-icononly-border-width};
137
- --#{$prefix}btn-border-radius: #{$df-btn-icononly-border-radius};
138
- --#{$prefix}btn-padding-x: #{$df-btn-icononly-padding-x};
139
- --#{$prefix}btn-padding-y: #{$df-btn-icononly-padding-y};
140
-
141
- width: var(--#{$prefix}btn-icononly-size);
142
- height: var(--#{$prefix}btn-icononly-size);
143
-
144
- &.btn-sm {
145
- --#{$prefix}btn-border-radius: #{$df-btn-icononly-border-radius-sm};
146
- width: var(--#{$prefix}btn-icononly-size-sm);
147
- height: var(--#{$prefix}btn-icononly-size-sm);
148
- }
149
-
150
- &.btn-lg {
151
- --#{$prefix}btn-border-radius: #{$df-btn-icononly-border-radius-lg};
152
- width: var(--#{$prefix}btn-icononly-size-lg);
153
- height: var(--#{$prefix}btn-icononly-size-lg);
154
- }
155
-
156
- &.df-btn-xl {
157
- --#{$prefix}btn-padding-x: #{$df-btn-icononly-padding-x};
158
- --#{$prefix}btn-padding-y: #{$df-btn-icononly-padding-y};
159
- --#{$prefix}btn-border-radius: #{$df-btn-icononly-border-radius};
160
-
161
- width: var(--#{$prefix}btn-icononly-size-xl);
162
- height: var(--#{$prefix}btn-icononly-size-xl);
163
- min-width: auto;
164
- }
165
- }
166
-
167
- .btn-check {
168
- @if not $isBrand2023 {
169
- &:checked {
170
- + .btn:hover {
171
- --#{$prefix}btn-active-bg: #{shades-css-var-brand2023(
172
- 'button-solid-basic-color-primary-hovered-background',
173
- 'primary',
174
- 'bg-hover-color'
175
- )};
176
- --#{$prefix}btn-active-border-color: #{shades-css-var-brand2023(
177
- 'button-solid-basic-color-primary-hovered-background',
178
- 'primary',
179
- 'bg-hover-color'
180
- )};
181
- }
182
- }
183
- }
184
-
185
- &:not(:checked) {
186
- + .btn:hover {
187
- --#{$prefix}btn-bg: var(--#{$prefix}btn-hover-bg);
188
- --#{$prefix}btn-border-color: var(--#{$prefix}btn-hover-border-color);
189
- --#{$prefix}btn-color: var(--#{$prefix}btn-hover-color);
190
- }
191
- }
192
-
193
- &:focus-visible:not(:checked):not(:hover) {
194
- // override BS (issue to open)
195
- + .btn {
196
- color: var(--#{$prefix}btn-focus-only-color);
197
- @include gradient-bg(var(--#{$prefix}btn-focus-only-bg));
198
- border-color: var(--#{$prefix}btn-focus-only-border-color);
199
- }
200
- }
201
-
202
- @if meta.variable-exists(df-btn-group-hover-box-shadow-color) {
203
- &:focus-visible:not(:checked):hover {
204
- // override BS (issue to open)
205
- + .btn {
206
- --#{$prefix}box-shadow-color: #{$df-btn-group-hover-box-shadow-color};
207
- }
208
- }
209
- }
210
- @if meta.variable-exists(df-btn-group-checked-box-shadow-color) {
211
- &:focus-visible:checked {
212
- // override BS (issue to open)
213
- + .btn {
214
- --#{$prefix}box-shadow-color: #{$df-btn-group-checked-box-shadow-color};
215
- }
216
- }
217
- }
218
-
219
- &:focus-visible {
220
- + .btn {
221
- // Avoid using mixin so we can pass custom focus shadow properly
222
- @if $enable-shadows {
223
- box-shadow: var(--#{$prefix}btn-box-shadow), var(--#{$prefix}btn-focus-box-shadow);
224
- } @else {
225
- box-shadow: var(--#{$prefix}btn-focus-box-shadow);
226
- }
227
- }
228
- }
229
-
230
- &.disabled,
231
- &:disabled {
232
- + .btn {
233
- cursor: var(--#{$prefix}btn-cursor-disabled);
234
- pointer-events: auto;
235
- color: var(--#{$prefix}btn-disabled-color);
236
- background-color: var(--#{$prefix}btn-disabled-bg);
237
- border-color: var(--#{$prefix}btn-disabled-border-color);
238
- opacity: var(--#{$prefix}btn-disabled-opacity);
239
- }
240
- }
241
- }
242
-
243
- .df-btn-xl {
244
- @include button-size($df-btn-padding-y-xl, $df-btn-padding-x-xl, $df-btn-font-size-xl, $df-btn-border-radius-xl);
245
- min-width: var(--#{$prefix}btn-min-width-xl);
246
- }
247
-
248
- // Spaced button group override
249
- .btn-group {
250
- --#{$prefix}btn-group-spaced-margin-bottom: #{$df-btn-group-spaced-margin-bottom};
251
- --#{$prefix}btn-group-spaced-margin-end: #{$df-btn-group-spaced-margin-end};
252
-
253
- &.df-btn-group-spaced {
254
- flex-wrap: wrap;
255
-
256
- > .btn {
257
- flex: 0 1 auto;
258
- margin-bottom: var(--#{$prefix}btn-group-spaced-margin-bottom);
259
- @include ltr {
260
- margin-right: var(--#{$prefix}btn-group-spaced-margin-end);
261
- }
262
- @include rtl {
263
- margin-left: var(--#{$prefix}btn-group-spaced-margin-end);
264
- }
265
- }
266
-
267
- &.btn-group-sm {
268
- @include df-reset-buttongroup-radius($btn-border-radius-sm);
269
- }
270
-
271
- &.btn-group-lg {
272
- @include df-reset-buttongroup-radius($btn-border-radius-lg);
273
- }
274
-
275
- &:not(.btn-group-sm):not(.btn-group-lg) {
276
- @include df-reset-buttongroup-radius($btn-border-radius);
277
- }
278
- }
279
- }
280
-
281
- // btn-link
282
- // Make a button look and behave like a link
283
- .btn-link {
284
- --#{$prefix}btn-link-text-decoration: #{$df-btn-link-td};
285
- --#{$prefix}btn-link-hover-text-decoration: #{$df-btn-link-hover-td};
286
- --#{$prefix}btn-link-focus-text-decoration: #{$df-btn-link-focus-td};
287
- --#{$prefix}btn-link-active-text-decoration: #{$df-btn-link-active-td};
288
- --#{$prefix}btn-padding-x: #{$df-btn-link-padding-x};
289
- --#{$prefix}btn-box-shadow: #{$btn-box-shadow};
290
- --#{$prefix}btn-hover-bg: #{$df-btn-link-hover-bg-color};
291
- --#{$prefix}btn-active-bg: #{$df-btn-link-active-bg-color};
292
- --#{$prefix}btn-focus-only-color: var(--#{$prefix}link-color);
293
- --#{$prefix}btn-active-color: #{$df-btn-link-active-color}; // override BS that does not have a var
294
-
295
- text-decoration: var(--#{$prefix}btn-link-text-decoration);
296
-
297
- &.btn-lg {
298
- --#{$prefix}btn-padding-x: #{$df-btn-link-padding-x-lg};
299
- }
300
-
301
- &.btn-sm {
302
- --#{$prefix}btn-padding-x: #{$df-btn-link-padding-x-sm};
303
- }
304
-
305
- &:disabled,
306
- &.disabled {
307
- color: var(--#{$prefix}btn-disabled-color);
308
- text-decoration: var(--#{$prefix}btn-link-text-decoration);
309
- }
310
-
311
- &:not(:disabled):not(.disabled) {
312
- &:hover {
313
- text-decoration: var(--#{$prefix}btn-link-hover-text-decoration);
314
- }
315
-
316
- &:active,
317
- &.active {
318
- text-decoration: var(--#{$prefix}btn-link-active-text-decoration);
319
- }
320
-
321
- &:focus-visible {
322
- text-decoration: var(--#{$prefix}btn-link-focus-text-decoration);
323
- box-shadow: var(--#{$prefix}btn-focus-box-shadow);
324
-
325
- &:hover:not(:active) {
326
- --#{$prefix}box-shadow-color: #{$df-btn-outline-focus-hover-box-shadow-color};
327
- }
328
-
329
- &:active {
330
- color: var(--#{$prefix}btn-active-color);
331
- --#{$prefix}box-shadow-color: #{$df-btn-outline-focus-active-box-shadow-color};
332
- }
333
- }
334
- }
335
- }
336
-
337
- // Modify actual button from bootstrap
338
- @each $colorClass, $color in $mapped-theme-colors {
339
- $bgHoverColor: shades-css-var-brand2023(
340
- varWithDefault(
341
- 'button-solid-basic-color-' + #{$color} + '-hovered-background',
342
- 'color-' + #{$color} + '-main-hovered-background'
343
- ),
344
- $color,
345
- 'bg-hover-color'
346
- );
347
- $bgActiveColor: shades-css-var-brand2023(
348
- varWithDefault(
349
- 'button-solid-basic-color-' + #{$color} + '-pressed-background',
350
- 'color-' + #{$color} + '-main-pressed-background'
351
- ),
352
- $color,
353
- 'bg-active-color'
354
- );
355
- $bgFocusOnlyColor: shades-css-var-brand2023(
356
- varWithDefault(
357
- 'button-solid-basic-color-' + #{$color} + '-default-background',
358
- 'color-' + #{$color} + '-main-default-background'
359
- ),
360
- $color,
361
- 'bg-color'
362
- );
363
-
364
- .btn-#{$colorClass} {
365
- // stylelint-disable custom-property-no-missing-var-function
366
- --#{$prefix}btn-color: #{shades-css-var-brand2023(
367
- varWithDefault(
368
- 'button-solid-basic-color-' + #{$color} + '-default-foreground',
369
- 'color-' + #{$color} + '-main-default-foreground'
370
- ),
371
- $color,
372
- 'bg-color',
373
- true
374
- )};
375
- --#{$prefix}btn-bg: #{shades-css-var-brand2023(
376
- varWithDefault(
377
- 'button-solid-basic-color-' + #{$color} + '-default-background',
378
- 'color-' + #{$color} + '-main-default-background'
379
- ),
380
- $color,
381
- 'bg-color'
382
- )};
383
- --#{$prefix}btn-border-color: #{shades-css-var-brand2023(
384
- varWithDefault(
385
- 'button-solid-basic-color-' + #{$color} + '-default-border',
386
- 'color-' + #{$color} + '-main-default-border'
387
- ),
388
- $color,
389
- 'bg-color'
390
- )};
391
- --#{$prefix}btn-hover-color: #{shades-css-var-brand2023(
392
- varWithDefault(
393
- 'button-solid-basic-color-' + #{$color} + '-hovered-foreground',
394
- 'color-' + #{$color} + '-main-hovered-foreground'
395
- ),
396
- $color,
397
- 'bg-hover-color',
398
- true
399
- )};
400
- --#{$prefix}btn-hover-bg: #{$bgHoverColor};
401
- --#{$prefix}btn-hover-border-color: #{$bgHoverColor}; // Should we use a border color mapping here ?
402
- --#{$prefix}btn-active-color: #{shades-css-var-brand2023(
403
- varWithDefault(
404
- 'button-solid-basic-color-' + #{$color} + '-pressed-foreground',
405
- 'color-' + #{$color} + '-main-pressed-foreground'
406
- ),
407
- $color,
408
- 'bg-active-color',
409
- true
410
- )};
411
- --#{$prefix}btn-active-bg: #{$bgActiveColor};
412
- --#{$prefix}btn-active-border-color: #{$bgActiveColor};
413
-
414
- --#{$prefix}btn-disabled-color: #{variable-switch-brand2023(
415
- 'button-solid-basic-color-disabled-foreground',
416
- $df-btn-disabled-text-color
417
- )};
418
-
419
- --#{$prefix}btn-disabled-bg: #{variable-switch-brand2023(
420
- 'button-solid-basic-color-disabled-background',
421
- $df-btn-disabled-bg-color
422
- )};
423
-
424
- --#{$prefix}btn-disabled-border-color: #{variable-switch-brand2023(
425
- 'button-solid-basic-color-disabled-background',
426
- $df-btn-disabled-border-color
427
- )};
428
-
429
- --#{$prefix}btn-focus-only-color: #{shades-css-var-brand2023(
430
- varWithDefault(
431
- 'button-solid-basic-color-' + #{$color} + '-default-foreground',
432
- 'color-' + #{$color} + '-main-default-foreground'
433
- ),
434
- $color,
435
- 'bg-color',
436
- true
437
- )};
438
- --#{$prefix}btn-focus-only-bg: #{$bgFocusOnlyColor};
439
- --#{$prefix}btn-focus-only-border-color: #{$bgFocusOnlyColor};
440
- --#{$prefix}btn-check-active-hover-color: #{var(--#{$prefix}btn-active-color)};
441
- --#{$prefix}btn-check-active-hover-bg: #{var(--#{$prefix}btn-active-bg)};
442
- --#{$prefix}btn-check-active-hover-border-color: #{var(--#{$prefix}btn-active-border-color)};
443
- --#{$prefix}btn-focus-shadow-rgb: #{shades-rgb-css-var-brand2023(
444
- varWithDefault(
445
- 'button-solid-basic-color-' + #{$color} + '-default-border',
446
- 'color-' + #{$color} + '-main-default-border'
447
- ),
448
- $color,
449
- 'bg-color'
450
- )};
451
- // stylelint-enable custom-property-no-missing-var-function
452
- &:focus-visible {
453
- --#{$prefix}btn-focus-box-shadow: #{$df-btn-focus-box-shadow}; // override BS
454
- --#{$prefix}box-shadow-color: #{variable-switch-brand2023(
455
- varWithDefault(
456
- 'button-solid-basic-color-' + #{$color} + '-default-border',
457
- 'color-' + #{$color} + '-main-default-border'
458
- ),
459
- $df-btn-focus-box-shadow-color
460
- )};
461
- box-shadow: var(--#{$prefix}btn-focus-box-shadow);
462
- }
463
-
464
- &:focus-visible:hover:not(:active) {
465
- --#{$prefix}box-shadow-color: #{variable-switch-brand2023(
466
- varWithDefault(
467
- 'button-solid-basic-color-' + #{$color} + '-hovered-border',
468
- 'color-' + #{$color} + '-main-hovered-border'
469
- ),
470
- $df-btn-focus-hover-box-shadow-color
471
- )};
472
- }
473
-
474
- &:focus-visible:active {
475
- --#{$prefix}box-shadow-color: #{variable-switch-brand2023(
476
- varWithDefault(
477
- 'button-solid-basic-color-' + #{$color} + '-pressed-border',
478
- 'color-' + #{$color} + '-main-pressed-border'
479
- ),
480
- $df-btn-focus-active-box-shadow-color
481
- )};
482
- }
483
- }
484
-
485
- .df-btn-#{$colorClass}-mirror {
486
- // stylelint-disable custom-property-no-missing-var-function
487
- --#{$prefix}btn-color: #{shades-css-var-brand2023(
488
- 'button-solid-mirror-color-' + #{$color} + '-default-foreground',
489
- $color,
490
- 'text-color',
491
- false,
492
- true
493
- )};
494
- --#{$prefix}btn-bg: #{shades-css-var-brand2023(
495
- 'button-solid-mirror-color-' + #{$color} + '-default-background',
496
- $color,
497
- 'bg-color',
498
- false,
499
- true
500
- )};
501
- --#{$prefix}btn-border-color: var(--#{$prefix}btn-bg);
502
- --#{$prefix}btn-hover-color: #{shades-css-var-brand2023(
503
- 'button-solid-mirror-color-' + #{$color} + '-hovered-foreground',
504
- $color,
505
- 'text-color',
506
- false,
507
- true
508
- )};
509
- --#{$prefix}btn-hover-bg: #{shades-css-var-brand2023(
510
- 'button-solid-mirror-color-' + #{$color} + '-hovered-background',
511
- $color,
512
- 'bg-hover-color',
513
- false,
514
- true
515
- )};
516
- --#{$prefix}btn-hover-border-color: var(--#{$prefix}btn-hover-bg);
517
- --#{$prefix}btn-active-color: #{shades-css-var-brand2023(
518
- 'button-solid-mirror-color-' + #{$color} + '-pressed-foreground',
519
- $color,
520
- 'text-color',
521
- false,
522
- true
523
- )};
524
- --#{$prefix}btn-active-bg: #{shades-css-var-brand2023(
525
- 'button-solid-mirror-color-' + #{$color} + '-pressed-background',
526
- $color,
527
- 'bg-active-color',
528
- false,
529
- true
530
- )};
531
- --#{$prefix}btn-active-border-color: var(--#{$prefix}btn-active-bg);
532
-
533
- --#{$prefix}btn-disabled-color: #{variable-switch-brand2023(
534
- 'button-solid-mirror-color-disabled-foreground',
535
- $df-btn-disabled-text-color
536
- )};
537
-
538
- --#{$prefix}btn-disabled-bg: #{variable-switch-brand2023(
539
- 'button-solid-mirror-color-disabled-background',
540
- $df-btn-disabled-bg-color
541
- )};
542
-
543
- --#{$prefix}btn-disabled-border-color: #{variable-switch-brand2023(
544
- 'button-solid-mirror-color-disabled-background',
545
- $df-btn-disabled-border-color
546
- )};
547
-
548
- --#{$prefix}btn-focus-only-color: #{shades-css-var-brand2023(
549
- 'button-solid-mirror-color-' + #{$color} + '-default-foreground',
550
- $color,
551
- 'text-color',
552
- false,
553
- true
554
- )};
555
- --#{$prefix}btn-focus-only-bg: #{$bgFocusOnlyColor};
556
- --#{$prefix}btn-focus-only-border-color: #{$bgFocusOnlyColor};
557
- // stylelint-enable custom-property-no-missing-var-function
558
- &:focus-visible {
559
- --#{$prefix}box-shadow-color: #{variable-switch-brand2023(
560
- 'button-solid-mirror-color-' + #{$color} + '-default-border',
561
- var(--#{$prefix}btn-bg)
562
- )};
563
-
564
- &:not(:active):not(:hover) {
565
- color: var(--#{$prefix}btn-color);
566
- background-color: var(--#{$prefix}btn-bg);
567
- border-color: var(--#{$prefix}btn-bg);
568
- }
569
-
570
- &:hover {
571
- --#{$prefix}box-shadow-color: #{variable-switch-brand2023(
572
- 'button-solid-mirror-color-' + #{$color} + '-hovered-border',
573
- var(--#{$prefix}btn-hover-bg)
574
- )};
575
- }
576
-
577
- &:active {
578
- --#{$prefix}box-shadow-color: #{variable-switch-brand2023(
579
- 'button-solid-mirror-color-' + #{$color} + '-pressed-border',
580
- var(--#{$prefix}btn-active-bg)
581
- )};
582
- }
583
- }
584
- }
585
-
586
- .btn-outline-#{$colorClass} {
587
- // stylelint-disable custom-property-no-missing-var-function
588
- --#{$prefix}btn-color: #{shades-css-var-brand2023(
589
- varWithDefault(
590
- 'button-outline-basic-color-' + #{$color} + '-default-foreground',
591
- 'color-' + #{$color} + '-alt-default-border'
592
- ),
593
- $color,
594
- 'text-color'
595
- )};
596
- @if $isBrand2023 {
597
- --#{$prefix}btn-bg: var(--#{$prefix}button-outline-basic-color-#{$color}-default-background);
598
- }
599
- --#{$prefix}btn-border-color: #{shades-css-var-brand2023(
600
- varWithDefault(
601
- 'button-outline-basic-color-' + #{$color} + '-default-border',
602
- 'color-' + #{$color} + '-alt-default-border'
603
- ),
604
- $color,
605
- 'border-color'
606
- )};
607
- --#{$prefix}btn-hover-color: #{shades-css-var-brand2023(
608
- varWithDefault(
609
- 'button-outline-basic-color-' + #{$color} + '-hovered-foreground',
610
- 'color-' + #{$color} + '-alt-hovered-foreground'
611
- ),
612
- $color,
613
- 'text-hover-color'
614
- )};
615
- --#{$prefix}btn-hover-border-color: #{shades-css-var-brand2023(
616
- varWithDefault(
617
- 'button-outline-basic-color-' + #{$color} + '-hovered-border',
618
- 'color-' + #{$color} + '-alt-hovered-border'
619
- ),
620
- $color,
621
- 'bg-hover-color'
622
- )};
623
- --#{$prefix}btn-hover-bg: #{shades-css-var-brand2023(
624
- varWithDefault(
625
- 'button-outline-basic-color-' + #{$color} + '-hovered-background',
626
- 'color-' + #{$color} + '-alt-hovered-background'
627
- ),
628
- $color,
629
- 'bg-hover-alt-color'
630
- )}; //bg-subtle-hover-color
631
- --#{$prefix}btn-disabled-color: #{variable-switch-brand2023(
632
- 'button-outline-basic-color-disabled-foreground',
633
- $df-btn-disabled-text-color
634
- )};
635
-
636
- @if $isBrand2023 {
637
- --#{$prefix}btn-disabled-bg: var(--#{$prefix}button-outline-basic-color-disabled-background);
638
- }
639
-
640
- --#{$prefix}btn-disabled-border-color: #{variable-switch-brand2023(
641
- 'button-outline-basic-color-disabled-border',
642
- $df-btn-disabled-border-color
643
- )};
644
-
645
- --#{$prefix}btn-active-color: #{shades-css-var-brand2023(
646
- varWithDefault(
647
- 'button-outline-basic-color-' + #{$color} + '-pressed-foreground',
648
- 'color-' + #{$color} + '-alt-pressed-foreground'
649
- ),
650
- $color,
651
- 'bg-active-color'
652
- )};
653
- --#{$prefix}btn-active-border-color: #{shades-css-var-brand2023(
654
- varWithDefault(
655
- 'button-outline-basic-color-' + #{$color} + '-pressed-border',
656
- 'color-' + #{$color} + '-alt-pressed-border'
657
- ),
658
- $color,
659
- 'bg-active-color'
660
- )};
661
- --#{$prefix}btn-active-bg: #{shades-css-var-brand2023(
662
- varWithDefault(
663
- 'button-outline-basic-color-' + #{$color} + '-pressed-background',
664
- 'color-' + #{$color} + '-alt-pressed-background'
665
- ),
666
- $color,
667
- 'bg-active-alt-color'
668
- )}; //bg-subtle-active-color
669
- --#{$prefix}btn-focus-only-color: #{shades-css-var-brand2023(
670
- varWithDefault(
671
- 'button-outline-basic-color-' + #{$color} + '-default-foreground',
672
- 'color-' + #{$color} + '-alt-default-foreground'
673
- ),
674
- $color,
675
- 'text-color'
676
- )};
677
- --#{$prefix}btn-focus-only-bg: #{var(--#{$prefix}btn-bg)};
678
- --#{$prefix}btn-focus-only-border-color: #{shades-css-var-brand2023(
679
- varWithDefault(
680
- 'button-outline-basic-color-' + #{$color} + '-default-border',
681
- 'color-' + #{$color} + '-alt-default-border'
682
- ),
683
- $color,
684
- 'border-color'
685
- )};
686
- --#{$prefix}btn-check-active-hover-color: #{shades-css-var-brand2023(
687
- varWithDefault(
688
- 'button-outline-basic-color-' + #{$color} + '-activeHovered-foreground',
689
- 'color-' + #{$color} + '-alt-activeHovered-foreground'
690
- ),
691
- $color,
692
- 'bg-active-color',
693
- true
694
- )};
695
- --#{$prefix}btn-check-active-hover-bg: #{$bgHoverColor};
696
- --#{$prefix}btn-check-active-hover-border-color: #{var(--#{$prefix}btn-active-border-color)};
697
- --#{$prefix}btn-focus-shadow-rgb: #{shades-rgb-css-var-brand2023(
698
- varWithDefault(
699
- 'df-button-outline-basic-color-#{$color}-default-border',
700
- 'color-' + #{$color} + '-alt-default-border'
701
- ),
702
- $color,
703
- 'bg-color'
704
- )};
705
- // stylelint-enable custom-property-no-missing-var-function
706
- &:focus-visible {
707
- --#{$prefix}btn-focus-box-shadow: #{$df-btn-focus-box-shadow}; // override BS
708
- --#{$prefix}box-shadow-color: #{variable-switch-brand2023(
709
- varWithDefault(
710
- 'button-outline-basic-color-' + #{$color} + '-default-border',
711
- 'color-' + #{$color} + '-alt-default-border'
712
- ),
713
- $df-btn-outline-focus-box-shadow-color
714
- )};
715
- box-shadow: var(--#{$prefix}btn-focus-box-shadow);
716
- }
717
-
718
- &:focus-visible:hover:not(:active):not(.active) {
719
- --#{$prefix}box-shadow-color: #{variable-switch-brand2023(
720
- varWithDefault(
721
- 'button-outline-basic-color-' + #{$color} + '-hovered-border',
722
- 'color-' + #{$color} + '-alt-hovered-border'
723
- ),
724
- $df-btn-outline-focus-hover-box-shadow-color
725
- )};
726
- }
727
-
728
- &:focus-visible:active,
729
- &.active:focus-visible {
730
- --#{$prefix}box-shadow-color: #{variable-switch-brand2023(
731
- varWithDefault(
732
- 'button-outline-basic-color-' + #{$color} + '-pressed-border',
733
- 'color-' + #{$color} + '-alt-pressed-border'
734
- ),
735
- $df-btn-outline-focus-active-box-shadow-color
736
- )};
737
- }
738
- }
739
-
740
- .df-btn-outline-#{$colorClass}-mirror {
741
- // stylelint-disable custom-property-no-missing-var-function
742
- --#{$prefix}btn-color: #{shades-css-var-brand2023(
743
- 'button-outline-mirror-color-' + #{$color} + '-default-foreground',
744
- $color,
745
- 'bg-color',
746
- false,
747
- true
748
- )};
749
- @if $isBrand2023 {
750
- --#{$prefix}btn-bg: var(--#{$prefix}button-outline-mirror-color-#{$color}-default-background);
751
- }
752
- --#{$prefix}btn-border-color: var(--#{$prefix}btn-color);
753
- --#{$prefix}btn-hover-color: #{shades-css-var-brand2023(
754
- 'button-outline-mirror-color-' + #{$color} + '-hovered-foreground',
755
- $color,
756
- 'bg-hover-color',
757
- false,
758
- true
759
- )};
760
- --#{$prefix}btn-hover-border-color: var(--#{$prefix}btn-hover-color);
761
- --#{$prefix}btn-hover-bg: #{shades-css-var-brand2023(
762
- 'button-outline-mirror-color-' + #{$color} + '-hovered-background',
763
- $color,
764
- 'bg-hover-alt-color',
765
- false,
766
- true
767
- )};
768
-
769
- --#{$prefix}btn-disabled-color: #{variable-switch-brand2023(
770
- 'button-outline-mirror-color-disabled-foreground',
771
- $df-btn-outline-disabled-text-color
772
- )};
773
- @if $isBrand2023 {
774
- --#{$prefix}btn-disabled-bg: var(--#{$prefix}button-outline-mirror-color-disabled-background);
775
- }
776
- --#{$prefix}btn-disabled-border-color: #{variable-switch-brand2023(
777
- 'button-outline-mirror-color-disabled-border',
778
- $df-btn-disabled-border-color
779
- )};
780
-
781
- --#{$prefix}btn-active-color: #{shades-css-var-brand2023(
782
- 'button-outline-mirror-color-' + #{$color} + '-pressed-foreground',
783
- $color,
784
- 'bg-active-color',
785
- false,
786
- true
787
- )};
788
- --#{$prefix}btn-active-border-color: var(--#{$prefix}btn-active-color);
789
- --#{$prefix}btn-active-bg: #{shades-css-var-brand2023(
790
- 'button-outline-mirror-color-' + #{$color} + '-pressed-background',
791
- $color,
792
- 'bg-active-alt-color',
793
- false,
794
- true
795
- )};
796
- --#{$prefix}btn-focus-only-color: #{shades-css-var-brand2023(
797
- 'button-outline-mirror-color-' + #{$color} + '-default-foreground',
798
- $color,
799
- 'bg-color',
800
- false,
801
- true
802
- )};
803
- --#{$prefix}btn-focus-only-border-color: var(--#{$prefix}btn-focus-only-color);
804
- // stylelint-enable custom-property-no-missing-var-function
805
- &:focus-visible {
806
- --#{$prefix}box-shadow-color: #{variable-switch-brand2023(
807
- 'button-outline-mirror-color-' + #{$color} + '-default-border',
808
- var(--#{$prefix}btn-color)
809
- )};
810
-
811
- &:not(:active):not(:hover) {
812
- color: var(--#{$prefix}btn-color);
813
- }
814
-
815
- &:hover {
816
- --#{$prefix}box-shadow-color: #{variable-switch-brand2023(
817
- 'button-outline-mirror-color-' + #{$color} + '-hovered-border',
818
- var(--#{$prefix}btn-hover-color)
819
- )};
820
- }
821
-
822
- &:active {
823
- --#{$prefix}box-shadow-color: #{variable-switch-brand2023(
824
- 'button-outline-mirror-color-' + #{$color} + '-pressed-border',
825
- var(--#{$prefix}btn-active-color)
826
- )};
827
- }
828
- }
829
- }
830
-
831
- .btn-outline-#{$colorClass}.df-btn-tertiary {
832
- --#{$prefix}btn-border-color: transparent;
833
-
834
- @if $isBrand2023 {
835
- --#{$prefix}btn-bg: transparent;
836
-
837
- --#{$prefix}btn-color: var(
838
- --#{$prefix}button-text-basic-color-#{$color}-default-foreground,
839
- var(--#{$prefix}color-#{$color}-alt-default-foreground)
840
- );
841
-
842
- --#{$prefix}btn-hover-color: var(
843
- --#{$prefix}button-text-basic-color-#{$color}-hovered-foreground,
844
- var(--#{$prefix}color-#{$color}-alt-hovered-foreground)
845
- );
846
- --#{$prefix}btn-hover-bg: var(
847
- --#{$prefix}button-text-basic-color-#{$color}-hovered-background,
848
- var(--#{$prefix}color-#{$color}-alt-hovered-background)
849
- );
850
- --#{$prefix}btn-hover-border-color: var(
851
- --#{$prefix}button-text-basic-color-#{$color}-hovered-background,
852
- var(--#{$prefix}color-#{$color}-alt-hovered-background)
853
- );
854
-
855
- --#{$prefix}btn-active-color: var(
856
- --#{$prefix}button-text-basic-color-#{$color}-pressed-foreground,
857
- var(--#{$prefix}color-#{$color}-alt-pressed-foreground)
858
- );
859
- --#{$prefix}btn-active-bg: var(
860
- --#{$prefix}button-text-basic-color-#{$color}-pressed-background,
861
- var(--#{$prefix}color-#{$color}-alt-pressed-background)
862
- );
863
- --#{$prefix}btn-active-border-color: var(
864
- --#{$prefix}button-text-basic-color-#{$color}-pressed-background,
865
- var(--#{$prefix}color-#{$color}-alt-pressed-background)
866
- );
867
-
868
- --#{$prefix}btn-disabled-color: var(--#{$prefix}button-text-basic-color-disabled-foreground);
869
- --#{$prefix}btn-disabled-bg: var(--#{$prefix}button-text-basic-color-disabled-background);
870
- --#{$prefix}btn-disabled-border-color: var(--#{$prefix}button-text-basic-color-disabled-background);
871
-
872
- --#{$prefix}btn-focus-only-color: var(
873
- --#{$prefix}button-text-basic-color-#{$color}-default-foreground,
874
- var(--#{$prefix}color-#{$color}-alt-default-foreground)
875
- );
876
- --#{$prefix}btn-focus-only-border-color: transparent;
877
- --#{$prefix}btn-check-active-hover-color: var(
878
- --#{$prefix}button-text-basic-color-#{$color}-activeHovered-foreground,
879
- var(--#{$prefix}color-#{$color}-alt-activeHovered-foreground)
880
- );
881
- --#{$prefix}btn-check-active-hover-bg: var(
882
- --#{$prefix}button-text-basic-color-#{$color}-activeHovered-background,
883
- var(--#{$prefix}color-#{$color}-alt-activeHovered-background)
884
- );
885
- --#{$prefix}btn-check-active-hover-border-color: var(
886
- --#{$prefix}button-text-basic-color-#{$color}-activeHovered-background,
887
- var(--#{$prefix}color-#{$color}-alt-activeHovered-background)
888
- );
889
- }
890
-
891
- --#{$prefix}box-shadow-color: #{variable-switch-brand2023(
892
- varWithDefault(
893
- 'button-text-basic-color-#{$color}-default-foreground',
894
- 'color-' + #{$color} + '-alt-default-foreground'
895
- ),
896
- var(--#{$prefix}color-#{$color}-main-default-border)
897
- )};
898
- --#{$prefix}btn-focus-shadow-rgb: #{shades-rgb-css-var-brand2023(
899
- varWithDefault(
900
- 'button-text-basic-color-#{$color}-default-foreground',
901
- 'color-' + #{$color} + '-alt-default-foreground'
902
- ),
903
- $color,
904
- 'bg-color'
905
- )};
906
-
907
- &:focus-visible:not(:active):not(:hover) {
908
- border-color: var(--#{$prefix}btn-focus-only-border-color);
909
- }
910
-
911
- &:focus-visible:hover:not(:active):not(.active) {
912
- --#{$prefix}box-shadow-color: #{variable-switch-brand2023(
913
- varWithDefault(
914
- 'button-outline-basic-color-' + #{$color} + '-hovered-border',
915
- 'color-' + #{$color} + '-alt-hovered-border'
916
- ),
917
- $df-btn-outline-focus-hover-box-shadow-color
918
- )};
919
- }
920
- }
921
-
922
- .df-btn-outline-#{$colorClass}-mirror.df-btn-tertiary {
923
- --#{$prefix}btn-color: var(--#{$prefix}button-text-mirror-color-#{$color}-default-foreground);
924
- @if $isBrand2023 {
925
- --#{$prefix}btn-bg: transparent;
926
- }
927
- --#{$prefix}btn-border-color: transparent;
928
-
929
- --#{$prefix}btn-hover-color: var(--#{$prefix}button-text-mirror-color-#{$color}-hovered-foreground);
930
- --#{$prefix}btn-hover-bg: var(--#{$prefix}button-text-mirror-color-#{$color}-hovered-background);
931
- --#{$prefix}btn-hover-border-color: var(--#{$prefix}button-text-mirror-color-#{$color}-hovered-background);
932
-
933
- --#{$prefix}btn-active-color: var(--#{$prefix}button-text-mirror-color-#{$color}-pressed-foreground);
934
- --#{$prefix}btn-active-bg: var(--#{$prefix}button-text-mirror-color-#{$color}-pressed-background);
935
- --#{$prefix}btn-active-border-color: var(--#{$prefix}button-text-mirror-color-#{$color}-pressed-background);
936
-
937
- --#{$prefix}btn-disabled-color: var(--#{$prefix}button-text-mirror-color-disabled-foreground);
938
- --#{$prefix}btn-disabled-bg: var(--#{$prefix}button-text-mirror-color-disabled-background);
939
- --#{$prefix}btn-disabled-border-color: var(--#{$prefix}button-text-mirror-color-disabled-background);
940
-
941
- --#{$prefix}btn-focus-only-color: var(--#{$prefix}button-text-mirror-color-#{$color}-default-foreground);
942
- --#{$prefix}btn-focus-only-border-color: transparent;
943
-
944
- --#{$prefix}btn-check-active-hover-color: var(
945
- --#{$prefix}button-text-mirror-color-#{$color}-activeHovered-foreground
946
- );
947
- --#{$prefix}btn-check-active-hover-bg: var(--#{$prefix}button-text-mirror-color-#{$color}-activeHovered-background);
948
- --#{$prefix}btn-check-active-hover-border-color: var(
949
- --#{$prefix}button-text-mirror-color-#{$color}-activeHovered-background
950
- );
951
-
952
- --#{$prefix}box-shadow-color: #{variable-switch-brand2023(
953
- 'button-text-mirror-color-' + #{$color} + '-default-border',
954
- var(--#{$prefix}button-text-mirror-color-#{$color}-main-default-border)
955
- )};
956
- --#{$prefix}btn-focus-shadow-rgb: #{shades-rgb-css-var-brand2023(
957
- 'button-text-mirror-color-#{$color}-default-border',
958
- $color,
959
- 'bg-color'
960
- )};
961
-
962
- &:focus-visible:not(:active):not(:hover) {
963
- border-color: var(--#{$prefix}btn-focus-only-border-color);
964
- }
965
- }
966
-
967
- .btn-check {
968
- @if $isBrand2023 {
969
- &:checked {
970
- + .btn-#{$colorClass} {
971
- --#{$prefix}btn-active-color: var(--#{$prefix}button-solid-basic-color-#{$color}-active-foreground);
972
- --#{$prefix}btn-active-bg: var(--#{$prefix}button-solid-basic-color-#{$color}-active-background);
973
- --#{$prefix}btn-active-border-color: var(--#{$prefix}button-solid-basic-color-#{$color}-active-border);
974
-
975
- &:hover {
976
- --#{$prefix}btn-active-color: var(--#{$prefix}button-solid-basic-color-#{$color}-activeHovered-foreground);
977
- --#{$prefix}btn-active-bg: var(--#{$prefix}button-solid-basic-color-#{$color}-activeHovered-background);
978
- --#{$prefix}btn-active-border-color: var(
979
- --#{$prefix}button-solid-basic-color-#{$color}-activeHovered-border
980
- );
981
- }
982
-
983
- &:active {
984
- --#{$prefix}btn-active-color: var(--#{$prefix}button-solid-basic-color-#{$color}-activePressed-foreground);
985
- --#{$prefix}btn-active-bg: var(--#{$prefix}button-solid-basic-color-#{$color}-activePressed-background);
986
- --#{$prefix}btn-active-border-color: var(
987
- --#{$prefix}button-solid-basic-color-#{$color}-activePressed-border
988
- );
989
- }
990
- }
991
-
992
- + .df-btn-#{$colorClass}-mirror {
993
- --#{$prefix}btn-active-color: var(--#{$prefix}button-solid-mirror-color-#{$color}-active-foreground);
994
- --#{$prefix}btn-active-bg: var(--#{$prefix}button-solid-mirror-color-#{$color}-active-background);
995
- --#{$prefix}btn-active-border-color: var(--#{$prefix}button-solid-mirror-color-#{$color}-active-border);
996
-
997
- &:hover {
998
- --#{$prefix}btn-active-color: var(--#{$prefix}button-solid-mirror-color-#{$color}-activeHovered-foreground);
999
- --#{$prefix}btn-active-bg: var(--#{$prefix}button-solid-mirror-color-#{$color}-activeHovered-background);
1000
- --#{$prefix}btn-active-border-color: var(
1001
- --#{$prefix}button-solid-mirror-color-#{$color}-activeHovered-border
1002
- );
1003
- }
1004
-
1005
- &:active {
1006
- --#{$prefix}btn-active-color: var(--#{$prefix}button-solid-mirror-color-#{$color}-activePressed-foreground);
1007
- --#{$prefix}btn-active-bg: var(--#{$prefix}button-solid-mirror-color-#{$color}-activePressed-background);
1008
- --#{$prefix}btn-active-border-color: var(
1009
- --#{$prefix}button-solid-mirror-color-#{$color}-activePressed-border
1010
- );
1011
- }
1012
- }
1013
-
1014
- + .btn-outline-#{$colorClass} {
1015
- --#{$prefix}btn-active-color: var(--#{$prefix}button-outline-basic-color-#{$color}-active-foreground);
1016
- --#{$prefix}btn-active-bg: var(--#{$prefix}button-outline-basic-color-#{$color}-active-background);
1017
- --#{$prefix}btn-active-border-color: var(--#{$prefix}button-outline-basic-color-#{$color}-active-border);
1018
-
1019
- &:hover {
1020
- --#{$prefix}btn-active-color: var(
1021
- --#{$prefix}button-outline-basic-color-#{$color}-activeHovered-foreground
1022
- );
1023
- --#{$prefix}btn-active-bg: var(--#{$prefix}button-outline-basic-color-#{$color}-activeHovered-background);
1024
- --#{$prefix}btn-active-border-color: var(
1025
- --#{$prefix}button-outline-basic-color-#{$color}-activeHovered-border
1026
- );
1027
- }
1028
-
1029
- &:active {
1030
- --#{$prefix}btn-active-color: var(
1031
- --#{$prefix}button-outline-basic-color-#{$color}-activePressed-foreground
1032
- );
1033
- --#{$prefix}btn-active-bg: var(--#{$prefix}button-outline-basic-color-#{$color}-activePressed-background);
1034
- --#{$prefix}btn-active-border-color: var(
1035
- --#{$prefix}button-outline-basic-color-#{$color}-activePressed-border
1036
- );
1037
- }
1038
- }
1039
-
1040
- + .df-btn-outline-#{$colorClass}-mirror {
1041
- --#{$prefix}btn-active-color: var(--#{$prefix}button-outline-mirror-color-#{$color}-active-foreground);
1042
- --#{$prefix}btn-active-bg: var(--#{$prefix}button-outline-mirror-color-#{$color}-active-background);
1043
- --#{$prefix}btn-active-border-color: var(--#{$prefix}button-outline-mirror-color-#{$color}-active-border);
1044
-
1045
- &:hover {
1046
- --#{$prefix}btn-active-color: var(
1047
- --#{$prefix}button-outline-mirror-color-#{$color}-activeHovered-foreground
1048
- );
1049
- --#{$prefix}btn-active-bg: var(--#{$prefix}button-outline-mirror-color-#{$color}-activeHovered-background);
1050
- --#{$prefix}btn-active-border-color: var(
1051
- --#{$prefix}button-outline-mirror-color-#{$color}-activeHovered-border
1052
- );
1053
- }
1054
-
1055
- &:active {
1056
- --#{$prefix}btn-active-color: var(
1057
- --#{$prefix}button-outline-mirror-color-#{$color}-activePressed-foreground
1058
- );
1059
- --#{$prefix}btn-active-bg: var(--#{$prefix}button-outline-mirror-color-#{$color}-activePressed-background);
1060
- --#{$prefix}btn-active-border-color: var(
1061
- --#{$prefix}button-outline-mirror-color-#{$color}-activePressed-border
1062
- );
1063
- }
1064
- }
1065
- }
1066
- }
1067
-
1068
- // override default behavior of outline in case of btn-check
1069
- &:checked {
1070
- + .btn-outline-#{$colorClass} {
1071
- --#{$prefix}btn-active-color: #{shades-css-var-brand2023(
1072
- 'button-solid-basic-color-' + #{$color} + '-pressed-foreground',
1073
- $color,
1074
- $df-btn-check-active-property,
1075
- true
1076
- )};
1077
- --#{$prefix}btn-active-bg: #{shades-css-var-brand2023(
1078
- 'button-solid-basic-color-' + #{$color} + '-pressed-background',
1079
- $color,
1080
- $df-btn-check-active-property
1081
- )};
1082
- --#{$prefix}btn-active-border-color: #{shades-css-var-brand2023(
1083
- 'button-solid-basic-color-' + #{$color} + '-pressed-border',
1084
- $color,
1085
- $df-btn-check-active-property
1086
- )};
1087
- }
1088
- }
1089
- }
1090
- }