@design-factory/design-factory 19.1.3 → 20.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 (181) hide show
  1. package/design-factory-initial-branding.css +1 -1
  2. package/design-factory.css +2 -2
  3. package/fesm2022/design-factory.mjs +511 -389
  4. package/fesm2022/design-factory.mjs.map +1 -1
  5. package/index.d.ts +1801 -2
  6. package/package.json +14 -16
  7. package/schematics/migrations/20_0_0/navbar-toggler-logo-svg/index.d.ts +7 -0
  8. package/schematics/migrations/20_0_0/navbar-toggler-logo-svg/index.js +47 -0
  9. package/schematics/migrations/migration.json +6 -0
  10. package/styles/scss/_common.scss +1 -1
  11. package/styles/scss/_common.variables.scss +4 -2
  12. package/styles/scss/_variables.scss +1 -0
  13. package/styles/scss/agnosui/_variables.scss +2 -2
  14. package/styles/scss/bootstrap/_variables.scss +13 -6
  15. package/styles/scss/components/accordion/_accordion.scss +12 -1
  16. package/styles/scss/components/alert/_alert.scss +15 -7
  17. package/styles/scss/components/badge/_badge.mixins.scss +12 -0
  18. package/styles/scss/components/badge/_badge.scss +263 -75
  19. package/styles/scss/components/badge/_badge.variables.scss +8 -0
  20. package/styles/scss/components/brand-color/_brand-color.mixins.scss +2 -2
  21. package/styles/scss/components/breadcrumbs/_breadcrumbs.scss +12 -9
  22. package/styles/scss/components/breadcrumbs/_breadcrumbs.variables.scss +3 -3
  23. package/styles/scss/components/button/_button.scss +384 -59
  24. package/styles/scss/components/button/_button.variables.scss +1 -3
  25. package/styles/scss/components/card/_card.scss +14 -0
  26. package/styles/scss/components/card/_card.variables.scss +2 -0
  27. package/styles/scss/components/carousel/_carousel.scss +2 -2
  28. package/styles/scss/components/checkbox/_checkbox.scss +11 -4
  29. package/styles/scss/components/datepicker/_datepicker.scss +1 -1
  30. package/styles/scss/components/dropdown/_dropdown.scss +4 -2
  31. package/styles/scss/components/dropdown/_dropdown.variables.scss +1 -0
  32. package/styles/scss/components/fieldset/_fieldset.scss +2 -2
  33. package/styles/scss/components/fieldset/_fieldset.variables.scss +1 -1
  34. package/styles/scss/components/fonts/_fonts-family.scss +8 -8
  35. package/styles/scss/components/fonts/multi-lang/_arabic.mixins.scss +5 -1
  36. package/styles/scss/components/fonts/multi-lang/_chinese.mixins.scss +13 -4
  37. package/styles/scss/components/fonts/multi-lang/_georgian.mixins.scss +5 -1
  38. package/styles/scss/components/fonts/multi-lang/_hebrew.mixins.scss +5 -1
  39. package/styles/scss/components/fonts/multi-lang/_japanese.mixins.scss +15 -5
  40. package/styles/scss/components/fonts/multi-lang/_korean.mixins.scss +12 -4
  41. package/styles/scss/components/footer/_footer.mixins.scss +36 -0
  42. package/styles/scss/components/footer/_footer.scss +49 -15
  43. package/styles/scss/components/footer/_footer.variables.scss +0 -1
  44. package/styles/scss/components/form/_form.scss +31 -1
  45. package/styles/scss/components/icon/_amadeus-icon.scss +2 -2
  46. package/styles/scss/components/inputs/_inputs.mixin.scss +2 -2
  47. package/styles/scss/components/inputs/_inputs.scss +3 -3
  48. package/styles/scss/components/link/_link.mixins.scss +72 -75
  49. package/styles/scss/components/link/_link.scss +26 -32
  50. package/styles/scss/components/link/_link.variables.scss +3 -0
  51. package/styles/scss/components/list-group/_list-group.scss +30 -5
  52. package/styles/scss/components/list-group/_list-group.variables.scss +6 -2
  53. package/styles/scss/components/media/_media.scss +8 -1
  54. package/styles/scss/components/media/_media.variables.scss +2 -0
  55. package/styles/scss/components/modal/_modal.scss +17 -4
  56. package/styles/scss/components/modal/_modal.variables.scss +1 -0
  57. package/styles/scss/components/navbar/_navbar.mixins.scss +55 -0
  58. package/styles/scss/components/navbar/_navbar.scss +180 -71
  59. package/styles/scss/components/navbar/_navbar.variables.scss +42 -13
  60. package/styles/scss/components/pagination/_pagination.scss +51 -2
  61. package/styles/scss/components/pagination/_pagination.variables.scss +3 -0
  62. package/styles/scss/components/popover/_popover.mixin.scss +1 -1
  63. package/styles/scss/components/popover/_popover.scss +1 -1
  64. package/styles/scss/components/popover/_popover.variables.scss +4 -0
  65. package/styles/scss/components/progressbar/_progressbar.scss +11 -0
  66. package/styles/scss/components/progressbar/_progressbar.variables.scss +5 -0
  67. package/styles/scss/components/radio/_radio.scss +11 -4
  68. package/styles/scss/components/radio/_radio.variables.scss +1 -0
  69. package/styles/scss/components/rating/_rating.scss +21 -3
  70. package/styles/scss/components/scrollspy/_scrollspy.scss +8 -1
  71. package/styles/scss/components/select/_select.mixin.scss +34 -0
  72. package/styles/scss/components/select/_select.scss +5 -19
  73. package/styles/scss/components/select/_select.variables.scss +2 -0
  74. package/styles/scss/components/sidenav/_sidenav.scss +2 -2
  75. package/styles/scss/components/speechbubble/_speechbubble.scss +19 -0
  76. package/styles/scss/components/speechbubble/_speechbubble.variables.scss +6 -0
  77. package/styles/scss/components/spinner/_spinner.scss +19 -0
  78. package/styles/scss/components/spinner/_spinner.variables.scss +6 -0
  79. package/styles/scss/components/stepper/_stepper.scss +29 -3
  80. package/styles/scss/components/stepper/_stepper.variables.scss +13 -4
  81. package/styles/scss/components/table/_advancedtables.scss +9 -5
  82. package/styles/scss/components/table/_table.scss +6 -0
  83. package/styles/scss/components/table/_table.variables.scss +3 -0
  84. package/styles/scss/components/tabs/_tabs.scss +12 -1
  85. package/styles/scss/components/timepicker/_timepicker.scss +5 -0
  86. package/styles/scss/components/timepicker/_timepicker.variables.scss +1 -0
  87. package/styles/scss/components/toast/_toast.scss +31 -9
  88. package/styles/scss/components/toggle/_toggle.scss +2 -1
  89. package/styles/scss/components/toggle/_toggle.variables.scss +1 -0
  90. package/styles/scss/components/tooltip/_tooltip.scss +12 -0
  91. package/styles/scss/components/tooltip/_tooltip.variables.scss +4 -0
  92. package/styles/scss/df-styles.scss +1 -0
  93. package/styles/scss/themes/brand2023/_variables.scss +477 -457
  94. package/styles/scss/themes/brand2023/tokens/_figma.gen.scss +3028 -0
  95. package/styles/scss/themes/brand2023/tokens/_mapping.gen.scss +898 -0
  96. package/styles/scss/utilities/_common.utilities.scss +49 -1
  97. package/environment.d.ts +0 -4
  98. package/lib/angular/accessibility/accessibility.module.d.ts +0 -10
  99. package/lib/angular/accessibility/components/skip-links-container/skip-links-container.component.d.ts +0 -7
  100. package/lib/angular/accessibility/directives/skip-link.directive.d.ts +0 -9
  101. package/lib/angular/alert/alert.module.d.ts +0 -8
  102. package/lib/angular/animation/ngbTransition.d.ts +0 -16
  103. package/lib/angular/animation/util.d.ts +0 -14
  104. package/lib/angular/card/card-advanced.module.d.ts +0 -8
  105. package/lib/angular/card/manage-card-selection.directive.d.ts +0 -13
  106. package/lib/angular/datepicker/datepicker-keyboard-nav.service.d.ts +0 -7
  107. package/lib/angular/datepicker/datepicker-range.directive.d.ts +0 -30
  108. package/lib/angular/datepicker/datepicker-range.service.d.ts +0 -32
  109. package/lib/angular/datepicker/datepicker.module.d.ts +0 -10
  110. package/lib/angular/df.module.d.ts +0 -26
  111. package/lib/angular/footer/footer.module.d.ts +0 -8
  112. package/lib/angular/icon/amadeus-icon.d.ts +0 -5
  113. package/lib/angular/icon/icon.module.d.ts +0 -8
  114. package/lib/angular/icon/insert/insert-icon.directive.d.ts +0 -12
  115. package/lib/angular/icon/insert/insert-icon.module.d.ts +0 -8
  116. package/lib/angular/inputs/click/trigger-click.directive.d.ts +0 -9
  117. package/lib/angular/inputs/icon/inputicon.directive.d.ts +0 -29
  118. package/lib/angular/inputs/input-advanced.module.d.ts +0 -10
  119. package/lib/angular/mediaqueries/ifMedia.directive.d.ts +0 -25
  120. package/lib/angular/mediaqueries/media.module.d.ts +0 -8
  121. package/lib/angular/mediaqueries/media.service.d.ts +0 -24
  122. package/lib/angular/mediaqueries/mediaUtils.service.d.ts +0 -75
  123. package/lib/angular/modal/modal.service.d.ts +0 -17
  124. package/lib/angular/popover/config/popover.config.d.ts +0 -7
  125. package/lib/angular/popover/popover.module.d.ts +0 -7
  126. package/lib/angular/progressbar/progressbar.component.d.ts +0 -61
  127. package/lib/angular/progressbar/progressbar.module.d.ts +0 -9
  128. package/lib/angular/progressindicator/default/default-spinner.component.d.ts +0 -8
  129. package/lib/angular/progressindicator/progressindicator-backdrop.component.d.ts +0 -8
  130. package/lib/angular/progressindicator/progressindicator-config.d.ts +0 -54
  131. package/lib/angular/progressindicator/progressindicator-container.component.d.ts +0 -11
  132. package/lib/angular/progressindicator/progressindicator-ref.d.ts +0 -9
  133. package/lib/angular/progressindicator/progressindicator.directive.d.ts +0 -16
  134. package/lib/angular/progressindicator/progressindicator.module.d.ts +0 -15
  135. package/lib/angular/progressindicator/progressindicator.service.d.ts +0 -33
  136. package/lib/angular/right-to-left/directionDetection.service.d.ts +0 -12
  137. package/lib/angular/selects/events/manage-badge-events.directive.d.ts +0 -15
  138. package/lib/angular/selects/nav/manage-nav-select.directive.d.ts +0 -20
  139. package/lib/angular/selects/option-highlight.directive.d.ts +0 -14
  140. package/lib/angular/selects/select.model.d.ts +0 -1
  141. package/lib/angular/selects/select.module.d.ts +0 -13
  142. package/lib/angular/sidenav/dfSideNavAnimation.d.ts +0 -7
  143. package/lib/angular/sidenav/dfSideNavCollapse.d.ts +0 -46
  144. package/lib/angular/sidenav/dfSideNavCollapse.module.d.ts +0 -9
  145. package/lib/angular/sidenav/dfSideNavCollapse.service.d.ts +0 -24
  146. package/lib/angular/sidenav/dfSideNavCollapseConfig.d.ts +0 -17
  147. package/lib/angular/sidenav/excludeTrap.directive.d.ts +0 -30
  148. package/lib/angular/sidenav/manage-sidenav.directive.d.ts +0 -10
  149. package/lib/angular/sidenav/sidenav-config.d.ts +0 -17
  150. package/lib/angular/sidenav/sidenav.component.d.ts +0 -43
  151. package/lib/angular/sidenav/sidenav.module.d.ts +0 -14
  152. package/lib/angular/sidenav/sidenav.service.d.ts +0 -180
  153. package/lib/angular/sidenav/sidenavlist.component.d.ts +0 -25
  154. package/lib/angular/slider/direction/sliderdirection.directive.d.ts +0 -13
  155. package/lib/angular/slider/lib/change-context.d.ts +0 -6
  156. package/lib/angular/slider/lib/compatibility-helper.d.ts +0 -7
  157. package/lib/angular/slider/lib/event-listener-helper.d.ts +0 -13
  158. package/lib/angular/slider/lib/event-listener.d.ts +0 -7
  159. package/lib/angular/slider/lib/math-helper.d.ts +0 -6
  160. package/lib/angular/slider/lib/options.d.ts +0 -241
  161. package/lib/angular/slider/lib/pointer-type.d.ts +0 -7
  162. package/lib/angular/slider/lib/slider-element.directive.d.ts +0 -51
  163. package/lib/angular/slider/lib/slider-handle.directive.d.ts +0 -22
  164. package/lib/angular/slider/lib/slider-label.directive.d.ts +0 -14
  165. package/lib/angular/slider/lib/slider.component.d.ts +0 -193
  166. package/lib/angular/slider/lib/tooltip-wrapper.component.d.ts +0 -13
  167. package/lib/angular/slider/lib/value-helper.d.ts +0 -13
  168. package/lib/angular/slider/slider.module.d.ts +0 -16
  169. package/lib/angular/stepper/stepper.component.d.ts +0 -30
  170. package/lib/angular/stepper/stepper.directive.d.ts +0 -37
  171. package/lib/angular/stepper/stepper.module.d.ts +0 -8
  172. package/lib/angular/stepper/stepper.service.d.ts +0 -132
  173. package/lib/angular/toast/toast.module.d.ts +0 -8
  174. package/lib/angular/tooltip/tooltip.module.d.ts +0 -9
  175. package/lib/angular/tooltip/truncate/tooltipTruncate.directive.d.ts +0 -19
  176. package/lib/angular/utils/html-element-helper.d.ts +0 -15
  177. package/lib/angular/utils/scrollbar.service.d.ts +0 -46
  178. package/lib/angular/utils/titleTruncate.directive.d.ts +0 -15
  179. package/lib/angular/waves-of-progress/waves.directive.d.ts +0 -36
  180. package/lib/angular/waves-of-progress/waves.module.d.ts +0 -7
  181. package/lib/index.d.ts +0 -70
@@ -1,7 +1,30 @@
1
+ @use 'sass:meta';
1
2
  @use 'sass:map';
2
3
  @import 'badge.mixins';
3
4
 
5
+ $df-solidMappedColors: () !default;
6
+ $df-lightMappedColors: () !default;
7
+ @each $color, $value in $utilities-bg-colors {
8
+ $df-solidMappedColors: map.set($df-solidMappedColors, $color, $color);
9
+ $df-lightMappedColors: map.set($df-lightMappedColors, $color, $color + '-light');
10
+ }
11
+
12
+ @if meta.variable-exists($name: 'df-enableBranding2023') and $df-enableBranding2023 {
13
+ /* stylelint-disable-next-line scss/dollar-variable-default */
14
+ $df-solidMappedColors: map.set($df-solidMappedColors, 'white', 'neutral-alt');
15
+
16
+ /* stylelint-disable-next-line scss/dollar-variable-default */
17
+ $df-solidMappedColors: map.set($df-solidMappedColors, 'light', 'neutral');
18
+
19
+ /* stylelint-disable-next-line scss/dollar-variable-default */
20
+ $df-lightMappedColors: map.set($df-lightMappedColors, 'light', 'light');
21
+ }
22
+
4
23
  %bg-badge-common {
24
+ @if meta.variable-exists($name: 'df-enableBranding2023') and $df-enableBranding2023 {
25
+ background-color: var(--#{$prefix}badge-background-color) !important;
26
+ }
27
+
5
28
  &:not(.rounded-pill):not(.df-badge-dot) {
6
29
  &:not(.df-closable) {
7
30
  &:hover:not([disabled]):not(.disabled) {
@@ -22,6 +45,14 @@
22
45
  color: var(--#{$prefix}badge-hover-color);
23
46
  background-color: var(--#{$prefix}badge-hover-background-color);
24
47
  }
48
+
49
+ &:not(.disabled) {
50
+ button:active,
51
+ span[role='button']:active {
52
+ color: var(--#{$prefix}badge-active-color);
53
+ background-color: var(--#{$prefix}badge-active-background-color);
54
+ }
55
+ }
25
56
  }
26
57
 
27
58
  &[disabled],
@@ -63,7 +94,7 @@
63
94
  // interactive badges
64
95
  &:not(.rounded-pill):not(.df-badge-dot) {
65
96
  cursor: pointer;
66
- align-items: stretch;
97
+
67
98
  &[disabled],
68
99
  &.disabled,
69
100
  &:has([disabled]),
@@ -72,7 +103,7 @@
72
103
  }
73
104
  }
74
105
 
75
- &:focus,
106
+ &:focus-visible,
76
107
  &.focus {
77
108
  outline: $df-badge-button-focus-outline;
78
109
  box-shadow: var(--#{$prefix}badge-focus-box-shadow);
@@ -98,27 +129,79 @@
98
129
  }
99
130
 
100
131
  @each $color, $value in $utilities-bg-colors {
101
- &.bg-#{$color} {
102
- // in this case we also handle the .badge.bg-light
103
- // TODO: Check if the tokens fixes the issue
104
- --#{$prefix}body-bg: unset; // need it to fix the focus internal box-shadow color
105
- --#{$prefix}badge-color: #{shades-css-var($color, 'bg-color', true)};
106
- --#{$prefix}badge-hover-background-color: #{shades-css-var($color, 'bg-hover-color')};
107
- --#{$prefix}badge-hover-color: #{shades-css-var($color, 'bg-hover-color', true)};
108
- --#{$prefix}badge-active-background-color: #{shades-css-var($color, 'bg-active-color')};
109
- --#{$prefix}badge-active-color: #{shades-css-var($color, 'bg-active-color', true)};
110
- --#{$prefix}badge-dot-background-color: #{shades-css-var($color, 'bg-color')};
111
- --#{$prefix}badge-disabled-color: var(--#{$prefix}disabled-color);
112
- @extend %bg-badge-common;
132
+ $mappedColor: map.get($df-solidMappedColors, $color);
133
+ @if not meta.variable-exists($name: 'df-enableBranding2023') or not $df-enableBranding2023 or $color != 'light' {
134
+ &.bg-#{$color} {
135
+ // in this case we also handle the .badge.bg-light
136
+ // TODO: Check if the tokens fixes the issue
137
+ --#{$prefix}body-bg: unset; // need it to fix the focus internal box-shadow color
138
+ --#{$prefix}badge-color: #{shades-css-var-brand2023(
139
+ 'badge-solid-color-' + #{$mappedColor} + '-default-foreground',
140
+ $color,
141
+ 'bg-color',
142
+ true
143
+ )};
144
+ --#{$prefix}badge-background-color: var(--#{$prefix}badge-solid-color-#{$mappedColor}-default-background);
145
+ --#{$prefix}badge-hover-background-color: #{shades-css-var-brand2023(
146
+ 'badge-solid-color-' + #{$mappedColor} + '-hovered-background',
147
+ $color,
148
+ 'bg-hover-color'
149
+ )};
150
+ --#{$prefix}badge-hover-color: #{shades-css-var-brand2023(
151
+ 'badge-solid-color-' + #{$mappedColor} + '-hovered-foreground',
152
+ $color,
153
+ 'bg-hover-color',
154
+ true
155
+ )};
156
+ --#{$prefix}badge-active-background-color: #{shades-css-var-brand2023(
157
+ 'badge-solid-color-' + #{$mappedColor} + '-pressed-background',
158
+ $color,
159
+ 'bg-active-color'
160
+ )};
161
+ --#{$prefix}badge-active-color: #{shades-css-var-brand2023(
162
+ 'badge-solid-color-' + #{$mappedColor} + '-pressed-foreground',
163
+ $color,
164
+ 'bg-active-color',
165
+ true
166
+ )};
167
+ --#{$prefix}badge-dot-background-color: #{shades-css-var-brand2023(
168
+ 'badge-solid-color-' + #{$mappedColor} + '-default-background',
169
+ $color,
170
+ 'bg-color'
171
+ )};
172
+ --#{$prefix}badge-disabled-color: var(--#{$prefix}disabled-color);
173
+
174
+ @extend %bg-badge-common;
175
+ }
113
176
  }
114
177
 
115
178
  &.df-badge-outline-#{$color} {
116
- --#{$prefix}badge-color: #{shades-css-var($color, 'text-color')};
179
+ --#{$prefix}badge-color: #{shades-css-var-brand2023(
180
+ 'badge-outline-color-' + #{$color} + '-default-foreground',
181
+ $color,
182
+ 'text-color'
183
+ )};
117
184
  --#{$prefix}badge-background-color: transparent;
118
- --#{$prefix}badge-border-color: #{shades-css-var($color, 'border-color')};
119
- --#{$prefix}badge-hover-background-color: #{shades-css-var($color, 'bg-hover-alt-color')};
120
- --#{$prefix}badge-hover-color: #{shades-css-var($color, 'text-hover-color')};
121
- --#{$prefix}badge-hover-border-color: #{shades-css-var($color, 'border-hover-color')};
185
+ --#{$prefix}badge-border-color: #{shades-css-var-brand2023(
186
+ 'badge-outline-color-' + #{$color} + '-default-border',
187
+ $color,
188
+ 'border-color'
189
+ )};
190
+ --#{$prefix}badge-hover-background-color: #{shades-css-var-brand2023(
191
+ 'badge-outline-color-' + #{$color} + '-hovered-background',
192
+ $color,
193
+ 'bg-hover-alt-color'
194
+ )};
195
+ --#{$prefix}badge-hover-color: #{shades-css-var-brand2023(
196
+ 'badge-outline-color-' + #{$color} + '-hovered-foreground',
197
+ $color,
198
+ 'text-hover-color'
199
+ )};
200
+ --#{$prefix}badge-hover-border-color: #{shades-css-var-brand2023(
201
+ 'badge-outline-color-' + #{$color} + '-hovered-border',
202
+ $color,
203
+ 'border-hover-color'
204
+ )};
122
205
  background-color: var(--#{$prefix}badge-background-color);
123
206
  color: var(--#{$prefix}badge-color);
124
207
  border: var(--#{$prefix}border-width) solid var(--#{$prefix}badge-border-color);
@@ -149,86 +232,191 @@
149
232
  }
150
233
  }
151
234
  }
235
+
152
236
  &[disabled],
153
237
  &.disabled,
154
238
  &:has([disabled]),
155
239
  &:has(.disabled) {
156
240
  @include df-disable-badge(var(--#{$prefix}disabled-color), var(--#{$prefix}badge-background-color), true);
241
+
157
242
  & > *:hover {
158
243
  cursor: var(--#{$prefix}disabled-cursor);
159
244
  }
160
245
  }
161
246
  }
162
247
 
163
- &.bg-#{$color}-light {
248
+ $lightClassname: map.get($df-lightMappedColors, $color);
249
+ &.bg-#{$lightClassname} {
164
250
  --#{$prefix}body-bg: unset; // need it to fix the focus internal box-shadow color
165
- --#{$prefix}badge-color: #{shades-css-var($color, 'text-light-color')};
166
- --#{$prefix}badge-hover-background-color: #{shades-css-var($color, 'bg-light-hover-color')};
167
- --#{$prefix}badge-hover-color: #{shades-css-var($color, 'text-light-hover-color')};
168
- --#{$prefix}badge-active-background-color: #{shades-css-var($color, 'bg-light-active-color')};
169
- --#{$prefix}badge-active-color: #{shades-css-var($color, 'bg-light-active-color', true)};
170
- --#{$prefix}badge-dot-background-color: #{shades-css-var($color, 'bg-light-color')};
171
- background-color: #{shades-css-var($color, 'bg-light-color')};
251
+ --#{$prefix}badge-background-color: var(--#{$prefix}badge-soft-color-#{$mappedColor}-default-background);
252
+ --#{$prefix}badge-color: #{shades-css-var-brand2023(
253
+ 'badge-soft-color-' + #{$mappedColor} + '-default-foreground',
254
+ $color,
255
+ 'text-light-color'
256
+ )};
257
+ --#{$prefix}badge-hover-background-color: #{shades-css-var-brand2023(
258
+ 'badge-soft-color-' + #{$mappedColor} + '-hovered-background',
259
+ $color,
260
+ 'bg-light-hover-color'
261
+ )};
262
+ --#{$prefix}badge-hover-color: #{shades-css-var-brand2023(
263
+ 'badge-soft-color-' + #{$mappedColor} + '-hovered-foreground',
264
+ $color,
265
+ 'text-light-hover-color'
266
+ )};
267
+ @if meta.variable-exists($name: 'df-enableBranding2023') and $df-enableBranding2023 {
268
+ --#{$prefix}badge-hover-border-color: var(--#{$prefix}badge-soft-color-#{$mappedColor}-hovered-border);
269
+ }
270
+ --#{$prefix}badge-active-background-color: #{shades-css-var-brand2023(
271
+ 'badge-soft-color-' + #{$mappedColor} + '-pressed-background',
272
+ $color,
273
+ 'bg-light-active-color'
274
+ )};
275
+ --#{$prefix}badge-active-color: #{shades-css-var-brand2023(
276
+ 'badge-soft-color-' + #{$mappedColor} + '-pressed-foreground',
277
+ $color,
278
+ 'bg-light-active-color',
279
+ true
280
+ )};
281
+ @if meta.variable-exists($name: 'df-enableBranding2023') and $df-enableBranding2023 {
282
+ --#{$prefix}badge-active-border-color: var(--#{$prefix}badge-soft-color-#{$color}-pressed-border);
283
+ }
284
+ --#{$prefix}badge-dot-background-color: #{shades-css-var-brand2023(
285
+ 'badge-soft-color-' + #{$mappedColor} + '-default-background',
286
+ $color,
287
+ 'bg-light-color'
288
+ )};
289
+ background-color: #{shades-css-var-brand2023('', $color, 'bg-light-color')};
290
+
291
+ @if meta.variable-exists($name: 'df-enableBranding2023') and $df-enableBranding2023 {
292
+ &:not(.df-badge-dot) {
293
+ --#{$prefix}badge-border-color: var(--#{$prefix}badge-soft-color-#{$mappedColor}-default-border);
294
+ }
295
+ }
296
+
297
+ border: var(--#{$prefix}border-width) solid var(--#{$prefix}badge-border-color);
172
298
  @extend %bg-badge-common;
173
299
  }
174
- }
175
- }
176
300
 
177
- .badge.df-closable {
178
- // badge interactive closable
179
- --#{$prefix}badge-interactive-container-padding-y: 0;
180
- --#{$prefix}badge-interactive-container-padding-start: 0;
181
- --#{$prefix}badge-interactive-container-padding-end: 0;
182
- --#{$prefix}badge-interactive-button-start-radius: #{$badge-border-radius};
183
- --#{$prefix}badge-interactive-button-padding-end: #{$df-badge-interactive-button-padding-end};
184
- --#{$prefix}badge-interactive-close-box-shadow: #{$df-btn-focus-box-shadow};
185
- --#{$prefix}badge-interactive-close-end-radius: #{$badge-border-radius};
186
- --#{$prefix}badge-interactive-close-padding: #{$df-badge-interactive-close-padding};
187
- --#{$prefix}badge-interactive-close-border: #{$df-badge-interactive-close-border};
188
- --#{$prefix}badge-interactive-close-outline: #{$df-badge-button-focus-outline};
189
- padding-block: var(--#{$prefix}badge-interactive-container-padding-y);
190
- padding-inline: var(--#{$prefix}badge-interactive-container-padding-start)
191
- var(--#{$prefix}badge-interactive-container-padding-end);
192
-
193
- &:focus-within {
194
- outline: var(--#{$prefix}badge-interactive-close-outline);
195
- box-shadow: var(--#{$prefix}badge-interactive-close-box-shadow);
301
+ @if meta.variable-exists($name: 'df-enableBranding2023') and $df-enableBranding2023 {
302
+ // Additional colors mix (light grey background with colored icon)
303
+ &.bg-light {
304
+ .df-badge-icon.text-#{$color} {
305
+ color: var(--#{$prefix}badge-solid-color-#{$color}-default-background) !important;
306
+ }
307
+ }
308
+ }
196
309
  }
197
310
 
198
- *:focus,
199
- *.focus {
200
- outline: var(--#{$prefix}badge-interactive-close-outline);
201
- box-shadow: var(--#{$prefix}badge-inner-elements-focus-box-shadow);
202
- }
311
+ &.df-closable {
312
+ // badge interactive closable
313
+ --#{$prefix}badge-interactive-container-padding-y: 0;
314
+ --#{$prefix}badge-interactive-container-padding-start: 0;
315
+ --#{$prefix}badge-interactive-container-padding-end: 0;
316
+ --#{$prefix}badge-interactive-button-start-radius: #{$badge-border-radius};
317
+ --#{$prefix}badge-interactive-button-padding-end: #{$df-badge-interactive-button-padding-end};
318
+ --#{$prefix}badge-interactive-close-box-shadow: #{$df-btn-focus-box-shadow};
319
+ --#{$prefix}badge-interactive-close-end-radius: #{$badge-border-radius};
320
+ --#{$prefix}badge-interactive-close-padding: #{$df-badge-interactive-close-padding};
321
+ --#{$prefix}badge-interactive-close-border: #{$df-badge-interactive-close-border};
322
+ --#{$prefix}badge-interactive-close-outline: #{$df-badge-button-focus-outline};
323
+ padding-block: var(--#{$prefix}badge-interactive-container-padding-y);
324
+ padding-inline: var(--#{$prefix}badge-interactive-container-padding-start)
325
+ var(--#{$prefix}badge-interactive-container-padding-end);
203
326
 
204
- button {
205
- background-color: inherit;
206
- color: inherit;
327
+ &:has(button:focus-visible) {
328
+ outline: var(--#{$prefix}badge-interactive-close-outline);
329
+ box-shadow: var(--#{$prefix}badge-interactive-close-box-shadow);
330
+ }
207
331
 
208
- &:hover {
209
- cursor: pointer;
332
+ *:focus-visible,
333
+ *.focus {
334
+ outline: var(--#{$prefix}badge-interactive-close-outline);
335
+ box-shadow: var(--#{$prefix}badge-inner-elements-focus-box-shadow);
210
336
  }
211
337
 
212
- border: var(--#{$prefix}badge-interactive-close-border);
213
- padding: var(--#{$prefix}badge-interactive-close-padding);
214
- border-start-end-radius: var(--#{$prefix}badge-interactive-close-end-radius);
215
- border-end-end-radius: var(--#{$prefix}badge-interactive-close-end-radius);
216
- }
338
+ button {
339
+ background-color: inherit;
340
+ color: inherit;
341
+
342
+ &:hover {
343
+ cursor: pointer;
344
+ }
217
345
 
218
- &:not(.rounded-pill) {
219
- // round-pill does not have internal button as span
220
- // add
221
- span[role='button'] {
222
- // We put the badge padding on the button except for the side that touches the close button
223
- padding-block: var(--#{$prefix}badge-padding-y);
224
- padding-inline: var(--#{$prefix}badge-padding-x) var(--#{$prefix}badge-interactive-button-padding-end);
225
- border-start-start-radius: var(--#{$prefix}badge-interactive-button-start-radius);
226
- border-end-start-radius: var(--#{$prefix}badge-interactive-button-start-radius);
346
+ border: var(--#{$prefix}badge-interactive-close-border);
347
+ padding: var(--#{$prefix}badge-interactive-close-padding);
348
+ border-start-end-radius: var(--#{$prefix}badge-interactive-close-end-radius);
349
+ border-end-end-radius: var(--#{$prefix}badge-interactive-close-end-radius);
350
+ }
351
+
352
+ &:not(.rounded-pill) {
353
+ // round-pill does not have internal button as span
354
+ // add
355
+ span[role='button'] {
356
+ // We put the badge padding on the button except for the side that touches the close button
357
+ padding-block: var(--#{$prefix}badge-padding-y);
358
+ padding-inline: var(--#{$prefix}badge-padding-x) var(--#{$prefix}badge-interactive-button-padding-end);
359
+ border-start-start-radius: var(--#{$prefix}badge-interactive-button-start-radius);
360
+ border-end-start-radius: var(--#{$prefix}badge-interactive-button-start-radius);
361
+ }
362
+ }
363
+
364
+ &.rounded-pill {
365
+ --#{$prefix}badge-interactive-close-end-radius: #{$border-radius-pill};
366
+ --#{$prefix}badge-interactive-container-padding-start: var(--#{$prefix}badge-padding-x);
227
367
  }
228
368
  }
229
369
 
230
- &.rounded-pill {
231
- --#{$prefix}badge-interactive-close-end-radius: #{$border-radius-pill};
232
- --#{$prefix}badge-interactive-container-padding-start: var(--#{$prefix}badge-padding-x);
370
+ //sizing
371
+ @if meta.variable-exists($name: 'df-enableBranding2023') and $df-enableBranding2023 {
372
+ // TODO: when removing old branding move it to the .df-closable class and merge the padding
373
+ &,
374
+ &.df-closable {
375
+ &.rounded-pill > button {
376
+ margin-inline-start: var(--#{$prefix}spacing-1);
377
+ }
378
+
379
+ button,
380
+ [role='button'] {
381
+ height: 100%;
382
+ padding: unset;
383
+ display: flex;
384
+ justify-content: center;
385
+ align-items: center;
386
+ }
387
+ }
388
+
389
+ font-weight: var(--#{$prefix}typo-weight-medium);
390
+
391
+ @include df-badge-sizing(
392
+ $df-badge-height,
393
+ var(--#{$prefix}typo-sizing-xsmall),
394
+ var(--#{$prefix}spacing-3),
395
+ $df-badge-close-button-width
396
+ );
397
+ &.df-badge-sm {
398
+ @include df-badge-sizing(
399
+ $df-badge-height-sm,
400
+ var(--#{$prefix}typo-sizing-xsmall),
401
+ var(--#{$prefix}spacing-3),
402
+ $df-badge-close-button-width
403
+ );
404
+ }
405
+ &.df-badge-lg {
406
+ @include df-badge-sizing(
407
+ $df-badge-height-lg,
408
+ var(--#{$prefix}typo-sizing-small),
409
+ var(--#{$prefix}spacing-4),
410
+ $df-badge-close-button-width-lg
411
+ );
412
+ }
413
+ &.df-badge-xl {
414
+ @include df-badge-sizing(
415
+ $df-badge-height-xl,
416
+ var(--#{$prefix}typo-sizing-default),
417
+ var(--#{$prefix}spacing-5),
418
+ $df-badge-close-button-width-xl
419
+ );
420
+ }
233
421
  }
234
422
  }
@@ -18,3 +18,11 @@ $df-badge-box-shadow-color: var(--#{$prefix}box-shadow-color) !default;
18
18
 
19
19
  $df-badge-inner-elements-focus-box-shadow: none !default;
20
20
  $df-badge-text-transform: none !default;
21
+
22
+ $df-badge-height-sm: 1.25rem !default; // 20px
23
+ $df-badge-height: 1.5rem !default; // 24px
24
+ $df-badge-height-lg: 1.875rem !default; // 30px
25
+ $df-badge-height-xl: 2.5rem !default; // 40px
26
+ $df-badge-close-button-width: 1.5rem !default; // 24px
27
+ $df-badge-close-button-width-lg: 1.75rem !default; // 26px
28
+ $df-badge-close-button-width-xl: 2rem !default; // 28px
@@ -7,7 +7,7 @@
7
7
  button#{$parent} {
8
8
  @if meta.variable-exists($name: 'df-enableBranding2023') and $df-enableBranding2023 {
9
9
  --#{$prefix}box-shadow-color: #{shades-css-var($colorName, 'bg-color', true)};
10
- &:focus {
10
+ &:focus-visible {
11
11
  background-color: shades-css-var($colorName, 'bg-color') !important;
12
12
  }
13
13
  &:hover {
@@ -20,7 +20,7 @@
20
20
  }
21
21
  } @else {
22
22
  &:hover,
23
- &:focus {
23
+ &:focus-visible {
24
24
  background-color: color.adjust($color, $lightness: -10%) !important;
25
25
  }
26
26
  }
@@ -1,3 +1,5 @@
1
+ @use 'sass:meta';
2
+
1
3
  .breadcrumb {
2
4
  --#{$prefix}breadcrumb-item-before-padding: #{$df-breadcrumb-item-before-padding};
3
5
  --#{$prefix}breadcrumb-item-active-font-weight: #{$df-breadcrumb-item-active-font-weight};
@@ -9,16 +11,19 @@
9
11
  --#{$prefix}breadcrumb-icon-margin: #{$df-breadcrumb-icon-margin};
10
12
  --#{$prefix}breadcrumb-icon-angle-left-content: #{$df-breadcrumb-icon-angle-left-content};
11
13
  --#{$prefix}breadcrumb-icon-angle-right-content: #{$df-breadcrumb-icon-angle-right-content};
14
+ --#{$prefix}breadcrumb-item-icon-margin-inline-end: #{$df-breadcrumb-item-icon-margin-inline-end};
12
15
 
13
16
  &.breadcrumb-sm {
14
17
  --#{$prefix}breadcrumb-font-size: #{$font-size-sm};
15
18
  --#{$prefix}breadcrumb-item-before-padding: #{$df-breadcrumb-item-before-padding-sm};
19
+ --#{$prefix}breadcrumb-item-icon-margin-inline-end: #{$df-breadcrumb-item-icon-margin-inline-end-sm};
16
20
  }
17
21
 
18
22
  &.breadcrumb-lg {
19
23
  // todo create a css variable for body-font-size-lg and sm
20
24
  --#{$prefix}breadcrumb-font-size: #{$font-size-lg};
21
25
  --#{$prefix}breadcrumb-item-before-padding: #{$df-breadcrumb-item-before-padding-lg};
26
+ --#{$prefix}breadcrumb-item-icon-margin-inline-end: #{$df-breadcrumb-item-icon-margin-inline-end-lg};
22
27
  }
23
28
 
24
29
  .breadcrumb-item {
@@ -40,19 +45,17 @@
40
45
  }
41
46
 
42
47
  a {
43
- &:focus-visible {
44
- box-shadow: $df-breadcrumb-item-link-focus-box-shadow;
45
- outline: $df-breadcrumb-item-link-outline;
46
- }
47
-
48
- &:hover:not([aria-disabled='true']) {
49
- border-bottom-style: solid;
50
- @include df-link-hover;
48
+ border-bottom: 0;
49
+ @if (not meta.variable-exists($name: 'df-enableBranding2023')) {
50
+ &:hover {
51
+ border-bottom: var(--#{$prefix}link-border-bottom);
52
+ border-bottom-width: var(--#{$prefix}link-hover-border-bottom-width);
53
+ }
51
54
  }
52
55
  }
53
56
 
54
57
  .df-breadcrumb-item-icon {
55
- margin-inline-end: $df-breadcrumb-item-icon-margin-inline-end;
58
+ margin-inline-end: var(--#{$prefix}breadcrumb-item-icon-margin-inline-end);
56
59
  }
57
60
 
58
61
  &:nth-of-type(2):before {
@@ -8,14 +8,14 @@ $df-breadcrumb-item-display: none !default;
8
8
  $df-breadcrumb-icon-display: none !default;
9
9
  $df-breadcrumb-item-two-last-items-display: inline !default;
10
10
 
11
- $df-breadcrumb-item-icon-margin-inline-end: 0.125rem !default;
11
+ $df-breadcrumb-item-icon-margin-inline-end: 0.25rem !default;
12
+ $df-breadcrumb-item-icon-margin-inline-end-sm: 0.125rem !default;
13
+ $df-breadcrumb-item-icon-margin-inline-end-lg: 0.5rem !default;
12
14
 
13
15
  $df-breadcrumb-icon-xs-display: inline !default;
14
16
  $df-breadcrumb-icon-color: shades-css-var('primary', 'inert-color') !default;
15
17
  $df-breadcrumb-icon-margin: 0rem 0.5rem !default;
16
18
  $df-breadcrumb-icon-angle-left-content: '\f104' !default; // fa-angle-left
17
19
  $df-breadcrumb-icon-angle-right-content: '\f105' !default; // fa-angle-right
18
- $df-breadcrumb-item-link-focus-box-shadow: var(--#{$prefix}link-focus-box-shadow) !default;
19
- $df-breadcrumb-item-link-outline: none !default;
20
20
 
21
21
  $df-breadcrumb-separator-font: Font Awesome 6 Pro !default;