@design-factory/design-factory 20.0.0-next.1 → 20.0.0-next.3

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 (89) hide show
  1. package/README.md +17 -16
  2. package/design-factory-initial-branding.css +1 -1
  3. package/design-factory-initial-branding.scss +1 -1
  4. package/design-factory.css +2 -2
  5. package/design-factory.scss +0 -2
  6. package/fesm2022/design-factory-design-factory-tokens-style-dictionary.mjs +358 -0
  7. package/fesm2022/design-factory-design-factory-tokens-style-dictionary.mjs.map +1 -0
  8. package/fesm2022/design-factory.mjs +520 -476
  9. package/fesm2022/design-factory.mjs.map +1 -1
  10. package/index.d.ts +22 -72
  11. package/package.json +15 -3
  12. package/schematics/migrations/15_0_0/remove-ngx-slider/index.js +11 -5
  13. package/schematics/migrations/16_0_0/revert-to-old-brand/index.js +2 -2
  14. package/schematics/migrations/20_0_0/colors-new-branding/index.d.ts +18 -0
  15. package/schematics/migrations/20_0_0/colors-new-branding/index.js +151 -0
  16. package/schematics/migrations/20_0_0/modal-removal/index.d.ts +7 -0
  17. package/schematics/migrations/20_0_0/modal-removal/index.js +53 -0
  18. package/schematics/migrations/20_0_0/navbar-toggler-logo-svg/index.js +6 -5
  19. package/schematics/migrations/20_0_0/spinner-new-branding/index.d.ts +7 -0
  20. package/schematics/migrations/20_0_0/spinner-new-branding/index.js +41 -0
  21. package/schematics/migrations/20_0_0/style-import/index.d.ts +7 -0
  22. package/schematics/migrations/20_0_0/style-import/index.js +39 -0
  23. package/schematics/migrations/20_0_0/waves-of-progress/index.d.ts +7 -0
  24. package/schematics/migrations/20_0_0/waves-of-progress/index.js +69 -0
  25. package/schematics/migrations/helpers.js +1 -1
  26. package/schematics/migrations/migration.json +27 -0
  27. package/schematics/migrations/utils/component-resource-collector.js +2 -2
  28. package/schematics/migrations/utils/project_tsconfig_paths.js +4 -0
  29. package/schematics/migrations/utils/style-updater.js +3 -1
  30. package/schematics/migrations/utils/template-updater.js +3 -1
  31. package/schematics/migrations/utils/typescript/compiler_host.js +6 -4
  32. package/schematics/ng-add/index.js +3 -6
  33. package/styles/scss/_common.root.scss +20 -3
  34. package/styles/scss/_common.scss +1 -1
  35. package/styles/scss/bootstrap/_utilities-override.scss +14 -8
  36. package/styles/scss/bootstrap/_variables.scss +2 -2
  37. package/styles/scss/components/alert/_alert.scss +23 -11
  38. package/styles/scss/components/badge/_badge.mixins.scss +2 -4
  39. package/styles/scss/components/badge/_badge.scss +84 -23
  40. package/styles/scss/components/button/_button.scss +394 -86
  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 +29 -11
  44. package/styles/scss/components/checkbox/_checkbox.scss +2 -1
  45. package/styles/scss/components/collapse/_collapse.scss +6 -1
  46. package/styles/scss/components/datepicker/_datepicker.scss +9 -11
  47. package/styles/scss/components/dropdown/_dropdown.scss +23 -0
  48. package/styles/scss/components/fonts/_font-faces.mixins.scss +108 -54
  49. package/styles/scss/components/fonts/_icon-font.scss +2 -1
  50. package/styles/scss/components/footer/_footer.scss +1 -1
  51. package/styles/scss/components/inputs/_inputs.root.scss +1 -1
  52. package/styles/scss/components/inputs/_inputs.scss +7 -1
  53. package/styles/scss/components/link/_link.mixins.scss +7 -3
  54. package/styles/scss/components/link/_link.scss +10 -0
  55. package/styles/scss/components/link/_link.variables.scss +5 -2
  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 +51 -19
  59. package/styles/scss/components/navbar/_navbar.scss +12 -0
  60. package/styles/scss/components/pagination/_pagination.scss +1 -0
  61. package/styles/scss/components/pagination/_pagination_container.scss +1 -1
  62. package/styles/scss/components/progressbar/_progressbar.variables.scss +13 -4
  63. package/styles/scss/components/radio/_radio.scss +1 -1
  64. package/styles/scss/components/rating/_rating.scss +3 -3
  65. package/styles/scss/components/rating/_rating.variables.scss +1 -1
  66. package/styles/scss/components/scrollspy/_scrollspy.scss +5 -2
  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 +1 -1
  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/tabs/_tabs.scss +3 -0
  74. package/styles/scss/components/toast/_toast.scss +37 -32
  75. package/styles/scss/components/tooltip/_tooltip_container.scss +17 -13
  76. package/styles/scss/themes/brand2023/_variables.scss +68 -29
  77. package/styles/scss/themes/brand2023/tokens/_mapping.gen.scss +156 -186
  78. package/styles/scss/themes/brand2023/tokens/_root.gen.scss +1709 -0
  79. package/styles/scss/themes/brand2023/tokens/_sass-vars.gen.scss +1468 -0
  80. package/styles/scss/utilities/_common.utilities.scss +3 -10
  81. package/styles/scss/utilities/_rgb.scss +10 -0
  82. package/tokens/style-dictionary/index.d.ts +60 -0
  83. package/assets/waves_of_progress/arrowRight.svg +0 -34
  84. package/assets/waves_of_progress/arrowUp.svg +0 -35
  85. package/assets/waves_of_progress/circleDiagonal.svg +0 -29
  86. package/assets/waves_of_progress/circleUp.svg +0 -24
  87. package/styles/scss/components/waves/_waves.scss +0 -15
  88. package/styles/scss/components/waves/_waves.variables.scss +0 -86
  89. 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);
@@ -42,7 +42,7 @@
42
42
  }
43
43
 
44
44
  .card-text {
45
- margin-block-end: var(--#{$prefix}card-text-block-end);
45
+ margin-block-end: var(--#{$prefix}card-text-margin-block-end);
46
46
 
47
47
  &:last-child {
48
48
  margin-block-end: 0;
@@ -67,6 +67,7 @@
67
67
 
68
68
  &:focus-visible {
69
69
  --#{$prefix}box-shadow-color: #{$df-card-focusable-focus-box-shadow-color};
70
+
70
71
  &:not(:hover):not(:active) {
71
72
  color: var(--#{$prefix}card-focusable-color);
72
73
  }
@@ -160,30 +161,47 @@
160
161
  }
161
162
  }
162
163
 
164
+ .card-group {
165
+ --#{$prefix}card-box-shadow: #{$card-box-shadow};
166
+ --#{$prefix}card-border-radius: #{$card-border-radius};
167
+ }
168
+
163
169
  @include media-breakpoint-up(md) {
164
170
  .card-group {
165
171
  box-shadow: var(--#{$prefix}card-box-shadow);
166
- border-bottom-right-radius: var(--#{$prefix}card-border-radius);
167
- border-bottom-left-radius: var(--#{$prefix}card-border-radius);
172
+ border-radius: var(--#{$prefix}card-border-radius);
168
173
 
169
174
  .card {
170
175
  box-shadow: none;
176
+ border-radius: 0;
171
177
 
172
178
  &:not(:last-of-type) {
173
179
  border-inline-end: var(--#{$prefix}card-group-between-border-width) solid
174
180
  var(--#{$prefix}card-group-between-border-color);
175
181
  }
176
182
 
177
- &:first-of-type,
178
- &:first-of-type .card-img-top {
179
- border-start-start-radius: var(--#{$prefix}card-border-radius);
180
- border-start-end-radius: 0;
183
+ .card-img-top {
184
+ border-radius: 0;
181
185
  }
182
186
 
183
- &:last-of-type,
184
- &:last-of-type .card-img-top {
185
- border-start-end-radius: var(--#{$prefix}card-border-radius);
186
- 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
+ }
187
205
  }
188
206
  }
189
207
  }
@@ -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};
@@ -1,3 +1,4 @@
1
+ @use 'sass:meta';
1
2
  @import '../link/link.mixins';
2
3
 
3
4
  // @deprecated - will be removed in version 21
@@ -59,7 +60,11 @@ button.df-collapse {
59
60
 
60
61
  display: inline-flex;
61
62
  align-items: center;
62
- gap: var(--#{$prefix}btn-icon-margin-end);
63
+ @if meta.variable-exists(df-btn-group-hover-box-shadow-color) {
64
+ gap: var(--#{$prefix}spacing-2);
65
+ } @else {
66
+ gap: var(--#{$prefix}btn-icon-margin-end);
67
+ }
63
68
 
64
69
  color: var(--#{$prefix}collapse-link-color);
65
70
  text-decoration: var(--#{$prefix}collapse-link-decoration);
@@ -4,15 +4,13 @@
4
4
  width: 100%;
5
5
  }
6
6
 
7
- .ngb-dp-navigation-select .form-select {
8
- @include ltr {
9
- padding-left: 0.5rem;
10
- padding-right: 0;
11
- }
12
- @include rtl {
13
- background-position: left 0.25rem center;
14
- padding-left: 0;
15
- padding-right: 0.5rem;
7
+ .ngb-dp-navigation-select {
8
+ column-gap: var(--#{$prefix}spacing-2);
9
+ margin-inline: var(--#{$prefix}spacing-2);
10
+
11
+ .form-select {
12
+ padding-inline: var(--#{$prefix}spacing-3);
13
+ padding-block: var(--#{$prefix}spacing-2);
16
14
  }
17
15
  }
18
16
 
@@ -44,8 +42,8 @@
44
42
  justify-content: var(--#{$prefix}datepicker-navigation-arrow-justify-contents);
45
43
 
46
44
  .ngb-dp-arrow-btn {
47
- padding-right: 0;
48
- padding-left: 0;
45
+ margin-inline: 0;
46
+ padding-inline: 0;
49
47
  min-width: var(--#{$prefix}datepicker-arrow-width);
50
48
  height: var(--#{$prefix}datepicker-arrow-height);
51
49
  border-radius: var(--#{$prefix}datepicker-arrow-border-radius);
@@ -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);
@@ -72,6 +74,12 @@ body,
72
74
  font-weight: var(--#{$prefix}dropdown-toggle-font-weight); // Fix IE11 bug
73
75
  }
74
76
 
77
+ @if meta.variable-exists($name: 'df-enableBranding2023') and $df-enableBranding2023 {
78
+ &.btn-sm {
79
+ --#{$prefix}dropdown-toggle-margin: var(--#{$prefix}spacing-2);
80
+ }
81
+ }
82
+
75
83
  & > [class*='icon-']:before {
76
84
  margin-inline-end: var(--#{$prefix}dropdown-toggle-margin);
77
85
  }
@@ -106,9 +114,11 @@ body,
106
114
 
107
115
  .dropdown-item {
108
116
  border: var(--#{$prefix}dropdown-item-border-width) solid transparent;
117
+
109
118
  &.active {
110
119
  font-weight: $df-dropdown-item-active-font-weight;
111
120
  }
121
+
112
122
  &:focus-visible,
113
123
  &.focus {
114
124
  @if meta.variable-exists($name: 'df-enableBranding2023') and $df-enableBranding2023 {
@@ -145,6 +155,19 @@ body,
145
155
  }
146
156
  }
147
157
 
158
+ //Redefine bootstrap dropdown-item styles to override links behaviour
159
+ a.dropdown-item {
160
+ &,
161
+ &:hover {
162
+ color: var(--#{$prefix}dropdown-link-color);
163
+ border-bottom-width: var(--#{$prefix}dropdown-item-border-width);
164
+ }
165
+
166
+ &:hover {
167
+ background-color: var(--#{$prefix}dropdown-link-hover-bg);
168
+ }
169
+ }
170
+
148
171
  // Flag Angular
149
172
  // This style is needed due to a drop-start feature of bootstrap where the first child of the
150
173
  // btn-group with dropdown-toggle-split class has no rounded corners