@leanix/components 0.2.96 → 0.2.100
Sign up to get free protection for your applications and to get access to all the features.
- package/bundles/leanix-components.umd.js +10 -7
- package/bundles/leanix-components.umd.js.map +1 -1
- package/esm2015/lib/forms-ui/components/options-dropdown/options-dropdown.component.js +5 -2
- package/esm2015/lib/forms-ui/components/options-dropdown/options-dropdown.component.js.map +1 -1
- package/esm2015/lib/forms-ui/components/options-sub-dropdown/options-sub-dropdown.component.js +4 -4
- package/esm2015/lib/forms-ui/components/options-sub-dropdown/options-sub-dropdown.component.js.map +1 -1
- package/esm2015/lib/forms-ui/components/sorting-dropdown/sorting-dropdown.component.js +1 -1
- package/esm2015/lib/forms-ui/models/base-select.directive.js +1 -1
- package/esm2015/lib/forms-ui/models/base-select.directive.js.map +1 -1
- package/fesm2015/leanix-components.js +10 -7
- package/fesm2015/leanix-components.js.map +1 -1
- package/lib/forms-ui/components/options-dropdown/options-dropdown.component.d.ts +2 -1
- package/package.json +1 -1
@@ -15,6 +15,7 @@ export class OptionsDropdownComponent {
|
|
15
15
|
this.closeOnScroll = false;
|
16
16
|
this.disabled = false;
|
17
17
|
this.maxHeight = 'none';
|
18
|
+
this.closeOnSelect = true;
|
18
19
|
this.highlightedOptionIndex$ = new BehaviorSubject(0);
|
19
20
|
this._open = false;
|
20
21
|
this.isSubdropdownExpanded = false;
|
@@ -68,7 +69,7 @@ export class OptionsDropdownComponent {
|
|
68
69
|
});
|
69
70
|
/** Combined stream of all of the child options' select outputs. */
|
70
71
|
this._options.changes
|
71
|
-
.pipe(startWith(this._options), switchMap(() => merge(...this._options.map((option) => option.select), ...this._options.map((option) => option.selectedClick))), delay(0), takeUntil(this.destroyed$))
|
72
|
+
.pipe(startWith(this._options), filter(() => this.closeOnSelect), switchMap(() => merge(...this._options.map((option) => option.select), ...this._options.map((option) => option.selectedClick))), delay(0), takeUntil(this.destroyed$))
|
72
73
|
.subscribe((_value) => {
|
73
74
|
this.closeDropdown();
|
74
75
|
});
|
@@ -140,7 +141,7 @@ export class OptionsDropdownComponent {
|
|
140
141
|
}
|
141
142
|
}
|
142
143
|
OptionsDropdownComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.1.4", ngImport: i0, type: OptionsDropdownComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
143
|
-
OptionsDropdownComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.1.4", type: OptionsDropdownComponent, selector: "lx-options-dropdown", inputs: { align: "align", closeOnScroll: "closeOnScroll", disabled: "disabled", maxHeight: "maxHeight" }, queries: [{ propertyName: "trigger", first: true, predicate: KeyboardActionSourceDirective, descendants: true }, { propertyName: "_options", predicate: OptionComponent, descendants: true }], ngImport: i0, template: "<div (click)=\"open = !open\" class=\"triggerContainer\">\n <ng-content select=\"[lxKeyboardActionSource]\"></ng-content>\n</div>\n<ul\n *ngIf=\"open\"\n [class.left]=\"align === 'left'\"\n [class.showScrollbar]=\"maxHeight !== 'none'\"\n [style.max-height]=\"maxHeight\"\n lxAutoclose\n (autoclose)=\"closeDropdown()\"\n>\n <ng-content></ng-content>\n</ul>\n", styles: [":root{--lx-color-danger:#f96464;--lx-color-grey80:#c2c9d6;--lx-color-grey90:#e1e5eb}ul::-webkit-scrollbar{width:.5em;height:.5em;background-color:transparent}ul::-webkit-scrollbar-thumb{background-color:#c2c9d6;border-radius:6px}ul::-webkit-scrollbar-track-piece{background-color:transparent}:host{display:inline-block;position:relative}ul{position:absolute;background-color:#fff;border-radius:3px;box-shadow:0 8px 12px 2px rgba(0,0,0,.15);border:1px solid #e1e5eb;text-align:left;list-style:none;margin:0;padding-left:0;z-index:20;white-space:nowrap}ul.left{right:0;padding-right:0}ul.showScrollbar{overflow-y:auto}.triggerContainer{display:inline-block}"], directives: [{ type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.AutocloseDirective, selector: "[lxAutoclose]", inputs: ["autocloseGroup"], outputs: ["autoclose"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
144
|
+
OptionsDropdownComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.1.4", type: OptionsDropdownComponent, selector: "lx-options-dropdown", inputs: { align: "align", closeOnScroll: "closeOnScroll", disabled: "disabled", maxHeight: "maxHeight", closeOnSelect: "closeOnSelect" }, queries: [{ propertyName: "trigger", first: true, predicate: KeyboardActionSourceDirective, descendants: true }, { propertyName: "_options", predicate: OptionComponent, descendants: true }], ngImport: i0, template: "<div (click)=\"open = !open\" class=\"triggerContainer\">\n <ng-content select=\"[lxKeyboardActionSource]\"></ng-content>\n</div>\n<ul\n *ngIf=\"open\"\n [class.left]=\"align === 'left'\"\n [class.showScrollbar]=\"maxHeight !== 'none'\"\n [style.max-height]=\"maxHeight\"\n lxAutoclose\n (autoclose)=\"closeDropdown()\"\n>\n <ng-content></ng-content>\n</ul>\n", styles: [":root{--lx-color-danger:#f96464;--lx-color-grey80:#c2c9d6;--lx-color-grey90:#e1e5eb}ul::-webkit-scrollbar{width:.5em;height:.5em;background-color:transparent}ul::-webkit-scrollbar-thumb{background-color:#c2c9d6;border-radius:6px}ul::-webkit-scrollbar-track-piece{background-color:transparent}:host{display:inline-block;position:relative}ul{position:absolute;background-color:#fff;border-radius:3px;box-shadow:0 8px 12px 2px rgba(0,0,0,.15);border:1px solid #e1e5eb;text-align:left;list-style:none;margin:0;padding-left:0;z-index:20;white-space:nowrap}ul.left{right:0;padding-right:0}ul.showScrollbar{overflow-y:auto}.triggerContainer{display:inline-block}"], directives: [{ type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.AutocloseDirective, selector: "[lxAutoclose]", inputs: ["autocloseGroup"], outputs: ["autoclose"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
144
145
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.1.4", ngImport: i0, type: OptionsDropdownComponent, decorators: [{
|
145
146
|
type: Component,
|
146
147
|
args: [{
|
@@ -157,6 +158,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.1.4", ngImpor
|
|
157
158
|
type: Input
|
158
159
|
}], maxHeight: [{
|
159
160
|
type: Input
|
161
|
+
}], closeOnSelect: [{
|
162
|
+
type: Input
|
160
163
|
}], trigger: [{
|
161
164
|
type: ContentChild,
|
162
165
|
args: [KeyboardActionSourceDirective]
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"options-dropdown.component.js","sourceRoot":"","sources":["options-dropdown.component.ts","options-dropdown.component.html"],"names":[],"mappings":"AAAA,OAAO,EAEL,uBAAuB,EAEvB,SAAS,EACT,YAAY,EACZ,eAAe,EACf,KAAK,EAGN,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AACjF,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,oBAAoB,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AACzI,OAAO,EAAE,6BAA6B,EAAE,MAAM,mDAAmD,CAAC;AAClG,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;;;;AAQ7D,MAAM,OAAO,wBAAwB;
|
1
|
+
{"version":3,"file":"options-dropdown.component.js","sourceRoot":"","sources":["options-dropdown.component.ts","options-dropdown.component.html"],"names":[],"mappings":"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"}
|
package/esm2015/lib/forms-ui/components/options-sub-dropdown/options-sub-dropdown.component.js
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
import { Component, ContentChildren, HostBinding, HostListener, Input } from '@angular/core';
|
2
2
|
import { BehaviorSubject, combineLatest, fromEvent, merge, Subject } from 'rxjs';
|
3
|
-
import {
|
3
|
+
import { delay, map, startWith, switchMap, takeUntil } from 'rxjs/operators';
|
4
4
|
import { executeOnNextTick } from '../../../shared/misc-helpers';
|
5
5
|
import { OptionComponent } from '../option/option.component';
|
6
6
|
import * as i0 from "@angular/core";
|
@@ -39,14 +39,14 @@ export class OptionsSubDropdownComponent {
|
|
39
39
|
option.isSuboption = true;
|
40
40
|
return option;
|
41
41
|
})));
|
42
|
-
return combineLatest(this.trigger.highlight.asObservable(), optionChange$).pipe(delay(0), // Need tick delay to get option highlighted and filter it out after
|
42
|
+
return combineLatest([this.trigger.highlight.asObservable(), optionChange$]).pipe(delay(0), // Need tick delay to get option highlighted and filter it out after
|
43
43
|
map(([isHighlighted, options]) => isHighlighted || options.some((option) => option.isHighlighted)));
|
44
44
|
}
|
45
45
|
showByMouse() {
|
46
46
|
const mouseEnterTrigger$ = fromEvent(this.trigger.elementRef.nativeElement, 'mouseenter');
|
47
47
|
const mouseLeaveTrigger$ = fromEvent(this.trigger.elementRef.nativeElement, 'mouseleave');
|
48
48
|
const showOnEnterMouse$ = mouseEnterTrigger$.pipe(map(() => true));
|
49
|
-
const showOnEnterSubmenu$ = mouseEnterTrigger$.pipe(switchMap(() => mouseLeaveTrigger
|
49
|
+
const showOnEnterSubmenu$ = mouseEnterTrigger$.pipe(switchMap(() => mouseLeaveTrigger$), switchMap(() => this.mouseInside$));
|
50
50
|
return merge(showOnEnterMouse$, showOnEnterSubmenu$);
|
51
51
|
}
|
52
52
|
closeDropdown() {
|
@@ -54,7 +54,7 @@ export class OptionsSubDropdownComponent {
|
|
54
54
|
}
|
55
55
|
}
|
56
56
|
OptionsSubDropdownComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.1.4", ngImport: i0, type: OptionsSubDropdownComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
57
|
-
OptionsSubDropdownComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.1.4", type: OptionsSubDropdownComponent, selector: "lx-options-sub-dropdown", inputs: { trigger: "trigger", align: "align" }, host: { listeners: { "mouseenter": "mouseenter()", "mouseleave": "mouseleave()" }, properties: { "class.hidden": "this.hidden" } }, queries: [{ propertyName: "options", predicate: OptionComponent, descendants: true }], ngImport: i0, template: "<
|
57
|
+
OptionsSubDropdownComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.1.4", type: OptionsSubDropdownComponent, selector: "lx-options-sub-dropdown", inputs: { trigger: "trigger", align: "align" }, host: { listeners: { "mouseenter": "mouseenter()", "mouseleave": "mouseleave()" }, properties: { "class.hidden": "this.hidden" } }, queries: [{ propertyName: "options", predicate: OptionComponent, descendants: true }], ngImport: i0, template: "<div class=\"spacingContainer\" [class.left]=\"align === 'left'\">\n <ul class=\"sub-dropdown\" lxAutoclose (autoclose)=\"closeDropdown()\">\n <ng-content></ng-content>\n </ul>\n</div>\n", styles: [":root{--lx-color-danger:#f96464;--lx-color-grey80:#c2c9d6;--lx-color-grey90:#e1e5eb}:host.hidden{display:none}.spacingContainer{position:absolute;left:100%;transform:translateY(-32px);padding:0 0 0 4px}.spacingContainer.left{left:auto;right:100%;padding:0 4px 0 0}.sub-dropdown{padding:0;background-color:#fff;border:1px solid #e1e5eb;border-radius:3px;box-shadow:0 8px 12px 2px rgba(0,0,0,.15);text-align:left;list-style:none}"], directives: [{ type: i1.AutocloseDirective, selector: "[lxAutoclose]", inputs: ["autocloseGroup"], outputs: ["autoclose"] }] });
|
58
58
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.1.4", ngImport: i0, type: OptionsSubDropdownComponent, decorators: [{
|
59
59
|
type: Component,
|
60
60
|
args: [{
|
package/esm2015/lib/forms-ui/components/options-sub-dropdown/options-sub-dropdown.component.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"options-sub-dropdown.component.js","sourceRoot":"","sources":["options-sub-dropdown.component.ts","options-sub-dropdown.component.html"],"names":[],"mappings":"AAAA,OAAO,EAGL,SAAS,EACT,eAAe,EACf,WAAW,EACX,YAAY,EACZ,KAAK,EAGN,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AACjF,OAAO,EAAE,
|
1
|
+
{"version":3,"file":"options-sub-dropdown.component.js","sourceRoot":"","sources":["options-sub-dropdown.component.ts","options-sub-dropdown.component.html"],"names":[],"mappings":"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"}
|
@@ -36,7 +36,7 @@ export class SortingDropdownComponent {
|
|
36
36
|
}
|
37
37
|
}
|
38
38
|
SortingDropdownComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.1.4", ngImport: i0, type: SortingDropdownComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
39
|
-
SortingDropdownComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.1.4", type: SortingDropdownComponent, selector: "lx-sorting-dropdown", inputs: { currentSorting: "currentSorting", sortingOptions: "sortingOptions" }, outputs: { apply: "apply" }, ngImport: i0, template: "<lx-options-dropdown *ngIf=\"currentSorting\">\n <lx-sorting-dropdown-trigger\n lxKeyboardActionSource\n [label]=\"NAME + '.sortBy' | translate\"\n [currentSortingLabel]=\"getSortLabel(currentSorting?.key) | translate\"\n >\n </lx-sorting-dropdown-trigger>\n <lx-option-group (select)=\"applySortingMode($event)\">\n <lx-option *ngFor=\"let option of sortingOptions\" [value]=\"option\" [selected]=\"option.key === currentSorting?.key\">\n {{ getSortLabel(option?.key) | translate }}\n </lx-option>\n </lx-option-group>\n <lx-option-group (select)=\"applySortingDirection($event)\">\n <lx-option *ngFor=\"let sortDirection of sortingDirections\" [value]=\"sortDirection\" [selected]=\"sortDirection === currentSorting?.order\">\n {{ 'sorting.' + currentSorting?.key + '.' + sortDirection | translate }}\n </lx-option>\n </lx-option-group>\n</lx-options-dropdown>\n", styles: [""], components: [{ type: i1.OptionsDropdownComponent, selector: "lx-options-dropdown", inputs: ["align", "closeOnScroll", "disabled", "maxHeight"] }, { type: i2.SortingDropdownTriggerComponent, selector: "lx-sorting-dropdown-trigger", inputs: ["label", "currentSortingLabel", "disabled"] }, { type: i3.OptionGroupComponent, selector: "lx-option-group", inputs: ["hasSelectedState", "label"], outputs: ["select"] }, { type: i4.OptionComponent, selector: "lx-option", inputs: ["selected", "isHighlighted", "disabled", "value", "hasSelectedState"], outputs: ["select", "highlight", "selectedClick"] }], directives: [{ type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i6.KeyboardActionSourceDirective, selector: "[lxKeyboardActionSource]", exportAs: ["keyboardActionSource"] }, { type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "translate": i7.TranslatePipe } });
|
39
|
+
SortingDropdownComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.1.4", type: SortingDropdownComponent, selector: "lx-sorting-dropdown", inputs: { currentSorting: "currentSorting", sortingOptions: "sortingOptions" }, outputs: { apply: "apply" }, ngImport: i0, template: "<lx-options-dropdown *ngIf=\"currentSorting\">\n <lx-sorting-dropdown-trigger\n lxKeyboardActionSource\n [label]=\"NAME + '.sortBy' | translate\"\n [currentSortingLabel]=\"getSortLabel(currentSorting?.key) | translate\"\n >\n </lx-sorting-dropdown-trigger>\n <lx-option-group (select)=\"applySortingMode($event)\">\n <lx-option *ngFor=\"let option of sortingOptions\" [value]=\"option\" [selected]=\"option.key === currentSorting?.key\">\n {{ getSortLabel(option?.key) | translate }}\n </lx-option>\n </lx-option-group>\n <lx-option-group (select)=\"applySortingDirection($event)\">\n <lx-option *ngFor=\"let sortDirection of sortingDirections\" [value]=\"sortDirection\" [selected]=\"sortDirection === currentSorting?.order\">\n {{ 'sorting.' + currentSorting?.key + '.' + sortDirection | translate }}\n </lx-option>\n </lx-option-group>\n</lx-options-dropdown>\n", styles: [""], components: [{ type: i1.OptionsDropdownComponent, selector: "lx-options-dropdown", inputs: ["align", "closeOnScroll", "disabled", "maxHeight", "closeOnSelect"] }, { type: i2.SortingDropdownTriggerComponent, selector: "lx-sorting-dropdown-trigger", inputs: ["label", "currentSortingLabel", "disabled"] }, { type: i3.OptionGroupComponent, selector: "lx-option-group", inputs: ["hasSelectedState", "label"], outputs: ["select"] }, { type: i4.OptionComponent, selector: "lx-option", inputs: ["selected", "isHighlighted", "disabled", "value", "hasSelectedState"], outputs: ["select", "highlight", "selectedClick"] }], directives: [{ type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i6.KeyboardActionSourceDirective, selector: "[lxKeyboardActionSource]", exportAs: ["keyboardActionSource"] }, { type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "translate": i7.TranslatePipe } });
|
40
40
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.1.4", ngImport: i0, type: SortingDropdownComponent, decorators: [{
|
41
41
|
type: Component,
|
42
42
|
args: [{
|
@@ -36,7 +36,7 @@ export class BaseSelectDirective {
|
|
36
36
|
this.selectFirstOption();
|
37
37
|
});
|
38
38
|
this.open
|
39
|
-
.pipe(
|
39
|
+
.pipe(filter(() => !this.disabled), distinctUntilChanged(), takeUntil(this.destroyed$))
|
40
40
|
.subscribe((isOpen) => {
|
41
41
|
this.dropdownOpen = isOpen;
|
42
42
|
if (isOpen) {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"base-select.directive.js","sourceRoot":"","sources":["base-select.directive.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,SAAS,EAET,YAAY,EACZ,KAAK,EAGL,MAAM,EAEN,SAAS,EACV,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAChD,OAAO,EAAE,oBAAoB,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AACzE,OAAO,EAAE,oBAAoB,EAAE,MAAM,yCAAyC,CAAC;;
|
1
|
+
{"version":3,"file":"base-select.directive.js","sourceRoot":"","sources":["base-select.directive.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,SAAS,EAET,YAAY,EACZ,KAAK,EAGL,MAAM,EAEN,SAAS,EACV,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAChD,OAAO,EAAE,oBAAoB,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AACzE,OAAO,EAAE,oBAAoB,EAAE,MAAM,yCAAyC,CAAC;;AAU/E,MAAM,OAAgB,mBAAmB;IADzC;QAGW,aAAQ,GAAY,KAAK,CAAC;QAC1B,gBAAW,GAAY,KAAK,CAAC;QAC7B,sBAAiB,GAAW,GAAG,CAAC;QAChC,eAAU,GAAY,IAAI,CAAC;QAE1B,UAAK,GAAG,IAAI,YAAY,EAAU,CAAC;QACnC,UAAK,GAAG,IAAI,YAAY,EAAQ,CAAC;QACjC,SAAI,GAAG,IAAI,YAAY,EAAW,CAAC;QAO7B,WAAM,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC;QACnC,uBAAkB,GAAG,IAAI,eAAe,CAAmB,QAAQ,CAAC,CAAC;QAC9E,iBAAY,GAAG,KAAK,CAAC;QAG5B,kFAAkF;QAClE,mCAA8B,GAAG,IAAI,OAAO,EAAwB,CAAC;QACrE,iCAA4B,GAAG,IAAI,OAAO,EAAwB,CAAC;QAC5E,0BAAqB,GAAW,CAAC,CAAC;QAElC,oBAAe,GAAY,KAAK,CAAC;QAExB,iBAAY,GAAG,IAAI,WAAW,EAAE,CAAC;QAE1C,mBAAc,GAAY,KAAK,CAAC;QAE9B,eAAU,GAAG,IAAI,OAAO,EAAQ,CAAC;KAyH3C;IAnHC,eAAe;QACb,IAAI,CAAC,YAAY,CAAC,YAAY;aAC3B,IAAI,CACH,MAAM,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,EAC7B,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAC3B;aACA,SAAS,CAAC,CAAC,KAAK,EAAE,EAAE;YACnB,IAAI,KAAK,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;gBAC7B,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aACtB;YACD,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACvB,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC3B,CAAC,CAAC,CAAC;QAEL,IAAI,CAAC,IAAI;aACN,IAAI,CACH,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,EAC5B,oBAAoB,EAAE,EACtB,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAC3B;aACA,SAAS,CAAC,CAAC,MAAM,EAAE,EAAE;YACpB,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC;YAE3B,IAAI,MAAM,EAAE;gBACV,IAAI,CAAC,gBAAgB,EAAE,CAAC;aACzB;iBAAM;gBACL,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBACxB,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;aACnB;QACH,CAAC,CAAC,CAAC;QAEL,IAAI,IAAI,CAAC,WAAW,EAAE;YACpB,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;SAChC;IACH,CAAC;IAED,WAAW,CAAC,OAAsB;QAChC,IAAI,UAAU,IAAI,OAAO,EAAE;YACzB,IAAI,IAAI,CAAC,QAAQ,EAAE;gBACjB,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC;aAC7B;iBAAM;gBACL,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC;aAC5B;SACF;IACH,CAAC;IAED,WAAW;QACT,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;IACzB,CAAC;IAED;;OAEG;IACI,WAAW,CAAC,MAAe;QAChC,IAAI,MAAM,IAAI,CAAC,IAAI,CAAC,YAAY,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;YACpD,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;SACpC;QACD,IAAI,CAAC,KAAK,EAAE,CAAC;IACf,CAAC;IAEM,mBAAmB,CAAC,KAAiB;QAC1C,KAAK,CAAC,eAAe,EAAE,CAAC;QACxB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACtB,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACtB,CAAC;IAES,gBAAgB;QACxB,MAAM,YAAY,GAAG,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,qBAAqB,EAAE,CAAC;QACjF,MAAM,gBAAgB,GAAG,QAAQ,CAAC,eAAe,CAAC,YAAY,GAAG,YAAY,CAAC,GAAG,GAAG,YAAY,CAAC,MAAM,GAAG,IAAI,CAAC,iBAAiB,CAAC;QACjI,MAAM,aAAa,GAAG,YAAY,CAAC,GAAG,GAAG,IAAI,CAAC,iBAAiB,CAAC;QAChE,MAAM,KAAK,GAAG,gBAAgB,GAAG,CAAC,IAAI,aAAa,GAAG,gBAAgB,CAAC;QAEvE,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;IACzD,CAAC;IAES,gBAAgB;QACxB,IAAI,CAAC,qBAAqB,GAAG,CAAC,CAAC;QAC/B,IAAI,CAAC,8BAA8B,CAAC,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC;QACxE,IAAI,CAAC,4BAA4B,CAAC,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC;QACtE,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACtB,CAAC;IAES,aAAa,CACrB,KAAoB,EACpB,KAAuB,EACvB,qBAA6B,EAC7B,eAAwB;QAExB,OAAO;YACL,KAAK;YACL,mBAAmB,EAAE,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC;YACnD,qBAAqB;YACrB,eAAe;SAChB,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACO,kBAAkB,CAAC,MAAW;QACtC,IAAI,SAAS,GAAG,CAAC,CAAC;QAClB,IAAI,MAAM,CAAC,cAAc,IAAI,QAAQ,CAAC,MAAM,CAAC,cAAc,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE;YACtE,+DAA+D;YAC/D,SAAS,GAAG,MAAM,CAAC,cAAc,KAAK,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC;SAC1F;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAES,iBAAiB;QACzB,IAAI,CAAC,4BAA4B,CAAC,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC;IACrE,CAAC;;gHAxJmB,mBAAmB;oGAAnB,mBAAmB;2FAAnB,mBAAmB;kBADxC,SAAS;8BAEC,WAAW;sBAAnB,KAAK;gBACG,QAAQ;sBAAhB,KAAK;gBACG,WAAW;sBAAnB,KAAK;gBACG,iBAAiB;sBAAzB,KAAK;gBACG,UAAU;sBAAlB,KAAK;gBAEI,KAAK;sBAAd,MAAM;gBACG,KAAK;sBAAd,MAAM;gBACG,IAAI;sBAAb,MAAM;gBAE0C,gBAAgB;sBAAhE,SAAS;uBAAC,kBAAkB,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE"}
|
@@ -3278,7 +3278,7 @@ class BaseSelectDirective {
|
|
3278
3278
|
this.selectFirstOption();
|
3279
3279
|
});
|
3280
3280
|
this.open
|
3281
|
-
.pipe(
|
3281
|
+
.pipe(filter(() => !this.disabled), distinctUntilChanged(), takeUntil(this.destroyed$))
|
3282
3282
|
.subscribe((isOpen) => {
|
3283
3283
|
this.dropdownOpen = isOpen;
|
3284
3284
|
if (isOpen) {
|
@@ -3855,6 +3855,7 @@ class OptionsDropdownComponent {
|
|
3855
3855
|
this.closeOnScroll = false;
|
3856
3856
|
this.disabled = false;
|
3857
3857
|
this.maxHeight = 'none';
|
3858
|
+
this.closeOnSelect = true;
|
3858
3859
|
this.highlightedOptionIndex$ = new BehaviorSubject(0);
|
3859
3860
|
this._open = false;
|
3860
3861
|
this.isSubdropdownExpanded = false;
|
@@ -3908,7 +3909,7 @@ class OptionsDropdownComponent {
|
|
3908
3909
|
});
|
3909
3910
|
/** Combined stream of all of the child options' select outputs. */
|
3910
3911
|
this._options.changes
|
3911
|
-
.pipe(startWith(this._options), switchMap(() => merge(...this._options.map((option) => option.select), ...this._options.map((option) => option.selectedClick))), delay(0), takeUntil(this.destroyed$))
|
3912
|
+
.pipe(startWith(this._options), filter(() => this.closeOnSelect), switchMap(() => merge(...this._options.map((option) => option.select), ...this._options.map((option) => option.selectedClick))), delay(0), takeUntil(this.destroyed$))
|
3912
3913
|
.subscribe((_value) => {
|
3913
3914
|
this.closeDropdown();
|
3914
3915
|
});
|
@@ -3980,7 +3981,7 @@ class OptionsDropdownComponent {
|
|
3980
3981
|
}
|
3981
3982
|
}
|
3982
3983
|
OptionsDropdownComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.1.4", ngImport: i0, type: OptionsDropdownComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
3983
|
-
OptionsDropdownComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.1.4", type: OptionsDropdownComponent, selector: "lx-options-dropdown", inputs: { align: "align", closeOnScroll: "closeOnScroll", disabled: "disabled", maxHeight: "maxHeight" }, queries: [{ propertyName: "trigger", first: true, predicate: KeyboardActionSourceDirective, descendants: true }, { propertyName: "_options", predicate: OptionComponent, descendants: true }], ngImport: i0, template: "<div (click)=\"open = !open\" class=\"triggerContainer\">\n <ng-content select=\"[lxKeyboardActionSource]\"></ng-content>\n</div>\n<ul\n *ngIf=\"open\"\n [class.left]=\"align === 'left'\"\n [class.showScrollbar]=\"maxHeight !== 'none'\"\n [style.max-height]=\"maxHeight\"\n lxAutoclose\n (autoclose)=\"closeDropdown()\"\n>\n <ng-content></ng-content>\n</ul>\n", styles: [":root{--lx-color-danger:#f96464;--lx-color-grey80:#c2c9d6;--lx-color-grey90:#e1e5eb}ul::-webkit-scrollbar{width:.5em;height:.5em;background-color:transparent}ul::-webkit-scrollbar-thumb{background-color:#c2c9d6;border-radius:6px}ul::-webkit-scrollbar-track-piece{background-color:transparent}:host{display:inline-block;position:relative}ul{position:absolute;background-color:#fff;border-radius:3px;box-shadow:0 8px 12px 2px rgba(0,0,0,.15);border:1px solid #e1e5eb;text-align:left;list-style:none;margin:0;padding-left:0;z-index:20;white-space:nowrap}ul.left{right:0;padding-right:0}ul.showScrollbar{overflow-y:auto}.triggerContainer{display:inline-block}"], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: AutocloseDirective, selector: "[lxAutoclose]", inputs: ["autocloseGroup"], outputs: ["autoclose"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
3984
|
+
OptionsDropdownComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.1.4", type: OptionsDropdownComponent, selector: "lx-options-dropdown", inputs: { align: "align", closeOnScroll: "closeOnScroll", disabled: "disabled", maxHeight: "maxHeight", closeOnSelect: "closeOnSelect" }, queries: [{ propertyName: "trigger", first: true, predicate: KeyboardActionSourceDirective, descendants: true }, { propertyName: "_options", predicate: OptionComponent, descendants: true }], ngImport: i0, template: "<div (click)=\"open = !open\" class=\"triggerContainer\">\n <ng-content select=\"[lxKeyboardActionSource]\"></ng-content>\n</div>\n<ul\n *ngIf=\"open\"\n [class.left]=\"align === 'left'\"\n [class.showScrollbar]=\"maxHeight !== 'none'\"\n [style.max-height]=\"maxHeight\"\n lxAutoclose\n (autoclose)=\"closeDropdown()\"\n>\n <ng-content></ng-content>\n</ul>\n", styles: [":root{--lx-color-danger:#f96464;--lx-color-grey80:#c2c9d6;--lx-color-grey90:#e1e5eb}ul::-webkit-scrollbar{width:.5em;height:.5em;background-color:transparent}ul::-webkit-scrollbar-thumb{background-color:#c2c9d6;border-radius:6px}ul::-webkit-scrollbar-track-piece{background-color:transparent}:host{display:inline-block;position:relative}ul{position:absolute;background-color:#fff;border-radius:3px;box-shadow:0 8px 12px 2px rgba(0,0,0,.15);border:1px solid #e1e5eb;text-align:left;list-style:none;margin:0;padding-left:0;z-index:20;white-space:nowrap}ul.left{right:0;padding-right:0}ul.showScrollbar{overflow-y:auto}.triggerContainer{display:inline-block}"], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: AutocloseDirective, selector: "[lxAutoclose]", inputs: ["autocloseGroup"], outputs: ["autoclose"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
3984
3985
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.1.4", ngImport: i0, type: OptionsDropdownComponent, decorators: [{
|
3985
3986
|
type: Component,
|
3986
3987
|
args: [{
|
@@ -3997,6 +3998,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.1.4", ngImpor
|
|
3997
3998
|
type: Input
|
3998
3999
|
}], maxHeight: [{
|
3999
4000
|
type: Input
|
4001
|
+
}], closeOnSelect: [{
|
4002
|
+
type: Input
|
4000
4003
|
}], trigger: [{
|
4001
4004
|
type: ContentChild,
|
4002
4005
|
args: [KeyboardActionSourceDirective]
|
@@ -4039,14 +4042,14 @@ class OptionsSubDropdownComponent {
|
|
4039
4042
|
option.isSuboption = true;
|
4040
4043
|
return option;
|
4041
4044
|
})));
|
4042
|
-
return combineLatest(this.trigger.highlight.asObservable(), optionChange$).pipe(delay(0), // Need tick delay to get option highlighted and filter it out after
|
4045
|
+
return combineLatest([this.trigger.highlight.asObservable(), optionChange$]).pipe(delay(0), // Need tick delay to get option highlighted and filter it out after
|
4043
4046
|
map(([isHighlighted, options]) => isHighlighted || options.some((option) => option.isHighlighted)));
|
4044
4047
|
}
|
4045
4048
|
showByMouse() {
|
4046
4049
|
const mouseEnterTrigger$ = fromEvent(this.trigger.elementRef.nativeElement, 'mouseenter');
|
4047
4050
|
const mouseLeaveTrigger$ = fromEvent(this.trigger.elementRef.nativeElement, 'mouseleave');
|
4048
4051
|
const showOnEnterMouse$ = mouseEnterTrigger$.pipe(map(() => true));
|
4049
|
-
const showOnEnterSubmenu$ = mouseEnterTrigger$.pipe(switchMap(() => mouseLeaveTrigger
|
4052
|
+
const showOnEnterSubmenu$ = mouseEnterTrigger$.pipe(switchMap(() => mouseLeaveTrigger$), switchMap(() => this.mouseInside$));
|
4050
4053
|
return merge(showOnEnterMouse$, showOnEnterSubmenu$);
|
4051
4054
|
}
|
4052
4055
|
closeDropdown() {
|
@@ -4054,7 +4057,7 @@ class OptionsSubDropdownComponent {
|
|
4054
4057
|
}
|
4055
4058
|
}
|
4056
4059
|
OptionsSubDropdownComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.1.4", ngImport: i0, type: OptionsSubDropdownComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
4057
|
-
OptionsSubDropdownComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.1.4", type: OptionsSubDropdownComponent, selector: "lx-options-sub-dropdown", inputs: { trigger: "trigger", align: "align" }, host: { listeners: { "mouseenter": "mouseenter()", "mouseleave": "mouseleave()" }, properties: { "class.hidden": "this.hidden" } }, queries: [{ propertyName: "options", predicate: OptionComponent, descendants: true }], ngImport: i0, template: "<
|
4060
|
+
OptionsSubDropdownComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.1.4", type: OptionsSubDropdownComponent, selector: "lx-options-sub-dropdown", inputs: { trigger: "trigger", align: "align" }, host: { listeners: { "mouseenter": "mouseenter()", "mouseleave": "mouseleave()" }, properties: { "class.hidden": "this.hidden" } }, queries: [{ propertyName: "options", predicate: OptionComponent, descendants: true }], ngImport: i0, template: "<div class=\"spacingContainer\" [class.left]=\"align === 'left'\">\n <ul class=\"sub-dropdown\" lxAutoclose (autoclose)=\"closeDropdown()\">\n <ng-content></ng-content>\n </ul>\n</div>\n", styles: [":root{--lx-color-danger:#f96464;--lx-color-grey80:#c2c9d6;--lx-color-grey90:#e1e5eb}:host.hidden{display:none}.spacingContainer{position:absolute;left:100%;transform:translateY(-32px);padding:0 0 0 4px}.spacingContainer.left{left:auto;right:100%;padding:0 4px 0 0}.sub-dropdown{padding:0;background-color:#fff;border:1px solid #e1e5eb;border-radius:3px;box-shadow:0 8px 12px 2px rgba(0,0,0,.15);text-align:left;list-style:none}"], directives: [{ type: AutocloseDirective, selector: "[lxAutoclose]", inputs: ["autocloseGroup"], outputs: ["autoclose"] }] });
|
4058
4061
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.1.4", ngImport: i0, type: OptionsSubDropdownComponent, decorators: [{
|
4059
4062
|
type: Component,
|
4060
4063
|
args: [{
|
@@ -4929,7 +4932,7 @@ class SortingDropdownComponent {
|
|
4929
4932
|
}
|
4930
4933
|
}
|
4931
4934
|
SortingDropdownComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.1.4", ngImport: i0, type: SortingDropdownComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
4932
|
-
SortingDropdownComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.1.4", type: SortingDropdownComponent, selector: "lx-sorting-dropdown", inputs: { currentSorting: "currentSorting", sortingOptions: "sortingOptions" }, outputs: { apply: "apply" }, ngImport: i0, template: "<lx-options-dropdown *ngIf=\"currentSorting\">\n <lx-sorting-dropdown-trigger\n lxKeyboardActionSource\n [label]=\"NAME + '.sortBy' | translate\"\n [currentSortingLabel]=\"getSortLabel(currentSorting?.key) | translate\"\n >\n </lx-sorting-dropdown-trigger>\n <lx-option-group (select)=\"applySortingMode($event)\">\n <lx-option *ngFor=\"let option of sortingOptions\" [value]=\"option\" [selected]=\"option.key === currentSorting?.key\">\n {{ getSortLabel(option?.key) | translate }}\n </lx-option>\n </lx-option-group>\n <lx-option-group (select)=\"applySortingDirection($event)\">\n <lx-option *ngFor=\"let sortDirection of sortingDirections\" [value]=\"sortDirection\" [selected]=\"sortDirection === currentSorting?.order\">\n {{ 'sorting.' + currentSorting?.key + '.' + sortDirection | translate }}\n </lx-option>\n </lx-option-group>\n</lx-options-dropdown>\n", styles: [""], components: [{ type: OptionsDropdownComponent, selector: "lx-options-dropdown", inputs: ["align", "closeOnScroll", "disabled", "maxHeight"] }, { type: SortingDropdownTriggerComponent, selector: "lx-sorting-dropdown-trigger", inputs: ["label", "currentSortingLabel", "disabled"] }, { type: OptionGroupComponent, selector: "lx-option-group", inputs: ["hasSelectedState", "label"], outputs: ["select"] }, { type: OptionComponent, selector: "lx-option", inputs: ["selected", "isHighlighted", "disabled", "value", "hasSelectedState"], outputs: ["select", "highlight", "selectedClick"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: KeyboardActionSourceDirective, selector: "[lxKeyboardActionSource]", exportAs: ["keyboardActionSource"] }, { type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "translate": i1$2.TranslatePipe } });
|
4935
|
+
SortingDropdownComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.1.4", type: SortingDropdownComponent, selector: "lx-sorting-dropdown", inputs: { currentSorting: "currentSorting", sortingOptions: "sortingOptions" }, outputs: { apply: "apply" }, ngImport: i0, template: "<lx-options-dropdown *ngIf=\"currentSorting\">\n <lx-sorting-dropdown-trigger\n lxKeyboardActionSource\n [label]=\"NAME + '.sortBy' | translate\"\n [currentSortingLabel]=\"getSortLabel(currentSorting?.key) | translate\"\n >\n </lx-sorting-dropdown-trigger>\n <lx-option-group (select)=\"applySortingMode($event)\">\n <lx-option *ngFor=\"let option of sortingOptions\" [value]=\"option\" [selected]=\"option.key === currentSorting?.key\">\n {{ getSortLabel(option?.key) | translate }}\n </lx-option>\n </lx-option-group>\n <lx-option-group (select)=\"applySortingDirection($event)\">\n <lx-option *ngFor=\"let sortDirection of sortingDirections\" [value]=\"sortDirection\" [selected]=\"sortDirection === currentSorting?.order\">\n {{ 'sorting.' + currentSorting?.key + '.' + sortDirection | translate }}\n </lx-option>\n </lx-option-group>\n</lx-options-dropdown>\n", styles: [""], components: [{ type: OptionsDropdownComponent, selector: "lx-options-dropdown", inputs: ["align", "closeOnScroll", "disabled", "maxHeight", "closeOnSelect"] }, { type: SortingDropdownTriggerComponent, selector: "lx-sorting-dropdown-trigger", inputs: ["label", "currentSortingLabel", "disabled"] }, { type: OptionGroupComponent, selector: "lx-option-group", inputs: ["hasSelectedState", "label"], outputs: ["select"] }, { type: OptionComponent, selector: "lx-option", inputs: ["selected", "isHighlighted", "disabled", "value", "hasSelectedState"], outputs: ["select", "highlight", "selectedClick"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: KeyboardActionSourceDirective, selector: "[lxKeyboardActionSource]", exportAs: ["keyboardActionSource"] }, { type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "translate": i1$2.TranslatePipe } });
|
4933
4936
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.1.4", ngImport: i0, type: SortingDropdownComponent, decorators: [{
|
4934
4937
|
type: Component,
|
4935
4938
|
args: [{
|