@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.
@@ -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