@lucca-front/ng 22.1.0-rc.3 → 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.
- package/README.md +6 -0
- package/fesm2022/lucca-front-ng-a11y.mjs +9 -9
- package/fesm2022/lucca-front-ng-activity-feed.mjs +12 -12
- package/fesm2022/lucca-front-ng-api.mjs +40 -40
- package/fesm2022/lucca-front-ng-app-layout.mjs +3 -3
- package/fesm2022/lucca-front-ng-approbation-inbox.mjs +37 -36
- package/fesm2022/lucca-front-ng-approbation-inbox.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-box.mjs +3 -3
- package/fesm2022/lucca-front-ng-breadcrumbs.mjs +6 -6
- package/fesm2022/lucca-front-ng-bubble-icon.mjs +12 -7
- package/fesm2022/lucca-front-ng-bubble-icon.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-bubble-illustration.mjs +3 -3
- package/fesm2022/lucca-front-ng-callout.mjs +24 -24
- package/fesm2022/lucca-front-ng-chip.mjs +4 -4
- package/fesm2022/lucca-front-ng-chip.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-clear.mjs +4 -4
- package/fesm2022/lucca-front-ng-clear.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-code.mjs +3 -3
- package/fesm2022/lucca-front-ng-color.mjs +3 -3
- package/fesm2022/lucca-front-ng-comment.mjs +12 -12
- package/fesm2022/lucca-front-ng-comment.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-container.mjs +3 -3
- package/fesm2022/lucca-front-ng-core-select-api.mjs +9 -9
- package/fesm2022/lucca-front-ng-core-select-department.mjs +6 -6
- package/fesm2022/lucca-front-ng-core-select-establishment.mjs +9 -9
- package/fesm2022/lucca-front-ng-core-select-job-qualification.mjs +6 -6
- package/fesm2022/lucca-front-ng-core-select-legal-units.mjs +8 -8
- package/fesm2022/lucca-front-ng-core-select-legal-units.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-core-select-occupation-category.mjs +3 -3
- package/fesm2022/lucca-front-ng-core-select-user.mjs +20 -20
- package/fesm2022/lucca-front-ng-core-select-user.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-core-select.mjs +73 -58
- package/fesm2022/lucca-front-ng-core-select.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-core.mjs +19 -19
- package/fesm2022/lucca-front-ng-data-table.mjs +40 -32
- package/fesm2022/lucca-front-ng-data-table.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-date.mjs +40 -40
- package/fesm2022/lucca-front-ng-date2.mjs +44 -36
- package/fesm2022/lucca-front-ng-date2.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-department.mjs +24 -24
- package/fesm2022/lucca-front-ng-dialog.mjs +55 -48
- package/fesm2022/lucca-front-ng-dialog.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-divider.mjs +3 -3
- package/fesm2022/lucca-front-ng-dropdown.mjs +42 -42
- package/fesm2022/lucca-front-ng-dropdown.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-empty-state.mjs +9 -9
- package/fesm2022/lucca-front-ng-error-page.mjs +3 -3
- package/fesm2022/lucca-front-ng-establishment.mjs +33 -33
- package/fesm2022/lucca-front-ng-fancy-box.mjs +3 -3
- package/fesm2022/lucca-front-ng-file-upload.mjs +33 -26
- package/fesm2022/lucca-front-ng-file-upload.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-filter-pills-core.mjs +6 -6
- package/fesm2022/lucca-front-ng-filter-pills.mjs +90 -21
- package/fesm2022/lucca-front-ng-filter-pills.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-footer.mjs +3 -3
- package/fesm2022/lucca-front-ng-form-field.mjs +18 -18
- package/fesm2022/lucca-front-ng-form-header.mjs +3 -3
- package/fesm2022/lucca-front-ng-form-label.mjs +3 -3
- package/fesm2022/lucca-front-ng-form.mjs +3 -3
- package/fesm2022/lucca-front-ng-formly.mjs +58 -58
- package/fesm2022/lucca-front-ng-forms-phone-number-input.mjs +6 -6
- package/fesm2022/lucca-front-ng-forms-rich-text-input-formatters-html.mjs +3 -3
- package/fesm2022/lucca-front-ng-forms-rich-text-input-formatters-markdown.mjs +6 -6
- package/fesm2022/lucca-front-ng-forms-rich-text-input-formatters-plain-text.mjs +3 -3
- package/fesm2022/lucca-front-ng-forms-rich-text-input.mjs +35 -35
- package/fesm2022/lucca-front-ng-forms-rich-text-input.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-forms.mjs +68 -48
- package/fesm2022/lucca-front-ng-forms.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-gauge.mjs +3 -3
- package/fesm2022/lucca-front-ng-grid.mjs +6 -6
- package/fesm2022/lucca-front-ng-highlight-data.mjs +3 -3
- package/fesm2022/lucca-front-ng-highlight-section.mjs +3 -3
- package/fesm2022/lucca-front-ng-highlight-text.mjs +3 -3
- package/fesm2022/lucca-front-ng-horizontal-navigation.mjs +9 -9
- package/fesm2022/lucca-front-ng-impersonation.mjs +3 -3
- package/fesm2022/lucca-front-ng-index-table.mjs +44 -38
- package/fesm2022/lucca-front-ng-index-table.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-inline-message.mjs +3 -3
- package/fesm2022/lucca-front-ng-input.mjs +21 -21
- package/fesm2022/lucca-front-ng-kbd.mjs +306 -0
- package/fesm2022/lucca-front-ng-kbd.mjs.map +1 -0
- package/fesm2022/lucca-front-ng-link.mjs +6 -6
- package/fesm2022/lucca-front-ng-listbox.mjs +13 -10
- package/fesm2022/lucca-front-ng-listbox.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-listing.mjs +6 -6
- package/fesm2022/lucca-front-ng-loading.mjs +51 -10
- package/fesm2022/lucca-front-ng-loading.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-main-layout.mjs +6 -6
- package/fesm2022/lucca-front-ng-markdown.mjs +3 -3
- package/fesm2022/lucca-front-ng-mobile-push.mjs +3 -3
- package/fesm2022/lucca-front-ng-modal.mjs +22 -22
- package/fesm2022/lucca-front-ng-multi-select.mjs +38 -38
- package/fesm2022/lucca-front-ng-multi-select.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-new-badge.mjs +3 -3
- package/fesm2022/lucca-front-ng-number-format.mjs +6 -6
- package/fesm2022/lucca-front-ng-number.mjs +7 -7
- package/fesm2022/lucca-front-ng-option.mjs +130 -130
- package/fesm2022/lucca-front-ng-option.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-page-header.mjs +3 -3
- package/fesm2022/lucca-front-ng-pagination.mjs +3 -3
- package/fesm2022/lucca-front-ng-plg-push.mjs +3 -3
- package/fesm2022/lucca-front-ng-popover.mjs +17 -17
- package/fesm2022/lucca-front-ng-popover2.mjs +54 -21
- package/fesm2022/lucca-front-ng-popover2.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-popup.mjs +10 -10
- package/fesm2022/lucca-front-ng-priority-levels.mjs +3 -3
- package/fesm2022/lucca-front-ng-progress-bar.mjs +3 -3
- package/fesm2022/lucca-front-ng-progress-stepper.mjs +6 -6
- package/fesm2022/lucca-front-ng-read-more.mjs +6 -6
- package/fesm2022/lucca-front-ng-read-more.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-resource-card.mjs +12 -12
- package/fesm2022/lucca-front-ng-safe-content.mjs +10 -10
- package/fesm2022/lucca-front-ng-scroll-box.mjs +4 -4
- package/fesm2022/lucca-front-ng-scroll-box.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-scroll.mjs +9 -10
- package/fesm2022/lucca-front-ng-scroll.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-segmented-control-tabs.mjs +6 -6
- package/fesm2022/lucca-front-ng-segmented-control.mjs +6 -6
- package/fesm2022/lucca-front-ng-select.mjs +14 -14
- package/fesm2022/lucca-front-ng-sidepanel.mjs +7 -7
- package/fesm2022/lucca-front-ng-simple-select.mjs +14 -14
- package/fesm2022/lucca-front-ng-simple-select.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-software-icon-wrapper.mjs +6 -6
- package/fesm2022/lucca-front-ng-software-icon.mjs +3 -3
- package/fesm2022/lucca-front-ng-sortable-list.mjs +6 -6
- package/fesm2022/lucca-front-ng-status-badge.mjs +3 -3
- package/fesm2022/lucca-front-ng-table-of-content.mjs +6 -6
- package/fesm2022/lucca-front-ng-text-flow.mjs +4 -4
- package/fesm2022/lucca-front-ng-text-flow.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-time.mjs +18 -18
- package/fesm2022/lucca-front-ng-title.mjs +10 -10
- package/fesm2022/lucca-front-ng-toast.mjs +10 -10
- package/fesm2022/lucca-front-ng-tree-select.mjs +6 -6
- package/fesm2022/lucca-front-ng-user-popover.mjs +24 -30
- package/fesm2022/lucca-front-ng-user-popover.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-user.mjs +59 -59
- package/fesm2022/lucca-front-ng-vertical-navigation.mjs +12 -12
- package/package.json +16 -6
- package/schematics/lib/local-deps/package-lock.json +7 -7
- package/schematics/lib/local-deps/package.json +1 -1
- package/src/definitions/option/_option-item.scss +7 -4
- package/types/lucca-front-ng-a11y.d.ts +1 -1
- package/types/lucca-front-ng-api.d.ts +3 -3
- package/types/lucca-front-ng-approbation-inbox.d.ts +3 -3
- package/types/lucca-front-ng-bubble-icon.d.ts +4 -1
- package/types/lucca-front-ng-chip.d.ts +1 -1
- package/types/lucca-front-ng-clear.d.ts +1 -1
- package/types/lucca-front-ng-comment.d.ts +3 -3
- package/types/lucca-front-ng-core-select-establishment.d.ts +1 -1
- package/types/lucca-front-ng-core-select.d.ts +18 -3
- package/types/lucca-front-ng-core.d.ts +3 -3
- package/types/lucca-front-ng-data-table.d.ts +7 -2
- package/types/lucca-front-ng-date.d.ts +2 -2
- package/types/lucca-front-ng-date2.d.ts +15 -16
- package/types/lucca-front-ng-department.d.ts +2 -2
- package/types/lucca-front-ng-dialog.d.ts +1 -1
- package/types/lucca-front-ng-establishment.d.ts +2 -2
- package/types/lucca-front-ng-file-upload.d.ts +8 -2
- package/types/lucca-front-ng-filter-pills.d.ts +11 -2
- package/types/lucca-front-ng-forms.d.ts +13 -3
- package/types/lucca-front-ng-index-table.d.ts +4 -2
- package/types/lucca-front-ng-kbd.d.ts +59 -0
- package/types/lucca-front-ng-listbox.d.ts +1 -0
- package/types/lucca-front-ng-loading.d.ts +16 -4
- package/types/lucca-front-ng-modal.d.ts +2 -2
- package/types/lucca-front-ng-multi-select.d.ts +1 -1
- package/types/lucca-front-ng-popover2.d.ts +1 -0
- package/types/lucca-front-ng-popup.d.ts +2 -2
- package/types/lucca-front-ng-read-more.d.ts +2 -2
- package/types/lucca-front-ng-sidepanel.d.ts +1 -1
- package/types/lucca-front-ng-simple-select.d.ts +1 -1
- package/types/lucca-front-ng-title.d.ts +2 -2
- package/types/lucca-front-ng-toast.d.ts +1 -1
- package/types/lucca-front-ng-user-popover.d.ts +1 -6
- 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":"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"}
|
|
1
|
+
{"version":3,"file":"lucca-front-ng-simple-select.mjs","sources":["../../../packages/ng/simple-select/translations.ts","../../../packages/ng/simple-select/select.translate.ts","../../../packages/ng/simple-select/select.model.ts","../../../packages/ng/simple-select/panel/option-selected.pipe.ts","../../../packages/ng/simple-select/panel/panel.component.ts","../../../packages/ng/simple-select/panel/panel.component.html","../../../packages/ng/simple-select/input/panel-ref.factory.ts","../../../packages/ng/simple-select/input/select-input.component.ts","../../../packages/ng/simple-select/input/select-input.component.html","../../../packages/ng/simple-select/lucca-front-ng-simple-select.ts"],"sourcesContent":["export const Translations = {\n\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
|
|
13
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.1
|
|
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
|
|
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
|
|
73
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1
|
|
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
|
|
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
|
|
27
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.1
|
|
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
|
|
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
|
|
43
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1
|
|
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
|
|
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
|
|
64
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1
|
|
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
|
|
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
|
|
40
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1
|
|
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
|
|
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
|
|
10
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.1
|
|
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
|
|
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
|
|
25
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1
|
|
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
|
|
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',
|