igniteui-angular 17.2.5 → 17.2.6

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 (47) hide show
  1. package/esm2022/lib/directives/for-of/for_of.directive.mjs +12 -1
  2. package/esm2022/lib/directives/tooltip/tooltip-target.directive.mjs +3 -2
  3. package/esm2022/lib/grids/grid-base.directive.mjs +5 -8
  4. package/esm2022/lib/grids/selection/selection.service.mjs +12 -16
  5. package/esm2022/lib/simple-combo/simple-combo.component.mjs +7 -6
  6. package/esm2022/lib/slider/slider.component.mjs +10 -8
  7. package/esm2022/lib/slider/thumb/thumb-slider.component.mjs +6 -2
  8. package/fesm2022/igniteui-angular.mjs +47 -35
  9. package/fesm2022/igniteui-angular.mjs.map +1 -1
  10. package/lib/core/styles/components/bottom-nav/_bottom-nav-theme.scss +24 -12
  11. package/lib/core/styles/components/button/_button-theme.scss +9 -3
  12. package/lib/core/styles/components/grid/_excel-filtering-theme.scss +20 -0
  13. package/lib/core/styles/components/overlay/_overlay-theme.scss +6 -0
  14. package/lib/directives/for-of/for_of.directive.d.ts +5 -0
  15. package/lib/slider/slider.component.d.ts +1 -1
  16. package/lib/slider/thumb/thumb-slider.component.d.ts +2 -1
  17. package/migrations/migration-collection.json +5 -0
  18. package/migrations/update-17_2_6/changes/theme-changes.json +11 -0
  19. package/migrations/update-17_2_6/index.d.ts +3 -0
  20. package/migrations/update-17_2_6/index.js +31 -0
  21. package/package.json +1 -1
  22. package/styles/igniteui-angular-dark.css +1 -1
  23. package/styles/igniteui-angular.css +1 -1
  24. package/styles/igniteui-bootstrap-dark.css +1 -1
  25. package/styles/igniteui-bootstrap-light.css +1 -1
  26. package/styles/igniteui-dark-green.css +1 -1
  27. package/styles/igniteui-fluent-dark-excel.css +1 -1
  28. package/styles/igniteui-fluent-dark-word.css +1 -1
  29. package/styles/igniteui-fluent-dark.css +1 -1
  30. package/styles/igniteui-fluent-light-excel.css +1 -1
  31. package/styles/igniteui-fluent-light-word.css +1 -1
  32. package/styles/igniteui-fluent-light.css +1 -1
  33. package/styles/igniteui-indigo-dark.css +1 -1
  34. package/styles/igniteui-indigo-light.css +1 -1
  35. package/styles/maps/igniteui-angular-dark.css.map +1 -1
  36. package/styles/maps/igniteui-angular.css.map +1 -1
  37. package/styles/maps/igniteui-bootstrap-dark.css.map +1 -1
  38. package/styles/maps/igniteui-bootstrap-light.css.map +1 -1
  39. package/styles/maps/igniteui-dark-green.css.map +1 -1
  40. package/styles/maps/igniteui-fluent-dark-excel.css.map +1 -1
  41. package/styles/maps/igniteui-fluent-dark-word.css.map +1 -1
  42. package/styles/maps/igniteui-fluent-dark.css.map +1 -1
  43. package/styles/maps/igniteui-fluent-light-excel.css.map +1 -1
  44. package/styles/maps/igniteui-fluent-light-word.css.map +1 -1
  45. package/styles/maps/igniteui-fluent-light.css.map +1 -1
  46. package/styles/maps/igniteui-indigo-dark.css.map +1 -1
  47. package/styles/maps/igniteui-indigo-light.css.map +1 -1
@@ -61,33 +61,45 @@
61
61
  }
62
62
  }
63
63
 
64
+ @if not($icon-color) and $background {
65
+ @if meta.type-of($background) == 'color' {
66
+ $icon-color: text-contrast($background);
67
+ }
68
+ }
69
+
64
70
  @if not($icon-color) and $label-color {
65
71
  @if meta.type-of($label-color) == 'color' {
66
72
  $icon-color: $label-color;
67
73
  }
68
74
  }
69
75
 
70
- @if not($icon-disabled-color) and $label-disabled-color {
71
- @if meta.type-of($label-disabled-color) == 'color' {
72
- $icon-disabled-color: $label-disabled-color;
76
+ @if not($label-color) and $icon-color {
77
+ @if meta.type-of($icon-color) == 'color' {
78
+ $label-color: $icon-color;
73
79
  }
74
80
  }
75
81
 
76
- @if not($label-disabled-color) and $icon-disabled-color {
77
- @if meta.type-of($icon-disabled-color) == 'color' {
78
- $label-disabled-color: $icon-disabled-color;
82
+ @if not($icon-selected-color) and $label-selected-color {
83
+ @if meta.type-of($label-selected-color) == 'color' {
84
+ $icon-selected-color: $label-selected-color;
79
85
  }
80
86
  }
81
87
 
82
- @if not($icon-selected-color) and $label-selected-color {
83
- @if meta.type-of($background) == 'color' {
84
- $icon-selected-color: $label-selected-color;
88
+ @if not($label-selected-color) and $icon-selected-color {
89
+ @if meta.type-of($icon-selected-color) == 'color' {
90
+ $label-selected-color: $icon-selected-color;
85
91
  }
86
92
  }
87
93
 
88
- @if not($icon-color) and $background {
89
- @if meta.type-of($background) == 'color' {
90
- $icon-color: text-contrast($background);
94
+ @if not($icon-disabled-color) and $label-disabled-color {
95
+ @if meta.type-of($label-disabled-color) == 'color' {
96
+ $icon-disabled-color: $label-disabled-color;
97
+ }
98
+ }
99
+
100
+ @if not($label-disabled-color) and $icon-disabled-color {
101
+ @if meta.type-of($icon-disabled-color) == 'color' {
102
+ $label-disabled-color: $icon-disabled-color;
91
103
  }
92
104
  }
93
105
 
@@ -139,6 +139,12 @@
139
139
  }
140
140
  }
141
141
 
142
+ @if not($icon-color) and $background {
143
+ @if meta.type-of($background) == 'color' {
144
+ $icon-color: text-contrast($background);
145
+ }
146
+ }
147
+
142
148
  @if not($icon-color-hover) and $hover-foreground {
143
149
  @if meta.type-of($hover-background) == 'color' {
144
150
  $icon-color-hover: $hover-foreground;
@@ -577,7 +583,7 @@
577
583
  background: var-get($flat-theme, 'focus-visible-background');
578
584
  color: var-get($flat-theme, 'focus-visible-foreground');
579
585
  border-color: var-get($flat-theme, 'focus-visible-border-color');
580
-
586
+
581
587
  igx-icon {
582
588
  color: var-get($flat-theme, 'icon-color');
583
589
  }
@@ -599,7 +605,7 @@
599
605
  color: var-get($flat-theme, 'focus-foreground');
600
606
  }
601
607
  }
602
-
608
+
603
609
  @if ($variant == 'bootstrap') {
604
610
  box-shadow: 0 0 0 rem(4px) var-get($flat-theme, 'shadow-color');
605
611
  }
@@ -780,7 +786,7 @@
780
786
  map.get($items-gap, 'cosy'),
781
787
  $items-gap-indigo-comfortable
782
788
  );
783
-
789
+
784
790
  &:active {
785
791
  igx-icon {
786
792
  color: var-get($outlined-theme, 'icon-color-hover');
@@ -98,15 +98,35 @@
98
98
  --item-hover-background: #{color($color: 'gray', $variant: 100)};
99
99
  --item-selected-background: #{color($color: 'gray', $variant: 100)};
100
100
  --item-text-color: #{color($color: 'gray', $variant: 700)};
101
+ --item-icon-color: #{color($color: 'gray', $variant: 700)};
101
102
  --item-hover-text-color: #{color($color: 'gray', $variant: 800)};
103
+ --item-hover-icon-color: #{color($color: 'gray', $variant: 800)};
102
104
  --item-selected-text-color: #{if(
103
105
  $variant == 'indigo-design',
104
106
  contrast-color($color: 'surface'),
105
107
  color($color: 'secondary', $variant: 500)
106
108
  )};
109
+ --item-selected-icon-color: #{if(
110
+ $variant == 'indigo-design',
111
+ contrast-color($color: 'surface'),
112
+ color($color: 'secondary', $variant: 500)
113
+ )};
114
+ --item-selected-hover-icon-color: #{if(
115
+ $variant == 'fluent',
116
+ color($color: 'secondary', $variant: 500),
117
+ contrast-color($color: 'gray', $variant: 50)
118
+ )};
107
119
  --item-border-color: transparent;
120
+ --item-hover-border-color: transparent;
121
+ --item-focused-border-color: #{if(
122
+ $variant == 'fluent',
123
+ color($color: 'gray', $variant: 700),
124
+ transparent
125
+ )};
108
126
  --item-selected-border-color: transparent;
127
+ --item-selected-hover-border-color: transparent;
109
128
  --item-disabled-border: transparent;
129
+ --disabled-selected-border-color: transparent;
110
130
  }
111
131
 
112
132
  @include tree(tree-theme(
@@ -102,6 +102,12 @@
102
102
  // WARN: This is a workaround around a bug in Safari.
103
103
  position: absolute;
104
104
  visibility: hidden;
105
+ // width/height/min-width to 0 needed for bug #14303
106
+ width: 0;
107
+ min-width: 0;
108
+ height: 0;
109
+ // needed for bug #14302
110
+ padding: 0 !important;
105
111
  top: 0;
106
112
  left: 0;
107
113
  margin: -1px;
@@ -404,6 +404,11 @@ export declare class IgxForOfDirective<T, U extends T[] = T[]> extends IgxForOfT
404
404
  * Function that is called when scrolling vertically
405
405
  */
406
406
  protected onScroll(event: any): void;
407
+ /**
408
+ * @hidden
409
+ * @internal
410
+ */
411
+ updateScroll(): void;
407
412
  protected updateSizes(): void;
408
413
  /**
409
414
  * @hidden
@@ -640,7 +640,7 @@ export declare class IgxSliderComponent implements ControlValueAccessor, EditorP
640
640
  */
641
641
  private normalizeByStep;
642
642
  private updateTrack;
643
- private subscribeTo;
643
+ private subscribeToEvents;
644
644
  private unsubscriber;
645
645
  private hasValueChanged;
646
646
  private emitValueChange;
@@ -22,6 +22,7 @@ export declare class IgxSliderThumbComponent implements OnInit, OnDestroy {
22
22
  deactiveState: boolean;
23
23
  thumbValueChange: EventEmitter<number>;
24
24
  thumbChange: EventEmitter<any>;
25
+ thumbBlur: EventEmitter<void>;
25
26
  hoverChange: EventEmitter<boolean>;
26
27
  tabindex: number;
27
28
  zIndex: number;
@@ -73,7 +74,7 @@ export declare class IgxSliderThumbComponent implements OnInit, OnDestroy {
73
74
  private stepToProceed;
74
75
  private toggleThumbIndicators;
75
76
  static ɵfac: i0.ɵɵFactoryDeclaration<IgxSliderThumbComponent, never>;
76
- static ɵcmp: i0.ɵɵComponentDeclaration<IgxSliderThumbComponent, "igx-thumb", never, { "value": { "alias": "value"; "required": false; }; "continuous": { "alias": "continuous"; "required": false; }; "thumbLabelVisibilityDuration": { "alias": "thumbLabelVisibilityDuration"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "onPan": { "alias": "onPan"; "required": false; }; "stepDistance": { "alias": "stepDistance"; "required": false; }; "step": { "alias": "step"; "required": false; }; "templateRef": { "alias": "templateRef"; "required": false; }; "context": { "alias": "context"; "required": false; }; "type": { "alias": "type"; "required": false; }; "deactiveState": { "alias": "deactiveState"; "required": false; }; }, { "thumbValueChange": "thumbValueChange"; "thumbChange": "thumbChange"; "hoverChange": "hoverChange"; }, never, never, true, never>;
77
+ static ɵcmp: i0.ɵɵComponentDeclaration<IgxSliderThumbComponent, "igx-thumb", never, { "value": { "alias": "value"; "required": false; }; "continuous": { "alias": "continuous"; "required": false; }; "thumbLabelVisibilityDuration": { "alias": "thumbLabelVisibilityDuration"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "onPan": { "alias": "onPan"; "required": false; }; "stepDistance": { "alias": "stepDistance"; "required": false; }; "step": { "alias": "step"; "required": false; }; "templateRef": { "alias": "templateRef"; "required": false; }; "context": { "alias": "context"; "required": false; }; "type": { "alias": "type"; "required": false; }; "deactiveState": { "alias": "deactiveState"; "required": false; }; }, { "thumbValueChange": "thumbValueChange"; "thumbChange": "thumbChange"; "thumbBlur": "thumbBlur"; "hoverChange": "hoverChange"; }, never, never, true, never>;
77
78
  static ngAcceptInputType_continuous: unknown;
78
79
  static ngAcceptInputType_disabled: unknown;
79
80
  static ngAcceptInputType_deactiveState: unknown;
@@ -186,6 +186,11 @@
186
186
  "version": "17.2.3",
187
187
  "description": "Updates Ignite UI for Angular from v17.2.2 to v17.2.3",
188
188
  "factory": "./update-17_2_3"
189
+ },
190
+ "migration-38": {
191
+ "version": "17.2.6",
192
+ "description": "Updates Ignite UI for Angular from v17.2.3 to v17.2.6",
193
+ "factory": "./update-17_2_6"
189
194
  }
190
195
  }
191
196
  }
@@ -0,0 +1,11 @@
1
+ {
2
+ "$schema": "../../common/schema/theme-changes.schema.json",
3
+ "changes": [
4
+ {
5
+ "name": "$active-item-color",
6
+ "replaceWith": "$icon-selected-color",
7
+ "owner": "bottom-nav-theme",
8
+ "type": "property"
9
+ }
10
+ ]
11
+ }
@@ -0,0 +1,3 @@
1
+ import { Rule } from "@angular-devkit/schematics";
2
+ declare const _default: () => Rule;
3
+ export default _default;
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ const UpdateChanges_1 = require("../common/UpdateChanges");
13
+ const version = "17.2.6";
14
+ exports.default = () => (host, context) => __awaiter(void 0, void 0, void 0, function* () {
15
+ context.logger.info(`Applying migration for Ignite UI for Angular to version ${version}`);
16
+ const update = new UpdateChanges_1.UpdateChanges(__dirname, host, context);
17
+ update.addValueTransform('vertical_to_orientation', (args) => {
18
+ args.bindingType = UpdateChanges_1.InputPropertyType.STRING;
19
+ switch (args.value) {
20
+ case 'true':
21
+ args.value = 'vertical';
22
+ break;
23
+ case 'false':
24
+ args.value = 'horizontal';
25
+ break;
26
+ default:
27
+ args.value += ` ? 'vertical' : 'horizontal' `;
28
+ }
29
+ });
30
+ update.applyChanges();
31
+ });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "igniteui-angular",
3
- "version": "17.2.5",
3
+ "version": "17.2.6",
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",