@design-factory/styles 21.0.0-next.0 → 21.0.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 (78) hide show
  1. package/README.md +30 -1
  2. package/bundle.css +2 -2
  3. package/package.json +11 -4
  4. package/scss/_common.mixins.scss +10 -10
  5. package/scss/_common.root.scss +0 -31
  6. package/scss/_common.scss +14 -10
  7. package/scss/_common.variables.scss +13 -59
  8. package/scss/_variables.scss +12 -8
  9. package/scss/bootstrap/_functions.scss +55 -0
  10. package/scss/bootstrap/_mixins-override.scss +8 -52
  11. package/scss/bootstrap/_variables.scss +235 -355
  12. package/scss/bundle.scss +5 -6
  13. package/scss/components/accordion/_accordion.variables.scss +1 -1
  14. package/scss/components/alert/_alert.scss +1 -1
  15. package/scss/components/badge/_badge.scss +1 -1
  16. package/scss/components/brand-color/_brand-color.mixins.scss +0 -2
  17. package/scss/components/brand-color/_brand-color.scss +0 -7
  18. package/scss/components/button/_button.mixins.scss +1 -1
  19. package/scss/components/button/_button.namespace.scss +42 -0
  20. package/scss/components/button/_button.scss +12 -12
  21. package/scss/components/button/_button.variables.scss +11 -4
  22. package/scss/components/card/_card.scss +4 -0
  23. package/scss/components/card/_card.variables.scss +1 -1
  24. package/scss/components/carousel/_carousel.namespace.scss +8 -0
  25. package/scss/components/checkbox/_checkbox.scss +14 -16
  26. package/scss/components/checkbox/_checkbox.variables.scss +2 -1
  27. package/scss/components/collapse/_collapse.scss +1 -1
  28. package/scss/components/datepicker/_datepicker.scss +16 -2
  29. package/scss/components/drawer/_drawer.scss +44 -10
  30. package/scss/components/dropdown/_dropdown.scss +2 -2
  31. package/scss/components/dropdown/_dropdown.variables.scss +1 -1
  32. package/scss/components/form/_form.scss +13 -5
  33. package/scss/components/form/_form.variables.scss +9 -3
  34. package/scss/components/icon/_amadeus-icon.scss +1 -1
  35. package/scss/components/inputs/_inputs.mixin.scss +0 -13
  36. package/scss/components/inputs/_inputs.scss +6 -39
  37. package/scss/components/inputs/_inputs.variables.scss +7 -0
  38. package/scss/components/link/_link.scss +1 -1
  39. package/scss/components/list-group/_list-group.scss +5 -5
  40. package/scss/components/media/_media.scss +1 -1
  41. package/scss/components/modal/_modal.namespace.scss +13 -0
  42. package/scss/components/modal/_modal.scss +6 -1
  43. package/scss/components/navbar/_navbar.scss +3 -2
  44. package/scss/components/pagination/_pagination.namespace.scss +15 -0
  45. package/scss/components/pagination/_pagination.scss +35 -34
  46. package/scss/components/pagination/_pagination.variables.scss +2 -2
  47. package/scss/components/popover/_popover.scss +2 -2
  48. package/scss/components/popover/_popover.variables.scss +1 -1
  49. package/scss/components/radio/_radio.scss +12 -12
  50. package/scss/components/rating/_rating.scss +1 -1
  51. package/scss/components/scrollspy/_scrollspy.scss +22 -1
  52. package/scss/components/select/_select.namespace.scss +13 -0
  53. package/scss/components/select/_select.scss +33 -17
  54. package/scss/components/select/_select.variables.scss +4 -6
  55. package/scss/components/sidenav/_sidenav-deprecated.scss +1 -1
  56. package/scss/components/sidenav/_sidenav.scss +26 -0
  57. package/scss/components/slider/_slider.scss +7 -7
  58. package/scss/components/speechbubble/_speechbubble.scss +6 -10
  59. package/scss/components/stepper/_stepper.scss +2 -2
  60. package/scss/components/table/_advancedtables.scss +8 -3
  61. package/scss/components/tabs/_tabs.scss +6 -1
  62. package/scss/components/toast/_toast.variables.scss +2 -1
  63. package/scss/components/toggle/_toggle.scss +2 -2
  64. package/scss/namespace.scss +54 -33
  65. package/scss/utilities.scss +0 -1
  66. package/scss/_new-brand-common.variables.scss +0 -7
  67. package/scss/bootstrap/_variables-dark.scss +0 -86
  68. package/scss/components/brand-color/_brand-color.variables.scss +0 -146
  69. package/scss/components/brand-color/_brand-color_container.scss +0 -23
  70. package/scss/components/button/_button_container.scss +0 -47
  71. package/scss/components/pagination/_pagination_container.scss +0 -17
  72. package/scss/components/popover/_popover_container.scss +0 -214
  73. package/scss/components/spinner/_spinner_container.scss +0 -43
  74. package/scss/components/tooltip/_tooltip_container.scss +0 -116
  75. package/scss/themes/brand2023/_variables.scss +0 -315
  76. package/scss/utilities/_common.utilities.scss +0 -98
  77. package/scss/utilities/_form.mixins.scss +0 -26
  78. package/scss/utilities/_rgb.scss +0 -10
@@ -1,5 +1,5 @@
1
1
  @use 'sass:map';
2
- @use '../../new-brand-common.variables' as df;
2
+ @use '../../common.variables' as df;
3
3
 
4
4
  .list-group-item {
5
5
  &.disabled,
@@ -15,10 +15,6 @@
15
15
  // Override the default link behavior
16
16
  border-color: var(--df-list-group-border-color);
17
17
 
18
- .df-skip-links &:not(:hover) {
19
- background-color: var(--df-color-inert-neutral-main-background);
20
- }
21
-
22
18
  &:focus-visible {
23
19
  --df-box-shadow-color: var(--df-list-group-active-color);
24
20
  box-shadow: df.$df-focus-inset-box-shadow;
@@ -57,6 +53,10 @@
57
53
  }
58
54
  }
59
55
 
56
+ .df-skip-links .list-group-item.list-group-item-action:not(.disabled):not([disabled]):not(:hover):not(.active) {
57
+ background-color: var(--df-color-inert-neutral-main-background);
58
+ }
59
+
60
60
  .list-group {
61
61
  $sizes: (
62
62
  'sm': (
@@ -1,4 +1,4 @@
1
- @use '../../new-brand-common.variables' as df;
1
+ @use '../../common.variables' as df;
2
2
 
3
3
  .df-media-button-interactive {
4
4
  box-shadow: none;
@@ -0,0 +1,13 @@
1
+ #{$df-css-namespace-selector} {
2
+ // Re-write of the modal transitions, from bootstrap _modal.scss
3
+ .modal.fade .modal-dialog {
4
+ transform: $modal-fade-transform;
5
+ @include transition($modal-transition);
6
+ }
7
+ .modal.show .modal-dialog {
8
+ transform: $modal-show-transform;
9
+ }
10
+ .modal.modal-static .modal-dialog {
11
+ transform: $modal-scale-transform;
12
+ }
13
+ }
@@ -1,7 +1,11 @@
1
- @use '../../new-brand-common.variables' as df;
1
+ @use '../../common.variables' as df;
2
2
 
3
3
  .modal-content {
4
4
  box-shadow: #{df.$df-box-shadow};
5
+
6
+ .btn {
7
+ --df-inner-box-shadow-color: var(--df-color-inert-neutral-main-background);
8
+ }
5
9
  }
6
10
 
7
11
  .modal-header {
@@ -44,6 +48,7 @@
44
48
 
45
49
  &:focus-visible {
46
50
  --df-box-shadow-color: var(--df-button-text-basic-color-neutral-default-foreground);
51
+ --df-inner-box-shadow-color: var(--df-color-inert-neutral-main-background);
47
52
  box-shadow: #{df.$df-focus-box-shadow};
48
53
  }
49
54
 
@@ -1,5 +1,5 @@
1
1
  @use 'sass:map';
2
- @use '../../new-brand-common.variables' as df;
2
+ @use '../../common.variables' as df;
3
3
  @use 'navbar.mixins' as navbar-mixins;
4
4
 
5
5
  .navbar {
@@ -107,7 +107,8 @@
107
107
  padding: calc((3.5rem - var(--df-typo-sizing-default) * $line-height-base) / 2) var(--df-spacing-5);
108
108
  outline: none;
109
109
  position: relative;
110
- box-shadow: none;
110
+ // important needed to override bootstrap focus style for buttons with :first-child
111
+ box-shadow: none !important;
111
112
 
112
113
  &:focus-visible {
113
114
  &:before {
@@ -0,0 +1,15 @@
1
+ #{$df-css-namespace-selector} {
2
+ // Re-write of the page-link utility, from bootstrap _pagination.scss
3
+ .active > .page-link {
4
+ z-index: 3;
5
+ color: var(--df-pagination-active-color);
6
+ background-color: var(--#{$prefix}pagination-active-bg);
7
+ border-color: var(--df-pagination-active-border-color);
8
+ }
9
+ .disabled > .page-link {
10
+ color: var(--df-pagination-disabled-color);
11
+ pointer-events: none;
12
+ background-color: var(--df-pagination-disabled-bg);
13
+ border-color: var(--df-pagination-disabled-border-color);
14
+ }
15
+ }
@@ -1,11 +1,9 @@
1
1
  @use 'pagination.mixins' as pagination-mixins;
2
- @use '../../new-brand-common.variables' as df;
2
+ @use '../../common.variables' as df;
3
3
 
4
4
  .pagination {
5
- $df-pagination-first-icon-code: '\f323'; // .fa-chevrons-left
6
5
  $df-pagination-previous-icon-code: '\f053'; // .fa-chevron-left
7
6
  $df-pagination-next-icon-code: '\f054'; // .fa-chevron-right
8
- $df-pagination-last-icon-code: '\f324'; // .fa-chevrons-right
9
7
 
10
8
  margin-bottom: 0; // reset the ul margin.
11
9
  align-items: center;
@@ -146,44 +144,47 @@
146
144
  calc(1.75rem + 2px)
147
145
  );
148
146
  }
147
+ }
149
148
 
150
- // TODO: Second Part
151
- // second case: boundaryLinks = true
152
- .with-boundary-links & {
153
- .page-item:nth-of-type(1) {
154
- @include ltr {
155
- @include pagination-mixins.replace-span-innertext-with-icon($df-pagination-first-icon-code);
156
- }
157
- @include rtl {
158
- @include pagination-mixins.replace-span-innertext-with-icon($df-pagination-last-icon-code);
159
- }
149
+ .with-boundary-links .pagination {
150
+ $df-pagination-first-icon-code: '\f323'; // .fa-chevrons-left
151
+ $df-pagination-last-icon-code: '\f324'; // .fa-chevrons-right
152
+ $df-pagination-previous-icon-code: '\f053'; // .fa-chevron-left
153
+ $df-pagination-next-icon-code: '\f054'; // .fa-chevron-right
154
+
155
+ .page-item:nth-of-type(1) {
156
+ @include ltr {
157
+ @include pagination-mixins.replace-span-innertext-with-icon($df-pagination-first-icon-code);
160
158
  }
159
+ @include rtl {
160
+ @include pagination-mixins.replace-span-innertext-with-icon($df-pagination-last-icon-code);
161
+ }
162
+ }
161
163
 
162
- .page-item:nth-of-type(2) {
163
- @include ltr {
164
- @include pagination-mixins.replace-span-innertext-with-icon($df-pagination-previous-icon-code);
165
- }
166
- @include rtl {
167
- @include pagination-mixins.replace-span-innertext-with-icon($df-pagination-next-icon-code);
168
- }
164
+ .page-item:nth-of-type(2) {
165
+ @include ltr {
166
+ @include pagination-mixins.replace-span-innertext-with-icon($df-pagination-previous-icon-code);
169
167
  }
168
+ @include rtl {
169
+ @include pagination-mixins.replace-span-innertext-with-icon($df-pagination-next-icon-code);
170
+ }
171
+ }
170
172
 
171
- .page-item:nth-last-of-type(2) {
172
- @include ltr {
173
- @include pagination-mixins.replace-span-innertext-with-icon($df-pagination-next-icon-code);
174
- }
175
- @include rtl {
176
- @include pagination-mixins.replace-span-innertext-with-icon($df-pagination-previous-icon-code);
177
- }
173
+ .page-item:nth-last-of-type(2) {
174
+ @include ltr {
175
+ @include pagination-mixins.replace-span-innertext-with-icon($df-pagination-next-icon-code);
178
176
  }
177
+ @include rtl {
178
+ @include pagination-mixins.replace-span-innertext-with-icon($df-pagination-previous-icon-code);
179
+ }
180
+ }
179
181
 
180
- .page-item:nth-last-of-type(1) {
181
- @include ltr {
182
- @include pagination-mixins.replace-span-innertext-with-icon($df-pagination-last-icon-code);
183
- }
184
- @include rtl {
185
- @include pagination-mixins.replace-span-innertext-with-icon($df-pagination-first-icon-code);
186
- }
182
+ .page-item:nth-last-of-type(1) {
183
+ @include ltr {
184
+ @include pagination-mixins.replace-span-innertext-with-icon($df-pagination-last-icon-code);
185
+ }
186
+ @include rtl {
187
+ @include pagination-mixins.replace-span-innertext-with-icon($df-pagination-first-icon-code);
187
188
  }
188
189
  }
189
190
  }
@@ -8,13 +8,13 @@ $pagination-padding-x-lg: var(--df-spacing-3) !default;
8
8
  $pagination-bg: var(--df-color-neutral-alt-default-background) !default;
9
9
  $pagination-color: var(--df-color-neutral-alt-default-foreground) !default;
10
10
 
11
- $pagination-focus-bg: var(--df-color-inert-neutral-main-background) !default;
11
+ $pagination-focus-bg: var(--df-color-inert-neutral-pageBackground) !default;
12
12
 
13
13
  $pagination-hover-color: var(--df-color-primary-alt-hovered-foreground) !default;
14
14
  $pagination-hover-bg: var(--df-color-primary-alt-hovered-background) !default;
15
15
 
16
16
  $pagination-disabled-color: var(--df-color-disabled-main-foreground) !default;
17
- $pagination-disabled-bg: var(--df-color-inert-neutral-main-background) !default;
17
+ $pagination-disabled-bg: var(--df-color-inert-neutral-pageBackground) !default;
18
18
 
19
19
  $pagination-active-color: var(--df-color-primary-alt-active-foreground) !default;
20
20
  $pagination-active-bg: var(--df-color-primary-alt-active-background) !default;
@@ -27,8 +27,8 @@
27
27
 
28
28
  &.popover-sm {
29
29
  @include popover-mixins.popover-sizing(
30
- var(--df-spacing-4),
31
- var(--df-spacing-2),
30
+ var(--df-spacing-5),
31
+ var(--df-spacing-3),
32
32
  var(--df-typo-sizing-large),
33
33
  var(--df-typo-sizing-small),
34
34
  var(--df-borderRadius-main-small)
@@ -1,4 +1,4 @@
1
- @use '../../new-brand-common.variables' as df;
1
+ @use '../../common.variables' as df;
2
2
 
3
3
  $popover-font-size: var(--df-typo-sizing-default) !default;
4
4
  $popover-max-width: 50vw !default;
@@ -1,4 +1,4 @@
1
- @use '../../new-brand-common.variables.scss' as df;
1
+ @use '../../common.variables.scss' as df;
2
2
 
3
3
  fieldset[role='radiogroup'] > legend {
4
4
  font-weight: var(--df-typo-weight-regular);
@@ -46,18 +46,18 @@ fieldset[role='radiogroup'] > legend {
46
46
  cursor: not-allowed;
47
47
  }
48
48
  }
49
+ }
49
50
 
50
- :is(&:focus, .form-check &:focus) {
51
- box-shadow: none;
52
- outline: none;
53
- }
54
-
55
- :is(&:focus-visible, .form-check &:focus-visible) {
56
- &:not(:checked):not(.is-invalid) {
57
- --df-box-shadow-color: var(--df-color-input-border);
58
- }
51
+ :is(.form-check-input[type='radio']:focus, .form-check .form-check-input[type='radio']:focus) {
52
+ box-shadow: none;
53
+ outline: none;
54
+ }
59
55
 
60
- box-shadow: #{df.$df-focus-box-shadow};
61
- outline: none;
56
+ :is(.form-check-input[type='radio']:focus-visible, .form-check .form-check-input[type='radio']:focus-visible) {
57
+ &:not(:checked):not(.is-invalid):not(.ng-invalid.ng-touched) {
58
+ --df-box-shadow-color: var(--df-color-input-border);
62
59
  }
60
+
61
+ box-shadow: #{df.$df-focus-box-shadow};
62
+ outline: none;
63
63
  }
@@ -1,4 +1,4 @@
1
- @use '../../new-brand-common.variables.scss' as df;
1
+ @use '../../common.variables.scss' as df;
2
2
  @use 'rating.mixins' as rating-mixins;
3
3
 
4
4
  // flag angular
@@ -1,4 +1,4 @@
1
- @use '../../new-brand-common.variables' as df;
1
+ @use '../../common.variables' as df;
2
2
 
3
3
  // All bootstrap sass var overrides are found in the file _tabs.variables.scss
4
4
 
@@ -21,6 +21,27 @@
21
21
  .df-icon-inlink {
22
22
  color: var(--df-color-neutral-alt-active-foreground) !important;
23
23
  }
24
+
25
+ &:hover:not(:active) {
26
+ .df-icon-inlink {
27
+ color: var(--df-color-neutral-alt-activeHovered-foreground) !important;
28
+ }
29
+ }
30
+ }
31
+
32
+ &:active {
33
+ background-color: var(--df-color-primary-alt-pressed-background);
34
+ color: var(--df-color-primary-alt-pressed-foreground);
35
+
36
+ .df-icon-inlink {
37
+ color: var(--df-color-neutral-alt-pressed-foreground) !important;
38
+ }
39
+ }
40
+
41
+ &:hover:not(:active) {
42
+ .df-icon-inlink {
43
+ color: var(--df-color-neutral-alt-hovered-foreground) !important;
44
+ }
24
45
  }
25
46
 
26
47
  &:focus-visible {
@@ -0,0 +1,13 @@
1
+ // Re-write of the select arrow for dark theme working with namespace
2
+ //TODO: we are forced to use the color instead of the token: https://github.com/Amadeus-xDLC/design-factory.design-system/issues/2840
3
+ html:root[data-df-theme='dark'] #{$df-css-namespace-selector} {
4
+ .form-select {
5
+ --df-form-select-bg-img: url('data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20512%20512%22%3E%3C!--!Font%20Awesome%20Pro%20v6.7.2%20by%20%40fontawesome%20-%20https%3A%2F%2Ffontawesome.com%20License%20-%20https%3A%2F%2Ffontawesome.com%2Flicense%20(Commercial%20License)%20Copyright%202026%20Fonticons%2C%20Inc.--%3E%3Cpath%20fill%3D%22%233a8bff%22%20d%3D%22M267.3%20395.3c-6.2%206.2-16.4%206.2-22.6%200l-192-192c-6.2-6.2-6.2-16.4%200-22.6s16.4-6.2%2022.6%200L256%20361.4%20436.7%20180.7c6.2-6.2%2016.4-6.2%2022.6%200s6.2%2016.4%200%2022.6l-192%20192z%22%2F%3E%3C%2Fsvg%3E');
6
+ &:open {
7
+ --df-form-select-bg-img: url('data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20512%20512%22%3E%3C!--!Font%20Awesome%20Pro%20v6.7.2%20by%20%40fontawesome%20-%20https%3A%2F%2Ffontawesome.com%20License%20-%20https%3A%2F%2Ffontawesome.com%2Flicense%20(Commercial%20License)%20Copyright%202026%20Fonticons%2C%20Inc.--%3E%3Cpath%20fill%3D%22%233a8bff%22%20d%3D%22M244.7%20116.7c6.2-6.2%2016.4-6.2%2022.6%200l192%20192c6.2%206.2%206.2%2016.4%200%2022.6s-16.4%206.2-22.6%200L256%20150.6%2075.3%20331.3c-6.2%206.2-16.4%206.2-22.6%200s-6.2-16.4%200-22.6l192-192z%22%2F%3E%3C%2Fsvg%3E');
8
+ }
9
+ &:not([multiple]):disabled {
10
+ --df-form-select-bg-img: url('data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20512%20512%22%3E%3C!--!Font%20Awesome%20Pro%20v6.7.2%20by%20%40fontawesome%20-%20https%3A%2F%2Ffontawesome.com%20License%20-%20https%3A%2F%2Ffontawesome.com%2Flicense%20(Commercial%20License)%20Copyright%202026%20Fonticons%2C%20Inc.--%3E%3Cpath%20fill%3D%22%23999999%22%20d%3D%22M267.3%20395.3c-6.2%206.2-16.4%206.2-22.6%200l-192-192c-6.2-6.2-6.2-16.4%200-22.6s16.4-6.2%2022.6%200L256%20361.4%20436.7%20180.7c6.2-6.2%2016.4-6.2%2022.6%200s6.2%2016.4%200%2022.6l-192%20192z%22%2F%3E%3C%2Fsvg%3E');
11
+ }
12
+ }
13
+ }
@@ -1,12 +1,15 @@
1
- @use '../../new-brand-common.variables.scss' as df;
1
+ @use '../../common.variables.scss' as df;
2
2
  @use 'select.mixin' as select-mixins;
3
3
 
4
4
  //TODO: we are forced to use the color instead of the token: https://github.com/Amadeus-xDLC/design-factory.design-system/issues/2840
5
5
  html:root[data-df-theme='dark'] {
6
6
  .form-select {
7
- --df-form-select-bg-img: url("data:image/svg+xml;charset=utf8,%3Csvg version='1.1' viewBox='0 0 1792 1792' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='%23fafafa' d='m1408 704q0 26-19 45l-448 448q-19 19-45 19t-45-19l-448-448q-19-19-19-45t19-45 45-19h896q26 0 45 19t19 45z'/%3E%3C/svg%3E");
7
+ --df-form-select-bg-img: url('data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20512%20512%22%3E%3C!--!Font%20Awesome%20Pro%20v6.7.2%20by%20%40fontawesome%20-%20https%3A%2F%2Ffontawesome.com%20License%20-%20https%3A%2F%2Ffontawesome.com%2Flicense%20(Commercial%20License)%20Copyright%202026%20Fonticons%2C%20Inc.--%3E%3Cpath%20fill%3D%22%233a8bff%22%20d%3D%22M267.3%20395.3c-6.2%206.2-16.4%206.2-22.6%200l-192-192c-6.2-6.2-6.2-16.4%200-22.6s16.4-6.2%2022.6%200L256%20361.4%20436.7%20180.7c6.2-6.2%2016.4-6.2%2022.6%200s6.2%2016.4%200%2022.6l-192%20192z%22%2F%3E%3C%2Fsvg%3E');
8
+ &:open {
9
+ --df-form-select-bg-img: url('data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20512%20512%22%3E%3C!--!Font%20Awesome%20Pro%20v6.7.2%20by%20%40fontawesome%20-%20https%3A%2F%2Ffontawesome.com%20License%20-%20https%3A%2F%2Ffontawesome.com%2Flicense%20(Commercial%20License)%20Copyright%202026%20Fonticons%2C%20Inc.--%3E%3Cpath%20fill%3D%22%233a8bff%22%20d%3D%22M244.7%20116.7c6.2-6.2%2016.4-6.2%2022.6%200l192%20192c6.2%206.2%206.2%2016.4%200%2022.6s-16.4%206.2-22.6%200L256%20150.6%2075.3%20331.3c-6.2%206.2-16.4%206.2-22.6%200s-6.2-16.4%200-22.6l192-192z%22%2F%3E%3C%2Fsvg%3E');
10
+ }
8
11
  &:not([multiple]):disabled {
9
- --df-form-select-bg-img: url("data:image/svg+xml;charset=utf8,%3Csvg version='1.1' viewBox='0 0 1792 1792' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='%23999999' d='m1408 704q0 26-19 45l-448 448q-19 19-45 19t-45-19l-448-448q-19-19-19-45t19-45 45-19h896q26 0 45 19t19 45z'/%3E%3C/svg%3E");
12
+ --df-form-select-bg-img: url('data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20512%20512%22%3E%3C!--!Font%20Awesome%20Pro%20v6.7.2%20by%20%40fontawesome%20-%20https%3A%2F%2Ffontawesome.com%20License%20-%20https%3A%2F%2Ffontawesome.com%2Flicense%20(Commercial%20License)%20Copyright%202026%20Fonticons%2C%20Inc.--%3E%3Cpath%20fill%3D%22%23999999%22%20d%3D%22M267.3%20395.3c-6.2%206.2-16.4%206.2-22.6%200l-192-192c-6.2-6.2-6.2-16.4%200-22.6s16.4-6.2%2022.6%200L256%20361.4%20436.7%20180.7c6.2-6.2%2016.4-6.2%2022.6%200s6.2%2016.4%200%2022.6l-192%20192z%22%2F%3E%3C%2Fsvg%3E');
10
13
  }
11
14
  }
12
15
  }
@@ -14,7 +17,6 @@ html:root[data-df-theme='dark'] {
14
17
  /* Native select */
15
18
  .form-select {
16
19
  --df-box-shadow-color: var(--df-color-input-border);
17
- --df-form-select-bg-img: url("data:image/svg+xml;charset=utf8,%3Csvg version='1.1' viewBox='0 0 1792 1792' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='%231a1a1a' d='m1408 704q0 26-19 45l-448 448q-19 19-45 19t-45-19l-448-448q-19-19-19-45t19-45 45-19h896q26 0 45 19t19 45z'/%3E%3C/svg%3E");
18
20
 
19
21
  @each $state, $name in ('invalid': 'danger', 'warning': 'warning') {
20
22
  &.is-#{$state} {
@@ -28,6 +30,10 @@ html:root[data-df-theme='dark'] {
28
30
  background-position: left 0.5rem center;
29
31
  }
30
32
  }
33
+ &:open {
34
+ // chevron-up with button-text-basic-color-primary-default-foreground color (#0c66e1)
35
+ --df-form-select-bg-img: url('data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20512%20512%22%3E%3C!--!Font%20Awesome%20Pro%20v6.7.2%20by%20%40fontawesome%20-%20https%3A%2F%2Ffontawesome.com%20License%20-%20https%3A%2F%2Ffontawesome.com%2Flicense%20(Commercial%20License)%20Copyright%202026%20Fonticons%2C%20Inc.--%3E%3Cpath%20fill%3D%22%230c66e1%22%20d%3D%22M244.7%20116.7c6.2-6.2%2016.4-6.2%2022.6%200l192%20192c6.2%206.2%206.2%2016.4%200%2022.6s-16.4%206.2-22.6%200L256%20150.6%2075.3%20331.3c-6.2%206.2-16.4%206.2-22.6%200s-6.2-16.4%200-22.6l192-192z%22%2F%3E%3C%2Fsvg%3E');
36
+ }
31
37
 
32
38
  &:focus {
33
39
  box-shadow: none;
@@ -61,7 +67,8 @@ html:root[data-df-theme='dark'] {
61
67
  }
62
68
 
63
69
  &:not([multiple]):disabled {
64
- --df-form-select-bg-img: url("data:image/svg+xml;charset=utf8,%3Csvg version='1.1' viewBox='0 0 1792 1792' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='%23b3b3b3' d='m1408 704q0 26-19 45l-448 448q-19 19-45 19t-45-19l-448-448q-19-19-19-45t19-45 45-19h896q26 0 45 19t19 45z'/%3E%3C/svg%3E");
70
+ // chevron-down with color-disabled-main-foreground color (#b3b3b3)
71
+ --df-form-select-bg-img: url('data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20512%20512%22%3E%3C!--!Font%20Awesome%20Pro%20v6.7.2%20by%20%40fontawesome%20-%20https%3A%2F%2Ffontawesome.com%20License%20-%20https%3A%2F%2Ffontawesome.com%2Flicense%20(Commercial%20License)%20Copyright%202026%20Fonticons%2C%20Inc.--%3E%3Cpath%20fill%3D%22%23b3b3b3%22%20d%3D%22M267.3%20395.3c-6.2%206.2-16.4%206.2-22.6%200l-192-192c-6.2-6.2-6.2-16.4%200-22.6s16.4-6.2%2022.6%200L256%20361.4%20436.7%20180.7c6.2-6.2%2016.4-6.2%2022.6%200s6.2%2016.4%200%2022.6l-192%20192z%22%2F%3E%3C%2Fsvg%3E');
65
72
  }
66
73
  }
67
74
 
@@ -74,10 +81,9 @@ html:root[data-df-theme='dark'] {
74
81
  .highlighted {
75
82
  color: var(--df-color-primary-alt-default-foreground);
76
83
  text-decoration: inherit !important;
77
-
78
- .ng-option-marked & {
79
- color: var(--df-color-primary-alt-hovered-foreground);
80
- }
84
+ }
85
+ .ng-option-marked .highlighted {
86
+ color: var(--df-color-primary-alt-hovered-foreground);
81
87
  }
82
88
 
83
89
  // ng-select
@@ -138,13 +144,17 @@ html:root[data-df-theme='dark'] {
138
144
 
139
145
  .ng-arrow:before {
140
146
  font-family: 'Font Awesome 6 Pro', sans-serif;
141
- content: '\f0d7';
142
- font-weight: 900;
147
+ content: '\f078';
148
+ font-weight: 300;
143
149
  font-size: 1rem;
144
150
  width: 1.5rem;
145
151
  height: 1.5rem;
146
152
  }
147
153
 
154
+ &.ng-select-opened .ng-arrow:before {
155
+ content: '\f077';
156
+ }
157
+
148
158
  &.ng-select-focused > .ng-select-container {
149
159
  outline: 0;
150
160
  box-shadow: df.$df-focus-box-shadow;
@@ -158,6 +168,7 @@ html:root[data-df-theme='dark'] {
158
168
 
159
169
  .ng-arrow-wrapper {
160
170
  cursor: not-allowed;
171
+ color: var(--df-color-disabled-main-foreground);
161
172
  }
162
173
 
163
174
  .ng-value {
@@ -188,7 +199,7 @@ html:root[data-df-theme='dark'] {
188
199
  }
189
200
 
190
201
  .ng-select-container {
191
- background-color: var(--df-color-inert-neutral-main-background);
202
+ background-color: var(--df-color-inert-neutral-pageBackground);
192
203
  border-radius: var(--df-borderRadius-main-medium);
193
204
  border: 1px solid var(--df-color-input-border);
194
205
 
@@ -359,7 +370,7 @@ html:root[data-df-theme='dark'] {
359
370
  outline: none;
360
371
 
361
372
  &:after {
362
- background-color: var(--df-color-inert-neutral-main-background);
373
+ background-color: var(--df-color-inert-neutral-pageBackground);
363
374
  box-shadow: df.$df-focus-box-shadow;
364
375
  }
365
376
  }
@@ -384,6 +395,7 @@ html:root[data-df-theme='dark'] {
384
395
  margin-inline-start: 0.3rem;
385
396
  margin-inline-end: 0.375rem;
386
397
  display: flex;
398
+ color: var(--df-button-text-basic-color-primary-default-foreground);
387
399
 
388
400
  @include select-mixins.ngs-root('.form-control-lg') {
389
401
  margin-top: $df-select-value-margin-lg;
@@ -401,7 +413,12 @@ html:root[data-df-theme='dark'] {
401
413
 
402
414
  &:not(.ng-select-disabled):not(.df-ng-select-readonly) {
403
415
  .ng-arrow-wrapper:hover {
404
- background-color: var(--df-color-primary-alt-hovered-background);
416
+ background-color: var(--df-button-text-basic-color-primary-hovered-background);
417
+ color: var(--df-button-text-basic-color-primary-hovered-foreground);
418
+ }
419
+ .ng-arrow-wrapper:active {
420
+ background-color: var(--df-button-text-basic-color-primary-pressed-background);
421
+ color: var(--df-button-text-basic-color-primary-pressed-foreground);
405
422
  }
406
423
  }
407
424
 
@@ -435,14 +452,13 @@ html:root[data-df-theme='dark'] {
435
452
  .ng-dropdown-panel-items {
436
453
  margin-bottom: 0px;
437
454
 
438
- .ng-optgroup,
439
- .ng-option {
455
+ :is(.ng-optgroup, .ng-option) {
440
456
  overflow: hidden;
441
457
  text-overflow: ellipsis;
442
458
 
443
459
  .form-check {
444
460
  margin-bottom: 0;
445
- padding-bottom: $form-check-margin-bottom;
461
+ padding-bottom: 0.125rem;
446
462
  padding-inline-start: $form-check-padding-start + 0.5rem;
447
463
  margin-inline-start: -0.5em;
448
464
  overflow: hidden;
@@ -1,15 +1,13 @@
1
1
  $form-select-bg-size: 16px 16px !default; // In pixels because image dimensions
2
- $form-select-indicator: str-replace(
3
- url("data:image/svg+xml;charset=utf8,%3Csvg version='1.1' viewBox='0 0 1792 1792' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m1408 704q0 26-19 45l-448 448q-19 19-45 19t-45-19l-448-448q-19-19-19-45t19-45 45-19h896q26 0 45 19t19 45z'/%3E%3C/svg%3E"),
4
- '#',
5
- '%23'
6
- ) !default;
2
+ //TODO: we are forced to use the color instead of the token: https://github.com/Amadeus-xDLC/design-factory.design-system/issues/2840
3
+ // chevron-down with button-text-basic-color-primary-default-foreground color (#0c66e1)
4
+ $form-select-indicator: url('data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20512%20512%22%3E%3C!--!Font%20Awesome%20Pro%20v6.7.2%20by%20%40fontawesome%20-%20https%3A%2F%2Ffontawesome.com%20License%20-%20https%3A%2F%2Ffontawesome.com%2Flicense%20(Commercial%20License)%20Copyright%202026%20Fonticons%2C%20Inc.--%3E%3Cpath%20fill%3D%22%230c66e1%22%20d%3D%22M267.3%20395.3c-6.2%206.2-16.4%206.2-22.6%200l-192-192c-6.2-6.2-6.2-16.4%200-22.6s16.4-6.2%2022.6%200L256%20361.4%20436.7%20180.7c6.2-6.2%2016.4-6.2%2022.6%200s6.2%2016.4%200%2022.6l-192%20192z%22%2F%3E%3C%2Fsvg%3E') !default;
7
5
 
8
6
  $form-select-disabled-color: var(--df-color-disabled-main-foreground) !default;
9
7
  $form-select-disabled-bg: var(--df-color-disabled-main-background) !default;
10
8
 
11
9
  $form-select-color: var(--df-color-inert-neutral-main-foreground) !default;
12
- $form-select-bg: var(--df-color-inert-neutral-main-background) !default;
10
+ $form-select-bg: var(--df-color-inert-neutral-pageBackground) !default;
13
11
 
14
12
  $form-select-padding-x: $input-padding-x !default;
15
13
  $form-select-indicator-padding: calc(#{$form-select-padding-x} * 3) !default; // Extra padding for background-image
@@ -1,4 +1,4 @@
1
- @use '../../new-brand-common.variables.scss' as df;
1
+ @use '../../common.variables.scss' as df;
2
2
 
3
3
  .df-sidenav-toggler {
4
4
  @extend .navbar-toggler;
@@ -29,6 +29,10 @@
29
29
  }
30
30
  }
31
31
 
32
+ .df-sidenav-search-empty {
33
+ visibility: hidden;
34
+ }
35
+
32
36
  // TODO: rework when the topnav is implemented
33
37
  .df-sidenav-mobile-drawer {
34
38
  top: var(--df-navbar-height, 56px) !important;
@@ -54,6 +58,14 @@
54
58
  --df-drawer-max-size: max-content;
55
59
  // TODO: not needed when we have inline drawer
56
60
  z-index: 10;
61
+ transition: none;
62
+
63
+ &.inline-start {
64
+ transform: translateX(0);
65
+ &.show {
66
+ transform: translateX(0);
67
+ }
68
+ }
57
69
 
58
70
  &.show {
59
71
  --df-drawer-size: max-content;
@@ -73,6 +85,16 @@
73
85
  overflow: hidden;
74
86
  text-overflow: ellipsis;
75
87
  white-space: nowrap;
88
+
89
+ // Avoid layout shift when an item changed from unselected/selected
90
+ &::before {
91
+ content: attr(title);
92
+ font-weight: var(--df-typo-weight-bold);
93
+ visibility: hidden;
94
+ height: 0;
95
+ overflow: hidden;
96
+ display: block;
97
+ }
76
98
  }
77
99
 
78
100
  // Mobile header with back button
@@ -216,6 +238,10 @@
216
238
  &.df-sidenav-active-level {
217
239
  font-weight: var(--df-typo-weight-bold);
218
240
  background-color: var(--df-color-primary-alt-active-background);
241
+
242
+ &:hover {
243
+ background-color: var(--df-color-primary-alt-activeHovered-background);
244
+ }
219
245
  }
220
246
  }
221
247
 
@@ -9,17 +9,17 @@
9
9
  $df-slider-bar-selected-color: var(--df-color-primary-main-default-background); // $barFillColor
10
10
  $df-slider-bar-color: $gray-300; // $barNormalColor
11
11
  $df-slider-bar-size: 0.25rem; // $barDimension
12
- $df-slider-bar-disabled-color: var(--df-disabled-bg-color); // $barDisabledFillColor
13
- $df-slider-bar-selected-disabled-color: var(--df-disabled-color); // $barDisabledFillColor
12
+ $df-slider-bar-disabled-color: var(--df-color-disabled-main-background); // $barDisabledFillColor
13
+ $df-slider-bar-selected-disabled-color: var(--df-color-disabled-main-foreground); // $barDisabledFillColor
14
14
  $df-slider-bar-leftout-selection-color: $red; // $barLeftOutSelectionColor
15
15
  $df-slider-bar-rightout-selection-color: $green; // $barRightOutSelectionColor
16
16
 
17
17
  // Pointer
18
18
  $df-slider-pointer-color: var(--df-color-primary-main-default-background); // $handleBgColor
19
- $df-slider-pointer-box-shadow: var(--df-primary-500); // $handleBgColor
19
+ $df-slider-pointer-box-shadow: var(--df-color-primary-main-default-border); // $handleBgColor
20
20
  $df-slider-pointer-size: 1.25rem; // $handleSize
21
- $df-slider-pointer-disabled-color: var(--df-disabled-color); // $handleDisabledColor
22
- $df-slider-pointer-hover-color: var(--df-primary-700); // $handleHoverColor
21
+ $df-slider-pointer-disabled-color: var(--df-color-disabled-main-foreground); // $handleDisabledColor
22
+ $df-slider-pointer-hover-color: var(--df-color-primary-main-hovered-background); // $handleHoverColor
23
23
  $df-slider-pointer-active-color: var(--df-color-primary-main-default-background); // $handleActiveColor
24
24
 
25
25
  // Labels
@@ -47,13 +47,13 @@
47
47
  // Pointer
48
48
  $df-slider-pointer-size-sm: 1rem;
49
49
  $df-slider-pointer-size-lg: 1.5rem;
50
- $df-slider-pointer-hover-border-color: var(--df-primary-800);
50
+ $df-slider-pointer-hover-border-color: var(--df-color-primary-main-default-background);
51
51
  $df-slider-pointer-hover-border-width: 0.0625rem;
52
52
 
53
53
  // Labels
54
54
  $df-slider-label-size-sm: 0.875rem;
55
55
  $df-slider-label-size-lg: 1.125rem;
56
- $df-slider-label-disabled-color: var(--df-disabled-color); // TODO check color
56
+ $df-slider-label-disabled-color: var(--df-color-disabled-main-foreground); // TODO check color
57
57
 
58
58
  // Slider animation duration
59
59
  $df-slider-animation-duration: 0.3s;
@@ -93,15 +93,11 @@
93
93
  );
94
94
  @extend .df-speech-right;
95
95
  }
96
+ }
96
97
 
97
- .df-font-sm & {
98
- li {
99
- border-radius: var(--df-borderRadius-main-small);
100
- }
101
- }
102
- .df-font-lg & {
103
- li {
104
- border-radius: var(--df-borderRadius-main-large);
105
- }
106
- }
98
+ .df-font-sm .df-speech li {
99
+ border-radius: var(--df-borderRadius-main-small);
100
+ }
101
+ .df-font-lg .df-speech li {
102
+ border-radius: var(--df-borderRadius-main-large);
107
103
  }
@@ -38,7 +38,7 @@
38
38
  .df-stepper-step {
39
39
  min-width: 5.625rem; // TODO work with the negative margin even in mobile version
40
40
  // put it depending of the button padding and as the btn-sm size
41
- background-color: var(--df-color-inert-neutral-main-background);
41
+ background-color: var(--df-color-inert-neutral-pageBackground);
42
42
  border: 1px solid transparent; // override to have same border as btn
43
43
  gap: 0;
44
44
 
@@ -171,6 +171,6 @@
171
171
  }
172
172
 
173
173
  .df-stepper-icon::before {
174
- color: var(--df-color-inert-neutral-main-background);
174
+ color: var(--df-color-inert-neutral-pageBackground);
175
175
  vertical-align: middle;
176
176
  }