@design-factory/styles 21.0.0-next.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 (242) hide show
  1. package/LICENSE +26 -0
  2. package/README.md +13 -0
  3. package/assets/fonts/amadeus-bold/amadeus-bold.woff +0 -0
  4. package/assets/fonts/amadeus-bold/amadeus-bold.woff2 +0 -0
  5. package/assets/fonts/amadeus-full/amadeus-full-bold.woff +0 -0
  6. package/assets/fonts/amadeus-full/amadeus-full-bold.woff2 +0 -0
  7. package/assets/fonts/amadeus-full/amadeus-full-bolditalic.woff +0 -0
  8. package/assets/fonts/amadeus-full/amadeus-full-bolditalic.woff2 +0 -0
  9. package/assets/fonts/amadeus-full/amadeus-full-italic.woff +0 -0
  10. package/assets/fonts/amadeus-full/amadeus-full-italic.woff2 +0 -0
  11. package/assets/fonts/amadeus-full/amadeus-full-light.woff +0 -0
  12. package/assets/fonts/amadeus-full/amadeus-full-light.woff2 +0 -0
  13. package/assets/fonts/amadeus-full/amadeus-full-lightitalic.woff +0 -0
  14. package/assets/fonts/amadeus-full/amadeus-full-lightitalic.woff2 +0 -0
  15. package/assets/fonts/amadeus-full/amadeus-full-regular.woff +0 -0
  16. package/assets/fonts/amadeus-full/amadeus-full-regular.woff2 +0 -0
  17. package/assets/fonts/amadeus-full/amadeus-full-thin.woff +0 -0
  18. package/assets/fonts/amadeus-full/amadeus-full-thin.woff2 +0 -0
  19. package/assets/fonts/amadeus-full/amadeus-full-thinitalic.woff +0 -0
  20. package/assets/fonts/amadeus-full/amadeus-full-thinitalic.woff2 +0 -0
  21. package/assets/fonts/amadeus-neue/bold/AmadeusNeueWeb-Bold.woff +0 -0
  22. package/assets/fonts/amadeus-neue/bold/AmadeusNeueWeb-Bold.woff2 +0 -0
  23. package/assets/fonts/amadeus-neue/bold/AmadeusNeueWeb-BoldItalic.woff +0 -0
  24. package/assets/fonts/amadeus-neue/bold/AmadeusNeueWeb-BoldItalic.woff2 +0 -0
  25. package/assets/fonts/amadeus-neue/light/AmadeusNeueWeb-Light.woff +0 -0
  26. package/assets/fonts/amadeus-neue/light/AmadeusNeueWeb-Light.woff2 +0 -0
  27. package/assets/fonts/amadeus-neue/light/AmadeusNeueWeb-LightItalic.woff +0 -0
  28. package/assets/fonts/amadeus-neue/light/AmadeusNeueWeb-LightItalic.woff2 +0 -0
  29. package/assets/fonts/amadeus-neue/medium/AmadeusNeueWeb-Medium.woff +0 -0
  30. package/assets/fonts/amadeus-neue/medium/AmadeusNeueWeb-Medium.woff2 +0 -0
  31. package/assets/fonts/amadeus-neue/medium/AmadeusNeueWeb-MediumItalic.woff +0 -0
  32. package/assets/fonts/amadeus-neue/medium/AmadeusNeueWeb-MediumItalic.woff2 +0 -0
  33. package/assets/fonts/amadeus-neue/regular/AmadeusNeueWeb-Regular.woff +0 -0
  34. package/assets/fonts/amadeus-neue/regular/AmadeusNeueWeb-Regular.woff2 +0 -0
  35. package/assets/fonts/amadeus-neue/regular/AmadeusNeueWeb-RegularItalic.woff +0 -0
  36. package/assets/fonts/amadeus-neue/regular/AmadeusNeueWeb-RegularItalic.woff2 +0 -0
  37. package/assets/fonts/amadeus-regular/amadeus-regular.woff +0 -0
  38. package/assets/fonts/amadeus-regular/amadeus-regular.woff2 +0 -0
  39. package/assets/fonts/amadeus-thin/amadeus-thin.woff +0 -0
  40. package/assets/fonts/amadeus-thin/amadeus-thin.woff2 +0 -0
  41. package/assets/fonts/df-icons/df-icons-light.woff2 +0 -0
  42. package/assets/fonts/df-icons/df-icons-solid.woff2 +0 -0
  43. package/assets/fonts/font-awesome/fa-brands-400.woff2 +0 -0
  44. package/assets/fonts/font-awesome/fa-light-300.woff2 +0 -0
  45. package/assets/fonts/font-awesome/fa-solid-900.woff2 +0 -0
  46. package/assets/fonts/noto/notosans-bold.woff +0 -0
  47. package/assets/fonts/noto/notosans-bold.woff2 +0 -0
  48. package/assets/fonts/noto/notosans-bolditalic.woff +0 -0
  49. package/assets/fonts/noto/notosans-bolditalic.woff2 +0 -0
  50. package/assets/fonts/noto/notosans-italic.woff +0 -0
  51. package/assets/fonts/noto/notosans-italic.woff2 +0 -0
  52. package/assets/fonts/noto/notosans-light.woff +0 -0
  53. package/assets/fonts/noto/notosans-light.woff2 +0 -0
  54. package/assets/fonts/noto/notosans-lightitalic.woff +0 -0
  55. package/assets/fonts/noto/notosans-lightitalic.woff2 +0 -0
  56. package/assets/fonts/noto/notosans-regular.woff +0 -0
  57. package/assets/fonts/noto/notosans-regular.woff2 +0 -0
  58. package/assets/fonts/noto/notosans-thin.woff +0 -0
  59. package/assets/fonts/noto/notosans-thin.woff2 +0 -0
  60. package/assets/fonts/noto/notosans-thinitalic.woff +0 -0
  61. package/assets/fonts/noto/notosans-thinitalic.woff2 +0 -0
  62. package/assets/fonts/noto/notosansarabic-bold.woff +0 -0
  63. package/assets/fonts/noto/notosansarabic-bold.woff2 +0 -0
  64. package/assets/fonts/noto/notosansarabic-light.woff +0 -0
  65. package/assets/fonts/noto/notosansarabic-light.woff2 +0 -0
  66. package/assets/fonts/noto/notosansarabic-regular.woff +0 -0
  67. package/assets/fonts/noto/notosansarabic-regular.woff2 +0 -0
  68. package/assets/fonts/noto/notosansarabic-thin.woff +0 -0
  69. package/assets/fonts/noto/notosansarabic-thin.woff2 +0 -0
  70. package/assets/fonts/noto/notosansgeorgian-bold.woff +0 -0
  71. package/assets/fonts/noto/notosansgeorgian-bold.woff2 +0 -0
  72. package/assets/fonts/noto/notosansgeorgian-light.woff +0 -0
  73. package/assets/fonts/noto/notosansgeorgian-light.woff2 +0 -0
  74. package/assets/fonts/noto/notosansgeorgian-regular.woff +0 -0
  75. package/assets/fonts/noto/notosansgeorgian-regular.woff2 +0 -0
  76. package/assets/fonts/noto/notosansgeorgian-thin.woff +0 -0
  77. package/assets/fonts/noto/notosansgeorgian-thin.woff2 +0 -0
  78. package/assets/fonts/noto/notosanshebrew-bold.woff +0 -0
  79. package/assets/fonts/noto/notosanshebrew-bold.woff2 +0 -0
  80. package/assets/fonts/noto/notosanshebrew-light.woff +0 -0
  81. package/assets/fonts/noto/notosanshebrew-light.woff2 +0 -0
  82. package/assets/fonts/noto/notosanshebrew-regular.woff +0 -0
  83. package/assets/fonts/noto/notosanshebrew-regular.woff2 +0 -0
  84. package/assets/fonts/noto/notosanshebrew-thin.woff +0 -0
  85. package/assets/fonts/noto/notosanshebrew-thin.woff2 +0 -0
  86. package/assets/fonts/source-sans-pro-bold/source-sans-pro-bold.woff +0 -0
  87. package/assets/fonts/source-sans-pro-bold/source-sans-pro-bold.woff2 +0 -0
  88. package/assets/fonts/source-sans-pro-full/sourcesanspro-full-bold.woff +0 -0
  89. package/assets/fonts/source-sans-pro-full/sourcesanspro-full-bold.woff2 +0 -0
  90. package/assets/fonts/source-sans-pro-full/sourcesanspro-full-bolditalic.woff +0 -0
  91. package/assets/fonts/source-sans-pro-full/sourcesanspro-full-bolditalic.woff2 +0 -0
  92. package/assets/fonts/source-sans-pro-full/sourcesanspro-full-italic.woff +0 -0
  93. package/assets/fonts/source-sans-pro-full/sourcesanspro-full-italic.woff2 +0 -0
  94. package/assets/fonts/source-sans-pro-full/sourcesanspro-full-light.woff +0 -0
  95. package/assets/fonts/source-sans-pro-full/sourcesanspro-full-light.woff2 +0 -0
  96. package/assets/fonts/source-sans-pro-full/sourcesanspro-full-lightitalic.woff +0 -0
  97. package/assets/fonts/source-sans-pro-full/sourcesanspro-full-lightitalic.woff2 +0 -0
  98. package/assets/fonts/source-sans-pro-full/sourcesanspro-full-regular.woff +0 -0
  99. package/assets/fonts/source-sans-pro-full/sourcesanspro-full-regular.woff2 +0 -0
  100. package/assets/fonts/source-sans-pro-light/source-sans-pro-light.woff +0 -0
  101. package/assets/fonts/source-sans-pro-light/source-sans-pro-light.woff2 +0 -0
  102. package/assets/fonts/source-sans-pro-regular/source-sans-pro-regular.woff +0 -0
  103. package/assets/fonts/source-sans-pro-regular/source-sans-pro-regular.woff2 +0 -0
  104. package/assets/fonts/source-sans-pro-semibold/source-sans-pro-semibold.woff +0 -0
  105. package/assets/fonts/source-sans-pro-semibold/source-sans-pro-semibold.woff2 +0 -0
  106. package/bundle.css +13 -0
  107. package/package.json +31 -0
  108. package/scss/_common.mixins.scss +30 -0
  109. package/scss/_common.root.scss +36 -0
  110. package/scss/_common.scss +50 -0
  111. package/scss/_common.variables.scss +62 -0
  112. package/scss/_new-brand-common.variables.scss +7 -0
  113. package/scss/_variables.scss +46 -0
  114. package/scss/agnosui/_variables.scss +33 -0
  115. package/scss/bootstrap/_helpers.scss +12 -0
  116. package/scss/bootstrap/_maps.scss +68 -0
  117. package/scss/bootstrap/_mixins-override.scss +69 -0
  118. package/scss/bootstrap/_rtl-styles-override.scss +111 -0
  119. package/scss/bootstrap/_utilities-override.scss +127 -0
  120. package/scss/bootstrap/_variables-dark.scss +86 -0
  121. package/scss/bootstrap/_variables.scss +1118 -0
  122. package/scss/bootstrap/helpers/_color-bg.scss +14 -0
  123. package/scss/bundle.scss +120 -0
  124. package/scss/components/accordion/_accordion.mixin.scss +94 -0
  125. package/scss/components/accordion/_accordion.scss +201 -0
  126. package/scss/components/accordion/_accordion.variables.scss +14 -0
  127. package/scss/components/alert/_alert.mixin.scss +64 -0
  128. package/scss/components/alert/_alert.scss +142 -0
  129. package/scss/components/alert/_alert.variables.scss +3 -0
  130. package/scss/components/badge/_badge.mixins.scss +9 -0
  131. package/scss/components/badge/_badge.scss +250 -0
  132. package/scss/components/badge/_badge.variables.scss +4 -0
  133. package/scss/components/brand-color/_brand-color.mixins.scss +17 -0
  134. package/scss/components/brand-color/_brand-color.scss +13 -0
  135. package/scss/components/brand-color/_brand-color.variables.scss +146 -0
  136. package/scss/components/brand-color/_brand-color_container.scss +23 -0
  137. package/scss/components/breadcrumbs/_breadcrumbs.scss +110 -0
  138. package/scss/components/breadcrumbs/_breadcrumbs.variables.scss +7 -0
  139. package/scss/components/button/_button.mixins.scss +144 -0
  140. package/scss/components/button/_button.scss +178 -0
  141. package/scss/components/button/_button.variables.scss +8 -0
  142. package/scss/components/button/_button_container.scss +47 -0
  143. package/scss/components/card/_card.scss +167 -0
  144. package/scss/components/card/_card.variables.scss +12 -0
  145. package/scss/components/carousel/_carousel.scss +83 -0
  146. package/scss/components/carousel/_carousel.variables.scss +3 -0
  147. package/scss/components/checkbox/_checkbox.scss +155 -0
  148. package/scss/components/checkbox/_checkbox.variables.scss +23 -0
  149. package/scss/components/collapse/_collapse.scss +48 -0
  150. package/scss/components/datepicker/_datepicker.scss +223 -0
  151. package/scss/components/drawer/_drawer.scss +120 -0
  152. package/scss/components/dropdown/_dropdown.mixins.scss +24 -0
  153. package/scss/components/dropdown/_dropdown.scss +129 -0
  154. package/scss/components/dropdown/_dropdown.variables.scss +15 -0
  155. package/scss/components/fieldset/_fieldset.variables.scss +2 -0
  156. package/scss/components/fonts/_font-awesome-icons-brands.scss +1585 -0
  157. package/scss/components/fonts/_font-awesome-icons.scss +12886 -0
  158. package/scss/components/fonts/_font-faces.mixins.scss +579 -0
  159. package/scss/components/fonts/_fonts-family.scss +195 -0
  160. package/scss/components/fonts/_fonts.scss +50 -0
  161. package/scss/components/fonts/_fonts.variables.scss +68 -0
  162. package/scss/components/fonts/_icon-font.scss +97 -0
  163. package/scss/components/fonts/_multi-lang.mixins.scss +8 -0
  164. package/scss/components/fonts/multi-lang/_arabic.mixins.scss +9 -0
  165. package/scss/components/fonts/multi-lang/_chinese.mixins.scss +14 -0
  166. package/scss/components/fonts/multi-lang/_cyrillic-extended.mixins.scss +11 -0
  167. package/scss/components/fonts/multi-lang/_cyrillic.mixins.scss +10 -0
  168. package/scss/components/fonts/multi-lang/_georgian.mixins.scss +9 -0
  169. package/scss/components/fonts/multi-lang/_hebrew.mixins.scss +9 -0
  170. package/scss/components/fonts/multi-lang/_japanese.mixins.scss +25 -0
  171. package/scss/components/fonts/multi-lang/_korean.mixins.scss +12 -0
  172. package/scss/components/footer/_footer.mixins.scss +36 -0
  173. package/scss/components/footer/_footer.scss +49 -0
  174. package/scss/components/form/_form.scss +101 -0
  175. package/scss/components/form/_form.variables.scss +48 -0
  176. package/scss/components/icon/_amadeus-icon.scss +29 -0
  177. package/scss/components/image/_image.variables.scss +2 -0
  178. package/scss/components/inputs/_inputs.mixin.scss +45 -0
  179. package/scss/components/inputs/_inputs.scss +254 -0
  180. package/scss/components/inputs/_inputs.variables.scss +20 -0
  181. package/scss/components/link/_link.scss +150 -0
  182. package/scss/components/link/_link.variables.scss +5 -0
  183. package/scss/components/list/_list.scss +17 -0
  184. package/scss/components/list-group/_list-group.scss +81 -0
  185. package/scss/components/list-group/_list-group.variables.scss +21 -0
  186. package/scss/components/media/_media.scss +27 -0
  187. package/scss/components/modal/_modal.scss +154 -0
  188. package/scss/components/modal/_modal.variables.scss +13 -0
  189. package/scss/components/navbar/_navbar.mixins.scss +46 -0
  190. package/scss/components/navbar/_navbar.scss +287 -0
  191. package/scss/components/navbar/_navbar.variables.scss +14 -0
  192. package/scss/components/pagination/_pagination.mixins.scss +30 -0
  193. package/scss/components/pagination/_pagination.scss +189 -0
  194. package/scss/components/pagination/_pagination.variables.scss +20 -0
  195. package/scss/components/pagination/_pagination_container.scss +17 -0
  196. package/scss/components/popover/_popover.mixins.scss +13 -0
  197. package/scss/components/popover/_popover.scss +65 -0
  198. package/scss/components/popover/_popover.variables.scss +17 -0
  199. package/scss/components/popover/_popover_container.scss +214 -0
  200. package/scss/components/progressbar/_progressbar.scss +52 -0
  201. package/scss/components/progressbar/_progressbar.variables.scss +6 -0
  202. package/scss/components/radio/_radio.scss +63 -0
  203. package/scss/components/rating/_rating.mixins.scss +17 -0
  204. package/scss/components/rating/_rating.scss +51 -0
  205. package/scss/components/scrollspy/_scrollspy.scss +42 -0
  206. package/scss/components/select/_select.mixin.scss +7 -0
  207. package/scss/components/select/_select.scss +531 -0
  208. package/scss/components/select/_select.variables.scss +18 -0
  209. package/scss/components/separator/_separator.scss +8 -0
  210. package/scss/components/separator/_separator.variables.scss +5 -0
  211. package/scss/components/sidenav/_sidenav-deprecated.scss +165 -0
  212. package/scss/components/sidenav/_sidenav.scss +227 -0
  213. package/scss/components/slider/_slider.mixins.scss +82 -0
  214. package/scss/components/slider/_slider.scss +402 -0
  215. package/scss/components/speechbubble/_speechbubble.mixin.scss +28 -0
  216. package/scss/components/speechbubble/_speechbubble.scss +107 -0
  217. package/scss/components/spinner/_spinner.scss +68 -0
  218. package/scss/components/spinner/_spinner.variables.scss +5 -0
  219. package/scss/components/spinner/_spinner_container.scss +43 -0
  220. package/scss/components/stepper/_stepper.mixins.scss +22 -0
  221. package/scss/components/stepper/_stepper.scss +176 -0
  222. package/scss/components/table/_advancedtables.scss +285 -0
  223. package/scss/components/table/_table.scss +19 -0
  224. package/scss/components/table/_table.variables.scss +20 -0
  225. package/scss/components/tabs/_tabs.scss +163 -0
  226. package/scss/components/tabs/_tabs.variables.scss +19 -0
  227. package/scss/components/timepicker/_timepicker.scss +9 -0
  228. package/scss/components/toast/_toast.scss +79 -0
  229. package/scss/components/toast/_toast.variables.scss +7 -0
  230. package/scss/components/toggle/_toggle.scss +140 -0
  231. package/scss/components/toggle/_toggle.variables.scss +10 -0
  232. package/scss/components/tooltip/_tooltip.scss +24 -0
  233. package/scss/components/tooltip/_tooltip.variables.scss +7 -0
  234. package/scss/components/tooltip/_tooltip_container.scss +116 -0
  235. package/scss/components/typeahead/_typeahead.scss +44 -0
  236. package/scss/components/waves/waves.scss +19 -0
  237. package/scss/namespace.scss +160 -0
  238. package/scss/themes/brand2023/_variables.scss +315 -0
  239. package/scss/utilities/_common.utilities.scss +98 -0
  240. package/scss/utilities/_form.mixins.scss +26 -0
  241. package/scss/utilities/_rgb.scss +10 -0
  242. package/scss/utilities.scss +5 -0
@@ -0,0 +1,250 @@
1
+ @use 'badge.mixins' as badge-mixin;
2
+ @use '../../new-brand-common.variables' as df;
3
+
4
+ .badge {
5
+ --df-box-shadow-color: var(--df-badge-solid-color-focus-main-border);
6
+
7
+ display: inline-flex;
8
+ align-items: center;
9
+
10
+ color: var(--df-badge-color) !important;
11
+ background-color: var(--df-badge-background-color) !important;
12
+ border: var(--df-border-width) solid;
13
+ border-color: var(--df-badge-border-color) !important;
14
+ outline: none;
15
+
16
+ &[role='button'],
17
+ :is([role='button'], button) {
18
+ cursor: pointer;
19
+ color: var(--df-badge-color) !important;
20
+ background-color: var(--df-badge-background-color) !important;
21
+
22
+ &[disabled],
23
+ &.disabled,
24
+ &:has([disabled]),
25
+ &:has(.disabled) {
26
+ cursor: not-allowed;
27
+ }
28
+ }
29
+
30
+ &:focus-visible,
31
+ &:has(:is([role='button'], button):focus-visible) {
32
+ box-shadow: df.$df-focus-box-shadow;
33
+ }
34
+
35
+ :is([role='button'], button):focus-visible {
36
+ outline: none;
37
+ }
38
+
39
+ .df-badge-icon {
40
+ margin-inline-start: -0.17em;
41
+ margin-inline-end: var(--df-spacing-2);
42
+ }
43
+
44
+ &:not(.df-badge-dot) {
45
+ --df-badge-border-color: none;
46
+ }
47
+
48
+ &.df-badge-dot {
49
+ --df-badge-color: inherit !important;
50
+ --df-badge-background-color: transparent !important;
51
+ --df-badge-border-color: transparent !important;
52
+
53
+ &::before {
54
+ content: '';
55
+ height: 0.8em;
56
+ width: 0.8em;
57
+ border-radius: 50%;
58
+ display: inline-block;
59
+ margin-inline-end: 0.38em;
60
+ }
61
+ }
62
+
63
+ $colors: (
64
+ 'primary': 'primary',
65
+ 'secondary': 'secondary',
66
+ 'success': 'success',
67
+ 'info': 'info',
68
+ 'warning': 'warning',
69
+ 'danger': 'danger',
70
+ 'light': 'neutral',
71
+ 'neutral': 'neutral',
72
+ 'dark': 'dark',
73
+ 'tip': 'tip',
74
+ 'chromatic1': 'chromatic1',
75
+ 'chromatic2': 'chromatic2',
76
+ 'black': 'black',
77
+ 'white': 'neutral-alt',
78
+ 'body': 'body',
79
+ 'alt-body': 'alt-body',
80
+ 'dark-primary': 'dark-primary'
81
+ );
82
+
83
+ @each $color, $mappedColor in $colors {
84
+ &.bg-#{$color} {
85
+ --df-badge-color: var(--df-badge-solid-color-#{$mappedColor}-default-foreground);
86
+ --df-badge-background-color: var(--df-badge-solid-color-#{$mappedColor}-default-background);
87
+ // This is required for each solid variation since there is no selector for all solid styles.
88
+ --df-border-width: 0;
89
+ @if $color == 'white' {
90
+ --df-box-shadow-color: var(--df-badge-solid-color-focus-alt-border);
91
+ }
92
+
93
+ // Interactive
94
+ &:not([disabled]):not(.disabled) {
95
+ &[role='button'],
96
+ :is([role='button'], button) {
97
+ &:hover {
98
+ --df-badge-color: var(--df-badge-solid-color-#{$mappedColor}-hovered-foreground);
99
+ --df-badge-background-color: var(--df-badge-solid-color-#{$mappedColor}-hovered-background);
100
+ }
101
+
102
+ &:active {
103
+ --df-badge-color: var(--df-badge-solid-color-#{$mappedColor}-pressed-foreground);
104
+ --df-badge-background-color: var(--df-badge-solid-color-#{$mappedColor}-pressed-background);
105
+ }
106
+ }
107
+ }
108
+ }
109
+
110
+ &.df-badge-outline-#{$color} {
111
+ --df-badge-color: var(--df-badge-outline-color-#{$mappedColor}-default-foreground);
112
+ --df-badge-background-color: var(--df-badge-outline-color-#{$mappedColor}-default-background);
113
+ --df-badge-border-color: var(--df-badge-outline-color-#{$mappedColor}-default-border);
114
+
115
+ &:is([disabled], .disabled) {
116
+ --df-badge-color: var(--df-badge-outline-color-disabled-default-foreground) !important;
117
+ --df-badge-background-color: var(--df-badge-outline-color-disabled-default-background) !important;
118
+ --df-badge-border-color: var(--df-badge-outline-color-disabled-default-background) !important;
119
+ }
120
+
121
+ &:not([disabled]):not(.disabled) {
122
+ &:has(:is([role='button'], button)) {
123
+ &:hover {
124
+ --df-badge-border-color: var(--df-badge-outline-color-#{$mappedColor}-hovered-border);
125
+ }
126
+ }
127
+
128
+ &[role='button'],
129
+ :is([role='button'], button) {
130
+ &:hover {
131
+ --df-badge-color: var(--df-badge-outline-color-#{$mappedColor}-hovered-foreground);
132
+ --df-badge-background-color: var(--df-badge-outline-color-#{$mappedColor}-hovered-background);
133
+ --df-badge-border-color: var(--df-badge-outline-color-#{$mappedColor}-hovered-border);
134
+ }
135
+
136
+ &:active {
137
+ --df-badge-color: var(--df-badge-outline-color-#{$mappedColor}-pressed-foreground);
138
+ --df-badge-background-color: var(--df-badge-outline-color-#{$mappedColor}-pressed-background);
139
+ --df-badge-border-color: var(--df-badge-outline-color-#{$mappedColor}-pressed-border);
140
+ }
141
+ }
142
+ }
143
+ }
144
+
145
+ &.bg-#{$color}-soft {
146
+ --df-badge-color: var(--df-badge-soft-color-#{$mappedColor}-default-foreground);
147
+ --df-badge-background-color: var(--df-badge-soft-color-#{$mappedColor}-default-background);
148
+ --df-badge-border-color: var(--df-badge-soft-color-#{$mappedColor}-default-border);
149
+
150
+ &[role='button'],
151
+ :is([role='button'], button) {
152
+ &:hover {
153
+ --df-badge-color: var(--df-badge-soft-color-#{$mappedColor}-hovered-foreground);
154
+ --df-badge-background-color: var(--df-badge-soft-color-#{$mappedColor}-hovered-background);
155
+ --df-badge-border-color: var(--df-badge-soft-color-#{$mappedColor}-hovered-border);
156
+ }
157
+
158
+ &:active {
159
+ --df-badge-color: var(--df-badge-soft-color-#{$mappedColor}-pressed-foreground);
160
+ --df-badge-background-color: var(--df-badge-soft-color-#{$mappedColor}-pressed-background);
161
+ --df-badge-border-color: var(--df-badge-soft-color-#{$mappedColor}-pressed-border);
162
+ }
163
+ }
164
+ }
165
+
166
+ &.df-badge-dot.bg-#{$color} {
167
+ &::before {
168
+ background-color: var(--df-badge-solid-color-#{$mappedColor}-default-background);
169
+ }
170
+ }
171
+
172
+ // Additional color mix
173
+ &.bg-neutral-soft .df-badge-icon.text-#{$color} {
174
+ color: var(--df-badge-solid-color-#{$mappedColor}-default-background) !important;
175
+ }
176
+ }
177
+
178
+ &:is([disabled], .disabled) {
179
+ --df-badge-color: var(--df-badge-solid-color-disabled-default-foreground);
180
+ --df-badge-background-color: var(--df-badge-solid-color-disabled-default-background);
181
+ --df-badge-border-color: var(--df-badge-solid-color-disabled-default-background);
182
+
183
+ &,
184
+ :is([role='button'], button) {
185
+ cursor: not-allowed;
186
+ }
187
+ }
188
+
189
+ &:has(button) {
190
+ // badge interactive closable
191
+ padding-block: 0;
192
+ padding-inline: 0;
193
+
194
+ button {
195
+ background-color: inherit;
196
+ color: inherit;
197
+
198
+ &:hover {
199
+ cursor: pointer;
200
+ }
201
+
202
+ border: none;
203
+ padding: var(--df-badge-padding-y);
204
+ border-start-end-radius: #{$badge-border-radius};
205
+ border-end-end-radius: #{$badge-border-radius};
206
+ }
207
+
208
+ :is([role='button'], button) {
209
+ height: 100%;
210
+ padding: unset;
211
+ display: flex;
212
+ justify-content: center;
213
+ align-items: center;
214
+ }
215
+
216
+ &.rounded-pill {
217
+ padding-inline: var(--df-badge-padding-x) 0;
218
+
219
+ > button {
220
+ border-start-end-radius: var(--df-borderRadius-main-rounded);
221
+ border-end-end-radius: var(--df-borderRadius-main-rounded);
222
+ margin-inline-start: var(--df-spacing-1);
223
+ }
224
+ }
225
+
226
+ span[role='button'] {
227
+ // We put the badge padding on the button except for the side that touches the close button
228
+ padding-block: var(--df-badge-padding-y);
229
+ padding-inline: var(--df-badge-padding-x) var(--df-spacing-1);
230
+ border-start-start-radius: #{$badge-border-radius};
231
+ border-end-start-radius: #{$badge-border-radius};
232
+ }
233
+ }
234
+
235
+ font-weight: var(--df-typo-weight-medium);
236
+
237
+ @include badge-mixin.df-badge-sizing(1.5rem, var(--df-typo-sizing-xsmall), var(--df-spacing-3), 1.5rem);
238
+
239
+ &.df-badge-sm {
240
+ @include badge-mixin.df-badge-sizing(1.25rem, var(--df-typo-sizing-xsmall), var(--df-spacing-3), 1.5rem);
241
+ }
242
+
243
+ &.df-badge-lg {
244
+ @include badge-mixin.df-badge-sizing(1.875rem, var(--df-typo-sizing-small), var(--df-spacing-4), 1.75rem);
245
+ }
246
+
247
+ &.df-badge-xl {
248
+ @include badge-mixin.df-badge-sizing(2.5rem, var(--df-typo-sizing-default), var(--df-spacing-5), 2rem);
249
+ }
250
+ }
@@ -0,0 +1,4 @@
1
+ $badge-border-radius: var(--df-borderRadius-main-medium) !default;
2
+ $badge-font-weight: var(--df-typo-weight-medium) !default;
3
+ $badge-padding-x: var(--df-spacing-3) !default;
4
+ $badge-padding-y: 0.334em !default;
@@ -0,0 +1,17 @@
1
+ @use 'sass:color';
2
+ @use 'sass:map';
3
+ @use 'sass:meta';
4
+
5
+ @mixin df-bg-color-css-var($utility) {
6
+ @if map.has-key($utility, class) and map.get($utility, class) == 'bg' {
7
+ $values: map.get($utility, values);
8
+ @each $color, $value in $values {
9
+ .bg-#{$color} {
10
+ .btn,
11
+ .nav-tabs {
12
+ --df-inner-box-shadow-color: #{$value};
13
+ }
14
+ }
15
+ }
16
+ }
17
+ }
@@ -0,0 +1,13 @@
1
+ @use 'sass:map';
2
+ @use 'brand-color.mixins' as brand-color-mixins;
3
+
4
+ @each $color, $value in $gradients {
5
+ .bg-#{$color} {
6
+ background-image: linear-gradient(180deg, map.get($value, 'from'), map.get($value, 'to'));
7
+ }
8
+ }
9
+
10
+ // We need this mixin to achieve the outline focus in buttons on different backgrounds
11
+ @each $key, $utility in $utilities {
12
+ @include brand-color-mixins.df-bg-color-css-var($utility);
13
+ }
@@ -0,0 +1,146 @@
1
+ @use 'sass:map';
2
+ @use 'sass:meta';
3
+
4
+ @function df-format-transform-name($color, $action, $params) {
5
+ $name: $action;
6
+ @each $param in $params {
7
+ $name: $name + '-' + $param;
8
+ }
9
+ $name: $name + '-' + $color;
10
+ @return $name;
11
+ }
12
+
13
+ @function df-transform-loop($arrayIn, $arrayOut, $action, $params...) {
14
+ @each $color, $value in $arrayIn {
15
+ $arrayOut: map.merge(
16
+ (
17
+ df-format-transform-name($color, $action, $params): meta.call(meta.get-function($action), $value, $params...)
18
+ ),
19
+ $arrayOut
20
+ );
21
+ }
22
+ @return $arrayOut;
23
+ }
24
+
25
+ // Hover color
26
+ $df-colors-transformed: () !default;
27
+ $df-hover-transform: 'darken' !default;
28
+ $df-hover-transform-param: 5% !default;
29
+
30
+ // stylelint-disable-next-line scss/dollar-variable-default
31
+ $df-colors-transformed: df-transform-loop(
32
+ $colors,
33
+ $df-colors-transformed,
34
+ $df-hover-transform,
35
+ $df-hover-transform-param
36
+ );
37
+
38
+ // stylelint-disable-next-line scss/dollar-variable-default
39
+ $df-colors-transformed: df-transform-loop(
40
+ $theme-colors,
41
+ $df-colors-transformed,
42
+ $df-hover-transform,
43
+ $df-hover-transform-param
44
+ );
45
+
46
+ $df-active-transform: 'darken' !default;
47
+ $df-active-transform-param: 10% !default;
48
+
49
+ // stylelint-disable-next-line scss/dollar-variable-default
50
+ $df-colors-transformed: df-transform-loop(
51
+ $colors,
52
+ $df-colors-transformed,
53
+ $df-active-transform,
54
+ $df-active-transform-param
55
+ );
56
+
57
+ // stylelint-disable-next-line scss/dollar-variable-default
58
+ $df-colors-transformed: df-transform-loop(
59
+ $theme-colors,
60
+ $df-colors-transformed,
61
+ $df-active-transform,
62
+ $df-active-transform-param
63
+ );
64
+
65
+ // stylelint-disable-next-line scss/dollar-variable-pattern
66
+ $df-bg-active-transform: 'mix' !default;
67
+ $df-bg-active-transform-param1: $white !default;
68
+ $df-bg-active-transform-param2: 15% !default;
69
+
70
+ // stylelint-disable-next-line scss/dollar-variable-default
71
+ $df-colors-transformed: df-transform-loop(
72
+ $colors,
73
+ $df-colors-transformed,
74
+ $df-bg-active-transform,
75
+ $df-bg-active-transform-param1,
76
+ $df-bg-active-transform-param2
77
+ );
78
+
79
+ // stylelint-disable-next-line scss/dollar-variable-default
80
+ $df-colors-transformed: df-transform-loop(
81
+ $theme-colors,
82
+ $df-colors-transformed,
83
+ $df-bg-active-transform,
84
+ $df-bg-active-transform-param1,
85
+ $df-bg-active-transform-param2
86
+ );
87
+
88
+ $df-bg-hover-transform: 'mix' !default;
89
+ $df-bg-hover-transform-param1: $white !default;
90
+ $df-bg-hover-transform-param2: 10% !default;
91
+
92
+ // stylelint-disable-next-line scss/dollar-variable-default
93
+ $df-colors-transformed: df-transform-loop(
94
+ $colors,
95
+ $df-colors-transformed,
96
+ $df-bg-hover-transform,
97
+ $df-bg-hover-transform-param1,
98
+ $df-bg-hover-transform-param2
99
+ );
100
+
101
+ // stylelint-disable-next-line scss/dollar-variable-default
102
+ $df-colors-transformed: df-transform-loop(
103
+ $theme-colors,
104
+ $df-colors-transformed,
105
+ $df-bg-hover-transform,
106
+ $df-bg-hover-transform-param1,
107
+ $df-bg-hover-transform-param2
108
+ );
109
+
110
+ $df-bg-transform: 'mix' !default;
111
+ $df-bg-transform-param1: $white !default;
112
+ $df-bg-transform-param2: 5% !default;
113
+
114
+ // stylelint-disable-next-line scss/dollar-variable-default
115
+ $df-colors-transformed: df-transform-loop(
116
+ $colors,
117
+ $df-colors-transformed,
118
+ $df-bg-transform,
119
+ $df-bg-transform-param1,
120
+ $df-bg-transform-param2
121
+ );
122
+
123
+ // stylelint-disable-next-line scss/dollar-variable-default
124
+ $df-colors-transformed: df-transform-loop(
125
+ $theme-colors,
126
+ $df-colors-transformed,
127
+ $df-bg-transform,
128
+ $df-bg-transform-param1,
129
+ $df-bg-transform-param2
130
+ );
131
+
132
+ /**
133
+ * Gradients
134
+ */
135
+ // stylelint-disable-next-line scss/dollar-variable-pattern
136
+ $gradients: () !default;
137
+ // stylelint-disable-next-line
138
+ $gradients: map.merge(
139
+ (
140
+ 'gradient-blue': (
141
+ 'from': $blue,
142
+ 'to': $cyan
143
+ )
144
+ ),
145
+ $gradients
146
+ );
@@ -0,0 +1,23 @@
1
+ #{$df-css-namespace-selector} {
2
+ --#{$prefix}dark-primary: #{$dark-primary};
3
+ --#{$prefix}yellow-rgb: #{to-rgb($yellow)};
4
+ --#{$prefix}dark-primary-rgb: #{to-rgb($dark-primary)};
5
+ --#{$prefix}white-color: #{color-contrast($white)};
6
+ --#{$prefix}black-color: #{color-contrast($black)};
7
+
8
+ @each $color, $value in $shade-colors {
9
+ --#{$prefix}#{$color}: #{$value};
10
+ }
11
+
12
+ @each $color, $value in $shade-colors-rgb {
13
+ --#{$prefix}#{$color}-rgb: #{$value};
14
+ }
15
+
16
+ @each $color, $value in $shade-colors-text {
17
+ --#{$prefix}#{$color}-color: #{$value};
18
+ }
19
+
20
+ @each $color, $value in $shade-colors-text-rgb {
21
+ --#{$prefix}#{$color}-color-rgb: #{$value};
22
+ }
23
+ }
@@ -0,0 +1,110 @@
1
+ .breadcrumb {
2
+ &.breadcrumb-sm {
3
+ --df-breadcrumb-font-size: var(--df-typo-sizing-small);
4
+
5
+ .df-breadcrumb-item-icon {
6
+ margin-inline-end: var(--df-spacing-1);
7
+ }
8
+
9
+ .df-breadcrumb-icon {
10
+ &:before {
11
+ font-size: var(--df-icons-sizing-small);
12
+ }
13
+ }
14
+ }
15
+
16
+ &.breadcrumb-lg {
17
+ --df-breadcrumb-font-size: var(--df-typo-sizing-large);
18
+
19
+ .df-breadcrumb-item-icon {
20
+ margin-inline-end: var(--df-spacing-3);
21
+ }
22
+
23
+ .df-breadcrumb-icon {
24
+ &:before {
25
+ font-size: var(--df-icons-sizing-small);
26
+ }
27
+ }
28
+ }
29
+
30
+ .breadcrumb-item {
31
+ & + .breadcrumb-item + .breadcrumb-item:before {
32
+ @include rtl {
33
+ content: var(--df-breadcrumb-divider, $breadcrumb-divider-flipped);
34
+ }
35
+ }
36
+
37
+ &:before {
38
+ width: 1.25rem; //divider spacing
39
+ text-align: center;
40
+ margin-inline: var(--df-spacing-2);
41
+ font-family: 'Font Awesome 6 Pro', sans-serif;
42
+ float: inline-start;
43
+ }
44
+
45
+ a {
46
+ border-bottom: 0;
47
+ }
48
+
49
+ .df-breadcrumb-item-icon {
50
+ margin-inline-end: var(--df-spacing-2);
51
+ }
52
+
53
+ &:nth-of-type(2):before {
54
+ // first item after arrow should not have slash char before text
55
+ content: none;
56
+ }
57
+
58
+ &.active {
59
+ // active item in bold
60
+ font-weight: var(--df-typo-weight-medium);
61
+ }
62
+
63
+ &.active:before {
64
+ // no bold for the slash before active item
65
+ font-weight: var(--df-typo-weight-regular);
66
+ }
67
+ }
68
+
69
+ .df-breadcrumb-icon {
70
+ // hidden by default
71
+ display: none;
72
+
73
+ &:before {
74
+ @extend .fa-light;
75
+ margin-inline-end: var(--df-spacing-2);
76
+
77
+ @include ltr {
78
+ @extend .fa-arrow-left;
79
+ }
80
+ @include rtl {
81
+ @extend .fa-arrow-right;
82
+ }
83
+ }
84
+ }
85
+
86
+ // Mobile breakpoint
87
+ @include media-breakpoint-only(xs) {
88
+ .breadcrumb-item {
89
+ &:not(:nth-of-type(1)) {
90
+ // items are hidden
91
+ display: none;
92
+ }
93
+
94
+ &:nth-last-of-type(1) {
95
+ // only last items is displayed
96
+ display: inline;
97
+ }
98
+
99
+ &:nth-last-of-type(2):before {
100
+ // first item after arrow should not have slash char before text
101
+ content: none;
102
+ }
103
+ }
104
+ .df-breadcrumb-icon {
105
+ // arrow displayed
106
+ display: flex;
107
+ align-items: center;
108
+ }
109
+ }
110
+ }
@@ -0,0 +1,7 @@
1
+ $breadcrumb-font-size: var(--df-typo-sizing-default) !default;
2
+ $breadcrumb-item-padding-x: 0 !default; //.5rem default
3
+ $breadcrumb-bg: none !default;
4
+ $breadcrumb-divider-color: var(--df-link-color-neutral-default-foreground) !default;
5
+ $breadcrumb-active-color: var(--df-link-color-neutral-default-foreground) !default;
6
+ $breadcrumb-divider: '\f054' !default; // fa-chevron-right
7
+ $breadcrumb-divider-flipped: '\f053' !default; // fa-chevron-left