igniteui-angular 18.2.3 → 18.2.4

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 (93) hide show
  1. package/esm2022/lib/avatar/avatar.component.mjs +17 -2
  2. package/esm2022/lib/checkbox/checkbox.component.mjs +73 -9
  3. package/esm2022/lib/core/utils.mjs +8 -1
  4. package/esm2022/lib/date-picker/date-picker.component.mjs +7 -3
  5. package/esm2022/lib/date-range-picker/date-range-picker.component.mjs +2 -2
  6. package/esm2022/lib/query-builder/query-builder.component.mjs +11 -6
  7. package/fesm2022/igniteui-angular.mjs +110 -15
  8. package/fesm2022/igniteui-angular.mjs.map +1 -1
  9. package/lib/avatar/avatar.component.d.ts +3 -1
  10. package/lib/checkbox/checkbox.component.d.ts +42 -2
  11. package/lib/core/styles/components/action-strip/_action-strip-component.scss +1 -1
  12. package/lib/core/styles/components/action-strip/_action-strip-theme.scss +1 -0
  13. package/lib/core/styles/components/avatar/_avatar-theme.scss +1 -0
  14. package/lib/core/styles/components/badge/_badge-theme.scss +1 -0
  15. package/lib/core/styles/components/banner/_banner-theme.scss +1 -0
  16. package/lib/core/styles/components/bottom-nav/_bottom-nav-theme.scss +1 -0
  17. package/lib/core/styles/components/button/_button-theme.scss +1 -0
  18. package/lib/core/styles/components/button-group/_button-group-theme.scss +1 -0
  19. package/lib/core/styles/components/calendar/_calendar-theme.scss +1 -0
  20. package/lib/core/styles/components/card/_card-theme.scss +1 -0
  21. package/lib/core/styles/components/carousel/_carousel-theme.scss +6 -5
  22. package/lib/core/styles/components/checkbox/_checkbox-component.scss +76 -14
  23. package/lib/core/styles/components/checkbox/_checkbox-theme.scss +98 -109
  24. package/lib/core/styles/components/chip/_chip-theme.scss +1 -0
  25. package/lib/core/styles/components/column-actions/_column-actions-theme.scss +1 -0
  26. package/lib/core/styles/components/combo/_combo-theme.scss +1 -0
  27. package/lib/core/styles/components/dialog/_dialog-theme.scss +1 -0
  28. package/lib/core/styles/components/divider/_divider-theme.scss +1 -0
  29. package/lib/core/styles/components/drop-down/_drop-down-theme.scss +1 -0
  30. package/lib/core/styles/components/expansion-panel/_expansion-panel-theme.scss +1 -0
  31. package/lib/core/styles/components/grid/_grid-component.scss +1 -0
  32. package/lib/core/styles/components/grid/_grid-theme.scss +4 -3
  33. package/lib/core/styles/components/grid/_pivot-data-selector-theme.scss +1 -0
  34. package/lib/core/styles/components/grid-summary/_grid-summary-theme.scss +1 -0
  35. package/lib/core/styles/components/grid-toolbar/_grid-toolbar-theme.scss +1 -0
  36. package/lib/core/styles/components/highlight/highlight-theme.scss +1 -0
  37. package/lib/core/styles/components/icon/_icon-theme.scss +2 -1
  38. package/lib/core/styles/components/icon-button/_icon-button-theme.scss +1 -0
  39. package/lib/core/styles/components/label/_label-theme.scss +1 -0
  40. package/lib/core/styles/components/list/_list-theme.scss +8 -53
  41. package/lib/core/styles/components/navbar/_navbar-theme.scss +1 -0
  42. package/lib/core/styles/components/navdrawer/_navdrawer-theme.scss +1 -0
  43. package/lib/core/styles/components/overlay/_overlay-theme.scss +1 -0
  44. package/lib/core/styles/components/paginator/_paginator-component.scss +1 -1
  45. package/lib/core/styles/components/paginator/_paginator-theme.scss +1 -0
  46. package/lib/core/styles/components/progress/_progress-theme.scss +2 -0
  47. package/lib/core/styles/components/query-builder/_query-builder-component.scss +9 -1
  48. package/lib/core/styles/components/query-builder/_query-builder-theme.scss +1 -0
  49. package/lib/core/styles/components/radio/_radio-theme.scss +1 -0
  50. package/lib/core/styles/components/ripple/_ripple-theme.scss +2 -1
  51. package/lib/core/styles/components/scrollbar/scrollbar-theme.scss +1 -0
  52. package/lib/core/styles/components/select/_select-theme.scss +1 -0
  53. package/lib/core/styles/components/slider/_slider-theme.scss +1 -0
  54. package/lib/core/styles/components/snackbar/_snackbar-theme.scss +1 -0
  55. package/lib/core/styles/components/splitter/_splitter-theme.scss +1 -0
  56. package/lib/core/styles/components/stepper/_stepper-theme.scss +1 -0
  57. package/lib/core/styles/components/switch/_switch-theme.scss +1 -0
  58. package/lib/core/styles/components/tabs/_tabs-theme.scss +21 -15
  59. package/lib/core/styles/components/time-picker/_time-picker-theme.scss +1 -0
  60. package/lib/core/styles/components/toast/_toast-theme.scss +1 -0
  61. package/lib/core/styles/components/tooltip/_tooltip-theme.scss +1 -0
  62. package/lib/core/styles/components/tree/_tree-theme.scss +1 -0
  63. package/lib/core/styles/components/watermark/_watermark-theme.scss +1 -0
  64. package/lib/core/styles/typography/_indigo.scss +3 -1
  65. package/lib/core/utils.d.ts +5 -0
  66. package/lib/date-picker/date-picker.component.d.ts +2 -1
  67. package/package.json +1 -1
  68. package/styles/igniteui-angular-dark.css +1 -1
  69. package/styles/igniteui-angular.css +1 -1
  70. package/styles/igniteui-bootstrap-dark.css +1 -1
  71. package/styles/igniteui-bootstrap-light.css +1 -1
  72. package/styles/igniteui-dark-green.css +1 -1
  73. package/styles/igniteui-fluent-dark-excel.css +1 -1
  74. package/styles/igniteui-fluent-dark-word.css +1 -1
  75. package/styles/igniteui-fluent-dark.css +1 -1
  76. package/styles/igniteui-fluent-light-excel.css +1 -1
  77. package/styles/igniteui-fluent-light-word.css +1 -1
  78. package/styles/igniteui-fluent-light.css +1 -1
  79. package/styles/igniteui-indigo-dark.css +1 -1
  80. package/styles/igniteui-indigo-light.css +1 -1
  81. package/styles/maps/igniteui-angular-dark.css.map +1 -1
  82. package/styles/maps/igniteui-angular.css.map +1 -1
  83. package/styles/maps/igniteui-bootstrap-dark.css.map +1 -1
  84. package/styles/maps/igniteui-bootstrap-light.css.map +1 -1
  85. package/styles/maps/igniteui-dark-green.css.map +1 -1
  86. package/styles/maps/igniteui-fluent-dark-excel.css.map +1 -1
  87. package/styles/maps/igniteui-fluent-dark-word.css.map +1 -1
  88. package/styles/maps/igniteui-fluent-dark.css.map +1 -1
  89. package/styles/maps/igniteui-fluent-light-excel.css.map +1 -1
  90. package/styles/maps/igniteui-fluent-light-word.css.map +1 -1
  91. package/styles/maps/igniteui-fluent-light.css.map +1 -1
  92. package/styles/maps/igniteui-indigo-dark.css.map +1 -1
  93. package/styles/maps/igniteui-indigo-light.css.map +1 -1
@@ -148,7 +148,8 @@ export declare class IgxAvatarComponent implements OnInit {
148
148
  * ```
149
149
  * @igxFriendlyName Image URL
150
150
  */
151
- src: string;
151
+ set src(value: string);
152
+ get src(): string;
152
153
  /** @hidden @internal */
153
154
  protected defaultTemplate: TemplateRef<any>;
154
155
  /** @hidden @internal */
@@ -162,6 +163,7 @@ export declare class IgxAvatarComponent implements OnInit {
162
163
  * @internal
163
164
  */
164
165
  private _size;
166
+ private _src;
165
167
  /**
166
168
  * Returns the size of the avatar.
167
169
  *
@@ -223,6 +223,42 @@ export declare class IgxCheckboxComponent implements EditorProvider, AfterViewIn
223
223
  * ```
224
224
  */
225
225
  cssClass: string;
226
+ /**
227
+ * Returns if the component is of type `material`.
228
+ *
229
+ * @example
230
+ * ```typescript
231
+ * let checkbox = this.checkbox.material;
232
+ * ```
233
+ */
234
+ protected get material(): boolean;
235
+ /**
236
+ * Returns if the component is of type `indigo`.
237
+ *
238
+ * @example
239
+ * ```typescript
240
+ * let checkbox = this.checkbox.indigo;
241
+ * ```
242
+ */
243
+ protected get indigo(): boolean;
244
+ /**
245
+ * Returns if the component is of type `bootstrap`.
246
+ *
247
+ * @example
248
+ * ```typescript
249
+ * let checkbox = this.checkbox.bootstrap;
250
+ * ```
251
+ */
252
+ protected get bootstrap(): boolean;
253
+ /**
254
+ * Returns if the component is of type `fluent`.
255
+ *
256
+ * @example
257
+ * ```typescript
258
+ * let checkbox = this.checkbox.fluent;
259
+ * ```
260
+ */
261
+ protected get fluent(): boolean;
226
262
  /**
227
263
  * Sets/gets whether the checkbox component is on focus.
228
264
  * Default value is `false`.
@@ -337,12 +373,16 @@ export declare class IgxCheckboxComponent implements EditorProvider, AfterViewIn
337
373
  * @hidden
338
374
  * @internal
339
375
  */
340
- private _required;
376
+ protected theme: IgxTheme;
341
377
  /**
342
378
  * @hidden
343
379
  * @internal
344
380
  */
345
- protected theme: IgxTheme;
381
+ private _required;
382
+ private elRef;
383
+ private _theme$;
384
+ private _subscription;
385
+ private destroyRef;
346
386
  constructor(cdr: ChangeDetectorRef, renderer: Renderer2, themeService: ThemeService, ngControl: NgControl);
347
387
  /**
348
388
  * @hidden
@@ -10,7 +10,7 @@
10
10
  @include register-component(
11
11
  $name: string.slice($this, 2, -1),
12
12
  $deps: (
13
- igx-button,
13
+ igx-icon-button,
14
14
  igx-drop-down,
15
15
  igx-icon,
16
16
  )
@@ -58,6 +58,7 @@
58
58
  icon-color: $icon-color,
59
59
  delete-action: $delete-action,
60
60
  actions-border-radius: $actions-border-radius,
61
+ theme: map.get($schema, '_meta', 'theme'),
61
62
  _meta: map.merge(if($meta, $meta, ()), (
62
63
  variant: map.get($schema, '_meta', 'theme')
63
64
  )),
@@ -54,6 +54,7 @@
54
54
  icon-color: $icon-color,
55
55
  border-radius: $border-radius,
56
56
  size: $size,
57
+ theme: map.get($schema, '_meta', 'theme'),
57
58
  _meta: map.merge(if($meta, $meta, ()), (
58
59
  variant: map.get($schema, '_meta', 'theme')
59
60
  )),
@@ -73,6 +73,7 @@
73
73
  border-radius: $border-radius,
74
74
  background-color: $background-color,
75
75
  shadow: $shadow,
76
+ theme: map.get($schema, '_meta', 'theme'),
76
77
  _meta: map.merge(if($meta, $meta, ()), (
77
78
  variant: map.get($schema, '_meta', 'theme'),
78
79
  )),
@@ -57,6 +57,7 @@
57
57
  banner-border-color: $banner-border-color,
58
58
  banner-illustration-color: $banner-illustration-color,
59
59
  border-radius: $border-radius,
60
+ theme: map.get($schema, '_meta', 'theme'),
60
61
  _meta: map.merge(if($meta, $meta, ()), (
61
62
  variant: map.get($schema, '_meta', 'theme')
62
63
  )),
@@ -107,6 +107,7 @@
107
107
  label-disabled-color: $label-disabled-color,
108
108
  border-color: $border-color,
109
109
  shadow: $shadow,
110
+ theme: map.get($schema, '_meta', 'theme'),
110
111
  _meta: map.merge(if($meta, $meta, ()), (
111
112
  variant: map.get($schema, '_meta', 'theme'),
112
113
  theme-variant: map.get($schema, '_meta', 'variant')
@@ -244,6 +244,7 @@
244
244
  disabled-icon-color: $disabled-icon-color,
245
245
  disabled-border-color: $disabled-border-color,
246
246
  size: $size,
247
+ theme: map.get($schema, '_meta', 'theme'),
247
248
  ))
248
249
  ));
249
250
  }
@@ -208,6 +208,7 @@
208
208
  shadow: $shadow,
209
209
  idle-shadow-color: $idle-shadow-color,
210
210
  selected-shadow-color: $selected-shadow-color,
211
+ theme: map.get($schema, '_meta', 'theme'),
211
212
  _meta: map.merge(if($meta, $meta, ()), (
212
213
  variant: map.get($schema, '_meta', 'theme')
213
214
  )),
@@ -693,6 +693,7 @@
693
693
  actions-divider-color: $actions-divider-color,
694
694
  size: $size,
695
695
  inner-size: $inner-size,
696
+ theme: map.get($schema, '_meta', 'theme'),
696
697
  _meta: map.merge(if($meta, $meta, ()), (
697
698
  variant: map.get($schema, '_meta', 'theme')
698
699
  )),
@@ -99,6 +99,7 @@
99
99
  actions-text-color: $actions-text-color,
100
100
  resting-shadow: $resting-shadow,
101
101
  hover-shadow: $hover-shadow,
102
+ theme: map.get($schema, '_meta', 'theme'),
102
103
  _meta: map.merge(if($meta, $meta, ()), (
103
104
  variant: map.get($schema, '_meta', 'theme')
104
105
  )),
@@ -123,6 +123,7 @@
123
123
  indicator-active-dot-color: $indicator-active-dot-color,
124
124
  indicator-active-border-color: $indicator-active-border-color,
125
125
  indicator-active-hover-dot-color: $indicator-active-hover-dot-color,
126
+ theme: map.get($schema, '_meta', 'theme'),
126
127
  _meta: map.merge(if($meta, $meta, ()), (
127
128
  variant: map.get($schema, '_meta', 'theme')
128
129
  )),
@@ -561,17 +562,17 @@
561
562
  transform: rotate(90deg);
562
563
  }
563
564
  }
564
-
565
+
565
566
  %igx-carousel-arrow--prev {
566
567
  inset-block-start: 0;
567
568
  margin-block-start: rem(16px);
568
569
  }
569
-
570
+
570
571
  %igx-carousel-arrow--next {
571
572
  inset-block-end: 0;
572
573
  margin-block-end: rem(16px);
573
574
  }
574
-
575
+
575
576
  %igx-carousel-indicators {
576
577
  inset-inline-end: 0;
577
578
  inset-inline-start: unset;
@@ -601,12 +602,12 @@
601
602
  margin-inline-end: rem(16px);
602
603
  padding: rem(6px);
603
604
  }
604
-
605
+
605
606
  %igx-carousel-label-indicator {
606
607
  padding: rem(4px) rem(6px);
607
608
  margin-inline-end: rem(16px);
608
609
  }
609
-
610
+
610
611
  %igx-carousel-indicators--top {
611
612
  margin-inline-start: rem(16px);
612
613
  }
@@ -18,17 +18,9 @@
18
18
  @extend %cbx-ripple--hover !optional;
19
19
  }
20
20
 
21
- @include e(composite) {
22
- @extend %cbx-composite--hover !optional;
23
- }
24
-
25
21
  @include e(composite-mark) {
26
22
  @extend %cbx-composite-mark--fluent !optional;
27
23
  }
28
-
29
- @include e(label) {
30
- @extend %cbx-label--hover !optional;
31
- }
32
24
  }
33
25
 
34
26
  &:active {
@@ -68,6 +60,32 @@
68
60
  @extend %cbx-ripple !optional;
69
61
  }
70
62
 
63
+ @include m(bootstrap) {
64
+ @include e(composite) {
65
+ &:hover {
66
+ @extend %cbx-composite--hover !optional;
67
+ }
68
+ }
69
+ }
70
+
71
+ @include m(indigo) {
72
+ @include e(composite) {
73
+ &:hover {
74
+ @extend %cbx-composite--hover !optional;
75
+ }
76
+ }
77
+
78
+ @include e(composite-mark) {
79
+ @extend %cbx-composite-mark-indigo !optional;
80
+ }
81
+
82
+ @include e(label) {
83
+ &:hover {
84
+ @extend %cbx-label--hover !optional;
85
+ }
86
+ }
87
+ }
88
+
71
89
  @include m(invalid) {
72
90
  @include e(composite) {
73
91
  @extend %cbx-composite--invalid !optional;
@@ -127,26 +145,54 @@
127
145
  }
128
146
 
129
147
  &:hover {
130
- @extend %igx-checkbox--focused-hovered !optional;
131
-
132
148
  @include e(ripple) {
133
149
  @extend %cbx-ripple--focused !optional;
134
150
  }
135
151
  }
136
152
  }
137
153
 
154
+ @include mx(indigo, focused) {
155
+ @extend %igx-checkbox--focused-indigo !optional;
156
+ }
157
+
158
+ @include mx(fluent, focused) {
159
+ @extend %igx-checkbox--focused-fluent !optional;
160
+ }
161
+
162
+ @include mx(bootstrap, focused) {
163
+ @extend %igx-checkbox--focused-bootstrap !optional;
164
+
165
+ &:hover {
166
+ @extend %igx-checkbox--focused-hovered !optional;
167
+ }
168
+ }
169
+
170
+ @include mx(indigo, focused, checked) {
171
+ @extend %igx-checkbox--focused-checked-indigo !optional;
172
+ }
173
+
174
+ @include mx(bootstrap, focused, checked) {
175
+ @extend %igx-checkbox--focused-checked-bootstrap !optional;
176
+ }
177
+
138
178
  @include mx(focused, checked) {
139
179
  @extend %igx-checkbox--focused-checked !optional;
140
180
  }
141
181
 
142
182
  @include mx(focused, invalid) {
143
- @extend %igx-checkbox--focused-invalid !optional;
144
-
145
183
  @include e(ripple) {
146
184
  @extend %cbx-ripple--focused-invalid !optional;
147
185
  }
148
186
  }
149
187
 
188
+ @include mx(indigo, focused, invalid) {
189
+ @extend %igx-checkbox--focused-invalid-indigo !optional;
190
+ }
191
+
192
+ @include mx(bootstrap, focused, invalid) {
193
+ @extend %igx-checkbox--focused-invalid-bootstrap !optional;
194
+ }
195
+
150
196
  @include m(indeterminate) {
151
197
  @extend %igx-checkbox--indeterminate !optional;
152
198
 
@@ -178,6 +224,18 @@
178
224
  }
179
225
  }
180
226
 
227
+ @include mx(indigo, indeterminate) {
228
+ @extend %igx-checkbox--indeterminate-indigo !optional;
229
+ }
230
+
231
+ @include mx(fluent, indeterminate) {
232
+ @extend %igx-checkbox--indeterminate-fluent !optional;
233
+ }
234
+
235
+ @include mx(material, indeterminate) {
236
+ @extend %igx-checkbox--indeterminate-material !optional;
237
+ }
238
+
181
239
  @include mx(invalid, indeterminate) {
182
240
  @extend %igx-checkbox--indeterminate--invalid !optional;
183
241
 
@@ -188,8 +246,12 @@
188
246
  }
189
247
  }
190
248
 
191
- @include mx(focused, indeterminate) {
192
- @extend %igx-checkbox--focused-checked !optional;
249
+ @include mx(indigo, focused, indeterminate) {
250
+ @extend %igx-checkbox--focused-checked-indigo !optional;
251
+ }
252
+
253
+ @include mx(bootstrap, focused, indeterminate) {
254
+ @extend %igx-checkbox--focused-checked-bootstrap !optional;
193
255
  }
194
256
 
195
257
  @include m(checked) {
@@ -90,6 +90,7 @@
90
90
  focus-outline-color: $focus-outline-color,
91
91
  error-color: $error-color,
92
92
  error-color-hover: $error-color-hover,
93
+ theme: map.get($schema, '_meta', 'theme'),
93
94
  _meta: map.merge(if($meta, $meta, ()), (
94
95
  variant: map.get($schema, '_meta', 'theme'),
95
96
  theme-variant: map.get($schema, '_meta', 'variant')
@@ -151,9 +152,9 @@
151
152
  ), $variant);
152
153
 
153
154
  $mark-offset: map.get((
154
- 'material': .5px,
155
+ 'material': 0,
155
156
  'fluent': -1px,
156
- 'bootstrap': .5px,
157
+ 'bootstrap': 1px,
157
158
  'indigo': 1px,
158
159
  ), $variant);
159
160
 
@@ -222,9 +223,7 @@
222
223
  }
223
224
 
224
225
  %cbx-composite--hover {
225
- @if $variant == 'indigo' or $variant == 'bootstrap' {
226
- border-color: var-get($theme, 'empty-color-hover');
227
- }
226
+ border-color: var-get($theme, 'empty-color-hover');
228
227
  }
229
228
 
230
229
  %cbx-composite--x {
@@ -302,30 +301,30 @@
302
301
  fill: none;
303
302
  opacity: 0;
304
303
  z-index: 1;
304
+ }
305
305
 
306
- @if $variant == 'material' {
307
- inset-inline-start: -.5px;
308
- }
306
+ %cbx-composite-mark-material {
307
+ inset-inline-start: -.5px;
308
+ }
309
309
 
310
- @if $variant == 'indigo' {
311
- stroke: unset;
312
- stroke-linecap: unset;
313
- stroke-width: unset;
314
- stroke-dasharray: unset;
315
- stroke-dashoffset: unset;
316
- fill: var-get($theme, 'tick-color');
317
- transition: none !important;
310
+ %cbx-composite-mark-indigo {
311
+ stroke: unset;
312
+ stroke-linecap: unset;
313
+ stroke-width: unset;
314
+ stroke-dasharray: unset;
315
+ stroke-dashoffset: unset;
316
+ fill: var-get($theme, 'tick-color');
317
+ transition: none !important;
318
318
 
319
- rect {
320
- fill: none;
321
- }
319
+ rect {
320
+ fill: none;
322
321
  }
323
322
  }
324
323
 
325
324
  %igx-checkbox--indeterminate {
326
325
  %cbx-composite-mark {
327
326
  top: $mark-offset;
328
- inset-inline-start: $mark-offset;
327
+ margin-inline-start: $mark-offset;
329
328
  }
330
329
 
331
330
  &:hover {
@@ -343,55 +342,55 @@
343
342
  }
344
343
  }
345
344
  }
345
+ }
346
346
 
347
- @if $variant == 'material' {
348
- %cbx-composite--x--disabled {
349
- border-color: var-get($theme, 'disabled-indeterminate-color');
350
- background: var-get($theme, 'disabled-indeterminate-color');
347
+ %igx-checkbox--indeterminate-indigo {
348
+ %cbx-composite-mark {
349
+ fill: none;
350
+ stroke-dashoffset: unset !important;
351
+ transform: none !important;
352
+
353
+ rect {
354
+ fill: var-get($theme, 'tick-color');
355
+ opacity: 1;
351
356
  }
352
357
  }
358
+ }
353
359
 
354
- @if $variant == 'fluent' {
355
- %cbx-composite-mark {
356
- stroke: transparent;
357
- }
360
+ %igx-checkbox--indeterminate-fluent {
361
+ %cbx-composite-mark {
362
+ stroke: transparent;
363
+ }
358
364
 
359
- %cbx-composite {
360
- background: transparent;
365
+ %cbx-composite {
366
+ background: transparent;
361
367
 
362
- &::before {
363
- content: '';
364
- position: absolute;
365
- top: calc($size / 2 - rem(6px));
366
- inset-inline-start: calc($size / 2 - rem(6px));
367
- width: rem(10px);
368
- height: rem(10px);
369
- border-radius: border-radius(rem(2px));
370
- background: var-get($theme, 'fill-color');
371
- z-index: 1;
372
- }
368
+ &::before {
369
+ content: '';
370
+ position: absolute;
371
+ top: calc($size / 2 - rem(6px));
372
+ inset-inline-start: calc($size / 2 - rem(6px));
373
+ width: rem(10px);
374
+ height: rem(10px);
375
+ border-radius: border-radius(rem(2px));
376
+ background: var-get($theme, 'fill-color');
377
+ z-index: 1;
373
378
  }
379
+ }
374
380
 
375
- %cbx-composite--x--disabled {
376
- background: transparent;
381
+ %cbx-composite--x--disabled {
382
+ background: transparent;
377
383
 
378
- &::before {
379
- background: var-get($theme, 'disabled-color');
380
- }
384
+ &::before {
385
+ background: var-get($theme, 'disabled-color');
381
386
  }
382
387
  }
388
+ }
383
389
 
384
- @if $variant == 'indigo' {
385
- %cbx-composite-mark {
386
- fill: none;
387
- stroke-dashoffset: unset !important;
388
- transform: none !important;
389
-
390
- rect {
391
- fill: var-get($theme, 'tick-color');
392
- opacity: 1;
393
- }
394
- }
390
+ %igx-checkbox--indeterminate-material {
391
+ %cbx-composite--x--disabled {
392
+ border-color: var-get($theme, 'disabled-indeterminate-color');
393
+ background: var-get($theme, 'disabled-indeterminate-color');
395
394
  }
396
395
  }
397
396
 
@@ -488,9 +487,7 @@
488
487
  }
489
488
 
490
489
  %cbx-label--hover {
491
- @if $variant == 'indigo' {
492
- color: var-get($theme, 'label-color-hover');
493
- }
490
+ color: var-get($theme, 'label-color-hover');
494
491
  }
495
492
 
496
493
  %cbx-label-pos--before,
@@ -549,75 +546,67 @@
549
546
  background: var-get($theme, 'error-color');
550
547
  }
551
548
 
552
- %igx-checkbox--focused {
553
- @if $variant == 'fluent' {
554
- position: relative;
555
- $focus-outline-offset: rem(2px);
556
-
557
- &::after {
558
- content: '';
559
- position: absolute;
560
- inset: -$focus-outline-offset;
561
- box-shadow: 0 0 0 rem(1px) var-get($theme, 'focus-outline-color');
562
- }
549
+ %igx-checkbox--focused-indigo {
550
+ %cbx-composite {
551
+ border-radius: var-get($theme, 'border-radius');
552
+ box-shadow: 0 0 0 rem(3px) var-get($theme, 'focus-outline-color');
563
553
  }
554
+ }
564
555
 
565
- @if $variant == 'bootstrap' {
566
- %cbx-composite {
567
- border-radius: var-get($theme, 'border-radius');
568
- border-color: color($color: 'primary', $variant: 200);
569
- box-shadow: 0 0 0 rem(4px) var-get($theme, 'focus-outline-color');
570
- }
556
+ %igx-checkbox--focused-fluent {
557
+ position: relative;
558
+ $focus-outline-offset: rem(2px);
559
+
560
+ &::after {
561
+ content: '';
562
+ position: absolute;
563
+ inset: -$focus-outline-offset;
564
+ box-shadow: 0 0 0 rem(1px) var-get($theme, 'focus-outline-color');
571
565
  }
566
+ }
572
567
 
573
- @if $variant == 'indigo' {
574
- %cbx-composite {
575
- border-radius: var-get($theme, 'border-radius');
576
- box-shadow: 0 0 0 rem(3px) var-get($theme, 'focus-outline-color');
577
- }
568
+ %igx-checkbox--focused-bootstrap {
569
+ %cbx-composite {
570
+ border-radius: var-get($theme, 'border-radius');
571
+ border-color: color($color: 'primary', $variant: 200);
572
+ box-shadow: 0 0 0 rem(4px) var-get($theme, 'focus-outline-color');
578
573
  }
579
574
  }
580
575
 
581
576
  %igx-checkbox--focused-hovered {
582
- @if $variant == 'bootstrap' {
583
- %cbx-composite {
584
- border-color: color($color: 'primary', $variant: 300);
585
- }
577
+ %cbx-composite {
578
+ border-color: color($color: 'primary', $variant: 300);
586
579
  }
587
580
  }
588
581
 
589
- %igx-checkbox--focused-checked {
590
- @if $variant == 'indigo' {
591
- %cbx-composite {
592
- border-radius: var-get($theme, 'border-radius');
593
- box-shadow: 0 0 0 rem(3px) var-get($theme, 'focus-outline-color-focused');
594
- }
582
+ %igx-checkbox--focused-checked-indigo {
583
+ %cbx-composite {
584
+ border-radius: var-get($theme, 'border-radius');
585
+ box-shadow: 0 0 0 rem(3px) var-get($theme, 'focus-outline-color-focused');
595
586
  }
587
+ }
596
588
 
597
- @if $variant == 'bootstrap' {
598
- %cbx-composite {
599
- border-color: transparent;
600
- }
589
+ %igx-checkbox--focused-checked-bootstrap {
590
+ %cbx-composite {
591
+ border-color: transparent;
601
592
  }
602
593
  }
603
594
 
604
- %igx-checkbox--focused-invalid {
605
- @if $variant == 'bootstrap' {
606
- %cbx-composite {
607
- border-color: var-get($theme, 'error-color');
608
- box-shadow: 0 0 0 rem(4px) var-get($theme, 'focus-outline-color-error');
609
- }
595
+ %igx-checkbox--focused-invalid-indigo {
596
+ %cbx-composite {
597
+ box-shadow: 0 0 0 rem(3px) var-get($theme, 'focus-outline-color-error');
598
+ }
599
+ }
610
600
 
611
- &:hover {
612
- %cbx-composite {
613
- border-color: var-get($theme, 'error-color-hover');
614
- }
615
- }
601
+ %igx-checkbox--focused-invalid-bootstrap {
602
+ %cbx-composite {
603
+ border-color: var-get($theme, 'error-color');
604
+ box-shadow: 0 0 0 rem(4px) var-get($theme, 'focus-outline-color-error');
616
605
  }
617
606
 
618
- @if $variant == 'indigo' {
607
+ &:hover {
619
608
  %cbx-composite {
620
- box-shadow: 0 0 0 rem(3px) var-get($theme, 'focus-outline-color-error');
609
+ border-color: var-get($theme, 'error-color-hover');
621
610
  }
622
611
  }
623
612
  }
@@ -242,6 +242,7 @@
242
242
  remove-icon-color-focus: $remove-icon-color-focus,
243
243
  focus-selected-outline-color: $focus-selected-outline-color,
244
244
  focus-outline-color: $focus-outline-color,
245
+ theme: map.get($schema, '_meta', 'theme'),
245
246
  _meta: map.merge(if($meta, $meta, ()), (
246
247
  variant: map.get($schema, '_meta', 'theme'),
247
248
  theme-variant: map.get($schema, '_meta', 'variant')
@@ -50,6 +50,7 @@
50
50
  elevations: $elevations,
51
51
  title-color: $title-color,
52
52
  background-color: $background-color,
53
+ theme: map.get($schema, '_meta', 'theme'),
53
54
  _meta: map.merge(if($meta, $meta, ()), (
54
55
  variant: map.get($schema, '_meta', 'theme'),
55
56
  )),