@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.
@@ -3631,6 +3631,42 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImpor
3631
3631
  type: Input
3632
3632
  }] } });
3633
3633
 
3634
+ class ExpandedDropdownComponent extends KeyboardSelectDirective {
3635
+ constructor() {
3636
+ super(...arguments);
3637
+ this.NAME = 'BasicDropdownComponent';
3638
+ this.options = [];
3639
+ this.defaultOptions = [];
3640
+ this.onChooseItem = new EventEmitter();
3641
+ this.onItemSelected = new EventEmitter();
3642
+ }
3643
+ selectOption(option) {
3644
+ this.onItemSelected.emit(this.defaultOptions.findIndex((element) => element == option));
3645
+ }
3646
+ chooseItem() {
3647
+ this.onChooseItem.emit();
3648
+ }
3649
+ }
3650
+ ExpandedDropdownComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: ExpandedDropdownComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
3651
+ 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 });
3652
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: ExpandedDropdownComponent, decorators: [{
3653
+ type: Component,
3654
+ 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"] }]
3655
+ }], propDecorators: { options: [{
3656
+ type: Input
3657
+ }], defaultOptions: [{
3658
+ type: Input
3659
+ }], searchKey: [{
3660
+ type: Input
3661
+ }], onChooseItem: [{
3662
+ type: Output
3663
+ }], onItemSelected: [{
3664
+ type: Output
3665
+ }], optionTemplateRef: [{
3666
+ type: ContentChild,
3667
+ args: ['optionTemplate']
3668
+ }] } });
3669
+
3634
3670
  class FormErrorComponent {
3635
3671
  constructor() {
3636
3672
  this.translationKeys = [];
@@ -5028,30 +5064,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImpor
5028
5064
  args: [PillItemComponent, { emitDistinctChangesOnly: true }]
5029
5065
  }] } });
5030
5066
 
5031
- /**
5032
- * This directive is supposed to be used in combination with a single-select in
5033
- * order to mark a ng-template as the template to be rendered within the select to
5034
- * display the currently selected option.
5035
- *
5036
- * Example:
5037
- *
5038
- * ```
5039
- * <lx-single-select>
5040
- * <ng-template lxSelectedOption>{{ someValue }}</ng-template>
5041
- * </lx-single-select>
5042
- * ```
5043
- */
5044
- class SelectedOptionDirective {
5045
- }
5046
- SelectedOptionDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: SelectedOptionDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
5047
- SelectedOptionDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.1.1", type: SelectedOptionDirective, selector: "[lxSelectedOption]", ngImport: i0 });
5048
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: SelectedOptionDirective, decorators: [{
5049
- type: Directive,
5050
- args: [{
5051
- selector: '[lxSelectedOption]'
5052
- }]
5053
- }] });
5054
-
5055
5067
  function getKeyboardNavigationEvents(sourceElement, destroyed$) {
5056
5068
  const inputKeyboardEvents$ = fromEvent(sourceElement, 'keydown').pipe(takeUntil(destroyed$));
5057
5069
  const verticalNavigation$ = inputKeyboardEvents$.pipe(filter((event) => includes(event.keyCode, [ARROW_UP, ARROW_DOWN])));
@@ -5085,6 +5097,183 @@ function stopKeyboardEventPropagation(evt) {
5085
5097
  evt.stopImmediatePropagation();
5086
5098
  }
5087
5099
 
5100
+ class SelectListComponent extends BaseSelectDirective {
5101
+ constructor() {
5102
+ super(...arguments);
5103
+ this.searchPlaceholder = 'Search';
5104
+ this.options = [];
5105
+ this.selectionChange = new EventEmitter();
5106
+ this.onChooseItem = new EventEmitter();
5107
+ this.highlightedIndex = 0;
5108
+ this.destroyed$ = new Subject();
5109
+ }
5110
+ get dropdownTmpl() {
5111
+ return this.explicitDropdown || this.implicitDropdown;
5112
+ }
5113
+ resetInput() {
5114
+ this.queryControl.reset('', { emitEvent: false });
5115
+ }
5116
+ focus() {
5117
+ this.searchInput.nativeElement.focus();
5118
+ }
5119
+ focusAndOpen() {
5120
+ this.focus();
5121
+ this.open.next(true);
5122
+ }
5123
+ ngOnDestroy() {
5124
+ super.ngOnDestroy();
5125
+ this.destroyed$.next();
5126
+ }
5127
+ ngAfterViewInit() {
5128
+ super.ngAfterViewInit();
5129
+ this.open
5130
+ .pipe(distinctUntilChanged(), filter(() => !!this.dropdownComponent), map(() => this.selection), takeUntil(this.destroyed$))
5131
+ .subscribe((selection) => {
5132
+ if (selection) {
5133
+ const index = this.determineHighlightIndex(this.dropdownComponent.options, selection);
5134
+ if (index > -1) {
5135
+ this.dropdownComponent.select(index);
5136
+ }
5137
+ else {
5138
+ this.dropdownComponent.select(0);
5139
+ }
5140
+ }
5141
+ else {
5142
+ this.dropdownComponent.select(0);
5143
+ }
5144
+ });
5145
+ // keyboard event handling
5146
+ const sourceElement = this.searchInput.nativeElement;
5147
+ const keyboardEvents = getKeyboardNavigationEvents(sourceElement, this.destroyed$);
5148
+ keyboardEvents.verticalNavigation$.subscribe((event) => {
5149
+ event.preventDefault();
5150
+ const currentIndex = this.determineHighlightIndex(this.options, this.selection);
5151
+ // keyboard selection while not searching
5152
+ if (this.searchInput.nativeElement.value === '') {
5153
+ if (event.key === 'ArrowDown') {
5154
+ if (currentIndex !== this.options.length - 1) {
5155
+ this.selectOption(currentIndex + 1);
5156
+ }
5157
+ else {
5158
+ this.selectOption(0);
5159
+ }
5160
+ }
5161
+ else {
5162
+ if (currentIndex !== 0) {
5163
+ this.selectOption(currentIndex - 1);
5164
+ }
5165
+ else {
5166
+ this.selectOption(this.options.length - 1);
5167
+ }
5168
+ }
5169
+ }
5170
+ else {
5171
+ if (event.key === 'ArrowDown') {
5172
+ if (this.highlightedIndex !== this.dropdownComponent.options.length - 1) {
5173
+ this.highlightedIndex = this.highlightedIndex + 1;
5174
+ }
5175
+ else {
5176
+ this.highlightedIndex = 0;
5177
+ }
5178
+ }
5179
+ else {
5180
+ if (this.highlightedIndex !== 0) {
5181
+ this.highlightedIndex = this.highlightedIndex - 1;
5182
+ }
5183
+ else {
5184
+ this.highlightedIndex = this.dropdownComponent.options.length - 1;
5185
+ }
5186
+ }
5187
+ this.dropdownComponent.select(this.highlightedIndex);
5188
+ }
5189
+ });
5190
+ keyboardEvents.enter$.subscribe(() => {
5191
+ if (this.searchInput.nativeElement.value === '') {
5192
+ this.onChooseItem.emit();
5193
+ }
5194
+ else {
5195
+ const newSelectedIndex = this.determineHighlightIndex(this.options, this.dropdownComponent.options[this.highlightedIndex]);
5196
+ this.selectOption(newSelectedIndex);
5197
+ }
5198
+ });
5199
+ this.focusAndOpen();
5200
+ }
5201
+ selectOption(index) {
5202
+ this.selection = this.options[index];
5203
+ this.selectionChange.emit(this.options[index]);
5204
+ this.open.next(false);
5205
+ this.focusAndOpen();
5206
+ this.dropdownComponent?.select(index);
5207
+ }
5208
+ searchKeyChanged(event) {
5209
+ if (event.target.value === '' || event.key === 'Escape') {
5210
+ this.selectOption(this.options.findIndex((option) => option == this.selection));
5211
+ }
5212
+ else if (event.key.length === 1 || ['Backspace', 'Delete'].includes(event.key)) {
5213
+ this.highlightedIndex = 0;
5214
+ this.dropdownComponent.select(0);
5215
+ }
5216
+ }
5217
+ determineHighlightIndex(options, selection) {
5218
+ return options.findIndex((option) => isEqual(selection, option));
5219
+ }
5220
+ }
5221
+ SelectListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: SelectListComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
5222
+ 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"] }] });
5223
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: SelectListComponent, decorators: [{
5224
+ type: Component,
5225
+ 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"] }]
5226
+ }], propDecorators: { searchPlaceholder: [{
5227
+ type: Input
5228
+ }], selection: [{
5229
+ type: Input
5230
+ }], options: [{
5231
+ type: Input
5232
+ }], selectionChange: [{
5233
+ type: Output
5234
+ }], onChooseItem: [{
5235
+ type: Output
5236
+ }], explicitDropdown: [{
5237
+ type: ContentChild,
5238
+ args: [SelectDropdownDirective, { read: TemplateRef, static: true }]
5239
+ }], dropdownComponent: [{
5240
+ type: ContentChild,
5241
+ args: [ExpandedDropdownComponent, { static: false }]
5242
+ }], implicitSelectedOption: [{
5243
+ type: ViewChild,
5244
+ args: ['selectedOption', { static: true }]
5245
+ }], implicitDropdown: [{
5246
+ type: ViewChild,
5247
+ args: ['dropdown', { static: true }]
5248
+ }], searchInput: [{
5249
+ type: ViewChild,
5250
+ args: ['searchInput', { static: true }]
5251
+ }] } });
5252
+
5253
+ /**
5254
+ * This directive is supposed to be used in combination with a single-select in
5255
+ * order to mark a ng-template as the template to be rendered within the select to
5256
+ * display the currently selected option.
5257
+ *
5258
+ * Example:
5259
+ *
5260
+ * ```
5261
+ * <lx-single-select>
5262
+ * <ng-template lxSelectedOption>{{ someValue }}</ng-template>
5263
+ * </lx-single-select>
5264
+ * ```
5265
+ */
5266
+ class SelectedOptionDirective {
5267
+ }
5268
+ SelectedOptionDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: SelectedOptionDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
5269
+ SelectedOptionDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.1.1", type: SelectedOptionDirective, selector: "[lxSelectedOption]", ngImport: i0 });
5270
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: SelectedOptionDirective, decorators: [{
5271
+ type: Directive,
5272
+ args: [{
5273
+ selector: '[lxSelectedOption]'
5274
+ }]
5275
+ }] });
5276
+
5088
5277
  class SingleSelectComponent extends BaseSelectDirective {
5089
5278
  constructor(cd) {
5090
5279
  super();
@@ -5696,6 +5885,7 @@ class LxFormsModule {
5696
5885
  }
5697
5886
  LxFormsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: LxFormsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
5698
5887
  LxFormsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.1.1", ngImport: i0, type: LxFormsModule, declarations: [BasicDropdownComponent,
5888
+ ExpandedDropdownComponent,
5699
5889
  BasicDropdownItemComponent,
5700
5890
  BreadcrumbComponent,
5701
5891
  CurrencyInputComponent,
@@ -5725,6 +5915,7 @@ LxFormsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version:
5725
5915
  SelectedOptionDirective,
5726
5916
  SelectDropdownDirective,
5727
5917
  SingleSelectComponent,
5918
+ SelectListComponent,
5728
5919
  SliderToggleComponent,
5729
5920
  SortingDropdownComponent,
5730
5921
  SortingDropdownTriggerComponent,
@@ -5739,6 +5930,7 @@ LxFormsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version:
5739
5930
  OverlayModule,
5740
5931
  LxCoreUiModule,
5741
5932
  LxDragAndDropListModule], exports: [BasicDropdownComponent,
5933
+ ExpandedDropdownComponent,
5742
5934
  BasicDropdownItemComponent,
5743
5935
  BreadcrumbComponent,
5744
5936
  CurrencyInputComponent,
@@ -5767,6 +5959,7 @@ LxFormsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version:
5767
5959
  SelectableItemDirective,
5768
5960
  SelectDropdownDirective,
5769
5961
  SelectedOptionDirective,
5962
+ SelectListComponent,
5770
5963
  SingleSelectComponent,
5771
5964
  SliderToggleComponent,
5772
5965
  SortingDropdownComponent,
@@ -5790,6 +5983,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImpor
5790
5983
  args: [{
5791
5984
  declarations: [
5792
5985
  BasicDropdownComponent,
5986
+ ExpandedDropdownComponent,
5793
5987
  BasicDropdownItemComponent,
5794
5988
  BreadcrumbComponent,
5795
5989
  CurrencyInputComponent,
@@ -5819,6 +6013,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImpor
5819
6013
  SelectedOptionDirective,
5820
6014
  SelectDropdownDirective,
5821
6015
  SingleSelectComponent,
6016
+ SelectListComponent,
5822
6017
  SliderToggleComponent,
5823
6018
  SortingDropdownComponent,
5824
6019
  SortingDropdownTriggerComponent,
@@ -5841,6 +6036,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImpor
5841
6036
  ],
5842
6037
  exports: [
5843
6038
  BasicDropdownComponent,
6039
+ ExpandedDropdownComponent,
5844
6040
  BasicDropdownItemComponent,
5845
6041
  BreadcrumbComponent,
5846
6042
  CurrencyInputComponent,
@@ -5869,6 +6065,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImpor
5869
6065
  SelectableItemDirective,
5870
6066
  SelectDropdownDirective,
5871
6067
  SelectedOptionDirective,
6068
+ SelectListComponent,
5872
6069
  SingleSelectComponent,
5873
6070
  SliderToggleComponent,
5874
6071
  SortingDropdownComponent,
@@ -6687,5 +6884,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImpor
6687
6884
  * Generated bundle index. Do not edit.
6688
6885
  */
6689
6886
 
6690
- 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 };
6887
+ 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 };
6691
6888
  //# sourceMappingURL=leanix-components.mjs.map