@design-factory/design-factory 20.0.0-next.0 → 20.0.0-next.2

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 (91) hide show
  1. package/design-factory-initial-branding.css +1 -1
  2. package/design-factory-initial-branding.scss +1 -1
  3. package/design-factory.css +2 -2
  4. package/fesm2022/design-factory-design-factory-tokens-style-dictionary.mjs +358 -0
  5. package/fesm2022/design-factory-design-factory-tokens-style-dictionary.mjs.map +1 -0
  6. package/fesm2022/design-factory.mjs +433 -530
  7. package/fesm2022/design-factory.mjs.map +1 -1
  8. package/index.d.ts +46 -168
  9. package/package.json +14 -2
  10. package/schematics/migrations/15_0_0/remove-ngx-slider/index.js +11 -5
  11. package/schematics/migrations/16_0_0/revert-to-old-brand/index.js +2 -2
  12. package/schematics/migrations/20_0_0/colors-new-branding/index.d.ts +14 -0
  13. package/schematics/migrations/20_0_0/colors-new-branding/index.js +108 -0
  14. package/schematics/migrations/20_0_0/navbar-toggler-logo-svg/index.js +6 -5
  15. package/schematics/migrations/20_0_0/spinner-new-branding/index.d.ts +7 -0
  16. package/schematics/migrations/20_0_0/spinner-new-branding/index.js +41 -0
  17. package/schematics/migrations/helpers.js +1 -1
  18. package/schematics/migrations/migration.json +12 -0
  19. package/schematics/migrations/utils/component-resource-collector.js +2 -2
  20. package/schematics/migrations/utils/project_tsconfig_paths.js +4 -0
  21. package/schematics/migrations/utils/style-updater.js +3 -1
  22. package/schematics/migrations/utils/template-updater.js +3 -1
  23. package/schematics/migrations/utils/typescript/compiler_host.js +6 -4
  24. package/schematics/ng-add/index.js +3 -6
  25. package/styles/scss/_common.root.scss +20 -3
  26. package/styles/scss/_common.scss +1 -1
  27. package/styles/scss/_common.variables.scss +2 -1
  28. package/styles/scss/_variables.scss +1 -0
  29. package/styles/scss/agnosui/_variables.scss +1 -1
  30. package/styles/scss/bootstrap/_utilities-override.scss +14 -8
  31. package/styles/scss/bootstrap/_variables.scss +2 -2
  32. package/styles/scss/components/accordion/_accordion.scss +7 -0
  33. package/styles/scss/components/alert/_alert.scss +32 -17
  34. package/styles/scss/components/badge/_badge.mixins.scss +12 -4
  35. package/styles/scss/components/badge/_badge.scss +191 -71
  36. package/styles/scss/components/badge/_badge.variables.scss +8 -0
  37. package/styles/scss/components/brand-color/_brand-color.mixins.scss +2 -2
  38. package/styles/scss/components/breadcrumbs/_breadcrumbs.scss +4 -1
  39. package/styles/scss/components/breadcrumbs/_breadcrumbs.variables.scss +3 -1
  40. package/styles/scss/components/button/_button.scss +389 -74
  41. package/styles/scss/components/button/_button.utils.scss +20 -1
  42. package/styles/scss/components/button/_button_container.scss +22 -5
  43. package/styles/scss/components/card/_card.scss +42 -10
  44. package/styles/scss/components/card/_card.variables.scss +2 -0
  45. package/styles/scss/components/carousel/_carousel.scss +2 -2
  46. package/styles/scss/components/checkbox/_checkbox.scss +2 -1
  47. package/styles/scss/components/datepicker/_datepicker.scss +2 -1
  48. package/styles/scss/components/dropdown/_dropdown.scss +18 -1
  49. package/styles/scss/components/fonts/_font-faces.mixins.scss +108 -54
  50. package/styles/scss/components/icon/_amadeus-icon.scss +2 -2
  51. package/styles/scss/components/inputs/_inputs.mixin.scss +2 -2
  52. package/styles/scss/components/inputs/_inputs.root.scss +1 -1
  53. package/styles/scss/components/inputs/_inputs.scss +10 -4
  54. package/styles/scss/components/link/_link.mixins.scss +7 -3
  55. package/styles/scss/components/link/_link.scss +6 -0
  56. package/styles/scss/components/media/_media.scss +4 -0
  57. package/styles/scss/components/media/_media.variables.scss +1 -0
  58. package/styles/scss/components/modal/_modal.scss +54 -14
  59. package/styles/scss/components/modal/_modal.variables.scss +1 -0
  60. package/styles/scss/components/navbar/_navbar.scss +12 -0
  61. package/styles/scss/components/pagination/_pagination.scss +5 -0
  62. package/styles/scss/components/pagination/_pagination_container.scss +1 -1
  63. package/styles/scss/components/progressbar/_progressbar.variables.scss +13 -4
  64. package/styles/scss/components/rating/_rating.scss +18 -2
  65. package/styles/scss/components/rating/_rating.variables.scss +1 -1
  66. package/styles/scss/components/scrollspy/_scrollspy.scss +1 -1
  67. package/styles/scss/components/select/_select.scss +14 -19
  68. package/styles/scss/components/separator/_separator.variables.scss +1 -1
  69. package/styles/scss/components/sidenav/_sidenav.scss +3 -3
  70. package/styles/scss/components/sidenav/_sidenav.variables.scss +6 -4
  71. package/styles/scss/components/spinner/_spinner.scss +14 -0
  72. package/styles/scss/components/spinner/_spinner.variables.scss +7 -4
  73. package/styles/scss/components/stepper/_stepper.variables.scss +3 -3
  74. package/styles/scss/components/tabs/_tabs.scss +8 -1
  75. package/styles/scss/components/timepicker/_timepicker.scss +5 -0
  76. package/styles/scss/components/timepicker/_timepicker.variables.scss +1 -0
  77. package/styles/scss/components/toast/_toast.scss +21 -30
  78. package/styles/scss/components/toggle/_toggle.scss +2 -1
  79. package/styles/scss/components/toggle/_toggle.variables.scss +1 -0
  80. package/styles/scss/components/tooltip/_tooltip.scss +5 -0
  81. package/styles/scss/components/tooltip/_tooltip.variables.scss +4 -0
  82. package/styles/scss/components/tooltip/_tooltip_container.scss +17 -13
  83. package/styles/scss/df-styles.scss +1 -0
  84. package/styles/scss/themes/brand2023/_variables.scss +161 -38
  85. package/styles/scss/themes/brand2023/tokens/_mapping.gen.scss +156 -186
  86. package/styles/scss/themes/brand2023/tokens/_root.gen.scss +1708 -0
  87. package/styles/scss/themes/brand2023/tokens/_sass-vars.gen.scss +1467 -0
  88. package/styles/scss/utilities/_common.utilities.scss +3 -10
  89. package/styles/scss/utilities/_rgb.scss +10 -0
  90. package/tokens/style-dictionary/index.d.ts +60 -0
  91. package/styles/scss/themes/brand2023/tokens/_figma.gen.scss +0 -3028
@@ -13,4 +13,23 @@
13
13
  > .btn-group:not(:first-child) > .btn {
14
14
  @include border-start-radius($radius);
15
15
  }
16
- }
16
+ }
17
+
18
+ /*
19
+ Check if $variableName exists, if not, return the $defaultVariableName (without the prefix).
20
+
21
+ @param {String} $variableName - Variable name to check, should not include the prefix.
22
+ @param {String} $defaultVariableName - Default variable name to return if the primary variable does not exist, should not include the prefix.
23
+ @return {String} The variable name to use, either the primary or the default.
24
+ */
25
+ @function varWithDefault($variableName, $defaultVariableName) {
26
+ @if meta.variable-exists($name: 'df-' + $variableName) or not
27
+ (meta.variable-exists($name: 'df-enableBranding2023') and $df-enableBranding2023)
28
+ {
29
+ @return $variableName;
30
+ }
31
+ @if not meta.variable-exists($name: 'df-' + $defaultVariableName) {
32
+ @error "Variable 'df-#{$defaultVariableName}' does not exist.";
33
+ }
34
+ @return $defaultVariableName;
35
+ }
@@ -2,12 +2,28 @@
2
2
 
3
3
  @each $state, $value in $theme-colors {
4
4
  $colorbtn: color-contrast($value);
5
- $hover-background: if($colorbtn == $color-contrast-light, shade-color($value, $btn-hover-bg-shade-amount), tint-color($value, $btn-hover-bg-tint-amount));
6
- $hover-border: if($colorbtn == $color-contrast-light, shade-color($value, $btn-hover-border-shade-amount), tint-color($value, $btn-hover-border-tint-amount));
5
+ $hover-background: if(
6
+ $colorbtn == $color-contrast-light,
7
+ shade-color($value, $btn-hover-bg-shade-amount),
8
+ tint-color($value, $btn-hover-bg-tint-amount)
9
+ );
10
+ $hover-border: if(
11
+ $colorbtn == $color-contrast-light,
12
+ shade-color($value, $btn-hover-border-shade-amount),
13
+ tint-color($value, $btn-hover-border-tint-amount)
14
+ );
7
15
  $hover-color: color-contrast($hover-background);
8
- $active-background: if($colorbtn == $color-contrast-light, shade-color($value, $btn-active-bg-shade-amount), tint-color($value, $btn-active-bg-tint-amount));
16
+ $active-background: if(
17
+ $colorbtn == $color-contrast-light,
18
+ shade-color($value, $btn-active-bg-shade-amount),
19
+ tint-color($value, $btn-active-bg-tint-amount)
20
+ );
9
21
  $active-color: color-contrast($active-background);
10
- $active-border: if($colorbtn == $color-contrast-light, shade-color($value, $btn-active-border-shade-amount), tint-color($value, $btn-active-border-tint-amount));
22
+ $active-border: if(
23
+ $colorbtn == $color-contrast-light,
24
+ shade-color($value, $btn-active-border-shade-amount),
25
+ tint-color($value, $btn-active-border-tint-amount)
26
+ );
11
27
 
12
28
  $active-background-outline: $value;
13
29
  $active-border-outline: $value;
@@ -19,7 +35,8 @@
19
35
  #{$df-css-namespace-selector} {
20
36
  .btn-check:checked,
21
37
  .btn-check:active {
22
- & + .btn-#{$state}, & + .btn-outline-#{$state} {
38
+ & + .btn-#{$state},
39
+ & + .btn-outline-#{$state} {
23
40
  color: var(--#{$prefix}btn-active-color);
24
41
  background-color: var(--#{$prefix}btn-active-bg);
25
42
  border-color: var(--#{$prefix}btn-active-border-color);
@@ -32,6 +32,8 @@
32
32
  --#{$prefix}accordion-card-last-body-border-top: #{$df-accordion-card-last-body-border-top};
33
33
  --#{$prefix}accordion-card-between-border-radius: #{$df-accordion-card-between-border-radius};
34
34
  --#{$prefix}accordion-card-between-border-top: #{$df-accordion-card-between-border-top};
35
+ --#{$prefix}card-text-margin-block-end: #{$df-card-text-margin-block-end};
36
+ --#{$prefix}card-subtitle-margin-block-end: #{$df-card-subtitle-margin-block-end};
35
37
 
36
38
  box-shadow: var(--#{$prefix}card-box-shadow);
37
39
 
@@ -39,6 +41,18 @@
39
41
  font-weight: var(--#{$prefix}card-title-font-weight);
40
42
  }
41
43
 
44
+ .card-text {
45
+ margin-block-end: var(--#{$prefix}card-text-block-end);
46
+
47
+ &:last-child {
48
+ margin-block-end: 0;
49
+ }
50
+ }
51
+
52
+ .card-subtitle {
53
+ margin-block-end: var(--#{$prefix}card-subtitle-margin-block-end);
54
+ }
55
+
42
56
  &.border-0 {
43
57
  box-shadow: none;
44
58
  }
@@ -53,6 +67,7 @@
53
67
 
54
68
  &:focus-visible {
55
69
  --#{$prefix}box-shadow-color: #{$df-card-focusable-focus-box-shadow-color};
70
+
56
71
  &:not(:hover):not(:active) {
57
72
  color: var(--#{$prefix}card-focusable-color);
58
73
  }
@@ -146,30 +161,47 @@
146
161
  }
147
162
  }
148
163
 
164
+ .card-group {
165
+ --#{$prefix}card-box-shadow: #{$card-box-shadow};
166
+ --#{$prefix}card-border-radius: #{$card-border-radius};
167
+ }
168
+
149
169
  @include media-breakpoint-up(md) {
150
170
  .card-group {
151
171
  box-shadow: var(--#{$prefix}card-box-shadow);
152
- border-bottom-right-radius: var(--#{$prefix}card-border-radius);
153
- border-bottom-left-radius: var(--#{$prefix}card-border-radius);
172
+ border-radius: var(--#{$prefix}card-border-radius);
154
173
 
155
174
  .card {
156
175
  box-shadow: none;
176
+ border-radius: 0;
157
177
 
158
178
  &:not(:last-of-type) {
159
179
  border-inline-end: var(--#{$prefix}card-group-between-border-width) solid
160
180
  var(--#{$prefix}card-group-between-border-color);
161
181
  }
162
182
 
163
- &:first-of-type,
164
- &:first-of-type .card-img-top {
165
- border-start-start-radius: var(--#{$prefix}card-border-radius);
166
- border-start-end-radius: 0;
183
+ .card-img-top {
184
+ border-radius: 0;
167
185
  }
168
186
 
169
- &:last-of-type,
170
- &:last-of-type .card-img-top {
171
- border-start-end-radius: var(--#{$prefix}card-border-radius);
172
- border-start-start-radius: 0;
187
+ &:first-of-type {
188
+ border-end-start-radius: var(--#{$prefix}card-border-radius);
189
+
190
+ &,
191
+ & .card-img-top {
192
+ border-start-start-radius: var(--#{$prefix}card-border-radius);
193
+ border-start-end-radius: 0;
194
+ }
195
+ }
196
+
197
+ &:last-of-type {
198
+ border-end-end-radius: var(--#{$prefix}card-border-radius);
199
+
200
+ &,
201
+ & .card-img-top {
202
+ border-start-end-radius: var(--#{$prefix}card-border-radius);
203
+ border-start-start-radius: 0;
204
+ }
173
205
  }
174
206
  }
175
207
  }
@@ -29,3 +29,5 @@ $df-accordion-card-last-border-bottom-width: 0px !default;
29
29
  $df-accordion-card-last-body-border-top: $border-width $border-style var(--#{$prefix}gray-200) !default;
30
30
  $df-accordion-card-between-border-radius: 0px !default;
31
31
  $df-accordion-card-between-border-top: $border-width $border-style var(--#{$prefix}gray-200) !default;
32
+ $df-card-text-margin-block-end: 1rem !default;
33
+ $df-card-subtitle-margin-block-end: 0.25rem !default;
@@ -8,7 +8,7 @@
8
8
  --#{$prefix}carousel-caption-padding-bottom: #{$df-carousel-caption-padding-bottom};
9
9
  --#{$prefix}carousel-caption-padding-top: #{$df-carousel-caption-padding-top};
10
10
  --#{$prefix}carousel-indicator-bg-size: 50% 50%;
11
- &:focus {
11
+ &:focus-visible {
12
12
  outline: var(--#{$prefix}carousel-outline);
13
13
  box-shadow: $df-carousel-focused-box-shadow;
14
14
  }
@@ -38,7 +38,7 @@
38
38
  }
39
39
  background-size: var(--#{$prefix}carousel-indicator-bg-size);
40
40
  }
41
-
41
+
42
42
  .carousel-caption {
43
43
  background-color: var(--#{$prefix}carousel-indicator-bg-color); // add
44
44
  bottom: var(--#{$prefix}carousel-caption-bottom); // override
@@ -6,7 +6,8 @@
6
6
  @if (meta.variable-exists($name: 'df-enableBranding2023') and $df-enableBranding2023) {
7
7
  --#{$prefix}checkbox-invalid-feedback-margin-start: #{-1em * math.div($form-check-padding-start, 0.875em)};
8
8
  } @else {
9
- --#{$prefix}checkbox-invalid-feedback-margin-start: #{-1em * math.div($form-check-padding-start, $form-feedback-font-size)};
9
+ --#{$prefix}checkbox-invalid-feedback-margin-start: #{-1em *
10
+ math.div($form-check-padding-start, $form-feedback-font-size)};
10
11
  }
11
12
 
12
13
  --#{$prefix}checkbox-disabled-background-color: #{$df-checkbox-disabled-background-color};
@@ -50,7 +50,7 @@
50
50
  height: var(--#{$prefix}datepicker-arrow-height);
51
51
  border-radius: var(--#{$prefix}datepicker-arrow-border-radius);
52
52
 
53
- &:focus {
53
+ &:focus-visible {
54
54
  outline: $df-datepicker-focused-outline;
55
55
  box-shadow: $df-datepicker-focused-box-shadow;
56
56
  }
@@ -348,6 +348,7 @@ ngb-datepicker {
348
348
 
349
349
  .input-group {
350
350
  --#{$prefix}iwi-dpr-focus-border: #{$df-input-datepicker-range-focus-border};
351
+ box-shadow: none !important;
351
352
  }
352
353
  }
353
354
 
@@ -49,11 +49,13 @@ body,
49
49
 
50
50
  &.btn-outline-primary {
51
51
  --#{$prefix}btn-active-border-color: var(--#{$prefix}btn-hover-color);
52
+
52
53
  &:hover {
53
54
  --#{$prefix}btn-active-bg: var(--#{$prefix}btn-hover-bg);
54
55
  --#{$prefix}btn-active-border-color: var(--#{$prefix}btn-hover-border-color);
55
56
  --#{$prefix}btn-active-color: var(--#{$prefix}btn-hover-color);
56
57
  }
58
+
57
59
  &:focus-visible {
58
60
  --#{$prefix}box-shadow-color: var(--#{$prefix}btn-hover-color);
59
61
  --#{$prefix}btn-focus-only-border-color: var(--#{$prefix}btn-hover-color);
@@ -106,10 +108,12 @@ body,
106
108
 
107
109
  .dropdown-item {
108
110
  border: var(--#{$prefix}dropdown-item-border-width) solid transparent;
111
+
109
112
  &.active {
110
113
  font-weight: $df-dropdown-item-active-font-weight;
111
114
  }
112
- &:focus,
115
+
116
+ &:focus-visible,
113
117
  &.focus {
114
118
  @if meta.variable-exists($name: 'df-enableBranding2023') and $df-enableBranding2023 {
115
119
  --#{$prefix}box-shadow-color: #{shades-css-var('primary', 'bg-subtle-active-color', true)};
@@ -145,6 +149,19 @@ body,
145
149
  }
146
150
  }
147
151
 
152
+ //Redefine bootstrap dropdown-item styles to override links behaviour
153
+ a.dropdown-item {
154
+ &,
155
+ &:hover {
156
+ color: var(--#{$prefix}dropdown-link-color);
157
+ border-bottom-width: var(--#{$prefix}dropdown-item-border-width);
158
+ }
159
+
160
+ &:hover {
161
+ background-color: var(--#{$prefix}dropdown-link-hover-bg);
162
+ }
163
+ }
164
+
148
165
  // Flag Angular
149
166
  // This style is needed due to a drop-start feature of bootstrap where the first child of the
150
167
  // btn-group with dropdown-toggle-split class has no rounded corners