@lucca-front/ng 22.1.0-rc.4 → 22.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (175) hide show
  1. package/README.md +6 -0
  2. package/fesm2022/lucca-front-ng-a11y.mjs +9 -9
  3. package/fesm2022/lucca-front-ng-activity-feed.mjs +12 -12
  4. package/fesm2022/lucca-front-ng-api.mjs +40 -40
  5. package/fesm2022/lucca-front-ng-app-layout.mjs +3 -3
  6. package/fesm2022/lucca-front-ng-approbation-inbox.mjs +37 -36
  7. package/fesm2022/lucca-front-ng-approbation-inbox.mjs.map +1 -1
  8. package/fesm2022/lucca-front-ng-box.mjs +3 -3
  9. package/fesm2022/lucca-front-ng-breadcrumbs.mjs +6 -6
  10. package/fesm2022/lucca-front-ng-bubble-icon.mjs +12 -7
  11. package/fesm2022/lucca-front-ng-bubble-icon.mjs.map +1 -1
  12. package/fesm2022/lucca-front-ng-bubble-illustration.mjs +3 -3
  13. package/fesm2022/lucca-front-ng-callout.mjs +24 -24
  14. package/fesm2022/lucca-front-ng-chip.mjs +4 -4
  15. package/fesm2022/lucca-front-ng-chip.mjs.map +1 -1
  16. package/fesm2022/lucca-front-ng-clear.mjs +4 -4
  17. package/fesm2022/lucca-front-ng-clear.mjs.map +1 -1
  18. package/fesm2022/lucca-front-ng-code.mjs +3 -3
  19. package/fesm2022/lucca-front-ng-color.mjs +3 -3
  20. package/fesm2022/lucca-front-ng-comment.mjs +12 -12
  21. package/fesm2022/lucca-front-ng-comment.mjs.map +1 -1
  22. package/fesm2022/lucca-front-ng-container.mjs +3 -3
  23. package/fesm2022/lucca-front-ng-core-select-api.mjs +9 -9
  24. package/fesm2022/lucca-front-ng-core-select-department.mjs +6 -6
  25. package/fesm2022/lucca-front-ng-core-select-establishment.mjs +9 -9
  26. package/fesm2022/lucca-front-ng-core-select-job-qualification.mjs +6 -6
  27. package/fesm2022/lucca-front-ng-core-select-legal-units.mjs +8 -8
  28. package/fesm2022/lucca-front-ng-core-select-legal-units.mjs.map +1 -1
  29. package/fesm2022/lucca-front-ng-core-select-occupation-category.mjs +3 -3
  30. package/fesm2022/lucca-front-ng-core-select-user.mjs +20 -20
  31. package/fesm2022/lucca-front-ng-core-select-user.mjs.map +1 -1
  32. package/fesm2022/lucca-front-ng-core-select.mjs +73 -58
  33. package/fesm2022/lucca-front-ng-core-select.mjs.map +1 -1
  34. package/fesm2022/lucca-front-ng-core.mjs +19 -19
  35. package/fesm2022/lucca-front-ng-data-table.mjs +40 -32
  36. package/fesm2022/lucca-front-ng-data-table.mjs.map +1 -1
  37. package/fesm2022/lucca-front-ng-date.mjs +40 -40
  38. package/fesm2022/lucca-front-ng-date2.mjs +37 -34
  39. package/fesm2022/lucca-front-ng-date2.mjs.map +1 -1
  40. package/fesm2022/lucca-front-ng-department.mjs +24 -24
  41. package/fesm2022/lucca-front-ng-dialog.mjs +55 -48
  42. package/fesm2022/lucca-front-ng-dialog.mjs.map +1 -1
  43. package/fesm2022/lucca-front-ng-divider.mjs +3 -3
  44. package/fesm2022/lucca-front-ng-dropdown.mjs +42 -42
  45. package/fesm2022/lucca-front-ng-dropdown.mjs.map +1 -1
  46. package/fesm2022/lucca-front-ng-empty-state.mjs +9 -9
  47. package/fesm2022/lucca-front-ng-error-page.mjs +3 -3
  48. package/fesm2022/lucca-front-ng-establishment.mjs +33 -33
  49. package/fesm2022/lucca-front-ng-fancy-box.mjs +3 -3
  50. package/fesm2022/lucca-front-ng-file-upload.mjs +33 -26
  51. package/fesm2022/lucca-front-ng-file-upload.mjs.map +1 -1
  52. package/fesm2022/lucca-front-ng-filter-pills-core.mjs +6 -6
  53. package/fesm2022/lucca-front-ng-filter-pills.mjs +90 -21
  54. package/fesm2022/lucca-front-ng-filter-pills.mjs.map +1 -1
  55. package/fesm2022/lucca-front-ng-footer.mjs +3 -3
  56. package/fesm2022/lucca-front-ng-form-field.mjs +18 -18
  57. package/fesm2022/lucca-front-ng-form-header.mjs +3 -3
  58. package/fesm2022/lucca-front-ng-form-label.mjs +3 -3
  59. package/fesm2022/lucca-front-ng-form.mjs +3 -3
  60. package/fesm2022/lucca-front-ng-formly.mjs +58 -58
  61. package/fesm2022/lucca-front-ng-forms-phone-number-input.mjs +6 -6
  62. package/fesm2022/lucca-front-ng-forms-rich-text-input-formatters-html.mjs +3 -3
  63. package/fesm2022/lucca-front-ng-forms-rich-text-input-formatters-markdown.mjs +6 -6
  64. package/fesm2022/lucca-front-ng-forms-rich-text-input-formatters-plain-text.mjs +3 -3
  65. package/fesm2022/lucca-front-ng-forms-rich-text-input.mjs +35 -35
  66. package/fesm2022/lucca-front-ng-forms-rich-text-input.mjs.map +1 -1
  67. package/fesm2022/lucca-front-ng-forms.mjs +68 -48
  68. package/fesm2022/lucca-front-ng-forms.mjs.map +1 -1
  69. package/fesm2022/lucca-front-ng-gauge.mjs +3 -3
  70. package/fesm2022/lucca-front-ng-grid.mjs +6 -6
  71. package/fesm2022/lucca-front-ng-highlight-data.mjs +3 -3
  72. package/fesm2022/lucca-front-ng-highlight-section.mjs +3 -3
  73. package/fesm2022/lucca-front-ng-highlight-text.mjs +3 -3
  74. package/fesm2022/lucca-front-ng-horizontal-navigation.mjs +9 -9
  75. package/fesm2022/lucca-front-ng-impersonation.mjs +3 -3
  76. package/fesm2022/lucca-front-ng-index-table.mjs +44 -38
  77. package/fesm2022/lucca-front-ng-index-table.mjs.map +1 -1
  78. package/fesm2022/lucca-front-ng-inline-message.mjs +3 -3
  79. package/fesm2022/lucca-front-ng-input.mjs +21 -21
  80. package/fesm2022/lucca-front-ng-kbd.mjs +306 -0
  81. package/fesm2022/lucca-front-ng-kbd.mjs.map +1 -0
  82. package/fesm2022/lucca-front-ng-link.mjs +6 -6
  83. package/fesm2022/lucca-front-ng-listbox.mjs +13 -10
  84. package/fesm2022/lucca-front-ng-listbox.mjs.map +1 -1
  85. package/fesm2022/lucca-front-ng-listing.mjs +6 -6
  86. package/fesm2022/lucca-front-ng-loading.mjs +51 -10
  87. package/fesm2022/lucca-front-ng-loading.mjs.map +1 -1
  88. package/fesm2022/lucca-front-ng-main-layout.mjs +6 -6
  89. package/fesm2022/lucca-front-ng-markdown.mjs +3 -3
  90. package/fesm2022/lucca-front-ng-mobile-push.mjs +3 -3
  91. package/fesm2022/lucca-front-ng-modal.mjs +22 -22
  92. package/fesm2022/lucca-front-ng-multi-select.mjs +38 -38
  93. package/fesm2022/lucca-front-ng-multi-select.mjs.map +1 -1
  94. package/fesm2022/lucca-front-ng-new-badge.mjs +3 -3
  95. package/fesm2022/lucca-front-ng-number-format.mjs +6 -6
  96. package/fesm2022/lucca-front-ng-number.mjs +7 -7
  97. package/fesm2022/lucca-front-ng-option.mjs +130 -130
  98. package/fesm2022/lucca-front-ng-option.mjs.map +1 -1
  99. package/fesm2022/lucca-front-ng-page-header.mjs +3 -3
  100. package/fesm2022/lucca-front-ng-pagination.mjs +3 -3
  101. package/fesm2022/lucca-front-ng-plg-push.mjs +3 -3
  102. package/fesm2022/lucca-front-ng-popover.mjs +17 -17
  103. package/fesm2022/lucca-front-ng-popover2.mjs +54 -21
  104. package/fesm2022/lucca-front-ng-popover2.mjs.map +1 -1
  105. package/fesm2022/lucca-front-ng-popup.mjs +10 -10
  106. package/fesm2022/lucca-front-ng-priority-levels.mjs +3 -3
  107. package/fesm2022/lucca-front-ng-progress-bar.mjs +3 -3
  108. package/fesm2022/lucca-front-ng-progress-stepper.mjs +6 -6
  109. package/fesm2022/lucca-front-ng-read-more.mjs +6 -6
  110. package/fesm2022/lucca-front-ng-read-more.mjs.map +1 -1
  111. package/fesm2022/lucca-front-ng-resource-card.mjs +12 -12
  112. package/fesm2022/lucca-front-ng-safe-content.mjs +10 -10
  113. package/fesm2022/lucca-front-ng-scroll-box.mjs +4 -4
  114. package/fesm2022/lucca-front-ng-scroll-box.mjs.map +1 -1
  115. package/fesm2022/lucca-front-ng-scroll.mjs +9 -10
  116. package/fesm2022/lucca-front-ng-scroll.mjs.map +1 -1
  117. package/fesm2022/lucca-front-ng-segmented-control-tabs.mjs +6 -6
  118. package/fesm2022/lucca-front-ng-segmented-control.mjs +6 -6
  119. package/fesm2022/lucca-front-ng-select.mjs +14 -14
  120. package/fesm2022/lucca-front-ng-sidepanel.mjs +7 -7
  121. package/fesm2022/lucca-front-ng-simple-select.mjs +14 -14
  122. package/fesm2022/lucca-front-ng-simple-select.mjs.map +1 -1
  123. package/fesm2022/lucca-front-ng-software-icon-wrapper.mjs +6 -6
  124. package/fesm2022/lucca-front-ng-software-icon.mjs +3 -3
  125. package/fesm2022/lucca-front-ng-sortable-list.mjs +6 -6
  126. package/fesm2022/lucca-front-ng-status-badge.mjs +3 -3
  127. package/fesm2022/lucca-front-ng-table-of-content.mjs +6 -6
  128. package/fesm2022/lucca-front-ng-text-flow.mjs +4 -4
  129. package/fesm2022/lucca-front-ng-text-flow.mjs.map +1 -1
  130. package/fesm2022/lucca-front-ng-time.mjs +18 -18
  131. package/fesm2022/lucca-front-ng-title.mjs +10 -10
  132. package/fesm2022/lucca-front-ng-toast.mjs +10 -10
  133. package/fesm2022/lucca-front-ng-tree-select.mjs +6 -6
  134. package/fesm2022/lucca-front-ng-user-popover.mjs +22 -22
  135. package/fesm2022/lucca-front-ng-user-popover.mjs.map +1 -1
  136. package/fesm2022/lucca-front-ng-user.mjs +59 -59
  137. package/fesm2022/lucca-front-ng-vertical-navigation.mjs +12 -12
  138. package/package.json +16 -6
  139. package/schematics/lib/local-deps/package-lock.json +7 -7
  140. package/schematics/lib/local-deps/package.json +1 -1
  141. package/src/definitions/option/_option-item.scss +7 -4
  142. package/types/lucca-front-ng-a11y.d.ts +1 -1
  143. package/types/lucca-front-ng-api.d.ts +3 -3
  144. package/types/lucca-front-ng-approbation-inbox.d.ts +3 -3
  145. package/types/lucca-front-ng-bubble-icon.d.ts +4 -1
  146. package/types/lucca-front-ng-chip.d.ts +1 -1
  147. package/types/lucca-front-ng-clear.d.ts +1 -1
  148. package/types/lucca-front-ng-comment.d.ts +3 -3
  149. package/types/lucca-front-ng-core-select-establishment.d.ts +1 -1
  150. package/types/lucca-front-ng-core-select.d.ts +18 -3
  151. package/types/lucca-front-ng-core.d.ts +3 -3
  152. package/types/lucca-front-ng-data-table.d.ts +7 -2
  153. package/types/lucca-front-ng-date.d.ts +2 -2
  154. package/types/lucca-front-ng-date2.d.ts +5 -2
  155. package/types/lucca-front-ng-department.d.ts +2 -2
  156. package/types/lucca-front-ng-dialog.d.ts +1 -1
  157. package/types/lucca-front-ng-establishment.d.ts +2 -2
  158. package/types/lucca-front-ng-file-upload.d.ts +8 -2
  159. package/types/lucca-front-ng-filter-pills.d.ts +11 -2
  160. package/types/lucca-front-ng-forms.d.ts +13 -3
  161. package/types/lucca-front-ng-index-table.d.ts +4 -2
  162. package/types/lucca-front-ng-kbd.d.ts +59 -0
  163. package/types/lucca-front-ng-listbox.d.ts +1 -0
  164. package/types/lucca-front-ng-loading.d.ts +16 -4
  165. package/types/lucca-front-ng-modal.d.ts +2 -2
  166. package/types/lucca-front-ng-multi-select.d.ts +1 -1
  167. package/types/lucca-front-ng-popover2.d.ts +1 -0
  168. package/types/lucca-front-ng-popup.d.ts +2 -2
  169. package/types/lucca-front-ng-read-more.d.ts +2 -2
  170. package/types/lucca-front-ng-sidepanel.d.ts +1 -1
  171. package/types/lucca-front-ng-simple-select.d.ts +1 -1
  172. package/types/lucca-front-ng-title.d.ts +2 -2
  173. package/types/lucca-front-ng-toast.d.ts +1 -1
  174. package/types/lucca-front-ng-user-popover.d.ts +0 -1
  175. package/types/lucca-front-ng-user.d.ts +2 -2
@@ -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\t'nl-BE': {\n\t\tplaceholder: 'Selecteren ...',\n\t\tclear: 'Wissen',\n\t\tclearSearch: 'Zoekopdracht leegmaken',\n\t\temptyResults: 'Uw zoekopdracht heeft geen resultaat opgeleverd.',\n\t\tloading: 'Bezig met laden...',\n\t\temptyOptions: 'Er zijn geen waarden beschikbaar. Neem contact op met uw beheerder voor meer informatie.',\n\t},\n\tnl: {\n\t\tplaceholder: 'Selecteren ...',\n\t\tclear: 'Wissen',\n\t\tclearSearch: 'Zoekopdracht leegmaken',\n\t\temptyResults: 'Uw zoekopdracht heeft geen resultaat opgeleverd.',\n\t\tloading: 'Bezig met laden...',\n\t\temptyOptions: 'Er zijn geen waarden beschikbaar. Neem contact op met uw beheerder voor meer informatie.',\n\t},\n\tit: {\n\t\tplaceholder: 'Selezionare…',\n\t\tclear: 'Cancellare',\n\t\tclearSearch: 'Cancellare la ricerca',\n\t\temptyResults: 'La ricerca non ha prodotto risultati.',\n\t\tloading: 'Caricamento in corso...',\n\t\temptyOptions: 'Nessun valore è disponibile. Contatta l’amministratore per maggiori informazioni.',\n\t},\n\tfr: {\n\t\tplaceholder: 'Sélectionner…',\n\t\tclear: 'Effacer',\n\t\tclearSearch: 'Vider la recherche',\n\t\temptyResults: \"Votre recherche n'a donné aucun résultat.\",\n\t\tloading: 'Chargement en cours...',\n\t\temptyOptions: \"Aucune valeur n'est disponible. Contactez votre administrateur pour plus d'informations.\",\n\t},\n\tpt: {\n\t\tplaceholder: 'Selecionar..',\n\t\tclear: 'Limpar',\n\t\tclearSearch: 'Limpar pesquisa',\n\t\temptyResults: 'A sua pesquisa não produziu resultados.',\n\t\tloading: 'Carregando...',\n\t\temptyOptions: 'Não existe nenhum valor disponível. Contacte o seu administrador para obter mais informações.',\n\t},\n\tes: {\n\t\tplaceholder: 'Seleccionar...',\n\t\tclear: 'Eliminar',\n\t\tclearSearch: 'Vaciar la búsqueda',\n\t\temptyResults: 'La búsqueda no ha dado ningún resultado.',\n\t\tloading: 'Cargando...',\n\t\temptyOptions: 'No hay ningún valor disponible. Ponte en contacto con tu administrador para obtener más información.',\n\t},\n\tde: {\n\t\tplaceholder: 'Auswählen ...',\n\t\tclear: 'Löschen',\n\t\tclearSearch: 'Suche leeren',\n\t\temptyResults: 'Ihre Suche hat keinen Treffer ergeben.',\n\t\tloading: 'Lädt...',\n\t\temptyOptions: 'Es ist kein Wert verfügbar. Wenden Sie sich für weitere Informationen an Ihre:n Administrator:in.',\n\t},\n\ten: {\n\t\tplaceholder: 'Select…',\n\t\tclear: 'Clear',\n\t\tclearSearch: 'Clear search',\n\t\temptyResults: 'We couldn’t find any results that match your search.',\n\t\tloading: 'Loading...',\n\t\temptyOptions: 'There are no values available. Contact your administrator for more information.',\n\t},\n\tpl: {\n\t\tplaceholder: 'Wybierz…',\n\t\tclear: 'Usuń',\n\t\tclearSearch: 'Wyczyść wyszukiwanie',\n\t\temptyResults: 'Wyszukiwanie nie przyniosło żadnych rezultatów.',\n\t\tloading: 'Trwa ładowanie…',\n\t\temptyOptions: 'Brak dostępnych wartości. Aby uzyskać więcej informacji, skontaktuj się z administratorem.',\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\temptyOptions: 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})\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 { NgTemplateOutlet } from '@angular/common';\nimport { AfterViewInit, ChangeDetectionStrategy, Component, computed, ElementRef, forwardRef, inject, signal, viewChild } from '@angular/core';\nimport { toSignal } from '@angular/core/rxjs-interop';\nimport { FormsModule } from '@angular/forms';\nimport { isNotNil, PortalDirective } from '@lucca-front/ng/core';\nimport {\n\tCoreSelectKeyManager,\n\tCoreSelectPanelInstance,\n\tLuSelectPanelLayoutComponent,\n\tLuSelectPanelRef,\n\tSELECT_ID,\n\tSELECT_PANEL_INSTANCE,\n\tTreeDisplayPipe,\n\tɵCoreSelectPanelElement,\n\tɵfillScrollViewport,\n\tɵgetGroupTemplateLocation,\n\tɵinjectPointerNavigation,\n\tɵLuOptionComponent,\n\tɵLuOptionGroupPipe,\n} from '@lucca-front/ng/core-select';\nimport { DialogComponent, DialogContentComponent, DialogHeaderComponent } from '@lucca-front/ng/dialog';\nimport { IconComponent } from '@lucca-front/ng/icon';\nimport { ListboxComponent, ListboxState, OptionComponent as ListboxOptionComponent } from '@lucca-front/ng/listbox';\nimport { TreeBranchComponent } from '@lucca-front/ng/tree-select';\nimport { EMPTY } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { LuSimpleSelectInputComponent } from '../input/select-input.component';\nimport { SIMPLE_SELECT_INPUT } from '../select.model';\nimport { LuIsOptionSelectedPipe } from './option-selected.pipe';\n\n@Component({\n\tselector: 'lu-select-panel',\n\ttemplateUrl: './panel.component.html',\n\tstyleUrl: './panel.component.scss',\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\thost: {\n\t\tclass: 'selectPanel',\n\t\t'[class.colorPanel]': 'colorPanel()',\n\t\t'[class.is-pointerNavigation]': 'pointerNavigation()',\n\t},\n\timports: [\n\t\tLuSelectPanelLayoutComponent,\n\t\tDialogComponent,\n\t\tDialogHeaderComponent,\n\t\tDialogContentComponent,\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\tListboxComponent,\n\t\tListboxOptionComponent,\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 = this.selectInput.intl;\n\n\treadonly dataSourceOptions = this.selectInput.dataSourceOptions;\n\treadonly grouping = this.selectInput.groupingSignal;\n\ttreeGenerator = this.selectInput.treeGenerator;\n\treadonly loading = this.selectInput.loading;\n\tsearchable = this.selectInput.searchable;\n\treadonly optionComparer = this.selectInput.optionComparer;\n\treadonly optionKey = this.selectInput.optionKey;\n\tcolorPanel = this.selectInput.colorPicker;\n\n\t// `undefined` despite the select's own type when the control was written with no value,\n\t// and the key manager forwards it to the public option comparer, which only accepts options\n\tinitialValue: T | null | undefined = this.selectInput.value;\n\treadonly optionTpl = this.selectInput.optionTpl;\n\n\treadonly options = signal<ɵCoreSelectPanelElement<T>[]>([]);\n\treadonly pointerNavigation = ɵinjectPointerNavigation(inject<ElementRef<HTMLElement>>(ElementRef).nativeElement);\n\n\tpublic readonly keyManager = inject<CoreSelectKeyManager<T>>(CoreSelectKeyManager);\n\n\tpublic readonly selected = computed(() => this.selectInput.valueSignal());\n\n\t// Kept free of nil so it doesn't widen `TreeBranchComponent`'s generic, which would in turn\n\t// make its `toggleOne` output nullable and force a guard on `emitValue` — and so the public\n\t// option comparer, which only accepts options, never receives an empty value.\n\tprotected readonly selectedOptions = computed(() => {\n\t\tconst selected = this.selected();\n\t\treturn isNotNil(selected) ? [selected] : [];\n\t});\n\n\treadonly hasGrouping = computed(() => !!this.grouping());\n\tpublic readonly clue = toSignal(this.selectInput.clue$.pipe(map((clue) => clue ?? '')), { initialValue: '' });\n\tpublic shouldDisplayAddOption = this.selectInput.shouldDisplayAddOption;\n\tpublic groupTemplateLocation = ɵgetGroupTemplateLocation(this.hasGrouping, this.clue, this.dataSourceOptions, this.searchable);\n\n\t// Loading takes precedence over empty so the \"no result\" message never flashes during a fetch\n\treadonly listboxState = computed<ListboxState | null>(() => (this.loading() ? 'loading' : this.dataSourceOptions().length === 0 ? 'empty' : null));\n\n\treadonly listboxStatusMsg = computed(() => {\n\t\tif (this.loading()) {\n\t\t\treturn this.intl().loading;\n\t\t}\n\t\treturn this.clue().length ? this.intl().emptyResults : this.intl().emptyOptions;\n\t});\n\n\tprivate readonly sheetViewport = viewChild<unknown, ElementRef<HTMLElement>>('sheetViewport', { read: ElementRef });\n\n\tconstructor() {\n\t\t// Only the sheet needs the viewport filled by hand: it is sized to its own content, so a first\n\t\t// page that doesn't reach its maximum height leaves nothing to scroll and `onScroll` — the only\n\t\t// thing that asks for the next page — never fires. The popover panel caps its content at 20rem,\n\t\t// which a page of options always overflows, so there it already works on its own.\n\t\tɵfillScrollViewport({\n\t\t\tviewport: computed(() => this.sheetViewport()?.nativeElement),\n\t\t\toptionCount: computed(() => this.dataSourceOptions().length),\n\t\t\tloading: this.loading,\n\t\t\tnextPage: () => this.panelRef.nextPage.emit(),\n\t\t});\n\t}\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.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.dataSourceOptions,\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 (isNotNil(this.initialValue) && !this.selectInput.clue) {\n\t\t\tthis.keyManager.highlightOption(this.initialValue);\n\t\t}\n\t}\n}\n","@if (selectInput.panelBottomSheetMode()) {\n\t<!-- Below the S breakpoint the panel is a dialog in `sheet` mode: the surface, the backdrop, the focus\n\ttrap, the close button and the focus restoration all come from the dialog, so the panel only fills in\n\tits title, its own search input — the field it covers is no longer reachable — and its content. -->\n\t<lu-dialog>\n\t\t<lu-dialog-header>\n\t\t\t@if (selectInput.panelTitle(); as title) {\n\t\t\t\t<!-- The interpolation and the marker must stay adjacent in the source: any whitespace between\n\t\t\t\tthem (even just a line break) renders as a literal space, pushing the asterisk away from the\n\t\t\t\ttitle instead of hugging it the way `.formLabel-required`'s own margin expects. -->\n\t\t\t\t@if (selectInput.panelTitleRequired()) {\n\t\t\t\t\t<h1>{{ title }}<sup class=\"formLabel-required\" aria-hidden=\"true\">*</sup></h1>\n\t\t\t\t} @else {\n\t\t\t\t\t<h1>{{ title }}</h1>\n\t\t\t\t}\n\t\t\t}\n\t\t\t<div dialogHeaderContent>\n\t\t\t\t<ng-container [ngTemplateOutlet]=\"sheetSearch\" />\n\t\t\t</div>\n\t\t</lu-dialog-header>\n\t\t<lu-dialog-content #sheetViewport (scroll)=\"onScroll($event)\">\n\t\t\t<ng-container [ngTemplateOutlet]=\"panelContent\" />\n\t\t</lu-dialog-content>\n\t</lu-dialog>\n} @else {\n\t<lu-select-panel-layout [loading]=\"loading()\" trapFocus (scrolled)=\"onScroll($event)\">\n\t\t<ng-container [ngTemplateOutlet]=\"panelContent\" />\n\t</lu-select-panel-layout>\n}\n\n<ng-template #sheetSearch>\n\t<div class=\"textField\">\n\t\t<div class=\"textField-input\">\n\t\t\t<input\n\t\t\t\tclass=\"textField-input-value\"\n\t\t\t\ttype=\"text\"\n\t\t\t\trole=\"combobox\"\n\t\t\t\taria-haspopup=\"listbox\"\n\t\t\t\t[attr.aria-expanded]=\"true\"\n\t\t\t\t[attr.aria-controls]=\"selectId\"\n\t\t\t\t[attr.placeholder]=\"intl().placeholder\"\n\t\t\t\t[ngModel]=\"clue()\"\n\t\t\t\t(ngModelChange)=\"selectInput.clueChanged($event)\"\n\t\t\t\t[ngModelOptions]=\"{ standalone: true }\"\n\t\t\t\t[readonly]=\"!searchable\"\n\t\t\t\t(keydown)=\"selectInput.onKeyDownNavigation($event)\"\n\t\t\t/>\n\t\t\t<div class=\"textField-input-affix\">\n\t\t\t\t<lu-icon class=\"textField-input-affix-icon\" icon=\"searchMagnifyingGlass\" />\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</ng-template>\n\n<ng-template #panelContent>\n\t<lu-listbox [tree]=\"!!treeGenerator\" [state]=\"listboxState()\" [statusMsg]=\"listboxStatusMsg()\">\n\t\t<!-- The header is projected inside the listbox because it can contain selectable elements\n\t\tthat are referenced by aria-activedescendant -->\n\t\t<ng-container ngProjectAs=\"[listbox-header]\">\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</ng-container>\n\t\t@if (grouping() && groupTemplateLocation() === \"group-header\") {\n\t\t\t@for (group of dataSourceOptions() | luOptionGroup: grouping().selector; track group.key; let groupIndex = $index) {\n\t\t\t\t<lu-listbox-option group [groupId]=\"selectId + '-group-' + group.key\" [elementId]=\"selectId + '-group-' + group.key\">\n\t\t\t\t\t<ng-container *luPortal=\"grouping().content; context: { $implicit: group }\" />\n\t\t\t\t\t<div optgroup class=\"listboxOptionWrapper\">\n\t\t\t\t\t\t<ng-template\n\t\t\t\t\t\t\t[ngTemplateOutlet]=\"optionsList\"\n\t\t\t\t\t\t\t[ngTemplateOutletContext]=\"{ $implicit: group.options, groupIndex: groupIndex }\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t</lu-listbox-option>\n\t\t\t}\n\t\t}\n\t\t@if (!grouping() || groupTemplateLocation() !== \"group-header\") {\n\t\t\t<ng-template [ngTemplateOutlet]=\"optionsList\" [ngTemplateOutletContext]=\"{ $implicit: dataSourceOptions() }\" />\n\t\t}\n\t\t<ng-template #optionsList let-options let-groupIndex=\"groupIndex\">\n\t\t\t@if (treeGenerator) {\n\t\t\t\t@for (branch of options | luTreeDisplay: treeGenerator; let index = $index; track optionKey()(branch.node)) {\n\t\t\t\t\t<lu-tree-branch\n\t\t\t\t\t\t[branch]=\"branch\"\n\t\t\t\t\t\t[optionTpl]=\"optionTpl()\"\n\t\t\t\t\t\t[optionComparer]=\"optionComparer()\"\n\t\t\t\t\t\t[selectedOptions]=\"selectedOptions()\"\n\t\t\t\t\t\t[optionIndex]=\"index\"\n\t\t\t\t\t\t(toggleOne)=\"panelRef.emitValue($event)\"\n\t\t\t\t\t\tsimpleMode\n\t\t\t\t\t/>\n\t\t\t\t}\n\t\t\t} @else {\n\t\t\t\t@for (option of options; track optionKey()(option); let index = $index) {\n\t\t\t\t\t<lu-select-option\n\t\t\t\t\t\tluCoreSelectPanelElement\n\t\t\t\t\t\t[option]=\"option\"\n\t\t\t\t\t\t[optionTpl]=\"optionTpl()\"\n\t\t\t\t\t\t[optionIndex]=\"index\"\n\t\t\t\t\t\t[groupTemplateLocation]=\"groupTemplateLocation()\"\n\t\t\t\t\t\t[groupIndex]=\"groupIndex\"\n\t\t\t\t\t\t[grouping]=\"grouping()\"\n\t\t\t\t\t\t[scrollIntoViewOptions]=\"{ block: 'nearest' }\"\n\t\t\t\t\t\t[isSelected]=\"option | luIsOptionSelected: optionComparer() : selected()\"\n\t\t\t\t\t\t[class.withAddOption]=\"shouldDisplayAddOption()\"\n\t\t\t\t\t\t(selected)=\"panelRef.emitValue(option)\"\n\t\t\t\t\t\t(click)=\"panelRef.emitValue(option)\"\n\t\t\t\t\t/>\n\t\t\t\t}\n\t\t\t}\n\t\t</ng-template>\n\t</lu-listbox>\n\t@if (shouldDisplayAddOption()) {\n\t\t<lu-listbox-option\n\t\t\tadd\n\t\t\tclass=\"palette-product\"\n\t\t\tluCoreSelectPanelElement\n\t\t\t#addOptionElement=\"luCoreSelectPanelElement\"\n\t\t\telementId=\"picker-content-add\"\n\t\t\t[hovered]=\"addOptionElement.isHighlighted()\"\n\t\t\t(click)=\"selectInput.emitAddOption()\"\n\t\t\t(selected)=\"selectInput.emitAddOption()\"\n\t\t>\n\t\t\t<ng-container *luPortal=\"selectInput.addOptionLabel\" />\n\t\t</lu-listbox-option>\n\t}\n\t@if (selectInput.panelFooterTpl(); as tpl) {\n\t\t<div>\n\t\t\t<ng-container *luPortal=\"tpl\" />\n\t\t</div>\n\t}\n</ng-template>\n","import { Overlay, OverlayConfig, OverlayPositionBuilder, OverlayRef, ScrollStrategyOptions } from '@angular/cdk/overlay';\nimport { ComponentPortal } from '@angular/cdk/portal';\nimport { ComponentRef, ElementRef, inject, Injectable, Injector, Type, ViewContainerRef } from '@angular/core';\nimport { getPushPanelViewportMargin } from '@lucca-front/ng/core';\nimport { addAttributesOnCdkContainer, LuSelectPanelRef, SELECT_ID, SELECT_LABEL_ID, ɵopenSelectPanelSheet } from '@lucca-front/ng/core-select';\nimport { LuDialogRef, LuDialogService } from '@lucca-front/ng/dialog';\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\t/** Carries this ref and the select input down to the panel, however it ends up being rendered. */\n\tprotected readonly panelInjector: Injector;\n\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.panelInjector = 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(new ComponentPortal<LuSelectPanelComponent<T>>(LuSelectPanelComponent, undefined, this.panelInjector));\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 SelectPanelSheetRef<T> extends BaseSelectPanelRef<T> {\n\tprivate readonly dialogRef: LuDialogRef<LuSelectPanelComponent<T>, never>;\n\n\t// The sheet can be closed from either side (a selection here, the backdrop/Escape/close button there);\n\t// this keeps the two from bouncing the close back at each other.\n\tprivate dialogClosed = false;\n\n\tconstructor(dialogService: LuDialogService, parentInjector: Injector, selectInput: LuSimpleSelectInputComponent<T>) {\n\t\tsuper(parentInjector, selectInput);\n\n\t\tconst panelComponent: Type<LuSelectPanelComponent<T>> = LuSelectPanelComponent;\n\n\t\tthis.dialogRef = ɵopenSelectPanelSheet(dialogService, panelComponent, this.panelInjector, selectInput.panelTitle());\n\t\tthis.panelRef = this.dialogRef.cdkRef.componentRef!;\n\t\tthis.instance = this.panelRef.instance;\n\n\t\tthis.dialogRef.closed$.pipe(takeUntil(this.closed)).subscribe(() => {\n\t\t\tthis.dialogClosed = true;\n\t\t\tthis.close();\n\t\t});\n\t}\n\n\tupdatePosition(): void {\n\t\t// The sheet is pinned to the viewport, it never follows the field.\n\t}\n\n\toverride close(): void {\n\t\tsuper.close();\n\n\t\tif (!this.dialogClosed) {\n\t\t\tthis.dialogClosed = true;\n\t\t\tthis.dialogRef.dismiss();\n\t\t}\n\t\t// Focus goes back to the field through the dialog's own `restoreFocus`.\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\n\t\tconst panelComponent: Type<LuSelectPanelComponent<T>> = LuSelectPanelComponent;\n\n\t\tthis.panelRef = host.createComponent(panelComponent, {\n\t\t\tinjector: this.panelInjector,\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\tprotected dialogService = inject(LuDialogService);\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\tif (selectInput.bottomSheetMode()) {\n\t\t\treturn new SelectPanelSheetRef(this.dialogService, this.parentInjector, selectInput);\n\t\t}\n\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\n\t\t\t.flexibleConnectedTo(this.elementRef)\n\t\t\t// Options usually arrive after the panel has been opened: without this, every reposition is\n\t\t\t// capped to the bounding box computed while the panel was still empty, so a panel opened in a\n\t\t\t// tight space below the field can never grow nor flip above once its options are there.\n\t\t\t.withGrowAfterOpen(true)\n\t\t\t.withViewportMargin(getPushPanelViewportMargin(this.elementRef.nativeElement, 8))\n\t\t\t.withPositions([\n\t\t\t\t{\n\t\t\t\t\toriginX: 'start',\n\t\t\t\t\toriginY: 'bottom',\n\t\t\t\t\toverlayX: 'start',\n\t\t\t\t\toverlayY: 'top',\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\toriginX: 'end',\n\t\t\t\t\toriginY: 'bottom',\n\t\t\t\t\toverlayX: 'end',\n\t\t\t\t\toverlayY: 'top',\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\toriginX: 'start',\n\t\t\t\t\toriginY: 'top',\n\t\t\t\t\toverlayX: 'start',\n\t\t\t\t\toverlayY: 'bottom',\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\toriginX: 'end',\n\t\t\t\t\toriginY: 'top',\n\t\t\t\t\toverlayX: 'end',\n\t\t\t\t\toverlayY: 'bottom',\n\t\t\t\t},\n\t\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, inject, input, viewChild, ViewContainerRef, ViewEncapsulation } from '@angular/core';\nimport { ControlValueAccessor, FormsModule, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { ClearComponent } from '@lucca-front/ng/clear';\nimport { intlInputOptions, isNotNil, luBooleanAttribute, PortalDirective } from '@lucca-front/ng/core';\nimport { ALuSelectInputComponent, LU_CORE_SELECT_TRANSLATIONS, LuSelectPanelRef, provideLuSelectLabelsAndIds, ɵLuOptionOutletDirective } from '@lucca-front/ng/core-select';\nimport { provideLuDialog } from '@lucca-front/ng/dialog';\nimport { FILTER_PILL_INPUT_COMPONENT, FilterPillDisplayerDirective } from '@lucca-front/ng/filter-pills/core';\nimport { InputDirective, PresentationDisplayDirective, ɵPresentationDisplayDefaultDirective } 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\nlet nextID = 0;\n\n@Component({\n\tselector: 'lu-simple-select',\n\ttemplateUrl: './select-input.component.html',\n\tstyleUrl: './select-input.component.scss',\n\thost: {\n\t\tclass: 'simpleSelect',\n\t\t'[class.mod-filterPill]': 'this.filterPillMode && !this.impersonation()',\n\t\t'[class.mod-impersonation]': 'this.impersonation()',\n\t},\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\timports: [\n\t\tAsyncPipe,\n\t\tɵLuOptionOutletDirective,\n\t\tOverlayModule,\n\t\tFormsModule,\n\t\tInputDirective,\n\t\tFilterPillDisplayerDirective,\n\t\tNgTemplateOutlet,\n\t\tIconComponent,\n\t\tClearComponent,\n\t\tPortalDirective,\n\t\tPresentationDisplayDirective,\n\t\tɵPresentationDisplayDefaultDirective,\n\t],\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\t// Below the `S` breakpoint the panel opens as a dialog in `sheet` mode.\n\t\tprovideLuDialog(),\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\treadonly intl = input(...intlInputOptions(LU_CORE_SELECT_TRANSLATIONS, LU_SIMPLE_SELECT_TRANSLATIONS));\n\n\tvalueID = `value-${++nextID}`;\n\n\treadonly autocomplete = input<AutoFill | null>('off');\n\n\treadonly impersonation = input(false, { transform: luBooleanAttribute });\n\n\treadonly filterPillPanelAnchorRef = 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 || this.impersonation()) {\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 isNotNil(this.value);\n\t}\n\n\toverride enableFilterPillMode() {\n\t\tconst host = this.filterPillPanelAnchorRef();\n\t\tif (host) {\n\t\t\tthis._panelRef = this.panelRefFactory.buildAndAttachPanelRef(this, host);\n\t\t}\n\t\tsuper.enableFilterPillMode();\n\t}\n}\n","<div class=\"simpleSelect-field\">\n\t<span class=\"simpleSelect-field-prefix\">\n\t\t@if (prefix(); as prefix) {\n\t\t\t<ng-container *luPortal=\"prefix\" />\n\t\t}\n\t</span>\n\t@if (bottomSheetMode()) {\n\t\t<!--\n\t\t\tThe panel opens as a modal sheet that embeds its own search input, so the field itself is only ever\n\t\t\ta trigger. Keeping a text input here makes iOS focus it and raise the software keyboard on a field\n\t\t\tthat is about to be covered by the sheet; a button is both what this control actually is and what\n\t\t\tmobile browsers treat as a tap target rather than a text entry.\n\t\t-->\n\t\t<button\n\t\t\tclass=\"simpleSelect-field-input mod-button\"\n\t\t\ttype=\"button\"\n\t\t\taria-haspopup=\"dialog\"\n\t\t\t[attr.aria-expanded]=\"panelOpenSignal()\"\n\t\t\t[attr.aria-controls]=\"ariaControls\"\n\t\t\t[disabled]=\"(disabled$ | async) ?? false\"\n\t\t\tluInput\n\t\t\t#inputElement\n\t\t\t[attr.tabindex]=\"inputTabindex()\"\n\t\t\t[luInputLabelledBy]=\"valueID\"\n\t\t>\n\t\t\t@if (!hasValue()) {\n\t\t\t\t<span class=\"simpleSelect-field-placeholder\">{{ inputPlaceholder ? inputPlaceholder : intl().placeholder }}</span>\n\t\t\t}\n\t\t</button>\n\t} @else {\n\t\t<input\n\t\t\tclass=\"simpleSelect-field-input\"\n\t\t\ttype=\"text\"\n\t\t\trole=\"combobox\"\n\t\t\taria-haspopup=\"listbox\"\n\t\t\t[attr.aria-activedescendant]=\"activeDescendant$ | async\"\n\t\t\t[attr.aria-expanded]=\"panelOpenSignal()\"\n\t\t\t[attr.aria-controls]=\"ariaControls\"\n\t\t\t[attr.placeholder]=\"inputPlaceholder ? inputPlaceholder : intl().placeholder\"\n\t\t\t[ngModel]=\"clue\"\n\t\t\t(ngModelChange)=\"clueChanged($event)\"\n\t\t\t[ngModelOptions]=\"{ standalone: true }\"\n\t\t\t[readonly]=\"!searchable\"\n\t\t\t[disabled]=\"(disabled$ | async) ?? false\"\n\t\t\t(keyup.space)=\"inputSpace($event)\"\n\t\t\tluInput\n\t\t\t#inputElement\n\t\t\t[attr.autocomplete]=\"autocomplete()\"\n\t\t\t[attr.tabindex]=\"inputTabindex()\"\n\t\t\t[luInputLabelledBy]=\"valueID\"\n\t\t/>\n\t}\n\t<div class=\"simpleSelect-field-value\" [attr.id]=\"valueID\">\n\t\t<ng-container *ngTemplateOutlet=\"currentValueDisplayerTpl\" />\n\t</div>\n\t@if (!filterPillMode && !impersonation()) {\n\t\t@if (clearable() && hasValue() && (disabled$ | async) === false) {\n\t\t\t<lu-clear class=\"simpleSelect-field-clear\" (onClear)=\"clearValue($event)\">{{ intl().clear }}</lu-clear>\n\t\t}\n\t\t<lu-icon icon=\"arrowChevronBottom\" class=\"simpleSelect-field-icon\" />\n\t}\n\t<lu-icon icon=\"searchMagnifyingGlass\" class=\"simpleSelect-field-icon mod-search\" />\n</div>\n<ng-container #filterPillPanelAnchor />\n<ng-container *luFilterPillDisplayer>\n\t<ng-container *ngTemplateOutlet=\"currentValueDisplayerTpl\" />\n</ng-container>\n\n<ng-template #currentValueDisplayerTpl>\n\t<ng-container *luOptionOutlet=\"displayerTpl(); value: value\" />\n</ng-template>\n\n@if (!ignorePresentation()) {\n\t<ng-container *luPresentationDisplayDefault>\n\t\t@if (value) {\n\t\t\t<ng-container *ngTemplateOutlet=\"currentValueDisplayerTpl\" />\n\t\t} @else {\n\t\t\t<span aria-hidden=\"true\" data-content-before=\"–\"></span>\n\t\t}\n\t</ng-container>\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["ɵinjectPointerNavigation","ɵgetGroupTemplateLocation","ɵfillScrollViewport","ɵLuOptionComponent","ɵCoreSelectPanelElement","ListboxOptionComponent","ɵLuOptionGroupPipe","ɵopenSelectPanelSheet","ɵLuOptionOutletDirective","ɵPresentationDisplayDefaultDirective"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAO,MAAM,YAAY,GAAG;AAC3B,IAAA,OAAO,EAAE;AACR,QAAA,WAAW,EAAE,gBAAgB;AAC7B,QAAA,KAAK,EAAE,QAAQ;AACf,QAAA,WAAW,EAAE,wBAAwB;AACrC,QAAA,YAAY,EAAE,kDAAkD;AAChE,QAAA,OAAO,EAAE,oBAAoB;AAC7B,QAAA,YAAY,EAAE,0FAA0F;AACxG,KAAA;AACD,IAAA,EAAE,EAAE;AACH,QAAA,WAAW,EAAE,gBAAgB;AAC7B,QAAA,KAAK,EAAE,QAAQ;AACf,QAAA,WAAW,EAAE,wBAAwB;AACrC,QAAA,YAAY,EAAE,kDAAkD;AAChE,QAAA,OAAO,EAAE,oBAAoB;AAC7B,QAAA,YAAY,EAAE,0FAA0F;AACxG,KAAA;AACD,IAAA,EAAE,EAAE;AACH,QAAA,WAAW,EAAE,cAAc;AAC3B,QAAA,KAAK,EAAE,YAAY;AACnB,QAAA,WAAW,EAAE,uBAAuB;AACpC,QAAA,YAAY,EAAE,uCAAuC;AACrD,QAAA,OAAO,EAAE,yBAAyB;AAClC,QAAA,YAAY,EAAE,mFAAmF;AACjG,KAAA;AACD,IAAA,EAAE,EAAE;AACH,QAAA,WAAW,EAAE,eAAe;AAC5B,QAAA,KAAK,EAAE,SAAS;AAChB,QAAA,WAAW,EAAE,oBAAoB;AACjC,QAAA,YAAY,EAAE,2CAA2C;AACzD,QAAA,OAAO,EAAE,wBAAwB;AACjC,QAAA,YAAY,EAAE,0FAA0F;AACxG,KAAA;AACD,IAAA,EAAE,EAAE;AACH,QAAA,WAAW,EAAE,cAAc;AAC3B,QAAA,KAAK,EAAE,QAAQ;AACf,QAAA,WAAW,EAAE,iBAAiB;AAC9B,QAAA,YAAY,EAAE,yCAAyC;AACvD,QAAA,OAAO,EAAE,eAAe;AACxB,QAAA,YAAY,EAAE,+FAA+F;AAC7G,KAAA;AACD,IAAA,EAAE,EAAE;AACH,QAAA,WAAW,EAAE,gBAAgB;AAC7B,QAAA,KAAK,EAAE,UAAU;AACjB,QAAA,WAAW,EAAE,oBAAoB;AACjC,QAAA,YAAY,EAAE,0CAA0C;AACxD,QAAA,OAAO,EAAE,aAAa;AACtB,QAAA,YAAY,EAAE,sGAAsG;AACpH,KAAA;AACD,IAAA,EAAE,EAAE;AACH,QAAA,WAAW,EAAE,eAAe;AAC5B,QAAA,KAAK,EAAE,SAAS;AAChB,QAAA,WAAW,EAAE,cAAc;AAC3B,QAAA,YAAY,EAAE,wCAAwC;AACtD,QAAA,OAAO,EAAE,SAAS;AAClB,QAAA,YAAY,EAAE,mGAAmG;AACjH,KAAA;AACD,IAAA,EAAE,EAAE;AACH,QAAA,WAAW,EAAE,SAAS;AACtB,QAAA,KAAK,EAAE,OAAO;AACd,QAAA,WAAW,EAAE,cAAc;AAC3B,QAAA,YAAY,EAAE,sDAAsD;AACpE,QAAA,OAAO,EAAE,YAAY;AACrB,QAAA,YAAY,EAAE,iFAAiF;AAC/F,KAAA;AACD,IAAA,EAAE,EAAE;AACH,QAAA,WAAW,EAAE,UAAU;AACvB,QAAA,KAAK,EAAE,MAAM;AACb,QAAA,WAAW,EAAE,sBAAsB;AACnC,QAAA,YAAY,EAAE,iDAAiD;AAC/D,QAAA,OAAO,EAAE,iBAAiB;AAC1B,QAAA,YAAY,EAAE,4FAA4F;AAC1G,KAAA;CACD;;MCrEY,6BAA6B,GAAG,IAAI,cAAc,CAAC,4BAA4B,EAAE;AAC7F,IAAA,OAAO,EAAE,MAAM,0BAA0B;AACzC,CAAA;AAWM,MAAM,0BAA0B,GAAwC;;ACdxE,MAAM,mBAAmB,GAAG,IAAI,cAAc,CAAwC,mBAAmB,CAAC;;MCGpG,sBAAsB,CAAA;AAClC,IAAA,SAAS,CAAI,MAAS,EAAE,QAA6B,EAAE,cAAiB,EAAA;QACvE,OAAO,CAAC,CAAC,cAAc,IAAI,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC;IAC5D;8GAHY,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;kBAHlC,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA;AACL,oBAAA,IAAI,EAAE,oBAAoB;AAC1B,iBAAA;;;MC6DY,sBAAsB,CAAA;AAoDlC,IAAA,WAAA,GAAA;AAnDO,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,IAAI,CAAC,WAAW,CAAC,IAAI;AAE1B,QAAA,IAAA,CAAA,iBAAiB,GAAG,IAAI,CAAC,WAAW,CAAC,iBAAiB;AACtD,QAAA,IAAA,CAAA,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,cAAc;AACnD,QAAA,IAAA,CAAA,aAAa,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa;AACrC,QAAA,IAAA,CAAA,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO;AAC3C,QAAA,IAAA,CAAA,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,UAAU;AAC/B,QAAA,IAAA,CAAA,cAAc,GAAG,IAAI,CAAC,WAAW,CAAC,cAAc;AAChD,QAAA,IAAA,CAAA,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,SAAS;AAC/C,QAAA,IAAA,CAAA,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,WAAW;;;AAIzC,QAAA,IAAA,CAAA,YAAY,GAAyB,IAAI,CAAC,WAAW,CAAC,KAAK;AAClD,QAAA,IAAA,CAAA,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,SAAS;QAEtC,IAAA,CAAA,OAAO,GAAG,MAAM,CAA+B,EAAE;oFAAC;QAClD,IAAA,CAAA,iBAAiB,GAAGA,wBAAwB,CAAC,MAAM,CAA0B,UAAU,CAAC,CAAC,aAAa,CAAC;AAEhG,QAAA,IAAA,CAAA,UAAU,GAAG,MAAM,CAA0B,oBAAoB,CAAC;QAElE,IAAA,CAAA,QAAQ,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE;qFAAC;;;;AAKtD,QAAA,IAAA,CAAA,eAAe,GAAG,QAAQ,CAAC,MAAK;AAClD,YAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,EAAE;AAChC,YAAA,OAAO,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,EAAE;QAC5C,CAAC;4FAAC;QAEO,IAAA,CAAA,WAAW,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE;wFAAC;AACxC,QAAA,IAAA,CAAA,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,CAAC;AACtG,QAAA,IAAA,CAAA,sBAAsB,GAAG,IAAI,CAAC,WAAW,CAAC,sBAAsB;AAChE,QAAA,IAAA,CAAA,qBAAqB,GAAGC,yBAAyB,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,iBAAiB,EAAE,IAAI,CAAC,UAAU,CAAC;;AAGrH,QAAA,IAAA,CAAA,YAAY,GAAG,QAAQ,CAAsB,OAAO,IAAI,CAAC,OAAO,EAAE,GAAG,SAAS,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC,MAAM,KAAK,CAAC,GAAG,OAAO,GAAG,IAAI,CAAC;yFAAC;AAEzI,QAAA,IAAA,CAAA,gBAAgB,GAAG,QAAQ,CAAC,MAAK;AACzC,YAAA,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE;AACnB,gBAAA,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC,OAAO;YAC3B;YACA,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,YAAY,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,YAAY;QAChF,CAAC;6FAAC;QAEe,IAAA,CAAA,aAAa,GAAG,SAAS,CAAmC,eAAe,qFAAI,IAAI,EAAE,UAAU,EAAA,CAAG;;;;;AAOlH,QAAAC,mBAAmB,CAAC;AACnB,YAAA,QAAQ,EAAE,QAAQ,CAAC,MAAM,IAAI,CAAC,aAAa,EAAE,EAAE,aAAa,CAAC;AAC7D,YAAA,WAAW,EAAE,QAAQ,CAAC,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC,MAAM,CAAC;YAC5D,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,QAAQ,EAAE,MAAM,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE;AAC7C,SAAA,CAAC;IACH;AAEA,IAAA,QAAQ,CAAC,GAAU,EAAA;QAClB,IAAI,EAAE,GAAG,CAAC,MAAM,YAAY,WAAW,CAAC,EAAE;YACzC;QACD;QAEA,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;QAC9B;IACD;IAEA,eAAe,GAAA;AACd,QAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;YACpB,SAAS,EAAE,IAAI,CAAC,OAAO;YACvB,OAAO,EAAE,IAAI,CAAC,iBAAiB;AAC/B,YAAA,cAAc,EAAE,IAAI,CAAC,cAAc,EAAE;AACrC,YAAA,sBAAsB,EAAE,IAAI,CAAC,QAAQ,CAAC,qBAAqB;AAC3D,YAAA,WAAW,EAAE,IAAI,CAAC,WAAW,CAAC,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,WAAW,GAAG,KAAK;AAC/E,SAAA,CAAC;AAEF,QAAA,IAAI,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE;YAC1D,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,IAAI,CAAC,YAAY,CAAC;QACnD;IACD;8GAvFY,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,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,kBAAA,EAAA,cAAA,EAAA,4BAAA,EAAA,qBAAA,EAAA,EAAA,cAAA,EAAA,aAAA,EAAA,EAAA,SAAA,EARvB;YACV,oBAAoB;AACpB,YAAA;AACC,gBAAA,OAAO,EAAE,qBAAqB;AAC9B,gBAAA,WAAW,EAAE,UAAU,CAAC,MAAM,sBAAsB,CAAC;AACrD,aAAA;AACD,SAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,eAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,eAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,IAAA,EAoDqG,UAAU,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECpHjH,klLAsIA,EAAA,MAAA,EAAA,CAAA,quCAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,ED7FE,4BAA4B,EAAA,QAAA,EAAA,wBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,WAAA,EAAA,iBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAC5B,eAAe,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,mBAAA,EAAA,sBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACf,qBAAqB,+EACrB,sBAAsB,EAAA,QAAA,EAAA,mBAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACtB,WAAW,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,wSAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,qDAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,SAAA,EAAA,gBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,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,WAAA,EAAA,IAAA,EAEhBC,kBAAkB,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,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,WAAA,EAAA,IAAA,EAElB,eAAe,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,iBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACfC,uBAAuB,EAAA,QAAA,EAAA,4BAAA,EAAA,MAAA,EAAA,CAAA,WAAA,EAAA,YAAA,EAAA,QAAA,EAAA,UAAA,CAAA,EAAA,OAAA,EAAA,CAAA,kBAAA,EAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,0BAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACvB,gBAAgB,2GAChBC,eAAsB,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,CAAA,WAAA,EAAA,SAAA,EAAA,OAAA,EAAA,UAAA,EAAA,SAAA,EAAA,KAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,WAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACtB,aAAa,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,KAAA,EAAA,MAAA,EAAA,OAAA,EAAA,IAAA,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,EARnBC,kBAAkB,EAAA,IAAA,EAAA,eAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAElB,sBAAsB,sDAOtB,eAAe,EAAA,IAAA,EAAA,eAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;2FAUJ,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBApClC,SAAS;AACC,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,iBAAiB,EAAA,eAAA,EAGV,uBAAuB,CAAC,MAAM,EAAA,IAAA,EACzC;AACL,wBAAA,KAAK,EAAE,aAAa;AACpB,wBAAA,oBAAoB,EAAE,cAAc;AACpC,wBAAA,8BAA8B,EAAE,qBAAqB;qBACrD,EAAA,OAAA,EACQ;wBACR,4BAA4B;wBAC5B,eAAe;wBACf,qBAAqB;wBACrB,sBAAsB;wBACtB,WAAW;wBACX,gBAAgB;wBAChBA,kBAAkB;wBAClBH,kBAAkB;wBAClB,sBAAsB;wBACtB,eAAe;wBACfC,uBAAuB;wBACvB,gBAAgB;wBAChBC,eAAsB;wBACtB,aAAa;wBACb,mBAAmB;wBACnB,eAAe;qBACf,EAAA,SAAA,EACU;wBACV,oBAAoB;AACpB,wBAAA;AACC,4BAAA,OAAO,EAAE,qBAAqB;AAC9B,4BAAA,WAAW,EAAE,UAAU,CAAC,4BAA4B,CAAC;AACrD,yBAAA;AACD,qBAAA,EAAA,QAAA,EAAA,klLAAA,EAAA,MAAA,EAAA,CAAA,quCAAA,CAAA,EAAA;AAoD4E,SAAA,CAAA,EAAA,cAAA,EAAA,MAAA,EAAA,EAAA,cAAA,EAAA,EAAA,aAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,SAAA,EAAA,IAAA,EAAA,CAAA,eAAe,EAAA,EAAA,GAAE,EAAE,IAAI,EAAE,UAAU,EAAE,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,EAAA,EAAA,CAAA;;AEzGnH,MAAe,kBAAsB,SAAQ,gBAAsB,CAAA;IAQlE,WAAA,CACC,cAAwB,EACd,WAA4C,EAAA;AAEtD,QAAA,KAAK,EAAE;QAFG,IAAA,CAAA,WAAW,GAAX,WAAW;QAIrB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,cAAc,CAAC;IACtE;IAEU,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;IACH;AAES,IAAA,qBAAqB,CAAC,KAAoB,EAAA;QAClD,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,SAAS,CAAC,KAAK,CAAC;IAC1C;AAEA,IAAA,SAAS,CAAC,KAAQ,EAAA;AACjB,QAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC;QAC7B,IAAI,CAAC,KAAK,EAAE;IACb;IAEA,+BAA+B,GAAA;QAC9B,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,UAAU,EAAE,QAAQ,CAAC,IAAI,EAAE;IACrD;AACA;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,IAAA,CAAA,UAAU,GAAV,UAAU;AAKlB,QAAA,IAAI,CAAC,QAAQ,GAAG,UAAU,CAAC,MAAM,CAAC,IAAI,eAAe,CAA4B,sBAAsB,EAAE,SAAS,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;QACxI,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;IAChC;IAES,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;IAC9B;IAEA,cAAc,GAAA;AACb,QAAA,IAAI,CAAC,UAAU,CAAC,cAAc,EAAE;IACjC;AACA;AAED,MAAM,mBAAuB,SAAQ,kBAAqB,CAAA;AAOzD,IAAA,WAAA,CAAY,aAA8B,EAAE,cAAwB,EAAE,WAA4C,EAAA;AACjH,QAAA,KAAK,CAAC,cAAc,EAAE,WAAW,CAAC;;;QAH3B,IAAA,CAAA,YAAY,GAAG,KAAK;QAK3B,MAAM,cAAc,GAAoC,sBAAsB;AAE9E,QAAA,IAAI,CAAC,SAAS,GAAGE,qBAAqB,CAAC,aAAa,EAAE,cAAc,EAAE,IAAI,CAAC,aAAa,EAAE,WAAW,CAAC,UAAU,EAAE,CAAC;QACnH,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,YAAa;QACnD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ;AAEtC,QAAA,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,MAAK;AAClE,YAAA,IAAI,CAAC,YAAY,GAAG,IAAI;YACxB,IAAI,CAAC,KAAK,EAAE;AACb,QAAA,CAAC,CAAC;IACH;IAEA,cAAc,GAAA;;IAEd;IAES,KAAK,GAAA;QACb,KAAK,CAAC,KAAK,EAAE;AAEb,QAAA,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE;AACvB,YAAA,IAAI,CAAC,YAAY,GAAG,IAAI;AACxB,YAAA,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE;QACzB;;IAED;AACA;AAED,MAAM,qBAAyB,SAAQ,kBAAqB,CAAA;AAC3D,IAAA,WAAA,CAAY,IAAsB,EAAE,cAAwB,EAAE,WAA4C,EAAA;AACzG,QAAA,KAAK,CAAC,cAAc,EAAE,WAAW,CAAC;QAElC,MAAM,cAAc,GAAoC,sBAAsB;QAE9E,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,cAAc,EAAE;YACpD,QAAQ,EAAE,IAAI,CAAC,aAAa;AAC5B,SAAA,CAAC;QACF,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ;IACvC;IAES,cAAc,GAAA;;IAEvB;IAES,KAAK,GAAA;AACb,QAAA,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE;IACnB;AACA;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;AACjC,QAAA,IAAA,CAAA,aAAa,GAAG,MAAM,CAAC,eAAe,CAAC;AACzC,QAAA,IAAA,CAAA,aAAa,GAAG,MAAM,CAAC,eAAe,CAAC;AACvC,QAAA,IAAA,CAAA,QAAQ,GAAG,MAAM,CAAC,SAAS,CAAC;AA6DpC,IAAA;AA3DA,IAAA,aAAa,CAAI,WAA4C,EAAE,qBAAA,GAAuC,EAAE,EAAA;AACvG,QAAA,IAAI,WAAW,CAAC,eAAe,EAAE,EAAE;AAClC,YAAA,OAAO,IAAI,mBAAmB,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,cAAc,EAAE,WAAW,CAAC;QACrF;QAEA,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;IACxE;IAEA,sBAAsB,CAAI,WAA4C,EAAE,IAAsB,EAAA;QAC7F,OAAO,IAAI,qBAAqB,CAAC,IAAI,EAAE,IAAI,CAAC,cAAc,EAAE,WAAW,CAAC;IACzE;IAEU,kBAAkB,CAAC,wBAAuC,EAAE,EAAA;AACrE,QAAA,MAAM,aAAa,GAAkB,qBAAqB,IAAI,EAAE;AAChE,QAAA,aAAa,CAAC,gBAAgB,GAAG,IAAI,CAAC;AACpC,aAAA,mBAAmB,CAAC,IAAI,CAAC,UAAU;;;;aAInC,iBAAiB,CAAC,IAAI;aACtB,kBAAkB,CAAC,0BAA0B,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE,CAAC,CAAC;AAC/E,aAAA,aAAa,CAAC;AACd,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;QACH,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;IACrB;8GApEY,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;;;AC5HD,IAAI,MAAM,GAAG,CAAC;AA+CR,MAAO,4BAAgC,SAAQ,uBAA6B,CAAA;AA7ClF,IAAA,WAAA,GAAA;;QA8CU,IAAA,CAAA,IAAI,GAAG,KAAK,CAAC,GAAG,gBAAgB,CAAC,2BAA2B,EAAE,6BAA6B,CAAC;iFAAC;AAEtG,QAAA,IAAA,CAAA,OAAO,GAAG,CAAA,MAAA,EAAS,EAAE,MAAM,EAAE;QAEpB,IAAA,CAAA,YAAY,GAAG,KAAK,CAAkB,KAAK;yFAAC;QAE5C,IAAA,CAAA,aAAa,GAAG,KAAK,CAAC,KAAK,qFAAI,SAAS,EAAE,kBAAkB,EAAA,CAAG;QAE/D,IAAA,CAAA,wBAAwB,GAAG,SAAS,CAAC,uBAAuB,gGAAI,IAAI,EAAE,gBAAgB,EAAA,CAAG;AAExF,QAAA,IAAA,CAAA,eAAe,GAAG,MAAM,CAAC,6BAA6B,CAAC;AA0BjE,IAAA;IAxBU,aAAa,GAAA;AACtB,QAAA,OAAO,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,aAAa,EAAE,CAAC;IACtE;AAEA,IAAA,UAAU,CAAC,KAAY,EAAA;QACtB,IAAI,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,aAAa,EAAE,EAAE;YAChD,IAAI,IAAI,CAAC,IAAI,EAAE,MAAM,KAAK,CAAC,EAAE;gBAC5B,KAAK,CAAC,cAAc,EAAE;AACtB,gBAAA,IAAI,CAAC,QAAQ,EAAE,+BAA+B,EAAE;YACjD;QACD;IACD;IAEU,QAAQ,GAAA;AACjB,QAAA,OAAO,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC;IAC5B;IAES,oBAAoB,GAAA;AAC5B,QAAA,MAAM,IAAI,GAAG,IAAI,CAAC,wBAAwB,EAAE;QAC5C,IAAI,IAAI,EAAE;AACT,YAAA,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,eAAe,CAAC,sBAAsB,CAAC,IAAI,EAAE,IAAI,CAAC;QACzE;QACA,KAAK,CAAC,oBAAoB,EAAE;IAC7B;8GApCY,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,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,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,aAAA,EAAA,EAAA,iBAAA,EAAA,eAAA,EAAA,UAAA,EAAA,eAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,sBAAA,EAAA,8CAAA,EAAA,yBAAA,EAAA,sBAAA,EAAA,EAAA,cAAA,EAAA,cAAA,EAAA,EAAA,SAAA,EArB7B;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;;AAE7B,YAAA,eAAe,EAAE;AACjB,YAAA,2BAA2B,EAAE;AAC7B,YAAA;AACC,gBAAA,OAAO,EAAE,2BAA2B;AACpC,gBAAA,WAAW,EAAE,UAAU,CAAC,MAAM,4BAA4B,CAAC;AAC3D,aAAA;SACD,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,0BAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,uBAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,IAAA,EAY8E,gBAAgB,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECtEhG,qlGAiFA,EAAA,MAAA,EAAA,CAAA,q6VAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EDrDEC,wBAAwB,mIACxB,aAAa,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACb,WAAW,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,wSAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,qDAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,SAAA,EAAA,gBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACX,cAAc,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,mBAAA,EAAA,mBAAA,EAAA,oBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACd,4BAA4B,EAAA,QAAA,EAAA,yBAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAC5B,gBAAgB,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,EAAA,0BAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAChB,aAAa,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,KAAA,EAAA,MAAA,EAAA,OAAA,EAAA,IAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACb,cAAc,iKACd,eAAe,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,iBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAEfC,oCAAoC,EAAA,QAAA,EAAA,gCAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAXpC,SAAS,EAAA,IAAA,EAAA,OAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;2FAkCE,4BAA4B,EAAA,UAAA,EAAA,CAAA;kBA7CxC,SAAS;AACC,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,kBAAkB,EAAA,IAAA,EAGtB;AACL,wBAAA,KAAK,EAAE,cAAc;AACrB,wBAAA,wBAAwB,EAAE,8CAA8C;AACxE,wBAAA,2BAA2B,EAAE,sBAAsB;qBACnD,EAAA,eAAA,EACgB,uBAAuB,CAAC,MAAM,EAAA,OAAA,EACtC;wBACR,SAAS;wBACTD,wBAAwB;wBACxB,aAAa;wBACb,WAAW;wBACX,cAAc;wBACd,4BAA4B;wBAC5B,gBAAgB;wBAChB,aAAa;wBACb,cAAc;wBACd,eAAe;wBACf,4BAA4B;wBAC5BC,oCAAoC;qBACpC,EAAA,SAAA,EACU;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;;AAE7B,wBAAA,eAAe,EAAE;AACjB,wBAAA,2BAA2B,EAAE;AAC7B,wBAAA;AACC,4BAAA,OAAO,EAAE,2BAA2B;AACpC,4BAAA,WAAW,EAAE,UAAU,CAAC,kCAAkC,CAAC;AAC3D,yBAAA;qBACD,EAAA,aAAA,EACc,iBAAiB,CAAC,IAAI,EAAA,QAAA,EAAA,qlGAAA,EAAA,MAAA,EAAA,CAAA,q6VAAA,CAAA,EAAA;AAWS,SAAA,CAAA,EAAA,cAAA,EAAA,EAAA,IAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,MAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,cAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,aAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,eAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,wBAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,SAAA,EAAA,IAAA,EAAA,CAAA,uBAAuB,EAAA,EAAA,GAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,EAAA,EAAA,CAAA;;AEtElG;;AAEG;;"}
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\t'nl-BE': {\n\t\tplaceholder: 'Selecteren ...',\n\t\tclear: 'Wissen',\n\t\tclearSearch: 'Zoekopdracht leegmaken',\n\t\temptyResults: 'Uw zoekopdracht heeft geen resultaat opgeleverd.',\n\t\tloading: 'Bezig met laden...',\n\t\temptyOptions: 'Er zijn geen waarden beschikbaar. Neem contact op met uw beheerder voor meer informatie.',\n\t},\n\tnl: {\n\t\tplaceholder: 'Selecteren ...',\n\t\tclear: 'Wissen',\n\t\tclearSearch: 'Zoekopdracht leegmaken',\n\t\temptyResults: 'Uw zoekopdracht heeft geen resultaat opgeleverd.',\n\t\tloading: 'Bezig met laden...',\n\t\temptyOptions: 'Er zijn geen waarden beschikbaar. Neem contact op met uw beheerder voor meer informatie.',\n\t},\n\tit: {\n\t\tplaceholder: 'Selezionare…',\n\t\tclear: 'Cancellare',\n\t\tclearSearch: 'Cancellare la ricerca',\n\t\temptyResults: 'La ricerca non ha prodotto risultati.',\n\t\tloading: 'Caricamento in corso...',\n\t\temptyOptions: 'Nessun valore è disponibile. Contatta l’amministratore per maggiori informazioni.',\n\t},\n\tfr: {\n\t\tplaceholder: 'Sélectionner…',\n\t\tclear: 'Effacer',\n\t\tclearSearch: 'Vider la recherche',\n\t\temptyResults: \"Votre recherche n'a donné aucun résultat.\",\n\t\tloading: 'Chargement en cours...',\n\t\temptyOptions: \"Aucune valeur n'est disponible. Contactez votre administrateur pour plus d'informations.\",\n\t},\n\tpt: {\n\t\tplaceholder: 'Selecionar..',\n\t\tclear: 'Limpar',\n\t\tclearSearch: 'Limpar pesquisa',\n\t\temptyResults: 'A sua pesquisa não produziu resultados.',\n\t\tloading: 'Carregando...',\n\t\temptyOptions: 'Não existe nenhum valor disponível. Contacte o seu administrador para obter mais informações.',\n\t},\n\tes: {\n\t\tplaceholder: 'Seleccionar...',\n\t\tclear: 'Eliminar',\n\t\tclearSearch: 'Vaciar la búsqueda',\n\t\temptyResults: 'La búsqueda no ha dado ningún resultado.',\n\t\tloading: 'Cargando...',\n\t\temptyOptions: 'No hay ningún valor disponible. Ponte en contacto con tu administrador para obtener más información.',\n\t},\n\tde: {\n\t\tplaceholder: 'Auswählen ...',\n\t\tclear: 'Löschen',\n\t\tclearSearch: 'Suche leeren',\n\t\temptyResults: 'Ihre Suche hat keinen Treffer ergeben.',\n\t\tloading: 'Lädt...',\n\t\temptyOptions: 'Es ist kein Wert verfügbar. Wenden Sie sich für weitere Informationen an Ihre:n Administrator:in.',\n\t},\n\ten: {\n\t\tplaceholder: 'Select…',\n\t\tclear: 'Clear',\n\t\tclearSearch: 'Clear search',\n\t\temptyResults: 'We couldn’t find any results that match your search.',\n\t\tloading: 'Loading...',\n\t\temptyOptions: 'There are no values available. Contact your administrator for more information.',\n\t},\n\tpl: {\n\t\tplaceholder: 'Wybierz…',\n\t\tclear: 'Usuń',\n\t\tclearSearch: 'Wyczyść wyszukiwanie',\n\t\temptyResults: 'Wyszukiwanie nie przyniosło żadnych rezultatów.',\n\t\tloading: 'Trwa ładowanie…',\n\t\temptyOptions: 'Brak dostępnych wartości. Aby uzyskać więcej informacji, skontaktuj się z administratorem.',\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\temptyOptions: 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})\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 { NgTemplateOutlet } from '@angular/common';\nimport { AfterViewInit, ChangeDetectionStrategy, Component, computed, ElementRef, forwardRef, inject, signal, viewChild } from '@angular/core';\nimport { toSignal } from '@angular/core/rxjs-interop';\nimport { FormsModule } from '@angular/forms';\nimport { isNotNil, PortalDirective } from '@lucca-front/ng/core';\nimport {\n\tCoreSelectKeyManager,\n\tCoreSelectPanelInstance,\n\tLuSelectPanelLayoutComponent,\n\tLuSelectPanelRef,\n\tSELECT_ID,\n\tSELECT_PANEL_INSTANCE,\n\tTreeDisplayPipe,\n\tɵCoreSelectPanelElement,\n\tɵfillScrollViewport,\n\tɵgetGroupTemplateLocation,\n\tɵinjectPointerNavigation,\n\tɵLuOptionComponent,\n\tɵLuOptionGroupPipe,\n} from '@lucca-front/ng/core-select';\nimport { DialogComponent, DialogContentComponent, DialogHeaderComponent } from '@lucca-front/ng/dialog';\nimport { IconComponent } from '@lucca-front/ng/icon';\nimport { ListboxComponent, ListboxState, OptionComponent as ListboxOptionComponent } from '@lucca-front/ng/listbox';\nimport { TreeBranchComponent } from '@lucca-front/ng/tree-select';\nimport { EMPTY } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { LuSimpleSelectInputComponent } from '../input/select-input.component';\nimport { SIMPLE_SELECT_INPUT } from '../select.model';\nimport { LuIsOptionSelectedPipe } from './option-selected.pipe';\n\n@Component({\n\tselector: 'lu-select-panel',\n\ttemplateUrl: './panel.component.html',\n\tstyleUrl: './panel.component.scss',\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\thost: {\n\t\tclass: 'selectPanel',\n\t\t'[class.colorPanel]': 'colorPanel()',\n\t\t'[class.is-pointerNavigation]': 'pointerNavigation()',\n\t},\n\timports: [\n\t\tLuSelectPanelLayoutComponent,\n\t\tDialogComponent,\n\t\tDialogHeaderComponent,\n\t\tDialogContentComponent,\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\tListboxComponent,\n\t\tListboxOptionComponent,\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 = this.selectInput.intl;\n\n\treadonly dataSourceOptions = this.selectInput.dataSourceOptions;\n\treadonly grouping = this.selectInput.groupingSignal;\n\ttreeGenerator = this.selectInput.treeGenerator;\n\treadonly loading = this.selectInput.loading;\n\tsearchable = this.selectInput.searchable;\n\treadonly optionComparer = this.selectInput.optionComparer;\n\treadonly optionKey = this.selectInput.optionKey;\n\tcolorPanel = this.selectInput.colorPicker;\n\n\t// `undefined` despite the select's own type when the control was written with no value,\n\t// and the key manager forwards it to the public option comparer, which only accepts options\n\tinitialValue: T | null | undefined = this.selectInput.value;\n\treadonly optionTpl = this.selectInput.optionTpl;\n\n\treadonly options = signal<ɵCoreSelectPanelElement<T>[]>([]);\n\treadonly pointerNavigation = ɵinjectPointerNavigation(inject<ElementRef<HTMLElement>>(ElementRef).nativeElement);\n\n\tpublic readonly keyManager = inject<CoreSelectKeyManager<T>>(CoreSelectKeyManager);\n\n\tpublic readonly selected = computed(() => this.selectInput.valueSignal());\n\n\t// Kept free of nil so it doesn't widen `TreeBranchComponent`'s generic, which would in turn\n\t// make its `toggleOne` output nullable and force a guard on `emitValue` — and so the public\n\t// option comparer, which only accepts options, never receives an empty value.\n\tprotected readonly selectedOptions = computed(() => {\n\t\tconst selected = this.selected();\n\t\treturn isNotNil(selected) ? [selected] : [];\n\t});\n\n\treadonly hasGrouping = computed(() => !!this.grouping());\n\tpublic readonly clue = toSignal(this.selectInput.clue$.pipe(map((clue) => clue ?? '')), { initialValue: '' });\n\tpublic shouldDisplayAddOption = this.selectInput.shouldDisplayAddOption;\n\tpublic groupTemplateLocation = ɵgetGroupTemplateLocation(this.hasGrouping, this.clue, this.dataSourceOptions, this.searchable);\n\n\t// Loading takes precedence over empty so the \"no result\" message never flashes during a fetch\n\treadonly listboxState = computed<ListboxState | null>(() => (this.loading() ? 'loading' : this.dataSourceOptions().length === 0 ? 'empty' : null));\n\n\treadonly listboxStatusMsg = computed(() => {\n\t\tif (this.loading()) {\n\t\t\treturn this.intl().loading;\n\t\t}\n\t\treturn this.clue().length ? this.intl().emptyResults : this.intl().emptyOptions;\n\t});\n\n\tprivate readonly sheetViewport = viewChild<unknown, ElementRef<HTMLElement>>('sheetViewport', { read: ElementRef });\n\n\tconstructor() {\n\t\t// Only the sheet needs the viewport filled by hand: it is sized to its own content, so a first\n\t\t// page that doesn't reach its maximum height leaves nothing to scroll and `onScroll` — the only\n\t\t// thing that asks for the next page — never fires. The popover panel caps its content at 20rem,\n\t\t// which a page of options always overflows, so there it already works on its own.\n\t\tɵfillScrollViewport({\n\t\t\tviewport: computed(() => this.sheetViewport()?.nativeElement),\n\t\t\toptionCount: computed(() => this.dataSourceOptions().length),\n\t\t\tloading: this.loading,\n\t\t\tnextPage: () => this.panelRef.nextPage.emit(),\n\t\t});\n\t}\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.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.dataSourceOptions,\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 (isNotNil(this.initialValue) && !this.selectInput.clue) {\n\t\t\tthis.keyManager.highlightOption(this.initialValue);\n\t\t}\n\t}\n}\n","@if (selectInput.panelBottomSheetMode()) {\n\t<!-- Below the S breakpoint the panel is a dialog in `sheet` mode: the surface, the backdrop, the focus\n\ttrap, the close button and the focus restoration all come from the dialog, so the panel only fills in\n\tits title, its own search input — the field it covers is no longer reachable — and its content. -->\n\t<lu-dialog>\n\t\t<lu-dialog-header>\n\t\t\t@if (selectInput.panelTitle(); as title) {\n\t\t\t\t<!-- The interpolation and the marker must stay adjacent in the source: any whitespace between\n\t\t\t\tthem (even just a line break) renders as a literal space, pushing the asterisk away from the\n\t\t\t\ttitle instead of hugging it the way `.formLabel-required`'s own margin expects. -->\n\t\t\t\t@if (selectInput.panelTitleRequired()) {\n\t\t\t\t\t<h1>{{ title }}<sup class=\"formLabel-required\" aria-hidden=\"true\">*</sup></h1>\n\t\t\t\t} @else {\n\t\t\t\t\t<h1>{{ title }}</h1>\n\t\t\t\t}\n\t\t\t}\n\t\t\t<div dialogHeaderContent>\n\t\t\t\t<ng-container [ngTemplateOutlet]=\"sheetSearch\" />\n\t\t\t</div>\n\t\t</lu-dialog-header>\n\t\t<lu-dialog-content #sheetViewport (scroll)=\"onScroll($event)\">\n\t\t\t<ng-container [ngTemplateOutlet]=\"panelContent\" />\n\t\t</lu-dialog-content>\n\t</lu-dialog>\n} @else {\n\t<lu-select-panel-layout [loading]=\"loading()\" trapFocus (scrolled)=\"onScroll($event)\">\n\t\t<ng-container [ngTemplateOutlet]=\"panelContent\" />\n\t</lu-select-panel-layout>\n}\n\n<ng-template #sheetSearch>\n\t<!-- A select with no search has nothing to type into, so its field is masked rather than rendered as a\n\tdead read-only input. It stays in the DOM: it carries the combobox semantics, it is the element\n\t`openSelectPanelSheet` focuses, and its `keydown` handler is what drives keyboard navigation. -->\n\t<div class=\"textField\" [class.pr-u-mask]=\"!searchable\">\n\t\t<div class=\"textField-input\">\n\t\t\t<input\n\t\t\t\tclass=\"textField-input-value\"\n\t\t\t\ttype=\"text\"\n\t\t\t\trole=\"combobox\"\n\t\t\t\taria-haspopup=\"listbox\"\n\t\t\t\t[attr.aria-expanded]=\"true\"\n\t\t\t\t[attr.aria-controls]=\"selectId\"\n\t\t\t\t[attr.placeholder]=\"intl().placeholder\"\n\t\t\t\t[ngModel]=\"clue()\"\n\t\t\t\t(ngModelChange)=\"selectInput.clueChanged($event)\"\n\t\t\t\t[ngModelOptions]=\"{ standalone: true }\"\n\t\t\t\t[readonly]=\"!searchable\"\n\t\t\t\t(keydown)=\"selectInput.onKeyDownNavigation($event)\"\n\t\t\t/>\n\t\t\t<div class=\"textField-input-affix\">\n\t\t\t\t<lu-icon class=\"textField-input-affix-icon\" icon=\"searchMagnifyingGlass\" />\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</ng-template>\n\n<ng-template #panelContent>\n\t<lu-listbox [tree]=\"!!treeGenerator\" [state]=\"listboxState()\" [statusMsg]=\"listboxStatusMsg()\">\n\t\t<!-- The header is projected inside the listbox because it can contain selectable elements\n\t\tthat are referenced by aria-activedescendant -->\n\t\t<ng-container ngProjectAs=\"[listbox-header]\">\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</ng-container>\n\t\t@if (grouping() && groupTemplateLocation() === \"group-header\") {\n\t\t\t@for (group of dataSourceOptions() | luOptionGroup: grouping().selector; track group.key; let groupIndex = $index) {\n\t\t\t\t<lu-listbox-option group [groupId]=\"selectId + '-group-' + group.key\" [elementId]=\"selectId + '-group-' + group.key\">\n\t\t\t\t\t<ng-container *luPortal=\"grouping().content; context: { $implicit: group }\" />\n\t\t\t\t\t<div optgroup class=\"listboxOptionWrapper\">\n\t\t\t\t\t\t<ng-template\n\t\t\t\t\t\t\t[ngTemplateOutlet]=\"optionsList\"\n\t\t\t\t\t\t\t[ngTemplateOutletContext]=\"{ $implicit: group.options, groupIndex: groupIndex }\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t</lu-listbox-option>\n\t\t\t}\n\t\t}\n\t\t@if (!grouping() || groupTemplateLocation() !== \"group-header\") {\n\t\t\t<ng-template [ngTemplateOutlet]=\"optionsList\" [ngTemplateOutletContext]=\"{ $implicit: dataSourceOptions() }\" />\n\t\t}\n\t\t<ng-template #optionsList let-options let-groupIndex=\"groupIndex\">\n\t\t\t@if (treeGenerator) {\n\t\t\t\t@for (branch of options | luTreeDisplay: treeGenerator; let index = $index; track optionKey()(branch.node)) {\n\t\t\t\t\t<lu-tree-branch\n\t\t\t\t\t\t[branch]=\"branch\"\n\t\t\t\t\t\t[optionTpl]=\"optionTpl()\"\n\t\t\t\t\t\t[optionComparer]=\"optionComparer()\"\n\t\t\t\t\t\t[selectedOptions]=\"selectedOptions()\"\n\t\t\t\t\t\t[optionIndex]=\"index\"\n\t\t\t\t\t\t(toggleOne)=\"panelRef.emitValue($event)\"\n\t\t\t\t\t\tsimpleMode\n\t\t\t\t\t/>\n\t\t\t\t}\n\t\t\t} @else {\n\t\t\t\t@for (option of options; track optionKey()(option); let index = $index) {\n\t\t\t\t\t<lu-select-option\n\t\t\t\t\t\tluCoreSelectPanelElement\n\t\t\t\t\t\t[option]=\"option\"\n\t\t\t\t\t\t[optionTpl]=\"optionTpl()\"\n\t\t\t\t\t\t[optionIndex]=\"index\"\n\t\t\t\t\t\t[groupTemplateLocation]=\"groupTemplateLocation()\"\n\t\t\t\t\t\t[groupIndex]=\"groupIndex\"\n\t\t\t\t\t\t[grouping]=\"grouping()\"\n\t\t\t\t\t\t[scrollIntoViewOptions]=\"{ block: 'nearest' }\"\n\t\t\t\t\t\t[isSelected]=\"option | luIsOptionSelected: optionComparer() : selected()\"\n\t\t\t\t\t\t[class.withAddOption]=\"shouldDisplayAddOption()\"\n\t\t\t\t\t\t(selected)=\"panelRef.emitValue(option)\"\n\t\t\t\t\t\t(click)=\"panelRef.emitValue(option)\"\n\t\t\t\t\t/>\n\t\t\t\t}\n\t\t\t}\n\t\t</ng-template>\n\t</lu-listbox>\n\t@if (shouldDisplayAddOption()) {\n\t\t<lu-listbox-option\n\t\t\tadd\n\t\t\tclass=\"palette-product\"\n\t\t\tluCoreSelectPanelElement\n\t\t\t#addOptionElement=\"luCoreSelectPanelElement\"\n\t\t\telementId=\"picker-content-add\"\n\t\t\t[hovered]=\"addOptionElement.isHighlighted()\"\n\t\t\t(click)=\"selectInput.emitAddOption()\"\n\t\t\t(selected)=\"selectInput.emitAddOption()\"\n\t\t>\n\t\t\t<ng-container *luPortal=\"selectInput.addOptionLabel\" />\n\t\t</lu-listbox-option>\n\t}\n\t@if (selectInput.panelFooterTpl(); as tpl) {\n\t\t<div>\n\t\t\t<ng-container *luPortal=\"tpl\" />\n\t\t</div>\n\t}\n</ng-template>\n","import { Overlay, OverlayConfig, OverlayPositionBuilder, OverlayRef, ScrollStrategyOptions } from '@angular/cdk/overlay';\nimport { ComponentPortal } from '@angular/cdk/portal';\nimport { ComponentRef, ElementRef, inject, Injectable, Injector, Type, ViewContainerRef } from '@angular/core';\nimport { getPushPanelViewportMargin } from '@lucca-front/ng/core';\nimport { addAttributesOnCdkContainer, LuSelectPanelRef, SELECT_ID, SELECT_LABEL_ID, ɵopenSelectPanelSheet } from '@lucca-front/ng/core-select';\nimport { LuDialogRef, LuDialogService } from '@lucca-front/ng/dialog';\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\t/** Carries this ref and the select input down to the panel, however it ends up being rendered. */\n\tprotected readonly panelInjector: Injector;\n\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.panelInjector = 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(new ComponentPortal<LuSelectPanelComponent<T>>(LuSelectPanelComponent, undefined, this.panelInjector));\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 SelectPanelSheetRef<T> extends BaseSelectPanelRef<T> {\n\tprivate readonly dialogRef: LuDialogRef<LuSelectPanelComponent<T>, never>;\n\n\t// The sheet can be closed from either side (a selection here, the backdrop/Escape/close button there);\n\t// this keeps the two from bouncing the close back at each other.\n\tprivate dialogClosed = false;\n\n\tconstructor(dialogService: LuDialogService, parentInjector: Injector, selectInput: LuSimpleSelectInputComponent<T>) {\n\t\tsuper(parentInjector, selectInput);\n\n\t\tconst panelComponent: Type<LuSelectPanelComponent<T>> = LuSelectPanelComponent;\n\n\t\tthis.dialogRef = ɵopenSelectPanelSheet(dialogService, panelComponent, this.panelInjector, selectInput.panelTitle());\n\t\tthis.panelRef = this.dialogRef.cdkRef.componentRef!;\n\t\tthis.instance = this.panelRef.instance;\n\n\t\tthis.dialogRef.closed$.pipe(takeUntil(this.closed)).subscribe(() => {\n\t\t\tthis.dialogClosed = true;\n\t\t\tthis.close();\n\t\t});\n\t}\n\n\tupdatePosition(): void {\n\t\t// The sheet is pinned to the viewport, it never follows the field.\n\t}\n\n\toverride close(): void {\n\t\tsuper.close();\n\n\t\tif (!this.dialogClosed) {\n\t\t\tthis.dialogClosed = true;\n\t\t\tthis.dialogRef.dismiss();\n\t\t}\n\t\t// Focus goes back to the field through the dialog's own `restoreFocus`.\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\n\t\tconst panelComponent: Type<LuSelectPanelComponent<T>> = LuSelectPanelComponent;\n\n\t\tthis.panelRef = host.createComponent(panelComponent, {\n\t\t\tinjector: this.panelInjector,\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\tprotected dialogService = inject(LuDialogService);\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\tif (selectInput.bottomSheetMode()) {\n\t\t\treturn new SelectPanelSheetRef(this.dialogService, this.parentInjector, selectInput);\n\t\t}\n\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\n\t\t\t.flexibleConnectedTo(this.elementRef)\n\t\t\t// Options usually arrive after the panel has been opened: without this, every reposition is\n\t\t\t// capped to the bounding box computed while the panel was still empty, so a panel opened in a\n\t\t\t// tight space below the field can never grow nor flip above once its options are there.\n\t\t\t.withGrowAfterOpen(true)\n\t\t\t.withViewportMargin(getPushPanelViewportMargin(this.elementRef.nativeElement, 8))\n\t\t\t.withPositions([\n\t\t\t\t{\n\t\t\t\t\toriginX: 'start',\n\t\t\t\t\toriginY: 'bottom',\n\t\t\t\t\toverlayX: 'start',\n\t\t\t\t\toverlayY: 'top',\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\toriginX: 'end',\n\t\t\t\t\toriginY: 'bottom',\n\t\t\t\t\toverlayX: 'end',\n\t\t\t\t\toverlayY: 'top',\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\toriginX: 'start',\n\t\t\t\t\toriginY: 'top',\n\t\t\t\t\toverlayX: 'start',\n\t\t\t\t\toverlayY: 'bottom',\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\toriginX: 'end',\n\t\t\t\t\toriginY: 'top',\n\t\t\t\t\toverlayX: 'end',\n\t\t\t\t\toverlayY: 'bottom',\n\t\t\t\t},\n\t\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, inject, input, viewChild, ViewContainerRef, ViewEncapsulation } from '@angular/core';\nimport { ControlValueAccessor, FormsModule, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { ClearComponent } from '@lucca-front/ng/clear';\nimport { intlInputOptions, isNotNil, luBooleanAttribute, PortalDirective } from '@lucca-front/ng/core';\nimport { ALuSelectInputComponent, LU_CORE_SELECT_TRANSLATIONS, LuSelectPanelRef, provideLuSelectLabelsAndIds, ɵLuOptionOutletDirective } from '@lucca-front/ng/core-select';\nimport { provideLuDialog } from '@lucca-front/ng/dialog';\nimport { FILTER_PILL_INPUT_COMPONENT, FilterPillDisplayerDirective } from '@lucca-front/ng/filter-pills/core';\nimport { InputDirective, PresentationDisplayDirective, ɵPresentationDisplayDefaultDirective } 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\nlet nextID = 0;\n\n@Component({\n\tselector: 'lu-simple-select',\n\ttemplateUrl: './select-input.component.html',\n\tstyleUrl: './select-input.component.scss',\n\thost: {\n\t\tclass: 'simpleSelect',\n\t\t'[class.mod-filterPill]': 'this.filterPillMode && !this.impersonation()',\n\t\t'[class.mod-impersonation]': 'this.impersonation()',\n\t},\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\timports: [\n\t\tAsyncPipe,\n\t\tɵLuOptionOutletDirective,\n\t\tOverlayModule,\n\t\tFormsModule,\n\t\tInputDirective,\n\t\tFilterPillDisplayerDirective,\n\t\tNgTemplateOutlet,\n\t\tIconComponent,\n\t\tClearComponent,\n\t\tPortalDirective,\n\t\tPresentationDisplayDirective,\n\t\tɵPresentationDisplayDefaultDirective,\n\t],\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\t// Below the `S` breakpoint the panel opens as a dialog in `sheet` mode.\n\t\tprovideLuDialog(),\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\treadonly intl = input(...intlInputOptions(LU_CORE_SELECT_TRANSLATIONS, LU_SIMPLE_SELECT_TRANSLATIONS));\n\n\tvalueID = `value-${++nextID}`;\n\n\treadonly autocomplete = input<AutoFill | null>('off');\n\n\treadonly impersonation = input(false, { transform: luBooleanAttribute });\n\n\treadonly filterPillPanelAnchorRef = 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 || this.impersonation()) {\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 isNotNil(this.value);\n\t}\n\n\toverride enableFilterPillMode() {\n\t\tconst host = this.filterPillPanelAnchorRef();\n\t\tif (host) {\n\t\t\tthis._panelRef = this.panelRefFactory.buildAndAttachPanelRef(this, host);\n\t\t}\n\t\tsuper.enableFilterPillMode();\n\t}\n}\n","<div class=\"simpleSelect-field\">\n\t<span class=\"simpleSelect-field-prefix\">\n\t\t@if (prefix(); as prefix) {\n\t\t\t<ng-container *luPortal=\"prefix\" />\n\t\t}\n\t</span>\n\t@if (bottomSheetMode()) {\n\t\t<!--\n\t\t\tThe panel opens as a modal sheet that embeds its own search input, so the field itself is only ever\n\t\t\ta trigger. Keeping a text input here makes iOS focus it and raise the software keyboard on a field\n\t\t\tthat is about to be covered by the sheet; a button is both what this control actually is and what\n\t\t\tmobile browsers treat as a tap target rather than a text entry.\n\t\t-->\n\t\t<button\n\t\t\tclass=\"simpleSelect-field-input mod-button\"\n\t\t\ttype=\"button\"\n\t\t\taria-haspopup=\"dialog\"\n\t\t\t[attr.aria-expanded]=\"panelOpenSignal()\"\n\t\t\t[attr.aria-controls]=\"ariaControls\"\n\t\t\t[disabled]=\"(disabled$ | async) ?? false\"\n\t\t\tluInput\n\t\t\t#inputElement\n\t\t\t[attr.tabindex]=\"inputTabindex()\"\n\t\t\t[luInputLabelledBy]=\"valueID\"\n\t\t>\n\t\t\t@if (!hasValue()) {\n\t\t\t\t<span class=\"simpleSelect-field-placeholder\">{{ inputPlaceholder ? inputPlaceholder : intl().placeholder }}</span>\n\t\t\t}\n\t\t</button>\n\t} @else {\n\t\t<input\n\t\t\tclass=\"simpleSelect-field-input\"\n\t\t\ttype=\"text\"\n\t\t\trole=\"combobox\"\n\t\t\taria-haspopup=\"listbox\"\n\t\t\t[attr.aria-activedescendant]=\"activeDescendant$ | async\"\n\t\t\t[attr.aria-expanded]=\"panelOpenSignal()\"\n\t\t\t[attr.aria-controls]=\"ariaControls\"\n\t\t\t[attr.placeholder]=\"inputPlaceholder ? inputPlaceholder : intl().placeholder\"\n\t\t\t[ngModel]=\"clue\"\n\t\t\t(ngModelChange)=\"clueChanged($event)\"\n\t\t\t[ngModelOptions]=\"{ standalone: true }\"\n\t\t\t[readonly]=\"!searchable\"\n\t\t\t[disabled]=\"(disabled$ | async) ?? false\"\n\t\t\t(keyup.space)=\"inputSpace($event)\"\n\t\t\tluInput\n\t\t\t#inputElement\n\t\t\t[attr.autocomplete]=\"autocomplete()\"\n\t\t\t[attr.tabindex]=\"inputTabindex()\"\n\t\t\t[luInputLabelledBy]=\"valueID\"\n\t\t/>\n\t}\n\t<div class=\"simpleSelect-field-value\" [attr.id]=\"valueID\">\n\t\t<ng-container *ngTemplateOutlet=\"currentValueDisplayerTpl\" />\n\t</div>\n\t@if (!filterPillMode && !impersonation()) {\n\t\t@if (clearable() && hasValue() && (disabled$ | async) === false) {\n\t\t\t<lu-clear class=\"simpleSelect-field-clear\" (onClear)=\"clearValue($event)\">{{ intl().clear }}</lu-clear>\n\t\t}\n\t\t<lu-icon icon=\"arrowChevronBottom\" class=\"simpleSelect-field-icon\" />\n\t}\n\t<lu-icon icon=\"searchMagnifyingGlass\" class=\"simpleSelect-field-icon mod-search\" />\n</div>\n<ng-container #filterPillPanelAnchor />\n<ng-container *luFilterPillDisplayer>\n\t<ng-container *ngTemplateOutlet=\"currentValueDisplayerTpl\" />\n</ng-container>\n\n<ng-template #currentValueDisplayerTpl>\n\t<ng-container *luOptionOutlet=\"displayerTpl(); value: value\" />\n</ng-template>\n\n@if (!ignorePresentation()) {\n\t<ng-container *luPresentationDisplayDefault>\n\t\t@if (value) {\n\t\t\t<ng-container *ngTemplateOutlet=\"currentValueDisplayerTpl\" />\n\t\t} @else {\n\t\t\t<span aria-hidden=\"true\" data-content-before=\"–\"></span>\n\t\t}\n\t</ng-container>\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["ɵinjectPointerNavigation","ɵgetGroupTemplateLocation","ɵfillScrollViewport","ɵLuOptionComponent","ɵCoreSelectPanelElement","ListboxOptionComponent","ɵLuOptionGroupPipe","ɵopenSelectPanelSheet","ɵLuOptionOutletDirective","ɵPresentationDisplayDefaultDirective"],"mappings":"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"}
@@ -9,10 +9,10 @@ class SoftwareIconWrapperItemDirective {
9
9
  constructor() {
10
10
  this.templateRef = inject(TemplateRef);
11
11
  }
12
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: SoftwareIconWrapperItemDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
13
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.1.4", type: SoftwareIconWrapperItemDirective, isStandalone: true, selector: "[SoftwareIconWrapperItem]", ngImport: i0 }); }
12
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.2.1", ngImport: i0, type: SoftwareIconWrapperItemDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
13
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.2.1", type: SoftwareIconWrapperItemDirective, isStandalone: true, selector: "[SoftwareIconWrapperItem]", ngImport: i0 }); }
14
14
  }
15
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: SoftwareIconWrapperItemDirective, decorators: [{
15
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.2.1", ngImport: i0, type: SoftwareIconWrapperItemDirective, decorators: [{
16
16
  type: Directive,
17
17
  args: [{
18
18
  // eslint-disable-next-line @angular-eslint/directive-selector
@@ -69,10 +69,10 @@ class SoftwareIconWrapperComponent {
69
69
  this.hiddenCount = computed(() => this.hiddenIcons().length, /* @ts-ignore */
70
70
  ...(ngDevMode ? [{ debugName: "hiddenCount" }] : /* istanbul ignore next */ []));
71
71
  }
72
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: SoftwareIconWrapperComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
73
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.4", type: SoftwareIconWrapperComponent, isStandalone: true, selector: "lu-software-icon-wrapper", inputs: { max: { classPropertyName: "max", publicName: "max", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, intl: { classPropertyName: "intl", publicName: "intl", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class.mod-XS": "size() === \"XS\"", "class.mod-S": "size() === \"S\"" }, classAttribute: "softwareIconWrapper" }, providers: [{ provide: LU_SOFTWARE_ICON_WRAPPER, useValue: true }], queries: [{ propertyName: "items", predicate: TemplateRef, descendants: true, isSignal: true }], ngImport: i0, template: "<ul class=\"softwareIconWrapper-list\">\n\t@for (icon of visibleIcons(); track icon) {\n\t\t<li class=\"softwareIconWrapper-list-item\">\n\t\t\t<ng-container [ngTemplateOutlet]=\"icon\" />\n\t\t</li>\n\t}\n</ul>\n\n@if (hiddenCount() >= 2) {\n\t<button class=\"softwareIconWrapper-action\" type=\"button\" [luPopover2]=\"softwareIconWrapperPopover\" luPopoverTrigger=\"click+hover\">\n\t\t<div class=\"softwareIconWrapper-action-more\">\n\t\t\t<span aria-hidden=\"true\" [attr.data-content-before]=\"'+' + hiddenIcons().length\"></span>\n\t\t\t<span class=\"pr-u-mask\">{{ intl().seeMore | intlPluralLabel: hiddenCount() | intlParams: { count: hiddenIcons().length } }}</span>\n\t\t</div>\n\t</button>\n\n\t<ng-template #softwareIconWrapperPopover>\n\t\t<ul class=\"popover-contentOptional softwareIconWrapper_popover\" [class]=\"size() ? `mod-${size()}` : null\">\n\t\t\t@for (icon of hiddenIcons(); track icon) {\n\t\t\t\t<li class=\"softwareIconWrapper_popover-item\">\n\t\t\t\t\t<ng-container [ngTemplateOutlet]=\"icon\" />\n\t\t\t\t</li>\n\t\t\t}\n\t\t</ul>\n\t</ng-template>\n}\n", dependencies: [{ kind: "directive", type: PopoverDirective, selector: "[luPopover2]", inputs: ["intl", "luPopover2", "luPopoverPosition", "luPopoverMaxBlockSize", "luPopoverMaxInlineSize", "overlayScrollStrategy", "luPopoverDisabled", "luPopoverTrigger", "customPositions", "luPopoverNoCloseButton", "luPopoverAnchor", "luPopoverBackdrop", "luPopoverIgnoredOutsidePointerTargets", "luPopoverOpenDelay", "luPopoverCloseDelay"], outputs: ["luPopoverTriggerChange", "luPopoverClosed", "luPopoverOpened"], exportAs: ["luPopover2"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "pipe", type: IntlParamsPipe, name: "intlParams" }, { kind: "pipe", type: IntlPluralLabelPipe, name: "intlPluralLabel" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
72
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.2.1", ngImport: i0, type: SoftwareIconWrapperComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
73
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.2.1", type: SoftwareIconWrapperComponent, isStandalone: true, selector: "lu-software-icon-wrapper", inputs: { max: { classPropertyName: "max", publicName: "max", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, intl: { classPropertyName: "intl", publicName: "intl", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class.mod-XS": "size() === \"XS\"", "class.mod-S": "size() === \"S\"" }, classAttribute: "softwareIconWrapper" }, providers: [{ provide: LU_SOFTWARE_ICON_WRAPPER, useValue: true }], queries: [{ propertyName: "items", predicate: TemplateRef, descendants: true, isSignal: true }], ngImport: i0, template: "<ul class=\"softwareIconWrapper-list\">\n\t@for (icon of visibleIcons(); track icon) {\n\t\t<li class=\"softwareIconWrapper-list-item\">\n\t\t\t<ng-container [ngTemplateOutlet]=\"icon\" />\n\t\t</li>\n\t}\n</ul>\n\n@if (hiddenCount() >= 2) {\n\t<button class=\"softwareIconWrapper-action\" type=\"button\" [luPopover2]=\"softwareIconWrapperPopover\" luPopoverTrigger=\"click+hover\">\n\t\t<div class=\"softwareIconWrapper-action-more\">\n\t\t\t<span aria-hidden=\"true\" [attr.data-content-before]=\"'+' + hiddenIcons().length\"></span>\n\t\t\t<span class=\"pr-u-mask\">{{ intl().seeMore | intlPluralLabel: hiddenCount() | intlParams: { count: hiddenIcons().length } }}</span>\n\t\t</div>\n\t</button>\n\n\t<ng-template #softwareIconWrapperPopover>\n\t\t<ul class=\"popover-contentOptional softwareIconWrapper_popover\" [class]=\"size() ? `mod-${size()}` : null\">\n\t\t\t@for (icon of hiddenIcons(); track icon) {\n\t\t\t\t<li class=\"softwareIconWrapper_popover-item\">\n\t\t\t\t\t<ng-container [ngTemplateOutlet]=\"icon\" />\n\t\t\t\t</li>\n\t\t\t}\n\t\t</ul>\n\t</ng-template>\n}\n", dependencies: [{ kind: "directive", type: PopoverDirective, selector: "[luPopover2]", inputs: ["intl", "luPopover2", "luPopoverPosition", "luPopoverMaxBlockSize", "luPopoverMaxInlineSize", "overlayScrollStrategy", "luPopoverDisabled", "luPopoverTrigger", "customPositions", "luPopoverNoCloseButton", "luPopoverAnchor", "luPopoverBackdrop", "luPopoverIgnoredOutsidePointerTargets", "luPopoverOpenDelay", "luPopoverCloseDelay"], outputs: ["luPopoverTriggerChange", "luPopoverClosed", "luPopoverOpened"], exportAs: ["luPopover2"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "pipe", type: IntlParamsPipe, name: "intlParams" }, { kind: "pipe", type: IntlPluralLabelPipe, name: "intlPluralLabel" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
74
74
  }
75
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: SoftwareIconWrapperComponent, decorators: [{
75
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.2.1", ngImport: i0, type: SoftwareIconWrapperComponent, decorators: [{
76
76
  type: Component,
77
77
  args: [{ selector: 'lu-software-icon-wrapper', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, imports: [PopoverDirective, IntlParamsPipe, IntlPluralLabelPipe, NgTemplateOutlet], providers: [{ provide: LU_SOFTWARE_ICON_WRAPPER, useValue: true }], host: {
78
78
  class: 'softwareIconWrapper',
@@ -23,10 +23,10 @@ class SoftwareIconComponent {
23
23
  this.iconUrl = computed(() => `${this.domain}${this.path}${this.icon()}${this.extension}`, /* @ts-ignore */
24
24
  ...(ngDevMode ? [{ debugName: "iconUrl" }] : /* istanbul ignore next */ []));
25
25
  }
26
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: SoftwareIconComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
27
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.1.4", type: SoftwareIconComponent, isStandalone: true, selector: "lu-software-icon", inputs: { icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: true, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, withTooltip: { classPropertyName: "withTooltip", publicName: "withTooltip", isSignal: true, isRequired: false, transformFunction: null }, iconAlt: { classPropertyName: "iconAlt", publicName: "iconAlt", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<span\n\tclass=\"softwareIcon\"\n\t[class.is-disabled]=\"disabled()\"\n\t[class.mod-XXS]=\"size() === 'XXS'\"\n\t[class.mod-XS]=\"size() === 'XS'\"\n\t[class.mod-S]=\"size() === 'S'\"\n\t[class.mod-L]=\"size() === 'L'\"\n\taria-hidden=\"true\"\n\t[innerHtml]=\"iconUrl() | luSafeExternalSvg\"\n\t[luTooltip]=\"iconAlt()\"\n\tluTooltipOnlyForDisplay\n\t[luTooltipDisabled]=\"!this.withTooltip() && !this.wrapper\"\n></span>\n<span class=\"pr-u-mask\" translate=\"no\">{{ iconAlt() }}</span>\n", styles: ["@layer components{.softwareIcon{--components-softwareIcon-size: var(--pr-t-spacings-500);--components-softwareIcon-illustration-bubble-stroke: transparent;--components-softwareIcon-illustration-bubble-strokeWidth: 0px;--components-softwareIcon-display: inline-block;--components-softwareIcon-action-boxShadowSpread: 2px;--components-softwareIcon-zIndex: auto;--components-softwareIcon-transformScale: 1;display:var(--components-softwareIcon-display);inline-size:var(--components-softwareIcon-size);block-size:var(--components-softwareIcon-size);z-index:var(--components-softwareIcon-zIndex);position:relative;transform:scale(var(--components-softwareIcon-transformScale));transition-property:transform;transition-duration:var(--commons-animations-durations-fast)}.softwareIcon:focus-visible{outline:none}.softwareIcon-illustration{overflow:visible}.softwareIcon-illustration-bubble{stroke:var(--components-softwareIcon-illustration-bubble-stroke);stroke-width:var(--components-softwareIcon-illustration-bubble-strokeWidth)}.softwareIconWrapper{display:flex;flex-wrap:wrap;align-items:center;gap:var(--pr-t-spacings-25) 0;padding-inline-start:calc(var(--components-softwareIconWrapper-list-item-marginInlineStart) * -1)}.softwareIconWrapper-list{margin:0;padding:0;list-style-type:none;display:contents}.softwareIconWrapper-list-item{margin-inline-start:var(--components-softwareIconWrapper-list-item-marginInlineStart)}.softwareIconWrapper-action{padding:0;border:0;inline-size:100%;background-color:transparent;color:inherit;text-align:start;display:block;font:inherit;cursor:pointer;border-radius:68% 35% 45% 55%/40% 40% 64% 60%;background-color:var(--palettes-neutral-200);inline-size:var(--components-softwareIcon-size);block-size:var(--components-softwareIcon-size);transform:scale(var(--components-softwareIcon-transformScale));transition-property:transform;transition-duration:var(--commons-animations-durations-fast);box-shadow:0 0 0 var(--components-softwareIcon-action-boxShadowSpread) var(--palettes-neutral-0);margin-inline-start:var(--components-softwareIconWrapper-list-item-marginInlineStart)}.softwareIconWrapper-action-more{display:grid;place-items:center;font-family:var(--pr-t-font-family-brand);font-size:var(--components-softwareIconWrapper-action-more-fontSize);font-weight:var(--pr-t-font-fontWeight-semibold)}.softwareIconWrapper_popover{margin:0;padding:0;list-style-type:none;display:grid;max-inline-size:calc(var(--components-softwareIcon-size) * 8 + var(--pr-t-spacings-50) * 7);box-sizing:content-box;gap:var(--pr-t-spacings-50);grid-template-columns:repeat(auto-fit,minmax(var(--components-softwareIcon-size),1fr))}}@layer mods{.softwareIcon.mod-XXS{--components-softwareIcon-size: var(--pr-t-spacings-200)}.softwareIcon.mod-XS{--components-softwareIcon-size: var(--pr-t-spacings-300)}.softwareIcon.mod-S{--components-softwareIcon-size: var(--pr-t-spacings-400)}.softwareIcon.mod-L{--components-softwareIcon-size: var(--pr-t-spacings-600)}.softwareIcon.is-disabled{--components-softwareIcon-disabled-100: var(--palettes-neutral-100);--components-softwareIcon-disabled-200: var(--palettes-neutral-200);--components-softwareIcon-disabled-300: var(--palettes-neutral-300);--components-softwareIcon-disabled-400: var(--palettes-neutral-400);--components-softwareIcon-disabled-500: var(--palettes-neutral-500);--components-softwareIcon-disabled-600: var(--palettes-neutral-600)}}@layer components{.softwareIconWrapper{--components-softwareIcon-size: var(--pr-t-spacings-500);--components-softwareIcon-illustration-bubble-stroke: transparent;--components-softwareIcon-illustration-bubble-strokeWidth: 0px;--components-softwareIcon-display: inline-block;--components-softwareIcon-action-boxShadowSpread: 2px;--components-softwareIcon-zIndex: auto;--components-softwareIcon-transformScale: 1;--components-softwareIconWrapper-list-item-marginInlineStart: calc(var(--pr-t-spacings-75) * -1);--components-softwareIconWrapper-action-more-fontSize: var(--pr-t-font-fontSize-225)}}@layer mods{.softwareIconWrapper.mod-XS{--components-softwareIconWrapper-action-more-fontSize: var(--pr-t-font-fontSize-150);--components-softwareIconWrapper-list-item-marginInlineStart: calc(var(--pr-t-spacings-50) * -1);--components-softwareIcon-action-boxShadowSpread: 1px}.softwareIconWrapper.mod-XS,.softwareIconWrapper.mod-XS .softwareIcon{--components-softwareIcon-size: var(--pr-t-spacings-300)}.softwareIconWrapper.mod-S{--components-softwareIconWrapper-action-more-fontSize: var(--pr-t-font-fontSize-200);--components-softwareIconWrapper-list-item-marginInlineStart: calc(var(--pr-t-spacings-50) * -1)}.softwareIconWrapper.mod-S,.softwareIconWrapper.mod-S .softwareIcon{--components-softwareIcon-size: var(--pr-t-spacings-400)}.softwareIconWrapper .softwareIcon,.softwareIconWrapper .softwareIconWrapper-action{--components-softwareIcon-illustration-bubble-stroke: var(--palettes-neutral-0);--components-softwareIcon-illustration-bubble-strokeWidth: 4px;--components-softwareIcon-display: block}.softwareIconWrapper .softwareIcon:hover,.softwareIconWrapper .softwareIcon:focus,.softwareIconWrapper .softwareIconWrapper-action:hover,.softwareIconWrapper .softwareIconWrapper-action:focus{--components-softwareIcon-transformScale: 1.1;--components-softwareIcon-zIndex: 1}}@layer components{.softwareIconWrapper_popover{--components-softwareIcon-size: var(--pr-t-spacings-500)}}@layer mods{.softwareIconWrapper_popover .softwareIcon,.softwareIconWrapper_popover .softwareIconWrapper-action{--components-softwareIcon-display: block}.softwareIconWrapper_popover .softwareIcon:hover,.softwareIconWrapper_popover .softwareIcon:focus,.softwareIconWrapper_popover .softwareIconWrapper-action:hover,.softwareIconWrapper_popover .softwareIconWrapper-action:focus{--components-softwareIcon-transformScale: 1.1;--components-softwareIcon-zIndex: 1}.softwareIconWrapper_popover.mod-XS,.softwareIconWrapper_popover.mod-XS .softwareIcon{--components-softwareIcon-size: var(--pr-t-spacings-300)}.softwareIconWrapper_popover.mod-S,.softwareIconWrapper_popover.mod-S .softwareIcon{--components-softwareIcon-size: var(--pr-t-spacings-400)}}lu-software-icon{display:contents}\n"], dependencies: [{ kind: "directive", type: LuTooltipTriggerDirective, selector: "[luTooltip],[prTooltip]", inputs: ["luTooltip", "prTooltip", "luTooltipEnterDelay", "prTooltipEnterDelay", "luTooltipLeaveDelay", "prTooltipLeaveDelay", "luTooltipDisabled", "prTooltipDisabled", "luTooltipOnlyForDisplay", "prTooltipOnlyForDisplay", "luTooltipPosition", "prTooltipPosition", "luTooltipWhenEllipsis", "prTooltipWhenEllipsis", "luTooltipAnchor", "prTooltipAnchor", "luTooltipTriggerAnchor", "prTooltipTriggerAnchor", "id"], exportAs: ["luTooltip"] }, { kind: "pipe", type: LuSafeExternalSvgPipe, name: "luSafeExternalSvg" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
26
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.2.1", ngImport: i0, type: SoftwareIconComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
27
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.2.1", type: SoftwareIconComponent, isStandalone: true, selector: "lu-software-icon", inputs: { icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: true, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, withTooltip: { classPropertyName: "withTooltip", publicName: "withTooltip", isSignal: true, isRequired: false, transformFunction: null }, iconAlt: { classPropertyName: "iconAlt", publicName: "iconAlt", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<span\n\tclass=\"softwareIcon\"\n\t[class.is-disabled]=\"disabled()\"\n\t[class.mod-XXS]=\"size() === 'XXS'\"\n\t[class.mod-XS]=\"size() === 'XS'\"\n\t[class.mod-S]=\"size() === 'S'\"\n\t[class.mod-L]=\"size() === 'L'\"\n\taria-hidden=\"true\"\n\t[innerHtml]=\"iconUrl() | luSafeExternalSvg\"\n\t[luTooltip]=\"iconAlt()\"\n\tluTooltipOnlyForDisplay\n\t[luTooltipDisabled]=\"!this.withTooltip() && !this.wrapper\"\n></span>\n<span class=\"pr-u-mask\" translate=\"no\">{{ iconAlt() }}</span>\n", styles: ["@layer components{.softwareIcon{--components-softwareIcon-size: var(--pr-t-spacings-500);--components-softwareIcon-illustration-bubble-stroke: transparent;--components-softwareIcon-illustration-bubble-strokeWidth: 0px;--components-softwareIcon-display: inline-block;--components-softwareIcon-action-boxShadowSpread: 2px;--components-softwareIcon-zIndex: auto;--components-softwareIcon-transformScale: 1;display:var(--components-softwareIcon-display);inline-size:var(--components-softwareIcon-size);block-size:var(--components-softwareIcon-size);z-index:var(--components-softwareIcon-zIndex);position:relative;transform:scale(var(--components-softwareIcon-transformScale));transition-property:transform;transition-duration:var(--commons-animations-durations-fast)}.softwareIcon:focus-visible{outline:none}.softwareIcon-illustration{overflow:visible}.softwareIcon-illustration-bubble{stroke:var(--components-softwareIcon-illustration-bubble-stroke);stroke-width:var(--components-softwareIcon-illustration-bubble-strokeWidth)}.softwareIconWrapper{display:flex;flex-wrap:wrap;align-items:center;gap:var(--pr-t-spacings-25) 0;padding-inline-start:calc(var(--components-softwareIconWrapper-list-item-marginInlineStart) * -1)}.softwareIconWrapper-list{margin:0;padding:0;list-style-type:none;display:contents}.softwareIconWrapper-list-item{margin-inline-start:var(--components-softwareIconWrapper-list-item-marginInlineStart)}.softwareIconWrapper-action{padding:0;border:0;inline-size:100%;background-color:transparent;color:inherit;text-align:start;display:block;font:inherit;cursor:pointer;border-radius:68% 35% 45% 55%/40% 40% 64% 60%;background-color:var(--palettes-neutral-200);inline-size:var(--components-softwareIcon-size);block-size:var(--components-softwareIcon-size);transform:scale(var(--components-softwareIcon-transformScale));transition-property:transform;transition-duration:var(--commons-animations-durations-fast);box-shadow:0 0 0 var(--components-softwareIcon-action-boxShadowSpread) var(--palettes-neutral-0);margin-inline-start:var(--components-softwareIconWrapper-list-item-marginInlineStart)}.softwareIconWrapper-action-more{display:grid;place-items:center;font-family:var(--pr-t-font-family-brand);font-size:var(--components-softwareIconWrapper-action-more-fontSize);font-weight:var(--pr-t-font-fontWeight-semibold)}.softwareIconWrapper_popover{margin:0;padding:0;list-style-type:none;display:grid;max-inline-size:calc(var(--components-softwareIcon-size) * 8 + var(--pr-t-spacings-50) * 7);box-sizing:content-box;gap:var(--pr-t-spacings-50);grid-template-columns:repeat(auto-fit,minmax(var(--components-softwareIcon-size),1fr))}}@layer mods{.softwareIcon.mod-XXS{--components-softwareIcon-size: var(--pr-t-spacings-200)}.softwareIcon.mod-XS{--components-softwareIcon-size: var(--pr-t-spacings-300)}.softwareIcon.mod-S{--components-softwareIcon-size: var(--pr-t-spacings-400)}.softwareIcon.mod-L{--components-softwareIcon-size: var(--pr-t-spacings-600)}.softwareIcon.is-disabled{--components-softwareIcon-disabled-100: var(--palettes-neutral-100);--components-softwareIcon-disabled-200: var(--palettes-neutral-200);--components-softwareIcon-disabled-300: var(--palettes-neutral-300);--components-softwareIcon-disabled-400: var(--palettes-neutral-400);--components-softwareIcon-disabled-500: var(--palettes-neutral-500);--components-softwareIcon-disabled-600: var(--palettes-neutral-600)}}@layer components{.softwareIconWrapper{--components-softwareIcon-size: var(--pr-t-spacings-500);--components-softwareIcon-illustration-bubble-stroke: transparent;--components-softwareIcon-illustration-bubble-strokeWidth: 0px;--components-softwareIcon-display: inline-block;--components-softwareIcon-action-boxShadowSpread: 2px;--components-softwareIcon-zIndex: auto;--components-softwareIcon-transformScale: 1;--components-softwareIconWrapper-list-item-marginInlineStart: calc(var(--pr-t-spacings-75) * -1);--components-softwareIconWrapper-action-more-fontSize: var(--pr-t-font-fontSize-225)}}@layer mods{.softwareIconWrapper.mod-XS{--components-softwareIconWrapper-action-more-fontSize: var(--pr-t-font-fontSize-150);--components-softwareIconWrapper-list-item-marginInlineStart: calc(var(--pr-t-spacings-50) * -1);--components-softwareIcon-action-boxShadowSpread: 1px}.softwareIconWrapper.mod-XS,.softwareIconWrapper.mod-XS .softwareIcon{--components-softwareIcon-size: var(--pr-t-spacings-300)}.softwareIconWrapper.mod-S{--components-softwareIconWrapper-action-more-fontSize: var(--pr-t-font-fontSize-200);--components-softwareIconWrapper-list-item-marginInlineStart: calc(var(--pr-t-spacings-50) * -1)}.softwareIconWrapper.mod-S,.softwareIconWrapper.mod-S .softwareIcon{--components-softwareIcon-size: var(--pr-t-spacings-400)}.softwareIconWrapper .softwareIcon,.softwareIconWrapper .softwareIconWrapper-action{--components-softwareIcon-illustration-bubble-stroke: var(--palettes-neutral-0);--components-softwareIcon-illustration-bubble-strokeWidth: 4px;--components-softwareIcon-display: block}.softwareIconWrapper .softwareIcon:hover,.softwareIconWrapper .softwareIcon:focus,.softwareIconWrapper .softwareIconWrapper-action:hover,.softwareIconWrapper .softwareIconWrapper-action:focus{--components-softwareIcon-transformScale: 1.1;--components-softwareIcon-zIndex: 1}}@layer components{.softwareIconWrapper_popover{--components-softwareIcon-size: var(--pr-t-spacings-500)}}@layer mods{.softwareIconWrapper_popover .softwareIcon,.softwareIconWrapper_popover .softwareIconWrapper-action{--components-softwareIcon-display: block}.softwareIconWrapper_popover .softwareIcon:hover,.softwareIconWrapper_popover .softwareIcon:focus,.softwareIconWrapper_popover .softwareIconWrapper-action:hover,.softwareIconWrapper_popover .softwareIconWrapper-action:focus{--components-softwareIcon-transformScale: 1.1;--components-softwareIcon-zIndex: 1}.softwareIconWrapper_popover.mod-XS,.softwareIconWrapper_popover.mod-XS .softwareIcon{--components-softwareIcon-size: var(--pr-t-spacings-300)}.softwareIconWrapper_popover.mod-S,.softwareIconWrapper_popover.mod-S .softwareIcon{--components-softwareIcon-size: var(--pr-t-spacings-400)}}lu-software-icon{display:contents}\n"], dependencies: [{ kind: "directive", type: LuTooltipTriggerDirective, selector: "[luTooltip],[prTooltip]", inputs: ["luTooltip", "prTooltip", "luTooltipEnterDelay", "prTooltipEnterDelay", "luTooltipLeaveDelay", "prTooltipLeaveDelay", "luTooltipDisabled", "prTooltipDisabled", "luTooltipOnlyForDisplay", "prTooltipOnlyForDisplay", "luTooltipPosition", "prTooltipPosition", "luTooltipWhenEllipsis", "prTooltipWhenEllipsis", "luTooltipAnchor", "prTooltipAnchor", "luTooltipTriggerAnchor", "prTooltipTriggerAnchor", "id"], exportAs: ["luTooltip"] }, { kind: "pipe", type: LuSafeExternalSvgPipe, name: "luSafeExternalSvg" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
28
28
  }
29
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: SoftwareIconComponent, decorators: [{
29
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.2.1", ngImport: i0, type: SoftwareIconComponent, decorators: [{
30
30
  type: Component,
31
31
  args: [{ selector: 'lu-software-icon', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, imports: [LuSafeExternalSvgPipe, LuTooltipTriggerDirective], template: "<span\n\tclass=\"softwareIcon\"\n\t[class.is-disabled]=\"disabled()\"\n\t[class.mod-XXS]=\"size() === 'XXS'\"\n\t[class.mod-XS]=\"size() === 'XS'\"\n\t[class.mod-S]=\"size() === 'S'\"\n\t[class.mod-L]=\"size() === 'L'\"\n\taria-hidden=\"true\"\n\t[innerHtml]=\"iconUrl() | luSafeExternalSvg\"\n\t[luTooltip]=\"iconAlt()\"\n\tluTooltipOnlyForDisplay\n\t[luTooltipDisabled]=\"!this.withTooltip() && !this.wrapper\"\n></span>\n<span class=\"pr-u-mask\" translate=\"no\">{{ iconAlt() }}</span>\n", styles: ["@layer components{.softwareIcon{--components-softwareIcon-size: var(--pr-t-spacings-500);--components-softwareIcon-illustration-bubble-stroke: transparent;--components-softwareIcon-illustration-bubble-strokeWidth: 0px;--components-softwareIcon-display: inline-block;--components-softwareIcon-action-boxShadowSpread: 2px;--components-softwareIcon-zIndex: auto;--components-softwareIcon-transformScale: 1;display:var(--components-softwareIcon-display);inline-size:var(--components-softwareIcon-size);block-size:var(--components-softwareIcon-size);z-index:var(--components-softwareIcon-zIndex);position:relative;transform:scale(var(--components-softwareIcon-transformScale));transition-property:transform;transition-duration:var(--commons-animations-durations-fast)}.softwareIcon:focus-visible{outline:none}.softwareIcon-illustration{overflow:visible}.softwareIcon-illustration-bubble{stroke:var(--components-softwareIcon-illustration-bubble-stroke);stroke-width:var(--components-softwareIcon-illustration-bubble-strokeWidth)}.softwareIconWrapper{display:flex;flex-wrap:wrap;align-items:center;gap:var(--pr-t-spacings-25) 0;padding-inline-start:calc(var(--components-softwareIconWrapper-list-item-marginInlineStart) * -1)}.softwareIconWrapper-list{margin:0;padding:0;list-style-type:none;display:contents}.softwareIconWrapper-list-item{margin-inline-start:var(--components-softwareIconWrapper-list-item-marginInlineStart)}.softwareIconWrapper-action{padding:0;border:0;inline-size:100%;background-color:transparent;color:inherit;text-align:start;display:block;font:inherit;cursor:pointer;border-radius:68% 35% 45% 55%/40% 40% 64% 60%;background-color:var(--palettes-neutral-200);inline-size:var(--components-softwareIcon-size);block-size:var(--components-softwareIcon-size);transform:scale(var(--components-softwareIcon-transformScale));transition-property:transform;transition-duration:var(--commons-animations-durations-fast);box-shadow:0 0 0 var(--components-softwareIcon-action-boxShadowSpread) var(--palettes-neutral-0);margin-inline-start:var(--components-softwareIconWrapper-list-item-marginInlineStart)}.softwareIconWrapper-action-more{display:grid;place-items:center;font-family:var(--pr-t-font-family-brand);font-size:var(--components-softwareIconWrapper-action-more-fontSize);font-weight:var(--pr-t-font-fontWeight-semibold)}.softwareIconWrapper_popover{margin:0;padding:0;list-style-type:none;display:grid;max-inline-size:calc(var(--components-softwareIcon-size) * 8 + var(--pr-t-spacings-50) * 7);box-sizing:content-box;gap:var(--pr-t-spacings-50);grid-template-columns:repeat(auto-fit,minmax(var(--components-softwareIcon-size),1fr))}}@layer mods{.softwareIcon.mod-XXS{--components-softwareIcon-size: var(--pr-t-spacings-200)}.softwareIcon.mod-XS{--components-softwareIcon-size: var(--pr-t-spacings-300)}.softwareIcon.mod-S{--components-softwareIcon-size: var(--pr-t-spacings-400)}.softwareIcon.mod-L{--components-softwareIcon-size: var(--pr-t-spacings-600)}.softwareIcon.is-disabled{--components-softwareIcon-disabled-100: var(--palettes-neutral-100);--components-softwareIcon-disabled-200: var(--palettes-neutral-200);--components-softwareIcon-disabled-300: var(--palettes-neutral-300);--components-softwareIcon-disabled-400: var(--palettes-neutral-400);--components-softwareIcon-disabled-500: var(--palettes-neutral-500);--components-softwareIcon-disabled-600: var(--palettes-neutral-600)}}@layer components{.softwareIconWrapper{--components-softwareIcon-size: var(--pr-t-spacings-500);--components-softwareIcon-illustration-bubble-stroke: transparent;--components-softwareIcon-illustration-bubble-strokeWidth: 0px;--components-softwareIcon-display: inline-block;--components-softwareIcon-action-boxShadowSpread: 2px;--components-softwareIcon-zIndex: auto;--components-softwareIcon-transformScale: 1;--components-softwareIconWrapper-list-item-marginInlineStart: calc(var(--pr-t-spacings-75) * -1);--components-softwareIconWrapper-action-more-fontSize: var(--pr-t-font-fontSize-225)}}@layer mods{.softwareIconWrapper.mod-XS{--components-softwareIconWrapper-action-more-fontSize: var(--pr-t-font-fontSize-150);--components-softwareIconWrapper-list-item-marginInlineStart: calc(var(--pr-t-spacings-50) * -1);--components-softwareIcon-action-boxShadowSpread: 1px}.softwareIconWrapper.mod-XS,.softwareIconWrapper.mod-XS .softwareIcon{--components-softwareIcon-size: var(--pr-t-spacings-300)}.softwareIconWrapper.mod-S{--components-softwareIconWrapper-action-more-fontSize: var(--pr-t-font-fontSize-200);--components-softwareIconWrapper-list-item-marginInlineStart: calc(var(--pr-t-spacings-50) * -1)}.softwareIconWrapper.mod-S,.softwareIconWrapper.mod-S .softwareIcon{--components-softwareIcon-size: var(--pr-t-spacings-400)}.softwareIconWrapper .softwareIcon,.softwareIconWrapper .softwareIconWrapper-action{--components-softwareIcon-illustration-bubble-stroke: var(--palettes-neutral-0);--components-softwareIcon-illustration-bubble-strokeWidth: 4px;--components-softwareIcon-display: block}.softwareIconWrapper .softwareIcon:hover,.softwareIconWrapper .softwareIcon:focus,.softwareIconWrapper .softwareIconWrapper-action:hover,.softwareIconWrapper .softwareIconWrapper-action:focus{--components-softwareIcon-transformScale: 1.1;--components-softwareIcon-zIndex: 1}}@layer components{.softwareIconWrapper_popover{--components-softwareIcon-size: var(--pr-t-spacings-500)}}@layer mods{.softwareIconWrapper_popover .softwareIcon,.softwareIconWrapper_popover .softwareIconWrapper-action{--components-softwareIcon-display: block}.softwareIconWrapper_popover .softwareIcon:hover,.softwareIconWrapper_popover .softwareIcon:focus,.softwareIconWrapper_popover .softwareIconWrapper-action:hover,.softwareIconWrapper_popover .softwareIconWrapper-action:focus{--components-softwareIcon-transformScale: 1.1;--components-softwareIcon-zIndex: 1}.softwareIconWrapper_popover.mod-XS,.softwareIconWrapper_popover.mod-XS .softwareIcon{--components-softwareIcon-size: var(--pr-t-spacings-300)}.softwareIconWrapper_popover.mod-S,.softwareIconWrapper_popover.mod-S .softwareIcon{--components-softwareIcon-size: var(--pr-t-spacings-400)}}lu-software-icon{display:contents}\n"] }]
32
32
  }], propDecorators: { icon: [{ type: i0.Input, args: [{ isSignal: true, alias: "icon", required: true }] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], withTooltip: [{ type: i0.Input, args: [{ isSignal: true, alias: "withTooltip", required: false }] }], iconAlt: [{ type: i0.Input, args: [{ isSignal: true, alias: "iconAlt", required: false }] }], size: [{ type: i0.Input, args: [{ isSignal: true, alias: "size", required: false }] }] } });
@@ -39,10 +39,10 @@ class SortableListItemComponent {
39
39
  */
40
40
  this.delete = output();
41
41
  }
42
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: SortableListItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
43
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.4", type: SortableListItemComponent, isStandalone: true, selector: "lu-sortable-list-item", inputs: { label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: true, transformFunction: null }, helperMessage: { classPropertyName: "helperMessage", publicName: "helperMessage", isSignal: true, isRequired: false, transformFunction: null }, clickable: { classPropertyName: "clickable", publicName: "clickable", isSignal: true, isRequired: false, transformFunction: null }, unclearable: { classPropertyName: "unclearable", publicName: "unclearable", isSignal: true, isRequired: false, transformFunction: null }, drag: { classPropertyName: "drag", publicName: "drag", isSignal: true, isRequired: false, transformFunction: null }, small: { classPropertyName: "small", publicName: "small", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { delete: "delete" }, host: { attributes: { "role": "listitem" }, properties: { "class.mod-clickable": "clickable()", "class.mod-S": "small()" }, classAttribute: "sortableList-item" }, ngImport: i0, template: "@if (drag()) {\n\t<span class=\"sortableList-item-handler button\" cdkDragHandle>\n\t\t<lu-icon icon=\"drag\" />\n\t</span>\n}\n<div class=\"sortableList-item-content\">\n\t<p class=\"sortableList-item-content-description\"><ng-container *luPortal=\"label()\" /></p>\n\t@if (helperMessage()?.length) {\n\t\t<p class=\"sortableList-item-content-helper\">{{ helperMessage() }}</p>\n\t}\n</div>\n@if (!unclearable()) {\n\t<lu-clear class=\"sortableList-clear\" (onClear)=\"delete.emit()\" />\n}\n", styles: ["@charset \"UTF-8\";@layer components{.sortableList{--components-sortableList-padding: var(--pr-t-spacings-100) var(--pr-t-spacings-150);--components-sortableList-handler-size: var(--pr-t-font-body-M-lineHeight);--components-sortableList-description-font: var(--pr-t-font-body-M);--components-sortableList-helper-font: var(--pr-t-font-body-S);--components-sortableList-description-fontSize: var(--pr-t-font-body-M-fontSize);--components-sortableList-description-lineHeight: var(--pr-t-font-body-M-lineHeight);background-color:var(--pr-t-elevation-surface-raised);border:var(--commons-divider-width) solid var(--commons-divider-color);border-radius:var(--pr-t-border-radius-default);list-style:none;padding:0;overflow:hidden}.sortableList-item{border-block-end-width:var(--commons-divider-width);border-block-end-color:var(--commons-divider-color);border-block-end-style:solid;color:var(--pr-t-color-text);display:flex;position:relative;text-decoration:none;gap:var(--pr-t-spacings-100);padding:var(--components-sortableList-padding)!important}.sortableList-item:last-child{border:0}.sortableList-item-content{color:var(--pr-t-color-text);text-decoration:none;inline-size:100%}.sortableList-item-content-description{margin:0;font:var(--components-sortableList-description-font);font-size:var(--components-sortableList-description-fontSize);line-height:var(--components-sortableList-description-lineHeight)}.sortableList-item-content-helper{margin:0;color:var(--palettes-neutral-600);font:var(--components-sortableList-helper-font)}.sortableList-item-actions{margin-inline-start:auto;white-space:nowrap;padding-inline-start:0}.sortableList-item-handler.button{--icon-size: 1.25rem;--components-button-font: var(--pr-t-font-body-S);--components-button-paddingBlock: var(--pr-t-spacings-75);--components-button-paddingInline: var(--pr-t-spacings-100);--components-button-gap: var(--pr-t-spacings-75)}.sortableList-item-handler.button .numericBadge{--components-numericBadge-size: 1.25rem;--components-numericBadge-borderRadius: var(--pr-t-border-radius-small);--components-numericBadge-font: var(--pr-t-font-body-XS)}.sortableList-item-handler.button{--components-button-font-size: var(--pr-t-font-body-S-fontSize);--components-button-line-height: var(--pr-t-font-body-S-lineHeight)}.sortableList-item-handler.button:after{font-size:var(--pr-t-font-body-S-lineHeight);block-size:var(--pr-t-font-body-S-lineHeight)}.sortableList-item-handler.button{--components-button-padding: var(--pr-t-spacings-100);--components-button-backgroundColor: transparent;--components-button-color: var(--palettes-700, var(--pr-t-color-text-subtle));--components-button-boxShadow: none}.sortableList-item-handler.button:hover,.sortableList-item-handler.button:focus-visible{--components-button-color: var(--palettes-700, var(--pr-t-color-text-subtle));--components-button-backgroundColor: var(--palettes-50, var(--palettes-neutral-50))}.sortableList-item-handler.button:active{--components-button-backgroundColor: var(--palettes-100, var(--palettes-neutral-100))}.sortableList-item-handler.button:disabled{--components-button-backgroundColor: transparent;--components-button-color: var(--pr-t-color-text-disabled)}.sortableList-item-handler.button{--components-button-padding: var(--pr-t-spacings-50)}.sortableList-item-handler{color:var(--palettes-neutral-600);font-size:var(--components-sortableList-handler-size);cursor:move;inline-size:auto;border-radius:var(--pr-t-border-radius-small);align-self:center}.sortableList-item-handler:not(:has(.lucca-icon)):before{--icon-content: \"\\e9a4\";font-weight:var(--pr-t-font-fontWeight-regular);display:inline-block;vertical-align:text-bottom;font-style:normal;font-family:var(--icon-fontFamily);content:var(--icon-content)/\"\";-webkit-font-smoothing:antialiased;text-transform:none;vertical-align:top}.sortableList-clear{margin-block-start:var(--pr-t-spacings-50)}}@layer mods{.sortableList.mod-S{--components-sortableList-padding: var(--pr-t-spacings-75) var(--pr-t-spacings-100);--components-sortableList-handler-size: var(--pr-t-font-body-S-lineHeight);--components-sortableList-description-font: var(--pr-t-font-body-S);--components-sortableList-helper-font: var(--pr-t-font-body-XS);--components-sortableList-description-fontSize: var(--pr-t-font-body-S-fontSize);--components-sortableList-description-lineHeight: var(--pr-t-font-body-S-lineHeight)}.sortableList.mod-S .lucca-icon{--icon-size: 1.25rem}}@layer mods{.sortableList-item.mod-clickable{transition-duration:var(--commons-animations-durations-fast);transition-property:background-color;text-decoration:none;cursor:pointer}.sortableList-item.mod-clickable:hover{background-color:var(--palettes-neutral-50)}.sortableList-item.mod-S{--components-sortableList-padding: var(--pr-t-spacings-75) var(--pr-t-spacings-100);--components-sortableList-handler-size: var(--pr-t-font-body-S-lineHeight);--components-sortableList-description-font: var(--pr-t-font-body-S);--components-sortableList-helper-font: var(--pr-t-font-body-XS);--components-sortableList-description-fontSize: var(--pr-t-font-body-S-fontSize);--components-sortableList-description-lineHeight: var(--pr-t-font-body-S-lineHeight)}.sortableList-item.mod-S .lucca-icon{--icon-size: 1.25rem}}@layer components{:not(.sortableList)>.sortableList-item{--components-sortableList-padding: var(--pr-t-spacings-100) var(--pr-t-spacings-150);--components-sortableList-handler-size: var(--pr-t-font-body-M-lineHeight);--components-sortableList-description-font: var(--pr-t-font-body-M);--components-sortableList-helper-font: var(--pr-t-font-body-S);--components-sortableList-description-fontSize: var(--pr-t-font-body-M-fontSize);--components-sortableList-description-lineHeight: var(--pr-t-font-body-M-lineHeight)}}\n"], dependencies: [{ kind: "component", type: ClearComponent, selector: "lu-clear", inputs: ["intl", "size", "disabled", "palette", "inverted"], outputs: ["onClear"], exportAs: ["luClearer"] }, { kind: "directive", type: CdkDragHandle, selector: "[cdkDragHandle]", inputs: ["cdkDragHandleDisabled"] }, { kind: "component", type: IconComponent, selector: "lu-icon, pr-icon", inputs: ["icon", "alt", "size", "color", "AI"] }, { kind: "ngmodule", type: LuTooltipModule }, { kind: "directive", type: PortalDirective, selector: "[luPortal]", inputs: ["luPortal", "luPortalContext"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
42
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.2.1", ngImport: i0, type: SortableListItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
43
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.2.1", type: SortableListItemComponent, isStandalone: true, selector: "lu-sortable-list-item", inputs: { label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: true, transformFunction: null }, helperMessage: { classPropertyName: "helperMessage", publicName: "helperMessage", isSignal: true, isRequired: false, transformFunction: null }, clickable: { classPropertyName: "clickable", publicName: "clickable", isSignal: true, isRequired: false, transformFunction: null }, unclearable: { classPropertyName: "unclearable", publicName: "unclearable", isSignal: true, isRequired: false, transformFunction: null }, drag: { classPropertyName: "drag", publicName: "drag", isSignal: true, isRequired: false, transformFunction: null }, small: { classPropertyName: "small", publicName: "small", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { delete: "delete" }, host: { attributes: { "role": "listitem" }, properties: { "class.mod-clickable": "clickable()", "class.mod-S": "small()" }, classAttribute: "sortableList-item" }, ngImport: i0, template: "@if (drag()) {\n\t<span class=\"sortableList-item-handler button\" cdkDragHandle>\n\t\t<lu-icon icon=\"drag\" />\n\t</span>\n}\n<div class=\"sortableList-item-content\">\n\t<p class=\"sortableList-item-content-description\"><ng-container *luPortal=\"label()\" /></p>\n\t@if (helperMessage()?.length) {\n\t\t<p class=\"sortableList-item-content-helper\">{{ helperMessage() }}</p>\n\t}\n</div>\n@if (!unclearable()) {\n\t<lu-clear class=\"sortableList-clear\" (onClear)=\"delete.emit()\" />\n}\n", styles: ["@charset \"UTF-8\";@layer components{.sortableList{--components-sortableList-padding: var(--pr-t-spacings-100) var(--pr-t-spacings-150);--components-sortableList-handler-size: var(--pr-t-font-body-M-lineHeight);--components-sortableList-description-font: var(--pr-t-font-body-M);--components-sortableList-helper-font: var(--pr-t-font-body-S);--components-sortableList-description-fontSize: var(--pr-t-font-body-M-fontSize);--components-sortableList-description-lineHeight: var(--pr-t-font-body-M-lineHeight);background-color:var(--pr-t-elevation-surface-raised);border:var(--commons-divider-width) solid var(--commons-divider-color);border-radius:var(--pr-t-border-radius-default);list-style:none;padding:0;overflow:hidden}.sortableList-item{border-block-end-width:var(--commons-divider-width);border-block-end-color:var(--commons-divider-color);border-block-end-style:solid;color:var(--pr-t-color-text);display:flex;position:relative;text-decoration:none;gap:var(--pr-t-spacings-100);padding:var(--components-sortableList-padding)!important}.sortableList-item:last-child{border:0}.sortableList-item-content{color:var(--pr-t-color-text);text-decoration:none;inline-size:100%}.sortableList-item-content-description{margin:0;font:var(--components-sortableList-description-font);font-size:var(--components-sortableList-description-fontSize);line-height:var(--components-sortableList-description-lineHeight)}.sortableList-item-content-helper{margin:0;color:var(--palettes-neutral-600);font:var(--components-sortableList-helper-font)}.sortableList-item-actions{margin-inline-start:auto;white-space:nowrap;padding-inline-start:0}.sortableList-item-handler.button{--icon-size: 1.25rem;--components-button-font: var(--pr-t-font-body-S);--components-button-paddingBlock: var(--pr-t-spacings-75);--components-button-paddingInline: var(--pr-t-spacings-100);--components-button-gap: var(--pr-t-spacings-75)}.sortableList-item-handler.button .numericBadge{--components-numericBadge-size: 1.25rem;--components-numericBadge-borderRadius: var(--pr-t-border-radius-small);--components-numericBadge-font: var(--pr-t-font-body-XS)}.sortableList-item-handler.button{--components-button-font-size: var(--pr-t-font-body-S-fontSize);--components-button-line-height: var(--pr-t-font-body-S-lineHeight)}.sortableList-item-handler.button:after{font-size:var(--pr-t-font-body-S-lineHeight);block-size:var(--pr-t-font-body-S-lineHeight)}.sortableList-item-handler.button{--components-button-padding: var(--pr-t-spacings-100);--components-button-backgroundColor: transparent;--components-button-color: var(--palettes-700, var(--pr-t-color-text-subtle));--components-button-boxShadow: none}.sortableList-item-handler.button:hover,.sortableList-item-handler.button:focus-visible{--components-button-color: var(--palettes-700, var(--pr-t-color-text-subtle));--components-button-backgroundColor: var(--palettes-50, var(--palettes-neutral-50))}.sortableList-item-handler.button:active{--components-button-backgroundColor: var(--palettes-100, var(--palettes-neutral-100))}.sortableList-item-handler.button:disabled{--components-button-backgroundColor: transparent;--components-button-color: var(--pr-t-color-text-disabled)}.sortableList-item-handler.button{--components-button-padding: var(--pr-t-spacings-50)}.sortableList-item-handler{color:var(--palettes-neutral-600);font-size:var(--components-sortableList-handler-size);cursor:move;inline-size:auto;border-radius:var(--pr-t-border-radius-small);align-self:center}.sortableList-item-handler:not(:has(.lucca-icon)):before{--icon-content: \"\\e9a4\";font-weight:var(--pr-t-font-fontWeight-regular);display:inline-block;vertical-align:text-bottom;font-style:normal;font-family:var(--icon-fontFamily);content:var(--icon-content)/\"\";-webkit-font-smoothing:antialiased;text-transform:none;vertical-align:top}.sortableList-clear{margin-block-start:var(--pr-t-spacings-50)}}@layer mods{.sortableList.mod-S{--components-sortableList-padding: var(--pr-t-spacings-75) var(--pr-t-spacings-100);--components-sortableList-handler-size: var(--pr-t-font-body-S-lineHeight);--components-sortableList-description-font: var(--pr-t-font-body-S);--components-sortableList-helper-font: var(--pr-t-font-body-XS);--components-sortableList-description-fontSize: var(--pr-t-font-body-S-fontSize);--components-sortableList-description-lineHeight: var(--pr-t-font-body-S-lineHeight)}.sortableList.mod-S .lucca-icon{--icon-size: 1.25rem}}@layer mods{.sortableList-item.mod-clickable{transition-duration:var(--commons-animations-durations-fast);transition-property:background-color;text-decoration:none;cursor:pointer}.sortableList-item.mod-clickable:hover{background-color:var(--palettes-neutral-50)}.sortableList-item.mod-S{--components-sortableList-padding: var(--pr-t-spacings-75) var(--pr-t-spacings-100);--components-sortableList-handler-size: var(--pr-t-font-body-S-lineHeight);--components-sortableList-description-font: var(--pr-t-font-body-S);--components-sortableList-helper-font: var(--pr-t-font-body-XS);--components-sortableList-description-fontSize: var(--pr-t-font-body-S-fontSize);--components-sortableList-description-lineHeight: var(--pr-t-font-body-S-lineHeight)}.sortableList-item.mod-S .lucca-icon{--icon-size: 1.25rem}}@layer components{:not(.sortableList)>.sortableList-item{--components-sortableList-padding: var(--pr-t-spacings-100) var(--pr-t-spacings-150);--components-sortableList-handler-size: var(--pr-t-font-body-M-lineHeight);--components-sortableList-description-font: var(--pr-t-font-body-M);--components-sortableList-helper-font: var(--pr-t-font-body-S);--components-sortableList-description-fontSize: var(--pr-t-font-body-M-fontSize);--components-sortableList-description-lineHeight: var(--pr-t-font-body-M-lineHeight)}}\n"], dependencies: [{ kind: "component", type: ClearComponent, selector: "lu-clear", inputs: ["intl", "size", "disabled", "palette", "inverted"], outputs: ["onClear"], exportAs: ["luClearer"] }, { kind: "directive", type: CdkDragHandle, selector: "[cdkDragHandle]", inputs: ["cdkDragHandleDisabled"] }, { kind: "component", type: IconComponent, selector: "lu-icon, pr-icon", inputs: ["icon", "alt", "size", "color", "AI"] }, { kind: "ngmodule", type: LuTooltipModule }, { kind: "directive", type: PortalDirective, selector: "[luPortal]", inputs: ["luPortal", "luPortalContext"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
44
44
  }
45
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: SortableListItemComponent, decorators: [{
45
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.2.1", ngImport: i0, type: SortableListItemComponent, decorators: [{
46
46
  type: Component,
47
47
  args: [{ selector: 'lu-sortable-list-item', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, imports: [ClearComponent, CdkDragHandle, IconComponent, LuTooltipModule, PortalDirective], host: {
48
48
  class: 'sortableList-item',
@@ -60,10 +60,10 @@ class SortableListComponent {
60
60
  this.small = input(false, { ...(ngDevMode ? { debugName: "small" } : /* istanbul ignore next */ {}), transform: luBooleanAttribute });
61
61
  this.sortableListItems = contentChildren(SortableListItemComponent, { ...(ngDevMode ? { debugName: "sortableListItems" } : /* istanbul ignore next */ {}), descendants: true });
62
62
  }
63
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: SortableListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
64
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.4", type: SortableListComponent, isStandalone: true, selector: "lu-sortable-list", inputs: { small: { classPropertyName: "small", publicName: "small", isSignal: true, isRequired: false, transformFunction: null } }, queries: [{ propertyName: "sortableListItems", predicate: SortableListItemComponent, descendants: true, isSignal: true }], ngImport: i0, template: "<ul class=\"sortableList\" [class.mod-S]=\"small()\">\n\t@if (sortableListItems().length) {\n\t\t<ng-content />\n\t}\n</ul>\n", styles: ["@charset \"UTF-8\";@layer components{.sortableList{--components-sortableList-padding: var(--pr-t-spacings-100) var(--pr-t-spacings-150);--components-sortableList-handler-size: var(--pr-t-font-body-M-lineHeight);--components-sortableList-description-font: var(--pr-t-font-body-M);--components-sortableList-helper-font: var(--pr-t-font-body-S);--components-sortableList-description-fontSize: var(--pr-t-font-body-M-fontSize);--components-sortableList-description-lineHeight: var(--pr-t-font-body-M-lineHeight);background-color:var(--pr-t-elevation-surface-raised);border:var(--commons-divider-width) solid var(--commons-divider-color);border-radius:var(--pr-t-border-radius-default);list-style:none;padding:0;overflow:hidden}.sortableList-item{border-block-end-width:var(--commons-divider-width);border-block-end-color:var(--commons-divider-color);border-block-end-style:solid;color:var(--pr-t-color-text);display:flex;position:relative;text-decoration:none;gap:var(--pr-t-spacings-100);padding:var(--components-sortableList-padding)!important}.sortableList-item:last-child{border:0}.sortableList-item-content{color:var(--pr-t-color-text);text-decoration:none;inline-size:100%}.sortableList-item-content-description{margin:0;font:var(--components-sortableList-description-font);font-size:var(--components-sortableList-description-fontSize);line-height:var(--components-sortableList-description-lineHeight)}.sortableList-item-content-helper{margin:0;color:var(--palettes-neutral-600);font:var(--components-sortableList-helper-font)}.sortableList-item-actions{margin-inline-start:auto;white-space:nowrap;padding-inline-start:0}.sortableList-item-handler.button{--icon-size: 1.25rem;--components-button-font: var(--pr-t-font-body-S);--components-button-paddingBlock: var(--pr-t-spacings-75);--components-button-paddingInline: var(--pr-t-spacings-100);--components-button-gap: var(--pr-t-spacings-75)}.sortableList-item-handler.button .numericBadge{--components-numericBadge-size: 1.25rem;--components-numericBadge-borderRadius: var(--pr-t-border-radius-small);--components-numericBadge-font: var(--pr-t-font-body-XS)}.sortableList-item-handler.button{--components-button-font-size: var(--pr-t-font-body-S-fontSize);--components-button-line-height: var(--pr-t-font-body-S-lineHeight)}.sortableList-item-handler.button:after{font-size:var(--pr-t-font-body-S-lineHeight);block-size:var(--pr-t-font-body-S-lineHeight)}.sortableList-item-handler.button{--components-button-padding: var(--pr-t-spacings-100);--components-button-backgroundColor: transparent;--components-button-color: var(--palettes-700, var(--pr-t-color-text-subtle));--components-button-boxShadow: none}.sortableList-item-handler.button:hover,.sortableList-item-handler.button:focus-visible{--components-button-color: var(--palettes-700, var(--pr-t-color-text-subtle));--components-button-backgroundColor: var(--palettes-50, var(--palettes-neutral-50))}.sortableList-item-handler.button:active{--components-button-backgroundColor: var(--palettes-100, var(--palettes-neutral-100))}.sortableList-item-handler.button:disabled{--components-button-backgroundColor: transparent;--components-button-color: var(--pr-t-color-text-disabled)}.sortableList-item-handler.button{--components-button-padding: var(--pr-t-spacings-50)}.sortableList-item-handler{color:var(--palettes-neutral-600);font-size:var(--components-sortableList-handler-size);cursor:move;inline-size:auto;border-radius:var(--pr-t-border-radius-small);align-self:center}.sortableList-item-handler:not(:has(.lucca-icon)):before{--icon-content: \"\\e9a4\";font-weight:var(--pr-t-font-fontWeight-regular);display:inline-block;vertical-align:text-bottom;font-style:normal;font-family:var(--icon-fontFamily);content:var(--icon-content)/\"\";-webkit-font-smoothing:antialiased;text-transform:none;vertical-align:top}.sortableList-clear{margin-block-start:var(--pr-t-spacings-50)}}@layer mods{.sortableList.mod-S{--components-sortableList-padding: var(--pr-t-spacings-75) var(--pr-t-spacings-100);--components-sortableList-handler-size: var(--pr-t-font-body-S-lineHeight);--components-sortableList-description-font: var(--pr-t-font-body-S);--components-sortableList-helper-font: var(--pr-t-font-body-XS);--components-sortableList-description-fontSize: var(--pr-t-font-body-S-fontSize);--components-sortableList-description-lineHeight: var(--pr-t-font-body-S-lineHeight)}.sortableList.mod-S .lucca-icon{--icon-size: 1.25rem}}@layer mods{.sortableList-item.mod-clickable{transition-duration:var(--commons-animations-durations-fast);transition-property:background-color;text-decoration:none;cursor:pointer}.sortableList-item.mod-clickable:hover{background-color:var(--palettes-neutral-50)}.sortableList-item.mod-S{--components-sortableList-padding: var(--pr-t-spacings-75) var(--pr-t-spacings-100);--components-sortableList-handler-size: var(--pr-t-font-body-S-lineHeight);--components-sortableList-description-font: var(--pr-t-font-body-S);--components-sortableList-helper-font: var(--pr-t-font-body-XS);--components-sortableList-description-fontSize: var(--pr-t-font-body-S-fontSize);--components-sortableList-description-lineHeight: var(--pr-t-font-body-S-lineHeight)}.sortableList-item.mod-S .lucca-icon{--icon-size: 1.25rem}}@layer components{:not(.sortableList)>.sortableList-item{--components-sortableList-padding: var(--pr-t-spacings-100) var(--pr-t-spacings-150);--components-sortableList-handler-size: var(--pr-t-font-body-M-lineHeight);--components-sortableList-description-font: var(--pr-t-font-body-M);--components-sortableList-helper-font: var(--pr-t-font-body-S);--components-sortableList-description-fontSize: var(--pr-t-font-body-M-fontSize);--components-sortableList-description-lineHeight: var(--pr-t-font-body-M-lineHeight)}}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
63
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.2.1", ngImport: i0, type: SortableListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
64
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.2.1", type: SortableListComponent, isStandalone: true, selector: "lu-sortable-list", inputs: { small: { classPropertyName: "small", publicName: "small", isSignal: true, isRequired: false, transformFunction: null } }, queries: [{ propertyName: "sortableListItems", predicate: SortableListItemComponent, descendants: true, isSignal: true }], ngImport: i0, template: "<ul class=\"sortableList\" [class.mod-S]=\"small()\">\n\t@if (sortableListItems().length) {\n\t\t<ng-content />\n\t}\n</ul>\n", styles: ["@charset \"UTF-8\";@layer components{.sortableList{--components-sortableList-padding: var(--pr-t-spacings-100) var(--pr-t-spacings-150);--components-sortableList-handler-size: var(--pr-t-font-body-M-lineHeight);--components-sortableList-description-font: var(--pr-t-font-body-M);--components-sortableList-helper-font: var(--pr-t-font-body-S);--components-sortableList-description-fontSize: var(--pr-t-font-body-M-fontSize);--components-sortableList-description-lineHeight: var(--pr-t-font-body-M-lineHeight);background-color:var(--pr-t-elevation-surface-raised);border:var(--commons-divider-width) solid var(--commons-divider-color);border-radius:var(--pr-t-border-radius-default);list-style:none;padding:0;overflow:hidden}.sortableList-item{border-block-end-width:var(--commons-divider-width);border-block-end-color:var(--commons-divider-color);border-block-end-style:solid;color:var(--pr-t-color-text);display:flex;position:relative;text-decoration:none;gap:var(--pr-t-spacings-100);padding:var(--components-sortableList-padding)!important}.sortableList-item:last-child{border:0}.sortableList-item-content{color:var(--pr-t-color-text);text-decoration:none;inline-size:100%}.sortableList-item-content-description{margin:0;font:var(--components-sortableList-description-font);font-size:var(--components-sortableList-description-fontSize);line-height:var(--components-sortableList-description-lineHeight)}.sortableList-item-content-helper{margin:0;color:var(--palettes-neutral-600);font:var(--components-sortableList-helper-font)}.sortableList-item-actions{margin-inline-start:auto;white-space:nowrap;padding-inline-start:0}.sortableList-item-handler.button{--icon-size: 1.25rem;--components-button-font: var(--pr-t-font-body-S);--components-button-paddingBlock: var(--pr-t-spacings-75);--components-button-paddingInline: var(--pr-t-spacings-100);--components-button-gap: var(--pr-t-spacings-75)}.sortableList-item-handler.button .numericBadge{--components-numericBadge-size: 1.25rem;--components-numericBadge-borderRadius: var(--pr-t-border-radius-small);--components-numericBadge-font: var(--pr-t-font-body-XS)}.sortableList-item-handler.button{--components-button-font-size: var(--pr-t-font-body-S-fontSize);--components-button-line-height: var(--pr-t-font-body-S-lineHeight)}.sortableList-item-handler.button:after{font-size:var(--pr-t-font-body-S-lineHeight);block-size:var(--pr-t-font-body-S-lineHeight)}.sortableList-item-handler.button{--components-button-padding: var(--pr-t-spacings-100);--components-button-backgroundColor: transparent;--components-button-color: var(--palettes-700, var(--pr-t-color-text-subtle));--components-button-boxShadow: none}.sortableList-item-handler.button:hover,.sortableList-item-handler.button:focus-visible{--components-button-color: var(--palettes-700, var(--pr-t-color-text-subtle));--components-button-backgroundColor: var(--palettes-50, var(--palettes-neutral-50))}.sortableList-item-handler.button:active{--components-button-backgroundColor: var(--palettes-100, var(--palettes-neutral-100))}.sortableList-item-handler.button:disabled{--components-button-backgroundColor: transparent;--components-button-color: var(--pr-t-color-text-disabled)}.sortableList-item-handler.button{--components-button-padding: var(--pr-t-spacings-50)}.sortableList-item-handler{color:var(--palettes-neutral-600);font-size:var(--components-sortableList-handler-size);cursor:move;inline-size:auto;border-radius:var(--pr-t-border-radius-small);align-self:center}.sortableList-item-handler:not(:has(.lucca-icon)):before{--icon-content: \"\\e9a4\";font-weight:var(--pr-t-font-fontWeight-regular);display:inline-block;vertical-align:text-bottom;font-style:normal;font-family:var(--icon-fontFamily);content:var(--icon-content)/\"\";-webkit-font-smoothing:antialiased;text-transform:none;vertical-align:top}.sortableList-clear{margin-block-start:var(--pr-t-spacings-50)}}@layer mods{.sortableList.mod-S{--components-sortableList-padding: var(--pr-t-spacings-75) var(--pr-t-spacings-100);--components-sortableList-handler-size: var(--pr-t-font-body-S-lineHeight);--components-sortableList-description-font: var(--pr-t-font-body-S);--components-sortableList-helper-font: var(--pr-t-font-body-XS);--components-sortableList-description-fontSize: var(--pr-t-font-body-S-fontSize);--components-sortableList-description-lineHeight: var(--pr-t-font-body-S-lineHeight)}.sortableList.mod-S .lucca-icon{--icon-size: 1.25rem}}@layer mods{.sortableList-item.mod-clickable{transition-duration:var(--commons-animations-durations-fast);transition-property:background-color;text-decoration:none;cursor:pointer}.sortableList-item.mod-clickable:hover{background-color:var(--palettes-neutral-50)}.sortableList-item.mod-S{--components-sortableList-padding: var(--pr-t-spacings-75) var(--pr-t-spacings-100);--components-sortableList-handler-size: var(--pr-t-font-body-S-lineHeight);--components-sortableList-description-font: var(--pr-t-font-body-S);--components-sortableList-helper-font: var(--pr-t-font-body-XS);--components-sortableList-description-fontSize: var(--pr-t-font-body-S-fontSize);--components-sortableList-description-lineHeight: var(--pr-t-font-body-S-lineHeight)}.sortableList-item.mod-S .lucca-icon{--icon-size: 1.25rem}}@layer components{:not(.sortableList)>.sortableList-item{--components-sortableList-padding: var(--pr-t-spacings-100) var(--pr-t-spacings-150);--components-sortableList-handler-size: var(--pr-t-font-body-M-lineHeight);--components-sortableList-description-font: var(--pr-t-font-body-M);--components-sortableList-helper-font: var(--pr-t-font-body-S);--components-sortableList-description-fontSize: var(--pr-t-font-body-M-fontSize);--components-sortableList-description-lineHeight: var(--pr-t-font-body-M-lineHeight)}}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
65
65
  }
66
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: SortableListComponent, decorators: [{
66
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.2.1", ngImport: i0, type: SortableListComponent, decorators: [{
67
67
  type: Component,
68
68
  args: [{ selector: 'lu-sortable-list', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<ul class=\"sortableList\" [class.mod-S]=\"small()\">\n\t@if (sortableListItems().length) {\n\t\t<ng-content />\n\t}\n</ul>\n", styles: ["@charset \"UTF-8\";@layer components{.sortableList{--components-sortableList-padding: var(--pr-t-spacings-100) var(--pr-t-spacings-150);--components-sortableList-handler-size: var(--pr-t-font-body-M-lineHeight);--components-sortableList-description-font: var(--pr-t-font-body-M);--components-sortableList-helper-font: var(--pr-t-font-body-S);--components-sortableList-description-fontSize: var(--pr-t-font-body-M-fontSize);--components-sortableList-description-lineHeight: var(--pr-t-font-body-M-lineHeight);background-color:var(--pr-t-elevation-surface-raised);border:var(--commons-divider-width) solid var(--commons-divider-color);border-radius:var(--pr-t-border-radius-default);list-style:none;padding:0;overflow:hidden}.sortableList-item{border-block-end-width:var(--commons-divider-width);border-block-end-color:var(--commons-divider-color);border-block-end-style:solid;color:var(--pr-t-color-text);display:flex;position:relative;text-decoration:none;gap:var(--pr-t-spacings-100);padding:var(--components-sortableList-padding)!important}.sortableList-item:last-child{border:0}.sortableList-item-content{color:var(--pr-t-color-text);text-decoration:none;inline-size:100%}.sortableList-item-content-description{margin:0;font:var(--components-sortableList-description-font);font-size:var(--components-sortableList-description-fontSize);line-height:var(--components-sortableList-description-lineHeight)}.sortableList-item-content-helper{margin:0;color:var(--palettes-neutral-600);font:var(--components-sortableList-helper-font)}.sortableList-item-actions{margin-inline-start:auto;white-space:nowrap;padding-inline-start:0}.sortableList-item-handler.button{--icon-size: 1.25rem;--components-button-font: var(--pr-t-font-body-S);--components-button-paddingBlock: var(--pr-t-spacings-75);--components-button-paddingInline: var(--pr-t-spacings-100);--components-button-gap: var(--pr-t-spacings-75)}.sortableList-item-handler.button .numericBadge{--components-numericBadge-size: 1.25rem;--components-numericBadge-borderRadius: var(--pr-t-border-radius-small);--components-numericBadge-font: var(--pr-t-font-body-XS)}.sortableList-item-handler.button{--components-button-font-size: var(--pr-t-font-body-S-fontSize);--components-button-line-height: var(--pr-t-font-body-S-lineHeight)}.sortableList-item-handler.button:after{font-size:var(--pr-t-font-body-S-lineHeight);block-size:var(--pr-t-font-body-S-lineHeight)}.sortableList-item-handler.button{--components-button-padding: var(--pr-t-spacings-100);--components-button-backgroundColor: transparent;--components-button-color: var(--palettes-700, var(--pr-t-color-text-subtle));--components-button-boxShadow: none}.sortableList-item-handler.button:hover,.sortableList-item-handler.button:focus-visible{--components-button-color: var(--palettes-700, var(--pr-t-color-text-subtle));--components-button-backgroundColor: var(--palettes-50, var(--palettes-neutral-50))}.sortableList-item-handler.button:active{--components-button-backgroundColor: var(--palettes-100, var(--palettes-neutral-100))}.sortableList-item-handler.button:disabled{--components-button-backgroundColor: transparent;--components-button-color: var(--pr-t-color-text-disabled)}.sortableList-item-handler.button{--components-button-padding: var(--pr-t-spacings-50)}.sortableList-item-handler{color:var(--palettes-neutral-600);font-size:var(--components-sortableList-handler-size);cursor:move;inline-size:auto;border-radius:var(--pr-t-border-radius-small);align-self:center}.sortableList-item-handler:not(:has(.lucca-icon)):before{--icon-content: \"\\e9a4\";font-weight:var(--pr-t-font-fontWeight-regular);display:inline-block;vertical-align:text-bottom;font-style:normal;font-family:var(--icon-fontFamily);content:var(--icon-content)/\"\";-webkit-font-smoothing:antialiased;text-transform:none;vertical-align:top}.sortableList-clear{margin-block-start:var(--pr-t-spacings-50)}}@layer mods{.sortableList.mod-S{--components-sortableList-padding: var(--pr-t-spacings-75) var(--pr-t-spacings-100);--components-sortableList-handler-size: var(--pr-t-font-body-S-lineHeight);--components-sortableList-description-font: var(--pr-t-font-body-S);--components-sortableList-helper-font: var(--pr-t-font-body-XS);--components-sortableList-description-fontSize: var(--pr-t-font-body-S-fontSize);--components-sortableList-description-lineHeight: var(--pr-t-font-body-S-lineHeight)}.sortableList.mod-S .lucca-icon{--icon-size: 1.25rem}}@layer mods{.sortableList-item.mod-clickable{transition-duration:var(--commons-animations-durations-fast);transition-property:background-color;text-decoration:none;cursor:pointer}.sortableList-item.mod-clickable:hover{background-color:var(--palettes-neutral-50)}.sortableList-item.mod-S{--components-sortableList-padding: var(--pr-t-spacings-75) var(--pr-t-spacings-100);--components-sortableList-handler-size: var(--pr-t-font-body-S-lineHeight);--components-sortableList-description-font: var(--pr-t-font-body-S);--components-sortableList-helper-font: var(--pr-t-font-body-XS);--components-sortableList-description-fontSize: var(--pr-t-font-body-S-fontSize);--components-sortableList-description-lineHeight: var(--pr-t-font-body-S-lineHeight)}.sortableList-item.mod-S .lucca-icon{--icon-size: 1.25rem}}@layer components{:not(.sortableList)>.sortableList-item{--components-sortableList-padding: var(--pr-t-spacings-100) var(--pr-t-spacings-150);--components-sortableList-handler-size: var(--pr-t-font-body-M-lineHeight);--components-sortableList-description-font: var(--pr-t-font-body-M);--components-sortableList-helper-font: var(--pr-t-font-body-S);--components-sortableList-description-fontSize: var(--pr-t-font-body-M-fontSize);--components-sortableList-description-lineHeight: var(--pr-t-font-body-M-lineHeight)}}\n"] }]
69
69
  }], propDecorators: { small: [{ type: i0.Input, args: [{ isSignal: true, alias: "small", required: false }] }], sortableListItems: [{ type: i0.ContentChildren, args: [i0.forwardRef(() => SortableListItemComponent), { ...{ descendants: true }, isSignal: true }] }] } });
@@ -36,10 +36,10 @@ class StatusBadgeComponent {
36
36
  ngOnChanges() {
37
37
  this.#luClass.setState({ [`palette-${this.palette()}`]: !!this.palette(), [`mod-${this.size()}`]: true });
38
38
  }
39
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: StatusBadgeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
40
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.4", type: StatusBadgeComponent, isStandalone: true, selector: "lu-status-badge", inputs: { withEllipsis: { classPropertyName: "withEllipsis", publicName: "withEllipsis", isSignal: true, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: true, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, palette: { classPropertyName: "palette", publicName: "palette", isSignal: true, isRequired: false, transformFunction: null } }, host: { classAttribute: "statusBadge" }, providers: [LuClass], usesOnChanges: true, ngImport: i0, template: "@if (withEllipsis()) {\n\t<span class=\"statusBadge-content pr-u-ellipsis\" luTooltip luTooltipWhenEllipsis>{{ label() }}</span>\n} @else {\n\t{{ label() }}\n}\n", styles: ["@charset \"UTF-8\";@layer components{.statusBadge{--components-statusBadge-fontSize: var(--pr-t-font-body-S-fontSize);--components-statusBadge-lineHeight: var(--pr-t-font-body-XS-lineHeight);--components-statusBadge-dot-size: .5rem;--components-statusBadge-dot-top: var(--pr-t-spacings-50);align-items:flex-start;background-color:var(--palettes-100, var(--palettes-product-100));border-radius:var(--pr-t-border-radius-full);display:inline-flex;font-size:var(--components-statusBadge-fontSize);font-weight:var(--pr-t-font-fontWeight-regular);font-family:var(--pr-t-font-family);line-height:var(--components-statusBadge-lineHeight);gap:var(--pr-t-spacings-50);padding-block:calc(var(--pr-t-spacings-50) / 2);padding-inline:var(--pr-t-spacings-75) var(--pr-t-spacings-100);white-space:nowrap;max-inline-size:100%;color:var(--pr-t-color-text)}.statusBadge:before{background-color:var(--palettes-700, var(--palettes-product-700));border-radius:var(--pr-t-border-radius-full);content:\"\\a0\"/\"\";display:block;block-size:var(--components-statusBadge-dot-size);flex-shrink:0;inline-size:var(--components-statusBadge-dot-size);inset-block-start:var(--components-statusBadge-dot-top);position:relative}.statusBadge-content{overflow:hidden;text-overflow:ellipsis;outline:none}}@layer mods{.statusBadge.mod-L{--components-statusBadge-fontSize: var(--pr-t-font-body-M-fontSize);--components-statusBadge-lineHeight: var(--pr-t-font-body-S-lineHeight);--components-statusBadge-dot-size: calc(var(--pr-t-spacings-100) + var(--pr-t-spacings-25));--components-statusBadge-dot-top: .325rem}}.statusBadge:has(.statusBadge-content:focus-visible){outline:2px solid var(--palettes-700, var(--palettes-product-700));outline-offset:2px}\n"], dependencies: [{ kind: "ngmodule", type: LuTooltipModule }, { kind: "directive", type: i1.LuTooltipTriggerDirective, selector: "[luTooltip],[prTooltip]", inputs: ["luTooltip", "prTooltip", "luTooltipEnterDelay", "prTooltipEnterDelay", "luTooltipLeaveDelay", "prTooltipLeaveDelay", "luTooltipDisabled", "prTooltipDisabled", "luTooltipOnlyForDisplay", "prTooltipOnlyForDisplay", "luTooltipPosition", "prTooltipPosition", "luTooltipWhenEllipsis", "prTooltipWhenEllipsis", "luTooltipAnchor", "prTooltipAnchor", "luTooltipTriggerAnchor", "prTooltipTriggerAnchor", "id"], exportAs: ["luTooltip"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
39
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.2.1", ngImport: i0, type: StatusBadgeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
40
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.2.1", type: StatusBadgeComponent, isStandalone: true, selector: "lu-status-badge", inputs: { withEllipsis: { classPropertyName: "withEllipsis", publicName: "withEllipsis", isSignal: true, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: true, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, palette: { classPropertyName: "palette", publicName: "palette", isSignal: true, isRequired: false, transformFunction: null } }, host: { classAttribute: "statusBadge" }, providers: [LuClass], usesOnChanges: true, ngImport: i0, template: "@if (withEllipsis()) {\n\t<span class=\"statusBadge-content pr-u-ellipsis\" luTooltip luTooltipWhenEllipsis>{{ label() }}</span>\n} @else {\n\t{{ label() }}\n}\n", styles: ["@charset \"UTF-8\";@layer components{.statusBadge{--components-statusBadge-fontSize: var(--pr-t-font-body-S-fontSize);--components-statusBadge-lineHeight: var(--pr-t-font-body-XS-lineHeight);--components-statusBadge-dot-size: .5rem;--components-statusBadge-dot-top: var(--pr-t-spacings-50);align-items:flex-start;background-color:var(--palettes-100, var(--palettes-product-100));border-radius:var(--pr-t-border-radius-full);display:inline-flex;font-size:var(--components-statusBadge-fontSize);font-weight:var(--pr-t-font-fontWeight-regular);font-family:var(--pr-t-font-family);line-height:var(--components-statusBadge-lineHeight);gap:var(--pr-t-spacings-50);padding-block:calc(var(--pr-t-spacings-50) / 2);padding-inline:var(--pr-t-spacings-75) var(--pr-t-spacings-100);white-space:nowrap;max-inline-size:100%;color:var(--pr-t-color-text)}.statusBadge:before{background-color:var(--palettes-700, var(--palettes-product-700));border-radius:var(--pr-t-border-radius-full);content:\"\\a0\"/\"\";display:block;block-size:var(--components-statusBadge-dot-size);flex-shrink:0;inline-size:var(--components-statusBadge-dot-size);inset-block-start:var(--components-statusBadge-dot-top);position:relative}.statusBadge-content{overflow:hidden;text-overflow:ellipsis;outline:none}}@layer mods{.statusBadge.mod-L{--components-statusBadge-fontSize: var(--pr-t-font-body-M-fontSize);--components-statusBadge-lineHeight: var(--pr-t-font-body-S-lineHeight);--components-statusBadge-dot-size: calc(var(--pr-t-spacings-100) + var(--pr-t-spacings-25));--components-statusBadge-dot-top: .325rem}}.statusBadge:has(.statusBadge-content:focus-visible){outline:2px solid var(--palettes-700, var(--palettes-product-700));outline-offset:2px}\n"], dependencies: [{ kind: "ngmodule", type: LuTooltipModule }, { kind: "directive", type: i1.LuTooltipTriggerDirective, selector: "[luTooltip],[prTooltip]", inputs: ["luTooltip", "prTooltip", "luTooltipEnterDelay", "prTooltipEnterDelay", "luTooltipLeaveDelay", "prTooltipLeaveDelay", "luTooltipDisabled", "prTooltipDisabled", "luTooltipOnlyForDisplay", "prTooltipOnlyForDisplay", "luTooltipPosition", "prTooltipPosition", "luTooltipWhenEllipsis", "prTooltipWhenEllipsis", "luTooltipAnchor", "prTooltipAnchor", "luTooltipTriggerAnchor", "prTooltipTriggerAnchor", "id"], exportAs: ["luTooltip"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
41
41
  }
42
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: StatusBadgeComponent, decorators: [{
42
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.2.1", ngImport: i0, type: StatusBadgeComponent, decorators: [{
43
43
  type: Component,
44
44
  args: [{ selector: 'lu-status-badge', encapsulation: ViewEncapsulation.None, providers: [LuClass], imports: [LuTooltipModule], changeDetection: ChangeDetectionStrategy.OnPush, host: {
45
45
  class: 'statusBadge',
@@ -6,10 +6,10 @@ class TableOfContentLinkDirective {
6
6
  constructor() {
7
7
  this.template = inject(TemplateRef);
8
8
  }
9
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: TableOfContentLinkDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
10
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.1.4", type: TableOfContentLinkDirective, isStandalone: true, selector: "[luTableOfContentLink]", ngImport: i0 }); }
9
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.2.1", ngImport: i0, type: TableOfContentLinkDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
10
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.2.1", type: TableOfContentLinkDirective, isStandalone: true, selector: "[luTableOfContentLink]", ngImport: i0 }); }
11
11
  }
12
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: TableOfContentLinkDirective, decorators: [{
12
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.2.1", ngImport: i0, type: TableOfContentLinkDirective, decorators: [{
13
13
  type: Directive,
14
14
  args: [{
15
15
  selector: '[luTableOfContentLink]',
@@ -21,10 +21,10 @@ class TableOfContentComponent {
21
21
  this.links = contentChildren(TableOfContentLinkDirective, /* @ts-ignore */
22
22
  ...(ngDevMode ? [{ debugName: "links" }] : /* istanbul ignore next */ []));
23
23
  }
24
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: TableOfContentComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
25
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.4", type: TableOfContentComponent, isStandalone: true, selector: "lu-table-of-content", host: { attributes: { "role": "navigation" }, classAttribute: "tableOfContent" }, queries: [{ propertyName: "links", predicate: TableOfContentLinkDirective, isSignal: true }], ngImport: i0, template: "<ul class=\"tableOfContent-list\">\n\t@for (link of links(); track $index) {\n\t\t<li class=\"tableOfContent-list-item\">\n\t\t\t<ng-container *ngTemplateOutlet=\"link.template\" />\n\t\t</li>\n\t}\n</ul>\n", styles: ["@layer components{.tableOfContent{--components-tableOfContent-default-palette-50: var(--palettes-product-50);--components-tableOfContent-default-palette-100: var(--palettes-product-100);--components-tableOfContent-default-palette-200: var(--palettes-product-200);--components-tableOfContent-default-palette-300: var(--palettes-product-300);--components-tableOfContent-default-palette-400: var(--palettes-product-400);--components-tableOfContent-default-palette-500: var(--palettes-product-500);--components-tableOfContent-default-palette-600: var(--palettes-product-600);--components-tableOfContent-default-palette-700: var(--palettes-product-700);--components-tableOfContent-default-palette-800: var(--palettes-product-800);--components-tableOfContent-default-palette-900: var(--palettes-product-900);--components-tableOfContent-item-padding: var(--pr-t-spacings-100) var(--pr-t-spacings-200);--components-tableOfContent-item-border-width: 2px;align-items:flex-start;display:flex;flex-direction:column;position:sticky}.tableOfContent-list{margin:0;padding:0;list-style-type:none}.tableOfContent-list-item-action,.tableOfContent-list-item>a{padding:0;border:0;inline-size:100%;background-color:transparent;color:inherit;text-align:start;font:inherit;border-radius:var(--pr-t-border-radius-default);color:var(--palettes-neutral-700);cursor:pointer;display:block;outline:none;padding:var(--components-tableOfContent-item-padding);position:relative;transition:all var(--commons-animations-durations-standard);text-decoration:none;inline-size:auto}}@layer mods{.tableOfContent-list-item-action:not(.disabled,.is-disabled,[disabled]):is(:hover),.tableOfContent-list-item>a:not(.disabled,.is-disabled,[disabled]):is(:hover){background-color:var(--palettes-neutral-50);color:var(--palettes-neutral-700)}.tableOfContent-list-item-action:not(.disabled,.is-disabled,[disabled]):is(:focus),.tableOfContent-list-item>a:not(.disabled,.is-disabled,[disabled]):is(:focus){background-color:var(--palettes-neutral-50);color:var(--palettes-neutral-700);box-shadow:0 0 0 4px var(--palettes-100, var(--components-tableOfContent-default-palette-100)),inset 0 0 0 1px var(--palettes-300, var(--components-tableOfContent-default-palette-300))}.tableOfContent-list-item-action:not(.disabled,.is-disabled,[disabled]):is(:active),.tableOfContent-list-item>a:not(.disabled,.is-disabled,[disabled]):is(:active){background-color:var(--palettes-neutral-100);color:var(--palettes-neutral-700);box-shadow:0 0 0 4px var(--palettes-200, var(--components-tableOfContent-default-palette-200)),inset 0 0 0 1px var(--palettes-400, var(--components-tableOfContent-default-palette-400))}.tableOfContent-list-item-action:not(.disabled,.is-disabled,[disabled]).is-active,.tableOfContent-list-item>a:not(.disabled,.is-disabled,[disabled]).is-active{background-color:var(--palettes-50, var(--components-tableOfContent-default-palette-50));color:var(--palettes-700, var(--components-tableOfContent-default-palette-700))}.tableOfContent-list-item-action:not(.disabled,.is-disabled,[disabled]).is-active:is(:hover),.tableOfContent-list-item>a:not(.disabled,.is-disabled,[disabled]).is-active:is(:hover){background-color:var(--palettes-100, var(--components-tableOfContent-default-palette-100))}.tableOfContent-list-item-action:not(.disabled,.is-disabled,[disabled]).is-active:is(:focus),.tableOfContent-list-item>a:not(.disabled,.is-disabled,[disabled]).is-active:is(:focus){background-color:var(--palettes-100, var(--components-tableOfContent-default-palette-100));box-shadow:0 0 0 4px var(--palettes-200, var(--components-tableOfContent-default-palette-200)),inset 0 0 0 1px var(--palettes-400, var(--components-tableOfContent-default-palette-400))}.tableOfContent-list-item-action:not(.disabled,.is-disabled,[disabled]).is-active:is(:active),.tableOfContent-list-item>a:not(.disabled,.is-disabled,[disabled]).is-active:is(:active){background-color:var(--palettes-200, var(--components-tableOfContent-default-palette-200));box-shadow:0 0 0 4px var(--palettes-300, var(--components-tableOfContent-default-palette-300)),inset 0 0 0 1px var(--palettes-500, var(--components-tableOfContent-default-palette-500));color:var(--palettes-neutral-700)}.tableOfContent-list-item-action:is(.disabled,.is-disabled,[disabled]),.tableOfContent-list-item>a:is(.disabled,.is-disabled,[disabled]){color:var(--palettes-neutral-500);pointer-events:none}}\n"], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
24
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.2.1", ngImport: i0, type: TableOfContentComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
25
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.2.1", type: TableOfContentComponent, isStandalone: true, selector: "lu-table-of-content", host: { attributes: { "role": "navigation" }, classAttribute: "tableOfContent" }, queries: [{ propertyName: "links", predicate: TableOfContentLinkDirective, isSignal: true }], ngImport: i0, template: "<ul class=\"tableOfContent-list\">\n\t@for (link of links(); track $index) {\n\t\t<li class=\"tableOfContent-list-item\">\n\t\t\t<ng-container *ngTemplateOutlet=\"link.template\" />\n\t\t</li>\n\t}\n</ul>\n", styles: ["@layer components{.tableOfContent{--components-tableOfContent-default-palette-50: var(--palettes-product-50);--components-tableOfContent-default-palette-100: var(--palettes-product-100);--components-tableOfContent-default-palette-200: var(--palettes-product-200);--components-tableOfContent-default-palette-300: var(--palettes-product-300);--components-tableOfContent-default-palette-400: var(--palettes-product-400);--components-tableOfContent-default-palette-500: var(--palettes-product-500);--components-tableOfContent-default-palette-600: var(--palettes-product-600);--components-tableOfContent-default-palette-700: var(--palettes-product-700);--components-tableOfContent-default-palette-800: var(--palettes-product-800);--components-tableOfContent-default-palette-900: var(--palettes-product-900);--components-tableOfContent-item-padding: var(--pr-t-spacings-100) var(--pr-t-spacings-200);--components-tableOfContent-item-border-width: 2px;align-items:flex-start;display:flex;flex-direction:column;position:sticky}.tableOfContent-list{margin:0;padding:0;list-style-type:none}.tableOfContent-list-item-action,.tableOfContent-list-item>a{padding:0;border:0;inline-size:100%;background-color:transparent;color:inherit;text-align:start;font:inherit;border-radius:var(--pr-t-border-radius-default);color:var(--palettes-neutral-700);cursor:pointer;display:block;outline:none;padding:var(--components-tableOfContent-item-padding);position:relative;transition:all var(--commons-animations-durations-standard);text-decoration:none;inline-size:auto}}@layer mods{.tableOfContent-list-item-action:not(.disabled,.is-disabled,[disabled]):is(:hover),.tableOfContent-list-item>a:not(.disabled,.is-disabled,[disabled]):is(:hover){background-color:var(--palettes-neutral-50);color:var(--palettes-neutral-700)}.tableOfContent-list-item-action:not(.disabled,.is-disabled,[disabled]):is(:focus),.tableOfContent-list-item>a:not(.disabled,.is-disabled,[disabled]):is(:focus){background-color:var(--palettes-neutral-50);color:var(--palettes-neutral-700);box-shadow:0 0 0 4px var(--palettes-100, var(--components-tableOfContent-default-palette-100)),inset 0 0 0 1px var(--palettes-300, var(--components-tableOfContent-default-palette-300))}.tableOfContent-list-item-action:not(.disabled,.is-disabled,[disabled]):is(:active),.tableOfContent-list-item>a:not(.disabled,.is-disabled,[disabled]):is(:active){background-color:var(--palettes-neutral-100);color:var(--palettes-neutral-700);box-shadow:0 0 0 4px var(--palettes-200, var(--components-tableOfContent-default-palette-200)),inset 0 0 0 1px var(--palettes-400, var(--components-tableOfContent-default-palette-400))}.tableOfContent-list-item-action:not(.disabled,.is-disabled,[disabled]).is-active,.tableOfContent-list-item>a:not(.disabled,.is-disabled,[disabled]).is-active{background-color:var(--palettes-50, var(--components-tableOfContent-default-palette-50));color:var(--palettes-700, var(--components-tableOfContent-default-palette-700))}.tableOfContent-list-item-action:not(.disabled,.is-disabled,[disabled]).is-active:is(:hover),.tableOfContent-list-item>a:not(.disabled,.is-disabled,[disabled]).is-active:is(:hover){background-color:var(--palettes-100, var(--components-tableOfContent-default-palette-100))}.tableOfContent-list-item-action:not(.disabled,.is-disabled,[disabled]).is-active:is(:focus),.tableOfContent-list-item>a:not(.disabled,.is-disabled,[disabled]).is-active:is(:focus){background-color:var(--palettes-100, var(--components-tableOfContent-default-palette-100));box-shadow:0 0 0 4px var(--palettes-200, var(--components-tableOfContent-default-palette-200)),inset 0 0 0 1px var(--palettes-400, var(--components-tableOfContent-default-palette-400))}.tableOfContent-list-item-action:not(.disabled,.is-disabled,[disabled]).is-active:is(:active),.tableOfContent-list-item>a:not(.disabled,.is-disabled,[disabled]).is-active:is(:active){background-color:var(--palettes-200, var(--components-tableOfContent-default-palette-200));box-shadow:0 0 0 4px var(--palettes-300, var(--components-tableOfContent-default-palette-300)),inset 0 0 0 1px var(--palettes-500, var(--components-tableOfContent-default-palette-500));color:var(--palettes-neutral-700)}.tableOfContent-list-item-action:is(.disabled,.is-disabled,[disabled]),.tableOfContent-list-item>a:is(.disabled,.is-disabled,[disabled]){color:var(--palettes-neutral-500);pointer-events:none}}\n"], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
26
26
  }
27
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: TableOfContentComponent, decorators: [{
27
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.2.1", ngImport: i0, type: TableOfContentComponent, decorators: [{
28
28
  type: Component,
29
29
  args: [{ selector: 'lu-table-of-content', encapsulation: ViewEncapsulation.None, imports: [NgTemplateOutlet], changeDetection: ChangeDetectionStrategy.OnPush, host: {
30
30
  class: 'tableOfContent',