@lucca-front/ng 20.1.3-rc.2 → 20.2.0-rc.1

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 (164) hide show
  1. package/button/index.d.ts +9 -2
  2. package/core-select/department/index.d.ts +49 -0
  3. package/core-select/index.d.ts +47 -6
  4. package/date2/index.d.ts +2 -2
  5. package/department/index.d.ts +9 -0
  6. package/dialog/index.d.ts +7 -2
  7. package/fesm2022/lucca-front-ng-a11y.mjs +2 -2
  8. package/fesm2022/lucca-front-ng-a11y.mjs.map +1 -1
  9. package/fesm2022/lucca-front-ng-api.mjs +6 -6
  10. package/fesm2022/lucca-front-ng-api.mjs.map +1 -1
  11. package/fesm2022/lucca-front-ng-app-layout.mjs +2 -2
  12. package/fesm2022/lucca-front-ng-app-layout.mjs.map +1 -1
  13. package/fesm2022/lucca-front-ng-box.mjs +2 -2
  14. package/fesm2022/lucca-front-ng-box.mjs.map +1 -1
  15. package/fesm2022/lucca-front-ng-breadcrumbs.mjs +2 -2
  16. package/fesm2022/lucca-front-ng-breadcrumbs.mjs.map +1 -1
  17. package/fesm2022/lucca-front-ng-button.mjs +39 -9
  18. package/fesm2022/lucca-front-ng-button.mjs.map +1 -1
  19. package/fesm2022/lucca-front-ng-callout.mjs +12 -12
  20. package/fesm2022/lucca-front-ng-callout.mjs.map +1 -1
  21. package/fesm2022/lucca-front-ng-chip.mjs +2 -2
  22. package/fesm2022/lucca-front-ng-chip.mjs.map +1 -1
  23. package/fesm2022/lucca-front-ng-comment.mjs +6 -6
  24. package/fesm2022/lucca-front-ng-comment.mjs.map +1 -1
  25. package/fesm2022/lucca-front-ng-core-select-department.mjs +121 -0
  26. package/fesm2022/lucca-front-ng-core-select-department.mjs.map +1 -0
  27. package/fesm2022/lucca-front-ng-core-select-user.mjs +6 -6
  28. package/fesm2022/lucca-front-ng-core-select-user.mjs.map +1 -1
  29. package/fesm2022/lucca-front-ng-core-select.mjs +85 -12
  30. package/fesm2022/lucca-front-ng-core-select.mjs.map +1 -1
  31. package/fesm2022/lucca-front-ng-date.mjs +4 -4
  32. package/fesm2022/lucca-front-ng-date.mjs.map +1 -1
  33. package/fesm2022/lucca-front-ng-date2.mjs +8 -8
  34. package/fesm2022/lucca-front-ng-date2.mjs.map +1 -1
  35. package/fesm2022/lucca-front-ng-department.mjs +11 -2
  36. package/fesm2022/lucca-front-ng-department.mjs.map +1 -1
  37. package/fesm2022/lucca-front-ng-dialog.mjs +25 -14
  38. package/fesm2022/lucca-front-ng-dialog.mjs.map +1 -1
  39. package/fesm2022/lucca-front-ng-divider.mjs +3 -3
  40. package/fesm2022/lucca-front-ng-divider.mjs.map +1 -1
  41. package/fesm2022/lucca-front-ng-dropdown.mjs +2 -2
  42. package/fesm2022/lucca-front-ng-dropdown.mjs.map +1 -1
  43. package/fesm2022/lucca-front-ng-empty-state.mjs +4 -4
  44. package/fesm2022/lucca-front-ng-empty-state.mjs.map +1 -1
  45. package/fesm2022/lucca-front-ng-establishment.mjs +6 -6
  46. package/fesm2022/lucca-front-ng-establishment.mjs.map +1 -1
  47. package/fesm2022/lucca-front-ng-fancy-box.mjs +2 -2
  48. package/fesm2022/lucca-front-ng-fancy-box.mjs.map +1 -1
  49. package/fesm2022/lucca-front-ng-file-upload.mjs +15 -10
  50. package/fesm2022/lucca-front-ng-file-upload.mjs.map +1 -1
  51. package/fesm2022/lucca-front-ng-filter-pills.mjs +8 -8
  52. package/fesm2022/lucca-front-ng-filter-pills.mjs.map +1 -1
  53. package/fesm2022/lucca-front-ng-footer.mjs +2 -2
  54. package/fesm2022/lucca-front-ng-footer.mjs.map +1 -1
  55. package/fesm2022/lucca-front-ng-form-field.mjs +2 -2
  56. package/fesm2022/lucca-front-ng-form-field.mjs.map +1 -1
  57. package/fesm2022/lucca-front-ng-formly.mjs +2 -2
  58. package/fesm2022/lucca-front-ng-formly.mjs.map +1 -1
  59. package/fesm2022/lucca-front-ng-forms-phone-number-input.mjs +2 -2
  60. package/fesm2022/lucca-front-ng-forms-phone-number-input.mjs.map +1 -1
  61. package/fesm2022/lucca-front-ng-forms-rich-text-input-formatters-markdown.mjs +17 -16
  62. package/fesm2022/lucca-front-ng-forms-rich-text-input-formatters-markdown.mjs.map +1 -1
  63. package/fesm2022/lucca-front-ng-forms-rich-text-input.mjs +366 -81
  64. package/fesm2022/lucca-front-ng-forms-rich-text-input.mjs.map +1 -1
  65. package/fesm2022/lucca-front-ng-forms.mjs +22 -20
  66. package/fesm2022/lucca-front-ng-forms.mjs.map +1 -1
  67. package/fesm2022/lucca-front-ng-highlight-data.mjs +4 -2
  68. package/fesm2022/lucca-front-ng-highlight-data.mjs.map +1 -1
  69. package/fesm2022/lucca-front-ng-horizontal-navigation.mjs +2 -2
  70. package/fesm2022/lucca-front-ng-horizontal-navigation.mjs.map +1 -1
  71. package/fesm2022/lucca-front-ng-icon.mjs +2 -2
  72. package/fesm2022/lucca-front-ng-icon.mjs.map +1 -1
  73. package/fesm2022/lucca-front-ng-inline-message.mjs +2 -2
  74. package/fesm2022/lucca-front-ng-inline-message.mjs.map +1 -1
  75. package/fesm2022/lucca-front-ng-input.mjs +5 -2
  76. package/fesm2022/lucca-front-ng-input.mjs.map +1 -1
  77. package/fesm2022/lucca-front-ng-link.mjs +2 -2
  78. package/fesm2022/lucca-front-ng-link.mjs.map +1 -1
  79. package/fesm2022/lucca-front-ng-listbox.mjs +89 -0
  80. package/fesm2022/lucca-front-ng-listbox.mjs.map +1 -0
  81. package/fesm2022/lucca-front-ng-listing.mjs +2 -2
  82. package/fesm2022/lucca-front-ng-listing.mjs.map +1 -1
  83. package/fesm2022/lucca-front-ng-loading.mjs +2 -2
  84. package/fesm2022/lucca-front-ng-loading.mjs.map +1 -1
  85. package/fesm2022/lucca-front-ng-main-layout.mjs +2 -2
  86. package/fesm2022/lucca-front-ng-main-layout.mjs.map +1 -1
  87. package/fesm2022/lucca-front-ng-mobile-push.mjs +2 -2
  88. package/fesm2022/lucca-front-ng-mobile-push.mjs.map +1 -1
  89. package/fesm2022/lucca-front-ng-modal.mjs +6 -6
  90. package/fesm2022/lucca-front-ng-modal.mjs.map +1 -1
  91. package/fesm2022/lucca-front-ng-multi-select.mjs +93 -91
  92. package/fesm2022/lucca-front-ng-multi-select.mjs.map +1 -1
  93. package/fesm2022/lucca-front-ng-new-badge.mjs +2 -2
  94. package/fesm2022/lucca-front-ng-new-badge.mjs.map +1 -1
  95. package/fesm2022/lucca-front-ng-number.mjs +1 -1
  96. package/fesm2022/lucca-front-ng-number.mjs.map +1 -1
  97. package/fesm2022/lucca-front-ng-numeric-badge.mjs +2 -2
  98. package/fesm2022/lucca-front-ng-numeric-badge.mjs.map +1 -1
  99. package/fesm2022/lucca-front-ng-option.mjs +83 -22
  100. package/fesm2022/lucca-front-ng-option.mjs.map +1 -1
  101. package/fesm2022/lucca-front-ng-page-header.mjs +2 -2
  102. package/fesm2022/lucca-front-ng-page-header.mjs.map +1 -1
  103. package/fesm2022/lucca-front-ng-pagination.mjs +5 -5
  104. package/fesm2022/lucca-front-ng-pagination.mjs.map +1 -1
  105. package/fesm2022/lucca-front-ng-plg-push.mjs +2 -2
  106. package/fesm2022/lucca-front-ng-plg-push.mjs.map +1 -1
  107. package/fesm2022/lucca-front-ng-popover.mjs +2 -2
  108. package/fesm2022/lucca-front-ng-popover.mjs.map +1 -1
  109. package/fesm2022/lucca-front-ng-popover2.mjs +3 -3
  110. package/fesm2022/lucca-front-ng-popover2.mjs.map +1 -1
  111. package/fesm2022/lucca-front-ng-read-more.mjs +2 -2
  112. package/fesm2022/lucca-front-ng-read-more.mjs.map +1 -1
  113. package/fesm2022/lucca-front-ng-scrollBox.mjs +2 -2
  114. package/fesm2022/lucca-front-ng-scrollBox.mjs.map +1 -1
  115. package/fesm2022/lucca-front-ng-select.mjs +2 -2
  116. package/fesm2022/lucca-front-ng-select.mjs.map +1 -1
  117. package/fesm2022/lucca-front-ng-simple-select.mjs +24 -8
  118. package/fesm2022/lucca-front-ng-simple-select.mjs.map +1 -1
  119. package/fesm2022/lucca-front-ng-skeleton.mjs +12 -12
  120. package/fesm2022/lucca-front-ng-skeleton.mjs.map +1 -1
  121. package/fesm2022/lucca-front-ng-statusBadge.mjs +9 -15
  122. package/fesm2022/lucca-front-ng-statusBadge.mjs.map +1 -1
  123. package/fesm2022/lucca-front-ng-tag.mjs +2 -2
  124. package/fesm2022/lucca-front-ng-tag.mjs.map +1 -1
  125. package/fesm2022/lucca-front-ng-time.mjs +7 -7
  126. package/fesm2022/lucca-front-ng-time.mjs.map +1 -1
  127. package/fesm2022/lucca-front-ng-toast.mjs +2 -2
  128. package/fesm2022/lucca-front-ng-toast.mjs.map +1 -1
  129. package/fesm2022/lucca-front-ng-tooltip.mjs +3 -3
  130. package/fesm2022/lucca-front-ng-tooltip.mjs.map +1 -1
  131. package/fesm2022/lucca-front-ng-tree-select.mjs +141 -0
  132. package/fesm2022/lucca-front-ng-tree-select.mjs.map +1 -0
  133. package/fesm2022/lucca-front-ng-user-popover.mjs +2 -2
  134. package/fesm2022/lucca-front-ng-user-popover.mjs.map +1 -1
  135. package/fesm2022/lucca-front-ng-user.mjs +31 -20
  136. package/fesm2022/lucca-front-ng-user.mjs.map +1 -1
  137. package/file-upload/index.d.ts +2 -1
  138. package/forms/index.d.ts +3 -2
  139. package/forms/rich-text-input/formatters/markdown/index.d.ts +5 -4
  140. package/forms/rich-text-input/index.d.ts +48 -12
  141. package/highlight-data/index.d.ts +2 -1
  142. package/input/index.d.ts +3 -0
  143. package/listbox/index.d.ts +38 -0
  144. package/multi-select/index.d.ts +8 -10
  145. package/option/index.d.ts +61 -0
  146. package/package.json +31 -14
  147. package/page-header/index.d.ts +1 -1
  148. package/pagination/index.d.ts +3 -3
  149. package/schematics/collection.json +6 -1
  150. package/schematics/lu-button/migration.js +4 -4
  151. package/schematics/lu-icon/migration.js +4 -4
  152. package/schematics/tokens-radius/index.js +22 -0
  153. package/schematics/tokens-radius/migration.spec.js +50 -0
  154. package/schematics/tokens-radius/schema.json +23 -0
  155. package/simple-select/index.d.ts +4 -2
  156. package/src/components/_picker.scss +1 -1
  157. package/src/components/_popover.scss +1 -1
  158. package/src/components/_popup.scss +1 -1
  159. package/src/components/cdk/_dragDrop.scss +6 -6
  160. package/src/definitions/option/_option-item.scss +5 -4
  161. package/statusBadge/index.d.ts +6 -6
  162. package/time/index.d.ts +1 -1
  163. package/tree-select/index.d.ts +35 -0
  164. package/user/index.d.ts +6 -1
@@ -1,11 +1,11 @@
1
1
  import { Overlay, OverlayPositionBuilder, ScrollStrategyOptions, OverlayModule } from '@angular/cdk/overlay';
2
- import { AsyncPipe, NgIf, NgFor, NgTemplateOutlet } from '@angular/common';
2
+ import { AsyncPipe, NgTemplateOutlet } from '@angular/common';
3
3
  import * as i0 from '@angular/core';
4
4
  import { InjectionToken, Pipe, inject, signal, computed, forwardRef, ChangeDetectionStrategy, Component, Injector, ElementRef, Injectable, input, viewChild, ViewContainerRef, HostBinding, ViewEncapsulation } from '@angular/core';
5
5
  import * as i1$1 from '@angular/forms';
6
6
  import { FormsModule, NG_VALUE_ACCESSOR } from '@angular/forms';
7
7
  import { getIntl, PortalDirective } from '@lucca-front/ng/core';
8
- import { LuSelectPanelRef, SELECT_ID, CoreSelectKeyManager, ɵgetGroupTemplateLocation as _getGroupTemplateLocation, ɵLuOptionGroupPipe as _LuOptionGroupPipe, ɵLuOptionComponent as _LuOptionComponent, ɵCoreSelectPanelElement as _CoreSelectPanelElement, SELECT_PANEL_INSTANCE, SELECT_LABEL_ID, addAttributesOnCdkContainer, ALuSelectInputComponent, ɵLuOptionOutletDirective as _LuOptionOutletDirective, provideLuSelectLabelsAndIds } from '@lucca-front/ng/core-select';
8
+ import { LuSelectPanelRef, SELECT_ID, CoreSelectKeyManager, ɵgetGroupTemplateLocation as _getGroupTemplateLocation, ɵLuOptionGroupPipe as _LuOptionGroupPipe, ɵLuOptionComponent as _LuOptionComponent, ɵCoreSelectPanelElement as _CoreSelectPanelElement, TreeDisplayPipe, SELECT_PANEL_INSTANCE, SELECT_LABEL_ID, addAttributesOnCdkContainer, ALuSelectInputComponent, ɵLuOptionOutletDirective as _LuOptionOutletDirective, provideLuSelectLabelsAndIds } from '@lucca-front/ng/core-select';
9
9
  import { FilterPillDisplayerDirective, FILTER_PILL_INPUT_COMPONENT } from '@lucca-front/ng/filter-pills';
10
10
  import { InputDirective } from '@lucca-front/ng/form-field';
11
11
  import { IconComponent } from '@lucca-front/ng/icon';
@@ -13,6 +13,7 @@ import { ComponentPortal } from '@angular/cdk/portal';
13
13
  import { EMPTY, takeUntil } from 'rxjs';
14
14
  import * as i1 from '@angular/cdk/a11y';
15
15
  import { A11yModule } from '@angular/cdk/a11y';
16
+ import { TreeBranchComponent } from '@lucca-front/ng/tree-select';
16
17
 
17
18
  const Translations = {
18
19
  en: {
@@ -103,12 +104,14 @@ class LuSelectPanelComponent {
103
104
  this.intl = getIntl(LU_SIMPLE_SELECT_TRANSLATIONS);
104
105
  this.options$ = this.selectInput.options$;
105
106
  this.grouping = this.selectInput.grouping;
107
+ this.treeGenerator = this.selectInput.treeGenerator;
106
108
  this.loading$ = this.selectInput.loading$;
107
109
  this.searchable = this.selectInput.searchable;
108
110
  this.optionComparer = this.selectInput.optionComparer;
109
111
  this.optionKey = this.selectInput.optionKey;
110
112
  this.trackOptionsBy = (_, option) => this.optionKey(option);
111
113
  this.trackGroupsBy = (_, group) => group.key;
114
+ this.trackBranchesBy = (_, option) => this.optionKey(option.node);
112
115
  this.initialValue = this.selectInput.value;
113
116
  this.optionTpl = this.selectInput.optionTpl;
114
117
  this.options = signal([]);
@@ -148,17 +151,30 @@ class LuSelectPanelComponent {
148
151
  provide: SELECT_PANEL_INSTANCE,
149
152
  useExisting: forwardRef(() => LuSelectPanelComponent),
150
153
  },
151
- ], ngImport: i0, template: "<div\n\tclass=\"lu-picker-panel lu-option-picker-panel\"\n\tcdkTrapFocus\n\t*ngIf=\"{\n\t\toptions: (options$ | async) || [],\n\t\tgroupTemplateLocation: groupTemplateLocation$ | async,\n\t\tshouldDisplayAddOption: shouldDisplayAddOption$ | async,\n\t} as ctx\"\n>\n\t<div class=\"lu-picker-content\" [class.is-loading]=\"loading$ | async\" (scroll)=\"onScroll($event)\">\n\t\t@if (selectInput.panelHeaderTpl(); as tpl) {\n\t\t\t<div>\n\t\t\t\t<ng-container *luPortal=\"tpl\" />\n\t\t\t</div>\n\t\t}\n\t\t<div role=\"listbox\">\n\t\t\t<ng-container *ngIf=\"grouping && ctx.groupTemplateLocation === 'group-header'\">\n\t\t\t\t<div\n\t\t\t\t\t*ngFor=\"let group of ctx.options | luOptionGroup: grouping.selector; trackBy: trackGroupsBy; let groupIndex = index\"\n\t\t\t\t\tclass=\"lu-picker-content-option-group\"\n\t\t\t\t\trole=\"group\"\n\t\t\t\t\t[attr.aria-labelledby]=\"selectId + '-group-' + group.key\"\n\t\t\t\t>\n\t\t\t\t\t<span class=\"lu-picker-content-option-group-title\" role=\"presentation\" [id]=\"selectId + '-group-' + group.key\">\n\t\t\t\t\t\t<ng-container *luPortal=\"grouping.content; context: { $implicit: group }\" />\n\t\t\t\t\t</span>\n\t\t\t\t\t<ng-template [ngTemplateOutlet]=\"optionsList\" [ngTemplateOutletContext]=\"{ $implicit: group.options, groupIndex: groupIndex }\" />\n\t\t\t\t</div>\n\t\t\t</ng-container>\n\t\t\t<ng-container *ngIf=\"!grouping || ctx.groupTemplateLocation !== 'group-header'\">\n\t\t\t\t<ng-template [ngTemplateOutlet]=\"optionsList\" [ngTemplateOutletContext]=\"{ $implicit: ctx.options }\" />\n\t\t\t</ng-container>\n\n\t\t\t<ng-template #optionsList let-options let-groupIndex=\"groupIndex\">\n\t\t\t\t<lu-select-option\n\t\t\t\t\t*ngFor=\"let option of options; let index = index; trackBy: trackOptionsBy\"\n\t\t\t\t\tluCoreSelectPanelElement\n\t\t\t\t\t[option]=\"option\"\n\t\t\t\t\t[optionTpl]=\"optionTpl()\"\n\t\t\t\t\t[optionIndex]=\"index\"\n\t\t\t\t\t[groupTemplateLocation]=\"ctx.groupTemplateLocation\"\n\t\t\t\t\t[groupIndex]=\"groupIndex\"\n\t\t\t\t\t[grouping]=\"grouping\"\n\t\t\t\t\t[scrollIntoViewOptions]=\"{ block: 'center' }\"\n\t\t\t\t\t[isSelected]=\"option | luIsOptionSelected: optionComparer : selected()\"\n\t\t\t\t\t[class.withAddOption]=\"ctx.shouldDisplayAddOption\"\n\t\t\t\t\t(selected)=\"panelRef.emitValue(option)\"\n\t\t\t\t\t(click)=\"panelRef.emitValue(option)\"\n\t\t\t\t/>\n\t\t\t</ng-template>\n\t\t\t<div class=\"lu-picker-content-option-emptyState\" *ngIf=\"ctx.options.length === 0 && (loading$ | async) === false\">\n\t\t\t\t{{ intl.emptyResults }}\n\t\t\t</div>\n\t\t</div>\n\t\t<div *ngIf=\"loading$ | async\" class=\"lu-picker-content-loading\">\n\t\t\t<div class=\"loading\">{{ intl.loading }}</div>\n\t\t</div>\n\t\t@if (ctx.shouldDisplayAddOption) {\n\t\t\t<div\n\t\t\t\tclass=\"addOption palette-product\"\n\t\t\t\t(click)=\"selectInput.emitAddOption()\"\n\t\t\t\t(selected)=\"selectInput.emitAddOption()\"\n\t\t\t\telementId=\"picker-content-add\"\n\t\t\t\tluCoreSelectPanelElement\n\t\t\t>\n\t\t\t\t<lu-icon icon=\"mathsPlus\" />\n\t\t\t\t<ng-container *luPortal=\"selectInput.addOptionLabel\" />\n\t\t\t</div>\n\t\t}\n\t</div>\n</div>\n", styles: [":root{--components-options-item-padding-vertical: var(--pr-t-spacings-50);--components-options-item-padding-horizontal: var(--pr-t-spacings-100);--components-options-item-multiple-padding: 2.25rem;--components-options-item-icon-color: var(--palettes-neutral-800);--components-options-checkbox-size: 1.25rem;--components-options-checkbox-color: var(--palettes-700, var(--palettes-product-700));--components-options-checkbox-border-radius: 6px;--components-options-checkbox-border-color: var(--palettes-neutral-700);--components-options-establishment-multiple-padding: 2rem}.textfield.mod-search{inline-size:100%}.textfield-input{outline:none}.checkbox.mod-formerEmployee{padding-block:var(--pr-t-spacings-50);padding-inline:var(--components-options-item-padding-horizontal);border-block-end:var(--commons-divider-width) solid var(--commons-divider-color);background-color:var(--palettes-neutral-50);font-style:italic}.optionPlaceholder{display:block;padding-block:var(--components-options-item-padding-vertical);padding-inline:var(--components-options-item-padding-horizontal);font-style:italic;color:var(--palettes-neutral-600)}.addOption{--components-button-font: var(--pr-t-font-body-M);--components-button-padding: var(--pr-t-spacings-100) var(--pr-t-spacings-200);--components-button-gap: var(--pr-t-spacings-100);--components-button-opacity: 1;--components-button-cursor: pointer;--components-button-pointerEvents: auto;--components-button-width: auto;--components-button-minWidth: none;--components-button-userSelect: auto;--components-button-boxShadow: none;--components-button-color: var(--palettes-0, var(--palettes-text, var(--palettes-product-0)));--components-button-backgroundColor: var(--palettes-700, var(--palettes-product-700));--components-button-arrow-transform: none;--components-button-font-size: var(--pr-t-font-body-M-fontSize);--components-button-line-height: var(--pr-t-font-body-M-lineHeight);--icon-size: 1.5rem;background-color:var(--components-button-backgroundColor);box-shadow:var(--components-button-boxShadow);border-radius:var(--commons-borderRadius-M);padding:var(--components-button-padding);transition-property:background-color,color,border-color,box-shadow;transition-duration:var(--commons-animations-durations-fast);inline-size:var(--components-button-width);min-inline-size:var(--components-button-minWidth);font:var(--components-button-font);font-size:var(--components-button-font-size);line-height:var(--components-button-line-height);font-weight:var(--pr-t-font-fontWeight-semibold);gap:var(--components-button-gap);pointer-events:var(--components-button-pointerEvents);-webkit-user-select:var(--components-button-userSelect);user-select:var(--components-button-userSelect);opacity:var(--components-button-opacity);cursor:var(--components-button-cursor);transition-timing-function:ease;display:inline-flex;align-items:center;justify-content:center;position:relative;text-decoration:none;vertical-align:middle;text-wrap:balance;text-align:center;border:0;--components-button-width: 100%;--components-button-padding: var(--pr-t-spacings-100) var(--pr-t-spacings-150);--components-button-backgroundColor: transparent;--components-button-color: var(--palettes-700, var(--palettes-neutral-700));justify-content:left}.addOption,.addOption:is(a){color:var(--components-button-color)}.addOption .lucca-icon{display:block}.addOption .button-icon{--icon-size: 1.5rem}.addOption:not(.mod-outlined,.mod-outline) .numericBadge{--components-numericBadge-background: var(--palettes-200, var(--palettes-product-200));--components-numericBadge-color: var(--palettes-800, var(--palettes-product-800))}.addOption:hover{--components-button-color: var(--palettes-0, var(--palettes-text, var(--palettes-product-0)));--components-button-backgroundColor: var(--palettes-800, var(--palettes-product-800))}.addOption:focus-visible{outline:2px solid var(--palettes-product-700);outline-offset:2px}.addOption:active{--components-button-backgroundColor: var(--palettes-900, var(--palettes-product-900))}.addOption:disabled{--components-button-cursor: default;--components-button-color: var(--palettes-neutral-500);--components-button-backgroundColor: var(--commons-disabled-background);--components-button-pointerEvents: none}.addOption:disabled .numericBadge{--components-numericBadge-background: var(--palettes-neutral-200);--components-numericBadge-color: var(--palettes-neutral-500)}.addOption:hover,.addOption:focus-visible{--components-button-color: var(--palettes-700, var(--palettes-neutral-700));--components-button-backgroundColor: var(--palettes-100, var(--palettes-neutral-100))}.addOption:active{--components-button-backgroundColor: var(--palettes-200, var(--palettes-neutral-200))}.addOption:disabled{--components-button-backgroundColor: transparent;--components-button-color: var(--palettes-neutral-500)}.addOption.is-highlighted{--components-button-color: var(--palettes-700, var(--palettes-neutral-700));--components-button-backgroundColor: var(--palettes-100, var(--palettes-neutral-100))}\n"], dependencies: [{ kind: "ngmodule", type: A11yModule }, { kind: "directive", type: i1.CdkTrapFocus, selector: "[cdkTrapFocus]", inputs: ["cdkTrapFocus", "cdkTrapFocusAutoCapture"], exportAs: ["cdkTrapFocus"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "pipe", type: _LuOptionGroupPipe, name: "luOptionGroup" }, { kind: "component", type: _LuOptionComponent, selector: "lu-select-option", inputs: ["optionTpl", "option", "grouping", "groupIndex", "optionIndex", "scrollIntoViewOptions", "groupTemplateLocation"] }, { kind: "pipe", type: LuIsOptionSelectedPipe, name: "luIsOptionSelected" }, { kind: "directive", type: PortalDirective, selector: "[luPortal]", inputs: ["luPortal", "luPortalContext"] }, { kind: "directive", type: _CoreSelectPanelElement, selector: "[luCoreSelectPanelElement]", inputs: ["elementId", "isSelected", "option", "disabled"], outputs: ["isSelectedChange", "selected"] }, { kind: "component", type: IconComponent, selector: "lu-icon", inputs: ["icon", "alt", "size", "color"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
154
+ ], ngImport: i0, template: "@if (\n\t{\n\t\toptions: (options$ | async) || [],\n\t\tgroupTemplateLocation: groupTemplateLocation$ | async,\n\t\tshouldDisplayAddOption: shouldDisplayAddOption$ | async,\n\t};\n\tas ctx\n) {\n\t<div class=\"lu-picker-panel lu-option-picker-panel\" cdkTrapFocus>\n\t\t<div class=\"lu-picker-content\" [class.is-loading]=\"loading$ | async\" (scroll)=\"onScroll($event)\">\n\t\t\t@if (selectInput.panelHeaderTpl(); as tpl) {\n\t\t\t\t<div>\n\t\t\t\t\t<ng-container *luPortal=\"tpl\" />\n\t\t\t\t</div>\n\t\t\t}\n\t\t\t<div role=\"listbox\">\n\t\t\t\t@if (grouping && ctx.groupTemplateLocation === \"group-header\") {\n\t\t\t\t\t@for (group of ctx.options | luOptionGroup: grouping.selector; track trackGroupsBy(groupIndex, group); let groupIndex = $index) {\n\t\t\t\t\t\t<div class=\"lu-picker-content-option-group\" role=\"group\" [attr.aria-labelledby]=\"selectId + '-group-' + group.key\">\n\t\t\t\t\t\t\t<span class=\"lu-picker-content-option-group-title\" role=\"presentation\" [id]=\"selectId + '-group-' + group.key\">\n\t\t\t\t\t\t\t\t<ng-container *luPortal=\"grouping.content; context: { $implicit: group }\" />\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t<ng-template\n\t\t\t\t\t\t\t\t[ngTemplateOutlet]=\"optionsList\"\n\t\t\t\t\t\t\t\t[ngTemplateOutletContext]=\"{ $implicit: group.options, groupIndex: groupIndex }\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t@if (!grouping || ctx.groupTemplateLocation !== \"group-header\") {\n\t\t\t\t\t<ng-template [ngTemplateOutlet]=\"optionsList\" [ngTemplateOutletContext]=\"{ $implicit: ctx.options }\" />\n\t\t\t\t}\n\t\t\t\t<ng-template #optionsList let-options let-groupIndex=\"groupIndex\">\n\t\t\t\t\t@if (treeGenerator) {\n\t\t\t\t\t\t@for (branch of options | luTreeDisplay: treeGenerator; let index = $index; track trackBranchesBy(index, branch)) {\n\t\t\t\t\t\t\t<lu-tree-branch\n\t\t\t\t\t\t\t\t[branch]=\"branch\"\n\t\t\t\t\t\t\t\t[optionTpl]=\"optionTpl()\"\n\t\t\t\t\t\t\t\t[optionComparer]=\"optionComparer\"\n\t\t\t\t\t\t\t\t[optionIndex]=\"index\"\n\t\t\t\t\t\t\t\t(toggleOne)=\"panelRef.emitValue($event)\"\n\t\t\t\t\t\t\t\tsimpleMode\n\t\t\t\t\t\t\t></lu-tree-branch>\n\t\t\t\t\t\t}\n\t\t\t\t\t} @else {\n\t\t\t\t\t\t@for (option of options; track trackOptionsBy(index, option); let index = $index) {\n\t\t\t\t\t\t\t<lu-select-option\n\t\t\t\t\t\t\t\tluCoreSelectPanelElement\n\t\t\t\t\t\t\t\t[option]=\"option\"\n\t\t\t\t\t\t\t\t[optionTpl]=\"optionTpl()\"\n\t\t\t\t\t\t\t\t[optionIndex]=\"index\"\n\t\t\t\t\t\t\t\t[groupTemplateLocation]=\"ctx.groupTemplateLocation\"\n\t\t\t\t\t\t\t\t[groupIndex]=\"groupIndex\"\n\t\t\t\t\t\t\t\t[grouping]=\"grouping\"\n\t\t\t\t\t\t\t\t[scrollIntoViewOptions]=\"{ block: 'center' }\"\n\t\t\t\t\t\t\t\t[isSelected]=\"option | luIsOptionSelected: optionComparer : selected()\"\n\t\t\t\t\t\t\t\t[class.withAddOption]=\"ctx.shouldDisplayAddOption\"\n\t\t\t\t\t\t\t\t(selected)=\"panelRef.emitValue(option)\"\n\t\t\t\t\t\t\t\t(click)=\"panelRef.emitValue(option)\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t</ng-template>\n\t\t\t\t@if (ctx.options.length === 0 && (loading$ | async) === false) {\n\t\t\t\t\t<div class=\"lu-picker-content-option-emptyState\">\n\t\t\t\t\t\t{{ intl.emptyResults }}\n\t\t\t\t\t</div>\n\t\t\t\t}\n\t\t\t</div>\n\t\t\t@if (loading$ | async) {\n\t\t\t\t<div class=\"lu-picker-content-loading\">\n\t\t\t\t\t<div class=\"loading\">{{ intl.loading }}</div>\n\t\t\t\t</div>\n\t\t\t}\n\t\t\t@if (ctx.shouldDisplayAddOption) {\n\t\t\t\t<div\n\t\t\t\t\tclass=\"addOption palette-product\"\n\t\t\t\t\t(click)=\"selectInput.emitAddOption()\"\n\t\t\t\t\t(selected)=\"selectInput.emitAddOption()\"\n\t\t\t\t\telementId=\"picker-content-add\"\n\t\t\t\t\tluCoreSelectPanelElement\n\t\t\t\t>\n\t\t\t\t\t<lu-icon icon=\"mathsPlus\" />\n\t\t\t\t\t<ng-container *luPortal=\"selectInput.addOptionLabel\" />\n\t\t\t\t</div>\n\t\t\t}\n\t\t</div>\n\t</div>\n}\n", styles: ["@layer reset,base,components,mods,states,product,utils;:root{--components-options-item-padding-vertical: var(--pr-t-spacings-50);--components-options-item-padding-horizontal: var(--pr-t-spacings-100);--components-options-item-multiple-padding: 2.25rem;--components-options-item-icon-color: var(--palettes-neutral-800);--components-options-checkbox-size: 1.25rem;--components-options-checkbox-color: var(--palettes-700, var(--palettes-product-700));--components-options-checkbox-border-radius: var(--pr-t-border-radius-small);--components-options-checkbox-border-color: var(--palettes-neutral-700);--components-options-establishment-multiple-padding: 2rem}.textfield.mod-search{inline-size:100%}.textfield-input{outline:none}.checkbox.mod-formerEmployee{padding-block:var(--pr-t-spacings-50);padding-inline:var(--components-options-item-padding-horizontal);border-block-end:var(--commons-divider-width) solid var(--commons-divider-color);background-color:var(--palettes-neutral-50);font-style:italic}.optionPlaceholder{display:block;padding-block:var(--components-options-item-padding-vertical);padding-inline:var(--components-options-item-padding-horizontal);font-style:italic;color:var(--palettes-neutral-600)}.addOption{justify-content:left;--components-button-font: var(--pr-t-font-body-M);--components-button-borderRadius: var(--pr-t-border-radius-default);--components-button-paddingBlock: var(--pr-t-spacings-100);--components-button-paddingInline: var(--pr-t-spacings-150);--components-button-paddingBlockStart: var(--components-button-paddingBlock);--components-button-paddingBlockEnd: var(--components-button-paddingBlock);--components-button-paddingInlineStart: var(--components-button-paddingInline);--components-button-paddingInlineEnd: var(--components-button-paddingInline);--components-button-padding: var(--components-button-paddingBlockStart) var(--components-button-paddingInlineEnd) var(--components-button-paddingBlockEnd) var(--components-button-paddingInlineStart);--components-button-gap: var(--pr-t-spacings-100);--components-button-opacity: 1;--components-button-cursor: pointer;--components-button-pointerEvents: auto;--components-button-width: auto;--components-button-minWidth: none;--components-button-userSelect: auto;--components-button-boxShadow: none;--components-button-color: var(--palettes-0, var(--palettes-text, var(--palettes-product-0)));--components-button-backgroundColor: var(--palettes-700, var(--palettes-product-700));--components-button-arrow-transform: none;--components-button-font-size: var(--pr-t-font-body-M-fontSize);--components-button-line-height: var(--pr-t-font-body-M-lineHeight);--icon-size: 1.5rem;background-color:var(--components-button-backgroundColor);box-shadow:var(--components-button-boxShadow);border-radius:var(--components-button-borderRadius);padding:var(--components-button-padding);transition-property:background-color,color,border-color,box-shadow;transition-duration:var(--commons-animations-durations-fast);inline-size:var(--components-button-width);min-inline-size:var(--components-button-minWidth);font:var(--components-button-font);font-size:var(--components-button-font-size);line-height:var(--components-button-line-height);font-weight:var(--pr-t-font-fontWeight-semibold);gap:var(--components-button-gap);pointer-events:var(--components-button-pointerEvents);-webkit-user-select:var(--components-button-userSelect);user-select:var(--components-button-userSelect);opacity:var(--components-button-opacity);cursor:var(--components-button-cursor);transition-timing-function:ease;display:inline-flex;align-items:center;justify-content:center;position:relative;text-decoration:none;vertical-align:middle;text-wrap:balance;text-align:center;border:0;text-rendering:inherit;--components-button-width: 100%;--components-button-backgroundColor: transparent;--components-button-color: var(--palettes-700, var(--pr-t-color-text-subtle))}.addOption,.addOption:is(a){color:var(--components-button-color)}.addOption .lucca-icon{display:block}.addOption .button-icon{--icon-size: 1.5rem}.addOption:not(.mod-outlined,.mod-outline) .numericBadge{--components-numericBadge-background: var(--palettes-200, var(--palettes-product-200));--components-numericBadge-color: var(--palettes-800, var(--palettes-product-800))}.addOption:hover{--components-button-color: var(--palettes-0, var(--palettes-text, var(--palettes-product-0)));--components-button-backgroundColor: var(--palettes-800, var(--palettes-product-800))}.addOption:focus-visible{outline:2px solid var(--palettes-product-700);outline-offset:2px;border-radius:var(--components-button-borderRadius)}.addOption:active{--components-button-backgroundColor: var(--palettes-900, var(--palettes-product-900))}.addOption:disabled{--components-button-cursor: default;--components-button-color: var(--palettes-neutral-500);--components-button-backgroundColor: var(--commons-disabled-background);--components-button-pointerEvents: none}.addOption:disabled .numericBadge{--components-numericBadge-background: var(--palettes-neutral-200);--components-numericBadge-color: var(--palettes-neutral-500)}.addOption:hover,.addOption:focus-visible{--components-button-color: var(--palettes-700, var(--pr-t-color-text-subtle));--components-button-backgroundColor: var(--palettes-50, var(--palettes-neutral-50))}.addOption:active{--components-button-backgroundColor: var(--palettes-100, var(--palettes-neutral-100))}.addOption:disabled{--components-button-backgroundColor: var(--palettes-neutral-0);--components-button-color: var(--pr-t-color-text-disabled)}.addOption.is-highlighted{--components-button-color: var(--palettes-700, var(--palettes-neutral-700));--components-button-backgroundColor: var(--palettes-100, var(--palettes-neutral-100))}\n"], dependencies: [{ kind: "ngmodule", type: A11yModule }, { kind: "directive", type: i1.CdkTrapFocus, selector: "[cdkTrapFocus]", inputs: ["cdkTrapFocus", "cdkTrapFocusAutoCapture"], exportAs: ["cdkTrapFocus"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "pipe", type: _LuOptionGroupPipe, name: "luOptionGroup" }, { kind: "component", type: _LuOptionComponent, selector: "lu-select-option", inputs: ["optionTpl", "option", "grouping", "hasChildren", "groupIndex", "optionIndex", "scrollIntoViewOptions", "groupTemplateLocation"], outputs: ["onlyParent", "onlyChildren"] }, { kind: "pipe", type: LuIsOptionSelectedPipe, name: "luIsOptionSelected" }, { kind: "directive", type: PortalDirective, selector: "[luPortal]", inputs: ["luPortal", "luPortalContext"] }, { kind: "directive", type: _CoreSelectPanelElement, selector: "[luCoreSelectPanelElement]", inputs: ["elementId", "isSelected", "option", "disabled"], outputs: ["isSelectedChange", "selected"], exportAs: ["luCoreSelectPanelElement"] }, { kind: "component", type: IconComponent, selector: "lu-icon", inputs: ["icon", "alt", "size", "color"] }, { kind: "component", type: TreeBranchComponent, selector: "lu-tree-branch", inputs: ["branch", "optionTpl", "optionIndex", "optionComparer", "selectedOptions", "simpleMode"], outputs: ["toggleOne", "selectMany", "unselectMany"] }, { kind: "pipe", type: TreeDisplayPipe, name: "luTreeDisplay" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
152
155
  }
153
156
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: LuSelectPanelComponent, decorators: [{
154
157
  type: Component,
155
- args: [{ selector: 'lu-select-panel', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [A11yModule, AsyncPipe, FormsModule, NgIf, NgFor, NgTemplateOutlet, _LuOptionGroupPipe, _LuOptionComponent, LuIsOptionSelectedPipe, PortalDirective, _CoreSelectPanelElement, IconComponent], providers: [
158
+ args: [{ selector: 'lu-select-panel', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
159
+ A11yModule,
160
+ AsyncPipe,
161
+ FormsModule,
162
+ NgTemplateOutlet,
163
+ _LuOptionGroupPipe,
164
+ _LuOptionComponent,
165
+ LuIsOptionSelectedPipe,
166
+ PortalDirective,
167
+ _CoreSelectPanelElement,
168
+ IconComponent,
169
+ TreeBranchComponent,
170
+ TreeDisplayPipe,
171
+ ], providers: [
156
172
  CoreSelectKeyManager,
157
173
  {
158
174
  provide: SELECT_PANEL_INSTANCE,
159
175
  useExisting: forwardRef(() => LuSelectPanelComponent),
160
176
  },
161
- ], template: "<div\n\tclass=\"lu-picker-panel lu-option-picker-panel\"\n\tcdkTrapFocus\n\t*ngIf=\"{\n\t\toptions: (options$ | async) || [],\n\t\tgroupTemplateLocation: groupTemplateLocation$ | async,\n\t\tshouldDisplayAddOption: shouldDisplayAddOption$ | async,\n\t} as ctx\"\n>\n\t<div class=\"lu-picker-content\" [class.is-loading]=\"loading$ | async\" (scroll)=\"onScroll($event)\">\n\t\t@if (selectInput.panelHeaderTpl(); as tpl) {\n\t\t\t<div>\n\t\t\t\t<ng-container *luPortal=\"tpl\" />\n\t\t\t</div>\n\t\t}\n\t\t<div role=\"listbox\">\n\t\t\t<ng-container *ngIf=\"grouping && ctx.groupTemplateLocation === 'group-header'\">\n\t\t\t\t<div\n\t\t\t\t\t*ngFor=\"let group of ctx.options | luOptionGroup: grouping.selector; trackBy: trackGroupsBy; let groupIndex = index\"\n\t\t\t\t\tclass=\"lu-picker-content-option-group\"\n\t\t\t\t\trole=\"group\"\n\t\t\t\t\t[attr.aria-labelledby]=\"selectId + '-group-' + group.key\"\n\t\t\t\t>\n\t\t\t\t\t<span class=\"lu-picker-content-option-group-title\" role=\"presentation\" [id]=\"selectId + '-group-' + group.key\">\n\t\t\t\t\t\t<ng-container *luPortal=\"grouping.content; context: { $implicit: group }\" />\n\t\t\t\t\t</span>\n\t\t\t\t\t<ng-template [ngTemplateOutlet]=\"optionsList\" [ngTemplateOutletContext]=\"{ $implicit: group.options, groupIndex: groupIndex }\" />\n\t\t\t\t</div>\n\t\t\t</ng-container>\n\t\t\t<ng-container *ngIf=\"!grouping || ctx.groupTemplateLocation !== 'group-header'\">\n\t\t\t\t<ng-template [ngTemplateOutlet]=\"optionsList\" [ngTemplateOutletContext]=\"{ $implicit: ctx.options }\" />\n\t\t\t</ng-container>\n\n\t\t\t<ng-template #optionsList let-options let-groupIndex=\"groupIndex\">\n\t\t\t\t<lu-select-option\n\t\t\t\t\t*ngFor=\"let option of options; let index = index; trackBy: trackOptionsBy\"\n\t\t\t\t\tluCoreSelectPanelElement\n\t\t\t\t\t[option]=\"option\"\n\t\t\t\t\t[optionTpl]=\"optionTpl()\"\n\t\t\t\t\t[optionIndex]=\"index\"\n\t\t\t\t\t[groupTemplateLocation]=\"ctx.groupTemplateLocation\"\n\t\t\t\t\t[groupIndex]=\"groupIndex\"\n\t\t\t\t\t[grouping]=\"grouping\"\n\t\t\t\t\t[scrollIntoViewOptions]=\"{ block: 'center' }\"\n\t\t\t\t\t[isSelected]=\"option | luIsOptionSelected: optionComparer : selected()\"\n\t\t\t\t\t[class.withAddOption]=\"ctx.shouldDisplayAddOption\"\n\t\t\t\t\t(selected)=\"panelRef.emitValue(option)\"\n\t\t\t\t\t(click)=\"panelRef.emitValue(option)\"\n\t\t\t\t/>\n\t\t\t</ng-template>\n\t\t\t<div class=\"lu-picker-content-option-emptyState\" *ngIf=\"ctx.options.length === 0 && (loading$ | async) === false\">\n\t\t\t\t{{ intl.emptyResults }}\n\t\t\t</div>\n\t\t</div>\n\t\t<div *ngIf=\"loading$ | async\" class=\"lu-picker-content-loading\">\n\t\t\t<div class=\"loading\">{{ intl.loading }}</div>\n\t\t</div>\n\t\t@if (ctx.shouldDisplayAddOption) {\n\t\t\t<div\n\t\t\t\tclass=\"addOption palette-product\"\n\t\t\t\t(click)=\"selectInput.emitAddOption()\"\n\t\t\t\t(selected)=\"selectInput.emitAddOption()\"\n\t\t\t\telementId=\"picker-content-add\"\n\t\t\t\tluCoreSelectPanelElement\n\t\t\t>\n\t\t\t\t<lu-icon icon=\"mathsPlus\" />\n\t\t\t\t<ng-container *luPortal=\"selectInput.addOptionLabel\" />\n\t\t\t</div>\n\t\t}\n\t</div>\n</div>\n", styles: [":root{--components-options-item-padding-vertical: var(--pr-t-spacings-50);--components-options-item-padding-horizontal: var(--pr-t-spacings-100);--components-options-item-multiple-padding: 2.25rem;--components-options-item-icon-color: var(--palettes-neutral-800);--components-options-checkbox-size: 1.25rem;--components-options-checkbox-color: var(--palettes-700, var(--palettes-product-700));--components-options-checkbox-border-radius: 6px;--components-options-checkbox-border-color: var(--palettes-neutral-700);--components-options-establishment-multiple-padding: 2rem}.textfield.mod-search{inline-size:100%}.textfield-input{outline:none}.checkbox.mod-formerEmployee{padding-block:var(--pr-t-spacings-50);padding-inline:var(--components-options-item-padding-horizontal);border-block-end:var(--commons-divider-width) solid var(--commons-divider-color);background-color:var(--palettes-neutral-50);font-style:italic}.optionPlaceholder{display:block;padding-block:var(--components-options-item-padding-vertical);padding-inline:var(--components-options-item-padding-horizontal);font-style:italic;color:var(--palettes-neutral-600)}.addOption{--components-button-font: var(--pr-t-font-body-M);--components-button-padding: var(--pr-t-spacings-100) var(--pr-t-spacings-200);--components-button-gap: var(--pr-t-spacings-100);--components-button-opacity: 1;--components-button-cursor: pointer;--components-button-pointerEvents: auto;--components-button-width: auto;--components-button-minWidth: none;--components-button-userSelect: auto;--components-button-boxShadow: none;--components-button-color: var(--palettes-0, var(--palettes-text, var(--palettes-product-0)));--components-button-backgroundColor: var(--palettes-700, var(--palettes-product-700));--components-button-arrow-transform: none;--components-button-font-size: var(--pr-t-font-body-M-fontSize);--components-button-line-height: var(--pr-t-font-body-M-lineHeight);--icon-size: 1.5rem;background-color:var(--components-button-backgroundColor);box-shadow:var(--components-button-boxShadow);border-radius:var(--commons-borderRadius-M);padding:var(--components-button-padding);transition-property:background-color,color,border-color,box-shadow;transition-duration:var(--commons-animations-durations-fast);inline-size:var(--components-button-width);min-inline-size:var(--components-button-minWidth);font:var(--components-button-font);font-size:var(--components-button-font-size);line-height:var(--components-button-line-height);font-weight:var(--pr-t-font-fontWeight-semibold);gap:var(--components-button-gap);pointer-events:var(--components-button-pointerEvents);-webkit-user-select:var(--components-button-userSelect);user-select:var(--components-button-userSelect);opacity:var(--components-button-opacity);cursor:var(--components-button-cursor);transition-timing-function:ease;display:inline-flex;align-items:center;justify-content:center;position:relative;text-decoration:none;vertical-align:middle;text-wrap:balance;text-align:center;border:0;--components-button-width: 100%;--components-button-padding: var(--pr-t-spacings-100) var(--pr-t-spacings-150);--components-button-backgroundColor: transparent;--components-button-color: var(--palettes-700, var(--palettes-neutral-700));justify-content:left}.addOption,.addOption:is(a){color:var(--components-button-color)}.addOption .lucca-icon{display:block}.addOption .button-icon{--icon-size: 1.5rem}.addOption:not(.mod-outlined,.mod-outline) .numericBadge{--components-numericBadge-background: var(--palettes-200, var(--palettes-product-200));--components-numericBadge-color: var(--palettes-800, var(--palettes-product-800))}.addOption:hover{--components-button-color: var(--palettes-0, var(--palettes-text, var(--palettes-product-0)));--components-button-backgroundColor: var(--palettes-800, var(--palettes-product-800))}.addOption:focus-visible{outline:2px solid var(--palettes-product-700);outline-offset:2px}.addOption:active{--components-button-backgroundColor: var(--palettes-900, var(--palettes-product-900))}.addOption:disabled{--components-button-cursor: default;--components-button-color: var(--palettes-neutral-500);--components-button-backgroundColor: var(--commons-disabled-background);--components-button-pointerEvents: none}.addOption:disabled .numericBadge{--components-numericBadge-background: var(--palettes-neutral-200);--components-numericBadge-color: var(--palettes-neutral-500)}.addOption:hover,.addOption:focus-visible{--components-button-color: var(--palettes-700, var(--palettes-neutral-700));--components-button-backgroundColor: var(--palettes-100, var(--palettes-neutral-100))}.addOption:active{--components-button-backgroundColor: var(--palettes-200, var(--palettes-neutral-200))}.addOption:disabled{--components-button-backgroundColor: transparent;--components-button-color: var(--palettes-neutral-500)}.addOption.is-highlighted{--components-button-color: var(--palettes-700, var(--palettes-neutral-700));--components-button-backgroundColor: var(--palettes-100, var(--palettes-neutral-100))}\n"] }]
177
+ ], template: "@if (\n\t{\n\t\toptions: (options$ | async) || [],\n\t\tgroupTemplateLocation: groupTemplateLocation$ | async,\n\t\tshouldDisplayAddOption: shouldDisplayAddOption$ | async,\n\t};\n\tas ctx\n) {\n\t<div class=\"lu-picker-panel lu-option-picker-panel\" cdkTrapFocus>\n\t\t<div class=\"lu-picker-content\" [class.is-loading]=\"loading$ | async\" (scroll)=\"onScroll($event)\">\n\t\t\t@if (selectInput.panelHeaderTpl(); as tpl) {\n\t\t\t\t<div>\n\t\t\t\t\t<ng-container *luPortal=\"tpl\" />\n\t\t\t\t</div>\n\t\t\t}\n\t\t\t<div role=\"listbox\">\n\t\t\t\t@if (grouping && ctx.groupTemplateLocation === \"group-header\") {\n\t\t\t\t\t@for (group of ctx.options | luOptionGroup: grouping.selector; track trackGroupsBy(groupIndex, group); let groupIndex = $index) {\n\t\t\t\t\t\t<div class=\"lu-picker-content-option-group\" role=\"group\" [attr.aria-labelledby]=\"selectId + '-group-' + group.key\">\n\t\t\t\t\t\t\t<span class=\"lu-picker-content-option-group-title\" role=\"presentation\" [id]=\"selectId + '-group-' + group.key\">\n\t\t\t\t\t\t\t\t<ng-container *luPortal=\"grouping.content; context: { $implicit: group }\" />\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t<ng-template\n\t\t\t\t\t\t\t\t[ngTemplateOutlet]=\"optionsList\"\n\t\t\t\t\t\t\t\t[ngTemplateOutletContext]=\"{ $implicit: group.options, groupIndex: groupIndex }\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t@if (!grouping || ctx.groupTemplateLocation !== \"group-header\") {\n\t\t\t\t\t<ng-template [ngTemplateOutlet]=\"optionsList\" [ngTemplateOutletContext]=\"{ $implicit: ctx.options }\" />\n\t\t\t\t}\n\t\t\t\t<ng-template #optionsList let-options let-groupIndex=\"groupIndex\">\n\t\t\t\t\t@if (treeGenerator) {\n\t\t\t\t\t\t@for (branch of options | luTreeDisplay: treeGenerator; let index = $index; track trackBranchesBy(index, branch)) {\n\t\t\t\t\t\t\t<lu-tree-branch\n\t\t\t\t\t\t\t\t[branch]=\"branch\"\n\t\t\t\t\t\t\t\t[optionTpl]=\"optionTpl()\"\n\t\t\t\t\t\t\t\t[optionComparer]=\"optionComparer\"\n\t\t\t\t\t\t\t\t[optionIndex]=\"index\"\n\t\t\t\t\t\t\t\t(toggleOne)=\"panelRef.emitValue($event)\"\n\t\t\t\t\t\t\t\tsimpleMode\n\t\t\t\t\t\t\t></lu-tree-branch>\n\t\t\t\t\t\t}\n\t\t\t\t\t} @else {\n\t\t\t\t\t\t@for (option of options; track trackOptionsBy(index, option); let index = $index) {\n\t\t\t\t\t\t\t<lu-select-option\n\t\t\t\t\t\t\t\tluCoreSelectPanelElement\n\t\t\t\t\t\t\t\t[option]=\"option\"\n\t\t\t\t\t\t\t\t[optionTpl]=\"optionTpl()\"\n\t\t\t\t\t\t\t\t[optionIndex]=\"index\"\n\t\t\t\t\t\t\t\t[groupTemplateLocation]=\"ctx.groupTemplateLocation\"\n\t\t\t\t\t\t\t\t[groupIndex]=\"groupIndex\"\n\t\t\t\t\t\t\t\t[grouping]=\"grouping\"\n\t\t\t\t\t\t\t\t[scrollIntoViewOptions]=\"{ block: 'center' }\"\n\t\t\t\t\t\t\t\t[isSelected]=\"option | luIsOptionSelected: optionComparer : selected()\"\n\t\t\t\t\t\t\t\t[class.withAddOption]=\"ctx.shouldDisplayAddOption\"\n\t\t\t\t\t\t\t\t(selected)=\"panelRef.emitValue(option)\"\n\t\t\t\t\t\t\t\t(click)=\"panelRef.emitValue(option)\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t</ng-template>\n\t\t\t\t@if (ctx.options.length === 0 && (loading$ | async) === false) {\n\t\t\t\t\t<div class=\"lu-picker-content-option-emptyState\">\n\t\t\t\t\t\t{{ intl.emptyResults }}\n\t\t\t\t\t</div>\n\t\t\t\t}\n\t\t\t</div>\n\t\t\t@if (loading$ | async) {\n\t\t\t\t<div class=\"lu-picker-content-loading\">\n\t\t\t\t\t<div class=\"loading\">{{ intl.loading }}</div>\n\t\t\t\t</div>\n\t\t\t}\n\t\t\t@if (ctx.shouldDisplayAddOption) {\n\t\t\t\t<div\n\t\t\t\t\tclass=\"addOption palette-product\"\n\t\t\t\t\t(click)=\"selectInput.emitAddOption()\"\n\t\t\t\t\t(selected)=\"selectInput.emitAddOption()\"\n\t\t\t\t\telementId=\"picker-content-add\"\n\t\t\t\t\tluCoreSelectPanelElement\n\t\t\t\t>\n\t\t\t\t\t<lu-icon icon=\"mathsPlus\" />\n\t\t\t\t\t<ng-container *luPortal=\"selectInput.addOptionLabel\" />\n\t\t\t\t</div>\n\t\t\t}\n\t\t</div>\n\t</div>\n}\n", styles: ["@layer reset,base,components,mods,states,product,utils;:root{--components-options-item-padding-vertical: var(--pr-t-spacings-50);--components-options-item-padding-horizontal: var(--pr-t-spacings-100);--components-options-item-multiple-padding: 2.25rem;--components-options-item-icon-color: var(--palettes-neutral-800);--components-options-checkbox-size: 1.25rem;--components-options-checkbox-color: var(--palettes-700, var(--palettes-product-700));--components-options-checkbox-border-radius: var(--pr-t-border-radius-small);--components-options-checkbox-border-color: var(--palettes-neutral-700);--components-options-establishment-multiple-padding: 2rem}.textfield.mod-search{inline-size:100%}.textfield-input{outline:none}.checkbox.mod-formerEmployee{padding-block:var(--pr-t-spacings-50);padding-inline:var(--components-options-item-padding-horizontal);border-block-end:var(--commons-divider-width) solid var(--commons-divider-color);background-color:var(--palettes-neutral-50);font-style:italic}.optionPlaceholder{display:block;padding-block:var(--components-options-item-padding-vertical);padding-inline:var(--components-options-item-padding-horizontal);font-style:italic;color:var(--palettes-neutral-600)}.addOption{justify-content:left;--components-button-font: var(--pr-t-font-body-M);--components-button-borderRadius: var(--pr-t-border-radius-default);--components-button-paddingBlock: var(--pr-t-spacings-100);--components-button-paddingInline: var(--pr-t-spacings-150);--components-button-paddingBlockStart: var(--components-button-paddingBlock);--components-button-paddingBlockEnd: var(--components-button-paddingBlock);--components-button-paddingInlineStart: var(--components-button-paddingInline);--components-button-paddingInlineEnd: var(--components-button-paddingInline);--components-button-padding: var(--components-button-paddingBlockStart) var(--components-button-paddingInlineEnd) var(--components-button-paddingBlockEnd) var(--components-button-paddingInlineStart);--components-button-gap: var(--pr-t-spacings-100);--components-button-opacity: 1;--components-button-cursor: pointer;--components-button-pointerEvents: auto;--components-button-width: auto;--components-button-minWidth: none;--components-button-userSelect: auto;--components-button-boxShadow: none;--components-button-color: var(--palettes-0, var(--palettes-text, var(--palettes-product-0)));--components-button-backgroundColor: var(--palettes-700, var(--palettes-product-700));--components-button-arrow-transform: none;--components-button-font-size: var(--pr-t-font-body-M-fontSize);--components-button-line-height: var(--pr-t-font-body-M-lineHeight);--icon-size: 1.5rem;background-color:var(--components-button-backgroundColor);box-shadow:var(--components-button-boxShadow);border-radius:var(--components-button-borderRadius);padding:var(--components-button-padding);transition-property:background-color,color,border-color,box-shadow;transition-duration:var(--commons-animations-durations-fast);inline-size:var(--components-button-width);min-inline-size:var(--components-button-minWidth);font:var(--components-button-font);font-size:var(--components-button-font-size);line-height:var(--components-button-line-height);font-weight:var(--pr-t-font-fontWeight-semibold);gap:var(--components-button-gap);pointer-events:var(--components-button-pointerEvents);-webkit-user-select:var(--components-button-userSelect);user-select:var(--components-button-userSelect);opacity:var(--components-button-opacity);cursor:var(--components-button-cursor);transition-timing-function:ease;display:inline-flex;align-items:center;justify-content:center;position:relative;text-decoration:none;vertical-align:middle;text-wrap:balance;text-align:center;border:0;text-rendering:inherit;--components-button-width: 100%;--components-button-backgroundColor: transparent;--components-button-color: var(--palettes-700, var(--pr-t-color-text-subtle))}.addOption,.addOption:is(a){color:var(--components-button-color)}.addOption .lucca-icon{display:block}.addOption .button-icon{--icon-size: 1.5rem}.addOption:not(.mod-outlined,.mod-outline) .numericBadge{--components-numericBadge-background: var(--palettes-200, var(--palettes-product-200));--components-numericBadge-color: var(--palettes-800, var(--palettes-product-800))}.addOption:hover{--components-button-color: var(--palettes-0, var(--palettes-text, var(--palettes-product-0)));--components-button-backgroundColor: var(--palettes-800, var(--palettes-product-800))}.addOption:focus-visible{outline:2px solid var(--palettes-product-700);outline-offset:2px;border-radius:var(--components-button-borderRadius)}.addOption:active{--components-button-backgroundColor: var(--palettes-900, var(--palettes-product-900))}.addOption:disabled{--components-button-cursor: default;--components-button-color: var(--palettes-neutral-500);--components-button-backgroundColor: var(--commons-disabled-background);--components-button-pointerEvents: none}.addOption:disabled .numericBadge{--components-numericBadge-background: var(--palettes-neutral-200);--components-numericBadge-color: var(--palettes-neutral-500)}.addOption:hover,.addOption:focus-visible{--components-button-color: var(--palettes-700, var(--pr-t-color-text-subtle));--components-button-backgroundColor: var(--palettes-50, var(--palettes-neutral-50))}.addOption:active{--components-button-backgroundColor: var(--palettes-100, var(--palettes-neutral-100))}.addOption:disabled{--components-button-backgroundColor: var(--palettes-neutral-0);--components-button-color: var(--pr-t-color-text-disabled)}.addOption.is-highlighted{--components-button-color: var(--palettes-700, var(--palettes-neutral-700));--components-button-backgroundColor: var(--palettes-100, var(--palettes-neutral-100))}\n"] }]
162
178
  }] });
163
179
 
164
180
  class BaseSelectPanelRef extends LuSelectPanelRef {
@@ -330,11 +346,11 @@ class LuSimpleSelectInputComponent extends ALuSelectInputComponent {
330
346
  provide: FILTER_PILL_INPUT_COMPONENT,
331
347
  useExisting: forwardRef(() => LuSimpleSelectInputComponent),
332
348
  },
333
- ], viewQueries: [{ propertyName: "filterPillPanelAnchorRef", first: true, predicate: ["filterPillPanelAnchor"], descendants: true, read: ViewContainerRef, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"simpleSelect-field\">\n\t<input\n\t\tclass=\"simpleSelect-field-input\"\n\t\ttype=\"text\"\n\t\trole=\"combobox\"\n\t\taria-haspopup=\"listbox\"\n\t\t[attr.aria-activedescendant]=\"activeDescendant$ | async\"\n\t\t[attr.aria-expanded]=\"isPanelOpen\"\n\t\t[attr.aria-controls]=\"ariaControls\"\n\t\tplaceholder=\"{{ inputPlaceholder }}\"\n\t\t[ngModel]=\"clue\"\n\t\t(ngModelChange)=\"clueChanged($event)\"\n\t\t[ngModelOptions]=\"{ standalone: true }\"\n\t\t[readonly]=\"!searchable\"\n\t\t[disabled]=\"disabled$ | async\"\n\t\t(keyup.space)=\"inputSpace($event)\"\n\t\tluInput\n\t\t#inputElement\n\t\t[attr.autocomplete]=\"autocomplete()\"\n\t\t[attr.tabindex]=\"inputTabindex()\"\n\t/>\n\t<div class=\"simpleSelect-field-value\">\n\t\t<ng-container *ngTemplateOutlet=\"currentValueDisplayerTpl\"></ng-container>\n\t</div>\n\t@if (!filterPillMode) {\n\t\t@if (clearable && hasValue() && (disabled$ | async) === false) {\n\t\t\t<button\n\t\t\t\tclass=\"simpleSelect-field-clear clear\"\n\t\t\t\trole=\"button\"\n\t\t\t\ttype=\"button\"\n\t\t\t\t(click)=\"clearValue($event)\"\n\t\t\t\t(keydown.space)=\"clearValue($event)\"\n\t\t\t>\n\t\t\t\t<span class=\"u-mask\">{{ intl.clear }}</span>\n\t\t\t</button>\n\t\t}\n\t\t<lu-icon icon=\"arrowChevronBottom\" class=\"simpleSelect-field-icon\" />\n\t\t<lu-icon icon=\"searchMagnifyingGlass\" class=\"simpleSelect-field-icon mod-search\" />\n\t}\n</div>\n<ng-container #filterPillPanelAnchor></ng-container>\n<ng-container *luFilterPillDisplayer>\n\t<ng-container *ngTemplateOutlet=\"currentValueDisplayerTpl\"></ng-container>\n</ng-container>\n\n<ng-template #currentValueDisplayerTpl>\n\t<ng-container *luOptionOutlet=\"displayerTpl(); value: value\"></ng-container>\n</ng-template>\n", styles: [".simpleSelect{--components-simpleSelect-font: var(--pr-t-font-body-M);--components-simpleSelect-padding: var(--pr-t-spacings-100);--components-simpleSelect-gap: var(--pr-t-spacings-100);--components-simpleSelect-background: var(--pr-t-color-input-background);--components-simpleSelect-value-color: var(--pr-t-color-input-text);--components-simpleSelect-border-color: var(--pr-t-color-input-border);--components-simpleSelect-placeholder: var(--pr-t-color-input-text-placeholder);--components-simpleSelect-arrow-color: var(--pr-t-color-input-icon);display:block}.simpleSelect-field{display:grid;grid-template-columns:1fr auto auto;align-items:center;box-shadow:0 0 0 1px var(--components-simpleSelect-border-color);background-color:var(--components-simpleSelect-background);border-radius:var(--commons-borderRadius-M);padding:var(--components-simpleSelect-padding);overflow:hidden;outline:none;cursor:pointer}.simpleSelect-field:hover{--components-simpleSelect-border-color: var(--pr-t-color-input-border-hover)}.simpleSelect-field-input{grid-column-start:1;grid-row-start:1;font:var(--components-simpleSelect-font);padding:0;background-color:transparent;color:var(--components-simpleSelect-value-color);border:0;outline:none;position:relative;z-index:1;min-inline-size:0;cursor:pointer}.simpleSelect-field-input::placeholder{color:var(--components-simpleSelect-placeholder)}.simpleSelect-field-value{grid-column-start:1;grid-row-start:1;inline-size:100%;font:var(--components-simpleSelect-font);color:var(--components-simpleSelect-value-color);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:color var(--commons-animations-durations-fast) ease}.simpleSelect-field-clear{grid-column-start:-2;margin-inline-start:var(--components-simpleSelect-gap)}.simpleSelect-field-icon{grid-column-start:-1;margin-inline-start:var(--components-simpleSelect-gap);color:var(--components-simpleSelect-arrow-color);transition:transform var(--commons-animations-durations-standard) ease}.simpleSelect-field-icon .lucca-icon{--icon-size: 1.5rem}.simpleSelect-field-icon.mod-search{display:none}.simpleSelect:has(.simpleSelect-field-input:focus-visible) .simpleSelect-field{outline:2px solid var(--palettes-product-700);outline-offset:3px}.simpleSelect:has(.simpleSelect-field-input:focus-visible) .simpleSelect-field-value{color:var(--components-simpleSelect-value-color)}.simpleSelect:has(.simpleSelect-field-input:focus-visible):has(.simpleSelect-field-input[aria-expanded=true]) .simpleSelect-field-value{color:var(--components-simpleSelect-placeholder)}.simpleSelect:has(.simpleSelect-field-input:focus-visible):has(.simpleSelect-field-input[aria-expanded=true]) .simpleSelect-field-icon{transform:rotate(-180deg)}.simpleSelect:not(.mod-noClueIcon):has(.simpleSelect-field-input:focus-visible):not(:has(.simpleSelect-field-input:read-only)) .simpleSelect-field-icon,.simpleSelect:not(.mod-noClueIcon):has(.simpleSelect-field-input[aria-expanded=true]):not(:has(.simpleSelect-field-input:read-only)) .simpleSelect-field-icon{display:none}.simpleSelect:not(.mod-noClueIcon):has(.simpleSelect-field-input:focus-visible):not(:has(.simpleSelect-field-input:read-only)) .simpleSelect-field-icon.mod-search,.simpleSelect:not(.mod-noClueIcon):has(.simpleSelect-field-input[aria-expanded=true]):not(:has(.simpleSelect-field-input:read-only)) .simpleSelect-field-icon.mod-search{display:inline-flex;transform:none}.simpleSelect:has(.simpleSelect-field-input[aria-invalid=true]){--components-simpleSelect-border-color: var(--pr-t-color-input-border-critical);--components-simpleSelect-background: var(--pr-t-color-input-background-critical);--components-simpleSelect-placeholder: var(--pr-t-color-input-text-placeholder-critical)}.simpleSelect:has(.simpleSelect-field-input:disabled){--components-simpleSelect-background: var(--pr-t-color-input-background-disabled);--components-simpleSelect-placeholder: var(--commons-disabled-placeholder);--components-simpleSelect-value-color: var(--pr-t-color-input-text-disabled);--components-simpleSelect-arrow-color: var(--pr-t-color-input-icon-disabled)}.simpleSelect:has(.simpleSelect-field-input:disabled) .simpleSelect-field{pointer-events:none}.simpleSelect.mod-S{--components-simpleSelect-font: var(--pr-t-font-body-S);--components-simpleSelect-padding: var(--pr-t-spacings-75);--components-simpleSelect-gap: var(--pr-t-spacings-75)}.simpleSelect.mod-S .simpleSelect-field-icon .lucca-icon{--icon-size: 1.25rem}.simpleSelect.mod-S .simpleSelect-field-clear.clear,.simpleSelect.mod-S .simpleSelect-field-clear:not(.clear){--components-clear-size: .75rem;--icon-size: .75rem}.simpleSelect.mod-XS{--components-simpleSelect-font: var(--pr-t-font-body-XS);--components-simpleSelect-padding: var(--pr-t-spacings-50);--components-simpleSelect-gap: var(--pr-t-spacings-50)}.simpleSelect.mod-XS .simpleSelect-field-icon .lucca-icon{--icon-size: 1rem}.simpleSelect.mod-XS .simpleSelect-field-clear.clear,.simpleSelect.mod-XS .simpleSelect-field-clear:not(.clear){--components-clear-size: .75rem;--icon-size: .75rem}.simpleSelect.mod-filterPill{inline-size:21rem;max-inline-size:calc(100vw - 2.5rem)}.simpleSelect.mod-filterPill .simpleSelect-field{position:relative;z-index:1}.simpleSelect.mod-filterPill lu-simple-select-default-option.u-ellipsis{white-space:normal!important}.simpleSelect.mod-filterPill .lu-picker-content{animation:none;box-shadow:none;border-radius:0;background-color:transparent;padding:var(--pr-t-spacings-50);margin:var(--pr-t-spacings-50) calc(var(--pr-t-spacings-100) * -1) calc(var(--pr-t-spacings-100) * -1)}.simpleSelect.is-searchFilled .simpleSelect-field-value{display:none}.simpleSelect.is-selected .simpleSelect-field-input::placeholder{color:transparent}.simpleSelect.is-selected.is-searchFilled .simpleSelect-field-input::placeholder{color:transparent}.simpleSelect.is-selected.is-searchFilled .simpleSelect-field-value{display:none}.clear{--components-clear-size: 1rem;--components-clear-background: var(--palettes-neutral-700);--components-clear-cross-color: var(--palettes-neutral-0);--components-clear-background-image: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='16' width='16' fill='none'%3E%3Cpath d='M5.80473 4.86192C5.54438 4.60157 5.12227 4.60157 4.86192 4.86192C4.60157 5.12227 4.60157 5.54438 4.86192 5.80473L7.05718 7.99999L4.86192 10.1953C4.60157 10.4556 4.60157 10.8777 4.86192 11.1381C5.12227 11.3984 5.54438 11.3984 5.80473 11.1381L7.99999 8.9428L10.1953 11.1381C10.4556 11.3984 10.8777 11.3984 11.1381 11.1381C11.3984 10.8777 11.3984 10.4556 11.1381 10.1953L8.9428 7.99999L11.1381 5.80473C11.3984 5.54438 11.3984 5.12227 11.1381 4.86192C10.8777 4.60157 10.4556 4.60157 10.1953 4.86192L7.99999 7.05718L5.80473 4.86192Z' fill='currentColor'/%3E%3C/svg%3E\");padding:0;border:0;inline-size:100%;background-color:transparent;color:inherit;text-align:start;display:block;font:inherit;cursor:pointer;display:grid;grid-template-columns:1fr;grid-template-rows:1fr;grid-template-areas:\"main\";align-items:normal;flex-shrink:0;inline-size:var(--components-clear-size);block-size:var(--components-clear-size);border-radius:var(--commons-borderRadius-full)}.clear:before,.clear:after{content:\"\";grid-area:main}.clear:before{border-radius:var(--commons-borderRadius-full);background-color:var(--components-clear-background)}.clear:after{-webkit-mask-image:var(--components-clear-background-image);mask-image:var(--components-clear-background-image);-webkit-mask-size:var(--components-clear-size);mask-size:var(--components-clear-size);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;background-color:var(--components-clear-cross-color)}.clear:hover{--components-clear-cross-color: var(--palettes-neutral-0);--components-clear-background: var(--palettes-neutral-600)}.clear:focus-visible{outline:2px solid var(--palettes-product-700);outline-offset:2px;border-radius:50%}.clear:active{--components-clear-background: var(--palettes-neutral-800)}.clear .lucca-icon{display:none}.clear.mod-S{--components-clear-size: .75rem;--icon-size: .75rem}.clear.palette-product:not([disabled]),.clear.palette-primary:not([disabled]){--components-clear-cross-color: var(--palettes-neutral-0);--components-clear-background: var(--palettes-product-700)}.clear.palette-product:not([disabled]):hover,.clear.palette-primary:not([disabled]):hover{--components-clear-background: var(--palettes-product-600)}.clear.palette-product:not([disabled]):active,.clear.palette-primary:not([disabled]):active{--components-clear-background: var(--palettes-product-800)}.clear.mod-inverted:not([disabled]){--components-clear-cross-color: var(--palettes-neutral-700);--components-clear-background: var(--palettes-neutral-0)}.clear.mod-inverted:not([disabled]):hover{--components-clear-background: var(--palettes-neutral-50)}.clear.mod-inverted:not([disabled]):active{--components-clear-background: var(--palettes-neutral-100)}.clear.mod-inverted:not([disabled]).palette-product:not([disabled]){--components-clear-cross-color: var(--palettes-product-700);--components-clear-background: var(--palettes-neutral-0)}.clear.mod-inverted:not([disabled]).palette-product:not([disabled]):hover{--components-clear-background: var(--palettes-product-50)}.clear.mod-inverted:not([disabled]).palette-product:not([disabled]):active{--components-clear-background: var(--palettes-product-50)}.clear[disabled]{--components-clear-cross-color: var(--palettes-neutral-500);--components-clear-background: var(--palettes-neutral-300);cursor:default}\n"], dependencies: [{ kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "directive", type: _LuOptionOutletDirective, selector: "[luOptionOutlet]", inputs: ["luOptionOutlet", "luOptionOutletValue", "luOptionShowNull"] }, { kind: "ngmodule", type: OverlayModule }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$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: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: InputDirective, selector: "[luInput]", inputs: ["luInputStandalone"] }, { kind: "directive", type: FilterPillDisplayerDirective, selector: "[luFilterPillDisplayer]" }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: IconComponent, selector: "lu-icon", inputs: ["icon", "alt", "size", "color"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
349
+ ], viewQueries: [{ propertyName: "filterPillPanelAnchorRef", first: true, predicate: ["filterPillPanelAnchor"], descendants: true, read: ViewContainerRef, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"simpleSelect-field\">\n\t<input\n\t\tclass=\"simpleSelect-field-input\"\n\t\ttype=\"text\"\n\t\trole=\"combobox\"\n\t\taria-haspopup=\"listbox\"\n\t\t[attr.aria-activedescendant]=\"activeDescendant$ | async\"\n\t\t[attr.aria-expanded]=\"isPanelOpen\"\n\t\t[attr.aria-controls]=\"ariaControls\"\n\t\tplaceholder=\"{{ inputPlaceholder }}\"\n\t\t[ngModel]=\"clue\"\n\t\t(ngModelChange)=\"clueChanged($event)\"\n\t\t[ngModelOptions]=\"{ standalone: true }\"\n\t\t[readonly]=\"!searchable\"\n\t\t[disabled]=\"disabled$ | async\"\n\t\t(keyup.space)=\"inputSpace($event)\"\n\t\tluInput\n\t\t#inputElement\n\t\t[attr.autocomplete]=\"autocomplete()\"\n\t\t[attr.tabindex]=\"inputTabindex()\"\n\t/>\n\t<div class=\"simpleSelect-field-value\">\n\t\t<ng-container *ngTemplateOutlet=\"currentValueDisplayerTpl\"></ng-container>\n\t</div>\n\t@if (!filterPillMode) {\n\t\t@if (clearable && hasValue() && (disabled$ | async) === false) {\n\t\t\t<button\n\t\t\t\tclass=\"simpleSelect-field-clear clear\"\n\t\t\t\trole=\"button\"\n\t\t\t\ttype=\"button\"\n\t\t\t\t(click)=\"clearValue($event)\"\n\t\t\t\t(keydown.space)=\"clearValue($event)\"\n\t\t\t>\n\t\t\t\t<span class=\"pr-u-mask\">{{ intl.clear }}</span>\n\t\t\t</button>\n\t\t}\n\t\t<lu-icon icon=\"arrowChevronBottom\" class=\"simpleSelect-field-icon\" />\n\t\t<lu-icon icon=\"searchMagnifyingGlass\" class=\"simpleSelect-field-icon mod-search\" />\n\t}\n</div>\n<ng-container #filterPillPanelAnchor></ng-container>\n<ng-container *luFilterPillDisplayer>\n\t<ng-container *ngTemplateOutlet=\"currentValueDisplayerTpl\"></ng-container>\n</ng-container>\n\n<ng-template #currentValueDisplayerTpl>\n\t<ng-container *luOptionOutlet=\"displayerTpl(); value: value\"></ng-container>\n</ng-template>\n", styles: ["@layer reset,base,components,mods,states,product,utils;.simpleSelect{--components-simpleSelect-font: var(--pr-t-font-body-M);--components-simpleSelect-padding: var(--pr-t-spacings-100);--components-simpleSelect-gap: var(--pr-t-spacings-100);--components-simpleSelect-background: var(--pr-t-color-input-background);--components-simpleSelect-value-color: var(--pr-t-color-input-text);--components-simpleSelect-border-color: var(--pr-t-color-input-border);--components-simpleSelect-placeholder: var(--pr-t-color-input-text-placeholder);--components-simpleSelect-arrow-color: var(--pr-t-color-input-icon);display:block}.simpleSelect-field{display:grid;grid-template-columns:1fr auto auto;align-items:center;box-shadow:0 0 0 1px var(--components-simpleSelect-border-color);background-color:var(--components-simpleSelect-background);border-radius:var(--pr-t-border-radius-input);padding:var(--components-simpleSelect-padding);overflow:hidden;outline:none;cursor:pointer}.simpleSelect-field:hover{--components-simpleSelect-border-color: var(--pr-t-color-input-border-hover)}.simpleSelect-field-input{grid-column-start:1;grid-row-start:1;font:var(--components-simpleSelect-font);padding:0;background-color:transparent;color:var(--components-simpleSelect-value-color);border:0;outline:none;position:relative;z-index:1;min-inline-size:0;cursor:pointer}.simpleSelect-field-input::placeholder{color:var(--components-simpleSelect-placeholder)}.simpleSelect-field-value{grid-column-start:1;grid-row-start:1;inline-size:100%;font:var(--components-simpleSelect-font);color:var(--components-simpleSelect-value-color);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:color var(--commons-animations-durations-fast) ease}.simpleSelect-field-clear{grid-column-start:-2;margin-inline-start:var(--components-simpleSelect-gap)}.simpleSelect-field-icon{grid-column-start:-1;margin-inline-start:var(--components-simpleSelect-gap);color:var(--components-simpleSelect-arrow-color);transition:transform var(--commons-animations-durations-standard) ease}.simpleSelect-field-icon .lucca-icon{--icon-size: 1.5rem}.simpleSelect-field-icon.mod-search{display:none}.simpleSelect:has(.simpleSelect-field-input:focus-visible) .simpleSelect-field{outline:2px solid var(--palettes-product-700);outline-offset:3px}.simpleSelect:has(.simpleSelect-field-input:focus-visible) .simpleSelect-field-value{color:var(--components-simpleSelect-value-color)}.simpleSelect:has(.simpleSelect-field-input:focus-visible):has(.simpleSelect-field-input[aria-expanded=true]) .simpleSelect-field-value{color:var(--components-simpleSelect-placeholder)}.simpleSelect:has(.simpleSelect-field-input:focus-visible):has(.simpleSelect-field-input[aria-expanded=true]) .simpleSelect-field-icon{transform:rotate(-180deg)}.simpleSelect:not(.mod-noClueIcon):has(.simpleSelect-field-input:focus-visible):not(:has(.simpleSelect-field-input:read-only)) .simpleSelect-field-icon,.simpleSelect:not(.mod-noClueIcon):has(.simpleSelect-field-input[aria-expanded=true]):not(:has(.simpleSelect-field-input:read-only)) .simpleSelect-field-icon{display:none}.simpleSelect:not(.mod-noClueIcon):has(.simpleSelect-field-input:focus-visible):not(:has(.simpleSelect-field-input:read-only)) .simpleSelect-field-icon.mod-search,.simpleSelect:not(.mod-noClueIcon):has(.simpleSelect-field-input[aria-expanded=true]):not(:has(.simpleSelect-field-input:read-only)) .simpleSelect-field-icon.mod-search{display:inline-flex;transform:none}.simpleSelect:has(.simpleSelect-field-input[aria-invalid=true]){--components-simpleSelect-border-color: var(--pr-t-color-input-border-critical);--components-simpleSelect-background: var(--pr-t-color-input-background-critical);--components-simpleSelect-placeholder: var(--pr-t-color-input-text-placeholder-critical)}.simpleSelect:has(.simpleSelect-field-input:disabled){--components-simpleSelect-background: var(--pr-t-color-input-background-disabled);--components-simpleSelect-placeholder: var(--commons-disabled-placeholder);--components-simpleSelect-value-color: var(--pr-t-color-input-text-disabled);--components-simpleSelect-arrow-color: var(--pr-t-color-input-icon-disabled)}.simpleSelect:has(.simpleSelect-field-input:disabled) .simpleSelect-field{pointer-events:none}.simpleSelect.mod-S{--components-simpleSelect-font: var(--pr-t-font-body-S);--components-simpleSelect-padding: var(--pr-t-spacings-75);--components-simpleSelect-gap: var(--pr-t-spacings-75)}.simpleSelect.mod-S .simpleSelect-field-icon .lucca-icon{--icon-size: 1.25rem}.simpleSelect.mod-S .simpleSelect-field-clear.clear,.simpleSelect.mod-S .simpleSelect-field-clear:not(.clear){--components-clear-size: .75rem;--icon-size: .75rem}.simpleSelect.mod-XS{--components-simpleSelect-font: var(--pr-t-font-body-XS);--components-simpleSelect-padding: var(--pr-t-spacings-50);--components-simpleSelect-gap: var(--pr-t-spacings-50)}.simpleSelect.mod-XS .simpleSelect-field-icon .lucca-icon{--icon-size: 1rem}.simpleSelect.mod-XS .simpleSelect-field-clear.clear,.simpleSelect.mod-XS .simpleSelect-field-clear:not(.clear){--components-clear-size: .75rem;--icon-size: .75rem}.simpleSelect.mod-filterPill{inline-size:21rem;max-inline-size:calc(100vw - 2.5rem)}.simpleSelect.mod-filterPill .simpleSelect-field{position:relative;z-index:1}.simpleSelect.mod-filterPill lu-simple-select-default-option.pr-u-ellipsis{white-space:normal!important}.simpleSelect.mod-filterPill .lu-picker-content{animation:none;box-shadow:none;border-radius:0;background-color:transparent;padding:var(--pr-t-spacings-50);margin:var(--pr-t-spacings-50) calc(var(--pr-t-spacings-100) * -1) calc(var(--pr-t-spacings-100) * -1)}.simpleSelect.is-searchFilled .simpleSelect-field-value{display:none}.simpleSelect.is-selected .simpleSelect-field-input::placeholder{color:transparent}.simpleSelect.is-selected.is-searchFilled .simpleSelect-field-input::placeholder{color:transparent}.simpleSelect.is-selected.is-searchFilled .simpleSelect-field-value{display:none}@layer components{.clear{--components-clear-size: 1rem;--components-clear-background: var(--palettes-neutral-700);--components-clear-cross-color: var(--palettes-neutral-0);--components-clear-background-image: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='16' width='16' fill='none'%3E%3Cpath d='M5.80473 4.86192C5.54438 4.60157 5.12227 4.60157 4.86192 4.86192C4.60157 5.12227 4.60157 5.54438 4.86192 5.80473L7.05718 7.99999L4.86192 10.1953C4.60157 10.4556 4.60157 10.8777 4.86192 11.1381C5.12227 11.3984 5.54438 11.3984 5.80473 11.1381L7.99999 8.9428L10.1953 11.1381C10.4556 11.3984 10.8777 11.3984 11.1381 11.1381C11.3984 10.8777 11.3984 10.4556 11.1381 10.1953L8.9428 7.99999L11.1381 5.80473C11.3984 5.54438 11.3984 5.12227 11.1381 4.86192C10.8777 4.60157 10.4556 4.60157 10.1953 4.86192L7.99999 7.05718L5.80473 4.86192Z' fill='currentColor'/%3E%3C/svg%3E\");padding:0;border:0;inline-size:100%;background-color:transparent;color:inherit;text-align:start;display:block;font:inherit;cursor:pointer;display:grid;grid-template-columns:1fr;grid-template-rows:1fr;grid-template-areas:\"main\";align-items:normal;flex-shrink:0;inline-size:var(--components-clear-size);block-size:var(--components-clear-size);border-radius:var(--pr-t-border-radius-full)}.clear:before,.clear:after{content:\"\";grid-area:main}.clear:before{border-radius:var(--pr-t-border-radius-full);background-color:var(--components-clear-background)}.clear:after{-webkit-mask-image:var(--components-clear-background-image);mask-image:var(--components-clear-background-image);-webkit-mask-size:var(--components-clear-size);mask-size:var(--components-clear-size);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;background-color:var(--components-clear-cross-color)}.clear:hover{--components-clear-cross-color: var(--palettes-neutral-0);--components-clear-background: var(--palettes-neutral-600)}.clear:focus-visible{outline:2px solid var(--palettes-product-700);outline-offset:2px;border-radius:50%}.clear:active{--components-clear-background: var(--palettes-neutral-800)}.clear .lucca-icon{display:none}}@layer mods{.clear.mod-S{--components-clear-size: .75rem;--icon-size: .75rem}}@layer states{.clear.palette-product:not([disabled]),.clear.palette-primary:not([disabled]){--components-clear-cross-color: var(--palettes-neutral-0);--components-clear-background: var(--palettes-product-700)}.clear.palette-product:not([disabled]):hover,.clear.palette-primary:not([disabled]):hover{--components-clear-background: var(--palettes-product-600)}.clear.palette-product:not([disabled]):active,.clear.palette-primary:not([disabled]):active{--components-clear-background: var(--palettes-product-800)}.clear.mod-inverted:not([disabled]){--components-clear-cross-color: var(--palettes-neutral-700);--components-clear-background: var(--palettes-neutral-0)}.clear.mod-inverted:not([disabled]):hover{--components-clear-background: var(--palettes-neutral-50)}.clear.mod-inverted:not([disabled]):active{--components-clear-background: var(--palettes-neutral-100)}.clear.mod-inverted:not([disabled]).palette-product:not([disabled]){--components-clear-cross-color: var(--palettes-product-700);--components-clear-background: var(--palettes-neutral-0)}.clear.mod-inverted:not([disabled]).palette-product:not([disabled]):hover{--components-clear-background: var(--palettes-product-50)}.clear.mod-inverted:not([disabled]).palette-product:not([disabled]):active{--components-clear-background: var(--palettes-product-50)}.clear[disabled]{--components-clear-cross-color: var(--palettes-neutral-500);--components-clear-background: var(--palettes-neutral-300);cursor:default}}\n"], dependencies: [{ kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "directive", type: _LuOptionOutletDirective, selector: "[luOptionOutlet]", inputs: ["luOptionOutlet", "luOptionOutletValue", "luOptionShowNull"] }, { kind: "ngmodule", type: OverlayModule }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$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: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: InputDirective, selector: "[luInput]", inputs: ["luInputStandalone"] }, { kind: "directive", type: FilterPillDisplayerDirective, selector: "[luFilterPillDisplayer]" }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: IconComponent, selector: "lu-icon", inputs: ["icon", "alt", "size", "color"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
334
350
  }
335
351
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: LuSimpleSelectInputComponent, decorators: [{
336
352
  type: Component,
337
- args: [{ selector: 'lu-simple-select', host: { class: 'simpleSelect' }, changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [AsyncPipe, _LuOptionOutletDirective, NgIf, OverlayModule, FormsModule, InputDirective, FilterPillDisplayerDirective, NgTemplateOutlet, IconComponent], providers: [
353
+ args: [{ selector: 'lu-simple-select', host: { class: 'simpleSelect' }, changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [AsyncPipe, _LuOptionOutletDirective, OverlayModule, FormsModule, InputDirective, FilterPillDisplayerDirective, NgTemplateOutlet, IconComponent], providers: [
338
354
  {
339
355
  provide: NG_VALUE_ACCESSOR,
340
356
  useExisting: forwardRef(() => LuSimpleSelectInputComponent),
@@ -350,7 +366,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.2", ngImpor
350
366
  provide: FILTER_PILL_INPUT_COMPONENT,
351
367
  useExisting: forwardRef(() => LuSimpleSelectInputComponent),
352
368
  },
353
- ], encapsulation: ViewEncapsulation.None, template: "<div class=\"simpleSelect-field\">\n\t<input\n\t\tclass=\"simpleSelect-field-input\"\n\t\ttype=\"text\"\n\t\trole=\"combobox\"\n\t\taria-haspopup=\"listbox\"\n\t\t[attr.aria-activedescendant]=\"activeDescendant$ | async\"\n\t\t[attr.aria-expanded]=\"isPanelOpen\"\n\t\t[attr.aria-controls]=\"ariaControls\"\n\t\tplaceholder=\"{{ inputPlaceholder }}\"\n\t\t[ngModel]=\"clue\"\n\t\t(ngModelChange)=\"clueChanged($event)\"\n\t\t[ngModelOptions]=\"{ standalone: true }\"\n\t\t[readonly]=\"!searchable\"\n\t\t[disabled]=\"disabled$ | async\"\n\t\t(keyup.space)=\"inputSpace($event)\"\n\t\tluInput\n\t\t#inputElement\n\t\t[attr.autocomplete]=\"autocomplete()\"\n\t\t[attr.tabindex]=\"inputTabindex()\"\n\t/>\n\t<div class=\"simpleSelect-field-value\">\n\t\t<ng-container *ngTemplateOutlet=\"currentValueDisplayerTpl\"></ng-container>\n\t</div>\n\t@if (!filterPillMode) {\n\t\t@if (clearable && hasValue() && (disabled$ | async) === false) {\n\t\t\t<button\n\t\t\t\tclass=\"simpleSelect-field-clear clear\"\n\t\t\t\trole=\"button\"\n\t\t\t\ttype=\"button\"\n\t\t\t\t(click)=\"clearValue($event)\"\n\t\t\t\t(keydown.space)=\"clearValue($event)\"\n\t\t\t>\n\t\t\t\t<span class=\"u-mask\">{{ intl.clear }}</span>\n\t\t\t</button>\n\t\t}\n\t\t<lu-icon icon=\"arrowChevronBottom\" class=\"simpleSelect-field-icon\" />\n\t\t<lu-icon icon=\"searchMagnifyingGlass\" class=\"simpleSelect-field-icon mod-search\" />\n\t}\n</div>\n<ng-container #filterPillPanelAnchor></ng-container>\n<ng-container *luFilterPillDisplayer>\n\t<ng-container *ngTemplateOutlet=\"currentValueDisplayerTpl\"></ng-container>\n</ng-container>\n\n<ng-template #currentValueDisplayerTpl>\n\t<ng-container *luOptionOutlet=\"displayerTpl(); value: value\"></ng-container>\n</ng-template>\n", styles: [".simpleSelect{--components-simpleSelect-font: var(--pr-t-font-body-M);--components-simpleSelect-padding: var(--pr-t-spacings-100);--components-simpleSelect-gap: var(--pr-t-spacings-100);--components-simpleSelect-background: var(--pr-t-color-input-background);--components-simpleSelect-value-color: var(--pr-t-color-input-text);--components-simpleSelect-border-color: var(--pr-t-color-input-border);--components-simpleSelect-placeholder: var(--pr-t-color-input-text-placeholder);--components-simpleSelect-arrow-color: var(--pr-t-color-input-icon);display:block}.simpleSelect-field{display:grid;grid-template-columns:1fr auto auto;align-items:center;box-shadow:0 0 0 1px var(--components-simpleSelect-border-color);background-color:var(--components-simpleSelect-background);border-radius:var(--commons-borderRadius-M);padding:var(--components-simpleSelect-padding);overflow:hidden;outline:none;cursor:pointer}.simpleSelect-field:hover{--components-simpleSelect-border-color: var(--pr-t-color-input-border-hover)}.simpleSelect-field-input{grid-column-start:1;grid-row-start:1;font:var(--components-simpleSelect-font);padding:0;background-color:transparent;color:var(--components-simpleSelect-value-color);border:0;outline:none;position:relative;z-index:1;min-inline-size:0;cursor:pointer}.simpleSelect-field-input::placeholder{color:var(--components-simpleSelect-placeholder)}.simpleSelect-field-value{grid-column-start:1;grid-row-start:1;inline-size:100%;font:var(--components-simpleSelect-font);color:var(--components-simpleSelect-value-color);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:color var(--commons-animations-durations-fast) ease}.simpleSelect-field-clear{grid-column-start:-2;margin-inline-start:var(--components-simpleSelect-gap)}.simpleSelect-field-icon{grid-column-start:-1;margin-inline-start:var(--components-simpleSelect-gap);color:var(--components-simpleSelect-arrow-color);transition:transform var(--commons-animations-durations-standard) ease}.simpleSelect-field-icon .lucca-icon{--icon-size: 1.5rem}.simpleSelect-field-icon.mod-search{display:none}.simpleSelect:has(.simpleSelect-field-input:focus-visible) .simpleSelect-field{outline:2px solid var(--palettes-product-700);outline-offset:3px}.simpleSelect:has(.simpleSelect-field-input:focus-visible) .simpleSelect-field-value{color:var(--components-simpleSelect-value-color)}.simpleSelect:has(.simpleSelect-field-input:focus-visible):has(.simpleSelect-field-input[aria-expanded=true]) .simpleSelect-field-value{color:var(--components-simpleSelect-placeholder)}.simpleSelect:has(.simpleSelect-field-input:focus-visible):has(.simpleSelect-field-input[aria-expanded=true]) .simpleSelect-field-icon{transform:rotate(-180deg)}.simpleSelect:not(.mod-noClueIcon):has(.simpleSelect-field-input:focus-visible):not(:has(.simpleSelect-field-input:read-only)) .simpleSelect-field-icon,.simpleSelect:not(.mod-noClueIcon):has(.simpleSelect-field-input[aria-expanded=true]):not(:has(.simpleSelect-field-input:read-only)) .simpleSelect-field-icon{display:none}.simpleSelect:not(.mod-noClueIcon):has(.simpleSelect-field-input:focus-visible):not(:has(.simpleSelect-field-input:read-only)) .simpleSelect-field-icon.mod-search,.simpleSelect:not(.mod-noClueIcon):has(.simpleSelect-field-input[aria-expanded=true]):not(:has(.simpleSelect-field-input:read-only)) .simpleSelect-field-icon.mod-search{display:inline-flex;transform:none}.simpleSelect:has(.simpleSelect-field-input[aria-invalid=true]){--components-simpleSelect-border-color: var(--pr-t-color-input-border-critical);--components-simpleSelect-background: var(--pr-t-color-input-background-critical);--components-simpleSelect-placeholder: var(--pr-t-color-input-text-placeholder-critical)}.simpleSelect:has(.simpleSelect-field-input:disabled){--components-simpleSelect-background: var(--pr-t-color-input-background-disabled);--components-simpleSelect-placeholder: var(--commons-disabled-placeholder);--components-simpleSelect-value-color: var(--pr-t-color-input-text-disabled);--components-simpleSelect-arrow-color: var(--pr-t-color-input-icon-disabled)}.simpleSelect:has(.simpleSelect-field-input:disabled) .simpleSelect-field{pointer-events:none}.simpleSelect.mod-S{--components-simpleSelect-font: var(--pr-t-font-body-S);--components-simpleSelect-padding: var(--pr-t-spacings-75);--components-simpleSelect-gap: var(--pr-t-spacings-75)}.simpleSelect.mod-S .simpleSelect-field-icon .lucca-icon{--icon-size: 1.25rem}.simpleSelect.mod-S .simpleSelect-field-clear.clear,.simpleSelect.mod-S .simpleSelect-field-clear:not(.clear){--components-clear-size: .75rem;--icon-size: .75rem}.simpleSelect.mod-XS{--components-simpleSelect-font: var(--pr-t-font-body-XS);--components-simpleSelect-padding: var(--pr-t-spacings-50);--components-simpleSelect-gap: var(--pr-t-spacings-50)}.simpleSelect.mod-XS .simpleSelect-field-icon .lucca-icon{--icon-size: 1rem}.simpleSelect.mod-XS .simpleSelect-field-clear.clear,.simpleSelect.mod-XS .simpleSelect-field-clear:not(.clear){--components-clear-size: .75rem;--icon-size: .75rem}.simpleSelect.mod-filterPill{inline-size:21rem;max-inline-size:calc(100vw - 2.5rem)}.simpleSelect.mod-filterPill .simpleSelect-field{position:relative;z-index:1}.simpleSelect.mod-filterPill lu-simple-select-default-option.u-ellipsis{white-space:normal!important}.simpleSelect.mod-filterPill .lu-picker-content{animation:none;box-shadow:none;border-radius:0;background-color:transparent;padding:var(--pr-t-spacings-50);margin:var(--pr-t-spacings-50) calc(var(--pr-t-spacings-100) * -1) calc(var(--pr-t-spacings-100) * -1)}.simpleSelect.is-searchFilled .simpleSelect-field-value{display:none}.simpleSelect.is-selected .simpleSelect-field-input::placeholder{color:transparent}.simpleSelect.is-selected.is-searchFilled .simpleSelect-field-input::placeholder{color:transparent}.simpleSelect.is-selected.is-searchFilled .simpleSelect-field-value{display:none}.clear{--components-clear-size: 1rem;--components-clear-background: var(--palettes-neutral-700);--components-clear-cross-color: var(--palettes-neutral-0);--components-clear-background-image: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='16' width='16' fill='none'%3E%3Cpath d='M5.80473 4.86192C5.54438 4.60157 5.12227 4.60157 4.86192 4.86192C4.60157 5.12227 4.60157 5.54438 4.86192 5.80473L7.05718 7.99999L4.86192 10.1953C4.60157 10.4556 4.60157 10.8777 4.86192 11.1381C5.12227 11.3984 5.54438 11.3984 5.80473 11.1381L7.99999 8.9428L10.1953 11.1381C10.4556 11.3984 10.8777 11.3984 11.1381 11.1381C11.3984 10.8777 11.3984 10.4556 11.1381 10.1953L8.9428 7.99999L11.1381 5.80473C11.3984 5.54438 11.3984 5.12227 11.1381 4.86192C10.8777 4.60157 10.4556 4.60157 10.1953 4.86192L7.99999 7.05718L5.80473 4.86192Z' fill='currentColor'/%3E%3C/svg%3E\");padding:0;border:0;inline-size:100%;background-color:transparent;color:inherit;text-align:start;display:block;font:inherit;cursor:pointer;display:grid;grid-template-columns:1fr;grid-template-rows:1fr;grid-template-areas:\"main\";align-items:normal;flex-shrink:0;inline-size:var(--components-clear-size);block-size:var(--components-clear-size);border-radius:var(--commons-borderRadius-full)}.clear:before,.clear:after{content:\"\";grid-area:main}.clear:before{border-radius:var(--commons-borderRadius-full);background-color:var(--components-clear-background)}.clear:after{-webkit-mask-image:var(--components-clear-background-image);mask-image:var(--components-clear-background-image);-webkit-mask-size:var(--components-clear-size);mask-size:var(--components-clear-size);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;background-color:var(--components-clear-cross-color)}.clear:hover{--components-clear-cross-color: var(--palettes-neutral-0);--components-clear-background: var(--palettes-neutral-600)}.clear:focus-visible{outline:2px solid var(--palettes-product-700);outline-offset:2px;border-radius:50%}.clear:active{--components-clear-background: var(--palettes-neutral-800)}.clear .lucca-icon{display:none}.clear.mod-S{--components-clear-size: .75rem;--icon-size: .75rem}.clear.palette-product:not([disabled]),.clear.palette-primary:not([disabled]){--components-clear-cross-color: var(--palettes-neutral-0);--components-clear-background: var(--palettes-product-700)}.clear.palette-product:not([disabled]):hover,.clear.palette-primary:not([disabled]):hover{--components-clear-background: var(--palettes-product-600)}.clear.palette-product:not([disabled]):active,.clear.palette-primary:not([disabled]):active{--components-clear-background: var(--palettes-product-800)}.clear.mod-inverted:not([disabled]){--components-clear-cross-color: var(--palettes-neutral-700);--components-clear-background: var(--palettes-neutral-0)}.clear.mod-inverted:not([disabled]):hover{--components-clear-background: var(--palettes-neutral-50)}.clear.mod-inverted:not([disabled]):active{--components-clear-background: var(--palettes-neutral-100)}.clear.mod-inverted:not([disabled]).palette-product:not([disabled]){--components-clear-cross-color: var(--palettes-product-700);--components-clear-background: var(--palettes-neutral-0)}.clear.mod-inverted:not([disabled]).palette-product:not([disabled]):hover{--components-clear-background: var(--palettes-product-50)}.clear.mod-inverted:not([disabled]).palette-product:not([disabled]):active{--components-clear-background: var(--palettes-product-50)}.clear[disabled]{--components-clear-cross-color: var(--palettes-neutral-500);--components-clear-background: var(--palettes-neutral-300);cursor:default}\n"] }]
369
+ ], encapsulation: ViewEncapsulation.None, template: "<div class=\"simpleSelect-field\">\n\t<input\n\t\tclass=\"simpleSelect-field-input\"\n\t\ttype=\"text\"\n\t\trole=\"combobox\"\n\t\taria-haspopup=\"listbox\"\n\t\t[attr.aria-activedescendant]=\"activeDescendant$ | async\"\n\t\t[attr.aria-expanded]=\"isPanelOpen\"\n\t\t[attr.aria-controls]=\"ariaControls\"\n\t\tplaceholder=\"{{ inputPlaceholder }}\"\n\t\t[ngModel]=\"clue\"\n\t\t(ngModelChange)=\"clueChanged($event)\"\n\t\t[ngModelOptions]=\"{ standalone: true }\"\n\t\t[readonly]=\"!searchable\"\n\t\t[disabled]=\"disabled$ | async\"\n\t\t(keyup.space)=\"inputSpace($event)\"\n\t\tluInput\n\t\t#inputElement\n\t\t[attr.autocomplete]=\"autocomplete()\"\n\t\t[attr.tabindex]=\"inputTabindex()\"\n\t/>\n\t<div class=\"simpleSelect-field-value\">\n\t\t<ng-container *ngTemplateOutlet=\"currentValueDisplayerTpl\"></ng-container>\n\t</div>\n\t@if (!filterPillMode) {\n\t\t@if (clearable && hasValue() && (disabled$ | async) === false) {\n\t\t\t<button\n\t\t\t\tclass=\"simpleSelect-field-clear clear\"\n\t\t\t\trole=\"button\"\n\t\t\t\ttype=\"button\"\n\t\t\t\t(click)=\"clearValue($event)\"\n\t\t\t\t(keydown.space)=\"clearValue($event)\"\n\t\t\t>\n\t\t\t\t<span class=\"pr-u-mask\">{{ intl.clear }}</span>\n\t\t\t</button>\n\t\t}\n\t\t<lu-icon icon=\"arrowChevronBottom\" class=\"simpleSelect-field-icon\" />\n\t\t<lu-icon icon=\"searchMagnifyingGlass\" class=\"simpleSelect-field-icon mod-search\" />\n\t}\n</div>\n<ng-container #filterPillPanelAnchor></ng-container>\n<ng-container *luFilterPillDisplayer>\n\t<ng-container *ngTemplateOutlet=\"currentValueDisplayerTpl\"></ng-container>\n</ng-container>\n\n<ng-template #currentValueDisplayerTpl>\n\t<ng-container *luOptionOutlet=\"displayerTpl(); value: value\"></ng-container>\n</ng-template>\n", styles: ["@layer reset,base,components,mods,states,product,utils;.simpleSelect{--components-simpleSelect-font: var(--pr-t-font-body-M);--components-simpleSelect-padding: var(--pr-t-spacings-100);--components-simpleSelect-gap: var(--pr-t-spacings-100);--components-simpleSelect-background: var(--pr-t-color-input-background);--components-simpleSelect-value-color: var(--pr-t-color-input-text);--components-simpleSelect-border-color: var(--pr-t-color-input-border);--components-simpleSelect-placeholder: var(--pr-t-color-input-text-placeholder);--components-simpleSelect-arrow-color: var(--pr-t-color-input-icon);display:block}.simpleSelect-field{display:grid;grid-template-columns:1fr auto auto;align-items:center;box-shadow:0 0 0 1px var(--components-simpleSelect-border-color);background-color:var(--components-simpleSelect-background);border-radius:var(--pr-t-border-radius-input);padding:var(--components-simpleSelect-padding);overflow:hidden;outline:none;cursor:pointer}.simpleSelect-field:hover{--components-simpleSelect-border-color: var(--pr-t-color-input-border-hover)}.simpleSelect-field-input{grid-column-start:1;grid-row-start:1;font:var(--components-simpleSelect-font);padding:0;background-color:transparent;color:var(--components-simpleSelect-value-color);border:0;outline:none;position:relative;z-index:1;min-inline-size:0;cursor:pointer}.simpleSelect-field-input::placeholder{color:var(--components-simpleSelect-placeholder)}.simpleSelect-field-value{grid-column-start:1;grid-row-start:1;inline-size:100%;font:var(--components-simpleSelect-font);color:var(--components-simpleSelect-value-color);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:color var(--commons-animations-durations-fast) ease}.simpleSelect-field-clear{grid-column-start:-2;margin-inline-start:var(--components-simpleSelect-gap)}.simpleSelect-field-icon{grid-column-start:-1;margin-inline-start:var(--components-simpleSelect-gap);color:var(--components-simpleSelect-arrow-color);transition:transform var(--commons-animations-durations-standard) ease}.simpleSelect-field-icon .lucca-icon{--icon-size: 1.5rem}.simpleSelect-field-icon.mod-search{display:none}.simpleSelect:has(.simpleSelect-field-input:focus-visible) .simpleSelect-field{outline:2px solid var(--palettes-product-700);outline-offset:3px}.simpleSelect:has(.simpleSelect-field-input:focus-visible) .simpleSelect-field-value{color:var(--components-simpleSelect-value-color)}.simpleSelect:has(.simpleSelect-field-input:focus-visible):has(.simpleSelect-field-input[aria-expanded=true]) .simpleSelect-field-value{color:var(--components-simpleSelect-placeholder)}.simpleSelect:has(.simpleSelect-field-input:focus-visible):has(.simpleSelect-field-input[aria-expanded=true]) .simpleSelect-field-icon{transform:rotate(-180deg)}.simpleSelect:not(.mod-noClueIcon):has(.simpleSelect-field-input:focus-visible):not(:has(.simpleSelect-field-input:read-only)) .simpleSelect-field-icon,.simpleSelect:not(.mod-noClueIcon):has(.simpleSelect-field-input[aria-expanded=true]):not(:has(.simpleSelect-field-input:read-only)) .simpleSelect-field-icon{display:none}.simpleSelect:not(.mod-noClueIcon):has(.simpleSelect-field-input:focus-visible):not(:has(.simpleSelect-field-input:read-only)) .simpleSelect-field-icon.mod-search,.simpleSelect:not(.mod-noClueIcon):has(.simpleSelect-field-input[aria-expanded=true]):not(:has(.simpleSelect-field-input:read-only)) .simpleSelect-field-icon.mod-search{display:inline-flex;transform:none}.simpleSelect:has(.simpleSelect-field-input[aria-invalid=true]){--components-simpleSelect-border-color: var(--pr-t-color-input-border-critical);--components-simpleSelect-background: var(--pr-t-color-input-background-critical);--components-simpleSelect-placeholder: var(--pr-t-color-input-text-placeholder-critical)}.simpleSelect:has(.simpleSelect-field-input:disabled){--components-simpleSelect-background: var(--pr-t-color-input-background-disabled);--components-simpleSelect-placeholder: var(--commons-disabled-placeholder);--components-simpleSelect-value-color: var(--pr-t-color-input-text-disabled);--components-simpleSelect-arrow-color: var(--pr-t-color-input-icon-disabled)}.simpleSelect:has(.simpleSelect-field-input:disabled) .simpleSelect-field{pointer-events:none}.simpleSelect.mod-S{--components-simpleSelect-font: var(--pr-t-font-body-S);--components-simpleSelect-padding: var(--pr-t-spacings-75);--components-simpleSelect-gap: var(--pr-t-spacings-75)}.simpleSelect.mod-S .simpleSelect-field-icon .lucca-icon{--icon-size: 1.25rem}.simpleSelect.mod-S .simpleSelect-field-clear.clear,.simpleSelect.mod-S .simpleSelect-field-clear:not(.clear){--components-clear-size: .75rem;--icon-size: .75rem}.simpleSelect.mod-XS{--components-simpleSelect-font: var(--pr-t-font-body-XS);--components-simpleSelect-padding: var(--pr-t-spacings-50);--components-simpleSelect-gap: var(--pr-t-spacings-50)}.simpleSelect.mod-XS .simpleSelect-field-icon .lucca-icon{--icon-size: 1rem}.simpleSelect.mod-XS .simpleSelect-field-clear.clear,.simpleSelect.mod-XS .simpleSelect-field-clear:not(.clear){--components-clear-size: .75rem;--icon-size: .75rem}.simpleSelect.mod-filterPill{inline-size:21rem;max-inline-size:calc(100vw - 2.5rem)}.simpleSelect.mod-filterPill .simpleSelect-field{position:relative;z-index:1}.simpleSelect.mod-filterPill lu-simple-select-default-option.pr-u-ellipsis{white-space:normal!important}.simpleSelect.mod-filterPill .lu-picker-content{animation:none;box-shadow:none;border-radius:0;background-color:transparent;padding:var(--pr-t-spacings-50);margin:var(--pr-t-spacings-50) calc(var(--pr-t-spacings-100) * -1) calc(var(--pr-t-spacings-100) * -1)}.simpleSelect.is-searchFilled .simpleSelect-field-value{display:none}.simpleSelect.is-selected .simpleSelect-field-input::placeholder{color:transparent}.simpleSelect.is-selected.is-searchFilled .simpleSelect-field-input::placeholder{color:transparent}.simpleSelect.is-selected.is-searchFilled .simpleSelect-field-value{display:none}@layer components{.clear{--components-clear-size: 1rem;--components-clear-background: var(--palettes-neutral-700);--components-clear-cross-color: var(--palettes-neutral-0);--components-clear-background-image: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='16' width='16' fill='none'%3E%3Cpath d='M5.80473 4.86192C5.54438 4.60157 5.12227 4.60157 4.86192 4.86192C4.60157 5.12227 4.60157 5.54438 4.86192 5.80473L7.05718 7.99999L4.86192 10.1953C4.60157 10.4556 4.60157 10.8777 4.86192 11.1381C5.12227 11.3984 5.54438 11.3984 5.80473 11.1381L7.99999 8.9428L10.1953 11.1381C10.4556 11.3984 10.8777 11.3984 11.1381 11.1381C11.3984 10.8777 11.3984 10.4556 11.1381 10.1953L8.9428 7.99999L11.1381 5.80473C11.3984 5.54438 11.3984 5.12227 11.1381 4.86192C10.8777 4.60157 10.4556 4.60157 10.1953 4.86192L7.99999 7.05718L5.80473 4.86192Z' fill='currentColor'/%3E%3C/svg%3E\");padding:0;border:0;inline-size:100%;background-color:transparent;color:inherit;text-align:start;display:block;font:inherit;cursor:pointer;display:grid;grid-template-columns:1fr;grid-template-rows:1fr;grid-template-areas:\"main\";align-items:normal;flex-shrink:0;inline-size:var(--components-clear-size);block-size:var(--components-clear-size);border-radius:var(--pr-t-border-radius-full)}.clear:before,.clear:after{content:\"\";grid-area:main}.clear:before{border-radius:var(--pr-t-border-radius-full);background-color:var(--components-clear-background)}.clear:after{-webkit-mask-image:var(--components-clear-background-image);mask-image:var(--components-clear-background-image);-webkit-mask-size:var(--components-clear-size);mask-size:var(--components-clear-size);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;background-color:var(--components-clear-cross-color)}.clear:hover{--components-clear-cross-color: var(--palettes-neutral-0);--components-clear-background: var(--palettes-neutral-600)}.clear:focus-visible{outline:2px solid var(--palettes-product-700);outline-offset:2px;border-radius:50%}.clear:active{--components-clear-background: var(--palettes-neutral-800)}.clear .lucca-icon{display:none}}@layer mods{.clear.mod-S{--components-clear-size: .75rem;--icon-size: .75rem}}@layer states{.clear.palette-product:not([disabled]),.clear.palette-primary:not([disabled]){--components-clear-cross-color: var(--palettes-neutral-0);--components-clear-background: var(--palettes-product-700)}.clear.palette-product:not([disabled]):hover,.clear.palette-primary:not([disabled]):hover{--components-clear-background: var(--palettes-product-600)}.clear.palette-product:not([disabled]):active,.clear.palette-primary:not([disabled]):active{--components-clear-background: var(--palettes-product-800)}.clear.mod-inverted:not([disabled]){--components-clear-cross-color: var(--palettes-neutral-700);--components-clear-background: var(--palettes-neutral-0)}.clear.mod-inverted:not([disabled]):hover{--components-clear-background: var(--palettes-neutral-50)}.clear.mod-inverted:not([disabled]):active{--components-clear-background: var(--palettes-neutral-100)}.clear.mod-inverted:not([disabled]).palette-product:not([disabled]){--components-clear-cross-color: var(--palettes-product-700);--components-clear-background: var(--palettes-neutral-0)}.clear.mod-inverted:not([disabled]).palette-product:not([disabled]):hover{--components-clear-background: var(--palettes-product-50)}.clear.mod-inverted:not([disabled]).palette-product:not([disabled]):active{--components-clear-background: var(--palettes-product-50)}.clear[disabled]{--components-clear-cross-color: var(--palettes-neutral-500);--components-clear-background: var(--palettes-neutral-300);cursor:default}}\n"] }]
354
370
  }], propDecorators: { filterPillClass: [{
355
371
  type: HostBinding,
356
372
  args: ['class.mod-filterPill']
@@ -1 +1 @@
1
- {"version":3,"file":"lucca-front-ng-simple-select.mjs","sources":["../../../packages/ng/simple-select/translations.ts","../../../packages/ng/simple-select/select.translate.ts","../../../packages/ng/simple-select/select.model.ts","../../../packages/ng/simple-select/panel/option-selected.pipe.ts","../../../packages/ng/simple-select/panel/panel.component.ts","../../../packages/ng/simple-select/panel/panel.component.html","../../../packages/ng/simple-select/input/panel-ref.factory.ts","../../../packages/ng/simple-select/input/select-input.component.ts","../../../packages/ng/simple-select/input/select-input.component.html","../../../packages/ng/simple-select/lucca-front-ng-simple-select.ts"],"sourcesContent":["export const Translations = {\n\ten: {\n\t\tplaceholder: 'Select an option',\n\t\tclear: 'Clear',\n\t\tclearSearch: 'Clear search',\n\t\temptyResults: 'Your search did not produce any results.',\n\t\tloading: 'Loading...',\n\t},\n\tde: {\n\t\tplaceholder: 'Wählen Sie eine Option',\n\t\tclear: 'Löschen',\n\t\tclearSearch: 'Suche leeren',\n\t\temptyResults: 'Keine Ergebnisse für Ihre Suche',\n\t\tloading: 'Lädt...',\n\t},\n\tfr: {\n\t\tplaceholder: 'Sélectionnez une option',\n\t\tclear: 'Effacer',\n\t\tclearSearch: 'Vider la recherche',\n\t\temptyResults: 'Aucun résultat pour votre recherche',\n\t\tloading: 'Chargement en cours...',\n\t},\n\tit: {\n\t\tplaceholder: 'Seleziona un’opzione',\n\t\tclear: 'Cancellare',\n\t\tclearSearch: 'Cancellare la ricerca',\n\t\temptyResults: 'Nessun risultato per la ricerca',\n\t\tloading: 'Caricamento in corso...',\n\t},\n\tnl: {\n\t\tplaceholder: 'Selecteer een optie',\n\t\tclear: 'Wissen',\n\t\tclearSearch: 'Zoekopdracht leegmaken',\n\t\temptyResults: 'Geen resultaten voor uw zoekopdracht',\n\t\tloading: 'Bezig met laden...',\n\t},\n\t'nl-BE': {\n\t\tplaceholder: 'Selecteer een optie',\n\t\tclear: 'Wissen',\n\t\tclearSearch: 'Zoekopdracht leegmaken',\n\t\temptyResults: 'Geen resultaten voor uw zoekopdracht',\n\t\tloading: 'Bezig met laden...',\n\t},\n\tes: {\n\t\tplaceholder: 'Seleccione una opción',\n\t\tclear: 'Eliminar',\n\t\tclearSearch: 'Vaciar la búsqueda',\n\t\temptyResults: 'No hay resultados para su búsqueda',\n\t\tloading: 'Cargando...',\n\t},\n\tpt: {\n\t\tplaceholder: 'Selecione uma opção',\n\t\tclear: 'Limpar',\n\t\tclearSearch: 'Limpar pesquisa',\n\t\temptyResults: 'Nenhum resultado para sua pesquisa',\n\t\tloading: 'Carregando...',\n\t},\n};\n","import { InjectionToken } from '@angular/core';\nimport { LuTranslation } from '@lucca-front/ng/core';\nimport { Translations } from './translations';\n\nexport const LU_SIMPLE_SELECT_TRANSLATIONS = new InjectionToken('LuSimpleSelectTranslations', {\n\tfactory: () => luSimpleSelectTranslations,\n});\n\nexport interface ILuSimpleSelectLabel {\n\tplaceholder: string;\n\tclear: string;\n\tclearSearch: string;\n\temptyResults: string;\n\tloading: string;\n}\n\nexport const luSimpleSelectTranslations: LuTranslation<ILuSimpleSelectLabel> = Translations;\n","import { InjectionToken } from '@angular/core';\nimport type { LuSimpleSelectInputComponent } from './input';\n\nexport const SIMPLE_SELECT_INPUT = new InjectionToken<LuSimpleSelectInputComponent<unknown>>('SimpleSelectInput');\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { LuOptionComparer } from '@lucca-front/ng/core-select';\n\n@Pipe({\n\tname: 'luIsOptionSelected',\n\tstandalone: true,\n})\nexport class LuIsOptionSelectedPipe implements PipeTransform {\n\ttransform<T>(option: T, comparer: LuOptionComparer<T>, selectedOption: T): boolean {\n\t\treturn !!selectedOption && comparer(option, selectedOption);\n\t}\n}\n","import { A11yModule } from '@angular/cdk/a11y';\nimport { AsyncPipe, NgFor, NgIf, NgTemplateOutlet } from '@angular/common';\nimport { AfterViewInit, ChangeDetectionStrategy, Component, computed, forwardRef, inject, signal, TrackByFunction } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { getIntl, PortalDirective } from '@lucca-front/ng/core';\nimport {\n\tCoreSelectKeyManager,\n\tCoreSelectPanelInstance,\n\tLuOptionGroup,\n\tLuSelectPanelRef,\n\tSELECT_ID,\n\tSELECT_PANEL_INSTANCE,\n\tɵCoreSelectPanelElement,\n\tɵgetGroupTemplateLocation,\n\tɵLuOptionComponent,\n\tɵLuOptionGroupPipe,\n} from '@lucca-front/ng/core-select';\nimport { EMPTY } from 'rxjs';\nimport { LuSimpleSelectInputComponent } from '../input/select-input.component';\nimport { SIMPLE_SELECT_INPUT } from '../select.model';\nimport { LU_SIMPLE_SELECT_TRANSLATIONS } from '../select.translate';\nimport { LuIsOptionSelectedPipe } from './option-selected.pipe';\nimport { IconComponent } from '@lucca-front/ng/icon';\n\n@Component({\n\tselector: 'lu-select-panel',\n\ttemplateUrl: './panel.component.html',\n\tstyleUrls: ['./panel.component.scss'],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tstandalone: true,\n\timports: [A11yModule, AsyncPipe, FormsModule, NgIf, NgFor, NgTemplateOutlet, ɵLuOptionGroupPipe, ɵLuOptionComponent, LuIsOptionSelectedPipe, PortalDirective, ɵCoreSelectPanelElement, IconComponent],\n\tproviders: [\n\t\tCoreSelectKeyManager,\n\t\t{\n\t\t\tprovide: SELECT_PANEL_INSTANCE,\n\t\t\tuseExisting: forwardRef(() => LuSelectPanelComponent),\n\t\t},\n\t],\n})\nexport class LuSelectPanelComponent<T> implements AfterViewInit, CoreSelectPanelInstance<T> {\n\tpublic selectInput = inject<LuSimpleSelectInputComponent<T>>(SIMPLE_SELECT_INPUT);\n\tpublic panelRef = inject<LuSelectPanelRef<T, T>>(LuSelectPanelRef);\n\tpublic selectId = inject(SELECT_ID);\n\tpublic intl = getIntl(LU_SIMPLE_SELECT_TRANSLATIONS);\n\n\toptions$ = this.selectInput.options$;\n\tgrouping = this.selectInput.grouping;\n\tloading$ = this.selectInput.loading$;\n\tsearchable = this.selectInput.searchable;\n\toptionComparer = this.selectInput.optionComparer;\n\toptionKey = this.selectInput.optionKey;\n\n\ttrackOptionsBy: TrackByFunction<T> = (_, option) => this.optionKey(option);\n\ttrackGroupsBy: TrackByFunction<LuOptionGroup<T, unknown>> = (_, group) => group.key;\n\n\tinitialValue: T | undefined = this.selectInput.value;\n\toptionTpl = this.selectInput.optionTpl;\n\n\toptions = signal<ɵCoreSelectPanelElement<T>[]>([]);\n\n\tpublic keyManager = inject<CoreSelectKeyManager<T>>(CoreSelectKeyManager);\n\n\tpublic selected = computed(() => this.selectInput.valueSignal());\n\n\tpublic clueChange$ = this.selectInput.clue$;\n\tpublic shouldDisplayAddOption$ = this.selectInput.shouldDisplayAddOption$;\n\tpublic groupTemplateLocation$ = ɵgetGroupTemplateLocation(!!this.grouping, this.clueChange$, this.options$, this.searchable);\n\n\tonScroll(evt: Event): void {\n\t\tif (!(evt.target instanceof HTMLElement)) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (evt.target.scrollTop === 0) {\n\t\t\tthis.panelRef.previousPage.emit();\n\t\t}\n\n\t\tif (evt.target.scrollHeight - evt.target.scrollTop - evt.target.clientHeight < 1) {\n\t\t\tthis.panelRef.nextPage.emit();\n\t\t}\n\t}\n\n\tngAfterViewInit(): void {\n\t\tthis.keyManager.init({\n\t\t\tqueryList: this.options,\n\t\t\toptions$: this.options$,\n\t\t\toptionComparer: this.optionComparer,\n\t\t\tactiveOptionIdChanged$: this.panelRef.activeOptionIdChanged,\n\t\t\tclueChange$: this.selectInput.searchable ? this.selectInput.clueChange : EMPTY,\n\t\t});\n\n\t\tif (this.initialValue && !this.selectInput.clue) {\n\t\t\tthis.keyManager.highlightOption(this.initialValue);\n\t\t}\n\t}\n}\n","<div\n\tclass=\"lu-picker-panel lu-option-picker-panel\"\n\tcdkTrapFocus\n\t*ngIf=\"{\n\t\toptions: (options$ | async) || [],\n\t\tgroupTemplateLocation: groupTemplateLocation$ | async,\n\t\tshouldDisplayAddOption: shouldDisplayAddOption$ | async,\n\t} as ctx\"\n>\n\t<div class=\"lu-picker-content\" [class.is-loading]=\"loading$ | async\" (scroll)=\"onScroll($event)\">\n\t\t@if (selectInput.panelHeaderTpl(); as tpl) {\n\t\t\t<div>\n\t\t\t\t<ng-container *luPortal=\"tpl\" />\n\t\t\t</div>\n\t\t}\n\t\t<div role=\"listbox\">\n\t\t\t<ng-container *ngIf=\"grouping && ctx.groupTemplateLocation === 'group-header'\">\n\t\t\t\t<div\n\t\t\t\t\t*ngFor=\"let group of ctx.options | luOptionGroup: grouping.selector; trackBy: trackGroupsBy; let groupIndex = index\"\n\t\t\t\t\tclass=\"lu-picker-content-option-group\"\n\t\t\t\t\trole=\"group\"\n\t\t\t\t\t[attr.aria-labelledby]=\"selectId + '-group-' + group.key\"\n\t\t\t\t>\n\t\t\t\t\t<span class=\"lu-picker-content-option-group-title\" role=\"presentation\" [id]=\"selectId + '-group-' + group.key\">\n\t\t\t\t\t\t<ng-container *luPortal=\"grouping.content; context: { $implicit: group }\" />\n\t\t\t\t\t</span>\n\t\t\t\t\t<ng-template [ngTemplateOutlet]=\"optionsList\" [ngTemplateOutletContext]=\"{ $implicit: group.options, groupIndex: groupIndex }\" />\n\t\t\t\t</div>\n\t\t\t</ng-container>\n\t\t\t<ng-container *ngIf=\"!grouping || ctx.groupTemplateLocation !== 'group-header'\">\n\t\t\t\t<ng-template [ngTemplateOutlet]=\"optionsList\" [ngTemplateOutletContext]=\"{ $implicit: ctx.options }\" />\n\t\t\t</ng-container>\n\n\t\t\t<ng-template #optionsList let-options let-groupIndex=\"groupIndex\">\n\t\t\t\t<lu-select-option\n\t\t\t\t\t*ngFor=\"let option of options; let index = index; trackBy: trackOptionsBy\"\n\t\t\t\t\tluCoreSelectPanelElement\n\t\t\t\t\t[option]=\"option\"\n\t\t\t\t\t[optionTpl]=\"optionTpl()\"\n\t\t\t\t\t[optionIndex]=\"index\"\n\t\t\t\t\t[groupTemplateLocation]=\"ctx.groupTemplateLocation\"\n\t\t\t\t\t[groupIndex]=\"groupIndex\"\n\t\t\t\t\t[grouping]=\"grouping\"\n\t\t\t\t\t[scrollIntoViewOptions]=\"{ block: 'center' }\"\n\t\t\t\t\t[isSelected]=\"option | luIsOptionSelected: optionComparer : selected()\"\n\t\t\t\t\t[class.withAddOption]=\"ctx.shouldDisplayAddOption\"\n\t\t\t\t\t(selected)=\"panelRef.emitValue(option)\"\n\t\t\t\t\t(click)=\"panelRef.emitValue(option)\"\n\t\t\t\t/>\n\t\t\t</ng-template>\n\t\t\t<div class=\"lu-picker-content-option-emptyState\" *ngIf=\"ctx.options.length === 0 && (loading$ | async) === false\">\n\t\t\t\t{{ intl.emptyResults }}\n\t\t\t</div>\n\t\t</div>\n\t\t<div *ngIf=\"loading$ | async\" class=\"lu-picker-content-loading\">\n\t\t\t<div class=\"loading\">{{ intl.loading }}</div>\n\t\t</div>\n\t\t@if (ctx.shouldDisplayAddOption) {\n\t\t\t<div\n\t\t\t\tclass=\"addOption palette-product\"\n\t\t\t\t(click)=\"selectInput.emitAddOption()\"\n\t\t\t\t(selected)=\"selectInput.emitAddOption()\"\n\t\t\t\telementId=\"picker-content-add\"\n\t\t\t\tluCoreSelectPanelElement\n\t\t\t>\n\t\t\t\t<lu-icon icon=\"mathsPlus\" />\n\t\t\t\t<ng-container *luPortal=\"selectInput.addOptionLabel\" />\n\t\t\t</div>\n\t\t}\n\t</div>\n</div>\n","import { Overlay, OverlayConfig, OverlayPositionBuilder, OverlayRef, ScrollStrategyOptions } from '@angular/cdk/overlay';\nimport { ComponentPortal } from '@angular/cdk/portal';\nimport { ComponentRef, ElementRef, inject, Injectable, Injector, ViewContainerRef } from '@angular/core';\nimport { addAttributesOnCdkContainer, LuSelectPanelRef, SELECT_ID, SELECT_LABEL_ID } from '@lucca-front/ng/core-select';\nimport { takeUntil } from 'rxjs';\nimport { LuSelectPanelComponent } from '../panel';\nimport { SIMPLE_SELECT_INPUT } from '../select.model';\nimport { LuSimpleSelectInputComponent } from './select-input.component';\n\nabstract class BaseSelectPanelRef<T> extends LuSelectPanelRef<T, T> {\n\tprotected readonly portalRef: ComponentPortal<LuSelectPanelComponent<T>>;\n\tinstance: LuSelectPanelComponent<T>;\n\n\tprotected panelRef: ComponentRef<LuSelectPanelComponent<T>>;\n\n\tprotected constructor(\n\t\tparentInjector: Injector,\n\t\tprotected selectInput: LuSimpleSelectInputComponent<T>,\n\t) {\n\t\tsuper();\n\n\t\tthis.portalRef = new ComponentPortal<LuSelectPanelComponent<T>>(LuSelectPanelComponent, undefined, this.createInjector(selectInput, parentInjector));\n\t}\n\n\tprotected createInjector(selectInput: LuSimpleSelectInputComponent<T>, parentInjector: Injector): Injector {\n\t\treturn Injector.create({\n\t\t\tproviders: [\n\t\t\t\t{ provide: LuSelectPanelRef, useValue: this },\n\t\t\t\t{ provide: SIMPLE_SELECT_INPUT, useValue: selectInput },\n\t\t\t],\n\t\t\tparent: parentInjector,\n\t\t});\n\t}\n\n\toverride handleKeyManagerEvent(event: KeyboardEvent) {\n\t\tthis.instance.keyManager.onKeydown(event);\n\t}\n\n\temitValue(value: T): void {\n\t\tthis.valueChanged.emit(value);\n\t\tthis.close();\n\t}\n\n\tselectCurrentlyHighlightedValue(): void {\n\t\tthis.instance.keyManager.activeItem?.selected.emit();\n\t}\n}\n\nclass SelectPanelRef<T> extends BaseSelectPanelRef<T> {\n\tconstructor(\n\t\tprivate overlayRef: OverlayRef,\n\t\tparentInjector: Injector,\n\t\tselectInput: LuSimpleSelectInputComponent<T>,\n\t) {\n\t\tsuper(parentInjector, selectInput);\n\t\tthis.panelRef = overlayRef.attach(this.portalRef);\n\t\tthis.instance = this.panelRef.instance;\n\n\t\toverlayRef\n\t\t\t.backdropClick()\n\t\t\t.pipe(takeUntil(this.closed))\n\t\t\t.subscribe(() => this.close());\n\t}\n\n\toverride close(): void {\n\t\tsuper.close();\n\t\tthis.panelRef.destroy();\n\t\tthis.overlayRef.detach();\n\t\tthis.selectInput.focusInput();\n\t}\n\n\tupdatePosition(): void {\n\t\tthis.overlayRef.updatePosition();\n\t}\n}\n\nclass SelectPanelDOMHostRef<T> extends BaseSelectPanelRef<T> {\n\tconstructor(host: ViewContainerRef, parentInjector: Injector, selectInput: LuSimpleSelectInputComponent<T>) {\n\t\tsuper(parentInjector, selectInput);\n\t\tthis.panelRef = host.createComponent(this.portalRef.component, {\n\t\t\tinjector: this.portalRef.injector,\n\t\t\tprojectableNodes: this.portalRef.projectableNodes,\n\t\t});\n\t\tthis.instance = this.panelRef.instance;\n\t}\n\n\toverride updatePosition() {\n\t\t// do nothing, this is not a panel so repositioning is handled by the input.\n\t}\n\n\toverride close(): void {\n\t\tthis.closed.emit();\n\t}\n}\n\n@Injectable()\nexport class LuSimpleSelectPanelRefFactory {\n\tprotected overlay = inject(Overlay);\n\tprotected elementRef = inject<ElementRef<HTMLElement>>(ElementRef);\n\tprotected positionBuilder = inject(OverlayPositionBuilder);\n\tprotected scrollStrategies = inject(ScrollStrategyOptions);\n\tprotected parentInjector = inject(Injector);\n\tprivate selectLabelId = inject(SELECT_LABEL_ID);\n\tprivate selectId = inject(SELECT_ID);\n\n\tbuildPanelRef<T>(selectInput: LuSimpleSelectInputComponent<T>, overlayConfigOverride: OverlayConfig = {}): LuSelectPanelRef<T, T> {\n\t\tconst overlayConfig = this.buildOverlayConfig(overlayConfigOverride);\n\t\tconst overlayRef = this.overlay.create(overlayConfig);\n\n\t\taddAttributesOnCdkContainer(overlayRef, this.selectLabelId, this.selectId);\n\n\t\treturn new SelectPanelRef(overlayRef, this.parentInjector, selectInput);\n\t}\n\n\tbuildAndAttachPanelRef<T>(selectInput: LuSimpleSelectInputComponent<T>, host: ViewContainerRef): LuSelectPanelRef<T, T> {\n\t\treturn new SelectPanelDOMHostRef(host, this.parentInjector, selectInput);\n\t}\n\n\tprotected buildOverlayConfig(overlayConfigOverride: OverlayConfig = {}): OverlayConfig {\n\t\tconst overlayConfig: OverlayConfig = overlayConfigOverride || {};\n\t\toverlayConfig.positionStrategy = this.positionBuilder.flexibleConnectedTo(this.elementRef).withPositions([\n\t\t\t{\n\t\t\t\toriginX: 'start',\n\t\t\t\toriginY: 'bottom',\n\t\t\t\toverlayX: 'start',\n\t\t\t\toverlayY: 'top',\n\t\t\t},\n\t\t\t{\n\t\t\t\toriginX: 'end',\n\t\t\t\toriginY: 'bottom',\n\t\t\t\toverlayX: 'end',\n\t\t\t\toverlayY: 'top',\n\t\t\t},\n\t\t\t{\n\t\t\t\toriginX: 'start',\n\t\t\t\toriginY: 'top',\n\t\t\t\toverlayX: 'start',\n\t\t\t\toverlayY: 'bottom',\n\t\t\t},\n\t\t\t{\n\t\t\t\toriginX: 'end',\n\t\t\t\toriginY: 'top',\n\t\t\t\toverlayX: 'end',\n\t\t\t\toverlayY: 'bottom',\n\t\t\t},\n\t\t]);\n\t\toverlayConfig.scrollStrategy = this.scrollStrategies.reposition();\n\t\toverlayConfig.minWidth = this.elementRef.nativeElement.clientWidth;\n\t\toverlayConfig.maxHeight = '100vh';\n\t\toverlayConfig.maxWidth = '100vw';\n\n\t\treturn overlayConfig;\n\t}\n}\n","import { OverlayModule } from '@angular/cdk/overlay';\nimport { AsyncPipe, NgIf, NgTemplateOutlet } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, forwardRef, HostBinding, inject, input, viewChild, ViewContainerRef, ViewEncapsulation } from '@angular/core';\nimport { ControlValueAccessor, FormsModule, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { getIntl } from '@lucca-front/ng/core';\nimport { ALuSelectInputComponent, LuSelectPanelRef, provideLuSelectLabelsAndIds, ɵLuOptionOutletDirective } from '@lucca-front/ng/core-select';\nimport { FILTER_PILL_INPUT_COMPONENT, FilterPillDisplayerDirective } from '@lucca-front/ng/filter-pills';\nimport { InputDirective } from '@lucca-front/ng/form-field';\nimport { IconComponent } from '@lucca-front/ng/icon';\nimport { LU_SIMPLE_SELECT_TRANSLATIONS } from '../select.translate';\nimport { LuSimpleSelectPanelRefFactory } from './panel-ref.factory';\n\n@Component({\n\tselector: 'lu-simple-select',\n\ttemplateUrl: './select-input.component.html',\n\tstyleUrls: ['./select-input.component.scss'],\n\thost: { class: 'simpleSelect' },\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tstandalone: true,\n\timports: [AsyncPipe, ɵLuOptionOutletDirective, NgIf, OverlayModule, FormsModule, InputDirective, FilterPillDisplayerDirective, NgTemplateOutlet, IconComponent],\n\tproviders: [\n\t\t{\n\t\t\tprovide: NG_VALUE_ACCESSOR,\n\t\t\tuseExisting: forwardRef(() => LuSimpleSelectInputComponent),\n\t\t\tmulti: true,\n\t\t},\n\t\t{\n\t\t\tprovide: ALuSelectInputComponent,\n\t\t\tuseExisting: forwardRef(() => LuSimpleSelectInputComponent),\n\t\t},\n\t\tLuSimpleSelectPanelRefFactory,\n\t\tprovideLuSelectLabelsAndIds(),\n\t\t{\n\t\t\tprovide: FILTER_PILL_INPUT_COMPONENT,\n\t\t\tuseExisting: forwardRef(() => LuSimpleSelectInputComponent),\n\t\t},\n\t],\n\tencapsulation: ViewEncapsulation.None,\n})\nexport class LuSimpleSelectInputComponent<T> extends ALuSelectInputComponent<T, T> implements ControlValueAccessor {\n\tintl = getIntl(LU_SIMPLE_SELECT_TRANSLATIONS);\n\n\t@HostBinding('class.mod-filterPill')\n\tpublic get filterPillClass() {\n\t\treturn this.filterPillMode;\n\t}\n\n\tautocomplete = input<string>('off');\n\n\tfilterPillPanelAnchorRef = viewChild('filterPillPanelAnchor', { read: ViewContainerRef });\n\n\tprotected panelRefFactory = inject(LuSimpleSelectPanelRefFactory);\n\n\tprotected buildPanelRef(): LuSelectPanelRef<T, T> {\n\t\treturn this.panelRefFactory.buildPanelRef(this, this.overlayConfig);\n\t}\n\n\tinputSpace(event: Event): void {\n\t\tif (this.filterPillMode) {\n\t\t\tif (this.clue.length === 0) {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tthis.panelRef?.selectCurrentlyHighlightedValue();\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected hasValue(): boolean {\n\t\treturn this.value !== null && this.value !== undefined;\n\t}\n\n\toverride enableFilterPillMode() {\n\t\tthis._panelRef = this.panelRefFactory.buildAndAttachPanelRef(this, this.filterPillPanelAnchorRef());\n\t\tsuper.enableFilterPillMode();\n\t}\n}\n","<div class=\"simpleSelect-field\">\n\t<input\n\t\tclass=\"simpleSelect-field-input\"\n\t\ttype=\"text\"\n\t\trole=\"combobox\"\n\t\taria-haspopup=\"listbox\"\n\t\t[attr.aria-activedescendant]=\"activeDescendant$ | async\"\n\t\t[attr.aria-expanded]=\"isPanelOpen\"\n\t\t[attr.aria-controls]=\"ariaControls\"\n\t\tplaceholder=\"{{ inputPlaceholder }}\"\n\t\t[ngModel]=\"clue\"\n\t\t(ngModelChange)=\"clueChanged($event)\"\n\t\t[ngModelOptions]=\"{ standalone: true }\"\n\t\t[readonly]=\"!searchable\"\n\t\t[disabled]=\"disabled$ | async\"\n\t\t(keyup.space)=\"inputSpace($event)\"\n\t\tluInput\n\t\t#inputElement\n\t\t[attr.autocomplete]=\"autocomplete()\"\n\t\t[attr.tabindex]=\"inputTabindex()\"\n\t/>\n\t<div class=\"simpleSelect-field-value\">\n\t\t<ng-container *ngTemplateOutlet=\"currentValueDisplayerTpl\"></ng-container>\n\t</div>\n\t@if (!filterPillMode) {\n\t\t@if (clearable && hasValue() && (disabled$ | async) === false) {\n\t\t\t<button\n\t\t\t\tclass=\"simpleSelect-field-clear clear\"\n\t\t\t\trole=\"button\"\n\t\t\t\ttype=\"button\"\n\t\t\t\t(click)=\"clearValue($event)\"\n\t\t\t\t(keydown.space)=\"clearValue($event)\"\n\t\t\t>\n\t\t\t\t<span class=\"u-mask\">{{ intl.clear }}</span>\n\t\t\t</button>\n\t\t}\n\t\t<lu-icon icon=\"arrowChevronBottom\" class=\"simpleSelect-field-icon\" />\n\t\t<lu-icon icon=\"searchMagnifyingGlass\" class=\"simpleSelect-field-icon mod-search\" />\n\t}\n</div>\n<ng-container #filterPillPanelAnchor></ng-container>\n<ng-container *luFilterPillDisplayer>\n\t<ng-container *ngTemplateOutlet=\"currentValueDisplayerTpl\"></ng-container>\n</ng-container>\n\n<ng-template #currentValueDisplayerTpl>\n\t<ng-container *luOptionOutlet=\"displayerTpl(); value: value\"></ng-container>\n</ng-template>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["ɵgetGroupTemplateLocation","ɵLuOptionGroupPipe","ɵLuOptionComponent","ɵCoreSelectPanelElement","ɵLuOptionOutletDirective"],"mappings":"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"}
1
+ {"version":3,"file":"lucca-front-ng-simple-select.mjs","sources":["../../../packages/ng/simple-select/translations.ts","../../../packages/ng/simple-select/select.translate.ts","../../../packages/ng/simple-select/select.model.ts","../../../packages/ng/simple-select/panel/option-selected.pipe.ts","../../../packages/ng/simple-select/panel/panel.component.ts","../../../packages/ng/simple-select/panel/panel.component.html","../../../packages/ng/simple-select/input/panel-ref.factory.ts","../../../packages/ng/simple-select/input/select-input.component.ts","../../../packages/ng/simple-select/input/select-input.component.html","../../../packages/ng/simple-select/lucca-front-ng-simple-select.ts"],"sourcesContent":["export const Translations = {\n\ten: {\n\t\tplaceholder: 'Select an option',\n\t\tclear: 'Clear',\n\t\tclearSearch: 'Clear search',\n\t\temptyResults: 'Your search did not produce any results.',\n\t\tloading: 'Loading...',\n\t},\n\tde: {\n\t\tplaceholder: 'Wählen Sie eine Option',\n\t\tclear: 'Löschen',\n\t\tclearSearch: 'Suche leeren',\n\t\temptyResults: 'Keine Ergebnisse für Ihre Suche',\n\t\tloading: 'Lädt...',\n\t},\n\tfr: {\n\t\tplaceholder: 'Sélectionnez une option',\n\t\tclear: 'Effacer',\n\t\tclearSearch: 'Vider la recherche',\n\t\temptyResults: 'Aucun résultat pour votre recherche',\n\t\tloading: 'Chargement en cours...',\n\t},\n\tit: {\n\t\tplaceholder: 'Seleziona un’opzione',\n\t\tclear: 'Cancellare',\n\t\tclearSearch: 'Cancellare la ricerca',\n\t\temptyResults: 'Nessun risultato per la ricerca',\n\t\tloading: 'Caricamento in corso...',\n\t},\n\tnl: {\n\t\tplaceholder: 'Selecteer een optie',\n\t\tclear: 'Wissen',\n\t\tclearSearch: 'Zoekopdracht leegmaken',\n\t\temptyResults: 'Geen resultaten voor uw zoekopdracht',\n\t\tloading: 'Bezig met laden...',\n\t},\n\t'nl-BE': {\n\t\tplaceholder: 'Selecteer een optie',\n\t\tclear: 'Wissen',\n\t\tclearSearch: 'Zoekopdracht leegmaken',\n\t\temptyResults: 'Geen resultaten voor uw zoekopdracht',\n\t\tloading: 'Bezig met laden...',\n\t},\n\tes: {\n\t\tplaceholder: 'Seleccione una opción',\n\t\tclear: 'Eliminar',\n\t\tclearSearch: 'Vaciar la búsqueda',\n\t\temptyResults: 'No hay resultados para su búsqueda',\n\t\tloading: 'Cargando...',\n\t},\n\tpt: {\n\t\tplaceholder: 'Selecione uma opção',\n\t\tclear: 'Limpar',\n\t\tclearSearch: 'Limpar pesquisa',\n\t\temptyResults: 'Nenhum resultado para sua pesquisa',\n\t\tloading: 'Carregando...',\n\t},\n};\n","import { InjectionToken } from '@angular/core';\nimport { LuTranslation } from '@lucca-front/ng/core';\nimport { Translations } from './translations';\n\nexport const LU_SIMPLE_SELECT_TRANSLATIONS = new InjectionToken('LuSimpleSelectTranslations', {\n\tfactory: () => luSimpleSelectTranslations,\n});\n\nexport interface ILuSimpleSelectLabel {\n\tplaceholder: string;\n\tclear: string;\n\tclearSearch: string;\n\temptyResults: string;\n\tloading: string;\n}\n\nexport const luSimpleSelectTranslations: LuTranslation<ILuSimpleSelectLabel> = Translations;\n","import { InjectionToken } from '@angular/core';\nimport type { LuSimpleSelectInputComponent } from './input';\n\nexport const SIMPLE_SELECT_INPUT = new InjectionToken<LuSimpleSelectInputComponent<unknown>>('SimpleSelectInput');\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { LuOptionComparer } from '@lucca-front/ng/core-select';\n\n@Pipe({\n\tname: 'luIsOptionSelected',\n\tstandalone: true,\n})\nexport class LuIsOptionSelectedPipe implements PipeTransform {\n\ttransform<T>(option: T, comparer: LuOptionComparer<T>, selectedOption: T): boolean {\n\t\treturn !!selectedOption && comparer(option, selectedOption);\n\t}\n}\n","import { A11yModule } from '@angular/cdk/a11y';\nimport { AsyncPipe, NgTemplateOutlet } from '@angular/common';\nimport { AfterViewInit, ChangeDetectionStrategy, Component, computed, forwardRef, inject, signal, TrackByFunction } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { getIntl, PortalDirective } from '@lucca-front/ng/core';\nimport {\n\tCoreSelectKeyManager,\n\tCoreSelectPanelInstance,\n\tLuOptionGroup,\n\tLuSelectPanelRef,\n\tSELECT_ID,\n\tSELECT_PANEL_INSTANCE,\n\tɵCoreSelectPanelElement,\n\tɵgetGroupTemplateLocation,\n\tɵLuOptionComponent,\n\tɵLuOptionGroupPipe,\n} from '@lucca-front/ng/core-select';\nimport { IconComponent } from '@lucca-front/ng/icon';\nimport { EMPTY } from 'rxjs';\nimport { LuSimpleSelectInputComponent } from '../input/select-input.component';\nimport { SIMPLE_SELECT_INPUT } from '../select.model';\nimport { LU_SIMPLE_SELECT_TRANSLATIONS } from '../select.translate';\nimport { LuIsOptionSelectedPipe } from './option-selected.pipe';\nimport { TreeBranchComponent } from '@lucca-front/ng/tree-select';\nimport { TreeDisplayPipe, TreeNode } from '@lucca-front/ng/core-select';\n\n@Component({\n\tselector: 'lu-select-panel',\n\ttemplateUrl: './panel.component.html',\n\tstyleUrls: ['./panel.component.scss'],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tstandalone: true,\n\timports: [\n\t\tA11yModule,\n\t\tAsyncPipe,\n\t\tFormsModule,\n\t\tNgTemplateOutlet,\n\t\tɵLuOptionGroupPipe,\n\t\tɵLuOptionComponent,\n\t\tLuIsOptionSelectedPipe,\n\t\tPortalDirective,\n\t\tɵCoreSelectPanelElement,\n\t\tIconComponent,\n\t\tTreeBranchComponent,\n\t\tTreeDisplayPipe,\n\t],\n\tproviders: [\n\t\tCoreSelectKeyManager,\n\t\t{\n\t\t\tprovide: SELECT_PANEL_INSTANCE,\n\t\t\tuseExisting: forwardRef(() => LuSelectPanelComponent),\n\t\t},\n\t],\n})\nexport class LuSelectPanelComponent<T> implements AfterViewInit, CoreSelectPanelInstance<T> {\n\tpublic selectInput = inject<LuSimpleSelectInputComponent<T>>(SIMPLE_SELECT_INPUT);\n\tpublic panelRef = inject<LuSelectPanelRef<T, T>>(LuSelectPanelRef);\n\tpublic selectId = inject(SELECT_ID);\n\tpublic intl = getIntl(LU_SIMPLE_SELECT_TRANSLATIONS);\n\n\toptions$ = this.selectInput.options$;\n\tgrouping = this.selectInput.grouping;\n\ttreeGenerator = this.selectInput.treeGenerator;\n\tloading$ = this.selectInput.loading$;\n\tsearchable = this.selectInput.searchable;\n\toptionComparer = this.selectInput.optionComparer;\n\toptionKey = this.selectInput.optionKey;\n\n\ttrackOptionsBy: TrackByFunction<T> = (_, option) => this.optionKey(option);\n\ttrackGroupsBy: TrackByFunction<LuOptionGroup<T, unknown>> = (_, group) => group.key;\n\ttrackBranchesBy: TrackByFunction<TreeNode<T>> = (_, option) => this.optionKey(option.node);\n\n\tinitialValue: T | undefined = this.selectInput.value;\n\toptionTpl = this.selectInput.optionTpl;\n\n\toptions = signal<ɵCoreSelectPanelElement<T>[]>([]);\n\n\tpublic keyManager = inject<CoreSelectKeyManager<T>>(CoreSelectKeyManager);\n\n\tpublic selected = computed(() => this.selectInput.valueSignal());\n\n\tpublic clueChange$ = this.selectInput.clue$;\n\tpublic shouldDisplayAddOption$ = this.selectInput.shouldDisplayAddOption$;\n\tpublic groupTemplateLocation$ = ɵgetGroupTemplateLocation(!!this.grouping, this.clueChange$, this.options$, this.searchable);\n\n\tonScroll(evt: Event): void {\n\t\tif (!(evt.target instanceof HTMLElement)) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (evt.target.scrollTop === 0) {\n\t\t\tthis.panelRef.previousPage.emit();\n\t\t}\n\n\t\tif (evt.target.scrollHeight - evt.target.scrollTop - evt.target.clientHeight < 1) {\n\t\t\tthis.panelRef.nextPage.emit();\n\t\t}\n\t}\n\n\tngAfterViewInit(): void {\n\t\tthis.keyManager.init({\n\t\t\tqueryList: this.options,\n\t\t\toptions$: this.options$,\n\t\t\toptionComparer: this.optionComparer,\n\t\t\tactiveOptionIdChanged$: this.panelRef.activeOptionIdChanged,\n\t\t\tclueChange$: this.selectInput.searchable ? this.selectInput.clueChange : EMPTY,\n\t\t});\n\n\t\tif (this.initialValue && !this.selectInput.clue) {\n\t\t\tthis.keyManager.highlightOption(this.initialValue);\n\t\t}\n\t}\n}\n","@if (\n\t{\n\t\toptions: (options$ | async) || [],\n\t\tgroupTemplateLocation: groupTemplateLocation$ | async,\n\t\tshouldDisplayAddOption: shouldDisplayAddOption$ | async,\n\t};\n\tas ctx\n) {\n\t<div class=\"lu-picker-panel lu-option-picker-panel\" cdkTrapFocus>\n\t\t<div class=\"lu-picker-content\" [class.is-loading]=\"loading$ | async\" (scroll)=\"onScroll($event)\">\n\t\t\t@if (selectInput.panelHeaderTpl(); as tpl) {\n\t\t\t\t<div>\n\t\t\t\t\t<ng-container *luPortal=\"tpl\" />\n\t\t\t\t</div>\n\t\t\t}\n\t\t\t<div role=\"listbox\">\n\t\t\t\t@if (grouping && ctx.groupTemplateLocation === \"group-header\") {\n\t\t\t\t\t@for (group of ctx.options | luOptionGroup: grouping.selector; track trackGroupsBy(groupIndex, group); let groupIndex = $index) {\n\t\t\t\t\t\t<div class=\"lu-picker-content-option-group\" role=\"group\" [attr.aria-labelledby]=\"selectId + '-group-' + group.key\">\n\t\t\t\t\t\t\t<span class=\"lu-picker-content-option-group-title\" role=\"presentation\" [id]=\"selectId + '-group-' + group.key\">\n\t\t\t\t\t\t\t\t<ng-container *luPortal=\"grouping.content; context: { $implicit: group }\" />\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t<ng-template\n\t\t\t\t\t\t\t\t[ngTemplateOutlet]=\"optionsList\"\n\t\t\t\t\t\t\t\t[ngTemplateOutletContext]=\"{ $implicit: group.options, groupIndex: groupIndex }\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t@if (!grouping || ctx.groupTemplateLocation !== \"group-header\") {\n\t\t\t\t\t<ng-template [ngTemplateOutlet]=\"optionsList\" [ngTemplateOutletContext]=\"{ $implicit: ctx.options }\" />\n\t\t\t\t}\n\t\t\t\t<ng-template #optionsList let-options let-groupIndex=\"groupIndex\">\n\t\t\t\t\t@if (treeGenerator) {\n\t\t\t\t\t\t@for (branch of options | luTreeDisplay: treeGenerator; let index = $index; track trackBranchesBy(index, branch)) {\n\t\t\t\t\t\t\t<lu-tree-branch\n\t\t\t\t\t\t\t\t[branch]=\"branch\"\n\t\t\t\t\t\t\t\t[optionTpl]=\"optionTpl()\"\n\t\t\t\t\t\t\t\t[optionComparer]=\"optionComparer\"\n\t\t\t\t\t\t\t\t[optionIndex]=\"index\"\n\t\t\t\t\t\t\t\t(toggleOne)=\"panelRef.emitValue($event)\"\n\t\t\t\t\t\t\t\tsimpleMode\n\t\t\t\t\t\t\t></lu-tree-branch>\n\t\t\t\t\t\t}\n\t\t\t\t\t} @else {\n\t\t\t\t\t\t@for (option of options; track trackOptionsBy(index, option); let index = $index) {\n\t\t\t\t\t\t\t<lu-select-option\n\t\t\t\t\t\t\t\tluCoreSelectPanelElement\n\t\t\t\t\t\t\t\t[option]=\"option\"\n\t\t\t\t\t\t\t\t[optionTpl]=\"optionTpl()\"\n\t\t\t\t\t\t\t\t[optionIndex]=\"index\"\n\t\t\t\t\t\t\t\t[groupTemplateLocation]=\"ctx.groupTemplateLocation\"\n\t\t\t\t\t\t\t\t[groupIndex]=\"groupIndex\"\n\t\t\t\t\t\t\t\t[grouping]=\"grouping\"\n\t\t\t\t\t\t\t\t[scrollIntoViewOptions]=\"{ block: 'center' }\"\n\t\t\t\t\t\t\t\t[isSelected]=\"option | luIsOptionSelected: optionComparer : selected()\"\n\t\t\t\t\t\t\t\t[class.withAddOption]=\"ctx.shouldDisplayAddOption\"\n\t\t\t\t\t\t\t\t(selected)=\"panelRef.emitValue(option)\"\n\t\t\t\t\t\t\t\t(click)=\"panelRef.emitValue(option)\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t</ng-template>\n\t\t\t\t@if (ctx.options.length === 0 && (loading$ | async) === false) {\n\t\t\t\t\t<div class=\"lu-picker-content-option-emptyState\">\n\t\t\t\t\t\t{{ intl.emptyResults }}\n\t\t\t\t\t</div>\n\t\t\t\t}\n\t\t\t</div>\n\t\t\t@if (loading$ | async) {\n\t\t\t\t<div class=\"lu-picker-content-loading\">\n\t\t\t\t\t<div class=\"loading\">{{ intl.loading }}</div>\n\t\t\t\t</div>\n\t\t\t}\n\t\t\t@if (ctx.shouldDisplayAddOption) {\n\t\t\t\t<div\n\t\t\t\t\tclass=\"addOption palette-product\"\n\t\t\t\t\t(click)=\"selectInput.emitAddOption()\"\n\t\t\t\t\t(selected)=\"selectInput.emitAddOption()\"\n\t\t\t\t\telementId=\"picker-content-add\"\n\t\t\t\t\tluCoreSelectPanelElement\n\t\t\t\t>\n\t\t\t\t\t<lu-icon icon=\"mathsPlus\" />\n\t\t\t\t\t<ng-container *luPortal=\"selectInput.addOptionLabel\" />\n\t\t\t\t</div>\n\t\t\t}\n\t\t</div>\n\t</div>\n}\n","import { Overlay, OverlayConfig, OverlayPositionBuilder, OverlayRef, ScrollStrategyOptions } from '@angular/cdk/overlay';\nimport { ComponentPortal } from '@angular/cdk/portal';\nimport { ComponentRef, ElementRef, inject, Injectable, Injector, ViewContainerRef } from '@angular/core';\nimport { addAttributesOnCdkContainer, LuSelectPanelRef, SELECT_ID, SELECT_LABEL_ID } from '@lucca-front/ng/core-select';\nimport { takeUntil } from 'rxjs';\nimport { LuSelectPanelComponent } from '../panel';\nimport { SIMPLE_SELECT_INPUT } from '../select.model';\nimport { LuSimpleSelectInputComponent } from './select-input.component';\n\nabstract class BaseSelectPanelRef<T> extends LuSelectPanelRef<T, T> {\n\tprotected readonly portalRef: ComponentPortal<LuSelectPanelComponent<T>>;\n\tinstance: LuSelectPanelComponent<T>;\n\n\tprotected panelRef: ComponentRef<LuSelectPanelComponent<T>>;\n\n\tprotected constructor(\n\t\tparentInjector: Injector,\n\t\tprotected selectInput: LuSimpleSelectInputComponent<T>,\n\t) {\n\t\tsuper();\n\n\t\tthis.portalRef = new ComponentPortal<LuSelectPanelComponent<T>>(LuSelectPanelComponent, undefined, this.createInjector(selectInput, parentInjector));\n\t}\n\n\tprotected createInjector(selectInput: LuSimpleSelectInputComponent<T>, parentInjector: Injector): Injector {\n\t\treturn Injector.create({\n\t\t\tproviders: [\n\t\t\t\t{ provide: LuSelectPanelRef, useValue: this },\n\t\t\t\t{ provide: SIMPLE_SELECT_INPUT, useValue: selectInput },\n\t\t\t],\n\t\t\tparent: parentInjector,\n\t\t});\n\t}\n\n\toverride handleKeyManagerEvent(event: KeyboardEvent) {\n\t\tthis.instance.keyManager.onKeydown(event);\n\t}\n\n\temitValue(value: T): void {\n\t\tthis.valueChanged.emit(value);\n\t\tthis.close();\n\t}\n\n\tselectCurrentlyHighlightedValue(): void {\n\t\tthis.instance.keyManager.activeItem?.selected.emit();\n\t}\n}\n\nclass SelectPanelRef<T> extends BaseSelectPanelRef<T> {\n\tconstructor(\n\t\tprivate overlayRef: OverlayRef,\n\t\tparentInjector: Injector,\n\t\tselectInput: LuSimpleSelectInputComponent<T>,\n\t) {\n\t\tsuper(parentInjector, selectInput);\n\t\tthis.panelRef = overlayRef.attach(this.portalRef);\n\t\tthis.instance = this.panelRef.instance;\n\n\t\toverlayRef\n\t\t\t.backdropClick()\n\t\t\t.pipe(takeUntil(this.closed))\n\t\t\t.subscribe(() => this.close());\n\t}\n\n\toverride close(): void {\n\t\tsuper.close();\n\t\tthis.panelRef.destroy();\n\t\tthis.overlayRef.detach();\n\t\tthis.selectInput.focusInput();\n\t}\n\n\tupdatePosition(): void {\n\t\tthis.overlayRef.updatePosition();\n\t}\n}\n\nclass SelectPanelDOMHostRef<T> extends BaseSelectPanelRef<T> {\n\tconstructor(host: ViewContainerRef, parentInjector: Injector, selectInput: LuSimpleSelectInputComponent<T>) {\n\t\tsuper(parentInjector, selectInput);\n\t\tthis.panelRef = host.createComponent(this.portalRef.component, {\n\t\t\tinjector: this.portalRef.injector,\n\t\t\tprojectableNodes: this.portalRef.projectableNodes,\n\t\t});\n\t\tthis.instance = this.panelRef.instance;\n\t}\n\n\toverride updatePosition() {\n\t\t// do nothing, this is not a panel so repositioning is handled by the input.\n\t}\n\n\toverride close(): void {\n\t\tthis.closed.emit();\n\t}\n}\n\n@Injectable()\nexport class LuSimpleSelectPanelRefFactory {\n\tprotected overlay = inject(Overlay);\n\tprotected elementRef = inject<ElementRef<HTMLElement>>(ElementRef);\n\tprotected positionBuilder = inject(OverlayPositionBuilder);\n\tprotected scrollStrategies = inject(ScrollStrategyOptions);\n\tprotected parentInjector = inject(Injector);\n\tprivate selectLabelId = inject(SELECT_LABEL_ID);\n\tprivate selectId = inject(SELECT_ID);\n\n\tbuildPanelRef<T>(selectInput: LuSimpleSelectInputComponent<T>, overlayConfigOverride: OverlayConfig = {}): LuSelectPanelRef<T, T> {\n\t\tconst overlayConfig = this.buildOverlayConfig(overlayConfigOverride);\n\t\tconst overlayRef = this.overlay.create(overlayConfig);\n\n\t\taddAttributesOnCdkContainer(overlayRef, this.selectLabelId, this.selectId);\n\n\t\treturn new SelectPanelRef(overlayRef, this.parentInjector, selectInput);\n\t}\n\n\tbuildAndAttachPanelRef<T>(selectInput: LuSimpleSelectInputComponent<T>, host: ViewContainerRef): LuSelectPanelRef<T, T> {\n\t\treturn new SelectPanelDOMHostRef(host, this.parentInjector, selectInput);\n\t}\n\n\tprotected buildOverlayConfig(overlayConfigOverride: OverlayConfig = {}): OverlayConfig {\n\t\tconst overlayConfig: OverlayConfig = overlayConfigOverride || {};\n\t\toverlayConfig.positionStrategy = this.positionBuilder.flexibleConnectedTo(this.elementRef).withPositions([\n\t\t\t{\n\t\t\t\toriginX: 'start',\n\t\t\t\toriginY: 'bottom',\n\t\t\t\toverlayX: 'start',\n\t\t\t\toverlayY: 'top',\n\t\t\t},\n\t\t\t{\n\t\t\t\toriginX: 'end',\n\t\t\t\toriginY: 'bottom',\n\t\t\t\toverlayX: 'end',\n\t\t\t\toverlayY: 'top',\n\t\t\t},\n\t\t\t{\n\t\t\t\toriginX: 'start',\n\t\t\t\toriginY: 'top',\n\t\t\t\toverlayX: 'start',\n\t\t\t\toverlayY: 'bottom',\n\t\t\t},\n\t\t\t{\n\t\t\t\toriginX: 'end',\n\t\t\t\toriginY: 'top',\n\t\t\t\toverlayX: 'end',\n\t\t\t\toverlayY: 'bottom',\n\t\t\t},\n\t\t]);\n\t\toverlayConfig.scrollStrategy = this.scrollStrategies.reposition();\n\t\toverlayConfig.minWidth = this.elementRef.nativeElement.clientWidth;\n\t\toverlayConfig.maxHeight = '100vh';\n\t\toverlayConfig.maxWidth = '100vw';\n\n\t\treturn overlayConfig;\n\t}\n}\n","import { OverlayModule } from '@angular/cdk/overlay';\nimport { AsyncPipe, NgTemplateOutlet } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, forwardRef, HostBinding, inject, input, viewChild, ViewContainerRef, ViewEncapsulation } from '@angular/core';\nimport { ControlValueAccessor, FormsModule, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { getIntl } from '@lucca-front/ng/core';\nimport { ALuSelectInputComponent, LuSelectPanelRef, provideLuSelectLabelsAndIds, ɵLuOptionOutletDirective } from '@lucca-front/ng/core-select';\nimport { FILTER_PILL_INPUT_COMPONENT, FilterPillDisplayerDirective } from '@lucca-front/ng/filter-pills';\nimport { InputDirective } from '@lucca-front/ng/form-field';\nimport { IconComponent } from '@lucca-front/ng/icon';\nimport { LU_SIMPLE_SELECT_TRANSLATIONS } from '../select.translate';\nimport { LuSimpleSelectPanelRefFactory } from './panel-ref.factory';\n\n@Component({\n\tselector: 'lu-simple-select',\n\ttemplateUrl: './select-input.component.html',\n\tstyleUrls: ['./select-input.component.scss'],\n\thost: { class: 'simpleSelect' },\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tstandalone: true,\n\timports: [AsyncPipe, ɵLuOptionOutletDirective, OverlayModule, FormsModule, InputDirective, FilterPillDisplayerDirective, NgTemplateOutlet, IconComponent],\n\tproviders: [\n\t\t{\n\t\t\tprovide: NG_VALUE_ACCESSOR,\n\t\t\tuseExisting: forwardRef(() => LuSimpleSelectInputComponent),\n\t\t\tmulti: true,\n\t\t},\n\t\t{\n\t\t\tprovide: ALuSelectInputComponent,\n\t\t\tuseExisting: forwardRef(() => LuSimpleSelectInputComponent),\n\t\t},\n\t\tLuSimpleSelectPanelRefFactory,\n\t\tprovideLuSelectLabelsAndIds(),\n\t\t{\n\t\t\tprovide: FILTER_PILL_INPUT_COMPONENT,\n\t\t\tuseExisting: forwardRef(() => LuSimpleSelectInputComponent),\n\t\t},\n\t],\n\tencapsulation: ViewEncapsulation.None,\n})\nexport class LuSimpleSelectInputComponent<T> extends ALuSelectInputComponent<T, T> implements ControlValueAccessor {\n\tintl = getIntl(LU_SIMPLE_SELECT_TRANSLATIONS);\n\n\t@HostBinding('class.mod-filterPill')\n\tpublic get filterPillClass() {\n\t\treturn this.filterPillMode;\n\t}\n\n\tautocomplete = input<AutoFill>('off');\n\n\tfilterPillPanelAnchorRef = viewChild('filterPillPanelAnchor', { read: ViewContainerRef });\n\n\tprotected panelRefFactory = inject(LuSimpleSelectPanelRefFactory);\n\n\tprotected buildPanelRef(): LuSelectPanelRef<T, T> {\n\t\treturn this.panelRefFactory.buildPanelRef(this, this.overlayConfig);\n\t}\n\n\tinputSpace(event: Event): void {\n\t\tif (this.filterPillMode) {\n\t\t\tif (this.clue.length === 0) {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tthis.panelRef?.selectCurrentlyHighlightedValue();\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected hasValue(): boolean {\n\t\treturn this.value !== null && this.value !== undefined;\n\t}\n\n\toverride enableFilterPillMode() {\n\t\tthis._panelRef = this.panelRefFactory.buildAndAttachPanelRef(this, this.filterPillPanelAnchorRef());\n\t\tsuper.enableFilterPillMode();\n\t}\n}\n","<div class=\"simpleSelect-field\">\n\t<input\n\t\tclass=\"simpleSelect-field-input\"\n\t\ttype=\"text\"\n\t\trole=\"combobox\"\n\t\taria-haspopup=\"listbox\"\n\t\t[attr.aria-activedescendant]=\"activeDescendant$ | async\"\n\t\t[attr.aria-expanded]=\"isPanelOpen\"\n\t\t[attr.aria-controls]=\"ariaControls\"\n\t\tplaceholder=\"{{ inputPlaceholder }}\"\n\t\t[ngModel]=\"clue\"\n\t\t(ngModelChange)=\"clueChanged($event)\"\n\t\t[ngModelOptions]=\"{ standalone: true }\"\n\t\t[readonly]=\"!searchable\"\n\t\t[disabled]=\"disabled$ | async\"\n\t\t(keyup.space)=\"inputSpace($event)\"\n\t\tluInput\n\t\t#inputElement\n\t\t[attr.autocomplete]=\"autocomplete()\"\n\t\t[attr.tabindex]=\"inputTabindex()\"\n\t/>\n\t<div class=\"simpleSelect-field-value\">\n\t\t<ng-container *ngTemplateOutlet=\"currentValueDisplayerTpl\"></ng-container>\n\t</div>\n\t@if (!filterPillMode) {\n\t\t@if (clearable && hasValue() && (disabled$ | async) === false) {\n\t\t\t<button\n\t\t\t\tclass=\"simpleSelect-field-clear clear\"\n\t\t\t\trole=\"button\"\n\t\t\t\ttype=\"button\"\n\t\t\t\t(click)=\"clearValue($event)\"\n\t\t\t\t(keydown.space)=\"clearValue($event)\"\n\t\t\t>\n\t\t\t\t<span class=\"pr-u-mask\">{{ intl.clear }}</span>\n\t\t\t</button>\n\t\t}\n\t\t<lu-icon icon=\"arrowChevronBottom\" class=\"simpleSelect-field-icon\" />\n\t\t<lu-icon icon=\"searchMagnifyingGlass\" class=\"simpleSelect-field-icon mod-search\" />\n\t}\n</div>\n<ng-container #filterPillPanelAnchor></ng-container>\n<ng-container *luFilterPillDisplayer>\n\t<ng-container *ngTemplateOutlet=\"currentValueDisplayerTpl\"></ng-container>\n</ng-container>\n\n<ng-template #currentValueDisplayerTpl>\n\t<ng-container *luOptionOutlet=\"displayerTpl(); value: value\"></ng-container>\n</ng-template>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["ɵgetGroupTemplateLocation","ɵLuOptionGroupPipe","ɵLuOptionComponent","ɵCoreSelectPanelElement","ɵLuOptionOutletDirective"],"mappings":";;;;;;;;;;;;;;;;;AAAO,MAAM,YAAY,GAAG;AAC3B,IAAA,EAAE,EAAE;AACH,QAAA,WAAW,EAAE,kBAAkB;AAC/B,QAAA,KAAK,EAAE,OAAO;AACd,QAAA,WAAW,EAAE,cAAc;AAC3B,QAAA,YAAY,EAAE,0CAA0C;AACxD,QAAA,OAAO,EAAE,YAAY;AACrB,KAAA;AACD,IAAA,EAAE,EAAE;AACH,QAAA,WAAW,EAAE,wBAAwB;AACrC,QAAA,KAAK,EAAE,SAAS;AAChB,QAAA,WAAW,EAAE,cAAc;AAC3B,QAAA,YAAY,EAAE,iCAAiC;AAC/C,QAAA,OAAO,EAAE,SAAS;AAClB,KAAA;AACD,IAAA,EAAE,EAAE;AACH,QAAA,WAAW,EAAE,yBAAyB;AACtC,QAAA,KAAK,EAAE,SAAS;AAChB,QAAA,WAAW,EAAE,oBAAoB;AACjC,QAAA,YAAY,EAAE,qCAAqC;AACnD,QAAA,OAAO,EAAE,wBAAwB;AACjC,KAAA;AACD,IAAA,EAAE,EAAE;AACH,QAAA,WAAW,EAAE,sBAAsB;AACnC,QAAA,KAAK,EAAE,YAAY;AACnB,QAAA,WAAW,EAAE,uBAAuB;AACpC,QAAA,YAAY,EAAE,iCAAiC;AAC/C,QAAA,OAAO,EAAE,yBAAyB;AAClC,KAAA;AACD,IAAA,EAAE,EAAE;AACH,QAAA,WAAW,EAAE,qBAAqB;AAClC,QAAA,KAAK,EAAE,QAAQ;AACf,QAAA,WAAW,EAAE,wBAAwB;AACrC,QAAA,YAAY,EAAE,sCAAsC;AACpD,QAAA,OAAO,EAAE,oBAAoB;AAC7B,KAAA;AACD,IAAA,OAAO,EAAE;AACR,QAAA,WAAW,EAAE,qBAAqB;AAClC,QAAA,KAAK,EAAE,QAAQ;AACf,QAAA,WAAW,EAAE,wBAAwB;AACrC,QAAA,YAAY,EAAE,sCAAsC;AACpD,QAAA,OAAO,EAAE,oBAAoB;AAC7B,KAAA;AACD,IAAA,EAAE,EAAE;AACH,QAAA,WAAW,EAAE,uBAAuB;AACpC,QAAA,KAAK,EAAE,UAAU;AACjB,QAAA,WAAW,EAAE,oBAAoB;AACjC,QAAA,YAAY,EAAE,oCAAoC;AAClD,QAAA,OAAO,EAAE,aAAa;AACtB,KAAA;AACD,IAAA,EAAE,EAAE;AACH,QAAA,WAAW,EAAE,qBAAqB;AAClC,QAAA,KAAK,EAAE,QAAQ;AACf,QAAA,WAAW,EAAE,iBAAiB;AAC9B,QAAA,YAAY,EAAE,oCAAoC;AAClD,QAAA,OAAO,EAAE,eAAe;AACxB,KAAA;CACD;;MCrDY,6BAA6B,GAAG,IAAI,cAAc,CAAC,4BAA4B,EAAE;AAC7F,IAAA,OAAO,EAAE,MAAM,0BAA0B;AACzC,CAAA;AAUM,MAAM,0BAA0B,GAAwC;;ACbxE,MAAM,mBAAmB,GAAG,IAAI,cAAc,CAAwC,mBAAmB,CAAC;;MCIpG,sBAAsB,CAAA;AAClC,IAAA,SAAS,CAAI,MAAS,EAAE,QAA6B,EAAE,cAAiB,EAAA;QACvE,OAAO,CAAC,CAAC,cAAc,IAAI,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC;;8GAFhD,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;4GAAtB,sBAAsB,EAAA,YAAA,EAAA,IAAA,EAAA,IAAA,EAAA,oBAAA,EAAA,CAAA,CAAA;;2FAAtB,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBAJlC,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA;AACL,oBAAA,IAAI,EAAE,oBAAoB;AAC1B,oBAAA,UAAU,EAAE,IAAI;AAChB,iBAAA;;;MCgDY,sBAAsB,CAAA;AA5BnC,IAAA,WAAA,GAAA;AA6BQ,QAAA,IAAA,CAAA,WAAW,GAAG,MAAM,CAAkC,mBAAmB,CAAC;AAC1E,QAAA,IAAA,CAAA,QAAQ,GAAG,MAAM,CAAyB,gBAAgB,CAAC;AAC3D,QAAA,IAAA,CAAA,QAAQ,GAAG,MAAM,CAAC,SAAS,CAAC;AAC5B,QAAA,IAAA,CAAA,IAAI,GAAG,OAAO,CAAC,6BAA6B,CAAC;AAEpD,QAAA,IAAA,CAAA,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ;AACpC,QAAA,IAAA,CAAA,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ;AACpC,QAAA,IAAA,CAAA,aAAa,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa;AAC9C,QAAA,IAAA,CAAA,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ;AACpC,QAAA,IAAA,CAAA,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,UAAU;AACxC,QAAA,IAAA,CAAA,cAAc,GAAG,IAAI,CAAC,WAAW,CAAC,cAAc;AAChD,QAAA,IAAA,CAAA,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,SAAS;AAEtC,QAAA,IAAA,CAAA,cAAc,GAAuB,CAAC,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;QAC1E,IAAa,CAAA,aAAA,GAA+C,CAAC,CAAC,EAAE,KAAK,KAAK,KAAK,CAAC,GAAG;AACnF,QAAA,IAAA,CAAA,eAAe,GAAiC,CAAC,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC;AAE1F,QAAA,IAAA,CAAA,YAAY,GAAkB,IAAI,CAAC,WAAW,CAAC,KAAK;AACpD,QAAA,IAAA,CAAA,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,SAAS;AAEtC,QAAA,IAAA,CAAA,OAAO,GAAG,MAAM,CAA+B,EAAE,CAAC;AAE3C,QAAA,IAAA,CAAA,UAAU,GAAG,MAAM,CAA0B,oBAAoB,CAAC;AAElE,QAAA,IAAA,CAAA,QAAQ,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC;AAEzD,QAAA,IAAA,CAAA,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK;AACpC,QAAA,IAAA,CAAA,uBAAuB,GAAG,IAAI,CAAC,WAAW,CAAC,uBAAuB;QAClE,IAAsB,CAAA,sBAAA,GAAGA,yBAAyB,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC;AA6B5H;AA3BA,IAAA,QAAQ,CAAC,GAAU,EAAA;QAClB,IAAI,EAAE,GAAG,CAAC,MAAM,YAAY,WAAW,CAAC,EAAE;YACzC;;QAGD,IAAI,GAAG,CAAC,MAAM,CAAC,SAAS,KAAK,CAAC,EAAE;AAC/B,YAAA,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,EAAE;;QAGlC,IAAI,GAAG,CAAC,MAAM,CAAC,YAAY,GAAG,GAAG,CAAC,MAAM,CAAC,SAAS,GAAG,GAAG,CAAC,MAAM,CAAC,YAAY,GAAG,CAAC,EAAE;AACjF,YAAA,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE;;;IAI/B,eAAe,GAAA;AACd,QAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;YACpB,SAAS,EAAE,IAAI,CAAC,OAAO;YACvB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,cAAc,EAAE,IAAI,CAAC,cAAc;AACnC,YAAA,sBAAsB,EAAE,IAAI,CAAC,QAAQ,CAAC,qBAAqB;AAC3D,YAAA,WAAW,EAAE,IAAI,CAAC,WAAW,CAAC,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,UAAU,GAAG,KAAK;AAC9E,SAAA,CAAC;QAEF,IAAI,IAAI,CAAC,YAAY,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE;YAChD,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,IAAI,CAAC,YAAY,CAAC;;;8GAvDxC,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAtB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,sBAAsB,EARvB,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,SAAA,EAAA;YACV,oBAAoB;AACpB,YAAA;AACC,gBAAA,OAAO,EAAE,qBAAqB;AAC9B,gBAAA,WAAW,EAAE,UAAU,CAAC,MAAM,sBAAsB,CAAC;AACrD,aAAA;SACD,ECpDF,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,s0HAyFA,EDxDE,MAAA,EAAA,CAAA,onLAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,UAAU,EACV,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,YAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,cAAA,EAAA,yBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,SAAS,6CACT,WAAW,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACX,gBAAgB,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,EAAA,0BAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAChBC,kBAAkB,EAAA,IAAA,EAAA,eAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAClBC,kBAAkB,EAClB,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,WAAA,EAAA,QAAA,EAAA,UAAA,EAAA,aAAA,EAAA,YAAA,EAAA,aAAA,EAAA,uBAAA,EAAA,uBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,YAAA,EAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,sBAAsB,EACtB,IAAA,EAAA,oBAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,eAAe,EACf,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,iBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,uBAAuB,qNACvB,aAAa,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,KAAA,EAAA,MAAA,EAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACb,mBAAmB,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,WAAA,EAAA,aAAA,EAAA,gBAAA,EAAA,iBAAA,EAAA,YAAA,CAAA,EAAA,OAAA,EAAA,CAAA,WAAA,EAAA,YAAA,EAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EACnB,eAAe,EAAA,IAAA,EAAA,eAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;2FAUJ,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBA5BlC,SAAS;AACC,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,iBAAiB,mBAGV,uBAAuB,CAAC,MAAM,EAAA,UAAA,EACnC,IAAI,EACP,OAAA,EAAA;wBACR,UAAU;wBACV,SAAS;wBACT,WAAW;wBACX,gBAAgB;wBAChBF,kBAAkB;wBAClBC,kBAAkB;wBAClB,sBAAsB;wBACtB,eAAe;wBACfC,uBAAuB;wBACvB,aAAa;wBACb,mBAAmB;wBACnB,eAAe;qBACf,EACU,SAAA,EAAA;wBACV,oBAAoB;AACpB,wBAAA;AACC,4BAAA,OAAO,EAAE,qBAAqB;AAC9B,4BAAA,WAAW,EAAE,UAAU,CAAC,4BAA4B,CAAC;AACrD,yBAAA;AACD,qBAAA,EAAA,QAAA,EAAA,s0HAAA,EAAA,MAAA,EAAA,CAAA,onLAAA,CAAA,EAAA;;;AE3CF,MAAe,kBAAsB,SAAQ,gBAAsB,CAAA;IAMlE,WACC,CAAA,cAAwB,EACd,WAA4C,EAAA;AAEtD,QAAA,KAAK,EAAE;QAFG,IAAW,CAAA,WAAA,GAAX,WAAW;AAIrB,QAAA,IAAI,CAAC,SAAS,GAAG,IAAI,eAAe,CAA4B,sBAAsB,EAAE,SAAS,EAAE,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;;IAG3I,cAAc,CAAC,WAA4C,EAAE,cAAwB,EAAA;QAC9F,OAAO,QAAQ,CAAC,MAAM,CAAC;AACtB,YAAA,SAAS,EAAE;AACV,gBAAA,EAAE,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,IAAI,EAAE;AAC7C,gBAAA,EAAE,OAAO,EAAE,mBAAmB,EAAE,QAAQ,EAAE,WAAW,EAAE;AACvD,aAAA;AACD,YAAA,MAAM,EAAE,cAAc;AACtB,SAAA,CAAC;;AAGM,IAAA,qBAAqB,CAAC,KAAoB,EAAA;QAClD,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,SAAS,CAAC,KAAK,CAAC;;AAG1C,IAAA,SAAS,CAAC,KAAQ,EAAA;AACjB,QAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC;QAC7B,IAAI,CAAC,KAAK,EAAE;;IAGb,+BAA+B,GAAA;QAC9B,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,UAAU,EAAE,QAAQ,CAAC,IAAI,EAAE;;AAErD;AAED,MAAM,cAAkB,SAAQ,kBAAqB,CAAA;AACpD,IAAA,WAAA,CACS,UAAsB,EAC9B,cAAwB,EACxB,WAA4C,EAAA;AAE5C,QAAA,KAAK,CAAC,cAAc,EAAE,WAAW,CAAC;QAJ1B,IAAU,CAAA,UAAA,GAAV,UAAU;QAKlB,IAAI,CAAC,QAAQ,GAAG,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC;QACjD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ;QAEtC;AACE,aAAA,aAAa;AACb,aAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC;aAC3B,SAAS,CAAC,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;;IAGvB,KAAK,GAAA;QACb,KAAK,CAAC,KAAK,EAAE;AACb,QAAA,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE;AACvB,QAAA,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE;AACxB,QAAA,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE;;IAG9B,cAAc,GAAA;AACb,QAAA,IAAI,CAAC,UAAU,CAAC,cAAc,EAAE;;AAEjC;AAED,MAAM,qBAAyB,SAAQ,kBAAqB,CAAA;AAC3D,IAAA,WAAA,CAAY,IAAsB,EAAE,cAAwB,EAAE,WAA4C,EAAA;AACzG,QAAA,KAAK,CAAC,cAAc,EAAE,WAAW,CAAC;AAClC,QAAA,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE;AAC9D,YAAA,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ;AACjC,YAAA,gBAAgB,EAAE,IAAI,CAAC,SAAS,CAAC,gBAAgB;AACjD,SAAA,CAAC;QACF,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ;;IAG9B,cAAc,GAAA;;;IAId,KAAK,GAAA;AACb,QAAA,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE;;AAEnB;MAGY,6BAA6B,CAAA;AAD1C,IAAA,WAAA,GAAA;AAEW,QAAA,IAAA,CAAA,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;AACzB,QAAA,IAAA,CAAA,UAAU,GAAG,MAAM,CAA0B,UAAU,CAAC;AACxD,QAAA,IAAA,CAAA,eAAe,GAAG,MAAM,CAAC,sBAAsB,CAAC;AAChD,QAAA,IAAA,CAAA,gBAAgB,GAAG,MAAM,CAAC,qBAAqB,CAAC;AAChD,QAAA,IAAA,CAAA,cAAc,GAAG,MAAM,CAAC,QAAQ,CAAC;AACnC,QAAA,IAAA,CAAA,aAAa,GAAG,MAAM,CAAC,eAAe,CAAC;AACvC,QAAA,IAAA,CAAA,QAAQ,GAAG,MAAM,CAAC,SAAS,CAAC;AAkDpC;AAhDA,IAAA,aAAa,CAAI,WAA4C,EAAE,qBAAA,GAAuC,EAAE,EAAA;QACvG,MAAM,aAAa,GAAG,IAAI,CAAC,kBAAkB,CAAC,qBAAqB,CAAC;QACpE,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC;QAErD,2BAA2B,CAAC,UAAU,EAAE,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,QAAQ,CAAC;QAE1E,OAAO,IAAI,cAAc,CAAC,UAAU,EAAE,IAAI,CAAC,cAAc,EAAE,WAAW,CAAC;;IAGxE,sBAAsB,CAAI,WAA4C,EAAE,IAAsB,EAAA;QAC7F,OAAO,IAAI,qBAAqB,CAAC,IAAI,EAAE,IAAI,CAAC,cAAc,EAAE,WAAW,CAAC;;IAG/D,kBAAkB,CAAC,wBAAuC,EAAE,EAAA;AACrE,QAAA,MAAM,aAAa,GAAkB,qBAAqB,IAAI,EAAE;AAChE,QAAA,aAAa,CAAC,gBAAgB,GAAG,IAAI,CAAC,eAAe,CAAC,mBAAmB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,aAAa,CAAC;AACxG,YAAA;AACC,gBAAA,OAAO,EAAE,OAAO;AAChB,gBAAA,OAAO,EAAE,QAAQ;AACjB,gBAAA,QAAQ,EAAE,OAAO;AACjB,gBAAA,QAAQ,EAAE,KAAK;AACf,aAAA;AACD,YAAA;AACC,gBAAA,OAAO,EAAE,KAAK;AACd,gBAAA,OAAO,EAAE,QAAQ;AACjB,gBAAA,QAAQ,EAAE,KAAK;AACf,gBAAA,QAAQ,EAAE,KAAK;AACf,aAAA;AACD,YAAA;AACC,gBAAA,OAAO,EAAE,OAAO;AAChB,gBAAA,OAAO,EAAE,KAAK;AACd,gBAAA,QAAQ,EAAE,OAAO;AACjB,gBAAA,QAAQ,EAAE,QAAQ;AAClB,aAAA;AACD,YAAA;AACC,gBAAA,OAAO,EAAE,KAAK;AACd,gBAAA,OAAO,EAAE,KAAK;AACd,gBAAA,QAAQ,EAAE,KAAK;AACf,gBAAA,QAAQ,EAAE,QAAQ;AAClB,aAAA;AACD,SAAA,CAAC;QACF,aAAa,CAAC,cAAc,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;QACjE,aAAa,CAAC,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,WAAW;AAClE,QAAA,aAAa,CAAC,SAAS,GAAG,OAAO;AACjC,QAAA,aAAa,CAAC,QAAQ,GAAG,OAAO;AAEhC,QAAA,OAAO,aAAa;;8GAvDT,6BAA6B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;kHAA7B,6BAA6B,EAAA,CAAA,CAAA;;2FAA7B,6BAA6B,EAAA,UAAA,EAAA,CAAA;kBADzC;;;ACxDK,MAAO,4BAAgC,SAAQ,uBAA6B,CAAA;AA3BlF,IAAA,WAAA,GAAA;;AA4BC,QAAA,IAAA,CAAA,IAAI,GAAG,OAAO,CAAC,6BAA6B,CAAC;AAO7C,QAAA,IAAA,CAAA,YAAY,GAAG,KAAK,CAAW,KAAK,CAAC;QAErC,IAAwB,CAAA,wBAAA,GAAG,SAAS,CAAC,uBAAuB,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAAC;AAE/E,QAAA,IAAA,CAAA,eAAe,GAAG,MAAM,CAAC,6BAA6B,CAAC;AAuBjE;AAhCA,IAAA,IACW,eAAe,GAAA;QACzB,OAAO,IAAI,CAAC,cAAc;;IASjB,aAAa,GAAA;AACtB,QAAA,OAAO,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,aAAa,CAAC;;AAGpE,IAAA,UAAU,CAAC,KAAY,EAAA;AACtB,QAAA,IAAI,IAAI,CAAC,cAAc,EAAE;YACxB,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE;gBAC3B,KAAK,CAAC,cAAc,EAAE;AACtB,gBAAA,IAAI,CAAC,QAAQ,EAAE,+BAA+B,EAAE;;;;IAKzC,QAAQ,GAAA;QACjB,OAAO,IAAI,CAAC,KAAK,KAAK,IAAI,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS;;IAG9C,oBAAoB,GAAA;AAC5B,QAAA,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,eAAe,CAAC,sBAAsB,CAAC,IAAI,EAAE,IAAI,CAAC,wBAAwB,EAAE,CAAC;QACnG,KAAK,CAAC,oBAAoB,EAAE;;8GAjCjB,4BAA4B,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA5B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,4BAA4B,EAnB7B,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,EAAA,YAAA,EAAA,EAAA,iBAAA,EAAA,cAAA,EAAA,UAAA,EAAA,cAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,sBAAA,EAAA,sBAAA,EAAA,EAAA,cAAA,EAAA,cAAA,EAAA,EAAA,SAAA,EAAA;AACV,YAAA;AACC,gBAAA,OAAO,EAAE,iBAAiB;AAC1B,gBAAA,WAAW,EAAE,UAAU,CAAC,MAAM,4BAA4B,CAAC;AAC3D,gBAAA,KAAK,EAAE,IAAI;AACX,aAAA;AACD,YAAA;AACC,gBAAA,OAAO,EAAE,uBAAuB;AAChC,gBAAA,WAAW,EAAE,UAAU,CAAC,MAAM,4BAA4B,CAAC;AAC3D,aAAA;YACD,6BAA6B;AAC7B,YAAA,2BAA2B,EAAE;AAC7B,YAAA;AACC,gBAAA,OAAO,EAAE,2BAA2B;AACpC,gBAAA,WAAW,EAAE,UAAU,CAAC,MAAM,4BAA4B,CAAC;AAC3D,aAAA;AACD,SAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,0BAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,uBAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,IAAA,EAaqE,gBAAgB,ECjDvF,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,qtDAgDA,u7SD7BW,SAAS,EAAA,IAAA,EAAA,OAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAEC,wBAAwB,EAAE,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,gBAAA,EAAA,qBAAA,EAAA,kBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,aAAa,EAAE,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,WAAW,qnBAAE,cAAc,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,4BAA4B,EAAE,QAAA,EAAA,yBAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,gBAAgB,oJAAE,aAAa,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,KAAA,EAAA,MAAA,EAAA,OAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;2FAoB5I,4BAA4B,EAAA,UAAA,EAAA,CAAA;kBA3BxC,SAAS;AACC,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,kBAAkB,EAGtB,IAAA,EAAA,EAAE,KAAK,EAAE,cAAc,EAAE,EACd,eAAA,EAAA,uBAAuB,CAAC,MAAM,EACnC,UAAA,EAAA,IAAI,WACP,CAAC,SAAS,EAAEA,wBAAwB,EAAE,aAAa,EAAE,WAAW,EAAE,cAAc,EAAE,4BAA4B,EAAE,gBAAgB,EAAE,aAAa,CAAC,EAC9I,SAAA,EAAA;AACV,wBAAA;AACC,4BAAA,OAAO,EAAE,iBAAiB;AAC1B,4BAAA,WAAW,EAAE,UAAU,CAAC,kCAAkC,CAAC;AAC3D,4BAAA,KAAK,EAAE,IAAI;AACX,yBAAA;AACD,wBAAA;AACC,4BAAA,OAAO,EAAE,uBAAuB;AAChC,4BAAA,WAAW,EAAE,UAAU,CAAC,kCAAkC,CAAC;AAC3D,yBAAA;wBACD,6BAA6B;AAC7B,wBAAA,2BAA2B,EAAE;AAC7B,wBAAA;AACC,4BAAA,OAAO,EAAE,2BAA2B;AACpC,4BAAA,WAAW,EAAE,UAAU,CAAC,kCAAkC,CAAC;AAC3D,yBAAA;qBACD,EACc,aAAA,EAAA,iBAAiB,CAAC,IAAI,EAAA,QAAA,EAAA,qtDAAA,EAAA,MAAA,EAAA,CAAA,o4SAAA,CAAA,EAAA;8BAM1B,eAAe,EAAA,CAAA;sBADzB,WAAW;uBAAC,sBAAsB;;;AE1CpC;;AAEG;;;;"}