@lucca-front/ng 10.1.1 → 10.2.0

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.
Files changed (137) hide show
  1. package/esm2020/api/lib/select/input/api-select-input.component.mjs +2 -2
  2. package/esm2020/api/lib/select/searcher/api-searcher.component.mjs +4 -4
  3. package/esm2020/date/lib/calendar/calendar-input.component.mjs +2 -2
  4. package/esm2020/date/lib/select/date-select-input.component.mjs +2 -2
  5. package/esm2020/department/lib/select/input/department-select-input.component.mjs +2 -2
  6. package/esm2020/establishment/lib/select/input/establishment-select-input.component.mjs +2 -2
  7. package/esm2020/establishment/lib/select/searcher/establishment-searcher.component.mjs +2 -2
  8. package/esm2020/establishment/lib/select/select-all/establishment-select-all.component.mjs +2 -2
  9. package/esm2020/input/lib/clearer/clearer.component.mjs +2 -2
  10. package/esm2020/modal/lib/modal-panel.component.mjs +32 -41
  11. package/esm2020/modal/lib/modal-ref.factory.mjs +3 -4
  12. package/esm2020/modal/lib/modal.model.mjs +1 -1
  13. package/esm2020/modal/lib/modal.module.mjs +4 -5
  14. package/esm2020/option/lib/item/option-item.component.mjs +2 -2
  15. package/esm2020/option/lib/item/tree-option-item.component.mjs +2 -2
  16. package/esm2020/option/lib/operator/searcher/option-searcher.component.mjs +2 -2
  17. package/esm2020/option/lib/operator/searcher/tree-option-searcher.component.mjs +2 -2
  18. package/esm2020/option/lib/placeholder/option-placeholder.component.mjs +2 -2
  19. package/esm2020/option/lib/selector/all/select-all.component.mjs +2 -2
  20. package/esm2020/option/lib/selector/all/tree-select-all.component.mjs +2 -2
  21. package/esm2020/popover/lib/trigger/popover-trigger.model.mjs +27 -4
  22. package/esm2020/qualification/lib/select/input/qualification-select-input.component.mjs +2 -2
  23. package/esm2020/select/lib/input/select-input.component.mjs +2 -2
  24. package/esm2020/select/lib/input/select-input.module.mjs +3 -3
  25. package/esm2020/sidepanel/lib/sidepanel-panel.component.mjs +8 -9
  26. package/esm2020/sidepanel/lib/sidepanel-ref.factory.mjs +3 -4
  27. package/esm2020/sidepanel/lib/sidepanel.module.mjs +4 -5
  28. package/esm2020/simple-select/lib/index.mjs +7 -0
  29. package/esm2020/simple-select/lib/input/index.mjs +2 -0
  30. package/esm2020/simple-select/lib/input/select-input.component.mjs +353 -0
  31. package/esm2020/simple-select/lib/option/displayer.directive.mjs +26 -0
  32. package/esm2020/simple-select/lib/option/index.mjs +4 -0
  33. package/esm2020/simple-select/lib/option/option.component.mjs +58 -0
  34. package/esm2020/simple-select/lib/option/option.directive.mjs +26 -0
  35. package/esm2020/simple-select/lib/panel/index.mjs +2 -0
  36. package/esm2020/simple-select/lib/panel/panel.component.mjs +119 -0
  37. package/esm2020/simple-select/lib/select.model.mjs +6 -0
  38. package/esm2020/simple-select/lucca-front-ng-simple-select.mjs +5 -0
  39. package/esm2020/simple-select/public-api.mjs +5 -0
  40. package/esm2020/title/lib/index.mjs +3 -1
  41. package/esm2020/title/lib/title.model.mjs +6 -0
  42. package/esm2020/title/lib/title.module.mjs +4 -1
  43. package/esm2020/title/lib/title.service.mjs +5 -2
  44. package/esm2020/title/lib/title.strategy.mjs +67 -0
  45. package/esm2020/tooltip/lib/panel/tooltip-panel.component.mjs +3 -3
  46. package/esm2020/user/lib/picture/user-picture.component.mjs +2 -2
  47. package/esm2020/user/lib/select/input/user-select-input.component.mjs +2 -2
  48. package/esm2020/user/lib/select/searcher/user-searcher.component.mjs +2 -2
  49. package/esm2020/user/lib/tile/user-tile.component.mjs +2 -2
  50. package/fesm2015/lucca-front-ng-api.mjs +6 -6
  51. package/fesm2015/lucca-front-ng-api.mjs.map +1 -1
  52. package/fesm2015/lucca-front-ng-date.mjs +4 -4
  53. package/fesm2015/lucca-front-ng-date.mjs.map +1 -1
  54. package/fesm2015/lucca-front-ng-department.mjs +2 -2
  55. package/fesm2015/lucca-front-ng-department.mjs.map +1 -1
  56. package/fesm2015/lucca-front-ng-establishment.mjs +6 -6
  57. package/fesm2015/lucca-front-ng-establishment.mjs.map +1 -1
  58. package/fesm2015/lucca-front-ng-input.mjs +2 -2
  59. package/fesm2015/lucca-front-ng-input.mjs.map +1 -1
  60. package/fesm2015/lucca-front-ng-modal.mjs +37 -46
  61. package/fesm2015/lucca-front-ng-modal.mjs.map +1 -1
  62. package/fesm2015/lucca-front-ng-option.mjs +14 -14
  63. package/fesm2015/lucca-front-ng-option.mjs.map +1 -1
  64. package/fesm2015/lucca-front-ng-popover.mjs +27 -4
  65. package/fesm2015/lucca-front-ng-popover.mjs.map +1 -1
  66. package/fesm2015/lucca-front-ng-qualification.mjs +2 -2
  67. package/fesm2015/lucca-front-ng-qualification.mjs.map +1 -1
  68. package/fesm2015/lucca-front-ng-select.mjs +2 -2
  69. package/fesm2015/lucca-front-ng-select.mjs.map +1 -1
  70. package/fesm2015/lucca-front-ng-sidepanel.mjs +13 -15
  71. package/fesm2015/lucca-front-ng-sidepanel.mjs.map +1 -1
  72. package/fesm2015/lucca-front-ng-simple-select.mjs +591 -0
  73. package/fesm2015/lucca-front-ng-simple-select.mjs.map +1 -0
  74. package/fesm2015/lucca-front-ng-title.mjs +78 -4
  75. package/fesm2015/lucca-front-ng-title.mjs.map +1 -1
  76. package/fesm2015/lucca-front-ng-tooltip.mjs +2 -2
  77. package/fesm2015/lucca-front-ng-tooltip.mjs.map +1 -1
  78. package/fesm2015/lucca-front-ng-user.mjs +8 -8
  79. package/fesm2015/lucca-front-ng-user.mjs.map +1 -1
  80. package/fesm2020/lucca-front-ng-api.mjs +6 -6
  81. package/fesm2020/lucca-front-ng-api.mjs.map +1 -1
  82. package/fesm2020/lucca-front-ng-date.mjs +4 -4
  83. package/fesm2020/lucca-front-ng-date.mjs.map +1 -1
  84. package/fesm2020/lucca-front-ng-department.mjs +2 -2
  85. package/fesm2020/lucca-front-ng-department.mjs.map +1 -1
  86. package/fesm2020/lucca-front-ng-establishment.mjs +6 -6
  87. package/fesm2020/lucca-front-ng-establishment.mjs.map +1 -1
  88. package/fesm2020/lucca-front-ng-input.mjs +2 -2
  89. package/fesm2020/lucca-front-ng-input.mjs.map +1 -1
  90. package/fesm2020/lucca-front-ng-modal.mjs +37 -46
  91. package/fesm2020/lucca-front-ng-modal.mjs.map +1 -1
  92. package/fesm2020/lucca-front-ng-option.mjs +14 -14
  93. package/fesm2020/lucca-front-ng-option.mjs.map +1 -1
  94. package/fesm2020/lucca-front-ng-popover.mjs +27 -4
  95. package/fesm2020/lucca-front-ng-popover.mjs.map +1 -1
  96. package/fesm2020/lucca-front-ng-qualification.mjs +2 -2
  97. package/fesm2020/lucca-front-ng-qualification.mjs.map +1 -1
  98. package/fesm2020/lucca-front-ng-select.mjs +2 -2
  99. package/fesm2020/lucca-front-ng-select.mjs.map +1 -1
  100. package/fesm2020/lucca-front-ng-sidepanel.mjs +13 -15
  101. package/fesm2020/lucca-front-ng-sidepanel.mjs.map +1 -1
  102. package/fesm2020/lucca-front-ng-simple-select.mjs +580 -0
  103. package/fesm2020/lucca-front-ng-simple-select.mjs.map +1 -0
  104. package/fesm2020/lucca-front-ng-title.mjs +74 -4
  105. package/fesm2020/lucca-front-ng-title.mjs.map +1 -1
  106. package/fesm2020/lucca-front-ng-tooltip.mjs +2 -2
  107. package/fesm2020/lucca-front-ng-tooltip.mjs.map +1 -1
  108. package/fesm2020/lucca-front-ng-user.mjs +8 -8
  109. package/fesm2020/lucca-front-ng-user.mjs.map +1 -1
  110. package/modal/lib/modal-panel.component.d.ts +19 -20
  111. package/modal/lib/modal-ref.factory.d.ts +0 -2
  112. package/modal/lib/modal.model.d.ts +3 -3
  113. package/modal/lib/modal.module.d.ts +4 -5
  114. package/package.json +11 -3
  115. package/popover/lib/trigger/popover-trigger.model.d.ts +6 -0
  116. package/sidepanel/lib/sidepanel-panel.component.d.ts +2 -2
  117. package/sidepanel/lib/sidepanel-ref.factory.d.ts +1 -3
  118. package/sidepanel/lib/sidepanel.module.d.ts +4 -5
  119. package/simple-select/README.md +9 -0
  120. package/simple-select/index.d.ts +5 -0
  121. package/simple-select/lib/index.d.ts +6 -0
  122. package/simple-select/lib/input/index.d.ts +1 -0
  123. package/simple-select/lib/input/select-input.component.d.ts +77 -0
  124. package/simple-select/lib/option/displayer.directive.d.ts +13 -0
  125. package/simple-select/lib/option/index.d.ts +3 -0
  126. package/simple-select/lib/option/option.component.d.ts +21 -0
  127. package/simple-select/lib/option/option.directive.d.ts +13 -0
  128. package/simple-select/lib/panel/index.d.ts +1 -0
  129. package/simple-select/lib/panel/panel.component.d.ts +40 -0
  130. package/simple-select/lib/select.model.d.ts +16 -0
  131. package/simple-select/public-api.d.ts +1 -0
  132. package/src/definitions/user/user-picture.scss +100 -65
  133. package/title/lib/index.d.ts +2 -0
  134. package/title/lib/title.model.d.ts +8 -0
  135. package/title/lib/title.module.d.ts +3 -0
  136. package/title/lib/title.service.d.ts +3 -7
  137. package/title/lib/title.strategy.d.ts +22 -0
@@ -0,0 +1,580 @@
1
+ import * as i2$1 from '@angular/cdk/overlay';
2
+ import { OverlayContainer, Overlay, OverlayModule } from '@angular/cdk/overlay';
3
+ import { ComponentPortal } from '@angular/cdk/portal';
4
+ import * as i1 from '@angular/common';
5
+ import { CommonModule, DOCUMENT } from '@angular/common';
6
+ import * as i0 from '@angular/core';
7
+ import { Directive, Input, InjectionToken, Component, ChangeDetectionStrategy, Inject, HostBinding, EventEmitter, ViewChild, ViewChildren, HostListener, Injectable, Injector, forwardRef, ElementRef, Output } from '@angular/core';
8
+ import * as i2 from '@angular/forms';
9
+ import { FormsModule, NG_VALUE_ACCESSOR } from '@angular/forms';
10
+ import { BehaviorSubject, take, observeOn, asyncScheduler, map, takeUntil, ReplaySubject, Subject } from 'rxjs';
11
+ import * as i3 from '@angular/cdk/a11y';
12
+ import { ActiveDescendantKeyManager, A11yModule } from '@angular/cdk/a11y';
13
+ import * as i1$1 from '@angular/cdk/platform';
14
+
15
+ class LuDisplayerDirective {
16
+ constructor(templateRef) {
17
+ this.templateRef = templateRef;
18
+ }
19
+ set select(select) {
20
+ select.valueTpl = this.templateRef;
21
+ }
22
+ }
23
+ LuDisplayerDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: LuDisplayerDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
24
+ LuDisplayerDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.0", type: LuDisplayerDirective, isStandalone: true, selector: "[luDisplayer]", inputs: { select: ["luDisplayerSelect", "select"], value: ["luDisplayer", "value"] }, ngImport: i0 });
25
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: LuDisplayerDirective, decorators: [{
26
+ type: Directive,
27
+ args: [{
28
+ selector: '[luDisplayer]',
29
+ standalone: true,
30
+ }]
31
+ }], ctorParameters: function () { return [{ type: i0.TemplateRef }]; }, propDecorators: { select: [{
32
+ type: Input,
33
+ args: ['luDisplayerSelect']
34
+ }], value: [{
35
+ type: Input,
36
+ args: ['luDisplayer']
37
+ }] } });
38
+
39
+ const SELECT_ID = new InjectionToken('LuSelectPanelData');
40
+ const SELECT_PANEL_DATA = new InjectionToken('LuSelectId');
41
+ const SELECT_LABEL = new InjectionToken('LuSelectLabel');
42
+ const SELECT_LABEL_ID = new InjectionToken('LuSelectLabelId');
43
+
44
+ class LuOptionComponent {
45
+ constructor(elementRef, selectId) {
46
+ this.elementRef = elementRef;
47
+ this.selectId = selectId;
48
+ this.hasOptionItemClass = true;
49
+ this.isSelected = false;
50
+ this.optionIndex = 0;
51
+ this.isHighlighted$ = new BehaviorSubject(false);
52
+ this.disabled = false;
53
+ this.role = 'option';
54
+ }
55
+ get id() {
56
+ return `lu-select-${this.selectId}-option-${this.optionIndex}`;
57
+ }
58
+ setActiveStyles() {
59
+ this.isHighlighted$.next(true);
60
+ this.elementRef.nativeElement.scrollIntoView({ block: 'center' });
61
+ }
62
+ setInactiveStyles() {
63
+ this.isHighlighted$.next(false);
64
+ }
65
+ }
66
+ LuOptionComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: LuOptionComponent, deps: [{ token: i0.ElementRef }, { token: SELECT_ID }], target: i0.ɵɵFactoryTarget.Component });
67
+ LuOptionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.0", type: LuOptionComponent, isStandalone: true, selector: "lu-select-option", inputs: { isSelected: "isSelected", option: "option", optionIndex: "optionIndex", disabled: "disabled" }, host: { properties: { "class.optionItem": "this.hasOptionItemClass", "attr.aria-selected": "this.isSelected", "attr.role": "this.role", "attr.id": "this.id" } }, ngImport: i0, template: "<div\r\n\tclass=\"optionItem-value\"\r\n\t[class.is-selected]=\"isSelected\"\r\n\t[class.is-highlighted]=\"isHighlighted$ | async\"\r\n\t[class.is-disabled]=\"disabled\"\r\n>\r\n\t<ng-content></ng-content>\r\n</div>\r\n", styles: [":root{--components-options-item-padding-vertical: var(--spacings-smaller);--components-options-item-padding-horizontal: var(--spacings-smaller);--components-options-item-multiple-padding: var(--spacings-big);--components-options-item-icon-color: var(--palettes-grey-800);--components-options-checkbox-left: .5rem;--components-options-checkbox-size: 1rem;--components-options-checkbox-color: var(--palettes-primary-700);--components-options-checkbox-border-radius: var(--commons-border-radius);--components-options-checkbox-border-color: var(--palettes-grey-700);--components-options-establishment-multiple-padding: var(--spacings-standard)}:host{display:block}.optionItem{position:relative}.optionItem-value{display:block;padding:var(--components-options-item-padding-vertical) var(--components-options-item-padding-horizontal);transition:background-color 50ms;cursor:pointer}.optionItem-value.is-selected{background-color:var(--palettes-primary-50)}.optionItem-value:hover,.optionItem-value.is-highlighted,.optionItem-value.is-focus{background-color:var(--palettes-grey-50)}:host-context(.lu-select-value) .optionItem-value{padding:0;overflow:hidden;text-overflow:ellipsis}:host-context(.lu-select-value) .optionItem-value:hover,:host-context(.lu-select-value) .optionItem-value.is-focus,:host-context(.lu-select-value) .optionItem-value.is-highlighted{background-color:inherit}:host-context(.mod-multiple) .optionItem-value{position:relative;padding-left:var(--components-options-item-multiple-padding)}:host-context(.mod-multiple) .optionItem-value:after,:host-context(.mod-multiple) .optionItem-value:before{display:block;position:absolute;left:var(--components-options-checkbox-left);top:50%;transform:translateY(-50%)}:host-context(.mod-multiple) .optionItem-value:before{content:\"\";border-radius:var(--components-options-checkbox-border-radius);box-shadow:inset 0 0 0 2px var(--components-options-checkbox-border-color);display:block;height:var(--components-options-checkbox-size);transition:all .1s;width:var(--components-options-checkbox-size)}:host-context(.mod-multiple) .optionItem-value:after{display:inline-block;vertical-align:text-bottom;font-style:normal;font-family:Lucca icons;color:transparent;font-size:1rem;line-height:var(--components-options-checkbox-size);padding-top:.05rem;position:absolute;text-align:center;transform:translateY(-50%) scale(0);transition:all .1s;width:var(--components-options-checkbox-size)}@supports (content: \"*\"/\"\"){:host-context(.mod-multiple) .optionItem-value:after{content:\"\\e91a\"/\"\"}}@supports not (content: \"*\"/\"\"){:host-context(.mod-multiple) .optionItem-value:after{content:\"\\e91a\"}}:host-context(.mod-multiple) .optionItem-value.is-selected:before{background-color:var(--components-options-checkbox-color);box-shadow:inset 0 0 0 2px var(--components-options-checkbox-color)}:host-context(.mod-multiple) .optionItem-value.is-selected:after{color:var(--colors-white-color);transform:translateY(-50%) scale(1)}:host-context(.mod-multiple) .optionItem-value:hover:before{box-shadow:inset 0 0 0 2px var(--components-options-checkbox-color)}:host-context(.mod-multiple).establishmentOption .optionItem-value{position:relative;padding-left:calc(2 * var(--components-options-item-padding-horizontal) + var(--components-options-checkbox-size) + var(--spacings-smaller))}:host-context(.mod-multiple).establishmentOption .optionItem-value:before,:host-context(.mod-multiple).establishmentOption .optionItem-value:after{left:calc(2 * var(--components-options-item-padding-horizontal))}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
68
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: LuOptionComponent, decorators: [{
69
+ type: Component,
70
+ args: [{ selector: 'lu-select-option', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [CommonModule], template: "<div\r\n\tclass=\"optionItem-value\"\r\n\t[class.is-selected]=\"isSelected\"\r\n\t[class.is-highlighted]=\"isHighlighted$ | async\"\r\n\t[class.is-disabled]=\"disabled\"\r\n>\r\n\t<ng-content></ng-content>\r\n</div>\r\n", styles: [":root{--components-options-item-padding-vertical: var(--spacings-smaller);--components-options-item-padding-horizontal: var(--spacings-smaller);--components-options-item-multiple-padding: var(--spacings-big);--components-options-item-icon-color: var(--palettes-grey-800);--components-options-checkbox-left: .5rem;--components-options-checkbox-size: 1rem;--components-options-checkbox-color: var(--palettes-primary-700);--components-options-checkbox-border-radius: var(--commons-border-radius);--components-options-checkbox-border-color: var(--palettes-grey-700);--components-options-establishment-multiple-padding: var(--spacings-standard)}:host{display:block}.optionItem{position:relative}.optionItem-value{display:block;padding:var(--components-options-item-padding-vertical) var(--components-options-item-padding-horizontal);transition:background-color 50ms;cursor:pointer}.optionItem-value.is-selected{background-color:var(--palettes-primary-50)}.optionItem-value:hover,.optionItem-value.is-highlighted,.optionItem-value.is-focus{background-color:var(--palettes-grey-50)}:host-context(.lu-select-value) .optionItem-value{padding:0;overflow:hidden;text-overflow:ellipsis}:host-context(.lu-select-value) .optionItem-value:hover,:host-context(.lu-select-value) .optionItem-value.is-focus,:host-context(.lu-select-value) .optionItem-value.is-highlighted{background-color:inherit}:host-context(.mod-multiple) .optionItem-value{position:relative;padding-left:var(--components-options-item-multiple-padding)}:host-context(.mod-multiple) .optionItem-value:after,:host-context(.mod-multiple) .optionItem-value:before{display:block;position:absolute;left:var(--components-options-checkbox-left);top:50%;transform:translateY(-50%)}:host-context(.mod-multiple) .optionItem-value:before{content:\"\";border-radius:var(--components-options-checkbox-border-radius);box-shadow:inset 0 0 0 2px var(--components-options-checkbox-border-color);display:block;height:var(--components-options-checkbox-size);transition:all .1s;width:var(--components-options-checkbox-size)}:host-context(.mod-multiple) .optionItem-value:after{display:inline-block;vertical-align:text-bottom;font-style:normal;font-family:Lucca icons;color:transparent;font-size:1rem;line-height:var(--components-options-checkbox-size);padding-top:.05rem;position:absolute;text-align:center;transform:translateY(-50%) scale(0);transition:all .1s;width:var(--components-options-checkbox-size)}@supports (content: \"*\"/\"\"){:host-context(.mod-multiple) .optionItem-value:after{content:\"\\e91a\"/\"\"}}@supports not (content: \"*\"/\"\"){:host-context(.mod-multiple) .optionItem-value:after{content:\"\\e91a\"}}:host-context(.mod-multiple) .optionItem-value.is-selected:before{background-color:var(--components-options-checkbox-color);box-shadow:inset 0 0 0 2px var(--components-options-checkbox-color)}:host-context(.mod-multiple) .optionItem-value.is-selected:after{color:var(--colors-white-color);transform:translateY(-50%) scale(1)}:host-context(.mod-multiple) .optionItem-value:hover:before{box-shadow:inset 0 0 0 2px var(--components-options-checkbox-color)}:host-context(.mod-multiple).establishmentOption .optionItem-value{position:relative;padding-left:calc(2 * var(--components-options-item-padding-horizontal) + var(--components-options-checkbox-size) + var(--spacings-smaller))}:host-context(.mod-multiple).establishmentOption .optionItem-value:before,:host-context(.mod-multiple).establishmentOption .optionItem-value:after{left:calc(2 * var(--components-options-item-padding-horizontal))}\n"] }]
71
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: undefined, decorators: [{
72
+ type: Inject,
73
+ args: [SELECT_ID]
74
+ }] }]; }, propDecorators: { hasOptionItemClass: [{
75
+ type: HostBinding,
76
+ args: ['class.optionItem']
77
+ }], isSelected: [{
78
+ type: Input
79
+ }, {
80
+ type: HostBinding,
81
+ args: ['attr.aria-selected']
82
+ }], option: [{
83
+ type: Input
84
+ }], optionIndex: [{
85
+ type: Input
86
+ }], disabled: [{
87
+ type: Input
88
+ }], role: [{
89
+ type: HostBinding,
90
+ args: ['attr.role']
91
+ }], id: [{
92
+ type: HostBinding,
93
+ args: ['attr.id']
94
+ }] } });
95
+
96
+ class LuOptionDirective {
97
+ constructor(templateRef) {
98
+ this.templateRef = templateRef;
99
+ }
100
+ set select(select) {
101
+ select.optionTpl = this.templateRef;
102
+ }
103
+ }
104
+ LuOptionDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: LuOptionDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
105
+ LuOptionDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.0", type: LuOptionDirective, isStandalone: true, selector: "[luOption]", inputs: { select: ["luOptionSelect", "select"], value: ["luOption", "value"] }, ngImport: i0 });
106
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: LuOptionDirective, decorators: [{
107
+ type: Directive,
108
+ args: [{
109
+ selector: '[luOption]',
110
+ standalone: true,
111
+ }]
112
+ }], ctorParameters: function () { return [{ type: i0.TemplateRef }]; }, propDecorators: { select: [{
113
+ type: Input,
114
+ args: ['luOptionSelect']
115
+ }], value: [{
116
+ type: Input,
117
+ args: ['luOption']
118
+ }] } });
119
+
120
+ class LuSelectPanelRef {
121
+ constructor() {
122
+ this.closed = new EventEmitter();
123
+ this.previousPage = new EventEmitter();
124
+ this.nextPage = new EventEmitter();
125
+ this.valueChanged = new EventEmitter();
126
+ this.clueChanged = new EventEmitter();
127
+ this.activeOptionIdChanged = new EventEmitter();
128
+ }
129
+ close() {
130
+ this.closed.next();
131
+ this.closed.complete();
132
+ this.nextPage.next();
133
+ this.nextPage.complete();
134
+ this.previousPage.next();
135
+ this.previousPage.complete();
136
+ this.valueChanged.complete();
137
+ this.clueChanged.emit(null);
138
+ this.clueChanged.complete();
139
+ this.activeOptionIdChanged.emit(undefined);
140
+ this.activeOptionIdChanged.complete();
141
+ }
142
+ }
143
+ class LuSelectPanelComponent {
144
+ constructor(panelRef, selectId, data) {
145
+ this.panelRef = panelRef;
146
+ this.selectId = selectId;
147
+ this.search = null;
148
+ this.options$ = data.options$;
149
+ this.loading$ = data.loading$;
150
+ this.optionComparer = data.optionComparer;
151
+ this.initialValue = data.initialValue;
152
+ this.optionTpl = data.optionTpl;
153
+ this.searchable = data.searchable;
154
+ }
155
+ set searchInput(input) {
156
+ if (!input) {
157
+ return;
158
+ }
159
+ setTimeout(() => input.nativeElement.focus());
160
+ }
161
+ get selected() {
162
+ return this.keyManager?.activeItem?.option;
163
+ }
164
+ onScroll(evt) {
165
+ if (!(evt.target instanceof HTMLElement)) {
166
+ return;
167
+ }
168
+ if (evt.target.scrollTop === 0) {
169
+ this.panelRef.previousPage.emit();
170
+ }
171
+ if (evt.target.scrollHeight === evt.target.scrollTop + evt.target.clientHeight) {
172
+ this.panelRef.nextPage.emit();
173
+ }
174
+ }
175
+ ngAfterViewInit() {
176
+ if (!this.optionsQL) {
177
+ return;
178
+ }
179
+ this.keyManager = new ActiveDescendantKeyManager(this.optionsQL).withHomeAndEnd();
180
+ if (this.initialValue) {
181
+ this.options$
182
+ ?.pipe(take(1), observeOn(asyncScheduler), map((options) => options.findIndex((o) => this.optionComparer(o, this.initialValue))), takeUntil(this.panelRef.closed))
183
+ .subscribe((selectedIndex) => this.keyManager.setActiveItem(selectedIndex));
184
+ }
185
+ this.keyManager.change
186
+ .pipe(map(() => this.keyManager.activeItem?.id), takeUntil(this.panelRef.closed))
187
+ .subscribe((activeDescendant) => this.panelRef.activeOptionIdChanged.emit(activeDescendant));
188
+ }
189
+ onKeyDown($event) {
190
+ switch ($event.key) {
191
+ case 'Escape':
192
+ case 'Tab':
193
+ return this.panelRef.close();
194
+ case 'Enter':
195
+ return this.panelRef.emitValue(this.selected);
196
+ default:
197
+ this.keyManager?.onKeydown($event);
198
+ }
199
+ }
200
+ updateClue(clue) {
201
+ this.search = clue;
202
+ this.panelRef.clueChanged.emit(clue);
203
+ setTimeout(() => this.keyManager.setFirstItemActive());
204
+ }
205
+ }
206
+ LuSelectPanelComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: LuSelectPanelComponent, deps: [{ token: LuSelectPanelRef }, { token: SELECT_ID }, { token: SELECT_PANEL_DATA }], target: i0.ɵɵFactoryTarget.Component });
207
+ LuSelectPanelComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.0", type: LuSelectPanelComponent, isStandalone: true, selector: "lu-select-panel", host: { listeners: { "keydown": "onKeyDown($event)" } }, viewQueries: [{ propertyName: "searchInput", first: true, predicate: ["searchInput"], descendants: true }, { propertyName: "optionsQL", predicate: LuOptionComponent, descendants: true }], ngImport: i0, template: "<div\r\n\tclass=\"lu-picker-panel lu-option-picker-panel\"\r\n\trole=\"dialog\"\r\n\tcdkTrapFocus\r\n\t*ngIf=\"{ options: options$ | async } as ctx\"\r\n\t[cdkTrapFocusAutoCapture]=\"true\"\r\n>\r\n\t<div class=\"lu-picker-content\" [class.is-loading]=\"loading$ | async\" tabindex=\"0\" (scroll)=\"onScroll($event)\">\r\n\t\t<ng-container *ngIf=\"searchable\">\r\n\t\t\t<div class=\"textfield mod-search\">\r\n\t\t\t\t<input #searchInput class=\"textfield-input\" [(ngModel)]=\"search\" (ngModelChange)=\"updateClue($event)\" />\r\n\t\t\t</div>\r\n\r\n\t\t\t<div class=\"optionPlaceholder\" *ngIf=\"search && !ctx.options?.length\">\r\n\t\t\t\t<p class=\"optionPlaceholder-content u-marginBottomReset\">Aucun r\u00E9sultat pour votre recherche</p>\r\n\t\t\t\t<button type=\"button\" class=\"link\" (click)=\"updateClue(null); searchInput.focus()\">Vider la recherche</button>\r\n\t\t\t</div>\r\n\t\t</ng-container>\r\n\r\n\t\t<lu-select-option\r\n\t\t\t*ngFor=\"let option of ctx.options; let index = index\"\r\n\t\t\t[option]=\"option\"\r\n\t\t\t[optionIndex]=\"index\"\r\n\t\t\t[isSelected]=\"option === selected\"\r\n\t\t\t[disabled]=\"false\"\r\n\t\t\t(click)=\"panelRef.emitValue(option)\"\r\n\t\t>\r\n\t\t\t<ng-container *ngTemplateOutlet=\"optionTpl; context: { $implicit: option }\"></ng-container>\r\n\t\t</lu-select-option>\r\n\t\t<div *ngIf=\"loading$ | async\" class=\"loading lu-picker-loading\"></div>\r\n\t</div>\r\n</div>\r\n", styles: [":root{--components-options-item-padding-vertical: var(--spacings-smaller);--components-options-item-padding-horizontal: var(--spacings-smaller);--components-options-item-multiple-padding: var(--spacings-big);--components-options-item-icon-color: var(--palettes-grey-800);--components-options-checkbox-left: .5rem;--components-options-checkbox-size: 1rem;--components-options-checkbox-color: var(--palettes-primary-700);--components-options-checkbox-border-radius: var(--commons-border-radius);--components-options-checkbox-border-color: var(--palettes-grey-700);--components-options-establishment-multiple-padding: var(--spacings-standard)}.textfield.mod-search{width:100%}.textfield-input{border-radius:0;box-shadow:none;background-color:var(--colors-white-color);border-bottom:var(--commons-divider-width) solid var(--commons-divider-color)}.textfield-input:hover{background-color:var(--palettes-grey-50)}.textfield-input:focus{background-color:var(--colors-white-color);border-bottom-color:var(--palettes-primary-600)}.checkbox.mod-formerEmployee{padding:var(--spacings-smallest) var(--components-options-item-padding-horizontal);border-bottom:var(--commons-divider-width) solid var(--commons-divider-color);background-color:var(--palettes-grey-50);font-style:italic}.optionPlaceholder{display:block;padding:var(--components-options-item-padding-vertical) var(--components-options-item-padding-horizontal);font-style:italic;color:var(--palettes-grey-600)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { 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: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.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.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: A11yModule }, { kind: "directive", type: i3.CdkTrapFocus, selector: "[cdkTrapFocus]", inputs: ["cdkTrapFocus", "cdkTrapFocusAutoCapture"], exportAs: ["cdkTrapFocus"] }, { kind: "component", type: LuOptionComponent, selector: "lu-select-option", inputs: ["isSelected", "option", "optionIndex", "disabled"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
208
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: LuSelectPanelComponent, decorators: [{
209
+ type: Component,
210
+ args: [{ selector: 'lu-select-panel', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [CommonModule, FormsModule, A11yModule, LuOptionComponent], template: "<div\r\n\tclass=\"lu-picker-panel lu-option-picker-panel\"\r\n\trole=\"dialog\"\r\n\tcdkTrapFocus\r\n\t*ngIf=\"{ options: options$ | async } as ctx\"\r\n\t[cdkTrapFocusAutoCapture]=\"true\"\r\n>\r\n\t<div class=\"lu-picker-content\" [class.is-loading]=\"loading$ | async\" tabindex=\"0\" (scroll)=\"onScroll($event)\">\r\n\t\t<ng-container *ngIf=\"searchable\">\r\n\t\t\t<div class=\"textfield mod-search\">\r\n\t\t\t\t<input #searchInput class=\"textfield-input\" [(ngModel)]=\"search\" (ngModelChange)=\"updateClue($event)\" />\r\n\t\t\t</div>\r\n\r\n\t\t\t<div class=\"optionPlaceholder\" *ngIf=\"search && !ctx.options?.length\">\r\n\t\t\t\t<p class=\"optionPlaceholder-content u-marginBottomReset\">Aucun r\u00E9sultat pour votre recherche</p>\r\n\t\t\t\t<button type=\"button\" class=\"link\" (click)=\"updateClue(null); searchInput.focus()\">Vider la recherche</button>\r\n\t\t\t</div>\r\n\t\t</ng-container>\r\n\r\n\t\t<lu-select-option\r\n\t\t\t*ngFor=\"let option of ctx.options; let index = index\"\r\n\t\t\t[option]=\"option\"\r\n\t\t\t[optionIndex]=\"index\"\r\n\t\t\t[isSelected]=\"option === selected\"\r\n\t\t\t[disabled]=\"false\"\r\n\t\t\t(click)=\"panelRef.emitValue(option)\"\r\n\t\t>\r\n\t\t\t<ng-container *ngTemplateOutlet=\"optionTpl; context: { $implicit: option }\"></ng-container>\r\n\t\t</lu-select-option>\r\n\t\t<div *ngIf=\"loading$ | async\" class=\"loading lu-picker-loading\"></div>\r\n\t</div>\r\n</div>\r\n", styles: [":root{--components-options-item-padding-vertical: var(--spacings-smaller);--components-options-item-padding-horizontal: var(--spacings-smaller);--components-options-item-multiple-padding: var(--spacings-big);--components-options-item-icon-color: var(--palettes-grey-800);--components-options-checkbox-left: .5rem;--components-options-checkbox-size: 1rem;--components-options-checkbox-color: var(--palettes-primary-700);--components-options-checkbox-border-radius: var(--commons-border-radius);--components-options-checkbox-border-color: var(--palettes-grey-700);--components-options-establishment-multiple-padding: var(--spacings-standard)}.textfield.mod-search{width:100%}.textfield-input{border-radius:0;box-shadow:none;background-color:var(--colors-white-color);border-bottom:var(--commons-divider-width) solid var(--commons-divider-color)}.textfield-input:hover{background-color:var(--palettes-grey-50)}.textfield-input:focus{background-color:var(--colors-white-color);border-bottom-color:var(--palettes-primary-600)}.checkbox.mod-formerEmployee{padding:var(--spacings-smallest) var(--components-options-item-padding-horizontal);border-bottom:var(--commons-divider-width) solid var(--commons-divider-color);background-color:var(--palettes-grey-50);font-style:italic}.optionPlaceholder{display:block;padding:var(--components-options-item-padding-vertical) var(--components-options-item-padding-horizontal);font-style:italic;color:var(--palettes-grey-600)}\n"] }]
211
+ }], ctorParameters: function () { return [{ type: LuSelectPanelRef }, { type: undefined, decorators: [{
212
+ type: Inject,
213
+ args: [SELECT_ID]
214
+ }] }, { type: undefined, decorators: [{
215
+ type: Inject,
216
+ args: [SELECT_PANEL_DATA]
217
+ }] }]; }, propDecorators: { searchInput: [{
218
+ type: ViewChild,
219
+ args: ['searchInput']
220
+ }], optionsQL: [{
221
+ type: ViewChildren,
222
+ args: [LuOptionComponent]
223
+ }], onKeyDown: [{
224
+ type: HostListener,
225
+ args: ['keydown', ['$event']]
226
+ }] } });
227
+
228
+ /* eslint-disable @angular-eslint/no-output-on-prefix */
229
+ let selectId = 0;
230
+ function selectIdFactory() {
231
+ return selectId++;
232
+ }
233
+ function selectLabelFactory(elementRef) {
234
+ function getLabel(node) {
235
+ if (node instanceof HTMLLabelElement) {
236
+ return node;
237
+ }
238
+ if (!node.parentElement) {
239
+ return undefined;
240
+ }
241
+ return getLabel(node.parentElement);
242
+ }
243
+ return getLabel(elementRef.nativeElement);
244
+ }
245
+ function selectLabelIdFactory(label, selectId) {
246
+ return label?.id || `lu-select-label-${selectId}`;
247
+ }
248
+ class LuSelectOverlayContainer extends OverlayContainer {
249
+ constructor(document, platform, selectLabelId, selectId) {
250
+ super(document, platform);
251
+ this.selectLabelId = selectLabelId;
252
+ this.selectId = selectId;
253
+ }
254
+ _createContainer() {
255
+ super._createContainer();
256
+ this._containerElement.setAttribute('aria-labelledby', this.selectLabelId);
257
+ this._containerElement.setAttribute('role', 'listbox');
258
+ this._containerElement.id = `lu-select-overlay-container-${this.selectId}`;
259
+ }
260
+ }
261
+ LuSelectOverlayContainer.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: LuSelectOverlayContainer, deps: [{ token: DOCUMENT }, { token: i1$1.Platform }, { token: SELECT_LABEL_ID }, { token: SELECT_ID }], target: i0.ɵɵFactoryTarget.Injectable });
262
+ LuSelectOverlayContainer.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: LuSelectOverlayContainer });
263
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: LuSelectOverlayContainer, decorators: [{
264
+ type: Injectable
265
+ }], ctorParameters: function () { return [{ type: Document, decorators: [{
266
+ type: Inject,
267
+ args: [DOCUMENT]
268
+ }] }, { type: i1$1.Platform }, { type: undefined, decorators: [{
269
+ type: Inject,
270
+ args: [SELECT_LABEL_ID]
271
+ }] }, { type: undefined, decorators: [{
272
+ type: Inject,
273
+ args: [SELECT_ID]
274
+ }] }]; } });
275
+ class LuSelectOverlay extends Overlay {
276
+ }
277
+ LuSelectOverlay.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: LuSelectOverlay, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
278
+ LuSelectOverlay.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: LuSelectOverlay });
279
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: LuSelectOverlay, decorators: [{
280
+ type: Injectable
281
+ }] });
282
+ class SelectPanelRef extends LuSelectPanelRef {
283
+ constructor(overlayRef, parentInjector, panelData) {
284
+ super();
285
+ this.overlayRef = overlayRef;
286
+ const injector = Injector.create({
287
+ providers: [
288
+ { provide: LuSelectPanelRef, useValue: this },
289
+ { provide: SELECT_PANEL_DATA, useValue: panelData },
290
+ ],
291
+ parent: parentInjector,
292
+ });
293
+ this.portalRef = new ComponentPortal(LuSelectPanelComponent, undefined, injector);
294
+ this.panelRef = overlayRef.attach(this.portalRef);
295
+ this.instance = this.panelRef.instance;
296
+ overlayRef
297
+ .backdropClick()
298
+ .pipe(takeUntil(this.closed))
299
+ .subscribe(() => this.close());
300
+ }
301
+ emitValue(value) {
302
+ this.valueChanged.emit(value);
303
+ this.close();
304
+ }
305
+ close() {
306
+ super.close();
307
+ this.panelRef.destroy();
308
+ this.overlayRef.detach();
309
+ }
310
+ }
311
+ class LuSimpleSelectInputComponent {
312
+ constructor(positionBuilder, scrollStrategies, elementRef, injector, overlay, changeDetectorRef, overlayContainer, label, labelId) {
313
+ this.positionBuilder = positionBuilder;
314
+ this.scrollStrategies = scrollStrategies;
315
+ this.elementRef = elementRef;
316
+ this.injector = injector;
317
+ this.overlay = overlay;
318
+ this.changeDetectorRef = changeDetectorRef;
319
+ this.label = label;
320
+ this.labelId = labelId;
321
+ this.tabindex = 0;
322
+ this.placeholder = '';
323
+ this.multiple = false;
324
+ this.clearable = false;
325
+ this.disabled = false;
326
+ this.isPanelOpen = false;
327
+ this.role = 'combobox';
328
+ this.overlayConfig = {
329
+ hasBackdrop: true,
330
+ backdropClass: 'cdk-overlay-transparent-backdrop',
331
+ };
332
+ this.optionComparer = (option1, option2) => JSON.stringify(option1) === JSON.stringify(option2);
333
+ this.clueChange = new EventEmitter();
334
+ this.nextPage = new EventEmitter();
335
+ this.previousPage = new EventEmitter();
336
+ this.options$ = new ReplaySubject(1);
337
+ this.loading$ = new ReplaySubject(1);
338
+ this.clue = null;
339
+ this.destroyed$ = new Subject();
340
+ this.overlayContainerRef = overlayContainer.getContainerElement();
341
+ }
342
+ get searchable() {
343
+ return this.clueChange.observed;
344
+ }
345
+ get isFilled() {
346
+ return this.value !== null && this.value !== undefined;
347
+ }
348
+ get ariaControls() {
349
+ return this.overlayContainerRef.id;
350
+ }
351
+ set loading(value) {
352
+ this.loading$.next(value);
353
+ }
354
+ set options(options) {
355
+ this.options$.next(options);
356
+ }
357
+ onKeydown($event) {
358
+ if (!this.isPanelOpen) {
359
+ this.openPanel();
360
+ $event.stopPropagation();
361
+ $event.preventDefault();
362
+ }
363
+ }
364
+ registerOnChange(onChange) {
365
+ this.onChange = onChange;
366
+ }
367
+ registerOnTouched(onTouched) {
368
+ this.onTouched = onTouched;
369
+ }
370
+ setDisabledState(isDisabled) {
371
+ this.disabled = isDisabled;
372
+ }
373
+ ngOnDestroy() {
374
+ this.destroyed$.next();
375
+ this.destroyed$.complete();
376
+ }
377
+ ngOnInit() {
378
+ if (this.label) {
379
+ this.label.id = this.labelId;
380
+ }
381
+ }
382
+ clearValue(event) {
383
+ event.stopPropagation();
384
+ this.onChange?.(null);
385
+ this.value = null;
386
+ }
387
+ openPanel() {
388
+ if (this.isPanelOpen || this.disabled) {
389
+ return;
390
+ }
391
+ const overlayConfig = this.overlayConfig || {};
392
+ overlayConfig.positionStrategy = this.positionBuilder.flexibleConnectedTo(this.elementRef).withPositions([
393
+ {
394
+ originX: 'start',
395
+ originY: 'bottom',
396
+ overlayX: 'start',
397
+ overlayY: 'top',
398
+ },
399
+ {
400
+ originX: 'end',
401
+ originY: 'bottom',
402
+ overlayX: 'end',
403
+ overlayY: 'top',
404
+ },
405
+ {
406
+ originX: 'start',
407
+ originY: 'top',
408
+ overlayX: 'start',
409
+ overlayY: 'bottom',
410
+ },
411
+ {
412
+ originX: 'end',
413
+ originY: 'top',
414
+ overlayX: 'end',
415
+ overlayY: 'bottom',
416
+ },
417
+ ]);
418
+ overlayConfig.scrollStrategy = this.scrollStrategies.reposition();
419
+ overlayConfig.minWidth = this.elementRef.nativeElement.clientWidth;
420
+ overlayConfig.maxHeight = '100vh';
421
+ overlayConfig.maxWidth = '100vw';
422
+ const overlayRef = this.overlay.create(overlayConfig);
423
+ this.isPanelOpen = true;
424
+ this.panelRef = new SelectPanelRef(overlayRef, this.injector, {
425
+ initialValue: this.value,
426
+ optionComparer: this.optionComparer,
427
+ options$: this.options$,
428
+ loading$: this.loading$,
429
+ searchable: this.searchable,
430
+ optionTpl: this.optionTpl,
431
+ });
432
+ this.panelRef.valueChanged.subscribe((value) => {
433
+ this.onChange?.(value);
434
+ this.value = value;
435
+ });
436
+ this.panelRef.nextPage.subscribe(() => this.nextPage.emit());
437
+ this.panelRef.previousPage.subscribe(() => this.previousPage.emit());
438
+ this.panelRef.clueChanged.subscribe((clue) => {
439
+ this.clueChange.emit(clue);
440
+ this.clue = clue;
441
+ });
442
+ this.panelRef.activeOptionIdChanged.subscribe((optionId) => {
443
+ this.activeDescendant = optionId;
444
+ this.changeDetectorRef.markForCheck();
445
+ });
446
+ this.panelRef.closed.subscribe(() => this.closePanel());
447
+ }
448
+ closePanel() {
449
+ if (!this.isPanelOpen) {
450
+ return;
451
+ }
452
+ this.isPanelOpen = false;
453
+ this.panelRef.close();
454
+ this.panelRef = undefined;
455
+ }
456
+ writeValue(value) {
457
+ this.value = value;
458
+ }
459
+ }
460
+ LuSimpleSelectInputComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: LuSimpleSelectInputComponent, deps: [{ token: i2$1.OverlayPositionBuilder }, { token: i2$1.ScrollStrategyOptions }, { token: i0.ElementRef }, { token: i0.Injector }, { token: LuSelectOverlay }, { token: i0.ChangeDetectorRef }, { token: i2$1.OverlayContainer }, { token: SELECT_LABEL }, { token: SELECT_LABEL_ID }], target: i0.ɵɵFactoryTarget.Component });
461
+ LuSimpleSelectInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.0", type: LuSimpleSelectInputComponent, isStandalone: true, selector: "lu-simple-select", inputs: { placeholder: "placeholder", multiple: "multiple", clearable: "clearable", disabled: "disabled", overlayConfig: "overlayConfig", loading: "loading", options: "options", optionComparer: "optionComparer", optionTpl: "optionTpl", valueTpl: "valueTpl" }, outputs: { clueChange: "clueChange", nextPage: "nextPage", previousPage: "previousPage" }, host: { listeners: { "keydown.space": "onKeydown($event)", "keydown.enter": "onKeydown($event)", "keydown.arrowDown": "onKeydown($event)", "click": "onKeydown($event)" }, properties: { "tabindex": "this.tabindex", "class.mod-multiple": "this.multiple", "class.is-clearable": "this.clearable", "class.is-disabled": "this.disabled", "class.is-filled": "this.isFilled", "class.is-focused": "this.isPanelOpen", "attr.aria-expanded": "this.isPanelOpen", "attr.role": "this.role", "attr.aria-activedescendant": "this.activeDescendant", "attr.aria-controls": "this.ariaControls" } }, providers: [
462
+ {
463
+ provide: NG_VALUE_ACCESSOR,
464
+ useExisting: forwardRef(() => LuSimpleSelectInputComponent),
465
+ multi: true,
466
+ },
467
+ {
468
+ provide: OverlayContainer,
469
+ useClass: LuSelectOverlayContainer,
470
+ },
471
+ LuSelectOverlay,
472
+ { provide: SELECT_ID, useFactory: selectIdFactory },
473
+ { provide: SELECT_LABEL, useFactory: selectLabelFactory, deps: [ElementRef] },
474
+ { provide: SELECT_LABEL_ID, useFactory: selectLabelIdFactory, deps: [SELECT_LABEL, SELECT_ID] },
475
+ ], ngImport: i0, template: "<div class=\"lu-select-placeholder\">{{ placeholder }}</div>\r\n<div class=\"lu-select-value\">\r\n\t<div class=\"lu-select-display-wrapper\">\r\n\t\t<ng-container *ngIf=\"isFilled\">\r\n\t\t\t<ng-container *ngTemplateOutlet=\"valueTpl || optionTpl; context: { $implicit: value }\"></ng-container>\r\n\t\t</ng-container>\r\n\t</div>\r\n</div>\r\n<div class=\"lu-select-suffix\">\r\n\t<a *ngIf=\"clearable && isFilled\" role=\"button\" class=\"actionIcon\" (click)=\"clearValue($event)\">\r\n\t\t<span aria-hidden=\"true\" class=\"lucca-icon\">thin_cross</span>\r\n\t\t<span class=\"u-mask\">Clear</span>\r\n\t</a>\r\n</div>\r\n", styles: [":root{--components-options-item-padding-vertical: var(--spacings-smaller);--components-options-item-padding-horizontal: var(--spacings-smaller);--components-options-item-multiple-padding: var(--spacings-big);--components-options-item-icon-color: var(--palettes-grey-800);--components-options-checkbox-left: .5rem;--components-options-checkbox-size: 1rem;--components-options-checkbox-color: var(--palettes-primary-700);--components-options-checkbox-border-radius: var(--commons-border-radius);--components-options-checkbox-border-color: var(--palettes-grey-700);--components-options-establishment-multiple-padding: var(--spacings-standard)}:host{--components-select-default-palette-50: var(--palettes-primary-50);--components-select-default-palette-100: var(--palettes-primary-100);--components-select-default-palette-200: var(--palettes-primary-200);--components-select-default-palette-300: var(--palettes-primary-300);--components-select-default-palette-400: var(--palettes-primary-400);--components-select-default-palette-500: var(--palettes-primary-500);--components-select-default-palette-600: var(--palettes-primary-600);--components-select-default-palette-700: var(--palettes-primary-700);--components-select-default-palette-800: var(--palettes-primary-800);--components-select-default-palette-900: var(--palettes-primary-900);--components-select-chip-background: var(--palettes-primary-700);--components-select-chip-text: var(--colors-white-color);--components-select-input-padding-horizontal: var(--spacings-smaller);--components-select-input-padding-vertical: var(--spacings-smaller);--components-select-framed-color: var(--palettes-grey-500);--components-select-framed-color50: var(--palettes-grey-50);--components-select-framed-see-through: var(--palettes-grey-50);--components-select-framed-text: var(--palettes-grey-800);--components-select-framed-placeholder: #cccccc;--components-select-framed-side-padding: var(--spacings-small);--components-select-framed-top-padding: var(--spacings-big);--components-select-framed-bottom-padding: var(--spacings-small);--components-select-framed-label-top-offset: var(--spacings-smaller);cursor:pointer;outline:none;padding:0}:host:after{display:inline-block;vertical-align:text-bottom;font-style:normal;font-family:Lucca icons;color:var(--palettes-700, var(--components-select-default-palette-700));bottom:var(--components-select-input-padding-vertical);font-size:1.2rem;line-height:1.4rem;pointer-events:none;position:absolute;right:var(--components-select-input-padding-horizontal)}@supports (content: \"*\"/\"\"){:host:after{content:\"\\e97c\"/\"\"}}@supports not (content: \"*\"/\"\"){:host:after{content:\"\\e97c\"}}:host[disabled]{cursor:not-allowed;pointer-events:all}:host.is-disabled{cursor:not-allowed;pointer-events:all}.lu-select-display-wrapper{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lu-select-value{line-height:var(--sizes-standard-line-height);min-height:calc(var(--components-select-framed-bottom-padding) + var(--sizes-standard-line-height));padding:var(--components-select-input-padding-vertical) 2.5rem var(--components-select-input-padding-vertical) var(--components-select-input-padding-horizontal);transition:all var(--commons-animations-durations-standard);display:none}.lu-select-placeholder{color:var(--palettes-400, var(--components-select-default-palette-400));line-height:var(--sizes-standard-line-height);min-height:calc(var(--components-select-framed-bottom-padding) + var(--sizes-standard-line-height));padding:var(--components-select-input-padding-vertical) 2.5rem var(--components-select-input-padding-vertical) var(--components-select-input-padding-horizontal);transition:all var(--commons-animations-durations-standard);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lu-select-suffix{position:absolute;bottom:var(--spacings-smaller);right:1.6rem}::ng-deep .lu-select-value .label{padding:var(--spacings-smallest) var(--spacings-smaller);margin-left:0}::ng-deep .lu-select-value .chip{background-color:var(--components-select-chip-background);color:var(--components-select-chip-text);vertical-align:baseline;max-width:100%;height:var(--sizes-standard-line-height);line-height:var(--sizes-standard-line-height);padding:0 var(--spacings-smaller);margin:0 var(--spacings-smallest) var(--spacings-smallest) 0;text-overflow:ellipsis;overflow:hidden;vertical-align:top;white-space:nowrap}:host-context(.textfield.mod-small) .lu-select-value,:host-context(.textfield.mod-small) .lu-select-placeholder{font-size:var(--sizes-small-font-size);line-height:var(--sizes-smaller-line-height);min-height:calc(var(--components-select-framed-bottom-padding) + var(--sizes-smaller-line-height))}:host-context(.textfield.mod-small):after{line-height:var(--sizes-smaller-line-height)}:host-context(.textfield.mod-small) ::ng-deep .lu-select-value .label{font-size:var(--sizes-small-font-size);line-height:var(--sizes-small-line-height);font-weight:600;margin:0;padding:0;background-color:transparent}:host-context(.textfield.mod-small) ::ng-deep .lu-select-value .chip{height:var(--sizes-smaller-line-height);line-height:var(--sizes-smaller-line-height);font-size:var(--sizes-smaller-font-size)}:host-context(.textfield.mod-framed).textfield-input,:host-context(.form.mod-framed).textfield-input{padding:var(--components-select-framed-top-padding) 0 0}:host-context(.textfield.mod-framed).textfield-input:after,:host-context(.form.mod-framed).textfield-input:after{color:var(--palettes-grey-500);bottom:var(--components-select-framed-bottom-padding);right:var(--spacings-smaller)}:host-context(.textfield.mod-framed).textfield-input .lu-select-value,:host-context(.form.mod-framed).textfield-input .lu-select-value{padding:0 calc(var(--components-select-framed-side-padding) * 3) var(--components-select-framed-bottom-padding) var(--components-select-framed-side-padding)}:host-context(.textfield.mod-framed).textfield-input .lu-select-placeholder,:host-context(.form.mod-framed).textfield-input .lu-select-placeholder{color:var(--palettes-grey-400);padding:0 calc(var(--components-select-framed-side-padding) * 3) var(--components-select-framed-bottom-padding) var(--components-select-framed-side-padding)}:host-context(.textfield.mod-framed).textfield-input .lu-select-suffix,:host-context(.form.mod-framed).textfield-input .lu-select-suffix{bottom:var(--components-select-framed-bottom-padding);right:1.7rem}:host-context(.textfield.mod-filter) .lu-select-value,:host-context(.textfield.mod-filter) .lu-select-placeholder{padding:0;height:auto;padding-top:var(--spacings-small);color:var(--palettes-grey-800)}:host-context(.textfield.mod-filter) .lu-select-suffix{bottom:.4rem}:host-context(.textfield.mod-material):after{color:var(--palettes-grey-500);bottom:.6rem;right:0}:host-context(.textfield.mod-material) .lu-select-value,:host-context(.textfield.mod-material) .lu-select-placeholder{padding-left:0;padding-right:.8rem}:host-context(.textfield.mod-material) .lu-select-suffix{right:calc(2 * var(--components-select-input-padding-horizontal))}:host-context(.textfield.mod-material).is-select .lu-select-placeholder{display:none}:host-context(.textfield.mod-material).mod-search:after{bottom:0}:host-context(.textfield.mod-material).mod-search .lu-select-suffix{right:calc(2.75 * var(--components-select-input-padding-horizontal))}:host-context(.textfield.mod-material .textfield-input.is-focused) .lu-select-placeholder{display:none}:host(.mod-multiple) .lu-select-value{height:auto;align-items:center}:host(.mod-multiple) .lu-select-display-wrapper{overflow:hidden;white-space:normal;margin-bottom:calc(var(--spacings-smallest) * -1)}:host-context(.textfield-input.is-filled) .lu-select-placeholder{display:none}:host-context(.textfield-input.is-filled) .lu-select-value{display:flex;align-items:start}:host-context(.textfield-input.is-clearable) .lu-select-value{padding-right:2.5rem}:host-context(.textfield-input.is-error):after{color:var(--palettes-error-700)}:host-context(.textfield-input.is-error) .lu-select-placeholder{color:var(--palettes-error-200)}:host-context(.textfield-input.is-disabled,.textfield-input[disabled]):after{color:var(--commons-disabled-color)}:host-context(.textfield-input.is-disabled,.textfield-input[disabled]) .lu-select-placeholder{color:var(--commons-disabled-placeholder)}:host{display:none;vertical-align:text-bottom}:host-context(.textfield-input.is-filled){display:inline-block}.actionIcon{height:1rem;width:1rem;padding:0;color:var(--palettes-700, var(--components-select-default-palette-700))}.actionIcon:hover{background-color:var(--palettes-50, var(--components-select-default-palette-50));color:var(--palettes-800, var(--components-select-default-palette-800))}.actionIcon:focus{background-color:var(--palettes-50, var(--components-select-default-palette-50));box-shadow:0 2px 8px rgba(var(--colors-grey-900-rgb),.04),0 1px 2px rgba(var(--colors-grey-900-rgb),.06),0 0 0 4px var(--palettes-200, var(--components-select-default-palette-200))}.lucca-icon{display:block;font-size:var(--sizes-standard-font-size)}:host-context(.textfield.mod-material) .actionIcon{color:var(--palettes-grey-500)}:host-context(.textfield.mod-framed) .actionIcon{color:var(--palettes-grey-500)}:host-context(.textfield-input.is-error) .actionIcon{color:var(--palettes-error-700)}:host-context(.textfield-input.is-error) .actionIcon:hover{background-color:var(--palettes-error-50);color:var(--palettes-error-800)}:host-context(.textfield-input.is-disabled,.textfield-input[disabled]){display:none}:host.is-disabled{display:inline-block!important}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: OverlayModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
476
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: LuSimpleSelectInputComponent, decorators: [{
477
+ type: Component,
478
+ args: [{ selector: 'lu-simple-select', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [CommonModule, OverlayModule], providers: [
479
+ {
480
+ provide: NG_VALUE_ACCESSOR,
481
+ useExisting: forwardRef(() => LuSimpleSelectInputComponent),
482
+ multi: true,
483
+ },
484
+ {
485
+ provide: OverlayContainer,
486
+ useClass: LuSelectOverlayContainer,
487
+ },
488
+ LuSelectOverlay,
489
+ { provide: SELECT_ID, useFactory: selectIdFactory },
490
+ { provide: SELECT_LABEL, useFactory: selectLabelFactory, deps: [ElementRef] },
491
+ { provide: SELECT_LABEL_ID, useFactory: selectLabelIdFactory, deps: [SELECT_LABEL, SELECT_ID] },
492
+ ], template: "<div class=\"lu-select-placeholder\">{{ placeholder }}</div>\r\n<div class=\"lu-select-value\">\r\n\t<div class=\"lu-select-display-wrapper\">\r\n\t\t<ng-container *ngIf=\"isFilled\">\r\n\t\t\t<ng-container *ngTemplateOutlet=\"valueTpl || optionTpl; context: { $implicit: value }\"></ng-container>\r\n\t\t</ng-container>\r\n\t</div>\r\n</div>\r\n<div class=\"lu-select-suffix\">\r\n\t<a *ngIf=\"clearable && isFilled\" role=\"button\" class=\"actionIcon\" (click)=\"clearValue($event)\">\r\n\t\t<span aria-hidden=\"true\" class=\"lucca-icon\">thin_cross</span>\r\n\t\t<span class=\"u-mask\">Clear</span>\r\n\t</a>\r\n</div>\r\n", styles: [":root{--components-options-item-padding-vertical: var(--spacings-smaller);--components-options-item-padding-horizontal: var(--spacings-smaller);--components-options-item-multiple-padding: var(--spacings-big);--components-options-item-icon-color: var(--palettes-grey-800);--components-options-checkbox-left: .5rem;--components-options-checkbox-size: 1rem;--components-options-checkbox-color: var(--palettes-primary-700);--components-options-checkbox-border-radius: var(--commons-border-radius);--components-options-checkbox-border-color: var(--palettes-grey-700);--components-options-establishment-multiple-padding: var(--spacings-standard)}:host{--components-select-default-palette-50: var(--palettes-primary-50);--components-select-default-palette-100: var(--palettes-primary-100);--components-select-default-palette-200: var(--palettes-primary-200);--components-select-default-palette-300: var(--palettes-primary-300);--components-select-default-palette-400: var(--palettes-primary-400);--components-select-default-palette-500: var(--palettes-primary-500);--components-select-default-palette-600: var(--palettes-primary-600);--components-select-default-palette-700: var(--palettes-primary-700);--components-select-default-palette-800: var(--palettes-primary-800);--components-select-default-palette-900: var(--palettes-primary-900);--components-select-chip-background: var(--palettes-primary-700);--components-select-chip-text: var(--colors-white-color);--components-select-input-padding-horizontal: var(--spacings-smaller);--components-select-input-padding-vertical: var(--spacings-smaller);--components-select-framed-color: var(--palettes-grey-500);--components-select-framed-color50: var(--palettes-grey-50);--components-select-framed-see-through: var(--palettes-grey-50);--components-select-framed-text: var(--palettes-grey-800);--components-select-framed-placeholder: #cccccc;--components-select-framed-side-padding: var(--spacings-small);--components-select-framed-top-padding: var(--spacings-big);--components-select-framed-bottom-padding: var(--spacings-small);--components-select-framed-label-top-offset: var(--spacings-smaller);cursor:pointer;outline:none;padding:0}:host:after{display:inline-block;vertical-align:text-bottom;font-style:normal;font-family:Lucca icons;color:var(--palettes-700, var(--components-select-default-palette-700));bottom:var(--components-select-input-padding-vertical);font-size:1.2rem;line-height:1.4rem;pointer-events:none;position:absolute;right:var(--components-select-input-padding-horizontal)}@supports (content: \"*\"/\"\"){:host:after{content:\"\\e97c\"/\"\"}}@supports not (content: \"*\"/\"\"){:host:after{content:\"\\e97c\"}}:host[disabled]{cursor:not-allowed;pointer-events:all}:host.is-disabled{cursor:not-allowed;pointer-events:all}.lu-select-display-wrapper{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lu-select-value{line-height:var(--sizes-standard-line-height);min-height:calc(var(--components-select-framed-bottom-padding) + var(--sizes-standard-line-height));padding:var(--components-select-input-padding-vertical) 2.5rem var(--components-select-input-padding-vertical) var(--components-select-input-padding-horizontal);transition:all var(--commons-animations-durations-standard);display:none}.lu-select-placeholder{color:var(--palettes-400, var(--components-select-default-palette-400));line-height:var(--sizes-standard-line-height);min-height:calc(var(--components-select-framed-bottom-padding) + var(--sizes-standard-line-height));padding:var(--components-select-input-padding-vertical) 2.5rem var(--components-select-input-padding-vertical) var(--components-select-input-padding-horizontal);transition:all var(--commons-animations-durations-standard);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lu-select-suffix{position:absolute;bottom:var(--spacings-smaller);right:1.6rem}::ng-deep .lu-select-value .label{padding:var(--spacings-smallest) var(--spacings-smaller);margin-left:0}::ng-deep .lu-select-value .chip{background-color:var(--components-select-chip-background);color:var(--components-select-chip-text);vertical-align:baseline;max-width:100%;height:var(--sizes-standard-line-height);line-height:var(--sizes-standard-line-height);padding:0 var(--spacings-smaller);margin:0 var(--spacings-smallest) var(--spacings-smallest) 0;text-overflow:ellipsis;overflow:hidden;vertical-align:top;white-space:nowrap}:host-context(.textfield.mod-small) .lu-select-value,:host-context(.textfield.mod-small) .lu-select-placeholder{font-size:var(--sizes-small-font-size);line-height:var(--sizes-smaller-line-height);min-height:calc(var(--components-select-framed-bottom-padding) + var(--sizes-smaller-line-height))}:host-context(.textfield.mod-small):after{line-height:var(--sizes-smaller-line-height)}:host-context(.textfield.mod-small) ::ng-deep .lu-select-value .label{font-size:var(--sizes-small-font-size);line-height:var(--sizes-small-line-height);font-weight:600;margin:0;padding:0;background-color:transparent}:host-context(.textfield.mod-small) ::ng-deep .lu-select-value .chip{height:var(--sizes-smaller-line-height);line-height:var(--sizes-smaller-line-height);font-size:var(--sizes-smaller-font-size)}:host-context(.textfield.mod-framed).textfield-input,:host-context(.form.mod-framed).textfield-input{padding:var(--components-select-framed-top-padding) 0 0}:host-context(.textfield.mod-framed).textfield-input:after,:host-context(.form.mod-framed).textfield-input:after{color:var(--palettes-grey-500);bottom:var(--components-select-framed-bottom-padding);right:var(--spacings-smaller)}:host-context(.textfield.mod-framed).textfield-input .lu-select-value,:host-context(.form.mod-framed).textfield-input .lu-select-value{padding:0 calc(var(--components-select-framed-side-padding) * 3) var(--components-select-framed-bottom-padding) var(--components-select-framed-side-padding)}:host-context(.textfield.mod-framed).textfield-input .lu-select-placeholder,:host-context(.form.mod-framed).textfield-input .lu-select-placeholder{color:var(--palettes-grey-400);padding:0 calc(var(--components-select-framed-side-padding) * 3) var(--components-select-framed-bottom-padding) var(--components-select-framed-side-padding)}:host-context(.textfield.mod-framed).textfield-input .lu-select-suffix,:host-context(.form.mod-framed).textfield-input .lu-select-suffix{bottom:var(--components-select-framed-bottom-padding);right:1.7rem}:host-context(.textfield.mod-filter) .lu-select-value,:host-context(.textfield.mod-filter) .lu-select-placeholder{padding:0;height:auto;padding-top:var(--spacings-small);color:var(--palettes-grey-800)}:host-context(.textfield.mod-filter) .lu-select-suffix{bottom:.4rem}:host-context(.textfield.mod-material):after{color:var(--palettes-grey-500);bottom:.6rem;right:0}:host-context(.textfield.mod-material) .lu-select-value,:host-context(.textfield.mod-material) .lu-select-placeholder{padding-left:0;padding-right:.8rem}:host-context(.textfield.mod-material) .lu-select-suffix{right:calc(2 * var(--components-select-input-padding-horizontal))}:host-context(.textfield.mod-material).is-select .lu-select-placeholder{display:none}:host-context(.textfield.mod-material).mod-search:after{bottom:0}:host-context(.textfield.mod-material).mod-search .lu-select-suffix{right:calc(2.75 * var(--components-select-input-padding-horizontal))}:host-context(.textfield.mod-material .textfield-input.is-focused) .lu-select-placeholder{display:none}:host(.mod-multiple) .lu-select-value{height:auto;align-items:center}:host(.mod-multiple) .lu-select-display-wrapper{overflow:hidden;white-space:normal;margin-bottom:calc(var(--spacings-smallest) * -1)}:host-context(.textfield-input.is-filled) .lu-select-placeholder{display:none}:host-context(.textfield-input.is-filled) .lu-select-value{display:flex;align-items:start}:host-context(.textfield-input.is-clearable) .lu-select-value{padding-right:2.5rem}:host-context(.textfield-input.is-error):after{color:var(--palettes-error-700)}:host-context(.textfield-input.is-error) .lu-select-placeholder{color:var(--palettes-error-200)}:host-context(.textfield-input.is-disabled,.textfield-input[disabled]):after{color:var(--commons-disabled-color)}:host-context(.textfield-input.is-disabled,.textfield-input[disabled]) .lu-select-placeholder{color:var(--commons-disabled-placeholder)}:host{display:none;vertical-align:text-bottom}:host-context(.textfield-input.is-filled){display:inline-block}.actionIcon{height:1rem;width:1rem;padding:0;color:var(--palettes-700, var(--components-select-default-palette-700))}.actionIcon:hover{background-color:var(--palettes-50, var(--components-select-default-palette-50));color:var(--palettes-800, var(--components-select-default-palette-800))}.actionIcon:focus{background-color:var(--palettes-50, var(--components-select-default-palette-50));box-shadow:0 2px 8px rgba(var(--colors-grey-900-rgb),.04),0 1px 2px rgba(var(--colors-grey-900-rgb),.06),0 0 0 4px var(--palettes-200, var(--components-select-default-palette-200))}.lucca-icon{display:block;font-size:var(--sizes-standard-font-size)}:host-context(.textfield.mod-material) .actionIcon{color:var(--palettes-grey-500)}:host-context(.textfield.mod-framed) .actionIcon{color:var(--palettes-grey-500)}:host-context(.textfield-input.is-error) .actionIcon{color:var(--palettes-error-700)}:host-context(.textfield-input.is-error) .actionIcon:hover{background-color:var(--palettes-error-50);color:var(--palettes-error-800)}:host-context(.textfield-input.is-disabled,.textfield-input[disabled]){display:none}:host.is-disabled{display:inline-block!important}\n"] }]
493
+ }], ctorParameters: function () { return [{ type: i2$1.OverlayPositionBuilder }, { type: i2$1.ScrollStrategyOptions }, { type: i0.ElementRef }, { type: i0.Injector }, { type: LuSelectOverlay }, { type: i0.ChangeDetectorRef }, { type: i2$1.OverlayContainer }, { type: undefined, decorators: [{
494
+ type: Inject,
495
+ args: [SELECT_LABEL]
496
+ }] }, { type: undefined, decorators: [{
497
+ type: Inject,
498
+ args: [SELECT_LABEL_ID]
499
+ }] }]; }, propDecorators: { tabindex: [{
500
+ type: HostBinding,
501
+ args: ['tabindex']
502
+ }], placeholder: [{
503
+ type: Input
504
+ }], multiple: [{
505
+ type: Input
506
+ }, {
507
+ type: HostBinding,
508
+ args: ['class.mod-multiple']
509
+ }], clearable: [{
510
+ type: Input
511
+ }, {
512
+ type: HostBinding,
513
+ args: ['class.is-clearable']
514
+ }], disabled: [{
515
+ type: Input
516
+ }, {
517
+ type: HostBinding,
518
+ args: ['class.is-disabled']
519
+ }], isFilled: [{
520
+ type: HostBinding,
521
+ args: ['class.is-filled']
522
+ }], isPanelOpen: [{
523
+ type: HostBinding,
524
+ args: ['class.is-focused']
525
+ }, {
526
+ type: HostBinding,
527
+ args: ['attr.aria-expanded']
528
+ }], role: [{
529
+ type: HostBinding,
530
+ args: ['attr.role']
531
+ }], activeDescendant: [{
532
+ type: HostBinding,
533
+ args: ['attr.aria-activedescendant']
534
+ }], ariaControls: [{
535
+ type: HostBinding,
536
+ args: ['attr.aria-controls']
537
+ }], overlayConfig: [{
538
+ type: Input
539
+ }], loading: [{
540
+ type: Input
541
+ }], options: [{
542
+ type: Input
543
+ }], optionComparer: [{
544
+ type: Input
545
+ }], optionTpl: [{
546
+ type: Input
547
+ }], valueTpl: [{
548
+ type: Input
549
+ }], clueChange: [{
550
+ type: Output
551
+ }], nextPage: [{
552
+ type: Output
553
+ }], previousPage: [{
554
+ type: Output
555
+ }], onKeydown: [{
556
+ type: HostListener,
557
+ args: ['keydown.space', ['$event']]
558
+ }, {
559
+ type: HostListener,
560
+ args: ['keydown.enter', ['$event']]
561
+ }, {
562
+ type: HostListener,
563
+ args: ['keydown.arrowDown', ['$event']]
564
+ }, {
565
+ type: HostListener,
566
+ args: ['click', ['$event']]
567
+ }] } });
568
+
569
+ const LU_SIMPLE_SELECT_COMPONENTS = [LuSimpleSelectInputComponent, LuOptionDirective, LuDisplayerDirective, LuOptionComponent];
570
+
571
+ /*
572
+ * Public API Surface of safe-content
573
+ */
574
+
575
+ /**
576
+ * Generated bundle index. Do not edit.
577
+ */
578
+
579
+ export { LU_SIMPLE_SELECT_COMPONENTS, LuDisplayerDirective, LuOptionComponent, LuOptionDirective, LuSelectPanelComponent, LuSelectPanelRef, LuSimpleSelectInputComponent };
580
+ //# sourceMappingURL=lucca-front-ng-simple-select.mjs.map