@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
@@ -1,6 +1,25 @@
1
1
  @use 'sass:meta';
2
+ @use 'sass:map';
2
3
  @import 'button.utils';
3
4
 
5
+ // stylelint-disable scss/dollar-variable-pattern, scss/dollar-variable-default
6
+ $isBrand2023: meta.variable-exists(
7
+ $name: 'df-enableBranding2023'
8
+ )
9
+ and $df-enableBranding2023;
10
+
11
+ $mapped-theme-colors: ();
12
+ @each $color, $value in $theme-colors {
13
+ $mapped-theme-colors: map.set($mapped-theme-colors, $color, $color);
14
+ }
15
+ @if ($isBrand2023) {
16
+ $mapped-theme-colors: map.set($mapped-theme-colors, 'info', 'primary');
17
+ $mapped-theme-colors: map.remove($mapped-theme-colors, 'secondary');
18
+ $mapped-theme-colors: map.remove($mapped-theme-colors, 'light');
19
+ $mapped-theme-colors: map.remove($mapped-theme-colors, 'dark');
20
+ }
21
+ // stylelint-enable scss/dollar-variable-pattern, scss/dollar-variable-default
22
+
4
23
  .btn {
5
24
  // DF variables
6
25
  --#{$prefix}btn-cursor-disabled: #{$df-btn-cursor-disabled};
@@ -14,7 +33,7 @@
14
33
  --#{$prefix}box-shadow-color: #{$df-btn-focus-box-shadow-color};
15
34
  --#{$prefix}btn-focus-box-shadow: #{$df-btn-focus-box-shadow}; // override BS
16
35
  --#{$prefix}btn-bg: #{$df-btn-bg-color};
17
- @if meta.variable-exists($name: 'df-enableBranding2023') and $df-enableBranding2023 {
36
+ @if $isBrand2023 {
18
37
  --#{$prefix}btn-border-radius: var(--#{$prefix}button-borderRadius-main-medium);
19
38
  }
20
39
 
@@ -22,7 +41,7 @@
22
41
  align-items: center;
23
42
  justify-content: center;
24
43
 
25
- @if meta.variable-exists($name: 'df-enableBranding2023') and $df-enableBranding2023 {
44
+ @if $isBrand2023 {
26
45
  &.btn-sm {
27
46
  --#{$prefix}btn-border-radius: var(--#{$prefix}button-borderRadius-main-small);
28
47
  }
@@ -82,6 +101,8 @@
82
101
  pointer-events: none;
83
102
  }
84
103
 
104
+ //TODO: delete brand2023 => needed only for old branding
105
+ //TODO: remember to delete all usages
85
106
  &.df-btn-bg-white:not(:hover):not(:active) {
86
107
  background-color: $df-btn-bg-color-white;
87
108
  }
@@ -89,7 +110,7 @@
89
110
 
90
111
  .btn-close {
91
112
  --#{$prefix}box-shadow-width: #{$df-btn-close-focus-shadow-width};
92
- @if meta.variable-exists($name: 'df-enableBranding2023') and $df-enableBranding2023 {
113
+ @if $isBrand2023 {
93
114
  &:hover {
94
115
  background-color: var(--#{$prefix}button-text-basic-color-neutral-hovered-background);
95
116
  }
@@ -144,18 +165,20 @@
144
165
  }
145
166
 
146
167
  .btn-check {
147
- &:checked {
148
- + .btn:hover {
149
- --#{$prefix}btn-active-bg: #{shades-css-var-brand2023(
150
- 'button-solid-basic-color-primary-hovered-background',
151
- 'primary',
152
- 'bg-hover-color'
153
- )};
154
- --#{$prefix}btn-active-border-color: #{shades-css-var-brand2023(
155
- 'button-solid-basic-color-primary-hovered-background',
156
- 'primary',
157
- 'bg-hover-color'
158
- )};
168
+ @if not $isBrand2023 {
169
+ &:checked {
170
+ + .btn:hover {
171
+ --#{$prefix}btn-active-bg: #{shades-css-var-brand2023(
172
+ 'button-solid-basic-color-primary-hovered-background',
173
+ 'primary',
174
+ 'bg-hover-color'
175
+ )};
176
+ --#{$prefix}btn-active-border-color: #{shades-css-var-brand2023(
177
+ 'button-solid-basic-color-primary-hovered-background',
178
+ 'primary',
179
+ 'bg-hover-color'
180
+ )};
181
+ }
159
182
  }
160
183
  }
161
184
 
@@ -312,43 +335,64 @@
312
335
  }
313
336
 
314
337
  // Modify actual button from bootstrap
315
- @each $color, $value in $theme-colors {
338
+ @each $colorClass, $color in $mapped-theme-colors {
316
339
  $bgHoverColor: shades-css-var-brand2023(
317
- 'button-solid-basic-color-' + #{$color} + '-hovered-background',
340
+ varWithDefault(
341
+ 'button-solid-basic-color-' + #{$color} + '-hovered-background',
342
+ 'color-' + #{$color} + '-main-hovered-background'
343
+ ),
318
344
  $color,
319
345
  'bg-hover-color'
320
346
  );
321
347
  $bgActiveColor: shades-css-var-brand2023(
322
- 'button-solid-basic-color-' + #{$color} + '-pressed-background',
348
+ varWithDefault(
349
+ 'button-solid-basic-color-' + #{$color} + '-pressed-background',
350
+ 'color-' + #{$color} + '-main-pressed-background'
351
+ ),
323
352
  $color,
324
353
  'bg-active-color'
325
354
  );
326
355
  $bgFocusOnlyColor: shades-css-var-brand2023(
327
- 'button-solid-basic-color-' + #{$color} + '-default-background',
356
+ varWithDefault(
357
+ 'button-solid-basic-color-' + #{$color} + '-default-background',
358
+ 'color-' + #{$color} + '-main-default-background'
359
+ ),
328
360
  $color,
329
361
  'bg-color'
330
362
  );
331
363
 
332
- .btn-#{$color} {
364
+ .btn-#{$colorClass} {
333
365
  // stylelint-disable custom-property-no-missing-var-function
334
366
  --#{$prefix}btn-color: #{shades-css-var-brand2023(
335
- 'button-solid-basic-color-' + #{$color} + '-default-foreground',
367
+ varWithDefault(
368
+ 'button-solid-basic-color-' + #{$color} + '-default-foreground',
369
+ 'color-' + #{$color} + '-main-default-foreground'
370
+ ),
336
371
  $color,
337
372
  'bg-color',
338
373
  true
339
374
  )};
340
375
  --#{$prefix}btn-bg: #{shades-css-var-brand2023(
341
- 'button-solid-basic-color-' + #{$color} + '-default-background',
376
+ varWithDefault(
377
+ 'button-solid-basic-color-' + #{$color} + '-default-background',
378
+ 'color-' + #{$color} + '-main-default-background'
379
+ ),
342
380
  $color,
343
381
  'bg-color'
344
382
  )};
345
383
  --#{$prefix}btn-border-color: #{shades-css-var-brand2023(
346
- 'button-solid-basic-color-' + #{$color} + '-default-border',
384
+ varWithDefault(
385
+ 'button-solid-basic-color-' + #{$color} + '-default-border',
386
+ 'color-' + #{$color} + '-main-default-border'
387
+ ),
347
388
  $color,
348
389
  'bg-color'
349
390
  )};
350
391
  --#{$prefix}btn-hover-color: #{shades-css-var-brand2023(
351
- 'button-solid-basic-color-' + #{$color} + '-hovered-foreground',
392
+ varWithDefault(
393
+ 'button-solid-basic-color-' + #{$color} + '-hovered-foreground',
394
+ 'color-' + #{$color} + '-main-hovered-foreground'
395
+ ),
352
396
  $color,
353
397
  'bg-hover-color',
354
398
  true
@@ -356,18 +400,37 @@
356
400
  --#{$prefix}btn-hover-bg: #{$bgHoverColor};
357
401
  --#{$prefix}btn-hover-border-color: #{$bgHoverColor}; // Should we use a border color mapping here ?
358
402
  --#{$prefix}btn-active-color: #{shades-css-var-brand2023(
359
- 'button-solid-basic-color-' + #{$color} + '-pressed-foreground',
403
+ varWithDefault(
404
+ 'button-solid-basic-color-' + #{$color} + '-pressed-foreground',
405
+ 'color-' + #{$color} + '-main-pressed-foreground'
406
+ ),
360
407
  $color,
361
408
  'bg-active-color',
362
409
  true
363
410
  )};
364
411
  --#{$prefix}btn-active-bg: #{$bgActiveColor};
365
412
  --#{$prefix}btn-active-border-color: #{$bgActiveColor};
366
- --#{$prefix}btn-disabled-color: #{$df-btn-disabled-text-color};
367
- --#{$prefix}btn-disabled-bg: #{$df-btn-disabled-bg-color};
368
- --#{$prefix}btn-disabled-border-color: #{$df-btn-disabled-border-color};
413
+
414
+ --#{$prefix}btn-disabled-color: #{variable-switch-brand2023(
415
+ 'button-solid-basic-color-disabled-foreground',
416
+ $df-btn-disabled-text-color
417
+ )};
418
+
419
+ --#{$prefix}btn-disabled-bg: #{variable-switch-brand2023(
420
+ 'button-solid-basic-color-disabled-background',
421
+ $df-btn-disabled-bg-color
422
+ )};
423
+
424
+ --#{$prefix}btn-disabled-border-color: #{variable-switch-brand2023(
425
+ 'button-solid-basic-color-disabled-background',
426
+ $df-btn-disabled-border-color
427
+ )};
428
+
369
429
  --#{$prefix}btn-focus-only-color: #{shades-css-var-brand2023(
370
- 'button-solid-basic-color-' + #{$color} + '-default-foreground',
430
+ varWithDefault(
431
+ 'button-solid-basic-color-' + #{$color} + '-default-foreground',
432
+ 'color-' + #{$color} + '-main-default-foreground'
433
+ ),
371
434
  $color,
372
435
  'bg-color',
373
436
  true
@@ -378,7 +441,10 @@
378
441
  --#{$prefix}btn-check-active-hover-bg: #{var(--#{$prefix}btn-active-bg)};
379
442
  --#{$prefix}btn-check-active-hover-border-color: #{var(--#{$prefix}btn-active-border-color)};
380
443
  --#{$prefix}btn-focus-shadow-rgb: #{shades-rgb-css-var-brand2023(
381
- 'button-solid-basic-color-' + #{$color} + '-default-border',
444
+ varWithDefault(
445
+ 'button-solid-basic-color-' + #{$color} + '-default-border',
446
+ 'color-' + #{$color} + '-main-default-border'
447
+ ),
382
448
  $color,
383
449
  'bg-color'
384
450
  )};
@@ -386,7 +452,10 @@
386
452
  &:focus-visible {
387
453
  --#{$prefix}btn-focus-box-shadow: #{$df-btn-focus-box-shadow}; // override BS
388
454
  --#{$prefix}box-shadow-color: #{variable-switch-brand2023(
389
- 'button-solid-basic-color-' + #{$color} + '-default-border',
455
+ varWithDefault(
456
+ 'button-solid-basic-color-' + #{$color} + '-default-border',
457
+ 'color-' + #{$color} + '-main-default-border'
458
+ ),
390
459
  $df-btn-focus-box-shadow-color
391
460
  )};
392
461
  box-shadow: var(--#{$prefix}btn-focus-box-shadow);
@@ -394,20 +463,26 @@
394
463
 
395
464
  &:focus-visible:hover:not(:active) {
396
465
  --#{$prefix}box-shadow-color: #{variable-switch-brand2023(
397
- 'button-solid-basic-color-' + #{$color} + '-hovered-border',
466
+ varWithDefault(
467
+ 'button-solid-basic-color-' + #{$color} + '-hovered-border',
468
+ 'color-' + #{$color} + '-main-hovered-border'
469
+ ),
398
470
  $df-btn-focus-hover-box-shadow-color
399
471
  )};
400
472
  }
401
473
 
402
474
  &:focus-visible:active {
403
475
  --#{$prefix}box-shadow-color: #{variable-switch-brand2023(
404
- 'button-solid-basic-color-' + #{$color} + '-pressed-border',
476
+ varWithDefault(
477
+ 'button-solid-basic-color-' + #{$color} + '-pressed-border',
478
+ 'color-' + #{$color} + '-main-pressed-border'
479
+ ),
405
480
  $df-btn-focus-active-box-shadow-color
406
481
  )};
407
482
  }
408
483
  }
409
484
 
410
- .df-btn-#{$color}-mirror {
485
+ .df-btn-#{$colorClass}-mirror {
411
486
  // stylelint-disable custom-property-no-missing-var-function
412
487
  --#{$prefix}btn-color: #{shades-css-var-brand2023(
413
488
  'button-solid-mirror-color-' + #{$color} + '-default-foreground',
@@ -454,9 +529,22 @@
454
529
  true
455
530
  )};
456
531
  --#{$prefix}btn-active-border-color: var(--#{$prefix}btn-active-bg);
457
- --#{$prefix}btn-disabled-color: #{$df-btn-disabled-text-color};
458
- --#{$prefix}btn-disabled-bg: #{$df-btn-disabled-bg-color};
459
- --#{$prefix}btn-disabled-border-color: #{$df-btn-disabled-border-color};
532
+
533
+ --#{$prefix}btn-disabled-color: #{variable-switch-brand2023(
534
+ 'button-solid-mirror-color-disabled-foreground',
535
+ $df-btn-disabled-text-color
536
+ )};
537
+
538
+ --#{$prefix}btn-disabled-bg: #{variable-switch-brand2023(
539
+ 'button-solid-mirror-color-disabled-background',
540
+ $df-btn-disabled-bg-color
541
+ )};
542
+
543
+ --#{$prefix}btn-disabled-border-color: #{variable-switch-brand2023(
544
+ 'button-solid-mirror-color-disabled-background',
545
+ $df-btn-disabled-border-color
546
+ )};
547
+
460
548
  --#{$prefix}btn-focus-only-color: #{shades-css-var-brand2023(
461
549
  'button-solid-mirror-color-' + #{$color} + '-default-foreground',
462
550
  $color,
@@ -495,63 +583,111 @@
495
583
  }
496
584
  }
497
585
 
498
- .btn-outline-#{$color} {
586
+ .btn-outline-#{$colorClass} {
499
587
  // stylelint-disable custom-property-no-missing-var-function
500
588
  --#{$prefix}btn-color: #{shades-css-var-brand2023(
501
- 'button-outline-basic-color-' + #{$color} + '-default-foreground',
589
+ varWithDefault(
590
+ 'button-outline-basic-color-' + #{$color} + '-default-foreground',
591
+ 'color-' + #{$color} + '-alt-default-border'
592
+ ),
502
593
  $color,
503
594
  'text-color'
504
595
  )};
596
+ @if $isBrand2023 {
597
+ --#{$prefix}btn-bg: var(--#{$prefix}button-outline-basic-color-#{$color}-default-background);
598
+ }
505
599
  --#{$prefix}btn-border-color: #{shades-css-var-brand2023(
506
- 'button-outline-basic-color-' + #{$color} + '-default-border',
600
+ varWithDefault(
601
+ 'button-outline-basic-color-' + #{$color} + '-default-border',
602
+ 'color-' + #{$color} + '-alt-default-border'
603
+ ),
507
604
  $color,
508
605
  'border-color'
509
606
  )};
510
607
  --#{$prefix}btn-hover-color: #{shades-css-var-brand2023(
511
- 'button-outline-basic-color-' + #{$color} + '-hovered-foreground',
608
+ varWithDefault(
609
+ 'button-outline-basic-color-' + #{$color} + '-hovered-foreground',
610
+ 'color-' + #{$color} + '-alt-hovered-foreground'
611
+ ),
512
612
  $color,
513
613
  'text-hover-color'
514
614
  )};
515
615
  --#{$prefix}btn-hover-border-color: #{shades-css-var-brand2023(
516
- 'button-outline-basic-color-' + #{$color} + '-hovered-border',
616
+ varWithDefault(
617
+ 'button-outline-basic-color-' + #{$color} + '-hovered-border',
618
+ 'color-' + #{$color} + '-alt-hovered-border'
619
+ ),
517
620
  $color,
518
621
  'bg-hover-color'
519
622
  )};
520
623
  --#{$prefix}btn-hover-bg: #{shades-css-var-brand2023(
521
- 'button-outline-basic-color-' + #{$color} + '-hovered-background',
624
+ varWithDefault(
625
+ 'button-outline-basic-color-' + #{$color} + '-hovered-background',
626
+ 'color-' + #{$color} + '-alt-hovered-background'
627
+ ),
522
628
  $color,
523
629
  'bg-hover-alt-color'
524
630
  )}; //bg-subtle-hover-color
525
- --#{$prefix}btn-disabled-color: #{$df-btn-outline-disabled-text-color};
526
- --#{$prefix}btn-disabled-border-color: #{$df-btn-disabled-border-color};
631
+ --#{$prefix}btn-disabled-color: #{variable-switch-brand2023(
632
+ 'button-outline-basic-color-disabled-foreground',
633
+ $df-btn-disabled-text-color
634
+ )};
635
+
636
+ @if $isBrand2023 {
637
+ --#{$prefix}btn-disabled-bg: var(--#{$prefix}button-outline-basic-color-disabled-background);
638
+ }
639
+
640
+ --#{$prefix}btn-disabled-border-color: #{variable-switch-brand2023(
641
+ 'button-outline-basic-color-disabled-border',
642
+ $df-btn-disabled-border-color
643
+ )};
644
+
527
645
  --#{$prefix}btn-active-color: #{shades-css-var-brand2023(
528
- 'button-outline-basic-color-' + #{$color} + '-pressed-foreground',
646
+ varWithDefault(
647
+ 'button-outline-basic-color-' + #{$color} + '-pressed-foreground',
648
+ 'color-' + #{$color} + '-alt-pressed-foreground'
649
+ ),
529
650
  $color,
530
651
  'bg-active-color'
531
652
  )};
532
653
  --#{$prefix}btn-active-border-color: #{shades-css-var-brand2023(
533
- 'button-outline-basic-color-' + #{$color} + '-pressed-border',
654
+ varWithDefault(
655
+ 'button-outline-basic-color-' + #{$color} + '-pressed-border',
656
+ 'color-' + #{$color} + '-alt-pressed-border'
657
+ ),
534
658
  $color,
535
659
  'bg-active-color'
536
660
  )};
537
661
  --#{$prefix}btn-active-bg: #{shades-css-var-brand2023(
538
- 'button-outline-basic-color-' + #{$color} + '-pressed-background',
662
+ varWithDefault(
663
+ 'button-outline-basic-color-' + #{$color} + '-pressed-background',
664
+ 'color-' + #{$color} + '-alt-pressed-background'
665
+ ),
539
666
  $color,
540
667
  'bg-active-alt-color'
541
668
  )}; //bg-subtle-active-color
542
669
  --#{$prefix}btn-focus-only-color: #{shades-css-var-brand2023(
543
- 'button-outline-basic-color-' + #{$color} + '-default-foreground',
670
+ varWithDefault(
671
+ 'button-outline-basic-color-' + #{$color} + '-default-foreground',
672
+ 'color-' + #{$color} + '-alt-default-foreground'
673
+ ),
544
674
  $color,
545
675
  'text-color'
546
676
  )};
547
677
  --#{$prefix}btn-focus-only-bg: #{var(--#{$prefix}btn-bg)};
548
678
  --#{$prefix}btn-focus-only-border-color: #{shades-css-var-brand2023(
549
- 'button-outline-basic-color-' + #{$color} + '-default-border',
679
+ varWithDefault(
680
+ 'button-outline-basic-color-' + #{$color} + '-default-border',
681
+ 'color-' + #{$color} + '-alt-default-border'
682
+ ),
550
683
  $color,
551
684
  'border-color'
552
685
  )};
553
686
  --#{$prefix}btn-check-active-hover-color: #{shades-css-var-brand2023(
554
- 'button-outline-basic-color-' + #{$color} + '-activeHovered-foreground',
687
+ varWithDefault(
688
+ 'button-outline-basic-color-' + #{$color} + '-activeHovered-foreground',
689
+ 'color-' + #{$color} + '-alt-activeHovered-foreground'
690
+ ),
555
691
  $color,
556
692
  'bg-active-color',
557
693
  true
@@ -559,7 +695,10 @@
559
695
  --#{$prefix}btn-check-active-hover-bg: #{$bgHoverColor};
560
696
  --#{$prefix}btn-check-active-hover-border-color: #{var(--#{$prefix}btn-active-border-color)};
561
697
  --#{$prefix}btn-focus-shadow-rgb: #{shades-rgb-css-var-brand2023(
562
- 'df-button-outline-basic-color-#{$color}-default-border',
698
+ varWithDefault(
699
+ 'df-button-outline-basic-color-#{$color}-default-border',
700
+ 'color-' + #{$color} + '-alt-default-border'
701
+ ),
563
702
  $color,
564
703
  'bg-color'
565
704
  )};
@@ -567,7 +706,10 @@
567
706
  &:focus-visible {
568
707
  --#{$prefix}btn-focus-box-shadow: #{$df-btn-focus-box-shadow}; // override BS
569
708
  --#{$prefix}box-shadow-color: #{variable-switch-brand2023(
570
- 'button-outline-basic-color-' + #{$color} + '-default-border',
709
+ varWithDefault(
710
+ 'button-outline-basic-color-' + #{$color} + '-default-border',
711
+ 'color-' + #{$color} + '-alt-default-border'
712
+ ),
571
713
  $df-btn-outline-focus-box-shadow-color
572
714
  )};
573
715
  box-shadow: var(--#{$prefix}btn-focus-box-shadow);
@@ -575,7 +717,10 @@
575
717
 
576
718
  &:focus-visible:hover:not(:active):not(.active) {
577
719
  --#{$prefix}box-shadow-color: #{variable-switch-brand2023(
578
- 'button-outline-basic-color-' + #{$color} + '-hovered-border',
720
+ varWithDefault(
721
+ 'button-outline-basic-color-' + #{$color} + '-hovered-border',
722
+ 'color-' + #{$color} + '-alt-hovered-border'
723
+ ),
579
724
  $df-btn-outline-focus-hover-box-shadow-color
580
725
  )};
581
726
  }
@@ -583,13 +728,16 @@
583
728
  &:focus-visible:active,
584
729
  &.active:focus-visible {
585
730
  --#{$prefix}box-shadow-color: #{variable-switch-brand2023(
586
- 'button-outline-basic-color-' + #{$color} + '-pressed-border',
731
+ varWithDefault(
732
+ 'button-outline-basic-color-' + #{$color} + '-pressed-border',
733
+ 'color-' + #{$color} + '-alt-pressed-border'
734
+ ),
587
735
  $df-btn-outline-focus-active-box-shadow-color
588
736
  )};
589
737
  }
590
738
  }
591
739
 
592
- .df-btn-outline-#{$color}-mirror {
740
+ .df-btn-outline-#{$colorClass}-mirror {
593
741
  // stylelint-disable custom-property-no-missing-var-function
594
742
  --#{$prefix}btn-color: #{shades-css-var-brand2023(
595
743
  'button-outline-mirror-color-' + #{$color} + '-default-foreground',
@@ -598,6 +746,9 @@
598
746
  false,
599
747
  true
600
748
  )};
749
+ @if $isBrand2023 {
750
+ --#{$prefix}btn-bg: var(--#{$prefix}button-outline-mirror-color-#{$color}-default-background);
751
+ }
601
752
  --#{$prefix}btn-border-color: var(--#{$prefix}btn-color);
602
753
  --#{$prefix}btn-hover-color: #{shades-css-var-brand2023(
603
754
  'button-outline-mirror-color-' + #{$color} + '-hovered-foreground',
@@ -614,8 +765,19 @@
614
765
  false,
615
766
  true
616
767
  )};
617
- --#{$prefix}btn-disabled-color: #{$df-btn-outline-disabled-text-color};
618
- --#{$prefix}btn-disabled-border-color: #{$df-btn-disabled-border-color};
768
+
769
+ --#{$prefix}btn-disabled-color: #{variable-switch-brand2023(
770
+ 'button-outline-mirror-color-disabled-foreground',
771
+ $df-btn-outline-disabled-text-color
772
+ )};
773
+ @if $isBrand2023 {
774
+ --#{$prefix}btn-disabled-bg: var(--#{$prefix}button-outline-mirror-color-disabled-background);
775
+ }
776
+ --#{$prefix}btn-disabled-border-color: #{variable-switch-brand2023(
777
+ 'button-outline-mirror-color-disabled-border',
778
+ $df-btn-disabled-border-color
779
+ )};
780
+
619
781
  --#{$prefix}btn-active-color: #{shades-css-var-brand2023(
620
782
  'button-outline-mirror-color-' + #{$color} + '-pressed-foreground',
621
783
  $color,
@@ -666,38 +828,78 @@
666
828
  }
667
829
  }
668
830
 
669
- .btn-outline-#{$color}.df-btn-tertiary {
670
- --#{$prefix}btn-color: var(--#{$prefix}button-text-basic-color-#{$color}-default-foreground);
831
+ .btn-outline-#{$colorClass}.df-btn-tertiary {
671
832
  --#{$prefix}btn-border-color: transparent;
672
833
 
673
- --#{$prefix}btn-hover-color: var(--#{$prefix}button-text-basic-color-#{$color}-hovered-foreground);
674
- --#{$prefix}btn-hover-bg: var(--#{$prefix}button-text-basic-color-#{$color}-hovered-background);
675
- --#{$prefix}btn-hover-border-color: var(--#{$prefix}button-text-basic-color-#{$color}-hovered-background);
676
-
677
- --#{$prefix}btn-active-color: var(--#{$prefix}button-text-basic-color-#{$color}-pressed-foreground);
678
- --#{$prefix}btn-active-bg: var(--#{$prefix}button-text-basic-color-#{$color}-pressed-background);
679
- --#{$prefix}btn-active-border-color: var(--#{$prefix}button-text-basic-color-#{$color}-pressed-background);
680
-
681
- --#{$prefix}btn-disabled-color: var(--#{$prefix}button-text-basic-color-disabled-foreground);
682
- --#{$prefix}btn-disabled-bg: var(--#{$prefix}button-text-basic-color-disabled-background);
683
- --#{$prefix}btn-disabled-border-color: var(--#{$prefix}button-text-basic-color-disabled-background);
684
-
685
- --#{$prefix}btn-focus-only-color: var(--#{$prefix}button-text-basic-color-#{$color}-default-foreground);
686
- --#{$prefix}btn-focus-only-border-color: transparent;
687
- --#{$prefix}btn-check-active-hover-color: var(
688
- --#{$prefix}button-text-basic-color-#{$color}-activeHovered-foreground
689
- );
690
- --#{$prefix}btn-check-active-hover-bg: var(--#{$prefix}button-text-basic-color-#{$color}-activeHovered-background);
691
- --#{$prefix}btn-check-active-hover-border-color: var(
692
- --#{$prefix}button-text-basic-color-#{$color}-activeHovered-background
693
- );
834
+ @if $isBrand2023 {
835
+ --#{$prefix}btn-bg: transparent;
836
+
837
+ --#{$prefix}btn-color: var(
838
+ --#{$prefix}button-text-basic-color-#{$color}-default-foreground,
839
+ var(--#{$prefix}color-#{$color}-alt-default-foreground)
840
+ );
841
+
842
+ --#{$prefix}btn-hover-color: var(
843
+ --#{$prefix}button-text-basic-color-#{$color}-hovered-foreground,
844
+ var(--#{$prefix}color-#{$color}-alt-hovered-foreground)
845
+ );
846
+ --#{$prefix}btn-hover-bg: var(
847
+ --#{$prefix}button-text-basic-color-#{$color}-hovered-background,
848
+ var(--#{$prefix}color-#{$color}-alt-hovered-background)
849
+ );
850
+ --#{$prefix}btn-hover-border-color: var(
851
+ --#{$prefix}button-text-basic-color-#{$color}-hovered-background,
852
+ var(--#{$prefix}color-#{$color}-alt-hovered-background)
853
+ );
854
+
855
+ --#{$prefix}btn-active-color: var(
856
+ --#{$prefix}button-text-basic-color-#{$color}-pressed-foreground,
857
+ var(--#{$prefix}color-#{$color}-alt-pressed-foreground)
858
+ );
859
+ --#{$prefix}btn-active-bg: var(
860
+ --#{$prefix}button-text-basic-color-#{$color}-pressed-background,
861
+ var(--#{$prefix}color-#{$color}-alt-pressed-background)
862
+ );
863
+ --#{$prefix}btn-active-border-color: var(
864
+ --#{$prefix}button-text-basic-color-#{$color}-pressed-background,
865
+ var(--#{$prefix}color-#{$color}-alt-pressed-background)
866
+ );
867
+
868
+ --#{$prefix}btn-disabled-color: var(--#{$prefix}button-text-basic-color-disabled-foreground);
869
+ --#{$prefix}btn-disabled-bg: var(--#{$prefix}button-text-basic-color-disabled-background);
870
+ --#{$prefix}btn-disabled-border-color: var(--#{$prefix}button-text-basic-color-disabled-background);
871
+
872
+ --#{$prefix}btn-focus-only-color: var(
873
+ --#{$prefix}button-text-basic-color-#{$color}-default-foreground,
874
+ var(--#{$prefix}color-#{$color}-alt-default-foreground)
875
+ );
876
+ --#{$prefix}btn-focus-only-border-color: transparent;
877
+ --#{$prefix}btn-check-active-hover-color: var(
878
+ --#{$prefix}button-text-basic-color-#{$color}-activeHovered-foreground,
879
+ var(--#{$prefix}color-#{$color}-alt-activeHovered-foreground)
880
+ );
881
+ --#{$prefix}btn-check-active-hover-bg: var(
882
+ --#{$prefix}button-text-basic-color-#{$color}-activeHovered-background,
883
+ var(--#{$prefix}color-#{$color}-alt-activeHovered-background)
884
+ );
885
+ --#{$prefix}btn-check-active-hover-border-color: var(
886
+ --#{$prefix}button-text-basic-color-#{$color}-activeHovered-background,
887
+ var(--#{$prefix}color-#{$color}-alt-activeHovered-background)
888
+ );
889
+ }
694
890
 
695
891
  --#{$prefix}box-shadow-color: #{variable-switch-brand2023(
696
- 'button-text-basic-color-#{$color}-default-foreground',
892
+ varWithDefault(
893
+ 'button-text-basic-color-#{$color}-default-foreground',
894
+ 'color-' + #{$color} + '-alt-default-foreground'
895
+ ),
697
896
  var(--#{$prefix}color-#{$color}-main-default-border)
698
897
  )};
699
898
  --#{$prefix}btn-focus-shadow-rgb: #{shades-rgb-css-var-brand2023(
700
- 'button-text-basic-color-#{$color}-default-foreground',
899
+ varWithDefault(
900
+ 'button-text-basic-color-#{$color}-default-foreground',
901
+ 'color-' + #{$color} + '-alt-default-foreground'
902
+ ),
701
903
  $color,
702
904
  'bg-color'
703
905
  )};
@@ -708,14 +910,20 @@
708
910
 
709
911
  &:focus-visible:hover:not(:active):not(.active) {
710
912
  --#{$prefix}box-shadow-color: #{variable-switch-brand2023(
711
- 'button-outline-basic-color-' + #{$color} + '-hovered-foreground',
913
+ varWithDefault(
914
+ 'button-outline-basic-color-' + #{$color} + '-hovered-border',
915
+ 'color-' + #{$color} + '-alt-hovered-border'
916
+ ),
712
917
  $df-btn-outline-focus-hover-box-shadow-color
713
918
  )};
714
919
  }
715
920
  }
716
921
 
717
- .df-btn-outline-#{$color}-mirror.df-btn-tertiary {
922
+ .df-btn-outline-#{$colorClass}-mirror.df-btn-tertiary {
718
923
  --#{$prefix}btn-color: var(--#{$prefix}button-text-mirror-color-#{$color}-default-foreground);
924
+ @if $isBrand2023 {
925
+ --#{$prefix}btn-bg: transparent;
926
+ }
719
927
  --#{$prefix}btn-border-color: transparent;
720
928
 
721
929
  --#{$prefix}btn-hover-color: var(--#{$prefix}button-text-mirror-color-#{$color}-hovered-foreground);
@@ -757,9 +965,109 @@
757
965
  }
758
966
 
759
967
  .btn-check {
968
+ @if $isBrand2023 {
969
+ &:checked {
970
+ + .btn-#{$colorClass} {
971
+ --#{$prefix}btn-active-color: var(--#{$prefix}button-solid-basic-color-#{$color}-active-foreground);
972
+ --#{$prefix}btn-active-bg: var(--#{$prefix}button-solid-basic-color-#{$color}-active-background);
973
+ --#{$prefix}btn-active-border-color: var(--#{$prefix}button-solid-basic-color-#{$color}-active-border);
974
+
975
+ &:hover {
976
+ --#{$prefix}btn-active-color: var(--#{$prefix}button-solid-basic-color-#{$color}-activeHovered-foreground);
977
+ --#{$prefix}btn-active-bg: var(--#{$prefix}button-solid-basic-color-#{$color}-activeHovered-background);
978
+ --#{$prefix}btn-active-border-color: var(
979
+ --#{$prefix}button-solid-basic-color-#{$color}-activeHovered-border
980
+ );
981
+ }
982
+
983
+ &:active {
984
+ --#{$prefix}btn-active-color: var(--#{$prefix}button-solid-basic-color-#{$color}-activePressed-foreground);
985
+ --#{$prefix}btn-active-bg: var(--#{$prefix}button-solid-basic-color-#{$color}-activePressed-background);
986
+ --#{$prefix}btn-active-border-color: var(
987
+ --#{$prefix}button-solid-basic-color-#{$color}-activePressed-border
988
+ );
989
+ }
990
+ }
991
+
992
+ + .df-btn-#{$colorClass}-mirror {
993
+ --#{$prefix}btn-active-color: var(--#{$prefix}button-solid-mirror-color-#{$color}-active-foreground);
994
+ --#{$prefix}btn-active-bg: var(--#{$prefix}button-solid-mirror-color-#{$color}-active-background);
995
+ --#{$prefix}btn-active-border-color: var(--#{$prefix}button-solid-mirror-color-#{$color}-active-border);
996
+
997
+ &:hover {
998
+ --#{$prefix}btn-active-color: var(--#{$prefix}button-solid-mirror-color-#{$color}-activeHovered-foreground);
999
+ --#{$prefix}btn-active-bg: var(--#{$prefix}button-solid-mirror-color-#{$color}-activeHovered-background);
1000
+ --#{$prefix}btn-active-border-color: var(
1001
+ --#{$prefix}button-solid-mirror-color-#{$color}-activeHovered-border
1002
+ );
1003
+ }
1004
+
1005
+ &:active {
1006
+ --#{$prefix}btn-active-color: var(--#{$prefix}button-solid-mirror-color-#{$color}-activePressed-foreground);
1007
+ --#{$prefix}btn-active-bg: var(--#{$prefix}button-solid-mirror-color-#{$color}-activePressed-background);
1008
+ --#{$prefix}btn-active-border-color: var(
1009
+ --#{$prefix}button-solid-mirror-color-#{$color}-activePressed-border
1010
+ );
1011
+ }
1012
+ }
1013
+
1014
+ + .btn-outline-#{$colorClass} {
1015
+ --#{$prefix}btn-active-color: var(--#{$prefix}button-outline-basic-color-#{$color}-active-foreground);
1016
+ --#{$prefix}btn-active-bg: var(--#{$prefix}button-outline-basic-color-#{$color}-active-background);
1017
+ --#{$prefix}btn-active-border-color: var(--#{$prefix}button-outline-basic-color-#{$color}-active-border);
1018
+
1019
+ &:hover {
1020
+ --#{$prefix}btn-active-color: var(
1021
+ --#{$prefix}button-outline-basic-color-#{$color}-activeHovered-foreground
1022
+ );
1023
+ --#{$prefix}btn-active-bg: var(--#{$prefix}button-outline-basic-color-#{$color}-activeHovered-background);
1024
+ --#{$prefix}btn-active-border-color: var(
1025
+ --#{$prefix}button-outline-basic-color-#{$color}-activeHovered-border
1026
+ );
1027
+ }
1028
+
1029
+ &:active {
1030
+ --#{$prefix}btn-active-color: var(
1031
+ --#{$prefix}button-outline-basic-color-#{$color}-activePressed-foreground
1032
+ );
1033
+ --#{$prefix}btn-active-bg: var(--#{$prefix}button-outline-basic-color-#{$color}-activePressed-background);
1034
+ --#{$prefix}btn-active-border-color: var(
1035
+ --#{$prefix}button-outline-basic-color-#{$color}-activePressed-border
1036
+ );
1037
+ }
1038
+ }
1039
+
1040
+ + .df-btn-outline-#{$colorClass}-mirror {
1041
+ --#{$prefix}btn-active-color: var(--#{$prefix}button-outline-mirror-color-#{$color}-active-foreground);
1042
+ --#{$prefix}btn-active-bg: var(--#{$prefix}button-outline-mirror-color-#{$color}-active-background);
1043
+ --#{$prefix}btn-active-border-color: var(--#{$prefix}button-outline-mirror-color-#{$color}-active-border);
1044
+
1045
+ &:hover {
1046
+ --#{$prefix}btn-active-color: var(
1047
+ --#{$prefix}button-outline-mirror-color-#{$color}-activeHovered-foreground
1048
+ );
1049
+ --#{$prefix}btn-active-bg: var(--#{$prefix}button-outline-mirror-color-#{$color}-activeHovered-background);
1050
+ --#{$prefix}btn-active-border-color: var(
1051
+ --#{$prefix}button-outline-mirror-color-#{$color}-activeHovered-border
1052
+ );
1053
+ }
1054
+
1055
+ &:active {
1056
+ --#{$prefix}btn-active-color: var(
1057
+ --#{$prefix}button-outline-mirror-color-#{$color}-activePressed-foreground
1058
+ );
1059
+ --#{$prefix}btn-active-bg: var(--#{$prefix}button-outline-mirror-color-#{$color}-activePressed-background);
1060
+ --#{$prefix}btn-active-border-color: var(
1061
+ --#{$prefix}button-outline-mirror-color-#{$color}-activePressed-border
1062
+ );
1063
+ }
1064
+ }
1065
+ }
1066
+ }
1067
+
760
1068
  // override default behavior of outline in case of btn-check
761
1069
  &:checked {
762
- + .btn-outline-#{$color} {
1070
+ + .btn-outline-#{$colorClass} {
763
1071
  --#{$prefix}btn-active-color: #{shades-css-var-brand2023(
764
1072
  'button-solid-basic-color-' + #{$color} + '-pressed-foreground',
765
1073
  $color,