@design-factory/design-factory 15.2.3 → 16.0.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 (205) hide show
  1. package/README.md +17 -1
  2. package/assets/fonts/amadeus-neue/bold/AmadeusNeue-Bold.ttf +0 -0
  3. package/assets/fonts/amadeus-neue/bold/AmadeusNeue-Bold.woff +0 -0
  4. package/assets/fonts/amadeus-neue/bold/AmadeusNeue-Bold.woff2 +0 -0
  5. package/assets/fonts/amadeus-neue/bold/AmadeusNeue-BoldItalic.ttf +0 -0
  6. package/assets/fonts/amadeus-neue/bold/AmadeusNeue-BoldItalic.woff +0 -0
  7. package/assets/fonts/amadeus-neue/bold/AmadeusNeue-BoldItalic.woff2 +0 -0
  8. package/assets/fonts/amadeus-neue/light/AmadeusNeue-Light.ttf +0 -0
  9. package/assets/fonts/amadeus-neue/light/AmadeusNeue-Light.woff +0 -0
  10. package/assets/fonts/amadeus-neue/light/AmadeusNeue-Light.woff2 +0 -0
  11. package/assets/fonts/amadeus-neue/light/AmadeusNeue-LightItalic.ttf +0 -0
  12. package/assets/fonts/amadeus-neue/light/AmadeusNeue-LightItalic.woff +0 -0
  13. package/assets/fonts/amadeus-neue/light/AmadeusNeue-LightItalic.woff2 +0 -0
  14. package/assets/fonts/amadeus-neue/medium/AmadeusNeue-Medium.ttf +0 -0
  15. package/assets/fonts/amadeus-neue/medium/AmadeusNeue-Medium.woff +0 -0
  16. package/assets/fonts/amadeus-neue/medium/AmadeusNeue-Medium.woff2 +0 -0
  17. package/assets/fonts/amadeus-neue/medium/AmadeusNeue-MediumItalic.ttf +0 -0
  18. package/assets/fonts/amadeus-neue/medium/AmadeusNeue-MediumItalic.woff +0 -0
  19. package/assets/fonts/amadeus-neue/medium/AmadeusNeue-MediumItalic.woff2 +0 -0
  20. package/assets/fonts/amadeus-neue/regular/AmadeusNeue-Regular.ttf +0 -0
  21. package/assets/fonts/amadeus-neue/regular/AmadeusNeue-Regular.woff +0 -0
  22. package/assets/fonts/amadeus-neue/regular/AmadeusNeue-Regular.woff2 +0 -0
  23. package/assets/fonts/amadeus-neue/regular/AmadeusNeue-RegularItalic.ttf +0 -0
  24. package/assets/fonts/amadeus-neue/regular/AmadeusNeue-RegularItalic.woff +0 -0
  25. package/assets/fonts/amadeus-neue/regular/AmadeusNeue-RegularItalic.woff2 +0 -0
  26. package/design-factory-initial-branding.css +1 -0
  27. package/design-factory-initial-branding.scss +1 -0
  28. package/design-factory.css +1 -3
  29. package/design-factory.scss +1 -0
  30. package/esm2022/lib/angular/accessibility/components/skip-links-container/skip-links-container.component.mjs +3 -3
  31. package/esm2022/lib/angular/df.module.mjs +102 -0
  32. package/esm2022/lib/angular/icon/amadeus-icon.mjs +2 -2
  33. package/esm2022/lib/angular/sidenav/sidenavlist.component.mjs +3 -12
  34. package/esm2022/lib/angular/stepper/stepper.component.mjs +65 -0
  35. package/esm2022/lib/angular/stepper/stepper.directive.mjs +174 -0
  36. package/esm2022/lib/angular/stepper/stepper.module.mjs +17 -0
  37. package/esm2022/lib/angular/stepper/stepper.service.mjs +213 -0
  38. package/esm2022/lib/angular/tooltip/truncate/tooltipTruncate.directive.mjs +5 -3
  39. package/esm2022/lib/index.mjs +9 -96
  40. package/fesm2022/design-factory.mjs +1838 -1427
  41. package/fesm2022/design-factory.mjs.map +1 -1
  42. package/lib/angular/df.module.d.ts +26 -0
  43. package/lib/angular/stepper/stepper.component.d.ts +31 -0
  44. package/lib/angular/stepper/stepper.directive.d.ts +37 -0
  45. package/lib/angular/stepper/stepper.module.d.ts +8 -0
  46. package/lib/angular/stepper/stepper.service.d.ts +126 -0
  47. package/lib/angular/tooltip/truncate/tooltipTruncate.directive.d.ts +1 -0
  48. package/lib/index.d.ts +7 -23
  49. package/package.json +23 -4
  50. package/schematics/migrations/15_0_0/remove-ngx-slider/index.js +0 -1
  51. package/schematics/migrations/16_0_0/navbar-logo-dark/index.d.ts +9 -0
  52. package/schematics/migrations/16_0_0/navbar-logo-dark/index.js +43 -0
  53. package/schematics/migrations/16_0_0/revert-to-old-brand/index.d.ts +7 -0
  54. package/schematics/migrations/16_0_0/revert-to-old-brand/index.js +115 -0
  55. package/schematics/migrations/16_0_0/scss-var/files/removed.json +55 -0
  56. package/schematics/migrations/16_0_0/scss-var/files/renames.json +76 -0
  57. package/schematics/migrations/16_0_0/scss-var/index.d.ts +7 -0
  58. package/schematics/migrations/16_0_0/scss-var/index.js +57 -0
  59. package/schematics/migrations/16_0_0/stepper-classes/index.d.ts +13 -0
  60. package/schematics/migrations/16_0_0/stepper-classes/index.js +63 -0
  61. package/schematics/migrations/helpers.js +0 -1
  62. package/schematics/migrations/migration.json +23 -1
  63. package/schematics/migrations/utils/component-resource-collector.d.ts +44 -0
  64. package/schematics/migrations/utils/component-resource-collector.js +166 -0
  65. package/schematics/migrations/utils/project_tsconfig_paths.js +0 -1
  66. package/schematics/migrations/utils/style-updater.d.ts +9 -0
  67. package/schematics/migrations/utils/style-updater.js +38 -0
  68. package/schematics/migrations/utils/template-updater.d.ts +9 -0
  69. package/schematics/migrations/utils/template-updater.js +38 -0
  70. package/schematics/migrations/utils/typescript/compiler_host.js +0 -1
  71. package/schematics/migrations/utils/typescript/decorators.d.ts +22 -0
  72. package/schematics/migrations/utils/typescript/decorators.js +41 -0
  73. package/schematics/migrations/utils/typescript/functions.d.ts +14 -0
  74. package/schematics/migrations/utils/typescript/functions.js +20 -0
  75. package/schematics/migrations/utils/typescript/imports.d.ts +17 -0
  76. package/schematics/migrations/utils/typescript/imports.js +110 -0
  77. package/schematics/migrations/utils/typescript/line-mappings.d.ts +21 -0
  78. package/schematics/migrations/utils/typescript/line-mappings.js +75 -0
  79. package/schematics/migrations/utils/typescript/parse_tsconfig.js +0 -1
  80. package/schematics/migrations/utils/typescript/property-name.d.ts +18 -0
  81. package/schematics/migrations/utils/typescript/property-name.js +27 -0
  82. package/schematics/ng-add/index.js +0 -1
  83. package/schematics/ng-add/schema.js +0 -1
  84. package/styles/scss/_common.root.scss +37 -0
  85. package/styles/scss/_common.scss +3 -9
  86. package/styles/scss/_common.variables.scss +16 -6
  87. package/styles/scss/_variables.scss +0 -1
  88. package/styles/scss/bootstrap/_maps.scss +10 -9
  89. package/styles/scss/bootstrap/_mixins-override.scss +26 -0
  90. package/styles/scss/bootstrap/_variables.scss +927 -267
  91. package/styles/scss/components/accordion/_accordion.scss +31 -14
  92. package/styles/scss/components/accordion/_accordion.variables.scss +5 -5
  93. package/styles/scss/components/alert/_alert.scss +130 -228
  94. package/styles/scss/components/alert/_alert.variables.scss +22 -33
  95. package/styles/scss/components/badge/_badge.scss +130 -118
  96. package/styles/scss/components/badge/_badge.variables.scss +14 -8
  97. package/styles/scss/components/brand-color/_brand-color.mixins.scss +19 -4
  98. package/styles/scss/components/brand-color/_brand-color.scss +4 -6
  99. package/styles/scss/components/brand-color/_brand-color.variables.scss +1 -7
  100. package/styles/scss/components/brand-color/_brand-color_container.scss +28 -0
  101. package/styles/scss/components/breadcrumbs/_breadcrumbs.scss +77 -65
  102. package/styles/scss/components/breadcrumbs/_breadcrumbs.variables.scss +6 -4
  103. package/styles/scss/components/button/_button.scss +120 -55
  104. package/styles/scss/components/button/_button.variables.scss +18 -4
  105. package/styles/scss/components/button/_button_container.scss +9 -45
  106. package/styles/scss/components/card/_card.scss +90 -58
  107. package/styles/scss/components/card/_card.variables.scss +13 -13
  108. package/styles/scss/components/carousel/_carousel.scss +22 -23
  109. package/styles/scss/components/carousel/_carousel.variables.scss +2 -1
  110. package/styles/scss/components/checkbox/_checkbox.scss +14 -8
  111. package/styles/scss/components/checkbox/_checkbox.variables.scss +2 -2
  112. package/styles/scss/components/collapse/_collapse.scss +15 -7
  113. package/styles/scss/components/collapse/_collapse.variables.scss +3 -3
  114. package/styles/scss/components/datepicker/_datepicker.scss +178 -122
  115. package/styles/scss/components/datepicker/_datepicker.variables.scss +22 -15
  116. package/styles/scss/components/dropdown/_dropdown.mixins.scss +4 -4
  117. package/styles/scss/components/dropdown/_dropdown.scss +39 -19
  118. package/styles/scss/components/dropdown/_dropdown.variables.scss +4 -4
  119. package/styles/scss/components/fieldset/_fieldset.scss +4 -2
  120. package/styles/scss/components/fonts/_fonts-family.scss +112 -29
  121. package/styles/scss/components/fonts/_fonts.root.scss +27 -0
  122. package/styles/scss/components/fonts/_fonts.scss +25 -26
  123. package/styles/scss/components/fonts/_fonts.variables.scss +2 -2
  124. package/styles/scss/components/footer/_footer.scss +48 -18
  125. package/styles/scss/components/footer/_footer.variables.scss +4 -2
  126. package/styles/scss/components/form/_form.scss +69 -16
  127. package/styles/scss/components/form/_form.variables.scss +23 -3
  128. package/styles/scss/components/icon/_amadeus-icon.scss +2 -2
  129. package/styles/scss/components/icon/_amadeus-icon.variables.scss +1 -0
  130. package/styles/scss/components/inputs/_inputs.mixin.scss +8 -4
  131. package/styles/scss/components/inputs/_inputs.root.scss +8 -0
  132. package/styles/scss/components/inputs/_inputs.scss +159 -118
  133. package/styles/scss/components/inputs/_inputs.variables.scss +2 -1
  134. package/styles/scss/components/link/_link.mixins.scss +49 -49
  135. package/styles/scss/components/link/_link.scss +84 -22
  136. package/styles/scss/components/link/_link.variables.scss +6 -6
  137. package/styles/scss/components/list/_list.scss +10 -5
  138. package/styles/scss/components/list-group/_list-group.scss +54 -48
  139. package/styles/scss/components/list-group/_list-group.variables.scss +6 -14
  140. package/styles/scss/components/media/_media.scss +17 -9
  141. package/styles/scss/components/media/_media.variables.scss +2 -1
  142. package/styles/scss/components/modal/_modal.scss +88 -39
  143. package/styles/scss/components/modal/_modal.variables.scss +4 -5
  144. package/styles/scss/components/navbar/_navbar.scss +298 -115
  145. package/styles/scss/components/navbar/_navbar.variables.scss +29 -18
  146. package/styles/scss/components/pagination/_pagination.scss +68 -82
  147. package/styles/scss/components/pagination/_pagination.variables.scss +5 -8
  148. package/styles/scss/components/pagination/_pagination_container.scss +3 -0
  149. package/styles/scss/components/popover/_popover.mixin.scss +20 -33
  150. package/styles/scss/components/popover/_popover.scss +25 -7
  151. package/styles/scss/components/popover/_popover_container.scss +123 -74
  152. package/styles/scss/components/progressbar/_progressbar.scss +15 -7
  153. package/styles/scss/components/progressbar/_progressbar.variables.scss +3 -2
  154. package/styles/scss/components/radio/_radio.scss +19 -14
  155. package/styles/scss/components/rating/_rating.scss +41 -22
  156. package/styles/scss/components/rating/_rating.variables.scss +5 -5
  157. package/styles/scss/components/scrollspy/_scrollspy.scss +30 -13
  158. package/styles/scss/components/scrollspy/_scrollspy.variables.scss +2 -1
  159. package/styles/scss/components/select/_select.scss +232 -166
  160. package/styles/scss/components/select/_select.variables.scss +15 -15
  161. package/styles/scss/components/separator/_separator.scss +2 -1
  162. package/styles/scss/components/sidenav/_sidenav.scss +208 -135
  163. package/styles/scss/components/sidenav/_sidenav.variables.scss +19 -20
  164. package/styles/scss/components/skip-links/_skip-links.scss +31 -16
  165. package/styles/scss/components/skip-links/_skip-links.variables.scss +6 -6
  166. package/styles/scss/components/slider/_slider.scss +11 -10
  167. package/styles/scss/components/slider/_slider.variables.scss +8 -8
  168. package/styles/scss/components/speechbubble/_speechbubble.scss +50 -30
  169. package/styles/scss/components/speechbubble/_speechbubble.variables.scss +4 -2
  170. package/styles/scss/components/spinner/_spinner.scss +34 -29
  171. package/styles/scss/components/stepper/_stepper.mixins.scss +111 -151
  172. package/styles/scss/components/stepper/_stepper.scss +163 -69
  173. package/styles/scss/components/stepper/_stepper.variables.scss +23 -17
  174. package/styles/scss/components/table/_advancedtables.scss +50 -31
  175. package/styles/scss/components/table/_table.variables.scss +3 -2
  176. package/styles/scss/components/tabs/_tabs.scss +98 -49
  177. package/styles/scss/components/tabs/_tabs.variables.scss +11 -10
  178. package/styles/scss/components/toast/_toast.scss +136 -68
  179. package/styles/scss/components/toast/_toast.variables.scss +4 -4
  180. package/styles/scss/components/toggle/_toggle.scss +90 -44
  181. package/styles/scss/components/toggle/_toggle.variables.scss +7 -5
  182. package/styles/scss/components/typeahead/_typeahead.scss +18 -8
  183. package/styles/scss/components/typeahead/_typeahead.variables.scss +1 -1
  184. package/styles/scss/df-styles-namespace.scss +8 -11
  185. package/styles/scss/df-styles.scss +6 -3
  186. package/styles/scss/themes/brand2023/_variables.scss +588 -0
  187. package/styles/scss/utilities/_common.utilities.scss +112 -32
  188. package/assets/fonts/amadeus-light/amadeus-light.svg +0 -8658
  189. package/assets/fonts/amadeus-light/amadeus-light.ttf +0 -0
  190. package/assets/fonts/amadeus-light/amadeus-light.woff +0 -0
  191. package/assets/fonts/amadeus-light/amadeus-light.woff2 +0 -0
  192. package/assets/icon-amadeus.svg +0 -1
  193. package/esm2022/lib/angular/utils/html-element-helper.mjs +0 -8
  194. package/esm2022/lib/angular/utils/titleTruncate.directive.mjs +0 -39
  195. package/lib/angular/utils/html-element-helper.d.ts +0 -5
  196. package/lib/angular/utils/titleTruncate.directive.d.ts +0 -16
  197. package/schematics/migrations/15_0_0/remove-ngx-slider/index.js.map +0 -1
  198. package/schematics/migrations/helpers.js.map +0 -1
  199. package/schematics/migrations/utils/project_tsconfig_paths.js.map +0 -1
  200. package/schematics/migrations/utils/typescript/compiler_host.js.map +0 -1
  201. package/schematics/migrations/utils/typescript/parse_tsconfig.js.map +0 -1
  202. package/schematics/ng-add/index.js.map +0 -1
  203. package/schematics/ng-add/schema.js.map +0 -1
  204. package/styles/scss/components/tooltip/_tooltip.scss +0 -3
  205. package/styles/scss/components/tooltip/_tooltip.variables.scss +0 -5
@@ -1,113 +1,41 @@
1
1
  @use 'sass:map';
2
2
 
3
- div.badge {
4
- padding-top: 0; // forced override for complex badge (badge with interactions)
5
- padding-bottom: 0; // forced override for complex badge (badge with interactions)
6
-
7
- &.df-closable {
8
- // add
9
- @include ltr {
10
- padding-right: 0;
11
- }
12
- @include rtl {
13
- padding-left: 0;
14
- }
15
-
16
- button {
17
- background-color: inherit;
18
- color: inherit;
19
-
20
- &:hover {
21
- cursor: pointer;
22
- }
23
- border: $df-badge-close-border;
24
- padding: $df-badge-close-padding;
25
-
26
- span {
27
- font-size: $df-badge-close-font-size;
28
- vertical-align: inherit;
29
- }
30
-
31
- &:focus,
32
- &.focus {
33
- outline: 0;
34
- box-shadow: $btn-focus-box-shadow;
35
- }
36
- }
37
- }
38
-
39
- &:not(.rounded-pill) {
40
- &.df-closable {
41
- // add
42
- display: inline-flex;
43
- padding-left: 0;
44
-
45
- span[role='button'] {
46
- padding: $badge-padding-y $df-badge-interactive-close-padding-left $badge-padding-y $badge-padding-x;
47
- @include ltr {
48
- border-top-left-radius: $badge-border-radius;
49
- border-bottom-left-radius: $badge-border-radius;
50
- }
51
- @include rtl {
52
- border-top-right-radius: $badge-border-radius;
53
- border-bottom-right-radius: $badge-border-radius;
54
- }
55
- }
56
- button {
57
- @include ltr {
58
- border-top-right-radius: $badge-border-radius;
59
- border-bottom-right-radius: $badge-border-radius;
60
- }
61
- @include rtl {
62
- border-top-left-radius: $badge-border-radius;
63
- border-bottom-left-radius: $badge-border-radius;
64
- }
65
- }
66
- }
67
- }
68
-
69
- &.rounded-pill {
70
- &.df-closable {
71
- // add
72
- button {
73
- @include ltr {
74
- border-top-right-radius: $border-radius-pill;
75
- border-bottom-right-radius: $border-radius-pill;
76
- }
77
- @include rtl {
78
- border-top-left-radius: $border-radius-pill;
79
- border-bottom-left-radius: $border-radius-pill;
80
- }
81
- }
82
- }
83
- }
84
- }
85
-
86
3
  .badge {
4
+ --#{$prefix}badge-focus-box-shadow: #{$df-badge-focus-box-shadow};
5
+ --#{$prefix}badge-text-transform: uppercase;
6
+ --#{$prefix}badge-icon-margin-start: #{$df-badge-icon-margin-start};
7
+ --#{$prefix}badge-icon-margin-end: #{$df-badge-icon-margin-end};
8
+ --#{$prefix}badge-dot-font-size: #{$df-badge-dot-font-size};
9
+ --#{$prefix}badge-dot-margin-end: #{$df-badge-dot-margin-end};
87
10
  // override
88
- text-transform: uppercase;
11
+ text-transform: var(--#{$prefix}badge-text-transform);
12
+ display: inline-flex;
13
+ align-items: center;
14
+
15
+ // not interactive badges
89
16
  &.rounded-pill,
90
17
  &.df-badge-dot {
91
18
  cursor: text;
92
19
  }
20
+ // interactive badges
93
21
  &:not(.rounded-pill):not(.df-badge-dot) {
94
22
  cursor: pointer;
23
+ }
95
24
 
96
- &:focus,
97
- &.focus {
98
- outline: 0;
99
- box-shadow: $btn-focus-box-shadow;
100
- }
25
+ &:focus,
26
+ &.focus {
27
+ outline: $df-badge-button-focus-outline;
28
+ box-shadow: var(--#{$prefix}badge-focus-box-shadow);
101
29
  }
102
30
 
103
31
  .df-badge-icon {
104
32
  @include ltr {
105
- margin-left: $df-badge-icon-margin-left;
106
- margin-right: $df-badge-icon-margin-right;
33
+ margin-left: var(--#{$prefix}badge-icon-margin-start);
34
+ margin-right: var(--#{$prefix}badge-icon-margin-end);
107
35
  }
108
36
  @include rtl {
109
- margin-left: $df-badge-icon-margin-right;
110
- margin-right: $df-badge-icon-margin-left;
37
+ margin-left: var(--#{$prefix}badge-icon-margin-end);
38
+ margin-right: var(--#{$prefix}badge-icon-margin-start);
111
39
  }
112
40
  }
113
41
 
@@ -116,45 +44,129 @@ div.badge {
116
44
  color: inherit !important;
117
45
  &::before {
118
46
  content: '';
119
- height: $df-df-badge-dot-font-size;
120
- width: $df-df-badge-dot-font-size;
47
+ height: var(--#{$prefix}badge-dot-font-size);
48
+ width: var(--#{$prefix}badge-dot-font-size);
121
49
  border-radius: 50%;
122
50
  display: inline-block;
123
51
  @include ltr {
124
- margin-right: $df-df-badge-dot-margin-right;
52
+ margin-right: var(--#{$prefix}badge-dot-margin-end);
125
53
  }
126
54
  @include rtl {
127
- margin-left: $df-df-badge-dot-margin-right;
55
+ margin-left: var(--#{$prefix}badge-dot-margin-end);
128
56
  }
129
57
  }
130
58
  }
131
59
 
132
60
  @each $color, $value in $utilities-bg-colors {
133
- $hexaValue: map.get($theme-colors, $color);
134
- @if not $hexaValue {
135
- $hexaValue: map.get($colors, $color);
136
- }
137
- @if $hexaValue {
138
- $hover-background-color: df-getBGHoverColor($color);
139
- $hover-color-value: color-contrast($hover-background-color);
140
- &.bg-#{$color} {
141
- color: color-contrast($hexaValue);
142
- &:not(.rounded-pill):not(.df-badge-dot):hover {
143
- &:not(.df-closable) {
144
- color: $hover-color-value;
145
- background-color: $hover-background-color !important;
61
+ &.bg-#{$color} {
62
+ --#{$prefix}badge-color: #{shades-css-var($color, 'bg-color', true)};
63
+ --#{$prefix}badge-hover-background-color: #{shades-css-var($color, 'bg-hover-color')};
64
+ --#{$prefix}badge-hover-color: #{shades-css-var($color, 'bg-hover-color', true)};
65
+ --#{$prefix}badge-active-background-color: #{shades-css-var($color, 'bg-active-color')};
66
+ --#{$prefix}badge-active-color: #{shades-css-var($color, 'bg-active-color', true)};
67
+ --#{$prefix}badge-dot-background-color: #{shades-css-var($color, 'bg-color')};
68
+ &:not(.rounded-pill):not(.df-badge-dot) {
69
+ &:not(.df-closable) {
70
+ &:hover {
71
+ color: var(--#{$prefix}badge-hover-color);
72
+ background-color: var(--#{$prefix}badge-hover-background-color) !important;
73
+ }
74
+ &:active {
75
+ color: var(--#{$prefix}badge-active-color);
76
+ background-color: var(--#{$prefix}badge-active-background-color) !important;
146
77
  }
147
78
  }
148
- &.df-closable {
149
- button:hover, span[role='button']:hover {
150
- color: $hover-color-value;
151
- background-color: $hover-background-color;
152
- }
79
+ }
80
+ &.df-closable {
81
+ button:hover, span[role='button']:hover {
82
+ color: var(--#{$prefix}badge-hover-color);
83
+ background-color: var(--#{$prefix}badge-hover-background-color);
153
84
  }
154
- &.df-badge-dot::before {
155
- background-color: $value;
85
+ }
86
+ &.df-badge-dot::before {
87
+ background-color: var(--#{$prefix}badge-dot-background-color);
88
+ }
89
+ @if variable-exists($name: 'df-enableBranding2023') and $df-enableBranding2023 {
90
+ &:focus {
91
+ --#{$prefix}box-shadow-color: #{shades-css-var($color, 'bg-color')};
92
+ &:hover:not(:active) {
93
+ --#{$prefix}box-shadow-color: #{shades-css-var($color, 'bg-hover-color')};
94
+ }
95
+ &:active {
96
+ --#{$prefix}box-shadow-color: #{shades-css-var($color, 'bg-active-color')};
97
+ }
156
98
  }
157
99
  }
158
100
  }
159
101
  }
160
- }
102
+ }
103
+
104
+ .badge.df-closable { // badge interactive closable
105
+ --#{$prefix}badge-interactive-container-padding-y: 0;
106
+ --#{$prefix}badge-interactive-container-padding-start: 0;
107
+ --#{$prefix}badge-interactive-container-padding-end: 0;
108
+ --#{$prefix}badge-interactive-button-start-radius: #{$badge-border-radius};
109
+ --#{$prefix}badge-interactive-button-padding-end: #{$df-badge-interactive-button-padding-end};
110
+ --#{$prefix}badge-interactive-close-box-shadow: #{$btn-focus-box-shadow};
111
+ --#{$prefix}badge-interactive-close-end-radius: #{$badge-border-radius};
112
+ --#{$prefix}badge-interactive-close-padding: #{$df-badge-interactive-close-padding};
113
+ --#{$prefix}badge-interactive-close-border: #{$df-badge-interactive-close-border};
114
+ --#{$prefix}badge-interactive-close-outline: #{$df-badge-button-focus-outline};
115
+ padding: var(--#{$prefix}badge-interactive-container-padding-y) var(--#{$prefix}badge-interactive-container-padding-end) var(--#{$prefix}badge-interactive-container-padding-y) var(--#{$prefix}badge-interactive-container-padding-start);
116
+
117
+ button {
118
+ background-color: inherit;
119
+ color: inherit;
120
+
121
+ &:hover {
122
+ cursor: pointer;
123
+ }
124
+ border: var(--#{$prefix}badge-interactive-close-border);
125
+ padding: var(--#{$prefix}badge-interactive-close-padding);
126
+
127
+ &:focus,
128
+ &.focus {
129
+ outline: var(--#{$prefix}badge-interactive-close-outline);
130
+ box-shadow: var(--#{$prefix}badge-interactive-close-box-shadow);
131
+ }
132
+ @include ltr {
133
+ border-top-right-radius: var(--#{$prefix}badge-interactive-close-end-radius);
134
+ border-bottom-right-radius: var(--#{$prefix}badge-interactive-close-end-radius);
135
+ }
136
+ @include rtl {
137
+ border-top-left-radius: var(--#{$prefix}badge-interactive-close-end-radius);
138
+ border-bottom-left-radius: var(--#{$prefix}badge-interactive-close-end-radius);
139
+ }
140
+ }
141
+
142
+ &:not(.rounded-pill) { // round-pill does not have internal button as span
143
+ // add
144
+ span[role='button'] {
145
+ // We put the badge padding on the button except for the side that touches the close button
146
+ @include ltr {
147
+ padding: var(--#{$prefix}badge-padding-y) var(--#{$prefix}badge-interactive-button-padding-end) var(--#{$prefix}badge-padding-y) var(--#{$prefix}badge-padding-x);
148
+ }
149
+ @include rtl {
150
+ padding: var(--#{$prefix}badge-padding-y) var(--#{$prefix}badge-padding-x) var(--#{$prefix}badge-padding-y) var(--#{$prefix}badge-interactive-button-padding-end);
151
+ }
152
+ @include ltr {
153
+ border-top-left-radius: var(--#{$prefix}badge-interactive-button-start-radius);
154
+ border-bottom-left-radius: var(--#{$prefix}badge-interactive-button-start-radius);
155
+ }
156
+ @include rtl {
157
+ border-top-right-radius: var(--#{$prefix}badge-interactive-button-start-radius);
158
+ border-bottom-right-radius: var(--#{$prefix}badge-interactive-button-start-radius);
159
+ }
160
+ }
161
+ }
162
+
163
+ &.rounded-pill {
164
+ --#{$prefix}badge-interactive-close-end-radius: #{$border-radius-pill};
165
+ --#{$prefix}badge-interactive-container-padding-start: var(--#{$prefix}badge-padding-x);
166
+ @include rtl {
167
+ --#{$prefix}badge-interactive-container-padding-start: 0;
168
+ --#{$prefix}badge-interactive-container-padding-end: var(--#{$prefix}badge-padding-x);
169
+ }
170
+ }
171
+ }
172
+
@@ -1,10 +1,16 @@
1
1
  // Closable feature
2
- $df-badge-close-font-size: $badge-font-size !default;
3
- $df-badge-close-border: none !default;
4
- $df-badge-close-padding: $badge-padding-y !default;
5
- $df-badge-interactive-close-padding-left: 0.38em !default;
2
+ // close button font-size should not be linked to badge font-size as when we change
3
+ // the badge font size the close button already evolve due to the em unit
4
+ $df-badge-interactive-close-font-size: 0.75em !default;
5
+ $df-badge-interactive-close-border: none !default;
6
+ // We could adjust the padding start and padding-y to make the close button bigger or smaller
7
+ $df-badge-interactive-close-padding: var(--#{$prefix}badge-padding-y) !default;
8
+ // We want to put the same padding as top and bottom between the text the the close button
9
+ $df-badge-interactive-button-padding-end: $badge-padding-y !default;
6
10
 
7
- $df-df-badge-dot-font-size: 0.8em !default;
8
- $df-df-badge-dot-margin-right: 0.38em !default;
9
- $df-badge-icon-margin-left: -0.17em !default;
10
- $df-badge-icon-margin-right: 0.3em !default;
11
+ $df-badge-dot-font-size: 0.8em !default;
12
+ $df-badge-dot-margin-end: 0.38em !default;
13
+ $df-badge-icon-margin-start: -0.17em !default;
14
+ $df-badge-icon-margin-end: 0.3em !default;
15
+ $df-badge-button-focus-outline: var(--#{$prefix}focus-outline) !default;
16
+ $df-badge-focus-box-shadow: $btn-focus-box-shadow !default;
@@ -1,11 +1,26 @@
1
1
  @use 'sass:color';
2
2
 
3
- @mixin df-bg-variant($parent, $color) {
3
+ @mixin df-bg-variant($parent, $color, $colorName) {
4
4
  a#{$parent},
5
5
  button#{$parent} {
6
- &:hover,
7
- &:focus {
8
- background-color: color.adjust($color, $lightness: -10%) !important;
6
+ @if variable-exists($name: 'df-enableBranding2023') and $df-enableBranding2023 {
7
+ --#{$prefix}box-shadow-color: #{shades-css-var($colorName, 'bg-color', true)};
8
+ &:focus {
9
+ background-color: shades-css-var($colorName, 'bg-color') !important;
10
+ }
11
+ &:hover {
12
+ --#{$prefix}box-shadow-color: #{shades-css-var($colorName, 'bg-hover-color', true)};
13
+ background-color: shades-css-var($colorName, 'bg-hover-color') !important;
14
+ }
15
+ &:active {
16
+ --#{$prefix}box-shadow-color: #{shades-css-var($colorName, 'bg-active-color', true)};
17
+ background-color: shades-css-var($colorName, 'bg-active-color') !important;
18
+ }
19
+ } @else {
20
+ &:hover,
21
+ &:focus {
22
+ background-color: color.adjust($color, $lightness: -10%) !important;
23
+ }
9
24
  }
10
25
  }
11
26
  }
@@ -8,11 +8,9 @@
8
8
  }
9
9
  }
10
10
 
11
+ // TODO see how we can remove this because it was removed from bootstrap
12
+ // Maybe generate the classes for the others colors see _maps.scss in bootstrap
13
+ // to know what is already generated
11
14
  @each $color, $value in $colors {
12
- @include df-bg-variant('.bg-#{$color}', $value);
13
- }
14
-
15
- :root {
16
- --#{$variable-prefix}dark-primary: #{$dark-primary};
17
- --#{$variable-prefix}yellow-rgb: #{to-rgb($yellow)};
15
+ @include df-bg-variant('.bg-#{$color}', $value, $color);
18
16
  }
@@ -62,13 +62,7 @@ $df-colors-transformed: df-transform-loop(
62
62
  $df-active-transform-param
63
63
  );
64
64
 
65
- // init specific variables for dark-colors. For backward compatibility
66
65
  // stylelint-disable-next-line scss/dollar-variable-pattern
67
- $dark-primary: map.get(
68
- $df-colors-transformed,
69
- $df-active-transform + '-' + $df-active-transform-param + '-primary'
70
- ) !default;
71
-
72
66
  $df-bg-active-transform: 'mix' !default;
73
67
  $df-bg-active-transform-param1: $white !default;
74
68
  $df-bg-active-transform-param2: 15% !default;
@@ -141,7 +135,7 @@ $df-colors-transformed: df-transform-loop(
141
135
  // stylelint-disable-next-line scss/dollar-variable-pattern
142
136
  $gradients: () !default;
143
137
  // stylelint-disable-next-line
144
- $gradients: map-merge(
138
+ $gradients: map.merge(
145
139
  (
146
140
  'gradient-blue': (
147
141
  'from': $blue,
@@ -0,0 +1,28 @@
1
+ // stylelint-disable scss/dollar-variable-pattern
2
+ $shade-colors-rgb: map-loop($shade-colors, to-rgb, "$value") !default;
3
+ $shade-colors-text: map-loop($shade-colors, color-contrast, "$value") !default;
4
+ $shade-colors-text-rgb: map-loop($shade-colors-text, to-rgb, "$value") !default;
5
+
6
+ #{$df-css-namespace-selector} {
7
+ --#{$prefix}dark-primary: #{$dark-primary};
8
+ --#{$prefix}yellow-rgb: #{to-rgb($yellow)};
9
+ --#{$prefix}dark-primary-rgb: #{to-rgb($dark-primary)};
10
+ --#{$prefix}white-color: #{color-contrast($white)};
11
+ --#{$prefix}black-color: #{color-contrast($black)};
12
+
13
+ @each $color, $value in $shade-colors {
14
+ --#{$prefix}#{$color}: #{$value};
15
+ }
16
+
17
+ @each $color, $value in $shade-colors-rgb {
18
+ --#{$prefix}#{$color}-rgb: #{$value};
19
+ }
20
+
21
+ @each $color, $value in $shade-colors-text {
22
+ --#{$prefix}#{$color}-color: #{$value};
23
+ }
24
+
25
+ @each $color, $value in $shade-colors-text-rgb {
26
+ --#{$prefix}#{$color}-color-rgb: #{$value};
27
+ }
28
+ }
@@ -1,91 +1,103 @@
1
1
  .breadcrumb {
2
+ --#{$prefix}breadcrumb-item-before-padding: #{$df-breadcrumb-item-before-padding};
3
+ --#{$prefix}breadcrumb-item-active-font-weight: #{$df-breadcrumb-item-active-font-weight};
4
+ --#{$prefix}breadcrumb-item-before-font-weight: #{$df-breadcrumb-item-before-font-weight};
5
+ --#{$prefix}breadcrumb-item-display: #{$df-breadcrumb-item-display};
6
+ --#{$prefix}breadcrumb-icon-display: #{$df-breadcrumb-icon-display};
7
+ --#{$prefix}breadcrumb-item-two-last-items-display: #{$df-breadcrumb-item-two-last-items-display};
8
+ --#{$prefix}breadcrumb-icon-color: #{$df-breadcrumb-icon-color};
9
+ --#{$prefix}breadcrumb-icon-margin: #{$df-breadcrumb-icon-margin};
10
+ --#{$prefix}breadcrumb-icon-angle-left-content: #{$df-breadcrumb-icon-angle-left-content};
11
+ --#{$prefix}breadcrumb-icon-angle-right-content: #{$df-breadcrumb-icon-angle-right-content};
2
12
 
3
13
  &.breadcrumb-sm {
4
- font-size: $font-size-sm;
14
+ --#{$prefix}breadcrumb-font-size: #{$font-size-sm};
5
15
  }
6
16
 
7
17
  &.breadcrumb-lg {
8
- font-size: $font-size-lg;
18
+ // todo create a css variable for body-font-size-lg and sm
19
+ --#{$prefix}breadcrumb-font-size: #{$font-size-lg};
9
20
  }
10
- }
11
-
12
- .breadcrumb-item {
13
- @include ltr {
14
- padding: $df-breadcrumb-item-padding;
15
21
 
22
+ .breadcrumb-item {
16
23
  &:before {
17
- padding: $df-breadcrumb-item-before-padding;
24
+ padding: var(--#{$prefix}breadcrumb-item-before-padding);
18
25
  }
19
- }
20
26
 
21
- @include rtl {
22
- padding: $df-breadcrumb-item-padding;
23
-
24
- &:before {
25
- float: right;
26
- padding: $df-breadcrumb-item-before-padding;
27
+ @include rtl {
28
+ &:before {
29
+ float: right;
30
+ }
27
31
  }
28
- }
29
-
30
- &:nth-of-type(2):before {
31
- // first item after arrow should not have slash char before text
32
- content: $df-breadcrumb-item-before-content;
33
- }
34
-
35
- &.active {
36
- // active item in bold
37
- font-weight: $df-breadcrumb-item-active-font-weight;
38
- }
39
32
 
40
- &.active:before {
41
- // no bold for the slash before active item
42
- font-weight: $df-breadcrumb-item-normal-font-weight;
43
- }
44
- }
33
+ a {
34
+ &:focus {
35
+ box-shadow: $df-breadcrumb-item-link-focus-box-shadow;
36
+ outline: $df-breadcrumb-item-link-outline;
37
+ }
38
+ }
45
39
 
46
- .df-breadcrumb-icon {
47
- // hide arrow item
48
- display: $df-breadcrumb-item-display;
49
- }
40
+ &:nth-of-type(2):before {
41
+ // first item after arrow should not have slash char before text
42
+ content: $df-breadcrumb-item-before-content;
43
+ }
50
44
 
51
- .df-breadcrumb-icon:before {
52
- // custom df class for breadcrumb icon
53
- // extends icon-angle-(left or right) class depending on the direction
54
- @extend %df-icon-style;
45
+ &.active {
46
+ // active item in bold
47
+ font-weight: var(--#{$prefix}breadcrumb-item-active-font-weight);
48
+ }
55
49
 
56
- @include ltr {
57
- content: $df-breadcrumb-icon-angle-left-content;
50
+ &.active:before {
51
+ // no bold for the slash before active item
52
+ font-weight: var(--#{$prefix}breadcrumb-item-before-font-weight);
53
+ }
58
54
  }
59
55
 
60
- @include rtl {
61
- content: $df-breadcrumb-icon-angle-right-content;
62
- }
63
- }
56
+ .df-breadcrumb-icon {
57
+ // hidden by default
58
+ display: var(--#{$prefix}breadcrumb-icon-display);
59
+ color: var(--#{$prefix}breadcrumb-icon-color);
60
+ margin: var(--#{$prefix}breadcrumb-icon-margin);
64
61
 
65
- // Mobile breakpoint
66
- @include media-breakpoint-only(xs) {
67
- .breadcrumb-item {
68
- &:not(:nth-of-type(1)) {
69
- // items are hidden
70
- display: $df-breadcrumb-item-display;
62
+ &:before {
63
+ // custom df class for breadcrumb icon
64
+ // extends icon-angle-(left or right) class depending on the direction
65
+ @extend %df-icon-style;
66
+
67
+ @include ltr {
68
+ // content cannot be a CSS variable
69
+ content: $df-breadcrumb-icon-angle-left-content;
70
+ }
71
+
72
+ @include rtl {
73
+ content: $df-breadcrumb-icon-angle-right-content;
74
+ }
71
75
  }
76
+ }
72
77
 
73
- &:nth-last-of-type(2),
74
- &:nth-last-of-type(1) {
75
- // two last items are displayed
76
- display: $df-breadcrumb-item-two-last-items-display;
78
+ // Mobile breakpoint
79
+ @include media-breakpoint-only(xs) {
80
+ .breadcrumb-item {
81
+ &:not(:nth-of-type(1)) {
82
+ // items are hidden
83
+ display: var(--#{$prefix}breadcrumb-item-display);
84
+ }
85
+
86
+ &:nth-last-of-type(2),
87
+ &:nth-last-of-type(1) {
88
+ // two last items are displayed
89
+ display: var(--#{$prefix}breadcrumb-item-two-last-items-display);
90
+ }
91
+
92
+ &:nth-last-of-type(2):before {
93
+ // first item after arrow should not have slash char before text
94
+ content: $df-breadcrumb-item-before-content;
95
+ }
77
96
  }
78
97
 
79
- &:nth-last-of-type(2):before {
80
- // first item after arrow should not have slash char before text
81
- content: $df-breadcrumb-item-before-content;
98
+ .df-breadcrumb-icon {
99
+ // arrow displayed
100
+ --#{$prefix}breadcrumb-icon-display: #{$df-breadcrumb-icon-xs-display};
82
101
  }
83
102
  }
84
-
85
- .df-breadcrumb-icon {
86
- // arrow displayed
87
- display: $df-breadcrumb-icon-display;
88
- color: $df-breadcrumb-icon-color;
89
- margin: $df-breadcrumb-icon-margin;
90
- }
91
103
  }
@@ -1,13 +1,15 @@
1
- $df-breadcrumb-item-padding: 0rem !default;
2
1
  $df-breadcrumb-item-before-padding: 0rem 0.5rem !default;
3
2
  $df-breadcrumb-item-before-content: none !default;
4
3
  $df-breadcrumb-item-active-font-weight: 500 !default;
5
- $df-breadcrumb-item-normal-font-weight: normal !default;
4
+ $df-breadcrumb-item-before-font-weight: normal !default;
6
5
  $df-breadcrumb-item-display: none !default;
6
+ $df-breadcrumb-icon-display: none !default;
7
7
  $df-breadcrumb-item-two-last-items-display: inline !default;
8
8
 
9
- $df-breadcrumb-icon-display: inline !default;
10
- $df-breadcrumb-icon-color: $primary !default;
9
+ $df-breadcrumb-icon-xs-display: inline !default;
10
+ $df-breadcrumb-icon-color: shades-css-var('primary', 'inert-color') !default;
11
11
  $df-breadcrumb-icon-margin: 0rem 0.5rem !default;
12
12
  $df-breadcrumb-icon-angle-left-content: '\e92a' !default; // icon-angle-left
13
13
  $df-breadcrumb-icon-angle-right-content: '\e92b' !default; // icon-angle-right
14
+ $df-breadcrumb-item-link-focus-box-shadow: var(--#{$prefix}link-focus-box-shadow) !default;
15
+ $df-breadcrumb-item-link-outline: none !default;