@design-factory/design-factory 20.0.0-next.1 → 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 (67) 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 +327 -417
  7. package/fesm2022/design-factory.mjs.map +1 -1
  8. package/index.d.ts +10 -50
  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/bootstrap/_utilities-override.scss +14 -8
  28. package/styles/scss/bootstrap/_variables.scss +2 -2
  29. package/styles/scss/components/alert/_alert.scss +23 -11
  30. package/styles/scss/components/badge/_badge.mixins.scss +2 -4
  31. package/styles/scss/components/badge/_badge.scss +87 -23
  32. package/styles/scss/components/button/_button.scss +382 -75
  33. package/styles/scss/components/button/_button.utils.scss +20 -1
  34. package/styles/scss/components/button/_button_container.scss +22 -5
  35. package/styles/scss/components/card/_card.scss +28 -10
  36. package/styles/scss/components/checkbox/_checkbox.scss +2 -1
  37. package/styles/scss/components/dropdown/_dropdown.scss +17 -0
  38. package/styles/scss/components/fonts/_font-faces.mixins.scss +108 -54
  39. package/styles/scss/components/inputs/_inputs.root.scss +1 -1
  40. package/styles/scss/components/inputs/_inputs.scss +7 -1
  41. package/styles/scss/components/link/_link.mixins.scss +7 -3
  42. package/styles/scss/components/link/_link.scss +6 -0
  43. package/styles/scss/components/media/_media.scss +4 -0
  44. package/styles/scss/components/media/_media.variables.scss +1 -0
  45. package/styles/scss/components/modal/_modal.scss +38 -11
  46. package/styles/scss/components/navbar/_navbar.scss +12 -0
  47. package/styles/scss/components/pagination/_pagination_container.scss +1 -1
  48. package/styles/scss/components/progressbar/_progressbar.variables.scss +13 -4
  49. package/styles/scss/components/rating/_rating.scss +3 -3
  50. package/styles/scss/components/rating/_rating.variables.scss +1 -1
  51. package/styles/scss/components/select/_select.scss +14 -19
  52. package/styles/scss/components/separator/_separator.variables.scss +1 -1
  53. package/styles/scss/components/sidenav/_sidenav.scss +1 -1
  54. package/styles/scss/components/sidenav/_sidenav.variables.scss +6 -4
  55. package/styles/scss/components/spinner/_spinner.scss +14 -0
  56. package/styles/scss/components/spinner/_spinner.variables.scss +7 -4
  57. package/styles/scss/components/tabs/_tabs.scss +3 -0
  58. package/styles/scss/components/toast/_toast.scss +21 -30
  59. package/styles/scss/components/tooltip/_tooltip_container.scss +17 -13
  60. package/styles/scss/themes/brand2023/_variables.scss +50 -26
  61. package/styles/scss/themes/brand2023/tokens/_mapping.gen.scss +156 -186
  62. package/styles/scss/themes/brand2023/tokens/_root.gen.scss +1708 -0
  63. package/styles/scss/themes/brand2023/tokens/_sass-vars.gen.scss +1467 -0
  64. package/styles/scss/utilities/_common.utilities.scss +3 -10
  65. package/styles/scss/utilities/_rgb.scss +10 -0
  66. package/tokens/style-dictionary/index.d.ts +60 -0
  67. 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,77 @@
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 {
832
+ --#{$prefix}btn-color: var(
833
+ --#{$prefix}button-text-basic-color-#{$color}-default-foreground,
834
+ var(--#{$prefix}color-#{$color}-alt-default-foreground)
835
+ );
836
+ @if $isBrand2023 {
837
+ --#{$prefix}btn-bg: transparent;
838
+ }
839
+
671
840
  --#{$prefix}btn-border-color: transparent;
672
841
 
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);
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
+ );
676
854
 
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);
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
+ );
680
867
 
681
868
  --#{$prefix}btn-disabled-color: var(--#{$prefix}button-text-basic-color-disabled-foreground);
682
869
  --#{$prefix}btn-disabled-bg: var(--#{$prefix}button-text-basic-color-disabled-background);
683
870
  --#{$prefix}btn-disabled-border-color: var(--#{$prefix}button-text-basic-color-disabled-background);
684
871
 
685
- --#{$prefix}btn-focus-only-color: var(--#{$prefix}button-text-basic-color-#{$color}-default-foreground);
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
+ );
686
876
  --#{$prefix}btn-focus-only-border-color: transparent;
687
877
  --#{$prefix}btn-check-active-hover-color: var(
688
- --#{$prefix}button-text-basic-color-#{$color}-activeHovered-foreground
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)
689
884
  );
690
- --#{$prefix}btn-check-active-hover-bg: var(--#{$prefix}button-text-basic-color-#{$color}-activeHovered-background);
691
885
  --#{$prefix}btn-check-active-hover-border-color: var(
692
- --#{$prefix}button-text-basic-color-#{$color}-activeHovered-background
886
+ --#{$prefix}button-text-basic-color-#{$color}-activeHovered-background,
887
+ var(--#{$prefix}color-#{$color}-alt-activeHovered-background)
693
888
  );
694
889
 
695
890
  --#{$prefix}box-shadow-color: #{variable-switch-brand2023(
696
- 'button-text-basic-color-#{$color}-default-foreground',
891
+ varWithDefault(
892
+ 'button-text-basic-color-#{$color}-default-foreground',
893
+ 'color-' + #{$color} + '-alt-default-foreground'
894
+ ),
697
895
  var(--#{$prefix}color-#{$color}-main-default-border)
698
896
  )};
699
897
  --#{$prefix}btn-focus-shadow-rgb: #{shades-rgb-css-var-brand2023(
700
- 'button-text-basic-color-#{$color}-default-foreground',
898
+ varWithDefault(
899
+ 'button-text-basic-color-#{$color}-default-foreground',
900
+ 'color-' + #{$color} + '-alt-default-foreground'
901
+ ),
701
902
  $color,
702
903
  'bg-color'
703
904
  )};
@@ -708,14 +909,20 @@
708
909
 
709
910
  &:focus-visible:hover:not(:active):not(.active) {
710
911
  --#{$prefix}box-shadow-color: #{variable-switch-brand2023(
711
- 'button-outline-basic-color-' + #{$color} + '-hovered-foreground',
912
+ varWithDefault(
913
+ 'button-outline-basic-color-' + #{$color} + '-hovered-border',
914
+ 'color-' + #{$color} + '-alt-hovered-border'
915
+ ),
712
916
  $df-btn-outline-focus-hover-box-shadow-color
713
917
  )};
714
918
  }
715
919
  }
716
920
 
717
- .df-btn-outline-#{$color}-mirror.df-btn-tertiary {
921
+ .df-btn-outline-#{$colorClass}-mirror.df-btn-tertiary {
718
922
  --#{$prefix}btn-color: var(--#{$prefix}button-text-mirror-color-#{$color}-default-foreground);
923
+ @if $isBrand2023 {
924
+ --#{$prefix}btn-bg: transparent;
925
+ }
719
926
  --#{$prefix}btn-border-color: transparent;
720
927
 
721
928
  --#{$prefix}btn-hover-color: var(--#{$prefix}button-text-mirror-color-#{$color}-hovered-foreground);
@@ -757,9 +964,109 @@
757
964
  }
758
965
 
759
966
  .btn-check {
967
+ @if $isBrand2023 {
968
+ &:checked {
969
+ + .btn-#{$colorClass} {
970
+ --#{$prefix}btn-active-color: var(--#{$prefix}button-solid-basic-color-#{$color}-active-foreground);
971
+ --#{$prefix}btn-active-bg: var(--#{$prefix}button-solid-basic-color-#{$color}-active-background);
972
+ --#{$prefix}btn-active-border-color: var(--#{$prefix}button-solid-basic-color-#{$color}-active-border);
973
+
974
+ &:hover {
975
+ --#{$prefix}btn-active-color: var(--#{$prefix}button-solid-basic-color-#{$color}-activeHovered-foreground);
976
+ --#{$prefix}btn-active-bg: var(--#{$prefix}button-solid-basic-color-#{$color}-activeHovered-background);
977
+ --#{$prefix}btn-active-border-color: var(
978
+ --#{$prefix}button-solid-basic-color-#{$color}-activeHovered-border
979
+ );
980
+ }
981
+
982
+ &:active {
983
+ --#{$prefix}btn-active-color: var(--#{$prefix}button-solid-basic-color-#{$color}-activePressed-foreground);
984
+ --#{$prefix}btn-active-bg: var(--#{$prefix}button-solid-basic-color-#{$color}-activePressed-background);
985
+ --#{$prefix}btn-active-border-color: var(
986
+ --#{$prefix}button-solid-basic-color-#{$color}-activePressed-border
987
+ );
988
+ }
989
+ }
990
+
991
+ + .df-btn-#{$colorClass}-mirror {
992
+ --#{$prefix}btn-active-color: var(--#{$prefix}button-solid-mirror-color-#{$color}-active-foreground);
993
+ --#{$prefix}btn-active-bg: var(--#{$prefix}button-solid-mirror-color-#{$color}-active-background);
994
+ --#{$prefix}btn-active-border-color: var(--#{$prefix}button-solid-mirror-color-#{$color}-active-border);
995
+
996
+ &:hover {
997
+ --#{$prefix}btn-active-color: var(--#{$prefix}button-solid-mirror-color-#{$color}-activeHovered-foreground);
998
+ --#{$prefix}btn-active-bg: var(--#{$prefix}button-solid-mirror-color-#{$color}-activeHovered-background);
999
+ --#{$prefix}btn-active-border-color: var(
1000
+ --#{$prefix}button-solid-mirror-color-#{$color}-activeHovered-border
1001
+ );
1002
+ }
1003
+
1004
+ &:active {
1005
+ --#{$prefix}btn-active-color: var(--#{$prefix}button-solid-mirror-color-#{$color}-activePressed-foreground);
1006
+ --#{$prefix}btn-active-bg: var(--#{$prefix}button-solid-mirror-color-#{$color}-activePressed-background);
1007
+ --#{$prefix}btn-active-border-color: var(
1008
+ --#{$prefix}button-solid-mirror-color-#{$color}-activePressed-border
1009
+ );
1010
+ }
1011
+ }
1012
+
1013
+ + .btn-outline-#{$colorClass} {
1014
+ --#{$prefix}btn-active-color: var(--#{$prefix}button-outline-basic-color-#{$color}-active-foreground);
1015
+ --#{$prefix}btn-active-bg: var(--#{$prefix}button-outline-basic-color-#{$color}-active-background);
1016
+ --#{$prefix}btn-active-border-color: var(--#{$prefix}button-outline-basic-color-#{$color}-active-border);
1017
+
1018
+ &:hover {
1019
+ --#{$prefix}btn-active-color: var(
1020
+ --#{$prefix}button-outline-basic-color-#{$color}-activeHovered-foreground
1021
+ );
1022
+ --#{$prefix}btn-active-bg: var(--#{$prefix}button-outline-basic-color-#{$color}-activeHovered-background);
1023
+ --#{$prefix}btn-active-border-color: var(
1024
+ --#{$prefix}button-outline-basic-color-#{$color}-activeHovered-border
1025
+ );
1026
+ }
1027
+
1028
+ &:active {
1029
+ --#{$prefix}btn-active-color: var(
1030
+ --#{$prefix}button-outline-basic-color-#{$color}-activePressed-foreground
1031
+ );
1032
+ --#{$prefix}btn-active-bg: var(--#{$prefix}button-outline-basic-color-#{$color}-activePressed-background);
1033
+ --#{$prefix}btn-active-border-color: var(
1034
+ --#{$prefix}button-outline-basic-color-#{$color}-activePressed-border
1035
+ );
1036
+ }
1037
+ }
1038
+
1039
+ + .df-btn-outline-#{$colorClass}-mirror {
1040
+ --#{$prefix}btn-active-color: var(--#{$prefix}button-outline-mirror-color-#{$color}-active-foreground);
1041
+ --#{$prefix}btn-active-bg: var(--#{$prefix}button-outline-mirror-color-#{$color}-active-background);
1042
+ --#{$prefix}btn-active-border-color: var(--#{$prefix}button-outline-mirror-color-#{$color}-active-border);
1043
+
1044
+ &:hover {
1045
+ --#{$prefix}btn-active-color: var(
1046
+ --#{$prefix}button-outline-mirror-color-#{$color}-activeHovered-foreground
1047
+ );
1048
+ --#{$prefix}btn-active-bg: var(--#{$prefix}button-outline-mirror-color-#{$color}-activeHovered-background);
1049
+ --#{$prefix}btn-active-border-color: var(
1050
+ --#{$prefix}button-outline-mirror-color-#{$color}-activeHovered-border
1051
+ );
1052
+ }
1053
+
1054
+ &:active {
1055
+ --#{$prefix}btn-active-color: var(
1056
+ --#{$prefix}button-outline-mirror-color-#{$color}-activePressed-foreground
1057
+ );
1058
+ --#{$prefix}btn-active-bg: var(--#{$prefix}button-outline-mirror-color-#{$color}-activePressed-background);
1059
+ --#{$prefix}btn-active-border-color: var(
1060
+ --#{$prefix}button-outline-mirror-color-#{$color}-activePressed-border
1061
+ );
1062
+ }
1063
+ }
1064
+ }
1065
+ }
1066
+
760
1067
  // override default behavior of outline in case of btn-check
761
1068
  &:checked {
762
- + .btn-outline-#{$color} {
1069
+ + .btn-outline-#{$colorClass} {
763
1070
  --#{$prefix}btn-active-color: #{shades-css-var-brand2023(
764
1071
  'button-solid-basic-color-' + #{$color} + '-pressed-foreground',
765
1072
  $color,