igniteui-angular 21.2.0-rc.0 → 21.2.0-rc.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 (134) hide show
  1. package/fesm2022/igniteui-angular-accordion.mjs +7 -7
  2. package/fesm2022/igniteui-angular-action-strip.mjs +10 -10
  3. package/fesm2022/igniteui-angular-avatar.mjs +7 -7
  4. package/fesm2022/igniteui-angular-badge.mjs +7 -8
  5. package/fesm2022/igniteui-angular-badge.mjs.map +1 -1
  6. package/fesm2022/igniteui-angular-banner.mjs +10 -10
  7. package/fesm2022/igniteui-angular-bottom-nav.mjs +22 -22
  8. package/fesm2022/igniteui-angular-button-group.mjs +7 -7
  9. package/fesm2022/igniteui-angular-calendar.mjs +61 -61
  10. package/fesm2022/igniteui-angular-card.mjs +31 -31
  11. package/fesm2022/igniteui-angular-carousel.mjs +32 -33
  12. package/fesm2022/igniteui-angular-carousel.mjs.map +1 -1
  13. package/fesm2022/igniteui-angular-chat-extras.mjs +6 -6
  14. package/fesm2022/igniteui-angular-chat.mjs +12 -12
  15. package/fesm2022/igniteui-angular-checkbox.mjs +7 -7
  16. package/fesm2022/igniteui-angular-chips.mjs +10 -10
  17. package/fesm2022/igniteui-angular-combo.mjs +52 -52
  18. package/fesm2022/igniteui-angular-core.mjs +63 -110
  19. package/fesm2022/igniteui-angular-core.mjs.map +1 -1
  20. package/fesm2022/igniteui-angular-date-picker.mjs +38 -38
  21. package/fesm2022/igniteui-angular-dialog.mjs +13 -13
  22. package/fesm2022/igniteui-angular-directives.mjs +191 -191
  23. package/fesm2022/igniteui-angular-drop-down.mjs +29 -29
  24. package/fesm2022/igniteui-angular-expansion-panel.mjs +28 -28
  25. package/fesm2022/igniteui-angular-grids-core.mjs +454 -453
  26. package/fesm2022/igniteui-angular-grids-core.mjs.map +1 -1
  27. package/fesm2022/igniteui-angular-grids-grid.mjs +49 -49
  28. package/fesm2022/igniteui-angular-grids-hierarchical-grid.mjs +37 -37
  29. package/fesm2022/igniteui-angular-grids-lite.mjs +12 -12
  30. package/fesm2022/igniteui-angular-grids-pivot-grid.mjs +79 -79
  31. package/fesm2022/igniteui-angular-grids-tree-grid.mjs +55 -55
  32. package/fesm2022/igniteui-angular-icon.mjs +10 -10
  33. package/fesm2022/igniteui-angular-input-group.mjs +25 -25
  34. package/fesm2022/igniteui-angular-list.mjs +40 -40
  35. package/fesm2022/igniteui-angular-navbar.mjs +13 -13
  36. package/fesm2022/igniteui-angular-navigation-drawer.mjs +16 -16
  37. package/fesm2022/igniteui-angular-paginator.mjs +19 -19
  38. package/fesm2022/igniteui-angular-progressbar.mjs +19 -19
  39. package/fesm2022/igniteui-angular-query-builder.mjs +22 -22
  40. package/fesm2022/igniteui-angular-radio.mjs +14 -14
  41. package/fesm2022/igniteui-angular-radio.mjs.map +1 -1
  42. package/fesm2022/igniteui-angular-select.mjs +25 -25
  43. package/fesm2022/igniteui-angular-simple-combo.mjs +7 -7
  44. package/fesm2022/igniteui-angular-slider.mjs +39 -42
  45. package/fesm2022/igniteui-angular-slider.mjs.map +1 -1
  46. package/fesm2022/igniteui-angular-snackbar.mjs +7 -7
  47. package/fesm2022/igniteui-angular-splitter.mjs +13 -13
  48. package/fesm2022/igniteui-angular-stepper.mjs +38 -38
  49. package/fesm2022/igniteui-angular-stepper.mjs.map +1 -1
  50. package/fesm2022/igniteui-angular-switch.mjs +7 -7
  51. package/fesm2022/igniteui-angular-tabs.mjs +44 -43
  52. package/fesm2022/igniteui-angular-tabs.mjs.map +1 -1
  53. package/fesm2022/igniteui-angular-time-picker.mjs +19 -19
  54. package/fesm2022/igniteui-angular-toast.mjs +7 -7
  55. package/fesm2022/igniteui-angular-tree.mjs +28 -28
  56. package/lib/core/styles/components/badge/_badge-theme.scss +6 -1
  57. package/lib/core/styles/components/button-group/_button-group-theme.scss +78 -324
  58. package/lib/core/styles/components/chip/_chip-theme.scss +6 -2
  59. package/lib/core/styles/components/grid/_excel-filtering-theme.scss +16 -118
  60. package/lib/core/styles/components/grid/_grid-theme-builder.scss +391 -0
  61. package/lib/core/styles/components/grid/_grid-theme.scss +37 -39
  62. package/lib/core/styles/components/input/_input-group-theme.scss +1 -1
  63. package/lib/core/styles/components/progress/circular/_circular-theme.scss +1 -1
  64. package/lib/core/styles/components/query-builder/_query-builder-theme.scss +8 -8
  65. package/lib/core/styles/components/select/_select-theme.scss +1 -1
  66. package/migrations/common/ServerHost.js +35 -2
  67. package/migrations/common/UpdateChanges.js +37 -4
  68. package/migrations/common/tsLogger.js +34 -1
  69. package/migrations/common/tsUtils.js +35 -2
  70. package/migrations/common/util.d.ts +1 -1
  71. package/migrations/common/util.js +34 -1
  72. package/migrations/migration-collection.json +5 -0
  73. package/migrations/update-11_0_0/index.js +2 -3
  74. package/migrations/update-12_0_0/index.d.ts +1 -1
  75. package/migrations/update-12_0_0/index.js +2 -3
  76. package/migrations/update-12_1_0/index.js +2 -3
  77. package/migrations/update-13_0_0/index.js +2 -3
  78. package/migrations/update-13_1_0/index.js +2 -3
  79. package/migrations/update-15_1_0/index.js +2 -3
  80. package/migrations/update-16_1_0/index.js +2 -3
  81. package/migrations/update-17_0_0/index.js +36 -4
  82. package/migrations/update-17_1_0/index.js +2 -3
  83. package/migrations/update-18_0_0/index.js +2 -2
  84. package/migrations/update-20_0_6/index.js +3 -4
  85. package/migrations/update-21_0_0_import-migration/index.js +34 -1
  86. package/migrations/update-21_1_0_import-migration/index.js +34 -1
  87. package/migrations/update-21_2_0/changes/theme-changes.json +11 -0
  88. package/migrations/update-21_2_0/index.d.ts +3 -0
  89. package/migrations/update-21_2_0/index.js +18 -0
  90. package/package.json +2 -2
  91. package/schematics/ng-add/add-normalize.js +34 -1
  92. package/schematics/ng-add/index.spec.js +34 -1
  93. package/schematics/tsconfig.tsbuildinfo +1 -1
  94. package/skills/igniteui-angular-components/references/charts.md +4 -4
  95. package/skills/igniteui-angular-grids/SKILL.md +2 -0
  96. package/skills/igniteui-angular-grids/references/data-operations.md +3 -2
  97. package/skills/igniteui-angular-grids/references/sizing.md +204 -0
  98. package/skills/igniteui-angular-theming/SKILL.md +0 -3
  99. package/styles/igniteui-angular-dark.css +1 -1
  100. package/styles/igniteui-angular.css +1 -1
  101. package/styles/igniteui-bootstrap-dark.css +1 -1
  102. package/styles/igniteui-bootstrap-light.css +1 -1
  103. package/styles/igniteui-dark-green.css +1 -1
  104. package/styles/igniteui-fluent-dark-excel.css +1 -1
  105. package/styles/igniteui-fluent-dark-word.css +1 -1
  106. package/styles/igniteui-fluent-dark.css +1 -1
  107. package/styles/igniteui-fluent-light-excel.css +1 -1
  108. package/styles/igniteui-fluent-light-word.css +1 -1
  109. package/styles/igniteui-fluent-light.css +1 -1
  110. package/styles/igniteui-indigo-dark.css +1 -1
  111. package/styles/igniteui-indigo-light.css +1 -1
  112. package/styles/maps/igniteui-angular-dark.css.map +1 -1
  113. package/styles/maps/igniteui-angular.css.map +1 -1
  114. package/styles/maps/igniteui-bootstrap-dark.css.map +1 -1
  115. package/styles/maps/igniteui-bootstrap-light.css.map +1 -1
  116. package/styles/maps/igniteui-dark-green.css.map +1 -1
  117. package/styles/maps/igniteui-fluent-dark-excel.css.map +1 -1
  118. package/styles/maps/igniteui-fluent-dark-word.css.map +1 -1
  119. package/styles/maps/igniteui-fluent-dark.css.map +1 -1
  120. package/styles/maps/igniteui-fluent-light-excel.css.map +1 -1
  121. package/styles/maps/igniteui-fluent-light-word.css.map +1 -1
  122. package/styles/maps/igniteui-fluent-light.css.map +1 -1
  123. package/styles/maps/igniteui-indigo-dark.css.map +1 -1
  124. package/styles/maps/igniteui-indigo-light.css.map +1 -1
  125. package/types/igniteui-angular-badge.d.ts +0 -2
  126. package/types/igniteui-angular-carousel.d.ts +0 -2
  127. package/types/igniteui-angular-core.d.ts +8 -35
  128. package/types/igniteui-angular-grids-core.d.ts +5 -0
  129. package/types/igniteui-angular-radio.d.ts +1 -1
  130. package/types/igniteui-angular-slider.d.ts +0 -2
  131. package/types/igniteui-angular-stepper.d.ts +0 -1
  132. package/types/igniteui-angular-tabs.d.ts +2 -4
  133. package/migrations/common/import-helper.js +0 -14
  134. package/skills/igniteui-angular-theming/references/contributing.md +0 -471
@@ -40,7 +40,7 @@
40
40
  flex-grow: 1;
41
41
 
42
42
  @if $variant == 'indigo' {
43
- box-shadow: elevation(if($theme-variant == 'light', 3, 2)), 0 0 0 rem(1px) color(null, 'gray', if($theme-variant == 'light', 400, 100));
43
+ box-shadow: elevation(if($theme-variant == 'light', 3, 2)), 0 0 0 rem(1px) var-get($theme, 'excel-filtering-border-color');
44
44
 
45
45
  // TODO: The border-radius should not be hardcoded.
46
46
  border-radius: border-radius(rem(4px));
@@ -102,13 +102,13 @@
102
102
  opacity: 1;
103
103
 
104
104
  igx-icon {
105
- color: if($variant == 'indigo', color($color: 'primary', $variant: 500), color($color: 'secondary'));
105
+ color: var-get($theme, 'sorted-header-icon-color');
106
106
  }
107
107
 
108
108
  @if $variant == 'indigo' {
109
109
  &:hover {
110
110
  igx-icon {
111
- color: color($color: 'primary', $variant: 400);
111
+ color: var-get($theme, 'sortable-header-icon-hover-color');
112
112
  }
113
113
  }
114
114
  }
@@ -126,65 +126,8 @@
126
126
 
127
127
  @if $variant != 'indigo' {
128
128
  background: var-get($theme, 'filtering-row-background');
129
-
130
- %igx-group-display {
131
- --elevation: none;
132
- --item-background: #{var-get($theme, 'filtering-row-background')};
133
- --item-hover-background: #{color($color: 'gray', $variant: 100)};
134
- --item-selected-background: #{color($color: 'gray', $variant: 100)};
135
- --item-text-color: #{color($color: 'gray', $variant: 700)};
136
- --item-icon-color: #{color($color: 'gray', $variant: 700)};
137
- --item-hover-text-color: #{color($color: 'gray', $variant: 800)};
138
- --item-hover-icon-color: #{color($color: 'gray', $variant: 800)};
139
- --item-selected-text-color: #{if(
140
- $variant == 'indigo',
141
- contrast-color($color: 'surface'),
142
- color($color: 'secondary', $variant: 500)
143
- )};
144
- --item-selected-icon-color: #{if(
145
- $variant == 'indigo',
146
- contrast-color($color: 'surface'),
147
- color($color: 'secondary', $variant: 500)
148
- )};
149
- --item-selected-hover-icon-color: #{if(
150
- $variant == 'fluent',
151
- color($color: 'secondary', $variant: 500),
152
- contrast-color($color: 'gray', $variant: 50)
153
- )};
154
- --item-border-color: transparent;
155
- --item-hover-border-color: transparent;
156
- --item-focused-border-color: #{if(
157
- $variant == 'fluent',
158
- color($color: 'gray', $variant: 700),
159
- transparent
160
- )};
161
- --item-selected-border-color: transparent;
162
- --item-selected-hover-border-color: transparent;
163
- --item-disabled-border: transparent;
164
- --disabled-selected-border-color: transparent;
165
- }
166
129
  } @else {
167
- @if $theme-variant == 'light' {
168
- background: contrast-color($color: 'gray', $variant: 900);
169
- } @else {
170
- background: color($color: 'gray', $variant: 50);
171
- }
172
-
173
- %igx-group-display {
174
- --item-background: transparent;
175
- @if $theme-variant == 'dark' {
176
- --item-text-color: #{contrast-color($color: 'surface', $variant: 500)};
177
- }
178
- --border-color: transparent;
179
- --item-border-color: transparent;
180
- --item-focused-border-color: transparent;
181
- --item-hover-border-color: transparent;
182
- --item-selected-border-color: transparent;
183
- --item-selected-hover-border-color: transparent;
184
- --item-disabled-border: transparent;
185
- --disabled-selected-border-color: transparent;
186
- --elevation: none;
187
- }
130
+ background: var-get($theme, 'filtering-dialog-background');
188
131
 
189
132
  %igx-group-item {
190
133
  &:not(:nth-child(1)) {
@@ -348,11 +291,7 @@
348
291
 
349
292
  %grid-excel-actions--selected {
350
293
  igx-icon {
351
- color: if(
352
- $variant == 'indigo',
353
- color($color: 'primary', $variant: 200),
354
- color($color: 'secondary')
355
- );
294
+ color: var-get($theme, 'excel-filtering-actions-selected-icon-color');
356
295
  }
357
296
  }
358
297
 
@@ -401,25 +340,10 @@
401
340
  &:hover,
402
341
  &:focus {
403
342
  color: var-get($theme, 'excel-filtering-actions-hover-foreground');
343
+ background: var-get($theme, 'excel-filtering-actions-hover-background');
404
344
 
405
- @if $variant == 'indigo' {
406
- @if $theme-variant == 'light' {
407
- background: color($color: 'gray', $variant: 200);
408
- } @else {
409
- background: contrast-color($color: 'gray', $variant: 50, $opacity: .1);
410
- }
411
-
412
- igx-icon {
413
- /* stylelint-disable max-nesting-depth */
414
- @if $theme-variant == 'light' {
415
- color: color($color: 'gray', $variant: 700);
416
- } @else {
417
- color: contrast-color($color: 'gray', $variant: 50, $opacity: .8);
418
- }
419
- /* stylelint-enable max-nesting-depth */
420
- }
421
- } @else {
422
- background: color($color: 'gray', $variant: 100);
345
+ igx-icon {
346
+ color: var-get($theme, 'excel-filtering-actions-hover-icon-color');
423
347
  }
424
348
  }
425
349
 
@@ -427,11 +351,7 @@
427
351
  igx-icon {
428
352
  --component-size: 2;
429
353
 
430
- @if $theme-variant == 'light' {
431
- color: color($color: 'gray', $variant: 600);
432
- } @else {
433
- color: contrast-color($color: 'gray', $variant: 50, $opacity: .6);
434
- }
354
+ color: var-get($theme, 'excel-filtering-actions-icon-color');
435
355
  }
436
356
  }
437
357
 
@@ -449,7 +369,6 @@
449
369
  }
450
370
 
451
371
  %grid-excel-actions__action--active {
452
- background: color($color: 'gray', $variant: 100);
453
372
  color: var-get($theme, 'excel-filtering-actions-hover-foreground');
454
373
  }
455
374
 
@@ -468,6 +387,7 @@
468
387
  display: grid;
469
388
  place-items: center;
470
389
  height: 100%;
390
+ color: var-get($theme, 'excel-filtering-subheader-foreground');
471
391
  }
472
392
 
473
393
  %grid-excel-main {
@@ -489,7 +409,7 @@
489
409
  overflow: hidden;
490
410
 
491
411
  @if $variant == 'indigo' {
492
- --background: #{color($color: 'surface', $variant: 500)};
412
+ --background: var(--_grid-background, #{color($color: 'surface', $variant: 500)});
493
413
 
494
414
  margin-inline: calc(sizable(rem(-16px)) * -1);
495
415
 
@@ -510,19 +430,8 @@
510
430
  }
511
431
 
512
432
  border: 0;
513
-
514
- @if $bootstrap-theme {
515
- border-top: rem(1px) dashed color($color: 'gray', $variant: 100);
516
- border-bottom: rem(1px) dashed color($color: 'gray', $variant: 100);
517
- } @else {
518
- border-top: rem(1px) dashed color($color: 'gray', $variant: 300);
519
- border-bottom: rem(1px) dashed color($color: 'gray', $variant: 300);
520
- }
521
-
522
- @if $variant == 'indigo' and $theme-variant == 'dark' {
523
- border-top: rem(1px) dashed color($color: 'gray', $variant: 100);
524
- border-bottom: rem(1px) dashed color($color: 'gray', $variant: 100);
525
- }
433
+ border-top: rem(1px) dashed var-get($theme, 'excel-filtering-border-color');
434
+ border-bottom: rem(1px) dashed var-get($theme, 'excel-filtering-border-color');
526
435
  }
527
436
 
528
437
  %igx-excel-filter__tree {
@@ -531,19 +440,8 @@
531
440
  margin-inline: calc(pad-inline(rem(-4px), rem(-8px), rem(-16px)) * -1);
532
441
  margin-block: 0;
533
442
  flex: 1;
534
-
535
- @if $bootstrap-theme {
536
- border-top: rem(1px) dashed color($color: 'gray', $variant: 100);
537
- border-bottom: rem(1px) dashed color($color: 'gray', $variant: 100);
538
- } @else {
539
- border-top: rem(1px) dashed color($color: 'gray', $variant: 300);
540
- border-bottom: rem(1px) dashed color($color: 'gray', $variant: 300);
541
- }
542
-
543
- @if $variant == 'indigo' and $theme-variant == 'dark' {
544
- border-top: rem(1px) dashed color($color: 'gray', $variant: 100);
545
- border-bottom: rem(1px) dashed color($color: 'gray', $variant: 100);
546
- }
443
+ border-top: rem(1px) dashed var-get($theme, 'excel-filtering-border-color');
444
+ border-bottom: rem(1px) dashed var-get($theme, 'excel-filtering-border-color');
547
445
 
548
446
  igx-icon {
549
447
  width: var(--ig-icon-size, #{$tree-node-expander-size});
@@ -721,7 +619,7 @@
721
619
 
722
620
  @if $bootstrap-theme {
723
621
  padding-block-start: pad-block(rem(16px));
724
- border-top: rem(1px) solid color($color: 'gray', $variant: 300);
622
+ border-top: rem(1px) solid color-mix(in srgb, var(--_grid-foreground, var(--ig-gray-300)) 20%, var(--_grid-background, var(--ig-gray-300)));
725
623
  }
726
624
 
727
625
  %grid-excel-filter__apply,
@@ -0,0 +1,391 @@
1
+ @use 'sass:map';
2
+ @use '../../base' as *;
3
+ @use 'igniteui-theming/sass/themes/schemas' as *;
4
+
5
+ /// Applies all sub-component token overrides used by the grid.
6
+ /// @access private
7
+ /// @param {Map} $theme - The grid theme map.
8
+ @mixin grid-theme-builder($theme) {
9
+ $variant: map.get($theme, '_meta', 'theme');
10
+ $theme-variant: map.get($theme, '_meta', 'variant');
11
+
12
+ $schema: map.get(
13
+ (
14
+ 'light-material': $light-material-schema,
15
+ 'light-bootstrap': $light-bootstrap-schema,
16
+ 'light-fluent': $light-fluent-schema,
17
+ 'light-indigo': $light-indigo-schema,
18
+ 'dark-material': $dark-material-schema,
19
+ 'dark-bootstrap': $dark-bootstrap-schema,
20
+ 'dark-fluent': $dark-fluent-schema,
21
+ 'dark-indigo': $dark-indigo-schema,
22
+ ),
23
+ '#{$theme-variant}-#{$variant}'
24
+ );
25
+
26
+ igx-grid,
27
+ igc-grid,
28
+ igx-tree-grid,
29
+ igc-tree-grid,
30
+ igx-hierarchical-grid,
31
+ igc-hierarchical-grid,
32
+ igx-pivot-grid,
33
+ igc-pivot-grid,
34
+ igx-grid-lite,
35
+ igc-grid-lite {
36
+ --_grid-background: var(--background, var(--ig-grid-background));
37
+ --_grid-foreground: var(--foreground, var(--ig-grid-foreground));
38
+ --_grid-accent-color: var(--accent-color, var(--ig-grid-accent-color));
39
+
40
+ @include tokens(
41
+ action-strip-theme(
42
+ $schema: $schema,
43
+ $background: color-mix(in srgb, var(--_grid-accent-color) 12%, transparent),
44
+ $actions-background: color-mix(in srgb, var(--_grid-accent-color) 12%, var(--_grid-background)),
45
+ $icon-color: var(--_grid-accent-color),
46
+ )
47
+ );
48
+
49
+ @include tokens(
50
+ badge-theme(
51
+ $schema: $schema,
52
+ $background-color: var(--_grid-accent-color),
53
+ )
54
+ );
55
+
56
+ @include tokens(
57
+ banner-theme(
58
+ $schema: $schema,
59
+ $banner-background: var(--_grid-background),
60
+ $banner-message-color: var(--_grid-foreground),
61
+ $banner-illustration-color: var(--_grid-foreground),
62
+ $banner-border-color: color-mix(in srgb, var(--_grid-foreground) 20%, var(--_grid-background))
63
+ )
64
+ );
65
+
66
+ .igx-excel-filter__menu .igx-button-group,
67
+ .igx-button-group {
68
+ --ig-btn-group-selected-bg: color-mix(in srgb, var(--_grid-accent-color) 8%, var(--_grid-background));
69
+
70
+ @include tokens(
71
+ button-group-theme(
72
+ $schema: $schema,
73
+ $item-background: var(--_grid-background, #{var-get($theme, if($variant == 'indigo', 'filtering-dialog-background', 'filtering-row-background'))}),
74
+ $item-border-color: transparent,
75
+ $item-text-color: var(--_grid-foreground, #{color($color: 'gray', $variant: 700)}),
76
+ $item-selected-background: if(
77
+ $variant == 'indigo',
78
+ var(--ig-btn-group-selected-bg, var(--ig-primary-500)),
79
+ var(--ig-btn-group-selected-bg, #{color($color: 'gray', $variant: 100)}),
80
+ ),
81
+ $item-hover-background: var(--item-selected-background),
82
+ $item-selected-text-color: var(--_grid-accent-color, #{if(
83
+ $variant == 'indigo',
84
+ contrast-color($color: 'primary'),
85
+ if($variant == 'material',
86
+ color($color: 'secondary', $variant: 500),
87
+ color($color: 'primary', $variant: 500)
88
+ )
89
+ )}),
90
+ $item-selected-hover-text-color: var(--_grid-accent-color, #{if(
91
+ $variant == 'indigo',
92
+ contrast-color($color: 'primary'),
93
+ if($variant == 'material',
94
+ color($color: 'secondary', $variant: 500),
95
+ color($color: 'primary', $variant: 500)
96
+ )
97
+ )}),
98
+ $item-selected-hover-background: dynamic-shade(var(--item-hover-background), $offset: 3),
99
+ $shadow: none
100
+ ),
101
+ $mode: 'scoped'
102
+ );
103
+ }
104
+
105
+ @include tokens(
106
+ contained-button-theme(
107
+ $schema: $schema,
108
+ $background: var(--_grid-accent-color),
109
+ $disabled-background: color-mix(in srgb, var(--_grid-accent-color) 50%, var(--_grid-background)),
110
+ $disabled-foreground: color-mix(in srgb, var(--_grid-foreground) 50%, var(--_grid-background)),
111
+ )
112
+ );
113
+
114
+ @include tokens(
115
+ flat-button-theme(
116
+ $schema: $schema,
117
+ $foreground: var(--_grid-accent-color),
118
+ $disabled-background: transparent,
119
+ $disabled-foreground: color-mix(in srgb, var(--_grid-accent-color) 50%, var(--_grid-background)),
120
+ )
121
+ );
122
+
123
+ @include tokens(
124
+ outlined-button-theme(
125
+ $schema: $schema,
126
+ $foreground: var(--_grid-accent-color),
127
+ $disabled-background: transparent,
128
+ $disabled-foreground: color-mix(in srgb, var(--_grid-accent-color) 50%, var(--_grid-background)),
129
+ $disabled-border-color: color-mix(in srgb, var(--_grid-accent-color) 50%, var(--_grid-background)),
130
+ )
131
+ );
132
+
133
+ @include tokens(
134
+ calendar-theme(
135
+ $header-background: var(--_grid-accent-color),
136
+ $content-background: var(--_grid-background),
137
+ $content-foreground: var(--_grid-foreground),
138
+ )
139
+ );
140
+
141
+ @include tokens(
142
+ checkbox-theme(
143
+ $schema: $schema,
144
+ $empty-color: color-mix(in srgb, var(--_grid-foreground) 80%, var(--_grid-background)),
145
+ $empty-fill-color: var(--_grid-background),
146
+ $tick-color-hover: color-mix(in srgb, var(--_grid-foreground) 40%, var(--_grid-background)),
147
+ $fill-color: var(--_grid-accent-color),
148
+ $label-color: var(--_grid-foreground),
149
+ $disabled-color: color-mix(in srgb, var(--_grid-foreground) 50%, var(--_grid-background)),
150
+ )
151
+ );
152
+
153
+ @include tokens(
154
+ chip-theme(
155
+ $schema: $schema,
156
+ $background: color-mix(in srgb, var(--_grid-foreground) 12%, var(--_grid-background)),
157
+ $text-color: var(--_grid-foreground),
158
+ $ghost-background: color-mix(in srgb, var(--_grid-foreground) 12%, var(--_grid-background)),
159
+ $ghost-text-color: var(--_grid-foreground),
160
+ $disabled-background: color-mix(in srgb, var(--_grid-foreground) 12%, var(--_grid-background)),
161
+ $disabled-text-color: color-mix(in srgb, var(--_grid-foreground) 50%, var(--_grid-background)),
162
+ $disabled-border-color: color-mix(in srgb, var(--_grid-foreground) 24%, var(--_grid-background)),
163
+ )
164
+ );
165
+
166
+ @include tokens(
167
+ column-actions-theme(
168
+ $schema: $schema,
169
+ $background-color: var(--_grid-background),
170
+ $title-color: var(--_grid-accent-color)
171
+ )
172
+ );
173
+
174
+ @include tokens(
175
+ drop-down-theme(
176
+ $schema: $schema,
177
+ $background-color: var(--_grid-background),
178
+ $item-text-color: var(--_grid-foreground),
179
+ $border-color: color-mix(in srgb, var(--_grid-foreground) 12%, var(--_grid-background)),
180
+ $hover-item-background: color-mix(in srgb, var(--_grid-accent-color) 8%, var(--_grid-background)),
181
+ $focused-item-background: color-mix(in srgb, var(--_grid-accent-color) 12%, var(--_grid-background)),
182
+ $selected-item-background: color-mix(in srgb, var(--_grid-accent-color) 12%, var(--_grid-background)),
183
+ $selected-hover-item-background: color-mix(in srgb, var(--_grid-accent-color) 16%, var(--_grid-background)),
184
+ $selected-focus-item-background: color-mix(in srgb, var(--_grid-accent-color) 24%, var(--_grid-background)),
185
+ )
186
+ );
187
+
188
+ @include tokens(
189
+ grid-summary-theme(
190
+ $schema: $schema,
191
+ $background-color: color-mix(in srgb, var(--_grid-foreground) 12%, var(--_grid-background)),
192
+ $border-color: color-mix(in srgb, var(--_grid-foreground) 20%, var(--_grid-background)),
193
+ $pinned-border-color: color-mix(in srgb, var(--_grid-foreground) 30%, var(--_grid-background)),
194
+ $label-color: var(--_grid-accent-color),
195
+ $result-color: var(--_grid-foreground)
196
+ )
197
+ );
198
+
199
+ @include tokens(
200
+ grid-toolbar-theme(
201
+ $schema: $schema,
202
+ $background-color: var(--_grid-background),
203
+ $title-text-color: var(--_grid-foreground),
204
+ $dropdown-background: var(--_grid-background),
205
+ $item-text-color: var(--_grid-foreground),
206
+ $item-hover-background: color-mix(in srgb, var(--_grid-accent-color) 8%, var(--_grid-background)),
207
+ $item-hover-text-color: var(--_grid-foreground),
208
+ $item-focus-background: color-mix(in srgb, var(--_grid-accent-color) 12%, var(--_grid-background)),
209
+ $item-focus-text-color: var(--_grid-foreground),
210
+ $border-color: color-mix(in srgb, var(--_grid-foreground) 20%, var(--_grid-background))
211
+ )
212
+ );
213
+
214
+ @include tokens(
215
+ highlight-theme(
216
+ $schema: $schema,
217
+ $resting-background: color-mix(in srgb, var(--_grid-foreground) 80%, var(--_grid-background)),
218
+ $active-background: var(--_grid-accent-color)
219
+ )
220
+ );
221
+
222
+ @include tokens(
223
+ flat-icon-button-theme(
224
+ $schema: $schema,
225
+ $foreground: var(--_grid-accent-color),
226
+ $disabled-background: transparent,
227
+ $disabled-foreground: color-mix(in srgb, var(--_grid-accent-color) 50%, var(--_grid-background)),
228
+ )
229
+ );
230
+
231
+ @include tokens(
232
+ outlined-icon-button-theme(
233
+ $schema: $schema,
234
+ $foreground: var(--_grid-accent-color),
235
+ $disabled-background: transparent,
236
+ $disabled-foreground: color-mix(in srgb, var(--_grid-accent-color) 50%, var(--_grid-background)),
237
+ $disabled-border-color: color-mix(in srgb, var(--_grid-accent-color) 50%, var(--_grid-background))
238
+ )
239
+ );
240
+
241
+ @if $variant == 'material' {
242
+ @include tokens(
243
+ input-group-theme(
244
+ $schema: $schema,
245
+ $box-background: var(--_grid-background),
246
+ $search-background: color-mix(in srgb, var(--_grid-foreground) 6%, var(--_grid-background)),
247
+ $idle-bottom-line-color: var(--_grid-accent-color),
248
+ $idle-secondary-color: var(--_grid-foreground),
249
+ $focused-secondary-color: var(--_grid-accent-color),
250
+ $border-color: var(--_grid-accent-color),
251
+ $idle-text-color: var(--_grid-foreground),
252
+ $placeholder-color: color-mix(in srgb, var(--_grid-foreground) 80%, var(--_grid-background)),
253
+ )
254
+ );
255
+ } @else if $variant == 'indigo' {
256
+ @include tokens(
257
+ input-group-theme(
258
+ $schema: $schema,
259
+ $idle-bottom-line-color: var(--_grid-accent-color),
260
+ $idle-text-color: var(--_grid-foreground),
261
+ $placeholder-color: color-mix(in srgb, var(--_grid-foreground) 80%, var(--_grid-background)),
262
+ )
263
+ );
264
+ } @else {
265
+ @include tokens(
266
+ input-group-theme(
267
+ $schema: $schema,
268
+ $border-color: var(--_grid-accent-color),
269
+ $idle-text-color: var(--_grid-foreground),
270
+ $placeholder-color: color-mix(in srgb, var(--_grid-foreground) 80%, var(--_grid-background)),
271
+ $input-prefix-background: var(--_grid-accent-color),
272
+ $border-disabled-background: transparent,
273
+ $disabled-border-color: color-mix(in srgb, var(--_grid-accent-color) 50%, transparent),
274
+ )
275
+ );
276
+ }
277
+
278
+ @include tokens(
279
+ list-theme(
280
+ $schema: $schema,
281
+ $background: var(--_grid-background),
282
+ $item-background-hover: color-mix(in srgb, var(--_grid-accent-color) 8%, var(--_grid-background))
283
+ )
284
+ );
285
+
286
+ @include tokens(
287
+ paginator-theme(
288
+ $schema: $schema,
289
+ $background-color: var(--_grid-background),
290
+ $text-color: var(--_grid-foreground),
291
+ $border-color: color-mix(in srgb, var(--_grid-foreground) 16%, var(--_grid-background)),
292
+ )
293
+ );
294
+
295
+ @include tokens(
296
+ progress-circular-theme(
297
+ $schema: $schema,
298
+ $track-color: color-mix(in srgb, var(--_grid-foreground) 12%, var(--_grid-background)),
299
+ $fill-color-default: var(--_grid-accent-color),
300
+ $text-color: var(--_grid-foreground)
301
+ )
302
+ );
303
+
304
+ @include tokens(
305
+ progress-linear-theme(
306
+ $schema: $schema,
307
+ $track-color: color-mix(in srgb, var(--_grid-foreground) 12%, var(--_grid-background)),
308
+ $fill-color-default: var(--_grid-accent-color),
309
+ $text-color: var(--_grid-foreground)
310
+ ),
311
+ );
312
+
313
+ @if $variant == 'bootstrap' {
314
+ @include tokens(
315
+ query-builder-theme(
316
+ $schema: $schema,
317
+ $background: var(--_grid-background),
318
+ $header-foreground: var(--_grid-foreground),
319
+ $header-border: color-mix(in srgb, var(--_grid-foreground) 20%, var(--_grid-background)),
320
+ )
321
+ );
322
+ } @else {
323
+ @include tokens(
324
+ query-builder-theme(
325
+ $schema: $schema,
326
+ $background: var(--_grid-background),
327
+ $header-foreground: var(--_grid-foreground),
328
+ )
329
+ );
330
+ }
331
+
332
+ $scrollbar-theme: digest-schema(map.get($schema, 'scrollbar'));
333
+ $scrollbar-bg-color: map.get($scrollbar-theme, 'sb-track-bg-color');
334
+ $scrollbar-thumb-color: map.get($scrollbar-theme, 'sb-thumb-bg-color');
335
+ $scrollbar-track-border-color: map.get($scrollbar-theme, 'sb-track-border-color');
336
+
337
+ --_scrollbar-thumb-color: color-mix(in srgb, var(--_grid-foreground) 50%, var(--_grid-background));
338
+ --_scrollbar-track-border-color: color-mix(in srgb, var(--_grid-foreground) 16%, var(--_grid-background));
339
+
340
+ @include tokens(
341
+ scrollbar-theme(
342
+ $schema: $schema,
343
+ $sb-track-bg-color: var(--_grid-background, $scrollbar-bg-color),
344
+ $sb-thumb-bg-color: var(--_scrollbar-thumb-color, $scrollbar-thumb-color),
345
+ $sb-track-border-color: var(--_scrollbar-track-border-color, $scrollbar-track-border-color),
346
+ ),
347
+ $mode: 'scoped'
348
+ );
349
+
350
+ @if $variant == 'indigo' {
351
+ @include tokens(
352
+ select-theme(
353
+ $schema: $schema,
354
+ $toggle-button-foreground: var(--_grid-accent-color),
355
+ $toggle-button-foreground-disabled: color-mix(in srgb, var(--_grid-accent-color) 50%, var(--_grid-background)),
356
+ )
357
+ );
358
+ } @else {
359
+ @include tokens(
360
+ select-theme(
361
+ $schema: $schema,
362
+ $toggle-button-background: var(--_grid-accent-color),
363
+ )
364
+ );
365
+ }
366
+
367
+ @include tokens(
368
+ tooltip-theme(
369
+ $schema: $schema,
370
+ $background: hsl(from var(--_grid-foreground) h s l / 80%)
371
+ ),
372
+ );
373
+
374
+ @include tokens(
375
+ tree-theme(
376
+ $schema: $schema,
377
+ $background: var(--_grid-background)
378
+ ),
379
+ );
380
+
381
+ @include tokens(
382
+ watermark-theme(
383
+ $schema: $schema,
384
+ $base-color: color-mix(in srgb, var(--_grid-accent-color) 50%, var(--_grid-background)),
385
+ $color: var(--_grid-foreground),
386
+ $border-color: color-mix(in srgb, var(--_grid-accent-color) 16%, var(--_grid-background))
387
+ )
388
+ );
389
+
390
+ }
391
+ }