igniteui-angular 19.2.13 → 19.2.15
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.
- package/fesm2022/igniteui-angular.mjs +365 -261
- package/fesm2022/igniteui-angular.mjs.map +1 -1
- package/lib/combo/combo.common.d.ts +8 -6
- package/lib/combo/combo.component.d.ts +1 -8
- package/lib/core/styles/components/calendar/_calendar-theme.scss +2 -1
- package/lib/core/styles/components/date-picker/_date-picker-theme.scss +8 -1
- package/lib/core/styles/components/drop-down/_drop-down-theme.scss +1 -1
- package/lib/core/styles/components/input/_input-group-theme.scss +20 -41
- package/lib/core/styles/components/query-builder/_query-builder-theme.scss +22 -8
- package/lib/directives/date-time-editor/date-time-editor.directive.d.ts +2 -0
- package/lib/directives/for-of/base.helper.component.d.ts +6 -1
- package/lib/directives/radio/radio-group.directive.d.ts +13 -1
- package/lib/grids/filtering/excel-style/excel-style-default-expression.component.d.ts +1 -1
- package/lib/radio/radio.component.d.ts +13 -2
- package/lib/time-picker/time-picker.directives.d.ts +6 -0
- package/migrations/migration-collection.json +5 -0
- package/migrations/update-19_2_15/index.d.ts +3 -0
- package/migrations/update-19_2_15/index.js +106 -0
- package/package.json +1 -1
- package/styles/igniteui-angular-dark.css +1 -1
- package/styles/igniteui-angular.css +1 -1
- package/styles/igniteui-bootstrap-dark.css +1 -1
- package/styles/igniteui-bootstrap-light.css +1 -1
- package/styles/igniteui-dark-green.css +1 -1
- package/styles/igniteui-fluent-dark-excel.css +1 -1
- package/styles/igniteui-fluent-dark-word.css +1 -1
- package/styles/igniteui-fluent-dark.css +1 -1
- package/styles/igniteui-fluent-light-excel.css +1 -1
- package/styles/igniteui-fluent-light-word.css +1 -1
- package/styles/igniteui-fluent-light.css +1 -1
- package/styles/igniteui-indigo-dark.css +1 -1
- package/styles/igniteui-indigo-light.css +1 -1
- package/styles/maps/igniteui-angular-dark.css.map +1 -1
- package/styles/maps/igniteui-angular.css.map +1 -1
- package/styles/maps/igniteui-bootstrap-dark.css.map +1 -1
- package/styles/maps/igniteui-bootstrap-light.css.map +1 -1
- package/styles/maps/igniteui-dark-green.css.map +1 -1
- package/styles/maps/igniteui-fluent-dark-excel.css.map +1 -1
- package/styles/maps/igniteui-fluent-dark-word.css.map +1 -1
- package/styles/maps/igniteui-fluent-dark.css.map +1 -1
- package/styles/maps/igniteui-fluent-light-excel.css.map +1 -1
- package/styles/maps/igniteui-fluent-light-word.css.map +1 -1
- package/styles/maps/igniteui-fluent-light.css.map +1 -1
- package/styles/maps/igniteui-indigo-dark.css.map +1 -1
- package/styles/maps/igniteui-indigo-light.css.map +1 -1
|
@@ -55,11 +55,6 @@ export declare const enum DataTypes {
|
|
|
55
55
|
export interface IComboFilteringOptions {
|
|
56
56
|
/** Defines filtering case-sensitivity */
|
|
57
57
|
caseSensitive?: boolean;
|
|
58
|
-
/**
|
|
59
|
-
* Defines whether filtering is allowed
|
|
60
|
-
* @deprecated in version 18.2.0. Use the `disableFiltering` property instead.
|
|
61
|
-
*/
|
|
62
|
-
filterable?: boolean;
|
|
63
58
|
/** Defines optional key to filter against complex list items. Default to displayKey if provided.*/
|
|
64
59
|
filteringKey?: string;
|
|
65
60
|
}
|
|
@@ -86,6 +81,11 @@ export declare abstract class IgxComboBaseDirective implements IgxComboBase, Aft
|
|
|
86
81
|
* ```
|
|
87
82
|
*/
|
|
88
83
|
showSearchCaseIcon: boolean;
|
|
84
|
+
/**
|
|
85
|
+
* Enables/disables filtering in the list. The default is `false`.
|
|
86
|
+
*/
|
|
87
|
+
get disableFiltering(): boolean;
|
|
88
|
+
set disableFiltering(value: boolean);
|
|
89
89
|
/**
|
|
90
90
|
* Set custom overlay settings that control how the combo's list of items is displayed.
|
|
91
91
|
* Set:
|
|
@@ -689,6 +689,7 @@ export declare abstract class IgxComboBaseDirective implements IgxComboBase, Aft
|
|
|
689
689
|
protected compareCollator: Intl.Collator;
|
|
690
690
|
protected computedStyles: any;
|
|
691
691
|
private _id;
|
|
692
|
+
private _disableFiltering;
|
|
692
693
|
private _type;
|
|
693
694
|
private _dataType;
|
|
694
695
|
private _itemHeight;
|
|
@@ -823,8 +824,9 @@ export declare abstract class IgxComboBaseDirective implements IgxComboBase, Aft
|
|
|
823
824
|
protected abstract setSelection(newSelection: Set<any>, event?: Event): void;
|
|
824
825
|
protected abstract createDisplayText(newSelection: any[], oldSelection: any[]): any;
|
|
825
826
|
static ɵfac: i0.ɵɵFactoryDeclaration<IgxComboBaseDirective, [null, null, null, null, null, { optional: true; }, { optional: true; }, { optional: true; }]>;
|
|
826
|
-
static ɵdir: i0.ɵɵDirectiveDeclaration<IgxComboBaseDirective, never, never, { "showSearchCaseIcon": { "alias": "showSearchCaseIcon"; "required": false; }; "overlaySettings": { "alias": "overlaySettings"; "required": false; }; "id": { "alias": "id"; "required": false; }; "width": { "alias": "width"; "required": false; }; "allowCustomValues": { "alias": "allowCustomValues"; "required": false; }; "itemsMaxHeight": { "alias": "itemsMaxHeight"; "required": false; }; "itemHeight": { "alias": "itemHeight"; "required": false; }; "itemsWidth": { "alias": "itemsWidth"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "data": { "alias": "data"; "required": false; }; "valueKey": { "alias": "valueKey"; "required": false; }; "displayKey": { "alias": "displayKey"; "required": false; }; "groupKey": { "alias": "groupKey"; "required": false; }; "groupSortingDirection": { "alias": "groupSortingDirection"; "required": false; }; "filterFunction": { "alias": "filterFunction"; "required": false; }; "ariaLabelledBy": { "alias": "ariaLabelledBy"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "type": { "alias": "type"; "required": false; }; "resourceStrings": { "alias": "resourceStrings"; "required": false; }; "filteringOptions": { "alias": "filteringOptions"; "required": false; }; }, { "opening": "opening"; "opened": "opened"; "closing": "closing"; "closed": "closed"; "addition": "addition"; "searchInputUpdate": "searchInputUpdate"; "dataPreLoad": "dataPreLoad"; }, ["itemTemplate", "headerTemplate", "footerTemplate", "headerItemTemplate", "addItemTemplate", "emptyTemplate", "toggleIconTemplate", "clearIconTemplate", "label", "prefixes", "suffixes"], never, true, never>;
|
|
827
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<IgxComboBaseDirective, never, never, { "showSearchCaseIcon": { "alias": "showSearchCaseIcon"; "required": false; }; "disableFiltering": { "alias": "disableFiltering"; "required": false; }; "overlaySettings": { "alias": "overlaySettings"; "required": false; }; "id": { "alias": "id"; "required": false; }; "width": { "alias": "width"; "required": false; }; "allowCustomValues": { "alias": "allowCustomValues"; "required": false; }; "itemsMaxHeight": { "alias": "itemsMaxHeight"; "required": false; }; "itemHeight": { "alias": "itemHeight"; "required": false; }; "itemsWidth": { "alias": "itemsWidth"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "data": { "alias": "data"; "required": false; }; "valueKey": { "alias": "valueKey"; "required": false; }; "displayKey": { "alias": "displayKey"; "required": false; }; "groupKey": { "alias": "groupKey"; "required": false; }; "groupSortingDirection": { "alias": "groupSortingDirection"; "required": false; }; "filterFunction": { "alias": "filterFunction"; "required": false; }; "ariaLabelledBy": { "alias": "ariaLabelledBy"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "type": { "alias": "type"; "required": false; }; "resourceStrings": { "alias": "resourceStrings"; "required": false; }; "filteringOptions": { "alias": "filteringOptions"; "required": false; }; }, { "opening": "opening"; "opened": "opened"; "closing": "closing"; "closed": "closed"; "addition": "addition"; "searchInputUpdate": "searchInputUpdate"; "dataPreLoad": "dataPreLoad"; }, ["itemTemplate", "headerTemplate", "footerTemplate", "headerItemTemplate", "addItemTemplate", "emptyTemplate", "toggleIconTemplate", "clearIconTemplate", "label", "prefixes", "suffixes"], never, true, never>;
|
|
827
828
|
static ngAcceptInputType_showSearchCaseIcon: unknown;
|
|
829
|
+
static ngAcceptInputType_disableFiltering: unknown;
|
|
828
830
|
static ngAcceptInputType_allowCustomValues: unknown;
|
|
829
831
|
static ngAcceptInputType_disabled: unknown;
|
|
830
832
|
}
|
|
@@ -63,11 +63,6 @@ export declare class IgxComboComponent extends IgxComboBaseDirective implements
|
|
|
63
63
|
* When `false`, the combo's list item container will be focused instead
|
|
64
64
|
*/
|
|
65
65
|
autoFocusSearch: boolean;
|
|
66
|
-
/**
|
|
67
|
-
* Enables/disables filtering in the list. The default is `false`.
|
|
68
|
-
*/
|
|
69
|
-
get disableFiltering(): boolean;
|
|
70
|
-
set disableFiltering(value: boolean);
|
|
71
66
|
/**
|
|
72
67
|
* Defines the placeholder value for the combo dropdown search field
|
|
73
68
|
*
|
|
@@ -100,7 +95,6 @@ export declare class IgxComboComponent extends IgxComboBaseDirective implements
|
|
|
100
95
|
set filteredData(val: any[] | null);
|
|
101
96
|
protected _prevInputValue: string;
|
|
102
97
|
private _displayText;
|
|
103
|
-
private _disableFiltering;
|
|
104
98
|
constructor(elementRef: ElementRef, cdr: ChangeDetectorRef, selectionService: IgxSelectionAPIService, comboAPI: IgxComboAPIService, document: any, _inputGroupType: IgxInputGroupType, _injector: Injector, _iconService?: IgxIconService);
|
|
105
99
|
onArrowDown(event: Event): void;
|
|
106
100
|
/** @hidden @internal */
|
|
@@ -198,7 +192,6 @@ export declare class IgxComboComponent extends IgxComboBaseDirective implements
|
|
|
198
192
|
/** Returns a string that should be populated in the combo's text box */
|
|
199
193
|
private concatDisplayText;
|
|
200
194
|
static ɵfac: i0.ɵɵFactoryDeclaration<IgxComboComponent, [null, null, null, null, null, { optional: true; }, { optional: true; }, { optional: true; }]>;
|
|
201
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<IgxComboComponent, "igx-combo", never, { "autoFocusSearch": { "alias": "autoFocusSearch"; "required": false; }; "
|
|
195
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<IgxComboComponent, "igx-combo", never, { "autoFocusSearch": { "alias": "autoFocusSearch"; "required": false; }; "searchPlaceholder": { "alias": "searchPlaceholder"; "required": false; }; }, { "selectionChanging": "selectionChanging"; }, never, ["[igxLabel]", "igx-prefix,[igxPrefix]", "igx-hint, [igxHint]", "igx-suffix,[igxSuffix]"], true, never>;
|
|
202
196
|
static ngAcceptInputType_autoFocusSearch: unknown;
|
|
203
|
-
static ngAcceptInputType_disableFiltering: unknown;
|
|
204
197
|
}
|
|
@@ -660,7 +660,8 @@
|
|
|
660
660
|
inner-size: $inner-size,
|
|
661
661
|
theme: map.get($schema, '_meta', 'theme'),
|
|
662
662
|
_meta: map.merge(if($meta, $meta, ()), (
|
|
663
|
-
variant: map.get($schema, '_meta', 'theme')
|
|
663
|
+
variant: map.get($schema, '_meta', 'theme'),
|
|
664
|
+
theme-variant: map.get($schema, '_meta', 'variant')
|
|
664
665
|
)),
|
|
665
666
|
));
|
|
666
667
|
}
|
|
@@ -14,6 +14,7 @@
|
|
|
14
14
|
/// @param {Map} $theme - The calendar theme used to style the component.
|
|
15
15
|
@mixin date-picker($theme) {
|
|
16
16
|
$variant: map.get($theme, '_meta', 'variant');
|
|
17
|
+
$theme-variant: map.get($theme, '_meta', 'theme-variant');
|
|
17
18
|
$bootstrap-theme: $variant == 'bootstrap';
|
|
18
19
|
$border-shadow: 0 0 0 rem(1px) var-get($theme, 'border-color');
|
|
19
20
|
|
|
@@ -26,11 +27,17 @@
|
|
|
26
27
|
|
|
27
28
|
%date-picker {
|
|
28
29
|
// TODO move the shadow in the schemas
|
|
29
|
-
box-shadow: $border-shadow, elevation(24)
|
|
30
|
+
box-shadow: $border-shadow, elevation(24);
|
|
30
31
|
border-radius: var-get($theme, 'border-radius');
|
|
31
32
|
background: var-get($theme, 'content-background');
|
|
32
33
|
overflow: hidden;
|
|
33
34
|
|
|
35
|
+
@if $variant == 'indigo' and $theme-variant == 'light' {
|
|
36
|
+
box-shadow: $border-shadow, elevation(5);
|
|
37
|
+
} @else if $variant == 'indigo' and $theme-variant == 'dark' {
|
|
38
|
+
box-shadow: $border-shadow, elevation(7);
|
|
39
|
+
}
|
|
40
|
+
|
|
34
41
|
igx-calendar,
|
|
35
42
|
%days-view,
|
|
36
43
|
%months-view,
|
|
@@ -396,19 +396,15 @@
|
|
|
396
396
|
|
|
397
397
|
@if $variant == 'material' {
|
|
398
398
|
%form-group-display--border {
|
|
399
|
+
--label-position: calc((#{var-get($theme, 'size')} / 2) - #{rem(1px)});
|
|
400
|
+
|
|
401
|
+
|
|
399
402
|
&:has(input:-webkit-autofill, input:autofill) {
|
|
400
403
|
%igx-input-group__notch--border {
|
|
401
404
|
border-block-start-color: transparent;
|
|
402
405
|
}
|
|
403
406
|
|
|
404
|
-
%form-group-label
|
|
405
|
-
--label-position: #{sizable(18px, 22px, 26px)};
|
|
406
|
-
|
|
407
|
-
transform: translateY(calc(var(--label-position) * -1));
|
|
408
|
-
margin-top: 0;
|
|
409
|
-
overflow: hidden;
|
|
410
|
-
will-change: font-size, color, transform;
|
|
411
|
-
}
|
|
407
|
+
@extend %form-group-label--float-border;
|
|
412
408
|
}
|
|
413
409
|
}
|
|
414
410
|
}
|
|
@@ -1005,11 +1001,9 @@
|
|
|
1005
1001
|
|
|
1006
1002
|
@if $variant == 'material' {
|
|
1007
1003
|
%form-group-label--float {
|
|
1008
|
-
--floating-label-position: -73%;
|
|
1009
|
-
|
|
1010
1004
|
@include type-style('caption');
|
|
1011
1005
|
|
|
1012
|
-
|
|
1006
|
+
translate: 0 -73%;
|
|
1013
1007
|
}
|
|
1014
1008
|
}
|
|
1015
1009
|
|
|
@@ -1090,12 +1084,19 @@
|
|
|
1090
1084
|
}
|
|
1091
1085
|
|
|
1092
1086
|
%form-group-label--float-border {
|
|
1093
|
-
--label-position
|
|
1094
|
-
|
|
1095
|
-
transform: translateY(calc(var(--label-position) * -1));
|
|
1087
|
+
translate: 0 calc(var(--label-position) * -1);
|
|
1096
1088
|
margin-top: 0;
|
|
1097
1089
|
overflow: hidden;
|
|
1098
|
-
will-change: font-size, color, transform;
|
|
1090
|
+
will-change: font-size, color, transform, translate;
|
|
1091
|
+
}
|
|
1092
|
+
|
|
1093
|
+
%textarea-group {
|
|
1094
|
+
// 3 lines * 22px + 8px bottom padding + 8px top padding
|
|
1095
|
+
--textarea-size: #{sizable(
|
|
1096
|
+
rem(82px, map.get($base-scale-size, 'compact')),
|
|
1097
|
+
rem(82px, map.get($base-scale-size, 'cosy')),
|
|
1098
|
+
rem(82px, map.get($base-scale-size, 'comfortable'))
|
|
1099
|
+
)};
|
|
1099
1100
|
}
|
|
1100
1101
|
|
|
1101
1102
|
@if $variant == 'material' {
|
|
@@ -1139,12 +1140,6 @@
|
|
|
1139
1140
|
}
|
|
1140
1141
|
|
|
1141
1142
|
%form-group-textarea-group-bundle {
|
|
1142
|
-
// 3 lines * 22px + 8px bottom padding + 8px top padding
|
|
1143
|
-
--textarea-size: #{sizable(
|
|
1144
|
-
rem(82px, map.get($base-scale-size, 'compact')),
|
|
1145
|
-
rem(82px, map.get($base-scale-size, 'cosy')),
|
|
1146
|
-
rem(82px, map.get($base-scale-size, 'comfortable'))
|
|
1147
|
-
)};
|
|
1148
1143
|
min-height: var(--textarea-size) !important;
|
|
1149
1144
|
height: auto !important;
|
|
1150
1145
|
|
|
@@ -1156,12 +1151,12 @@
|
|
|
1156
1151
|
@if $material-theme {
|
|
1157
1152
|
%form-group-textarea-label {
|
|
1158
1153
|
top: calc($input-top-padding - #{rem(1px)});
|
|
1159
|
-
margin-block-end: auto;
|
|
1160
1154
|
}
|
|
1161
1155
|
|
|
1162
1156
|
%textarea-group--outlined {
|
|
1163
1157
|
%form-group-textarea-label {
|
|
1164
1158
|
top: calc($input-top-padding - #{rem(3px)});
|
|
1159
|
+
margin-block-end: auto;
|
|
1165
1160
|
}
|
|
1166
1161
|
}
|
|
1167
1162
|
|
|
@@ -1171,16 +1166,10 @@
|
|
|
1171
1166
|
}
|
|
1172
1167
|
}
|
|
1173
1168
|
|
|
1174
|
-
%textarea-group-label--focused {
|
|
1175
|
-
transform: translateY(0);
|
|
1176
|
-
top: calc(#{$input-top-padding} / 4);
|
|
1177
|
-
}
|
|
1178
|
-
|
|
1179
1169
|
%textarea-group-label--filled--border,
|
|
1180
1170
|
%textarea-group-label--focused--border {
|
|
1181
1171
|
top: 0;
|
|
1182
|
-
|
|
1183
|
-
margin-block-end: auto !important;
|
|
1172
|
+
translate: 0 -50%;
|
|
1184
1173
|
}
|
|
1185
1174
|
|
|
1186
1175
|
%textarea-group-notch--focused {
|
|
@@ -1361,12 +1350,6 @@
|
|
|
1361
1350
|
}
|
|
1362
1351
|
|
|
1363
1352
|
%form-group-textarea {
|
|
1364
|
-
--textarea-size: #{sizable(
|
|
1365
|
-
rem(82px, map.get($base-scale-size, 'compact')),
|
|
1366
|
-
rem(82px, map.get($base-scale-size, 'cosy')),
|
|
1367
|
-
rem(82px, map.get($base-scale-size, 'comfortable'))
|
|
1368
|
-
)};
|
|
1369
|
-
|
|
1370
1353
|
min-height: var(--textarea-size);
|
|
1371
1354
|
height: auto;
|
|
1372
1355
|
resize: vertical;
|
|
@@ -1374,7 +1357,7 @@
|
|
|
1374
1357
|
|
|
1375
1358
|
@if $material-theme {
|
|
1376
1359
|
padding: 0;
|
|
1377
|
-
|
|
1360
|
+
margin-block-start: rem(20px) !important;
|
|
1378
1361
|
}
|
|
1379
1362
|
|
|
1380
1363
|
// resets typography styles
|
|
@@ -1390,14 +1373,10 @@
|
|
|
1390
1373
|
%form-group-textarea-group-bundle-main {
|
|
1391
1374
|
overflow: hidden;
|
|
1392
1375
|
|
|
1393
|
-
@if $
|
|
1376
|
+
@if $indigo-theme {
|
|
1394
1377
|
height: calc(100% - #{rem(2px)});
|
|
1395
1378
|
top: rem(1px);
|
|
1396
1379
|
}
|
|
1397
|
-
|
|
1398
|
-
@if $material-theme {
|
|
1399
|
-
padding-block-start: $input-top-padding;
|
|
1400
|
-
}
|
|
1401
1380
|
}
|
|
1402
1381
|
|
|
1403
1382
|
%form-group-textarea--disabled {
|
|
@@ -114,6 +114,14 @@
|
|
|
114
114
|
%advanced-filter {
|
|
115
115
|
@include sizable();
|
|
116
116
|
|
|
117
|
+
--tree-scrollbar-gutter: #{rem(16px)};
|
|
118
|
+
|
|
119
|
+
@if $variant == 'bootstrap' {
|
|
120
|
+
--query-builder-outer-padding: #{rem(16px)};
|
|
121
|
+
} @else {
|
|
122
|
+
--query-builder-outer-padding: #{rem(24px)};
|
|
123
|
+
}
|
|
124
|
+
|
|
117
125
|
width: auto;
|
|
118
126
|
min-width: rem(660px);
|
|
119
127
|
background-color: var-get($theme, 'background');
|
|
@@ -122,11 +130,19 @@
|
|
|
122
130
|
overflow: hidden;
|
|
123
131
|
|
|
124
132
|
&:has(:not(igx-query-builder-header)) {
|
|
125
|
-
padding-block-start:
|
|
133
|
+
padding-block-start: var(--query-builder-outer-padding);
|
|
134
|
+
|
|
135
|
+
%query-level-0 {
|
|
136
|
+
padding-block: 0 var(--query-builder-outer-padding);
|
|
137
|
+
}
|
|
126
138
|
}
|
|
127
139
|
|
|
128
140
|
&:has(igx-query-builder-header) {
|
|
129
141
|
padding-block-start: 0;
|
|
142
|
+
|
|
143
|
+
%query-level-0 {
|
|
144
|
+
padding-block: if($variant != 'bootstrap', 0, rem(16px)) var(--query-builder-outer-padding);
|
|
145
|
+
}
|
|
130
146
|
}
|
|
131
147
|
|
|
132
148
|
.igx-chip__ghost {
|
|
@@ -145,10 +161,8 @@
|
|
|
145
161
|
%query-level-0 {
|
|
146
162
|
display: block;
|
|
147
163
|
width: 100%;
|
|
148
|
-
|
|
149
|
-
padding-
|
|
150
|
-
if($variant != 'bootstrap', 0, rem(16px))
|
|
151
|
-
if($variant != 'bootstrap', rem(24px), rem(16px));
|
|
164
|
+
|
|
165
|
+
padding-inline: var(--query-builder-outer-padding);
|
|
152
166
|
|
|
153
167
|
> %advanced-filter__main {
|
|
154
168
|
gap: rem(16px);
|
|
@@ -159,7 +173,7 @@
|
|
|
159
173
|
max-height: rem(570px);
|
|
160
174
|
overflow-y: auto;
|
|
161
175
|
overflow-x: hidden;
|
|
162
|
-
padding-inline-end:
|
|
176
|
+
padding-inline-end: var(--tree-scrollbar-gutter);
|
|
163
177
|
}
|
|
164
178
|
}
|
|
165
179
|
}
|
|
@@ -230,8 +244,8 @@
|
|
|
230
244
|
margin-bottom: 0;
|
|
231
245
|
border-block-end: rem(1px) solid var-get($theme, 'header-border');
|
|
232
246
|
|
|
233
|
-
padding-inline:
|
|
234
|
-
padding-block:
|
|
247
|
+
padding-inline: var(--query-builder-outer-padding);
|
|
248
|
+
padding-block: var(--query-builder-outer-padding) rem(16px);
|
|
235
249
|
}
|
|
236
250
|
|
|
237
251
|
%advanced-filter__title {
|
|
@@ -156,7 +156,9 @@ export declare class IgxDateTimeEditorDirective extends IgxMaskDirective impleme
|
|
|
156
156
|
* ```
|
|
157
157
|
*/
|
|
158
158
|
validationFailed: EventEmitter<IgxDateTimeEditorEventArgs>;
|
|
159
|
+
private readonly SCROLL_THRESHOLD;
|
|
159
160
|
private _inputFormat;
|
|
161
|
+
private _scrollAccumulator;
|
|
160
162
|
private _displayFormat;
|
|
161
163
|
private _oldValue;
|
|
162
164
|
private _dateValue;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ElementRef, ChangeDetectorRef, OnDestroy, AfterViewInit, NgZone } from '@angular/core';
|
|
1
|
+
import { ElementRef, ChangeDetectorRef, OnDestroy, AfterViewInit, NgZone, Renderer2 } from '@angular/core';
|
|
2
2
|
import { Subject } from 'rxjs';
|
|
3
3
|
import { PlatformUtil } from '../../core/utils';
|
|
4
4
|
import * as i0 from "@angular/core";
|
|
@@ -15,6 +15,9 @@ export declare class VirtualHelperBaseDirective implements OnDestroy, AfterViewI
|
|
|
15
15
|
private _afterViewInit;
|
|
16
16
|
private _scrollNativeSize;
|
|
17
17
|
private _detached;
|
|
18
|
+
protected renderer: Renderer2;
|
|
19
|
+
protected platformId: Object;
|
|
20
|
+
protected ngZone: NgZone;
|
|
18
21
|
constructor(elementRef: ElementRef<HTMLElement>, cdr: ChangeDetectorRef, _zone: NgZone, document: any, platformUtil: PlatformUtil);
|
|
19
22
|
onScroll(event: any): void;
|
|
20
23
|
ngAfterViewInit(): void;
|
|
@@ -25,6 +28,8 @@ export declare class VirtualHelperBaseDirective implements OnDestroy, AfterViewI
|
|
|
25
28
|
get size(): number;
|
|
26
29
|
get scrollNativeSize(): number;
|
|
27
30
|
protected get isAttachedToDom(): boolean;
|
|
31
|
+
private toggleClass;
|
|
32
|
+
private updateScrollbarClass;
|
|
28
33
|
protected handleMutations(event: any): void;
|
|
29
34
|
protected restoreScroll(): void;
|
|
30
35
|
static ɵfac: i0.ɵɵFactoryDeclaration<VirtualHelperBaseDirective, never>;
|
|
@@ -302,13 +302,25 @@ export declare class IgxRadioGroupDirective implements ControlValueAccessor, OnD
|
|
|
302
302
|
* @internal
|
|
303
303
|
*/
|
|
304
304
|
private _setRadioButtonsRequired;
|
|
305
|
+
/**
|
|
306
|
+
* Registers a radio button with this radio group.
|
|
307
|
+
* This method is called by radio button components when they are created.
|
|
308
|
+
* @hidden @internal
|
|
309
|
+
*/
|
|
310
|
+
_addRadioButton(radioButton: IgxRadioComponent): void;
|
|
311
|
+
/**
|
|
312
|
+
* Unregisters a radio button from this radio group.
|
|
313
|
+
* This method is called by radio button components when they are destroyed.
|
|
314
|
+
* @hidden @internal
|
|
315
|
+
*/
|
|
316
|
+
_removeRadioButton(radioButton: IgxRadioComponent): void;
|
|
305
317
|
/**
|
|
306
318
|
* @hidden
|
|
307
319
|
* @internal
|
|
308
320
|
*/
|
|
309
321
|
private _setRadioButtonsInvalid;
|
|
310
322
|
static ɵfac: i0.ɵɵFactoryDeclaration<IgxRadioGroupDirective, [{ optional: true; self: true; }, null, null]>;
|
|
311
|
-
static ɵdir: i0.ɵɵDirectiveDeclaration<IgxRadioGroupDirective, "igx-radio-group, [igxRadioGroup]", ["igxRadioGroup"], { "value": { "alias": "value"; "required": false; }; "name": { "alias": "name"; "required": false; }; "required": { "alias": "required"; "required": false; }; "selected": { "alias": "selected"; "required": false; }; "invalid": { "alias": "invalid"; "required": false; }; "alignment": { "alias": "alignment"; "required": false; }; }, { "change": "change"; },
|
|
323
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<IgxRadioGroupDirective, "igx-radio-group, [igxRadioGroup]", ["igxRadioGroup"], { "value": { "alias": "value"; "required": false; }; "name": { "alias": "name"; "required": false; }; "required": { "alias": "required"; "required": false; }; "selected": { "alias": "selected"; "required": false; }; "invalid": { "alias": "invalid"; "required": false; }; "alignment": { "alias": "alignment"; "required": false; }; }, { "change": "change"; }, never, never, true, never>;
|
|
312
324
|
static ngAcceptInputType_required: unknown;
|
|
313
325
|
static ngAcceptInputType_invalid: unknown;
|
|
314
326
|
}
|
|
@@ -50,7 +50,7 @@ export declare class IgxExcelStyleDefaultExpressionComponent implements AfterVie
|
|
|
50
50
|
onConditionsChanged(eventArgs: any): void;
|
|
51
51
|
getCondition(value: string): IFilteringOperation;
|
|
52
52
|
getConditionFriendlyName(name: string): string;
|
|
53
|
-
|
|
53
|
+
updateSearchValueOnBlur(eventArgs: any): void;
|
|
54
54
|
onLogicOperatorButtonClicked(eventArgs: any, buttonIndex: number): void;
|
|
55
55
|
onLogicOperatorKeyDown(eventArgs: KeyboardEvent, buttonIndex: number): void;
|
|
56
56
|
onRemoveButtonClick(): void;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { AfterViewInit, EventEmitter } from '@angular/core';
|
|
1
|
+
import { AfterViewInit, EventEmitter, OnDestroy } from '@angular/core';
|
|
2
2
|
import { ControlValueAccessor } from '@angular/forms';
|
|
3
3
|
import { EditorProvider } from '../core/edit-provider';
|
|
4
4
|
import { CheckboxBaseDirective } from '../checkbox/checkbox-base.directive';
|
|
@@ -16,9 +16,10 @@ import * as i0 from "@angular/core";
|
|
|
16
16
|
* </igx-radio>
|
|
17
17
|
* ```
|
|
18
18
|
*/
|
|
19
|
-
export declare class IgxRadioComponent extends CheckboxBaseDirective implements AfterViewInit, ControlValueAccessor, EditorProvider {
|
|
19
|
+
export declare class IgxRadioComponent extends CheckboxBaseDirective implements AfterViewInit, OnDestroy, ControlValueAccessor, EditorProvider {
|
|
20
20
|
/** @hidden @internal */
|
|
21
21
|
blurRadio: EventEmitter<any>;
|
|
22
|
+
private radioGroup;
|
|
22
23
|
/**
|
|
23
24
|
* Returns the class of the radio component.
|
|
24
25
|
* ```typescript
|
|
@@ -120,6 +121,16 @@ export declare class IgxRadioComponent extends CheckboxBaseDirective implements
|
|
|
120
121
|
* @hidden
|
|
121
122
|
*/
|
|
122
123
|
onBlur(): void;
|
|
124
|
+
/**
|
|
125
|
+
* @hidden
|
|
126
|
+
* @internal
|
|
127
|
+
*/
|
|
128
|
+
ngAfterViewInit(): void;
|
|
129
|
+
/**
|
|
130
|
+
* @hidden
|
|
131
|
+
* @internal
|
|
132
|
+
*/
|
|
133
|
+
ngOnDestroy(): void;
|
|
123
134
|
static ɵfac: i0.ɵɵFactoryDeclaration<IgxRadioComponent, never>;
|
|
124
135
|
static ɵcmp: i0.ɵɵComponentDeclaration<IgxRadioComponent, "igx-radio", never, { "checked": { "alias": "checked"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "invalid": { "alias": "invalid"; "required": false; }; }, {}, never, ["*"], true, never>;
|
|
125
136
|
static ngAcceptInputType_checked: unknown;
|
|
@@ -16,6 +16,12 @@ export declare class IgxItemListDirective implements OnInit, OnDestroy {
|
|
|
16
16
|
tabindex: number;
|
|
17
17
|
type: string;
|
|
18
18
|
isActive: boolean;
|
|
19
|
+
private readonly SCROLL_THRESHOLD;
|
|
20
|
+
private readonly PAN_THRESHOLD;
|
|
21
|
+
/**
|
|
22
|
+
* accumulates wheel scrolls and triggers a change action above SCROLL_THRESHOLD
|
|
23
|
+
*/
|
|
24
|
+
private scrollAccumulator;
|
|
19
25
|
constructor(timePicker: IgxTimePickerBase, elementRef: ElementRef, touchManager: HammerGesturesManager);
|
|
20
26
|
get defaultCSS(): boolean;
|
|
21
27
|
get hourCSS(): boolean;
|
|
@@ -226,6 +226,11 @@
|
|
|
226
226
|
"version": "19.2.0",
|
|
227
227
|
"description": "Updates Ignite UI for Angular from v19.1.0 to v19.2.0",
|
|
228
228
|
"factory": "./update-19_2_0"
|
|
229
|
+
},
|
|
230
|
+
"migration-46": {
|
|
231
|
+
"version": "19.2.15",
|
|
232
|
+
"description": "Updates Ignite UI for Angular from v19.2.0 to v19.2.15",
|
|
233
|
+
"factory": "./update-19_2_15"
|
|
229
234
|
}
|
|
230
235
|
}
|
|
231
236
|
}
|
|
@@ -0,0 +1,106 @@
|
|
|
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 compiler_1 = require("@angular/compiler");
|
|
13
|
+
const UpdateChanges_1 = require("../common/UpdateChanges");
|
|
14
|
+
const util_1 = require("../common/util");
|
|
15
|
+
const import_helper_js_1 = require("igniteui-angular/migrations/common/import-helper.js");
|
|
16
|
+
const version = '19.2.15';
|
|
17
|
+
exports.default = () => (host, context) => __awaiter(void 0, void 0, void 0, function* () {
|
|
18
|
+
context.logger.info(`Applying migration for Ignite UI for Angular to version ${version}`);
|
|
19
|
+
const { HtmlParser } = yield (0, import_helper_js_1.nativeImport)('@angular/compiler');
|
|
20
|
+
const update = new UpdateChanges_1.UpdateChanges(__dirname, host, context);
|
|
21
|
+
const changes = new Map();
|
|
22
|
+
const parser = new HtmlParser();
|
|
23
|
+
const warnMsg = "Manual migration needed: please use 'disableFiltering' instead of filteringOptions.filterable." +
|
|
24
|
+
"Since it has been deprecated.'";
|
|
25
|
+
const applyChanges = () => {
|
|
26
|
+
for (const [path, fileChanges] of changes.entries()) {
|
|
27
|
+
let content = host.read(path).toString();
|
|
28
|
+
fileChanges.sort((a, b) => b.position - a.position).forEach(c => {
|
|
29
|
+
content = c.apply(content);
|
|
30
|
+
});
|
|
31
|
+
host.overwrite(path, content);
|
|
32
|
+
}
|
|
33
|
+
};
|
|
34
|
+
const addChange = (path, change) => {
|
|
35
|
+
if (!changes.has(path)) {
|
|
36
|
+
changes.set(path, []);
|
|
37
|
+
}
|
|
38
|
+
changes.get(path).push(change);
|
|
39
|
+
};
|
|
40
|
+
const COMBO_TAGS = ['igx-simple-combo', 'igx-combo'];
|
|
41
|
+
for (const path of update.templateFiles) {
|
|
42
|
+
const nodes = (0, util_1.findElementNodes)((0, util_1.parseFile)(parser, host, path), COMBO_TAGS);
|
|
43
|
+
for (const node of nodes) {
|
|
44
|
+
if (!(node instanceof compiler_1.Element))
|
|
45
|
+
continue;
|
|
46
|
+
const hasDisableFiltering = node.attrs.some(a => a.name.includes('disableFiltering'));
|
|
47
|
+
const attr = node.attrs.find(a => a.name === '[filteringOptions]');
|
|
48
|
+
if (!attr)
|
|
49
|
+
continue;
|
|
50
|
+
const attrVal = attr.value.trim();
|
|
51
|
+
const offset = (0, util_1.getSourceOffset)(node);
|
|
52
|
+
const file = offset.file;
|
|
53
|
+
let replacementText = '';
|
|
54
|
+
if (attrVal.startsWith('{')) {
|
|
55
|
+
// inline object literal
|
|
56
|
+
const normalized = attrVal
|
|
57
|
+
.replace(/'/g, '"')
|
|
58
|
+
.replace(/([{,]\s*)(\w+)\s*:/g, '$1"$2":');
|
|
59
|
+
const parsed = JSON.parse(normalized);
|
|
60
|
+
const filterable = parsed.filterable;
|
|
61
|
+
if (filterable === false && !hasDisableFiltering) {
|
|
62
|
+
replacementText += `[disableFiltering]="true"`;
|
|
63
|
+
}
|
|
64
|
+
const remaining = Object.assign({}, parsed);
|
|
65
|
+
delete remaining.filterable;
|
|
66
|
+
const remainingProps = Object.entries(remaining)
|
|
67
|
+
.map(([k, v]) => `${k}: ${JSON.stringify(v)}`)
|
|
68
|
+
.join(', ');
|
|
69
|
+
if (remainingProps.length > 0) {
|
|
70
|
+
replacementText += ` [filteringOptions]="{ ${remainingProps} }"`;
|
|
71
|
+
}
|
|
72
|
+
// Replace whole [filteringOptions] attribute
|
|
73
|
+
const match = node.sourceSpan.toString().match(/\[filteringOptions\]="([^"]+)"/);
|
|
74
|
+
if (match) {
|
|
75
|
+
const attrText = match[0];
|
|
76
|
+
const attrPos = file.content.indexOf(attrText, offset.startTag.start);
|
|
77
|
+
addChange(file.url, new util_1.FileChange(attrPos, replacementText, attrText, 'replace'));
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
else {
|
|
81
|
+
// log for manual TS edit
|
|
82
|
+
const comment = `\n<!-- ${warnMsg} -->\n`;
|
|
83
|
+
addChange(file.url, new util_1.FileChange(offset.startTag.end, comment));
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
applyChanges();
|
|
88
|
+
for (const path of update.tsFiles) {
|
|
89
|
+
const content = host.read(path).toString();
|
|
90
|
+
const lines = content.split('\n');
|
|
91
|
+
const newLines = [];
|
|
92
|
+
let modified = false;
|
|
93
|
+
for (const line of lines) {
|
|
94
|
+
if (/\.filteringOptions\.filterable\s*=/.test(line) ||
|
|
95
|
+
/\.filteringOptions\s*=/.test(line)) {
|
|
96
|
+
newLines.push('// ' + warnMsg);
|
|
97
|
+
modified = true;
|
|
98
|
+
}
|
|
99
|
+
newLines.push(line);
|
|
100
|
+
}
|
|
101
|
+
if (modified) {
|
|
102
|
+
host.overwrite(path, newLines.join('\n'));
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
update.applyChanges();
|
|
106
|
+
});
|
package/package.json
CHANGED