@leanix/components 0.3.102 → 0.3.104
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/esm2020/index.mjs +3 -1
- package/esm2020/lib/forms-ui/components/expanded-dropdown/expanded-dropdown.component.mjs +42 -0
- package/esm2020/lib/forms-ui/components/select-list/select-list.component.mjs +164 -0
- package/esm2020/lib/forms-ui/forms-ui.module.mjs +11 -1
- package/fesm2015/leanix-components.mjs +223 -25
- package/fesm2015/leanix-components.mjs.map +1 -1
- package/fesm2020/leanix-components.mjs +222 -25
- package/fesm2020/leanix-components.mjs.map +1 -1
- package/index.d.ts +2 -0
- package/lib/forms-ui/components/expanded-dropdown/expanded-dropdown.component.d.ts +16 -0
- package/lib/forms-ui/components/select-list/select-list.component.d.ts +29 -0
- package/lib/forms-ui/forms-ui.module.d.ts +48 -46
- package/package.json +1 -1
|
@@ -3655,6 +3655,42 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImpor
|
|
|
3655
3655
|
type: Input
|
|
3656
3656
|
}] } });
|
|
3657
3657
|
|
|
3658
|
+
class ExpandedDropdownComponent extends KeyboardSelectDirective {
|
|
3659
|
+
constructor() {
|
|
3660
|
+
super(...arguments);
|
|
3661
|
+
this.NAME = 'BasicDropdownComponent';
|
|
3662
|
+
this.options = [];
|
|
3663
|
+
this.defaultOptions = [];
|
|
3664
|
+
this.onChooseItem = new EventEmitter();
|
|
3665
|
+
this.onItemSelected = new EventEmitter();
|
|
3666
|
+
}
|
|
3667
|
+
selectOption(option) {
|
|
3668
|
+
this.onItemSelected.emit(this.defaultOptions.findIndex((element) => element == option));
|
|
3669
|
+
}
|
|
3670
|
+
chooseItem() {
|
|
3671
|
+
this.onChooseItem.emit();
|
|
3672
|
+
}
|
|
3673
|
+
}
|
|
3674
|
+
ExpandedDropdownComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: ExpandedDropdownComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
3675
|
+
ExpandedDropdownComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.1", type: ExpandedDropdownComponent, selector: "lx-expanded-dropdown", inputs: { options: "options", defaultOptions: "defaultOptions", searchKey: "searchKey" }, outputs: { onChooseItem: "onChooseItem", onItemSelected: "onItemSelected" }, queries: [{ propertyName: "optionTemplateRef", first: true, predicate: ["optionTemplate"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<ul class=\"options lxThinScrollbar\" #keyboardSelectContainer>\n <li *ngIf=\"searchKey && options?.length === 0\" tabindex=\"-1\" id=\"noOption\" class=\"option noOptionsAvailable\">\n {{ NAME + '.noResults' | translate }}\n </li>\n <li\n *ngFor=\"let option of options; let index = index\"\n tabindex=\"-1\"\n lxSelectableItem\n [scrollInContainer]=\"keyboardSelectContainer\"\n #item\n class=\"option keyboardSelectable\"\n (click)=\"selectOption(option)\"\n [class.selected]=\"isItemSelected(item, (selectedItem$ | async)?.element)\"\n >\n <ng-container *ngIf=\"optionTemplateRef; else simpleStringDisplay\">\n <ng-container *ngTemplateOutlet=\"optionTemplateRef; context: { $implicit: option, index: index }\"></ng-container>\n </ng-container>\n <ng-template #simpleStringDisplay>\n <span [title]=\"option.name\">\n {{ option.name }}\n </span>\n </ng-template>\n <div class=\"iconContainer\" *ngIf=\"isItemSelected(item, (selectedItem$ | async)?.element) && !searchKey\" (click)=\"chooseItem()\">\n <svg\n width=\"32px\"\n height=\"32px\"\n viewBox=\"0 0 32 32\"\n version=\"1.1\"\n xmlns=\"http://www.w3.org/2000/svg\"\n xmlns:xlink=\"http://www.w3.org/1999/xlink\"\n >\n <title>Button/Text/Primary/Medium</title>\n <g id=\"choose-workspace-D\" stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\">\n <g id=\"choose-a-workspace-D\" transform=\"translate(-911.000000, -429.000000)\">\n <g id=\"Group-3\" transform=\"translate(471.000000, 249.000000)\">\n <g id=\"Button/Text/Primary/Medium\" transform=\"translate(440.000000, 180.000000)\">\n <g id=\"UI/Shape/Rectangle-rounded-2px\" fill=\"#1666EE\">\n <circle id=\"\uD83C\uDFA8-Style\" cx=\"16\" cy=\"16\" r=\"16\"></circle>\n </g>\n <g id=\"Icons/basic/refresh\" transform=\"translate(7.000000, 11.000000)\" fill=\"#FFFFFF\" fill-rule=\"nonzero\">\n <g id=\"arrow-right\" transform=\"translate(3.772240, 0.000000)\">\n <path\n d=\"M5.41769476,0.0873198725 L4.92588162,0.579133017 C4.80947996,0.695534673 4.80947996,0.88427129 4.92588162,1.00069779 L8.77935771,4.85414904 L0.298083627,4.85414904 C0.133466944,4.85414904 0,4.98761598 0,5.15223266 L0,5.84776113 C0,6.01237781 0.133466944,6.14584475 0.298083627,6.14584475 L8.77935771,6.14584475 L4.92588162,9.99932084 C4.80947996,10.1157225 4.80947996,10.3044591 4.92588162,10.4208856 L5.41769476,10.9126988 C5.53409642,11.0291004 5.72283304,11.0291004 5.83925953,10.9126988 L11.0411666,5.7107917 C11.1575682,5.59439004 11.1575682,5.40565343 11.0411666,5.28922693 L5.83923469,0.0873198725 C5.72283304,-0.0291066242 5.53409642,-0.0291066242 5.41769476,0.0873198725 Z\"\n id=\"Path\"\n ></path>\n </g>\n </g>\n </g>\n </g>\n </g>\n </g>\n </svg>\n </div>\n </li>\n</ul>\n", styles: [".options{list-style:none;margin:0;padding:0;overflow-y:auto;max-height:200px}.optionSearch{padding:2px}.option{cursor:pointer;display:flex;justify-content:space-between;font-size:14px;height:40px;align-items:center;padding:4px 12px;border-bottom:1px solid #e1e5eb}.option:hover{background-color:#e1e5eb!important}.option.selected{background:#eaedf1}.option span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.iconContainer{display:flex}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: SelectableItemDirective, selector: "[lxSelectableItem]", inputs: ["scrollInContainer", "lxSelectableItem"], outputs: ["select"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i1$2.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
3676
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: ExpandedDropdownComponent, decorators: [{
|
|
3677
|
+
type: Component,
|
|
3678
|
+
args: [{ selector: 'lx-expanded-dropdown', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ul class=\"options lxThinScrollbar\" #keyboardSelectContainer>\n <li *ngIf=\"searchKey && options?.length === 0\" tabindex=\"-1\" id=\"noOption\" class=\"option noOptionsAvailable\">\n {{ NAME + '.noResults' | translate }}\n </li>\n <li\n *ngFor=\"let option of options; let index = index\"\n tabindex=\"-1\"\n lxSelectableItem\n [scrollInContainer]=\"keyboardSelectContainer\"\n #item\n class=\"option keyboardSelectable\"\n (click)=\"selectOption(option)\"\n [class.selected]=\"isItemSelected(item, (selectedItem$ | async)?.element)\"\n >\n <ng-container *ngIf=\"optionTemplateRef; else simpleStringDisplay\">\n <ng-container *ngTemplateOutlet=\"optionTemplateRef; context: { $implicit: option, index: index }\"></ng-container>\n </ng-container>\n <ng-template #simpleStringDisplay>\n <span [title]=\"option.name\">\n {{ option.name }}\n </span>\n </ng-template>\n <div class=\"iconContainer\" *ngIf=\"isItemSelected(item, (selectedItem$ | async)?.element) && !searchKey\" (click)=\"chooseItem()\">\n <svg\n width=\"32px\"\n height=\"32px\"\n viewBox=\"0 0 32 32\"\n version=\"1.1\"\n xmlns=\"http://www.w3.org/2000/svg\"\n xmlns:xlink=\"http://www.w3.org/1999/xlink\"\n >\n <title>Button/Text/Primary/Medium</title>\n <g id=\"choose-workspace-D\" stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\">\n <g id=\"choose-a-workspace-D\" transform=\"translate(-911.000000, -429.000000)\">\n <g id=\"Group-3\" transform=\"translate(471.000000, 249.000000)\">\n <g id=\"Button/Text/Primary/Medium\" transform=\"translate(440.000000, 180.000000)\">\n <g id=\"UI/Shape/Rectangle-rounded-2px\" fill=\"#1666EE\">\n <circle id=\"\uD83C\uDFA8-Style\" cx=\"16\" cy=\"16\" r=\"16\"></circle>\n </g>\n <g id=\"Icons/basic/refresh\" transform=\"translate(7.000000, 11.000000)\" fill=\"#FFFFFF\" fill-rule=\"nonzero\">\n <g id=\"arrow-right\" transform=\"translate(3.772240, 0.000000)\">\n <path\n d=\"M5.41769476,0.0873198725 L4.92588162,0.579133017 C4.80947996,0.695534673 4.80947996,0.88427129 4.92588162,1.00069779 L8.77935771,4.85414904 L0.298083627,4.85414904 C0.133466944,4.85414904 0,4.98761598 0,5.15223266 L0,5.84776113 C0,6.01237781 0.133466944,6.14584475 0.298083627,6.14584475 L8.77935771,6.14584475 L4.92588162,9.99932084 C4.80947996,10.1157225 4.80947996,10.3044591 4.92588162,10.4208856 L5.41769476,10.9126988 C5.53409642,11.0291004 5.72283304,11.0291004 5.83925953,10.9126988 L11.0411666,5.7107917 C11.1575682,5.59439004 11.1575682,5.40565343 11.0411666,5.28922693 L5.83923469,0.0873198725 C5.72283304,-0.0291066242 5.53409642,-0.0291066242 5.41769476,0.0873198725 Z\"\n id=\"Path\"\n ></path>\n </g>\n </g>\n </g>\n </g>\n </g>\n </g>\n </svg>\n </div>\n </li>\n</ul>\n", styles: [".options{list-style:none;margin:0;padding:0;overflow-y:auto;max-height:200px}.optionSearch{padding:2px}.option{cursor:pointer;display:flex;justify-content:space-between;font-size:14px;height:40px;align-items:center;padding:4px 12px;border-bottom:1px solid #e1e5eb}.option:hover{background-color:#e1e5eb!important}.option.selected{background:#eaedf1}.option span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.iconContainer{display:flex}\n"] }]
|
|
3679
|
+
}], propDecorators: { options: [{
|
|
3680
|
+
type: Input
|
|
3681
|
+
}], defaultOptions: [{
|
|
3682
|
+
type: Input
|
|
3683
|
+
}], searchKey: [{
|
|
3684
|
+
type: Input
|
|
3685
|
+
}], onChooseItem: [{
|
|
3686
|
+
type: Output
|
|
3687
|
+
}], onItemSelected: [{
|
|
3688
|
+
type: Output
|
|
3689
|
+
}], optionTemplateRef: [{
|
|
3690
|
+
type: ContentChild,
|
|
3691
|
+
args: ['optionTemplate']
|
|
3692
|
+
}] } });
|
|
3693
|
+
|
|
3658
3694
|
class FormErrorComponent {
|
|
3659
3695
|
constructor() {
|
|
3660
3696
|
this.translationKeys = [];
|
|
@@ -5062,30 +5098,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImpor
|
|
|
5062
5098
|
args: [PillItemComponent, { emitDistinctChangesOnly: true }]
|
|
5063
5099
|
}] } });
|
|
5064
5100
|
|
|
5065
|
-
/**
|
|
5066
|
-
* This directive is supposed to be used in combination with a single-select in
|
|
5067
|
-
* order to mark a ng-template as the template to be rendered within the select to
|
|
5068
|
-
* display the currently selected option.
|
|
5069
|
-
*
|
|
5070
|
-
* Example:
|
|
5071
|
-
*
|
|
5072
|
-
* ```
|
|
5073
|
-
* <lx-single-select>
|
|
5074
|
-
* <ng-template lxSelectedOption>{{ someValue }}</ng-template>
|
|
5075
|
-
* </lx-single-select>
|
|
5076
|
-
* ```
|
|
5077
|
-
*/
|
|
5078
|
-
class SelectedOptionDirective {
|
|
5079
|
-
}
|
|
5080
|
-
SelectedOptionDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: SelectedOptionDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
5081
|
-
SelectedOptionDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.1.1", type: SelectedOptionDirective, selector: "[lxSelectedOption]", ngImport: i0 });
|
|
5082
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: SelectedOptionDirective, decorators: [{
|
|
5083
|
-
type: Directive,
|
|
5084
|
-
args: [{
|
|
5085
|
-
selector: '[lxSelectedOption]'
|
|
5086
|
-
}]
|
|
5087
|
-
}] });
|
|
5088
|
-
|
|
5089
5101
|
function getKeyboardNavigationEvents(sourceElement, destroyed$) {
|
|
5090
5102
|
const inputKeyboardEvents$ = fromEvent(sourceElement, 'keydown').pipe(takeUntil(destroyed$));
|
|
5091
5103
|
const verticalNavigation$ = inputKeyboardEvents$.pipe(filter((event) => includes(event.keyCode, [ARROW_UP, ARROW_DOWN])));
|
|
@@ -5119,6 +5131,184 @@ function stopKeyboardEventPropagation(evt) {
|
|
|
5119
5131
|
evt.stopImmediatePropagation();
|
|
5120
5132
|
}
|
|
5121
5133
|
|
|
5134
|
+
class SelectListComponent extends BaseSelectDirective {
|
|
5135
|
+
constructor() {
|
|
5136
|
+
super(...arguments);
|
|
5137
|
+
this.searchPlaceholder = 'Search';
|
|
5138
|
+
this.options = [];
|
|
5139
|
+
this.selectionChange = new EventEmitter();
|
|
5140
|
+
this.onChooseItem = new EventEmitter();
|
|
5141
|
+
this.highlightedIndex = 0;
|
|
5142
|
+
this.destroyed$ = new Subject();
|
|
5143
|
+
}
|
|
5144
|
+
get dropdownTmpl() {
|
|
5145
|
+
return this.explicitDropdown || this.implicitDropdown;
|
|
5146
|
+
}
|
|
5147
|
+
resetInput() {
|
|
5148
|
+
this.queryControl.reset('', { emitEvent: false });
|
|
5149
|
+
}
|
|
5150
|
+
focus() {
|
|
5151
|
+
this.searchInput.nativeElement.focus();
|
|
5152
|
+
}
|
|
5153
|
+
focusAndOpen() {
|
|
5154
|
+
this.focus();
|
|
5155
|
+
this.open.next(true);
|
|
5156
|
+
}
|
|
5157
|
+
ngOnDestroy() {
|
|
5158
|
+
super.ngOnDestroy();
|
|
5159
|
+
this.destroyed$.next();
|
|
5160
|
+
}
|
|
5161
|
+
ngAfterViewInit() {
|
|
5162
|
+
super.ngAfterViewInit();
|
|
5163
|
+
this.open
|
|
5164
|
+
.pipe(distinctUntilChanged(), filter(() => !!this.dropdownComponent), map(() => this.selection), takeUntil(this.destroyed$))
|
|
5165
|
+
.subscribe((selection) => {
|
|
5166
|
+
if (selection) {
|
|
5167
|
+
const index = this.determineHighlightIndex(this.dropdownComponent.options, selection);
|
|
5168
|
+
if (index > -1) {
|
|
5169
|
+
this.dropdownComponent.select(index);
|
|
5170
|
+
}
|
|
5171
|
+
else {
|
|
5172
|
+
this.dropdownComponent.select(0);
|
|
5173
|
+
}
|
|
5174
|
+
}
|
|
5175
|
+
else {
|
|
5176
|
+
this.dropdownComponent.select(0);
|
|
5177
|
+
}
|
|
5178
|
+
});
|
|
5179
|
+
// keyboard event handling
|
|
5180
|
+
const sourceElement = this.searchInput.nativeElement;
|
|
5181
|
+
const keyboardEvents = getKeyboardNavigationEvents(sourceElement, this.destroyed$);
|
|
5182
|
+
keyboardEvents.verticalNavigation$.subscribe((event) => {
|
|
5183
|
+
event.preventDefault();
|
|
5184
|
+
const currentIndex = this.determineHighlightIndex(this.options, this.selection);
|
|
5185
|
+
// keyboard selection while not searching
|
|
5186
|
+
if (this.searchInput.nativeElement.value === '') {
|
|
5187
|
+
if (event.key === 'ArrowDown') {
|
|
5188
|
+
if (currentIndex !== this.options.length - 1) {
|
|
5189
|
+
this.selectOption(currentIndex + 1);
|
|
5190
|
+
}
|
|
5191
|
+
else {
|
|
5192
|
+
this.selectOption(0);
|
|
5193
|
+
}
|
|
5194
|
+
}
|
|
5195
|
+
else {
|
|
5196
|
+
if (currentIndex !== 0) {
|
|
5197
|
+
this.selectOption(currentIndex - 1);
|
|
5198
|
+
}
|
|
5199
|
+
else {
|
|
5200
|
+
this.selectOption(this.options.length - 1);
|
|
5201
|
+
}
|
|
5202
|
+
}
|
|
5203
|
+
}
|
|
5204
|
+
else {
|
|
5205
|
+
if (event.key === 'ArrowDown') {
|
|
5206
|
+
if (this.highlightedIndex !== this.dropdownComponent.options.length - 1) {
|
|
5207
|
+
this.highlightedIndex = this.highlightedIndex + 1;
|
|
5208
|
+
}
|
|
5209
|
+
else {
|
|
5210
|
+
this.highlightedIndex = 0;
|
|
5211
|
+
}
|
|
5212
|
+
}
|
|
5213
|
+
else {
|
|
5214
|
+
if (this.highlightedIndex !== 0) {
|
|
5215
|
+
this.highlightedIndex = this.highlightedIndex - 1;
|
|
5216
|
+
}
|
|
5217
|
+
else {
|
|
5218
|
+
this.highlightedIndex = this.dropdownComponent.options.length - 1;
|
|
5219
|
+
}
|
|
5220
|
+
}
|
|
5221
|
+
this.dropdownComponent.select(this.highlightedIndex);
|
|
5222
|
+
}
|
|
5223
|
+
});
|
|
5224
|
+
keyboardEvents.enter$.subscribe(() => {
|
|
5225
|
+
if (this.searchInput.nativeElement.value === '') {
|
|
5226
|
+
this.onChooseItem.emit();
|
|
5227
|
+
}
|
|
5228
|
+
else {
|
|
5229
|
+
const newSelectedIndex = this.determineHighlightIndex(this.options, this.dropdownComponent.options[this.highlightedIndex]);
|
|
5230
|
+
this.selectOption(newSelectedIndex);
|
|
5231
|
+
}
|
|
5232
|
+
});
|
|
5233
|
+
this.focusAndOpen();
|
|
5234
|
+
}
|
|
5235
|
+
selectOption(index) {
|
|
5236
|
+
var _a;
|
|
5237
|
+
this.selection = this.options[index];
|
|
5238
|
+
this.selectionChange.emit(this.options[index]);
|
|
5239
|
+
this.open.next(false);
|
|
5240
|
+
this.focusAndOpen();
|
|
5241
|
+
(_a = this.dropdownComponent) === null || _a === void 0 ? void 0 : _a.select(index);
|
|
5242
|
+
}
|
|
5243
|
+
searchKeyChanged(event) {
|
|
5244
|
+
if (event.target.value === '' || event.key === 'Escape') {
|
|
5245
|
+
this.selectOption(this.options.findIndex((option) => option == this.selection));
|
|
5246
|
+
}
|
|
5247
|
+
else if (event.key.length === 1 || ['Backspace', 'Delete'].includes(event.key)) {
|
|
5248
|
+
this.highlightedIndex = 0;
|
|
5249
|
+
this.dropdownComponent.select(0);
|
|
5250
|
+
}
|
|
5251
|
+
}
|
|
5252
|
+
determineHighlightIndex(options, selection) {
|
|
5253
|
+
return options.findIndex((option) => isEqual(selection, option));
|
|
5254
|
+
}
|
|
5255
|
+
}
|
|
5256
|
+
SelectListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: SelectListComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
5257
|
+
SelectListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.1", type: SelectListComponent, selector: "lx-select-list", inputs: { searchPlaceholder: "searchPlaceholder", selection: "selection", options: "options" }, outputs: { selectionChange: "selectionChange", onChooseItem: "onChooseItem" }, queries: [{ propertyName: "explicitDropdown", first: true, predicate: SelectDropdownDirective, descendants: true, read: TemplateRef, static: true }, { propertyName: "dropdownComponent", first: true, predicate: ExpandedDropdownComponent, descendants: true }], viewQueries: [{ propertyName: "implicitSelectedOption", first: true, predicate: ["selectedOption"], descendants: true, static: true }, { propertyName: "implicitDropdown", first: true, predicate: ["dropdown"], descendants: true, static: true }, { propertyName: "searchInput", first: true, predicate: ["searchInput"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"selectContainer focused\">\n <div class=\"selectionContainer\">\n <div class=\"inputContainer\">\n <div class=\"searchWrapper\">\n <input\n #searchInput\n id=\"searchInput\"\n class=\"searchInput\"\n type=\"text\"\n (keyup)=\"searchKeyChanged($event)\"\n [formControl]=\"queryControl\"\n [placeholder]=\"searchPlaceholder\"\n />\n <label for=\"searchInput\" class=\"fa fa-search\"></label>\n </div>\n </div>\n </div>\n <div class=\"optionsContainer\" #optionsContainer>\n <ng-container>\n <ng-container *ngTemplateOutlet=\"dropdownTmpl\"></ng-container>\n </ng-container>\n </div>\n</div>\n\n<ng-template #selectedOption>\n <ng-content select=\".selectedOption\"></ng-content>\n</ng-template>\n<ng-template #dropdown>\n <ng-content select=\".dropdownComponent\"></ng-content>\n</ng-template>\n", styles: [".selectContainer{position:relative;height:auto;padding:0;box-sizing:border-box;z-index:1049;background:#fff;border-bottom-color:#fff;border-bottom-left-radius:0;border-bottom-right-radius:0;border:none;box-shadow:none;font-size:14px}.selectContainer .optionsContainer{border-bottom:solid 1px #e1e5eb;border-left:solid 1px #e1e5eb;border-right:solid 1px #e1e5eb;box-shadow:0 6px 6px #21252933;top:100%;border-top:0;border-top-left-radius:0;border-top-right-radius:0;border:none;border-top:1px solid #e1e5eb;box-shadow:none;margin-top:1px}.selectContainer .inputContainer,.selectContainer .searchInput,.selectContainer .selection,.selectContainer .iconContainer{height:29px}.selectContainer .inputContainer{line-height:29px}.selectContainer .selectionContainer{min-height:29px}.selectionContainer{display:flex}.inputContainer{flex:1;position:relative;white-space:nowrap}.searchInput{width:100%;-webkit-appearance:none;appearance:none;padding-left:27px;border:0;background:transparent;position:relative;cursor:inherit}.searchInput::-ms-clear{display:none}.searchInput:focus{outline:0}.iconContainer{display:flex;align-items:center;text-align:center}.fa-search{position:absolute;left:3px;top:calc(50% - .5em);color:#526179}.searchWrapper{position:relative}.selection{width:100%;position:absolute;display:flex;align-items:center}.selection.lowerOpacity{opacity:.7}.optionsContainer{position:absolute;left:-1px;right:-1px;padding:0;border-radius:3px;background:#fff;z-index:1001}\n"], dependencies: [{ kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }] });
|
|
5258
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: SelectListComponent, decorators: [{
|
|
5259
|
+
type: Component,
|
|
5260
|
+
args: [{ selector: 'lx-select-list', template: "<div class=\"selectContainer focused\">\n <div class=\"selectionContainer\">\n <div class=\"inputContainer\">\n <div class=\"searchWrapper\">\n <input\n #searchInput\n id=\"searchInput\"\n class=\"searchInput\"\n type=\"text\"\n (keyup)=\"searchKeyChanged($event)\"\n [formControl]=\"queryControl\"\n [placeholder]=\"searchPlaceholder\"\n />\n <label for=\"searchInput\" class=\"fa fa-search\"></label>\n </div>\n </div>\n </div>\n <div class=\"optionsContainer\" #optionsContainer>\n <ng-container>\n <ng-container *ngTemplateOutlet=\"dropdownTmpl\"></ng-container>\n </ng-container>\n </div>\n</div>\n\n<ng-template #selectedOption>\n <ng-content select=\".selectedOption\"></ng-content>\n</ng-template>\n<ng-template #dropdown>\n <ng-content select=\".dropdownComponent\"></ng-content>\n</ng-template>\n", styles: [".selectContainer{position:relative;height:auto;padding:0;box-sizing:border-box;z-index:1049;background:#fff;border-bottom-color:#fff;border-bottom-left-radius:0;border-bottom-right-radius:0;border:none;box-shadow:none;font-size:14px}.selectContainer .optionsContainer{border-bottom:solid 1px #e1e5eb;border-left:solid 1px #e1e5eb;border-right:solid 1px #e1e5eb;box-shadow:0 6px 6px #21252933;top:100%;border-top:0;border-top-left-radius:0;border-top-right-radius:0;border:none;border-top:1px solid #e1e5eb;box-shadow:none;margin-top:1px}.selectContainer .inputContainer,.selectContainer .searchInput,.selectContainer .selection,.selectContainer .iconContainer{height:29px}.selectContainer .inputContainer{line-height:29px}.selectContainer .selectionContainer{min-height:29px}.selectionContainer{display:flex}.inputContainer{flex:1;position:relative;white-space:nowrap}.searchInput{width:100%;-webkit-appearance:none;appearance:none;padding-left:27px;border:0;background:transparent;position:relative;cursor:inherit}.searchInput::-ms-clear{display:none}.searchInput:focus{outline:0}.iconContainer{display:flex;align-items:center;text-align:center}.fa-search{position:absolute;left:3px;top:calc(50% - .5em);color:#526179}.searchWrapper{position:relative}.selection{width:100%;position:absolute;display:flex;align-items:center}.selection.lowerOpacity{opacity:.7}.optionsContainer{position:absolute;left:-1px;right:-1px;padding:0;border-radius:3px;background:#fff;z-index:1001}\n"] }]
|
|
5261
|
+
}], propDecorators: { searchPlaceholder: [{
|
|
5262
|
+
type: Input
|
|
5263
|
+
}], selection: [{
|
|
5264
|
+
type: Input
|
|
5265
|
+
}], options: [{
|
|
5266
|
+
type: Input
|
|
5267
|
+
}], selectionChange: [{
|
|
5268
|
+
type: Output
|
|
5269
|
+
}], onChooseItem: [{
|
|
5270
|
+
type: Output
|
|
5271
|
+
}], explicitDropdown: [{
|
|
5272
|
+
type: ContentChild,
|
|
5273
|
+
args: [SelectDropdownDirective, { read: TemplateRef, static: true }]
|
|
5274
|
+
}], dropdownComponent: [{
|
|
5275
|
+
type: ContentChild,
|
|
5276
|
+
args: [ExpandedDropdownComponent, { static: false }]
|
|
5277
|
+
}], implicitSelectedOption: [{
|
|
5278
|
+
type: ViewChild,
|
|
5279
|
+
args: ['selectedOption', { static: true }]
|
|
5280
|
+
}], implicitDropdown: [{
|
|
5281
|
+
type: ViewChild,
|
|
5282
|
+
args: ['dropdown', { static: true }]
|
|
5283
|
+
}], searchInput: [{
|
|
5284
|
+
type: ViewChild,
|
|
5285
|
+
args: ['searchInput', { static: true }]
|
|
5286
|
+
}] } });
|
|
5287
|
+
|
|
5288
|
+
/**
|
|
5289
|
+
* This directive is supposed to be used in combination with a single-select in
|
|
5290
|
+
* order to mark a ng-template as the template to be rendered within the select to
|
|
5291
|
+
* display the currently selected option.
|
|
5292
|
+
*
|
|
5293
|
+
* Example:
|
|
5294
|
+
*
|
|
5295
|
+
* ```
|
|
5296
|
+
* <lx-single-select>
|
|
5297
|
+
* <ng-template lxSelectedOption>{{ someValue }}</ng-template>
|
|
5298
|
+
* </lx-single-select>
|
|
5299
|
+
* ```
|
|
5300
|
+
*/
|
|
5301
|
+
class SelectedOptionDirective {
|
|
5302
|
+
}
|
|
5303
|
+
SelectedOptionDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: SelectedOptionDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
5304
|
+
SelectedOptionDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.1.1", type: SelectedOptionDirective, selector: "[lxSelectedOption]", ngImport: i0 });
|
|
5305
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: SelectedOptionDirective, decorators: [{
|
|
5306
|
+
type: Directive,
|
|
5307
|
+
args: [{
|
|
5308
|
+
selector: '[lxSelectedOption]'
|
|
5309
|
+
}]
|
|
5310
|
+
}] });
|
|
5311
|
+
|
|
5122
5312
|
class SingleSelectComponent extends BaseSelectDirective {
|
|
5123
5313
|
constructor(cd) {
|
|
5124
5314
|
super();
|
|
@@ -5736,6 +5926,7 @@ class LxFormsModule {
|
|
|
5736
5926
|
}
|
|
5737
5927
|
LxFormsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: LxFormsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
5738
5928
|
LxFormsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.1.1", ngImport: i0, type: LxFormsModule, declarations: [BasicDropdownComponent,
|
|
5929
|
+
ExpandedDropdownComponent,
|
|
5739
5930
|
BasicDropdownItemComponent,
|
|
5740
5931
|
BreadcrumbComponent,
|
|
5741
5932
|
CurrencyInputComponent,
|
|
@@ -5765,6 +5956,7 @@ LxFormsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version:
|
|
|
5765
5956
|
SelectedOptionDirective,
|
|
5766
5957
|
SelectDropdownDirective,
|
|
5767
5958
|
SingleSelectComponent,
|
|
5959
|
+
SelectListComponent,
|
|
5768
5960
|
SliderToggleComponent,
|
|
5769
5961
|
SortingDropdownComponent,
|
|
5770
5962
|
SortingDropdownTriggerComponent,
|
|
@@ -5779,6 +5971,7 @@ LxFormsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version:
|
|
|
5779
5971
|
OverlayModule,
|
|
5780
5972
|
LxCoreUiModule,
|
|
5781
5973
|
LxDragAndDropListModule], exports: [BasicDropdownComponent,
|
|
5974
|
+
ExpandedDropdownComponent,
|
|
5782
5975
|
BasicDropdownItemComponent,
|
|
5783
5976
|
BreadcrumbComponent,
|
|
5784
5977
|
CurrencyInputComponent,
|
|
@@ -5807,6 +6000,7 @@ LxFormsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version:
|
|
|
5807
6000
|
SelectableItemDirective,
|
|
5808
6001
|
SelectDropdownDirective,
|
|
5809
6002
|
SelectedOptionDirective,
|
|
6003
|
+
SelectListComponent,
|
|
5810
6004
|
SingleSelectComponent,
|
|
5811
6005
|
SliderToggleComponent,
|
|
5812
6006
|
SortingDropdownComponent,
|
|
@@ -5830,6 +6024,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImpor
|
|
|
5830
6024
|
args: [{
|
|
5831
6025
|
declarations: [
|
|
5832
6026
|
BasicDropdownComponent,
|
|
6027
|
+
ExpandedDropdownComponent,
|
|
5833
6028
|
BasicDropdownItemComponent,
|
|
5834
6029
|
BreadcrumbComponent,
|
|
5835
6030
|
CurrencyInputComponent,
|
|
@@ -5859,6 +6054,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImpor
|
|
|
5859
6054
|
SelectedOptionDirective,
|
|
5860
6055
|
SelectDropdownDirective,
|
|
5861
6056
|
SingleSelectComponent,
|
|
6057
|
+
SelectListComponent,
|
|
5862
6058
|
SliderToggleComponent,
|
|
5863
6059
|
SortingDropdownComponent,
|
|
5864
6060
|
SortingDropdownTriggerComponent,
|
|
@@ -5881,6 +6077,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImpor
|
|
|
5881
6077
|
],
|
|
5882
6078
|
exports: [
|
|
5883
6079
|
BasicDropdownComponent,
|
|
6080
|
+
ExpandedDropdownComponent,
|
|
5884
6081
|
BasicDropdownItemComponent,
|
|
5885
6082
|
BreadcrumbComponent,
|
|
5886
6083
|
CurrencyInputComponent,
|
|
@@ -5909,6 +6106,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImpor
|
|
|
5909
6106
|
SelectableItemDirective,
|
|
5910
6107
|
SelectDropdownDirective,
|
|
5911
6108
|
SelectedOptionDirective,
|
|
6109
|
+
SelectListComponent,
|
|
5912
6110
|
SingleSelectComponent,
|
|
5913
6111
|
SliderToggleComponent,
|
|
5914
6112
|
SortingDropdownComponent,
|
|
@@ -6734,5 +6932,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImpor
|
|
|
6734
6932
|
* Generated bundle index. Do not edit.
|
|
6735
6933
|
*/
|
|
6736
6934
|
|
|
6737
|
-
export { ARROW_DOWN, ARROW_LEFT, ARROW_RIGHT, ARROW_UP, AfterViewInitDirective, AutocloseDirective, AutofocusDirective, BACKSPACE, BadgeComponent, BaseSelectDirective, BasicDropdownComponent, BasicDropdownItemComponent, BrPipe, BreadcrumbComponent, ButtonComponent, ButtonGroupComponent, CURRENCY_SYMBOL_MAP, CardComponent, CdkOptionsDropdownComponent, CdkOptionsSubDropdownComponent, CollapsibleComponent, ColoredLabelComponent, ContrastColorPipe, CurrencyInputComponent, CurrencySymbolComponent, CustomDatePipe, DATE_FN_LOCALE, DATE_FORMATS, DateInputComponent, DragAndDropListComponent, DragAndDropListItemComponent, ENTER, ESCAPE, EllipsisComponent, ErrorMessageComponent, FORM_CONTROL_ERROR_DISPLAY_STRATEGY, FORM_CONTROL_ERROR_NAMESPACE, FilterSelectionPipe, FilterTermPipe, FormErrorComponent, FormErrorDirective, FormSubmitDirective, FormatNumberPipe, GLOBAL_TRANSLATION_OPTIONS, HighlightRangePipe, HighlightTermPipe, HtmlDirective, IconComponent, IconScaleComponent, KeyboardActionSourceDirective, KeyboardSelectAction, KeyboardSelectDirective, LOCALE_FN, LX_ELLIPSIS_DEBOUNCE_ON_RESIZE, LxCoreUiModule, LxDragAndDropListModule, LxFormsModule, LxIsUuidPipe, LxLinkifyPipe, LxModalModule, LxPopoverUiModule, LxTabUiModule, LxTimeAgo, LxTooltipModule, LxTranslatePipe, LxUnlinkifyPipe, MODAL_CLOSE, MarkInvalidDirective, MarkdownPipe, ModalComponent, ModalContentDirective, ModalFooterComponent, ModalHeaderComponent, MultiSelectComponent, NbspPipe, OptionComponent, OptionGroupComponent, OptionGroupDropdownComponent, OptionsDropdownComponent, OptionsSubDropdownComponent, PickerComponent, PickerOptionComponent, PickerTriggerDirective, PillItemComponent, PillListComponent, PopoverClickDirective, PopoverComponent, PopoverContentDirective, PopoverHoverDirective, RELEVANCE_SORTING_KEY, Required, ResizeObserverService, ResponsiveInputComponent, SPACE, SelectDropdownDirective, SelectableItemDirective, SelectedOptionDirective, SingleSelectComponent, SliderToggleComponent, SortPipe, Sorting, SortingDropdownComponent, SortingDropdownTriggerComponent, SpinnerComponent, TAB, TabComponent, TabGroupComponent, TableComponent, TableHeaderComponent, TinySpinnerComponent, TooltipComponent, TooltipDirective, TranslationAfterPipe, TranslationBeforePipe, TranslationBetweenPipe, UnescapeCurlyBracesPipe, ValidateDateInForeseeableFuture, ValidateStringNotInArray, ValidateStringNotInArrayAsync, getContrastColor, getTranslationParts, isValidHexColor, isValidX, isValidY, provideFormControlErrorDisplayStrategy, provideFormControlErrorNamespace, shorthandHexHandle };
|
|
6935
|
+
export { ARROW_DOWN, ARROW_LEFT, ARROW_RIGHT, ARROW_UP, AfterViewInitDirective, AutocloseDirective, AutofocusDirective, BACKSPACE, BadgeComponent, BaseSelectDirective, BasicDropdownComponent, BasicDropdownItemComponent, BrPipe, BreadcrumbComponent, ButtonComponent, ButtonGroupComponent, CURRENCY_SYMBOL_MAP, CardComponent, CdkOptionsDropdownComponent, CdkOptionsSubDropdownComponent, CollapsibleComponent, ColoredLabelComponent, ContrastColorPipe, CurrencyInputComponent, CurrencySymbolComponent, CustomDatePipe, DATE_FN_LOCALE, DATE_FORMATS, DateInputComponent, DragAndDropListComponent, DragAndDropListItemComponent, ENTER, ESCAPE, EllipsisComponent, ErrorMessageComponent, ExpandedDropdownComponent, FORM_CONTROL_ERROR_DISPLAY_STRATEGY, FORM_CONTROL_ERROR_NAMESPACE, FilterSelectionPipe, FilterTermPipe, FormErrorComponent, FormErrorDirective, FormSubmitDirective, FormatNumberPipe, GLOBAL_TRANSLATION_OPTIONS, HighlightRangePipe, HighlightTermPipe, HtmlDirective, IconComponent, IconScaleComponent, KeyboardActionSourceDirective, KeyboardSelectAction, KeyboardSelectDirective, LOCALE_FN, LX_ELLIPSIS_DEBOUNCE_ON_RESIZE, LxCoreUiModule, LxDragAndDropListModule, LxFormsModule, LxIsUuidPipe, LxLinkifyPipe, LxModalModule, LxPopoverUiModule, LxTabUiModule, LxTimeAgo, LxTooltipModule, LxTranslatePipe, LxUnlinkifyPipe, MODAL_CLOSE, MarkInvalidDirective, MarkdownPipe, ModalComponent, ModalContentDirective, ModalFooterComponent, ModalHeaderComponent, MultiSelectComponent, NbspPipe, OptionComponent, OptionGroupComponent, OptionGroupDropdownComponent, OptionsDropdownComponent, OptionsSubDropdownComponent, PickerComponent, PickerOptionComponent, PickerTriggerDirective, PillItemComponent, PillListComponent, PopoverClickDirective, PopoverComponent, PopoverContentDirective, PopoverHoverDirective, RELEVANCE_SORTING_KEY, Required, ResizeObserverService, ResponsiveInputComponent, SPACE, SelectDropdownDirective, SelectListComponent, SelectableItemDirective, SelectedOptionDirective, SingleSelectComponent, SliderToggleComponent, SortPipe, Sorting, SortingDropdownComponent, SortingDropdownTriggerComponent, SpinnerComponent, TAB, TabComponent, TabGroupComponent, TableComponent, TableHeaderComponent, TinySpinnerComponent, TooltipComponent, TooltipDirective, TranslationAfterPipe, TranslationBeforePipe, TranslationBetweenPipe, UnescapeCurlyBracesPipe, ValidateDateInForeseeableFuture, ValidateStringNotInArray, ValidateStringNotInArrayAsync, getContrastColor, getTranslationParts, isValidHexColor, isValidX, isValidY, provideFormControlErrorDisplayStrategy, provideFormControlErrorNamespace, shorthandHexHandle };
|
|
6738
6936
|
//# sourceMappingURL=leanix-components.mjs.map
|