igniteui-angular 21.2.0-beta.1 → 21.2.0-rc.0

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 (53) hide show
  1. package/fesm2022/igniteui-angular-core.mjs.map +1 -1
  2. package/fesm2022/igniteui-angular-date-picker.mjs +2 -6
  3. package/fesm2022/igniteui-angular-date-picker.mjs.map +1 -1
  4. package/fesm2022/igniteui-angular-grids-core.mjs +13 -23
  5. package/fesm2022/igniteui-angular-grids-core.mjs.map +1 -1
  6. package/fesm2022/igniteui-angular-grids-grid.mjs +16 -46
  7. package/fesm2022/igniteui-angular-grids-grid.mjs.map +1 -1
  8. package/fesm2022/igniteui-angular-grids-hierarchical-grid.mjs +4 -15
  9. package/fesm2022/igniteui-angular-grids-hierarchical-grid.mjs.map +1 -1
  10. package/fesm2022/igniteui-angular-grids-pivot-grid.mjs +6 -2
  11. package/fesm2022/igniteui-angular-grids-pivot-grid.mjs.map +1 -1
  12. package/fesm2022/igniteui-angular-grids-tree-grid.mjs +4 -4
  13. package/fesm2022/igniteui-angular-grids-tree-grid.mjs.map +1 -1
  14. package/fesm2022/igniteui-angular-query-builder.mjs +3 -47
  15. package/fesm2022/igniteui-angular-query-builder.mjs.map +1 -1
  16. package/lib/core/styles/components/grid/_grid-component.scss +0 -8
  17. package/lib/core/styles/components/grid/_grid-theme.scss +27 -63
  18. package/lib/core/styles/components/splitter/_splitter-component.scss +27 -1
  19. package/lib/core/styles/components/splitter/_splitter-theme.scss +88 -41
  20. package/package.json +1 -1
  21. package/styles/igniteui-angular-dark.css +1 -1
  22. package/styles/igniteui-angular.css +1 -1
  23. package/styles/igniteui-bootstrap-dark.css +1 -1
  24. package/styles/igniteui-bootstrap-light.css +1 -1
  25. package/styles/igniteui-dark-green.css +1 -1
  26. package/styles/igniteui-fluent-dark-excel.css +1 -1
  27. package/styles/igniteui-fluent-dark-word.css +1 -1
  28. package/styles/igniteui-fluent-dark.css +1 -1
  29. package/styles/igniteui-fluent-light-excel.css +1 -1
  30. package/styles/igniteui-fluent-light-word.css +1 -1
  31. package/styles/igniteui-fluent-light.css +1 -1
  32. package/styles/igniteui-indigo-dark.css +1 -1
  33. package/styles/igniteui-indigo-light.css +1 -1
  34. package/styles/maps/igniteui-angular-dark.css.map +1 -1
  35. package/styles/maps/igniteui-angular.css.map +1 -1
  36. package/styles/maps/igniteui-bootstrap-dark.css.map +1 -1
  37. package/styles/maps/igniteui-bootstrap-light.css.map +1 -1
  38. package/styles/maps/igniteui-dark-green.css.map +1 -1
  39. package/styles/maps/igniteui-fluent-dark-excel.css.map +1 -1
  40. package/styles/maps/igniteui-fluent-dark-word.css.map +1 -1
  41. package/styles/maps/igniteui-fluent-dark.css.map +1 -1
  42. package/styles/maps/igniteui-fluent-light-excel.css.map +1 -1
  43. package/styles/maps/igniteui-fluent-light-word.css.map +1 -1
  44. package/styles/maps/igniteui-fluent-light.css.map +1 -1
  45. package/styles/maps/igniteui-indigo-dark.css.map +1 -1
  46. package/styles/maps/igniteui-indigo-light.css.map +1 -1
  47. package/types/igniteui-angular-core.d.ts +10 -10
  48. package/types/igniteui-angular-date-picker.d.ts +2 -37
  49. package/types/igniteui-angular-grids-core.d.ts +1 -5
  50. package/types/igniteui-angular-grids-grid.d.ts +1 -16
  51. package/types/igniteui-angular-grids-hierarchical-grid.d.ts +0 -4
  52. package/types/igniteui-angular-grids-pivot-grid.d.ts +1 -0
  53. package/types/igniteui-angular-query-builder.d.ts +1 -24
@@ -458,14 +458,6 @@
458
458
  @extend %igx-grid__outlet !optional;
459
459
  }
460
460
 
461
- @include e(loading-outlet) {
462
- @extend %igx-grid__loading-outlet !optional;
463
- }
464
-
465
- @include e(row-editing-outlet) {
466
- @extend %igx-grid__row-editing-outlet !optional;
467
- }
468
-
469
461
  @include e(addrow-snackbar) {
470
462
  @extend %igx-grid__addrow-snackbar !optional;
471
463
  }
@@ -6,8 +6,8 @@
6
6
 
7
7
  @mixin _filtering-scroll-mask($theme, $dir) {
8
8
  display: block;
9
- position: absolute;
10
- width: rem(10px);
9
+ position: sticky;
10
+ min-width: rem(10px);
11
11
  content: '';
12
12
  inset-block: rem(-2px);
13
13
  background: linear-gradient(to #{$dir}, var-get($theme, 'filtering-row-background'), transparent);
@@ -2335,35 +2335,6 @@
2335
2335
 
2336
2336
  %igx-grid__outlet {
2337
2337
  --ig-size: var(--grid-size);
2338
-
2339
- z-index: 10002;
2340
- position: fixed;
2341
- }
2342
-
2343
- %igx-grid__loading-outlet {
2344
- width: 100%;
2345
- height: 100%;
2346
- z-index: -1;
2347
- position: absolute;
2348
-
2349
- > %overlay-wrapper--modal {
2350
- background: none;
2351
- }
2352
-
2353
- %circular-display {
2354
- width: rem(50);
2355
- height: rem(50);
2356
- }
2357
- }
2358
-
2359
- %igx-grid__row-editing-outlet {
2360
- z-index: 10000;
2361
- position: absolute;
2362
-
2363
- %overlay-wrapper {
2364
- /* Change wrapper position from 'fixed' to 'absolute' so that it is hidden when scrolled below the parent grid body content. */
2365
- position: absolute;
2366
- }
2367
2338
  }
2368
2339
 
2369
2340
  %igx-grid__addrow-snackbar {
@@ -2507,6 +2478,7 @@
2507
2478
  display: flex;
2508
2479
  flex: 1;
2509
2480
  overflow: hidden;
2481
+ position: relative;
2510
2482
  max-width: calc(100% - 176px);
2511
2483
  min-width: rem(56px);
2512
2484
 
@@ -2526,9 +2498,6 @@
2526
2498
  igx-icon {
2527
2499
  position: absolute;
2528
2500
  inset-inline-start: rem(12px);
2529
- // IE fix for vertical alignment
2530
- top: 50%;
2531
- transform: translateY(-50%);
2532
2501
  }
2533
2502
 
2534
2503
  span {
@@ -2538,48 +2507,43 @@
2538
2507
  }
2539
2508
  }
2540
2509
 
2541
- %igx-grid__filtering-scroll-start {
2542
- &::after {
2543
- @include _filtering-scroll-mask($theme, right);
2544
- inset-inline-start: calc(100% + 6px);
2545
- }
2510
+ %igx-grid__filtering-scroll-start,
2511
+ %igx-grid__filtering-scroll-end {
2512
+ width: rem(24px);
2513
+ height: rem(24px);
2514
+ position: relative;
2515
+ margin: if($variant == 'indigo', rem(12px), rem(8px));
2516
+ z-index: 1;
2546
2517
 
2547
2518
  [dir='rtl'] & {
2548
- &::before {
2549
- @include _filtering-scroll-mask($theme, right);
2550
- inset-inline-end: calc(100% + 6px);
2551
- }
2519
+ transform: scaleX(-1);
2552
2520
  }
2553
2521
  }
2554
2522
 
2555
- %igx-grid__filtering-scroll-end {
2523
+ .igx-grid__filtering-row-scroll-start + .igx-grid__filtering-row-main {
2556
2524
  &::before {
2557
- @include _filtering-scroll-mask($theme, left);
2558
- inset-inline-end: calc(100% + 6px);
2559
- }
2525
+ @include _filtering-scroll-mask($theme, right);
2560
2526
 
2561
- [dir='rtl'] & {
2562
- &::after {
2563
- @include _filtering-scroll-mask($theme, left);
2564
- inset-inline-start: calc(100% + 6px);
2565
- }
2527
+ inset-inline-start: 0;
2528
+ pointer-events: none;
2529
+ z-index: 1;
2566
2530
  }
2567
- }
2568
2531
 
2569
- %igx-grid__filtering-scroll-start,
2570
- %igx-grid__filtering-scroll-end {
2571
- width: rem(24px);
2572
- height: rem(24px);
2573
- position: relative;
2574
- overflow: visible;
2575
- margin: if($variant == 'indigo', rem(12px), rem(8px));
2576
- z-index: 1;
2532
+ &::after {
2533
+ @include _filtering-scroll-mask($theme, left);
2534
+
2535
+ inset-inline-end: 0;
2536
+ pointer-events: none;
2537
+ z-index: 1;
2538
+ }
2577
2539
 
2578
2540
  [dir='rtl'] & {
2579
- transform: scaleX(-1);
2541
+ &::before {
2542
+ background: linear-gradient(to left, var-get($theme, 'filtering-row-background'), transparent);
2543
+ }
2580
2544
 
2581
2545
  &::after {
2582
- content: initial;
2546
+ background: linear-gradient(to right, var-get($theme, 'filtering-row-background'), transparent);
2583
2547
  }
2584
2548
  }
2585
2549
  }
@@ -16,7 +16,7 @@
16
16
  @extend %igx-splitter-base !optional;
17
17
 
18
18
  @include b(#{$this}-bar-host) {
19
- &:focus {
19
+ &:focus-visible {
20
20
  @extend %igx-splitter-bar--focus !optional;
21
21
  }
22
22
  }
@@ -39,9 +39,35 @@
39
39
  @extend %igx-splitter-expander--end !optional;
40
40
  }
41
41
 
42
+ &:active {
43
+ @extend %igx-splitter-bar--active !optional;
44
+
45
+ @include e(handle) {
46
+ @extend %igx-splitter-handle--active !optional;
47
+ }
48
+
49
+ @include e(expander, 'start') {
50
+ @extend %igx-splitter-expander--start--active !optional;
51
+ }
52
+
53
+ @include e(expander, 'end') {
54
+ @extend %igx-splitter-expander--end--active !optional;
55
+ }
56
+ }
57
+
42
58
  @include m('vertical') {
43
59
  @extend %igx-splitter-bar--vertical !optional;
44
60
 
61
+ &:active {
62
+ @include e(expander, 'start') {
63
+ @extend %igx-splitter-expander--start-vertical--active !optional;
64
+ }
65
+
66
+ @include e(expander, 'end') {
67
+ @extend %igx-splitter-expander--end-vertical--active !optional;
68
+ }
69
+ }
70
+
45
71
  @include e(handle) {
46
72
  @extend %igx-splitter-handle !optional;
47
73
  @extend %igx-splitter-handle--vertical !optional;
@@ -9,19 +9,21 @@
9
9
  @mixin splitter($theme) {
10
10
  @include css-vars($theme);
11
11
  $splitter-color: var-get($theme, 'bar-color');
12
+ $splitter-size: var-get($theme, 'size');
12
13
  $hitbox-size: rem(4px);
13
14
  $debug-hitbox: false;
14
15
  $hitbox-debug-color: rgba(coral, .24);
15
16
 
16
17
  $variant: map.get($theme, '_meta', 'theme');
17
18
 
18
- //splitter-size + borders
19
- $splitter-size: unitless(map.get($theme, 'size')) + 2;
20
-
21
- //calculate the value for the slim(indigo) splitter
22
- $slim-splitter: calc( 1 / $splitter-size);
19
+ // Get unitless value from theme for use in CSS custom properties
20
+ $size-unitless: unitless(map.get($theme, 'size'));
23
21
 
24
22
  %igx-splitter-base {
23
+ // Define CSS custom properties that use --ig-base-font-size for dynamic calculations
24
+ --splitter-size: calc(#{$size-unitless} * var(--ig-base-font-size, 16px) + 2px);
25
+ --slim-splitter: calc(1 / calc(var(--splitter-size) / 1px));
26
+
25
27
  &[aria-orientation='horizontal'] {
26
28
  [dir='rtl'] & {
27
29
  flex-direction: row-reverse !important;
@@ -37,7 +39,7 @@
37
39
  background: if($debug-hitbox, $hitbox-debug-color, transparent);
38
40
 
39
41
  @if $variant == 'indigo' {
40
- height: rem($splitter-size * 4px);
42
+ height: calc(var(--splitter-size) * 4);
41
43
  }
42
44
  }
43
45
 
@@ -46,7 +48,7 @@
46
48
  height: 100%;
47
49
 
48
50
  @if $variant == 'indigo' {
49
- width: rem($splitter-size * 4px);
51
+ width: calc(var(--splitter-size) * 4);
50
52
  }
51
53
  }
52
54
 
@@ -54,7 +56,7 @@
54
56
  %igx-splitter-handle,
55
57
  %igx-splitter-expander {
56
58
  opacity: 0;
57
- transition: opacity .25s .5s ease;
59
+ transition: opacity .25s .3s ease;
58
60
  pointer-events: none;
59
61
  }
60
62
  }
@@ -62,7 +64,7 @@
62
64
  %show-controls {
63
65
  %igx-splitter-handle,
64
66
  %igx-splitter-expander {
65
- opacity: 1;
67
+ opacity: .68;
66
68
  transition: opacity .25s ease;
67
69
  pointer-events: auto;
68
70
  }
@@ -76,31 +78,39 @@
76
78
  [aria-orientation='vertical'] & {
77
79
  transform: scaleY(1);
78
80
  }
81
+
79
82
  transition-delay: 0s !important;
80
83
  }
81
84
 
82
85
  %indigo-splitter-bar {
83
86
  @extend %hide-controls;
87
+ transition: all .25s .3s $in-out-quad !important;
84
88
 
85
89
  [aria-orientation='horizontal'] & {
86
- transform: scaleX($slim-splitter);
90
+ transform: scaleX(var(--slim-splitter));
87
91
  }
88
92
 
89
93
  [aria-orientation='vertical'] & {
90
- transform: scaleY($slim-splitter);
94
+ transform: scaleY(var(--slim-splitter));
91
95
  }
92
96
 
93
- &.igx-splitter-bar--collapsible {
94
- transition: all .25s .5s $in-out-quad !important;
97
+ &:hover {
98
+ @extend %expand-bars;
99
+ }
95
100
 
101
+ &.igx-splitter-bar--collapsible {
96
102
  &::before,
97
103
  &::after {
98
104
  transition-delay: 2s;
99
105
  }
100
106
 
101
107
  &:hover {
102
- @extend %show-controls;
103
- @extend %expand-bars;
108
+ %igx-splitter-handle,
109
+ %igx-splitter-expander {
110
+ opacity: 1;
111
+ transition: opacity .25s ease;
112
+ pointer-events: auto;
113
+ }
104
114
 
105
115
  &::before,
106
116
  &::after {
@@ -126,17 +136,23 @@
126
136
  flex-grow: 1;
127
137
  justify-content: center;
128
138
  align-items: center;
129
- background: $splitter-color;
130
- border: rem(1px) solid $splitter-color;
139
+ background: hsla(from $splitter-color h s l / 0.68);
131
140
  z-index: 99;
132
- opacity: .68;
133
- transition: opacity .15s $out-quad !important;
141
+ padding-block: rem(1px);
134
142
 
135
143
  @if $variant != 'indigo' {
144
+ transition: background .15s $out-quad !important;
136
145
  @extend %hide-controls;
137
146
 
138
147
  &.igx-splitter-bar--collapsible {
139
148
  @extend %show-controls;
149
+
150
+ &:hover {
151
+ %igx-splitter-handle,
152
+ %igx-splitter-expander {
153
+ opacity: 1;
154
+ }
155
+ }
140
156
  }
141
157
  }
142
158
 
@@ -156,31 +172,41 @@
156
172
 
157
173
  &:hover {
158
174
  transition: all .25s ease-out;
159
- opacity: 1;
175
+ background: $splitter-color;
160
176
  }
161
177
  }
162
178
 
163
179
  %igx-splitter-bar--focus {
164
180
  // Remove the default browser outline styles
165
- outline: transparent solid rem(1px);
166
- box-shadow: inset 0 0 0 rem(1px) var-get($theme, 'focus-color');
181
+ outline: none;
182
+ box-shadow: 0 0 0 rem(2px) var-get($theme, 'focus-color');
183
+ transition: box-shadow .15s ease-in if($variant == 'indigo', .1s, 0s);
184
+ z-index: 100;
167
185
 
168
186
  @if $variant == 'indigo' {
169
- box-shadow: none;
170
-
171
187
  %indigo-splitter-bar {
172
- background: var-get($theme, 'focus-color');
173
- border-color: var-get($theme, 'focus-color');
188
+ @extend %expand-bars;
174
189
 
175
190
  &.igx-splitter-bar--collapsible {
176
- @extend %show-controls;
177
- @extend %expand-bars;
191
+ @extend %show-controls;
192
+
193
+ &:hover {
194
+ %igx-splitter-handle,
195
+ %igx-splitter-expander {
196
+ opacity: 1;
197
+ }
198
+ }
178
199
  }
179
200
  }
180
201
  }
181
202
  }
182
203
 
204
+ %igx-splitter-bar--active {
205
+ background: var-get($theme, 'bar-color-active');
206
+ }
207
+
183
208
  %igx-splitter-bar--vertical {
209
+ padding: 0 rem(1px);
184
210
  flex-direction: column;
185
211
  height: 100%;
186
212
 
@@ -202,14 +228,18 @@
202
228
  border-radius: var-get($theme, 'border-radius');
203
229
  }
204
230
 
231
+ %igx-splitter-handle--active {
232
+ background: var-get($theme, 'handle-color-active');
233
+ }
234
+
205
235
  %igx-splitter-handle--horizontal {
206
236
  width: 25%;
207
- height: var-get($theme, 'size');
237
+ height: $splitter-size;
208
238
  margin: 0 rem(48px);
209
239
  }
210
240
 
211
241
  %igx-splitter-handle--vertical {
212
- width: var-get($theme, 'size');
242
+ width: $splitter-size;
213
243
  height: 25%;
214
244
  margin: rem(48px) 0;
215
245
  }
@@ -224,14 +254,14 @@
224
254
  position: relative;
225
255
  width: 0;
226
256
  height: 0;
227
- border-inline-end: var-get($theme, 'size') solid transparent;
228
- border-inline-start: var-get($theme, 'size') solid transparent;
257
+ border-inline-end: $splitter-size solid transparent;
258
+ border-inline-start: $splitter-size solid transparent;
229
259
  cursor: pointer;
230
260
  z-index: 1;
231
261
  }
232
262
 
233
263
  %igx-splitter-expander--start {
234
- border-bottom: var-get($theme, 'size') solid var-get($theme, 'expander-color');
264
+ border-block-end: $splitter-size solid var-get($theme, 'expander-color');
235
265
 
236
266
  &::before {
237
267
  @extend %igx-splitter-hitbox;
@@ -242,9 +272,12 @@
242
272
  }
243
273
  }
244
274
 
275
+ %igx-splitter-expander--start--active {
276
+ border-block-end-color: var-get($theme, 'expander-color-active');
277
+ }
278
+
245
279
  %igx-splitter-expander--end {
246
- border-bottom: unset;
247
- border-top: var-get($theme, 'size') solid var-get($theme, 'expander-color');
280
+ border-block-start: $splitter-size solid var-get($theme, 'expander-color');
248
281
 
249
282
  &::before {
250
283
  @extend %igx-splitter-hitbox;
@@ -255,10 +288,14 @@
255
288
  }
256
289
  }
257
290
 
291
+ %igx-splitter-expander--end--active {
292
+ border-block-start-color: var-get($theme, 'expander-color-active');
293
+ }
294
+
258
295
  %igx-splitter-expander--start-vertical {
259
- border-top: var-get($theme, 'size') solid transparent;
260
- border-inline-end: var-get($theme, 'size') solid var-get($theme, 'expander-color');
261
- border-bottom: var-get($theme, 'size') solid transparent;
296
+ border-block-start: $splitter-size solid transparent;
297
+ border-inline-end: $splitter-size solid var-get($theme, 'expander-color');
298
+ border-block-end: $splitter-size solid transparent;
262
299
  border-inline-start: unset;
263
300
 
264
301
  &::before {
@@ -270,11 +307,16 @@
270
307
  }
271
308
  }
272
309
 
310
+ %igx-splitter-expander--start-vertical--active {
311
+ border-block-end-color: transparent;
312
+ border-inline-end-color: var-get($theme, 'expander-color-active');
313
+ }
314
+
273
315
  %igx-splitter-expander--end-vertical {
274
- border-top: var-get($theme, 'size') solid transparent;
316
+ border-block-start: $splitter-size solid transparent;
275
317
  border-inline-end: unset;
276
- border-bottom: var-get($theme, 'size') solid transparent;
277
- border-inline-start: var-get($theme, 'size') solid var-get($theme, 'expander-color');
318
+ border-block-end: $splitter-size solid transparent;
319
+ border-inline-start: $splitter-size solid var-get($theme, 'expander-color');
278
320
 
279
321
  &::before {
280
322
  @extend %igx-splitter-hitbox;
@@ -284,4 +326,9 @@
284
326
  width: calc(#{map.get($theme, 'size')} * 3);
285
327
  }
286
328
  }
329
+
330
+ %igx-splitter-expander--end-vertical--active {
331
+ border-block-start-color: transparent;
332
+ border-inline-start-color: var-get($theme, 'expander-color-active');
333
+ }
287
334
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "igniteui-angular",
3
- "version": "21.2.0-beta.1",
3
+ "version": "21.2.0-rc.0",
4
4
  "description": "Ignite UI for Angular is a dependency-free Angular toolkit for building modern web apps",
5
5
  "author": "Infragistics",
6
6
  "license": "SEE LICENSE IN LICENSE",