igniteui-angular 16.1.7 → 16.1.9
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/esm2022/lib/core/density.mjs +5 -8
- package/esm2022/lib/core/utils.mjs +3 -3
- package/esm2022/lib/grids/common/grid.interface.mjs +1 -1
- package/esm2022/lib/grids/filtering/excel-style/excel-style-search.component.mjs +5 -5
- package/esm2022/lib/grids/grid-base.directive.mjs +1 -1
- package/esm2022/lib/grids/state.directive.mjs +3 -2
- package/esm2022/lib/simple-combo/simple-combo.component.mjs +9 -20
- package/fesm2022/igniteui-angular.mjs +20 -33
- package/fesm2022/igniteui-angular.mjs.map +1 -1
- package/lib/core/styles/components/chip/_chip-theme.scss +26 -8
- package/lib/core/styles/components/tree/_tree-theme.scss +12 -0
- package/lib/grids/common/grid.interface.d.ts +21 -0
- package/lib/grids/grid-base.directive.d.ts +2 -19
- package/lib/grids/state.directive.d.ts +1 -0
- package/lib/simple-combo/simple-combo.component.d.ts +0 -3
- package/package.json +2 -2
- 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
|
@@ -2147,12 +2147,12 @@ const formatDate = (value, format, locale, timezone) => {
|
|
|
2147
2147
|
const formatCurrency = new CurrencyPipe(undefined).transform;
|
|
2148
2148
|
/** Converts pixel values to their rem counterparts for a base value */
|
|
2149
2149
|
const rem = (value) => {
|
|
2150
|
-
const base = parseFloat(getComputedStyle(document
|
|
2150
|
+
const base = parseFloat(getComputedStyle(globalThis.document?.documentElement).getPropertyValue('--ig-base-font-size'));
|
|
2151
2151
|
return Number(value) / base;
|
|
2152
2152
|
};
|
|
2153
2153
|
/** Get the size of the component as derived from the CSS size variable */
|
|
2154
2154
|
function getComponentSize(el) {
|
|
2155
|
-
return window
|
|
2155
|
+
return globalThis.window?.getComputedStyle(el).getPropertyValue('--component-size');
|
|
2156
2156
|
}
|
|
2157
2157
|
|
|
2158
2158
|
var PagingError;
|
|
@@ -8570,11 +8570,6 @@ class DisplayDensityBase {
|
|
|
8570
8570
|
* ```
|
|
8571
8571
|
*/
|
|
8572
8572
|
get displayDensity() {
|
|
8573
|
-
if (!this.size) {
|
|
8574
|
-
return (this._displayDensity ??
|
|
8575
|
-
this.displayDensityOptions?.displayDensity ??
|
|
8576
|
-
DisplayDensity.comfortable);
|
|
8577
|
-
}
|
|
8578
8573
|
switch (this.size) {
|
|
8579
8574
|
case '1':
|
|
8580
8575
|
return DisplayDensity.compact;
|
|
@@ -8582,7 +8577,9 @@ class DisplayDensityBase {
|
|
|
8582
8577
|
return DisplayDensity.cosy;
|
|
8583
8578
|
case '3':
|
|
8584
8579
|
default:
|
|
8585
|
-
return
|
|
8580
|
+
return (this._displayDensity ??
|
|
8581
|
+
this.displayDensityOptions?.displayDensity ??
|
|
8582
|
+
DisplayDensity.comfortable);
|
|
8586
8583
|
}
|
|
8587
8584
|
}
|
|
8588
8585
|
/**
|
|
@@ -8600,7 +8597,7 @@ class DisplayDensityBase {
|
|
|
8600
8597
|
}
|
|
8601
8598
|
}
|
|
8602
8599
|
get size() {
|
|
8603
|
-
return document
|
|
8600
|
+
return globalThis.document?.defaultView
|
|
8604
8601
|
.getComputedStyle(this._host.nativeElement)
|
|
8605
8602
|
.getPropertyValue('--ig-size')
|
|
8606
8603
|
.trim();
|
|
@@ -39118,8 +39115,6 @@ class IgxSimpleComboComponent extends IgxComboBaseDirective {
|
|
|
39118
39115
|
/** @hidden @internal */
|
|
39119
39116
|
this.composing = false;
|
|
39120
39117
|
this._updateInput = true;
|
|
39121
|
-
// stores the last filtered value - move to common?
|
|
39122
|
-
this._internalFilter = '';
|
|
39123
39118
|
this._collapsing = false;
|
|
39124
39119
|
this.findAllMatches = (element) => {
|
|
39125
39120
|
const value = this.displayKey ? element[this.displayKey] : element;
|
|
@@ -39179,9 +39174,9 @@ class IgxSimpleComboComponent extends IgxComboBaseDirective {
|
|
|
39179
39174
|
const oldSelection = this.selection;
|
|
39180
39175
|
this.selectionService.select_items(this.id, this.isValid(value) ? [value] : [], true);
|
|
39181
39176
|
this.cdr.markForCheck();
|
|
39182
|
-
this._displayValue = this.createDisplayText(
|
|
39183
|
-
this._value = this.valueKey ?
|
|
39184
|
-
this.filterValue = this.
|
|
39177
|
+
this._displayValue = this.createDisplayText(super.selection, oldSelection);
|
|
39178
|
+
this._value = this.valueKey ? super.selection.map(item => item[this.valueKey]) : super.selection;
|
|
39179
|
+
this.filterValue = this._displayValue?.toString() || '';
|
|
39185
39180
|
}
|
|
39186
39181
|
/** @hidden @internal */
|
|
39187
39182
|
ngAfterViewInit() {
|
|
@@ -39218,7 +39213,6 @@ class IgxSimpleComboComponent extends IgxComboBaseDirective {
|
|
|
39218
39213
|
if (this.composing) {
|
|
39219
39214
|
this.comboInput.focus();
|
|
39220
39215
|
}
|
|
39221
|
-
this._internalFilter = this.comboInput.value;
|
|
39222
39216
|
});
|
|
39223
39217
|
this.dropdown.closing.pipe(takeUntil(this.destroy$)).subscribe((args) => {
|
|
39224
39218
|
if (args.cancel) {
|
|
@@ -39233,9 +39227,6 @@ class IgxSimpleComboComponent extends IgxComboBaseDirective {
|
|
|
39233
39227
|
}
|
|
39234
39228
|
this.comboInput.focus();
|
|
39235
39229
|
});
|
|
39236
|
-
this.dropdown.closed.pipe(takeUntil(this.destroy$)).subscribe(() => {
|
|
39237
|
-
this.filterValue = this._internalFilter = this.comboInput.value;
|
|
39238
|
-
});
|
|
39239
39230
|
// in reactive form the control is not present initially
|
|
39240
39231
|
// and sets the selection to an invalid value in writeValue method
|
|
39241
39232
|
if (!this.isValid(this.selectedItem)) {
|
|
@@ -39255,7 +39246,7 @@ class IgxSimpleComboComponent extends IgxComboBaseDirective {
|
|
|
39255
39246
|
/** @hidden @internal */
|
|
39256
39247
|
handleInputChange(event) {
|
|
39257
39248
|
if (event !== undefined) {
|
|
39258
|
-
this.filterValue = this.
|
|
39249
|
+
this.filterValue = this.searchValue = typeof event === 'string' ? event : event.target.value;
|
|
39259
39250
|
}
|
|
39260
39251
|
this._onChangeCallback(this.searchValue);
|
|
39261
39252
|
if (this.collapsed && this.comboInput.focused) {
|
|
@@ -39297,7 +39288,6 @@ class IgxSimpleComboComponent extends IgxComboBaseDirective {
|
|
|
39297
39288
|
this.close();
|
|
39298
39289
|
// manually trigger text selection as it will not be triggered during editing
|
|
39299
39290
|
this.textSelection.trigger();
|
|
39300
|
-
this.filterValue = this.getElementVal(filtered);
|
|
39301
39291
|
return;
|
|
39302
39292
|
}
|
|
39303
39293
|
if (event.key === this.platformUtil.KEYMAP.BACKSPACE
|
|
@@ -39348,10 +39338,6 @@ class IgxSimpleComboComponent extends IgxComboBaseDirective {
|
|
|
39348
39338
|
super.onBlur();
|
|
39349
39339
|
}
|
|
39350
39340
|
/** @hidden @internal */
|
|
39351
|
-
onFocus() {
|
|
39352
|
-
this._internalFilter = this.comboInput.value || '';
|
|
39353
|
-
}
|
|
39354
|
-
/** @hidden @internal */
|
|
39355
39341
|
getEditElement() {
|
|
39356
39342
|
return this.comboInput.nativeElement;
|
|
39357
39343
|
}
|
|
@@ -39430,7 +39416,7 @@ class IgxSimpleComboComponent extends IgxComboBaseDirective {
|
|
|
39430
39416
|
this.selectionService.select_items(this.id, argsSelection, true);
|
|
39431
39417
|
this._value = argsSelection;
|
|
39432
39418
|
if (this._updateInput) {
|
|
39433
|
-
this.comboInput.value = this.
|
|
39419
|
+
this.comboInput.value = this._displayValue = this.searchValue = displayText !== args.displayText
|
|
39434
39420
|
? args.displayText
|
|
39435
39421
|
: this.createDisplayText(this.selection, [args.oldSelection]);
|
|
39436
39422
|
}
|
|
@@ -39500,7 +39486,7 @@ class IgxSimpleComboComponent extends IgxComboBaseDirective {
|
|
|
39500
39486
|
}
|
|
39501
39487
|
clear() {
|
|
39502
39488
|
this.clearSelection(true);
|
|
39503
|
-
this.comboInput.value = this.
|
|
39489
|
+
this.comboInput.value = this._displayValue = this.searchValue = '';
|
|
39504
39490
|
}
|
|
39505
39491
|
isValid(value) {
|
|
39506
39492
|
return this.required
|
|
@@ -39512,7 +39498,7 @@ class IgxSimpleComboComponent extends IgxComboBaseDirective {
|
|
|
39512
39498
|
IgxComboAPIService,
|
|
39513
39499
|
{ provide: IGX_COMBO_COMPONENT, useExisting: IgxSimpleComboComponent },
|
|
39514
39500
|
{ provide: NG_VALUE_ACCESSOR, useExisting: IgxSimpleComboComponent, multi: true }
|
|
39515
|
-
], viewQueries: [{ propertyName: "dropdown", first: true, predicate: IgxComboDropDownComponent, descendants: true, static: true }, { propertyName: "addItem", first: true, predicate: IgxComboAddItemComponent, descendants: true }, { propertyName: "textSelection", first: true, predicate: IgxTextSelectionDirective, descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<igx-input-group #inputGroup [displayDensity]=\"displayDensity\" [suppressInputAutofocus]=\"true\" [type]=\"type\">\n\n <ng-container ngProjectAs=\"[igxLabel]\">\n <ng-content select=\"[igxLabel]\"></ng-content>\n </ng-container>\n\n <ng-container ngProjectAs=\"igx-prefix\">\n <ng-content select=\"igx-prefix\"></ng-content>\n </ng-container>\n\n <ng-container ngProjectAs=\"igx-hint, [igxHint]\">\n <ng-content select=\"igx-hint, [igxHint]\"></ng-content>\n </ng-container>\n\n <input #comboInput igxInput [value]=\"displayValue[0]\" role=\"combobox\"\n aria-haspopup=\"listbox\" aria-autocomplete=\"list\" aria-readonly=\"false\"\n [attr.aria-expanded]=\"!this.dropdown.collapsed\" [attr.aria-controls]=\"this.dropdown.listId\"\n [attr.aria-labelledby]=\"this.ariaLabelledBy || this.label?.id || this.placeholder\"\n [attr.placeholder]=\"placeholder\" [disabled]=\"disabled\" [igxTextSelection]=\"!composing\"\n (
|
|
39501
|
+
], viewQueries: [{ propertyName: "dropdown", first: true, predicate: IgxComboDropDownComponent, descendants: true, static: true }, { propertyName: "addItem", first: true, predicate: IgxComboAddItemComponent, descendants: true }, { propertyName: "textSelection", first: true, predicate: IgxTextSelectionDirective, descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<igx-input-group #inputGroup [displayDensity]=\"displayDensity\" [suppressInputAutofocus]=\"true\" [type]=\"type\">\n\n <ng-container ngProjectAs=\"[igxLabel]\">\n <ng-content select=\"[igxLabel]\"></ng-content>\n </ng-container>\n\n <ng-container ngProjectAs=\"igx-prefix\">\n <ng-content select=\"igx-prefix\"></ng-content>\n </ng-container>\n\n <ng-container ngProjectAs=\"igx-hint, [igxHint]\">\n <ng-content select=\"igx-hint, [igxHint]\"></ng-content>\n </ng-container>\n\n <input #comboInput igxInput [value]=\"displayValue[0]\" role=\"combobox\"\n aria-haspopup=\"listbox\" aria-autocomplete=\"list\" aria-readonly=\"false\"\n [attr.aria-expanded]=\"!this.dropdown.collapsed\" [attr.aria-controls]=\"this.dropdown.listId\"\n [attr.aria-labelledby]=\"this.ariaLabelledBy || this.label?.id || this.placeholder\"\n [attr.placeholder]=\"placeholder\" [disabled]=\"disabled\" [igxTextSelection]=\"!composing\"\n (input)=\"handleInputChange($event)\" (click)=\"handleInputClick()\"\n (keyup)=\"handleKeyUp($event)\" (keydown)=\"handleKeyDown($event)\" (blur)=\"onBlur()\"/>\n\n <ng-container ngProjectAs=\"igx-suffix\">\n <ng-content select=\"igx-suffix\"></ng-content>\n </ng-container>\n\n <igx-suffix *ngIf=\"selection.length\" aria-label=\"Clear Selection\" class=\"igx-combo__clear-button\"\n (click)=\"handleClear($event)\">\n <ng-container *ngIf=\"clearIconTemplate\">\n <ng-container *ngTemplateOutlet=\"clearIconTemplate\"></ng-container>\n </ng-container>\n <igx-icon *ngIf=\"!clearIconTemplate\">\n {{ clearIcon }}\n </igx-icon>\n </igx-suffix>\n\n <igx-suffix *ngIf=\"showSearchCaseIcon\">\n <igx-icon family=\"imx-icons\" name=\"case-sensitive\" [active]=\"filteringOptions.caseSensitive\"\n (click)=\"toggleCaseSensitive()\">\n </igx-icon>\n </igx-suffix>\n\n <igx-suffix class=\"igx-combo__toggle-button\" (click)=\"onClick($event)\">\n <ng-container *ngIf=\"toggleIconTemplate\">\n <ng-container *ngTemplateOutlet=\"toggleIconTemplate; context: {$implicit: collapsed}\"></ng-container>\n </ng-container>\n <igx-icon *ngIf=\"!toggleIconTemplate\">\n {{ toggleIcon }}\n </igx-icon>\n </igx-suffix>\n\n</igx-input-group>\n\n<igx-combo-drop-down #igxComboDropDown class=\"igx-combo__drop-down\" [displayDensity]=\"displayDensity\"\n [labelledBy]=\"this.ariaLabelledBy || this.label?.id || this.placeholder || ''\"\n [width]=\"itemsWidth || '100%'\" (opening)=\"handleOpening($event)\" (closing)=\"handleClosing($event)\"\n (opened)=\"handleOpened()\" (closed)=\"handleClosed()\" [singleMode]=\"true\">\n <ng-container *ngTemplateOutlet=\"headerTemplate\">\n </ng-container>\n <div #dropdownItemContainer class=\"igx-combo__content\" [style.overflow]=\"'hidden'\"\n [style.maxHeight.rem]=\"itemsMaxHeightInRem\" [igxDropDownItemNavigation]=\"dropdown\"\n [tabindex]=\"dropdown.collapsed ? -1 : 0\" [attr.id]=\"dropdown.id\"\n [attr.aria-activedescendant]=\"this.activeDescendant\"\n (focus)=\"dropdown.onFocus()\" (keydown)=\"handleItemKeyDown($event)\">\n <igx-combo-item [role]=\"item?.isHeader? 'group' : 'option'\" [singleMode]=\"true\"\n [itemHeight]=\"itemHeight\" (click)=\"handleItemClick()\" *igxFor=\"let item of data\n | comboFiltering:filterValue:displayKey:filteringOptions:filterFunction\n | comboGrouping:groupKey:valueKey:groupSortingDirection;\n index as rowIndex; containerSize: itemsMaxHeight; scrollOrientation: 'vertical'; itemSize: itemHeight\"\n [value]=\"item\" [isHeader]=\"item?.isHeader\" [index]=\"rowIndex\">\n <ng-container *ngIf=\"item?.isHeader\">\n <ng-container\n *ngTemplateOutlet=\"headerItemTemplate ? headerItemTemplate : headerItemBase;\n context: {$implicit: item, data: data, valueKey: valueKey, groupKey: groupKey, displayKey: displayKey}\">\n </ng-container>\n </ng-container>\n <!-- if item is 'null' it should be displayed and !!(item?.isHeader) would resolve it to 'false' and not display it -->\n <ng-container *ngIf=\"!item?.isHeader\">\n <ng-container #listItem\n *ngTemplateOutlet=\"template; context: {$implicit: item, data: data, valueKey: valueKey, displayKey: displayKey};\">\n </ng-container>\n </ng-container>\n </igx-combo-item>\n </div>\n\n <div class=\"igx-combo__add\" *ngIf=\"filteredData.length === 0 || isAddButtonVisible()\">\n <div class=\"igx-combo__empty\" *ngIf=\"filteredData.length === 0\">\n <ng-container *ngTemplateOutlet=\"emptyTemplate ? emptyTemplate : empty\">\n </ng-container>\n </div>\n <igx-combo-add-item #addItem [itemHeight]=\"itemHeight\" *ngIf=\"isAddButtonVisible()\"\n [tabindex]=\"dropdown.collapsed ? -1 : customValueFlag ? 1 : -1\" class=\"igx-combo__add-item\" role=\"button\"\n aria-label=\"Add Item\" [index]=\"virtualScrollContainer.igxForOf.length\">\n <ng-container *ngTemplateOutlet=\"addItemTemplate ? addItemTemplate : addItemDefault\">\n </ng-container>\n </igx-combo-add-item>\n </div>\n <ng-container *ngTemplateOutlet=\"footerTemplate\">\n </ng-container>\n</igx-combo-drop-down>\n\n<ng-template #complex let-display let-data=\"data\" let-key=\"displayKey\">\n {{display[key]}}\n</ng-template>\n<ng-template #primitive let-display>\n {{display}}\n</ng-template>\n<ng-template #empty>\n <span>{{resourceStrings.igx_combo_empty_message}}</span>\n</ng-template>\n<ng-template #addItemDefault let-control>\n <button type=\"button\" igxButton=\"flat\" igxRipple>Add item</button>\n</ng-template>\n<ng-template #headerItemBase let-item let-key=\"valueKey\" let-groupKey=\"groupKey\">\n {{ item[key] }}\n</ng-template>\n", dependencies: [{ kind: "component", type: IgxInputGroupComponent, selector: "igx-input-group", inputs: ["resourceStrings", "suppressInputAutofocus", "type", "theme"] }, { kind: "directive", type: IgxInputDirective, selector: "[igxInput]", inputs: ["value", "disabled", "required"], exportAs: ["igxInput"] }, { kind: "directive", type: IgxTextSelectionDirective, selector: "[igxTextSelection]", inputs: ["igxTextSelection"], exportAs: ["igxTextSelection"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: IgxSuffixDirective, selector: "igx-suffix,[igxSuffix],[igxEnd]" }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: IgxIconComponent, selector: "igx-icon", inputs: ["family", "active", "name"] }, { kind: "component", type: IgxComboDropDownComponent, selector: "igx-combo-drop-down", inputs: ["singleMode"] }, { kind: "directive", type: IgxDropDownItemNavigationDirective, selector: "[igxDropDownItemNavigation]", inputs: ["igxDropDownItemNavigation"] }, { kind: "directive", type: IgxForOfDirective, selector: "[igxFor][igxForOf]", inputs: ["igxForOf", "igxForSizePropName", "igxForScrollOrientation", "igxForScrollContainer", "igxForContainerSize", "igxForItemSize", "igxForTotalItemCount", "igxForTrackBy"], outputs: ["chunkLoad", "scrollbarVisibilityChanged", "contentSizeChange", "dataChanged", "beforeViewDestroyed", "chunkPreload"] }, { kind: "component", type: IgxComboItemComponent, selector: "igx-combo-item", inputs: ["itemHeight", "ariaLabel", "singleMode"] }, { kind: "component", type: IgxComboAddItemComponent, selector: "igx-combo-add-item" }, { kind: "directive", type: IgxButtonDirective, selector: "[igxButton]", inputs: ["selected", "igxButton", "igxButtonColor", "igxButtonBackground", "igxLabel", "disabled"], outputs: ["buttonClick", "buttonSelected"] }, { kind: "directive", type: IgxRippleDirective, selector: "[igxRipple]", inputs: ["igxRippleTarget", "igxRipple", "igxRippleDuration", "igxRippleCentered", "igxRippleDisabled"] }, { kind: "pipe", type: IgxComboFilteringPipe, name: "comboFiltering" }, { kind: "pipe", type: IgxComboGroupingPipe, name: "comboGrouping" }] }); }
|
|
39516
39502
|
}
|
|
39517
39503
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.8", ngImport: i0, type: IgxSimpleComboComponent, decorators: [{
|
|
39518
39504
|
type: Component,
|
|
@@ -39520,7 +39506,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.8", ngImpor
|
|
|
39520
39506
|
IgxComboAPIService,
|
|
39521
39507
|
{ provide: IGX_COMBO_COMPONENT, useExisting: IgxSimpleComboComponent },
|
|
39522
39508
|
{ provide: NG_VALUE_ACCESSOR, useExisting: IgxSimpleComboComponent, multi: true }
|
|
39523
|
-
], standalone: true, imports: [IgxInputGroupComponent, IgxInputDirective, IgxTextSelectionDirective, NgIf, IgxSuffixDirective, NgTemplateOutlet, IgxIconComponent, IgxComboDropDownComponent, IgxDropDownItemNavigationDirective, IgxForOfDirective, IgxComboItemComponent, IgxComboAddItemComponent, IgxButtonDirective, IgxRippleDirective, IgxComboFilteringPipe, IgxComboGroupingPipe], template: "<igx-input-group #inputGroup [displayDensity]=\"displayDensity\" [suppressInputAutofocus]=\"true\" [type]=\"type\">\n\n <ng-container ngProjectAs=\"[igxLabel]\">\n <ng-content select=\"[igxLabel]\"></ng-content>\n </ng-container>\n\n <ng-container ngProjectAs=\"igx-prefix\">\n <ng-content select=\"igx-prefix\"></ng-content>\n </ng-container>\n\n <ng-container ngProjectAs=\"igx-hint, [igxHint]\">\n <ng-content select=\"igx-hint, [igxHint]\"></ng-content>\n </ng-container>\n\n <input #comboInput igxInput [value]=\"displayValue[0]\" role=\"combobox\"\n aria-haspopup=\"listbox\" aria-autocomplete=\"list\" aria-readonly=\"false\"\n [attr.aria-expanded]=\"!this.dropdown.collapsed\" [attr.aria-controls]=\"this.dropdown.listId\"\n [attr.aria-labelledby]=\"this.ariaLabelledBy || this.label?.id || this.placeholder\"\n [attr.placeholder]=\"placeholder\" [disabled]=\"disabled\" [igxTextSelection]=\"!composing\"\n (
|
|
39509
|
+
], standalone: true, imports: [IgxInputGroupComponent, IgxInputDirective, IgxTextSelectionDirective, NgIf, IgxSuffixDirective, NgTemplateOutlet, IgxIconComponent, IgxComboDropDownComponent, IgxDropDownItemNavigationDirective, IgxForOfDirective, IgxComboItemComponent, IgxComboAddItemComponent, IgxButtonDirective, IgxRippleDirective, IgxComboFilteringPipe, IgxComboGroupingPipe], template: "<igx-input-group #inputGroup [displayDensity]=\"displayDensity\" [suppressInputAutofocus]=\"true\" [type]=\"type\">\n\n <ng-container ngProjectAs=\"[igxLabel]\">\n <ng-content select=\"[igxLabel]\"></ng-content>\n </ng-container>\n\n <ng-container ngProjectAs=\"igx-prefix\">\n <ng-content select=\"igx-prefix\"></ng-content>\n </ng-container>\n\n <ng-container ngProjectAs=\"igx-hint, [igxHint]\">\n <ng-content select=\"igx-hint, [igxHint]\"></ng-content>\n </ng-container>\n\n <input #comboInput igxInput [value]=\"displayValue[0]\" role=\"combobox\"\n aria-haspopup=\"listbox\" aria-autocomplete=\"list\" aria-readonly=\"false\"\n [attr.aria-expanded]=\"!this.dropdown.collapsed\" [attr.aria-controls]=\"this.dropdown.listId\"\n [attr.aria-labelledby]=\"this.ariaLabelledBy || this.label?.id || this.placeholder\"\n [attr.placeholder]=\"placeholder\" [disabled]=\"disabled\" [igxTextSelection]=\"!composing\"\n (input)=\"handleInputChange($event)\" (click)=\"handleInputClick()\"\n (keyup)=\"handleKeyUp($event)\" (keydown)=\"handleKeyDown($event)\" (blur)=\"onBlur()\"/>\n\n <ng-container ngProjectAs=\"igx-suffix\">\n <ng-content select=\"igx-suffix\"></ng-content>\n </ng-container>\n\n <igx-suffix *ngIf=\"selection.length\" aria-label=\"Clear Selection\" class=\"igx-combo__clear-button\"\n (click)=\"handleClear($event)\">\n <ng-container *ngIf=\"clearIconTemplate\">\n <ng-container *ngTemplateOutlet=\"clearIconTemplate\"></ng-container>\n </ng-container>\n <igx-icon *ngIf=\"!clearIconTemplate\">\n {{ clearIcon }}\n </igx-icon>\n </igx-suffix>\n\n <igx-suffix *ngIf=\"showSearchCaseIcon\">\n <igx-icon family=\"imx-icons\" name=\"case-sensitive\" [active]=\"filteringOptions.caseSensitive\"\n (click)=\"toggleCaseSensitive()\">\n </igx-icon>\n </igx-suffix>\n\n <igx-suffix class=\"igx-combo__toggle-button\" (click)=\"onClick($event)\">\n <ng-container *ngIf=\"toggleIconTemplate\">\n <ng-container *ngTemplateOutlet=\"toggleIconTemplate; context: {$implicit: collapsed}\"></ng-container>\n </ng-container>\n <igx-icon *ngIf=\"!toggleIconTemplate\">\n {{ toggleIcon }}\n </igx-icon>\n </igx-suffix>\n\n</igx-input-group>\n\n<igx-combo-drop-down #igxComboDropDown class=\"igx-combo__drop-down\" [displayDensity]=\"displayDensity\"\n [labelledBy]=\"this.ariaLabelledBy || this.label?.id || this.placeholder || ''\"\n [width]=\"itemsWidth || '100%'\" (opening)=\"handleOpening($event)\" (closing)=\"handleClosing($event)\"\n (opened)=\"handleOpened()\" (closed)=\"handleClosed()\" [singleMode]=\"true\">\n <ng-container *ngTemplateOutlet=\"headerTemplate\">\n </ng-container>\n <div #dropdownItemContainer class=\"igx-combo__content\" [style.overflow]=\"'hidden'\"\n [style.maxHeight.rem]=\"itemsMaxHeightInRem\" [igxDropDownItemNavigation]=\"dropdown\"\n [tabindex]=\"dropdown.collapsed ? -1 : 0\" [attr.id]=\"dropdown.id\"\n [attr.aria-activedescendant]=\"this.activeDescendant\"\n (focus)=\"dropdown.onFocus()\" (keydown)=\"handleItemKeyDown($event)\">\n <igx-combo-item [role]=\"item?.isHeader? 'group' : 'option'\" [singleMode]=\"true\"\n [itemHeight]=\"itemHeight\" (click)=\"handleItemClick()\" *igxFor=\"let item of data\n | comboFiltering:filterValue:displayKey:filteringOptions:filterFunction\n | comboGrouping:groupKey:valueKey:groupSortingDirection;\n index as rowIndex; containerSize: itemsMaxHeight; scrollOrientation: 'vertical'; itemSize: itemHeight\"\n [value]=\"item\" [isHeader]=\"item?.isHeader\" [index]=\"rowIndex\">\n <ng-container *ngIf=\"item?.isHeader\">\n <ng-container\n *ngTemplateOutlet=\"headerItemTemplate ? headerItemTemplate : headerItemBase;\n context: {$implicit: item, data: data, valueKey: valueKey, groupKey: groupKey, displayKey: displayKey}\">\n </ng-container>\n </ng-container>\n <!-- if item is 'null' it should be displayed and !!(item?.isHeader) would resolve it to 'false' and not display it -->\n <ng-container *ngIf=\"!item?.isHeader\">\n <ng-container #listItem\n *ngTemplateOutlet=\"template; context: {$implicit: item, data: data, valueKey: valueKey, displayKey: displayKey};\">\n </ng-container>\n </ng-container>\n </igx-combo-item>\n </div>\n\n <div class=\"igx-combo__add\" *ngIf=\"filteredData.length === 0 || isAddButtonVisible()\">\n <div class=\"igx-combo__empty\" *ngIf=\"filteredData.length === 0\">\n <ng-container *ngTemplateOutlet=\"emptyTemplate ? emptyTemplate : empty\">\n </ng-container>\n </div>\n <igx-combo-add-item #addItem [itemHeight]=\"itemHeight\" *ngIf=\"isAddButtonVisible()\"\n [tabindex]=\"dropdown.collapsed ? -1 : customValueFlag ? 1 : -1\" class=\"igx-combo__add-item\" role=\"button\"\n aria-label=\"Add Item\" [index]=\"virtualScrollContainer.igxForOf.length\">\n <ng-container *ngTemplateOutlet=\"addItemTemplate ? addItemTemplate : addItemDefault\">\n </ng-container>\n </igx-combo-add-item>\n </div>\n <ng-container *ngTemplateOutlet=\"footerTemplate\">\n </ng-container>\n</igx-combo-drop-down>\n\n<ng-template #complex let-display let-data=\"data\" let-key=\"displayKey\">\n {{display[key]}}\n</ng-template>\n<ng-template #primitive let-display>\n {{display}}\n</ng-template>\n<ng-template #empty>\n <span>{{resourceStrings.igx_combo_empty_message}}</span>\n</ng-template>\n<ng-template #addItemDefault let-control>\n <button type=\"button\" igxButton=\"flat\" igxRipple>Add item</button>\n</ng-template>\n<ng-template #headerItemBase let-item let-key=\"valueKey\" let-groupKey=\"groupKey\">\n {{ item[key] }}\n</ng-template>\n" }]
|
|
39524
39510
|
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: IgxSelectionAPIService }, { type: IgxComboAPIService }, { type: IgxIconService }, { type: PlatformUtil }, { type: undefined, decorators: [{
|
|
39525
39511
|
type: Optional
|
|
39526
39512
|
}, {
|
|
@@ -54114,8 +54100,8 @@ class IgxExcelStyleSearchComponent {
|
|
|
54114
54100
|
}
|
|
54115
54101
|
onArrowUpKeyDown() {
|
|
54116
54102
|
if (this.focusedItem && this.focusedItem.index === 0 && this.virtDir.state.startIndex === 0) {
|
|
54117
|
-
|
|
54118
|
-
|
|
54103
|
+
// on ArrowUp the focus stays on the same element if it is the first focused
|
|
54104
|
+
return;
|
|
54119
54105
|
}
|
|
54120
54106
|
else {
|
|
54121
54107
|
this.navigateItem(this.focusedItem ? this.focusedItem.index - 1 : 0);
|
|
@@ -54125,8 +54111,8 @@ class IgxExcelStyleSearchComponent {
|
|
|
54125
54111
|
onArrowDownKeyDown() {
|
|
54126
54112
|
const lastIndex = this.virtDir.igxForOf.length - 1;
|
|
54127
54113
|
if (this.focusedItem && this.focusedItem.index === lastIndex) {
|
|
54128
|
-
|
|
54129
|
-
|
|
54114
|
+
// on ArrowDown the focus stays on the same element if it is the last focused
|
|
54115
|
+
return;
|
|
54130
54116
|
}
|
|
54131
54117
|
else {
|
|
54132
54118
|
this.navigateItem(this.focusedItem ? this.focusedItem.index + 1 : 0);
|
|
@@ -76879,7 +76865,8 @@ class IgxGridStateDirective {
|
|
|
76879
76865
|
selectable: c.selectable,
|
|
76880
76866
|
parent: c.parent ? c.parent.header : null,
|
|
76881
76867
|
columnGroup: c.columnGroup,
|
|
76882
|
-
disableHiding: c.disableHiding
|
|
76868
|
+
disableHiding: c.disableHiding,
|
|
76869
|
+
disablePinning: c.disablePinning
|
|
76883
76870
|
}));
|
|
76884
76871
|
return { columns: gridColumns };
|
|
76885
76872
|
},
|