@lucca-front/ng 18.0.1 → 18.0.2
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/a11y/public-api.d.ts +1 -0
- package/a11y/skip-links/skip-links.translate.d.ts +3 -3
- package/a11y/skip-links/translations.d.ts +50 -0
- package/callout/callout.translate.d.ts +3 -3
- package/callout/translations.d.ts +26 -0
- package/core/translate/intl.model.d.ts +2 -5
- package/core/translate/translation.model.d.ts +4 -0
- package/core-select/public-api.d.ts +1 -0
- package/core-select/select.translate.d.ts +3 -3
- package/core-select/translations.d.ts +26 -0
- package/core-select/user/public-api.d.ts +1 -0
- package/core-select/user/translations.d.ts +26 -0
- package/core-select/user/user.translate.d.ts +3 -3
- package/date/input/date-input.translate.d.ts +3 -4
- package/date/input/translations.d.ts +58 -0
- package/date/select/date-select-input.translate.d.ts +3 -4
- package/date/select/translations.d.ts +58 -0
- package/department/select/input/department-select-input.translate.d.ts +3 -3
- package/department/select/input/translations.d.ts +26 -0
- package/dialog/dialog-header/dialog-header.translate.d.ts +3 -3
- package/dialog/dialog-header/translations.d.ts +26 -0
- package/dialog/public-api.d.ts +6 -5
- package/esm2022/a11y/public-api.mjs +2 -1
- package/esm2022/a11y/skip-links/skip-links.translate.mjs +3 -21
- package/esm2022/a11y/skip-links/translations.mjs +51 -0
- package/esm2022/callout/callout.translate.mjs +3 -12
- package/esm2022/callout/translations.mjs +27 -0
- package/esm2022/core/translate/intl.model.mjs +4 -7
- package/esm2022/core/translate/translation.model.mjs +1 -1
- package/esm2022/core-select/public-api.mjs +2 -1
- package/esm2022/core-select/select.translate.mjs +3 -18
- package/esm2022/core-select/translations.mjs +27 -0
- package/esm2022/core-select/user/public-api.mjs +2 -1
- package/esm2022/core-select/user/translations.mjs +27 -0
- package/esm2022/core-select/user/user.translate.mjs +3 -18
- package/esm2022/date/input/date-input.directive.mjs +2 -2
- package/esm2022/date/input/date-input.translate.mjs +3 -35
- package/esm2022/date/input/translations.mjs +59 -0
- package/esm2022/date/select/date-select-input.component.mjs +2 -2
- package/esm2022/date/select/date-select-input.translate.mjs +3 -27
- package/esm2022/date/select/translations.mjs +59 -0
- package/esm2022/department/select/input/department-select-input.translate.mjs +3 -12
- package/esm2022/department/select/input/translations.mjs +27 -0
- package/esm2022/dialog/dialog-header/dialog-header.translate.mjs +3 -18
- package/esm2022/dialog/dialog-header/translations.mjs +27 -0
- package/esm2022/dialog/public-api.mjs +7 -6
- package/esm2022/establishment/select/input/establishment-select-input.translate.mjs +3 -12
- package/esm2022/establishment/select/input/translations.mjs +27 -0
- package/esm2022/establishment/select/select-all/index.mjs +1 -2
- package/esm2022/form-field/form-field.translate.mjs +3 -9
- package/esm2022/form-field/public-api.mjs +4 -3
- package/esm2022/form-field/translations.mjs +27 -0
- package/esm2022/forms/number-input/number-input.translate.mjs +3 -9
- package/esm2022/forms/number-input/translations.mjs +27 -0
- package/esm2022/forms/public-api.mjs +3 -1
- package/esm2022/forms/text-input/text-input.translate.mjs +3 -11
- package/esm2022/forms/text-input/translations.mjs +35 -0
- package/esm2022/modal/modal.translate.mjs +3 -28
- package/esm2022/modal/translations.mjs +43 -0
- package/esm2022/multi-select/displayer/default-displayer.translate.mjs +3 -33
- package/esm2022/multi-select/displayer/index.mjs +3 -2
- package/esm2022/multi-select/displayer/translations.mjs +51 -0
- package/esm2022/multi-select/select.translate.mjs +3 -68
- package/esm2022/multi-select/translations.mjs +107 -0
- package/esm2022/option/item/translations.mjs +35 -0
- package/esm2022/option/item/tree-option-item.translate.mjs +3 -11
- package/esm2022/option/picker/option-picker.component.mjs +2 -2
- package/esm2022/option/placeholder/option-placeholder.translate.mjs +3 -15
- package/esm2022/option/placeholder/translations.mjs +35 -0
- package/esm2022/option/selector/all/select-all.translate.mjs +3 -23
- package/esm2022/option/selector/all/translations.mjs +35 -0
- package/esm2022/popup-employee/popup-employee.translate.mjs +3 -68
- package/esm2022/popup-employee/public-api.mjs +2 -1
- package/esm2022/popup-employee/translations.mjs +107 -0
- package/esm2022/qualification/select/input/qualification-select-input.translate.mjs +3 -12
- package/esm2022/qualification/select/input/translations.mjs +27 -0
- package/esm2022/sidepanel/sidepanel.model.mjs +2 -2
- package/esm2022/simple-select/select.translate.mjs +3 -38
- package/esm2022/simple-select/translations.mjs +59 -0
- package/esm2022/toast/toasts.translate.mjs +3 -12
- package/esm2022/toast/translations.mjs +27 -0
- package/esm2022/user/select/input/translations.mjs +35 -0
- package/esm2022/user/select/input/user-select-input.translate.mjs +3 -15
- package/esm2022/user/select/searcher/translations.mjs +27 -0
- package/esm2022/user/select/searcher/user-searcher.translate.mjs +3 -12
- package/establishment/select/input/establishment-select-input.translate.d.ts +3 -3
- package/establishment/select/input/translations.d.ts +26 -0
- package/establishment/select/select-all/index.d.ts +0 -1
- package/fesm2022/lucca-front-ng-a11y.mjs +42 -10
- package/fesm2022/lucca-front-ng-a11y.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-callout.mjs +21 -4
- package/fesm2022/lucca-front-ng-callout.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-core-select-user.mjs +33 -22
- package/fesm2022/lucca-front-ng-core-select-user.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-core-select.mjs +19 -8
- package/fesm2022/lucca-front-ng-core-select.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-core.mjs +3 -6
- package/fesm2022/lucca-front-ng-core.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-date.mjs +94 -34
- package/fesm2022/lucca-front-ng-date.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-department.mjs +21 -4
- package/fesm2022/lucca-front-ng-department.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-dialog.mjs +135 -124
- package/fesm2022/lucca-front-ng-dialog.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-establishment.mjs +23 -29
- package/fesm2022/lucca-front-ng-establishment.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-form-field.mjs +27 -7
- package/fesm2022/lucca-front-ng-form-field.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-forms.mjs +55 -9
- package/fesm2022/lucca-front-ng-forms.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-modal.mjs +25 -8
- package/fesm2022/lucca-front-ng-modal.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-multi-select.mjs +124 -63
- package/fesm2022/lucca-front-ng-multi-select.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-option.mjs +84 -22
- package/fesm2022/lucca-front-ng-option.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-popup-employee.mjs +62 -21
- package/fesm2022/lucca-front-ng-popup-employee.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-qualification.mjs +22 -5
- package/fesm2022/lucca-front-ng-qualification.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-sidepanel.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-simple-select.mjs +33 -10
- package/fesm2022/lucca-front-ng-simple-select.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-toast.mjs +21 -4
- package/fesm2022/lucca-front-ng-toast.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-user.mjs +48 -9
- package/fesm2022/lucca-front-ng-user.mjs.map +1 -1
- package/form-field/form-field.translate.d.ts +3 -3
- package/form-field/public-api.d.ts +3 -2
- package/form-field/translations.d.ts +26 -0
- package/forms/number-input/number-input.translate.d.ts +3 -3
- package/forms/number-input/translations.d.ts +26 -0
- package/forms/public-api.d.ts +2 -0
- package/forms/text-input/text-input.translate.d.ts +3 -3
- package/forms/text-input/translations.d.ts +34 -0
- package/modal/modal.translate.d.ts +3 -3
- package/modal/translations.d.ts +42 -0
- package/multi-select/displayer/default-displayer.translate.d.ts +3 -3
- package/multi-select/displayer/index.d.ts +2 -1
- package/multi-select/displayer/translations.d.ts +50 -0
- package/multi-select/select.translate.d.ts +3 -3
- package/multi-select/translations.d.ts +106 -0
- package/option/item/translations.d.ts +34 -0
- package/option/item/tree-option-item.translate.d.ts +3 -3
- package/option/placeholder/option-placeholder.translate.d.ts +3 -3
- package/option/placeholder/translations.d.ts +34 -0
- package/option/selector/all/select-all.translate.d.ts +3 -3
- package/option/selector/all/translations.d.ts +34 -0
- package/package.json +26 -26
- package/popup-employee/popup-employee.translate.d.ts +3 -3
- package/popup-employee/public-api.d.ts +1 -0
- package/popup-employee/translations.d.ts +106 -0
- package/qualification/select/input/qualification-select-input.translate.d.ts +3 -3
- package/qualification/select/input/translations.d.ts +26 -0
- package/sidepanel/sidepanel.model.d.ts +3 -3
- package/simple-select/select.translate.d.ts +3 -3
- package/simple-select/translations.d.ts +58 -0
- package/toast/toasts.translate.d.ts +3 -3
- package/toast/translations.d.ts +26 -0
- package/user/select/input/translations.d.ts +34 -0
- package/user/select/input/user-select-input.translate.d.ts +3 -3
- package/user/select/searcher/translations.d.ts +26 -0
- package/user/select/searcher/user-searcher.translate.d.ts +3 -3
- package/esm2022/establishment/select/select-all/establishment-select-all.translate.mjs +0 -23
- package/establishment/select/select-all/establishment-select-all.translate.d.ts +0 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lucca-front-ng-multi-select.mjs","sources":["../../../packages/ng/multi-select/select.translate.ts","../../../packages/ng/multi-select/input/panel.model.ts","../../../packages/ng/multi-select/select.model.ts","../../../packages/ng/multi-select/panel/not-selected.pipe.ts","../../../packages/ng/multi-select/panel/option-selected.pipe.ts","../../../packages/ng/multi-select/panel/selected-chip.directive.ts","../../../packages/ng/multi-select/panel/panel.component.ts","../../../packages/ng/multi-select/panel/panel.component.html","../../../packages/ng/multi-select/input/panel-ref.factory.ts","../../../packages/ng/multi-select/input/select-input.component.ts","../../../packages/ng/multi-select/input/select-input.component.html","../../../packages/ng/multi-select/displayer/default-displayer.translate.ts","../../../packages/ng/multi-select/displayer/default-displayer.component.ts","../../../packages/ng/multi-select/displayer/displayer.directive.ts","../../../packages/ng/multi-select/displayer/displayer-input.directive.ts","../../../packages/ng/multi-select/lucca-front-ng-multi-select.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\nimport { ILuTranslation } from '@lucca-front/ng/core';\n\nexport const LU_MULTI_SELECT_TRANSLATIONS = new InjectionToken('LuMultiSelectTranslations', {\n\tfactory: () => luMultiSelectTranslations,\n});\n\nexport interface ILuMultiSelectLabel {\n\tplaceholder: string;\n\tsearch: string;\n\tclear: string;\n\tclearSearch: string;\n\temptyResults: string;\n\temptySelection: string;\n\texpand: string;\n\treduce: string;\n\tselectAll: string;\n\tunselectAll: string;\n\tloading: string;\n}\n\nexport const luMultiSelectTranslations: ILuTranslation<ILuMultiSelectLabel> = {\n\ten: {\n\t\tplaceholder: 'Select an option',\n\t\tsearch: 'Search',\n\t\tclear: 'Clear selection',\n\t\tclearSearch: 'Clear search',\n\t\temptyResults: 'No results',\n\t\temptySelection: 'Select items in the left list to start',\n\t\texpand: 'Expand',\n\t\treduce: 'Reduce',\n\t\tselectAll: 'Select all',\n\t\tunselectAll: 'Unselect all',\n\t\tloading: 'Loading...',\n\t},\n\tfr: {\n\t\tplaceholder: 'Sélectionnez une option',\n\t\tsearch: 'Rechercher',\n\t\tclear: 'Vider la sélection',\n\t\tclearSearch: 'Vider la recherche',\n\t\temptySelection: 'Sélectionnez les éléments dans la liste de gauche pour commencer',\n\t\temptyResults: 'Aucun résultat pour votre recherche',\n\t\texpand: 'Étendre',\n\t\treduce: 'Réduire',\n\t\tselectAll: 'Tout sélectionner',\n\t\tunselectAll: 'Tout désélectionner',\n\t\tloading: 'Chargement en cours...',\n\t},\n\tde: {\n\t\tplaceholder: 'Wählen Sie eine Option',\n\t\tsearch: 'Suche',\n\t\tclear: 'Auswahl löschen',\n\t\tclearSearch: 'Suche löschen',\n\t\temptyResults: 'Keine Ergebnisse für Ihre Suche',\n\t\temptySelection: 'Wählen Sie Elemente in der linken Liste aus, um zu beginnen',\n\t\texpand: 'Erweitern',\n\t\treduce: 'Reduzieren',\n\t\tselectAll: 'Alles auswählen',\n\t\tunselectAll: 'Alles abwählen',\n\t\tloading: 'Wird geladen...',\n\t},\n\tes: {\n\t\tplaceholder: 'Seleccione una opción',\n\t\tsearch: 'Buscar',\n\t\tclear: 'Borrar selección',\n\t\tclearSearch: 'Borrar búsqueda',\n\t\temptyResults: 'No hay resultados para su búsqueda',\n\t\temptySelection: 'Seleccione elementos en la lista de la izquierda para comenzar',\n\t\texpand: 'Expandir',\n\t\treduce: 'Reducir',\n\t\tselectAll: 'Seleccionar todo',\n\t\tunselectAll: 'Deseleccionar todo',\n\t\tloading: 'Cargando...',\n\t},\n\tpt: {\n\t\tplaceholder: 'Selecione uma opção',\n\t\tsearch: 'Pesquisar',\n\t\tclear: 'Limpar seleção',\n\t\tclearSearch: 'Limpar pesquisa',\n\t\temptyResults: 'Nenhum resultado para sua pesquisa',\n\t\temptySelection: 'Selecione itens na lista à esquerda para começar',\n\t\texpand: 'Expandir',\n\t\treduce: 'Reduzir',\n\t\tselectAll: 'Selecionar tudo',\n\t\tunselectAll: 'Desmarcar tudo',\n\t\tloading: 'Carregando...',\n\t},\n};\n","import { LuSelectPanelRef } from '@lucca-front/ng/core-select';\n\nexport abstract class LuMultiSelectPanelRef<T> extends LuSelectPanelRef<T, T[]> {\n\tabstract updateSelectedOptions(selectedOptions: T[]): void;\n\n\tabstract useDefaultPosition(): void;\n}\n","import { InjectionToken } from '@angular/core';\nimport type { LuMultiSelectInputComponent } from './input';\n\nexport const MULTI_SELECT_INPUT = new InjectionToken<LuMultiSelectInputComponent<unknown>>('MultiSelectInput');\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n\tname: 'luNotSelectedOptions',\n\tstandalone: true,\n\tpure: true,\n})\nexport class LuNotSelectedOptionsPipe<T> implements PipeTransform {\n\ttransform(groupOptions: T[], selectedOptions: T[], optionComparer: (option1: T, option2: T) => boolean): T[] {\n\t\treturn groupOptions.filter((o) => !selectedOptions.some((so) => optionComparer(so, o)));\n\t}\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n\tname: 'luIsOptionSelected',\n\tstandalone: true,\n})\nexport class LuIsOptionSelectedPipe implements PipeTransform {\n\ttransform<T>(option: T, comparer: (option1: T, option2: T) => boolean, selectedOptions: T[]): boolean {\n\t\treturn selectedOptions.some((selectedOption) => comparer(option, selectedOption));\n\t}\n}\n","import { Highlightable } from '@angular/cdk/a11y';\nimport { Directive, ElementRef, Input, inject } from '@angular/core';\n\n@Directive({\n\tstandalone: true,\n\tselector: '[luMultiSelectSelectedChip]',\n})\nexport class ɵLuMultiSelectSelectedChipDirective<T> implements Highlightable {\n\t@Input('luMultiSelectSelectedChip') option?: T;\n\n\telementRef = inject<ElementRef<HTMLElement>>(ElementRef).nativeElement;\n\n\tsetActiveStyles(): void {\n\t\tthis.elementRef.querySelector('button').focus();\n\t}\n\tsetInactiveStyles(): void {\n\t\t// Nothing to do\n\t}\n}\n","import { A11yModule, ActiveDescendantKeyManager } from '@angular/cdk/a11y';\nimport { AsyncPipe, NgFor, NgIf, NgTemplateOutlet } from '@angular/common';\nimport { AfterViewInit, ChangeDetectionStrategy, Component, QueryList, ViewChildren, inject } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { PortalDirective, getIntl } from '@lucca-front/ng/core';\nimport { SELECT_ID, ɵLuOptionComponent, ɵLuOptionGroupPipe, ɵLuOptionOutletDirective, ɵgetGroupTemplateLocation } from '@lucca-front/ng/core-select';\nimport { asyncScheduler, filter, map, observeOn, take, takeUntil } from 'rxjs';\nimport { debounceTime, switchMap } from 'rxjs/operators';\nimport { LuMultiSelectInputComponent } from '../input';\nimport { LuMultiSelectPanelRef } from '../input/panel.model';\nimport { MULTI_SELECT_INPUT } from '../select.model';\nimport { LU_MULTI_SELECT_TRANSLATIONS } from '../select.translate';\nimport { LuNotSelectedOptionsPipe } from './not-selected.pipe';\nimport { LuIsOptionSelectedPipe } from './option-selected.pipe';\nimport { ɵLuMultiSelectSelectedChipDirective } from './selected-chip.directive';\n\n@Component({\n\tselector: 'lu-select-panel',\n\ttemplateUrl: './panel.component.html',\n\tstyleUrls: ['./panel.component.scss'],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tstandalone: true,\n\timports: [\n\t\tA11yModule,\n\t\tAsyncPipe,\n\t\tFormsModule,\n\t\tLuIsOptionSelectedPipe,\n\t\tNgIf,\n\t\tNgFor,\n\t\tɵLuOptionComponent,\n\t\tɵLuOptionGroupPipe,\n\t\tɵLuOptionOutletDirective,\n\t\tɵLuMultiSelectSelectedChipDirective,\n\t\tNgTemplateOutlet,\n\t\tPortalDirective,\n\t\tLuNotSelectedOptionsPipe,\n\t],\n})\nexport class LuMultiSelectPanelComponent<T> implements AfterViewInit {\n\tprotected selectInput = inject<LuMultiSelectInputComponent<T>>(MULTI_SELECT_INPUT);\n\tpanelRef = inject<LuMultiSelectPanelRef<T>>(LuMultiSelectPanelRef);\n\tselectId = inject(SELECT_ID);\n\tintl = getIntl(LU_MULTI_SELECT_TRANSLATIONS);\n\n\toptions$ = this.selectInput.options$;\n\tgrouping = this.selectInput.grouping;\n\tloading$ = this.selectInput.loading$;\n\toptionComparer = this.selectInput.optionComparer;\n\tselectedOptions: T[] = this.selectInput.value || [];\n\toptionTpl = this.selectInput.optionTpl;\n\n\t@ViewChildren(ɵLuOptionComponent) optionsQL: QueryList<ɵLuOptionComponent<T>>;\n\tprivate _keyManager: ActiveDescendantKeyManager<ɵLuOptionComponent<T>>;\n\n\tpublic get keyManager(): ActiveDescendantKeyManager<ɵLuOptionComponent<T>> {\n\t\treturn this._keyManager;\n\t}\n\n\tpublic clueChange$ = this.selectInput.clue$;\n\tpublic shouldDisplayAddOption$ = this.selectInput.shouldDisplayAddOption$;\n\n\tgroupTemplateLocation$ = ɵgetGroupTemplateLocation(!!this.grouping, this.clueChange$, this.options$);\n\n\tonScroll(evt: Event): void {\n\t\tif (!(evt.target instanceof HTMLElement)) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (evt.target.scrollTop === 0) {\n\t\t\tthis.panelRef.previousPage.emit();\n\t\t}\n\n\t\tif (evt.target.scrollHeight - evt.target.scrollTop - evt.target.clientHeight < 1) {\n\t\t\tthis.panelRef.nextPage.emit();\n\t\t}\n\t}\n\n\tngAfterViewInit(): void {\n\t\tif (!this.optionsQL) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.initKeyManager();\n\t\tthis.panelRef.useDefaultPosition();\n\t}\n\n\ttoggleOption(option: T): void {\n\t\tconst matchingOption = this.selectedOptions.find((o) => this.optionComparer(o, option));\n\t\tthis.selectedOptions = matchingOption ? this.selectedOptions.filter((o) => o !== matchingOption) : [...this.selectedOptions, option];\n\t\tthis.panelRef.emitValue(this.selectedOptions);\n\t\tsetTimeout(() => this.panelRef.updatePosition());\n\t\tthis._keyManager?.setActiveItem(this.optionsQL.toArray().findIndex((o) => o.option === option));\n\t}\n\n\ttoggleOptions(notSelectedOptions: T[], groupOptions: T[]): void {\n\t\tif (notSelectedOptions.length) {\n\t\t\t// If some options are not selected, select them all\n\t\t\tthis.selectedOptions = [...this.selectedOptions, ...notSelectedOptions];\n\t\t} else {\n\t\t\t// If all options are already selected, unselect them all\n\t\t\tthis.selectedOptions = this.selectedOptions.filter((o) => !groupOptions.some((so) => this.optionComparer(so, o)));\n\t\t}\n\n\t\tthis.panelRef.emitValue(this.selectedOptions);\n\t\tsetTimeout(() => this.panelRef.updatePosition());\n\t}\n\n\tprotected initKeyManager(): void {\n\t\tthis._keyManager = new ActiveDescendantKeyManager(this.optionsQL).withHomeAndEnd();\n\n\t\tif (this.selectedOptions) {\n\t\t\tthis.options$\n\t\t\t\t?.pipe(\n\t\t\t\t\tobserveOn(asyncScheduler),\n\t\t\t\t\tmap((options) => (this.selectedOptions.length ? options.findIndex((o) => this.optionComparer(o, this.selectedOptions[0])) : -1)),\n\t\t\t\t\tfilter((index) => index !== -1),\n\t\t\t\t\ttake(1),\n\t\t\t\t\ttakeUntil(this.panelRef.closed),\n\t\t\t\t)\n\t\t\t\t.subscribe((selectedIndex) => this._keyManager.setActiveItem(selectedIndex));\n\t\t}\n\n\t\tthis._keyManager.change\n\t\t\t.pipe(\n\t\t\t\tmap(() => this._keyManager.activeItem?.id),\n\t\t\t\ttakeUntil(this.panelRef.closed),\n\t\t\t)\n\t\t\t.subscribe((activeDescendant) => this.panelRef.activeOptionIdChanged.emit(activeDescendant));\n\n\t\t/**\n\t\t * On new options, we want to select the first element with key manager\n\t\t */\n\t\tif (this.selectInput.searchable) {\n\t\t\tthis.selectInput.clueChange\n\t\t\t\t.pipe(\n\t\t\t\t\tswitchMap(() => this.optionsQL.changes.pipe(take(1))),\n\t\t\t\t\tdebounceTime(0),\n\t\t\t\t\ttakeUntil(this.panelRef.closed),\n\t\t\t\t)\n\t\t\t\t.subscribe(() => (this.optionsQL.length ? this.keyManager.setFirstItemActive() : this.keyManager.setActiveItem(-1)));\n\t\t}\n\n\t\tthis.keyManager.setFirstItemActive();\n\t}\n}\n","<div\n\tclass=\"lu-picker-panel lu-option-picker-panel mod-multiple\"\n\trole=\"dialog\"\n\t*ngIf=\"{\n\t\toptions: (options$ | async) || [],\n\t\tgroupTemplateLocation: groupTemplateLocation$ | async,\n\t\tshouldDisplayAddOption: shouldDisplayAddOption$ | async,\n\t} as ctx\"\n>\n\t<div\n\t\tclass=\"lu-picker-content\"\n\t\t[class.is-loading]=\"loading$ | async\"\n\t\t[class.is-filled]=\"ctx.options.length > 0\"\n\t\ttabindex=\"0\"\n\t\trole=\"listbox\"\n\t\taria-multiselectable=\"true\"\n\t\t(scroll)=\"onScroll($event)\"\n\t>\n\t\t<div class=\"lu-picker-content-option\">\n\t\t\t<ng-container *ngIf=\"grouping && ctx.groupTemplateLocation === 'group-header'\">\n\t\t\t\t<div\n\t\t\t\t\t*ngFor=\"let group of ctx.options | luOptionGroup:grouping.selector\"\n\t\t\t\t\tclass=\"lu-picker-content-group\"\n\t\t\t\t\trole=\"group\"\n\t\t\t\t\t[attr.aria-labelledby]=\"selectId + '-group-' + group.key\"\n\t\t\t\t>\n\t\t\t\t\t<div class=\"lu-picker-content-option-group-title\" role=\"presentation\">\n\t\t\t\t\t\t<ng-container *luPortal=\"grouping.content; context: { $implicit: group }\" />\n\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t*ngIf=\"group.options | luNotSelectedOptions:selectedOptions:optionComparer as notSelectedOptions\"\n\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\tclass=\"link\"\n\t\t\t\t\t\t\t[id]=\"selectId + '-group-' + group.key\"\n\t\t\t\t\t\t\t(click)=\"toggleOptions(notSelectedOptions, group.options)\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{{ notSelectedOptions.length ? intl.selectAll : intl.unselectAll }}\n\t\t\t\t\t\t</button>\n\t\t\t\t\t</div>\n\t\t\t\t\t<ng-template [ngTemplateOutlet]=\"optionsList\" [ngTemplateOutletContext]=\"{ $implicit: group.options }\" />\n\t\t\t\t</div>\n\t\t\t</ng-container>\n\t\t\t<ng-container *ngIf=\"!grouping || ctx.groupTemplateLocation !== 'group-header'\">\n\t\t\t\t<ng-template [ngTemplateOutlet]=\"optionsList\" [ngTemplateOutletContext]=\"{ $implicit: ctx.options }\" />\n\t\t\t</ng-container>\n\n\t\t\t<ng-template #optionsList let-options>\n\t\t\t\t<lu-select-option\n\t\t\t\t\t*ngFor=\"let option of options; let index = index\"\n\t\t\t\t\t[option]=\"option\"\n\t\t\t\t\t[optionTpl]=\"optionTpl\"\n\t\t\t\t\t[optionIndex]=\"index\"\n\t\t\t\t\t[grouping]=\"ctx.groupTemplateLocation === 'option' ? grouping : undefined\"\n\t\t\t\t\t[scrollIntoViewOptions]=\"{ block: 'nearest' }\"\n\t\t\t\t\t[isSelected]=\"option | luIsOptionSelected:optionComparer:selectedOptions\"\n\t\t\t\t\t(click)=\"toggleOption(option)\"\n\t\t\t\t/>\n\t\t\t</ng-template>\n\t\t\t<div class=\"lu-picker-content-option-emptyState\" *ngIf=\"ctx.options.length === 0 && (loading$ | async) === false\">\n\t\t\t\t{{intl.emptyResults}}\n\t\t\t</div>\n\t\t</div>\n\t\t<div *ngIf=\"loading$ | async\" class=\"lu-picker-content-loading\">\n\t\t\t<div class=\"loading\"></div>\n\t\t\t<span>{{intl.loading}}</span>\n\t\t</div>\n\t\t<div class=\"lu-picker-content-add\" *ngIf=\"ctx.shouldDisplayAddOption\">\n\t\t\t<button class=\"button mod-text mod-icon palette-product\" type=\"button\" (click)=\"selectInput.emitAddOption()\">\n\t\t\t\t<span aria-hidden=\"true\" class=\"lucca-icon icon-mathsPlus\"></span>\n\t\t\t\t<ng-container *luPortal=\"selectInput.addOptionLabel\" />\n\t\t\t</button>\n\t\t</div>\n\t</div>\n</div>\n","import { ConnectedPosition, Overlay, OverlayConfig, OverlayPositionBuilder, OverlayRef, PositionStrategy, ScrollStrategyOptions } from '@angular/cdk/overlay';\nimport { ComponentPortal } from '@angular/cdk/portal';\nimport { ChangeDetectorRef, ComponentRef, ElementRef, Injectable, Injector, inject } from '@angular/core';\nimport { takeUntil } from 'rxjs';\nimport { LuMultiSelectPanelComponent } from '../panel/index';\nimport { MULTI_SELECT_INPUT } from '../select.model';\nimport { LuMultiSelectPanelRef } from './panel.model';\nimport { LuMultiSelectInputComponent } from './select-input.component';\n\nclass MultiSelectPanelRef<T> extends LuMultiSelectPanelRef<T> {\n\tinstance: LuMultiSelectPanelComponent<T>;\n\tprivate panelRef: ComponentRef<LuMultiSelectPanelComponent<T>>;\n\tprivate portalRef: ComponentPortal<LuMultiSelectPanelComponent<T>>;\n\n\tconstructor(\n\t\tprivate overlayRef: OverlayRef,\n\t\tparentInjector: Injector,\n\t\tselectInput: LuMultiSelectInputComponent<T>,\n\t\tprotected defaultPositionStrategy: PositionStrategy,\n\t) {\n\t\tsuper();\n\n\t\tconst injector = Injector.create({\n\t\t\tproviders: [\n\t\t\t\t{ provide: LuMultiSelectPanelRef, useValue: this },\n\t\t\t\t{ provide: MULTI_SELECT_INPUT, useValue: selectInput },\n\t\t\t],\n\t\t\tparent: parentInjector,\n\t\t});\n\n\t\tthis.portalRef = new ComponentPortal<LuMultiSelectPanelComponent<T>>(LuMultiSelectPanelComponent, undefined, injector);\n\t\tthis.panelRef = overlayRef.attach(this.portalRef);\n\t\tthis.instance = this.panelRef.instance;\n\n\t\toverlayRef\n\t\t\t.backdropClick()\n\t\t\t.pipe(takeUntil(this.closed))\n\t\t\t.subscribe(() => this.close());\n\t}\n\n\temitValue(value: T[]): void {\n\t\tthis.valueChanged.emit(value);\n\t}\n\n\tupdateSelectedOptions(selectedOptions: T[]): void {\n\t\tthis.instance.selectedOptions = selectedOptions;\n\t\t// Run change detection on the panel component\n\t\tthis.panelRef.injector.get(ChangeDetectorRef).markForCheck();\n\t}\n\n\tuseDefaultPosition(): void {\n\t\tthis.overlayRef.updatePositionStrategy(this.defaultPositionStrategy);\n\t}\n\n\tupdatePosition(): void {\n\t\tthis.overlayRef.updatePosition();\n\t}\n\n\toverride close(): void {\n\t\tsuper.close();\n\t\tthis.panelRef.destroy();\n\t\tthis.overlayRef.detach();\n\t}\n\n\thandleKeyManagerEvent(event: KeyboardEvent) {\n\t\tthis.instance.keyManager.onKeydown(event);\n\t}\n\n\tselectCurrentlyHighlightedValue(): void {\n\t\tif (this.instance.keyManager?.activeItem) {\n\t\t\tthis.instance.toggleOption(this.instance.keyManager.activeItem.option);\n\t\t}\n\t}\n}\n\n@Injectable()\nexport class LuMultiSelectPanelRefFactory {\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\n\tbuildPanelRef<T>(selectInput: LuMultiSelectInputComponent<T>, defaultOverlayConfigOverride: OverlayConfig = {}): LuMultiSelectPanelRef<T> {\n\t\tconst defaultOverlayConfig = this.buildDefaultOverlayConfig(defaultOverlayConfigOverride);\n\n\t\tconst overlayRef = this.overlay.create(defaultOverlayConfig);\n\n\t\toverlayRef.hostElement.style.transitionProperty = 'height';\n\t\toverlayRef.hostElement.style.transitionDuration = 'var(--commons-animations-durations-standard)';\n\n\t\treturn new MultiSelectPanelRef(overlayRef, this.parentInjector, selectInput, defaultOverlayConfig.positionStrategy);\n\t}\n\n\tprotected buildDefaultOverlayConfig(overlayConfigOverride: OverlayConfig = {}): OverlayConfig {\n\t\tconst overlayConfig: OverlayConfig = { ...overlayConfigOverride };\n\n\t\tconst config = { overlapInput: false, offsetY: 2 };\n\t\toverlayConfig.positionStrategy = this.positionBuilder\n\t\t\t.flexibleConnectedTo(this.elementRef)\n\t\t\t.withViewportMargin(10)\n\t\t\t.withPositions([\n\t\t\t\tthis.buildPosition('bottom', 'right', config),\n\t\t\t\tthis.buildPosition('bottom', 'left', config),\n\t\t\t\tthis.buildPosition('top', 'right', config),\n\t\t\t\tthis.buildPosition('top', 'left', config),\n\t\t\t]);\n\t\toverlayConfig.scrollStrategy = this.scrollStrategies.reposition();\n\t\toverlayConfig.minWidth = this.elementRef.nativeElement.clientWidth;\n\t\toverlayConfig.maxWidth = '100vw';\n\n\t\treturn overlayConfig;\n\t}\n\n\tprotected buildPosition(\n\t\tyDirection: 'top' | 'bottom',\n\t\txDirection: 'left' | 'right',\n\t\tconfig: {\n\t\t\toffsetX?: number;\n\t\t\toffsetY?: number;\n\t\t\toverlapInput: boolean;\n\t\t},\n\t): ConnectedPosition {\n\t\tconst originX = xDirection === 'right' ? 'start' : 'end';\n\t\tconst overlayX = originX;\n\n\t\tconst oppositeYDirection = yDirection === 'top' ? 'bottom' : 'top';\n\t\tconst { originY, overlayY } = config.overlapInput\n\t\t\t? ({\n\t\t\t\t\toriginY: oppositeYDirection,\n\t\t\t\t\toverlayY: oppositeYDirection,\n\t\t\t\t} as const)\n\t\t\t: ({ originY: yDirection, overlayY: oppositeYDirection } as const);\n\n\t\treturn {\n\t\t\toriginX,\n\t\t\toriginY,\n\t\t\toverlayX,\n\t\t\toverlayY,\n\t\t\t...(config.offsetX ? { offsetX: xDirection === 'right' ? config.offsetX : -config.offsetX } : {}),\n\t\t\t...(config.offsetY ? { offsetY: yDirection === 'bottom' ? config.offsetY : -config.offsetY } : {}),\n\t\t};\n\t}\n}\n","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, forwardRef, inject, Input, numberAttribute, OnDestroy, OnInit, TemplateRef, Type, ViewEncapsulation } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { getIntl } from '@lucca-front/ng/core';\nimport { ALuSelectInputComponent, LuOptionContext, provideLuSelectLabelsAndIds, provideLuSelectOverlayContainer, ɵLuOptionOutletDirective } from '@lucca-front/ng/core-select';\nimport { IconComponent } from '@lucca-front/ng/icon';\nimport { LuTooltipModule } from '@lucca-front/ng/tooltip';\nimport { Subject } from 'rxjs';\nimport { LuMultiSelectDefaultDisplayerComponent } from '../displayer/index';\nimport { LU_MULTI_SELECT_TRANSLATIONS } from '../select.translate';\nimport { LuMultiSelectPanelRefFactory } from './panel-ref.factory';\nimport { LuMultiSelectPanelRef } from './panel.model';\n\n@Component({\n\tselector: 'lu-multi-select',\n\tstandalone: true,\n\timports: [CommonModule, LuTooltipModule, ɵLuOptionOutletDirective, IconComponent],\n\ttemplateUrl: './select-input.component.html',\n\tstyleUrls: ['./select-input.component.scss'],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tproviders: [\n\t\t{\n\t\t\tprovide: NG_VALUE_ACCESSOR,\n\t\t\tuseExisting: forwardRef(() => LuMultiSelectInputComponent),\n\t\t\tmulti: true,\n\t\t},\n\t\t{\n\t\t\tprovide: ALuSelectInputComponent,\n\t\t\tuseExisting: forwardRef(() => LuMultiSelectInputComponent),\n\t\t},\n\t\tprovideLuSelectOverlayContainer(),\n\t\tprovideLuSelectLabelsAndIds(),\n\t\tLuMultiSelectPanelRefFactory,\n\t],\n\thost: {\n\t\tclass: 'multiSelect',\n\t},\n\tencapsulation: ViewEncapsulation.None,\n})\nexport class LuMultiSelectInputComponent<T> extends ALuSelectInputComponent<T, T[]> implements ControlValueAccessor, OnDestroy, OnInit {\n\tintl = getIntl(LU_MULTI_SELECT_TRANSLATIONS);\n\n\t@Input()\n\tvaluesTpl?: TemplateRef<LuOptionContext<T[]>> | Type<unknown> = LuMultiSelectDefaultDisplayerComponent;\n\n\t@Input({ transform: numberAttribute })\n\tmaxValuesShown = 500;\n\n\toverride _value: T[] = [];\n\n\tpublic override get panelRef(): LuMultiSelectPanelRef<T> | undefined {\n\t\treturn this._panelRef;\n\t}\n\n\tprotected override _panelRef?: LuMultiSelectPanelRef<T>;\n\n\tprotected panelRefFactory = inject(LuMultiSelectPanelRefFactory);\n\n\t/**\n\t * This is used to tell the displayer to focus on the input element\n\t * keepClue is used to avoid triggering an update which would open the panel,\n\t * mainly for when we want to focus without opening the panel\n\t */\n\tpublic readonly focusInput$ = new Subject<void | { keepClue: boolean }>();\n\n\tpublic readonly emptyClue$ = new Subject<void>();\n\n\tpublic override focusInput(): void {\n\t\tthis.focusInput$.next({ keepClue: true });\n\t}\n\n\tpublic override emptyClue(): void {\n\t\tthis.emptyClue$.next();\n\t}\n\n\tpublic override writeValue(value: T[]): void {\n\t\tsuper.writeValue(value);\n\t\tthis.panelRef?.updateSelectedOptions(value);\n\t}\n\n\tpublic override updateValue(value: T[], skipFocus = false): void {\n\t\tsuper.updateValue(value, skipFocus);\n\t\tif (!skipFocus) {\n\t\t\tthis.focusInput();\n\t\t}\n\t}\n\n\tprotected override buildPanelRef(): LuMultiSelectPanelRef<T> {\n\t\treturn this.panelRefFactory.buildPanelRef(this, this.overlayConfig);\n\t}\n\n\tprotected override bindInputToPanelRefEvents(): void {\n\t\tif (!this.panelRef) {\n\t\t\treturn;\n\t\t}\n\n\t\tsuper.bindInputToPanelRefEvents();\n\t}\n\n\tprotected override get hasValue(): boolean {\n\t\treturn this.value && this.value.length > 0;\n\t}\n\n\toverride clearValue(event: MouseEvent): void {\n\t\tevent.stopPropagation();\n\t\tthis.onChange?.([]);\n\t\tthis.value = [];\n\t\tthis.focusInput$.next({ keepClue: true });\n\t}\n\n\toverride ngOnDestroy() {\n\t\tsuper.ngOnDestroy();\n\t\tthis.focusInput$.complete();\n\t}\n}\n","<ng-container *luOptionOutlet=\"valuesTpl; value: value || []\"></ng-container>\n\n<button\n\t*ngIf=\"hasValue && clearable && (disabled$ | async) === false\"\n\trole=\"button\"\n\ttype=\"button\"\n\tclass=\"multipleSelect-clear clear\"\n\t(click)=\"clearValue($event)\"\n>\n\t<span class=\"u-mask\">{{intl.clear}}</span>\n</button>\n<span aria-hidden=\"true\" class=\"multipleSelect-arrow lucca-icon icon-arrowChevronBottom\"></span>\n","import { InjectionToken } from '@angular/core';\nimport { ILuTranslation } from '@lucca-front/ng/core';\n\nexport const LU_MULTI_SELECT_DISPLAYER_TRANSLATIONS = new InjectionToken('LuMultiSelectDisplayerTranslations', {\n\tfactory: () => luMultiSelectDisplayerTranslations,\n});\n\nexport interface ILuMultiSelectDisplayerLabel {\n\totherResult: string;\n\totherResults: string;\n\tshowResultsDetails: string;\n\tremoveOption: string;\n}\n\nexport const luMultiSelectDisplayerTranslations: ILuTranslation<ILuMultiSelectDisplayerLabel> = {\n\tfr: {\n\t\totherResult: 'autre résultat',\n\t\totherResults: 'autres résultats',\n\t\tshowResultsDetails: 'Voir le détail',\n\t\tremoveOption: \"Supprimer l'option\",\n\t},\n\ten: {\n\t\totherResult: 'other result',\n\t\totherResults: 'other results',\n\t\tshowResultsDetails: 'Show details',\n\t\tremoveOption: 'Remove option',\n\t},\n\tde: {\n\t\totherResult: 'anderes Ergebnis',\n\t\totherResults: 'andere Ergebnisse',\n\t\tshowResultsDetails: 'Details anzeigen',\n\t\tremoveOption: 'Remove option',\n\t},\n\tes: {\n\t\totherResult: 'otro resultado',\n\t\totherResults: 'otros resultados',\n\t\tshowResultsDetails: 'Mostrar detalles',\n\t\tremoveOption: 'Remove option',\n\t},\n\tpt: {\n\t\totherResult: 'outro resultado',\n\t\totherResults: 'outros resultados',\n\t\tshowResultsDetails: 'Mostrar detalhes',\n\t\tremoveOption: 'Remove option',\n\t},\n};\n","import { AsyncPipe, NgFor, NgIf, NgPlural, NgPluralCase } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, DestroyRef, ElementRef, OnInit, ViewChild, inject } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { FormsModule } from '@angular/forms';\nimport { getIntl } from '@lucca-front/ng/core';\nimport { ILuOptionContext, LU_OPTION_CONTEXT, ɵLuOptionOutletDirective } from '@lucca-front/ng/core-select';\nimport { InputDirective } from '@lucca-front/ng/form-field';\nimport { LuTooltipModule } from '@lucca-front/ng/tooltip';\nimport { map, switchMap } from 'rxjs/operators';\nimport { LuMultiSelectInputComponent } from '../input/select-input.component';\nimport { LU_MULTI_SELECT_DISPLAYER_TRANSLATIONS } from './default-displayer.translate';\nimport { of } from 'rxjs';\n\n@Component({\n\tselector: 'lu-multi-select-default-displayer',\n\tstandalone: true,\n\timports: [AsyncPipe, LuTooltipModule, NgIf, NgFor, NgPlural, NgPluralCase, ɵLuOptionOutletDirective, FormsModule, InputDirective],\n\ttemplate: `\n\t\t<div class=\"multipleSelect-displayer\">\n\t\t\t<input\n\t\t\t\tclass=\"multipleSelect-displayer-search\"\n\t\t\t\ttype=\"text\"\n\t\t\t\t[attr.aria-expanded]=\"select.isPanelOpen\"\n\t\t\t\t[attr.aria-activedescendant]=\"select.activeDescendant$ | async\"\n\t\t\t\t[attr.aria-controls]=\"ariaControls\"\n\t\t\t\t[disabled]=\"select.disabled$ | async\"\n\t\t\t\t[readonly]=\"!select.searchable\"\n\t\t\t\t#inputElement\n\t\t\t\tngModel\n\t\t\t\t(ngModelChange)=\"select.clueChanged($event)\"\n\t\t\t\t[placeholder]=\"placeholder$ | async\"\n\t\t\t\t(keydown.backspace)=\"inputBackspace()\"\n\t\t\t\trole=\"combobox\"\n\t\t\t\taria-haspopup=\"listbox\"\n\t\t\t\tluInput\n\t\t\t/>\n\t\t\t<div *ngFor=\"let option of displayedOptions$ | async; let index = index\" class=\"multipleSelect-displayer-chip chip\" [class.mod-unkillable]=\"select.disabled$ | async\">\n\t\t\t\t<span class=\"multipleSelect-displayer-chip-value\"><ng-container *luOptionOutlet=\"select.valueTpl || select.optionTpl; value: option\"></ng-container></span>\n\t\t\t\t<button *ngIf=\"!(select.disabled$ | async)\" type=\"button\" class=\"chip-kill\" (click)=\"unselectOption(option, $event)\">\n\t\t\t\t\t<span class=\"u-mask\">{{ intl.removeOption }}</span>\n\t\t\t\t</button>\n\t\t\t</div>\n\t\t\t<div class=\"chip\" *ngIf=\"overflowOptions$ | async as overflow\">+ {{ overflow }}</div>\n\t\t</div>\n\t`,\n\tstyleUrls: ['./default-displayer.component.scss'],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class LuMultiSelectDefaultDisplayerComponent<T> implements OnInit {\n\tselect = inject<LuMultiSelectInputComponent<T>>(LuMultiSelectInputComponent);\n\tintl = getIntl(LU_MULTI_SELECT_DISPLAYER_TRANSLATIONS);\n\n\tprotected destroyRef = inject(DestroyRef);\n\n\t@ViewChild('inputElement')\n\tinputElementRef: ElementRef<HTMLInputElement>;\n\n\tget value(): T[] {\n\t\treturn this.select.value || [];\n\t}\n\n\tget ariaControls() {\n\t\treturn this.select.ariaControls;\n\t}\n\n\tcontext = inject<ILuOptionContext<T[]>>(LU_OPTION_CONTEXT);\n\n\tplaceholder$ = this.context.option$.pipe(\n\t\tswitchMap((options) => {\n\t\t\tif ((options || []).length > 0) {\n\t\t\t\treturn of('');\n\t\t\t}\n\t\t\treturn this.select.placeholder$;\n\t\t}),\n\t);\n\n\tdisplayedOptions$ = this.context.option$.pipe(\n\t\tmap((options) => {\n\t\t\tif (this.select.maxValuesShown) {\n\t\t\t\treturn (options || []).slice(0, this.select.maxValuesShown);\n\t\t\t}\n\t\t\treturn options;\n\t\t}),\n\t);\n\n\toverflowOptions$ = this.context.option$.pipe(\n\t\tmap((options) => {\n\t\t\treturn Math.max(0, (options || []).length - this.select.maxValuesShown);\n\t\t}),\n\t);\n\n\tunselectOption(option: T, $event?: Event): void {\n\t\tif ($event) {\n\t\t\t$event.stopPropagation();\n\t\t\t$event.preventDefault();\n\t\t}\n\t\tthis.select.updateValue(\n\t\t\tthis.value.filter((o) => o !== option),\n\t\t\ttrue,\n\t\t);\n\t\tsetTimeout(() => {\n\t\t\tthis.select.panelRef?.updatePosition();\n\t\t\tthis.inputElementRef.nativeElement.focus();\n\t\t});\n\t}\n\n\tinputBackspace(): void {\n\t\tif (this.value.length > 0 && this.inputElementRef.nativeElement.value.length === 0) {\n\t\t\tthis.unselectOption(this.value[this.value.length - 1]);\n\t\t\tthis.select.panelRef?.updateSelectedOptions(this.value);\n\t\t}\n\t}\n\n\tngOnInit(): void {\n\t\tthis.select.focusInput$.pipe(takeUntilDestroyed(this.destroyRef)).subscribe((data?: { keepClue: true }) => {\n\t\t\t// Everytime we want to focus, we need to reset the input\n\t\t\t// This is done when a value is selected and when panel is opened.\n\t\t\tif (!data?.keepClue) {\n\t\t\t\tthis.inputElementRef.nativeElement.value = '';\n\t\t\t\tthis.select.clueChanged('');\n\t\t\t}\n\n\t\t\tthis.inputElementRef.nativeElement.focus();\n\t\t});\n\t\tthis.select.emptyClue$.pipe(takeUntilDestroyed(this.destroyRef)).subscribe(() => {\n\t\t\tthis.inputElementRef.nativeElement.value = '';\n\t\t});\n\t}\n}\n","import { Directive, Input, TemplateRef } from '@angular/core';\nimport { LuOptionContext } from '@lucca-front/ng/core-select';\nimport { LuMultiSelectInputComponent } from '../input';\n\n@Directive({\n\tselector: '[luMultiDisplayer]',\n\tstandalone: true,\n})\nexport class LuMultiDisplayerDirective<T> {\n\t@Input('luMultiDisplayerSelect') set select(select: LuMultiSelectInputComponent<T>) {\n\t\tselect.valuesTpl = this.templateRef;\n\t}\n\n\tpublic constructor(private templateRef: TemplateRef<LuOptionContext<T[]>>) {}\n\n\tpublic static ngTemplateContextGuard<T>(_dir: LuMultiDisplayerDirective<T>, ctx: unknown): ctx is LuOptionContext<T[]> {\n\t\treturn true;\n\t}\n}\n","import { DestroyRef, Directive, ElementRef, HostBinding, inject, OnInit } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { ILuOptionContext, LU_OPTION_CONTEXT } from '@lucca-front/ng/core-select';\nimport { startWith, switchMap } from 'rxjs/operators';\nimport { LuMultiSelectInputComponent } from '../input';\nimport { of } from 'rxjs';\n\n@Directive({\n\tselector: '[luMultiSelectDisplayerInput]',\n\tstandalone: true,\n\thost: {\n\t\t'aria-haspopup': 'listbox',\n\t\trole: 'combobox',\n\t\tclass: 'multipleSelect-displayer-search',\n\t},\n})\nexport class LuMultiSelectDisplayerInputDirective<T> implements OnInit {\n\tselect = inject<LuMultiSelectInputComponent<T>>(LuMultiSelectInputComponent);\n\n\tcontext = inject<ILuOptionContext<T[]>>(LU_OPTION_CONTEXT);\n\n\telementRef = inject<ElementRef<HTMLInputElement>>(ElementRef);\n\n\tdestroyRef = inject(DestroyRef);\n\n\t@HostBinding('attr.aria-expanded')\n\tpanelOpen = false;\n\n\t@HostBinding('attr.aria-activedescendant')\n\tactiveDescendant = '';\n\n\t@HostBinding('attr.aria-controls')\n\tcontrols = this.select?.ariaControls;\n\n\t@HostBinding('disabled')\n\tdisabled = false;\n\n\t@HostBinding('placeholder')\n\tplaceholder = '';\n\n\tngOnInit(): void {\n\t\tthis.context.option$\n\t\t\t.pipe(\n\t\t\t\tstartWith([]),\n\t\t\t\tswitchMap((options) => {\n\t\t\t\t\tif ((options || []).length > 0) {\n\t\t\t\t\t\treturn of('');\n\t\t\t\t\t}\n\t\t\t\t\treturn this.select.placeholder$;\n\t\t\t\t}),\n\t\t\t\ttakeUntilDestroyed(this.destroyRef),\n\t\t\t)\n\t\t\t.subscribe((placeholder) => {\n\t\t\t\tthis.placeholder = placeholder;\n\t\t\t});\n\t\tthis.select.isPanelOpen$.pipe(takeUntilDestroyed(this.destroyRef)).subscribe((open) => {\n\t\t\tthis.panelOpen = open;\n\t\t});\n\t\tthis.select.activeDescendant$.pipe(takeUntilDestroyed(this.destroyRef)).subscribe((activeDescendant) => {\n\t\t\t// Pushing this to next cycle to avoid expression has changed while it was checked\n\t\t\tsetTimeout(() => {\n\t\t\t\tthis.activeDescendant = activeDescendant;\n\t\t\t}, 1);\n\t\t});\n\t\tthis.context.isDisabled$.pipe(takeUntilDestroyed(this.destroyRef)).subscribe((disabled) => {\n\t\t\tthis.disabled = disabled;\n\t\t});\n\t\tthis.select.focusInput$.pipe(takeUntilDestroyed(this.destroyRef)).subscribe(() => {\n\t\t\tthis.elementRef.nativeElement.value = '';\n\t\t\tthis.select.clueChanged('');\n\t\t\tthis.elementRef.nativeElement.focus();\n\t\t});\n\t\tthis.select.emptyClue$.pipe(takeUntilDestroyed(this.destroyRef)).subscribe(() => {\n\t\t\tthis.elementRef.nativeElement.value = '';\n\t\t});\n\t}\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["ɵgetGroupTemplateLocation","ɵLuOptionComponent","ɵLuOptionGroupPipe","ɵLuOptionOutletDirective","map","i1"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"lucca-front-ng-multi-select.mjs","sources":["../../../packages/ng/multi-select/translations.ts","../../../packages/ng/multi-select/select.translate.ts","../../../packages/ng/multi-select/input/panel.model.ts","../../../packages/ng/multi-select/select.model.ts","../../../packages/ng/multi-select/panel/not-selected.pipe.ts","../../../packages/ng/multi-select/panel/option-selected.pipe.ts","../../../packages/ng/multi-select/panel/selected-chip.directive.ts","../../../packages/ng/multi-select/panel/panel.component.ts","../../../packages/ng/multi-select/panel/panel.component.html","../../../packages/ng/multi-select/input/panel-ref.factory.ts","../../../packages/ng/multi-select/input/select-input.component.ts","../../../packages/ng/multi-select/input/select-input.component.html","../../../packages/ng/multi-select/displayer/translations.ts","../../../packages/ng/multi-select/displayer/default-displayer.translate.ts","../../../packages/ng/multi-select/displayer/default-displayer.component.ts","../../../packages/ng/multi-select/displayer/displayer-input.directive.ts","../../../packages/ng/multi-select/displayer/displayer.directive.ts","../../../packages/ng/multi-select/lucca-front-ng-multi-select.ts"],"sourcesContent":["export const Translations = {\n\ten: {\n\t\tplaceholder: 'Select an option',\n\t\tsearch: 'Search',\n\t\tclear: 'Clear selection',\n\t\tclearSearch: 'Clear search',\n\t\temptyResults: 'Your search did not produce any results.',\n\t\temptySelection: 'Select items from the list on the left to start',\n\t\texpand: 'Expand',\n\t\treduce: 'Collapse',\n\t\tselectAll: 'Select all',\n\t\tunselectAll: 'Deselect all',\n\t\tloading: 'Loading...',\n\t},\n\tde: {\n\t\tplaceholder: 'Wählen Sie eine Option',\n\t\tsearch: 'Suchen',\n\t\tclear: 'Auswahl löschen',\n\t\tclearSearch: 'Suche leeren',\n\t\temptyResults: 'Keine Ergebnisse für Ihre Suche',\n\t\temptySelection: 'Wählen Sie zuerst die Items in der Liste links aus.',\n\t\texpand: 'Erweitern',\n\t\treduce: 'Reduzieren',\n\t\tselectAll: 'Alles auswählen',\n\t\tunselectAll: 'Alles abwählen',\n\t\tloading: 'Lädt...',\n\t},\n\tfr: {\n\t\tplaceholder: 'Sélectionnez une option',\n\t\tsearch: 'Rechercher',\n\t\tclear: 'Vider la sélection',\n\t\tclearSearch: 'Vider la recherche',\n\t\temptyResults: 'Aucun résultat pour votre recherche',\n\t\temptySelection: 'Sélectionnez les éléments dans la liste de gauche pour commencer',\n\t\texpand: 'Étendre',\n\t\treduce: 'Réduire',\n\t\tselectAll: 'Tout sélectionner',\n\t\tunselectAll: 'Tout désélectionner',\n\t\tloading: 'Chargement en cours...',\n\t},\n\tit: {\n\t\tplaceholder: 'Seleziona un’opzione',\n\t\tsearch: 'Cercare',\n\t\tclear: 'Cancellare la selezione',\n\t\tclearSearch: 'Cancellare la ricerca',\n\t\temptyResults: 'Nessun risultato per la ricerca',\n\t\temptySelection: 'Per iniziare, seleziona gli elementi dall’elenco a sinistra',\n\t\texpand: 'Estendere',\n\t\treduce: 'Ridurre',\n\t\tselectAll: 'Selezionare tutto',\n\t\tunselectAll: 'Deselezionare tutto',\n\t\tloading: 'Caricamento in corso...',\n\t},\n\tnl: {\n\t\tplaceholder: 'Selecteer een optie',\n\t\tsearch: 'Zoeken',\n\t\tclear: 'Selectie leegmaken',\n\t\tclearSearch: 'Zoekopdracht leegmaken',\n\t\temptyResults: 'Geen resultaten voor uw zoekopdracht',\n\t\temptySelection: 'Selecteer elementen uit de lijst aan de linkerkant om te beginnen',\n\t\texpand: 'Vergroten',\n\t\treduce: 'Verkleinen',\n\t\tselectAll: 'Alles selecteren',\n\t\tunselectAll: 'Alles deselecteren',\n\t\tloading: 'Bezig met laden...',\n\t},\n\t'nl-BE': {\n\t\tplaceholder: 'Selecteer een optie',\n\t\tsearch: 'Zoeken',\n\t\tclear: 'Selectie leegmaken',\n\t\tclearSearch: 'Zoekopdracht leegmaken',\n\t\temptyResults: 'Geen resultaten voor uw zoekopdracht',\n\t\temptySelection: 'Selecteer elementen uit de lijst aan de linkerkant om te beginnen',\n\t\texpand: 'Vergroten',\n\t\treduce: 'Verkleinen',\n\t\tselectAll: 'Alles selecteren',\n\t\tunselectAll: 'Alles deselecteren',\n\t\tloading: 'Bezig met laden...',\n\t},\n\tes: {\n\t\tplaceholder: 'Seleccione una opción',\n\t\tsearch: 'Buscar',\n\t\tclear: 'Borrar selección',\n\t\tclearSearch: 'Vaciar la búsqueda',\n\t\temptyResults: 'No hay resultados para su búsqueda',\n\t\temptySelection: 'Seleccione los elementos de la lista de la izquierda para empezar',\n\t\texpand: 'Expandir',\n\t\treduce: 'Reducir',\n\t\tselectAll: 'Seleccionar todo',\n\t\tunselectAll: 'Desmarcar todo',\n\t\tloading: 'Cargando...',\n\t},\n\tpt: {\n\t\tplaceholder: 'Selecione uma opção',\n\t\tsearch: 'Pesquisar',\n\t\tclear: 'Limpar seleção',\n\t\tclearSearch: 'Limpar pesquisa',\n\t\temptyResults: 'Nenhum resultado para sua pesquisa',\n\t\temptySelection: 'Selecione itens na lista à esquerda para começar',\n\t\texpand: 'Expandir',\n\t\treduce: 'Reduzir',\n\t\tselectAll: 'Selecionar tudo',\n\t\tunselectAll: 'Desmarcar tudo',\n\t\tloading: 'Carregando...',\n\t},\n};\n","import { InjectionToken } from '@angular/core';\nimport { LuTranslation } from '@lucca-front/ng/core';\nimport { Translations } from './translations';\n\nexport const LU_MULTI_SELECT_TRANSLATIONS = new InjectionToken('LuMultiSelectTranslations', {\n\tfactory: () => luMultiSelectTranslations,\n});\n\nexport interface ILuMultiSelectLabel {\n\tplaceholder: string;\n\tsearch: string;\n\tclear: string;\n\tclearSearch: string;\n\temptyResults: string;\n\temptySelection: string;\n\texpand: string;\n\treduce: string;\n\tselectAll: string;\n\tunselectAll: string;\n\tloading: string;\n}\n\nexport const luMultiSelectTranslations: LuTranslation<ILuMultiSelectLabel> = Translations;\n","import { LuSelectPanelRef } from '@lucca-front/ng/core-select';\n\nexport abstract class LuMultiSelectPanelRef<T> extends LuSelectPanelRef<T, T[]> {\n\tabstract updateSelectedOptions(selectedOptions: T[]): void;\n\n\tabstract useDefaultPosition(): void;\n}\n","import { InjectionToken } from '@angular/core';\nimport type { LuMultiSelectInputComponent } from './input';\n\nexport const MULTI_SELECT_INPUT = new InjectionToken<LuMultiSelectInputComponent<unknown>>('MultiSelectInput');\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n\tname: 'luNotSelectedOptions',\n\tstandalone: true,\n\tpure: true,\n})\nexport class LuNotSelectedOptionsPipe<T> implements PipeTransform {\n\ttransform(groupOptions: T[], selectedOptions: T[], optionComparer: (option1: T, option2: T) => boolean): T[] {\n\t\treturn groupOptions.filter((o) => !selectedOptions.some((so) => optionComparer(so, o)));\n\t}\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n\tname: 'luIsOptionSelected',\n\tstandalone: true,\n})\nexport class LuIsOptionSelectedPipe implements PipeTransform {\n\ttransform<T>(option: T, comparer: (option1: T, option2: T) => boolean, selectedOptions: T[]): boolean {\n\t\treturn selectedOptions.some((selectedOption) => comparer(option, selectedOption));\n\t}\n}\n","import { Highlightable } from '@angular/cdk/a11y';\nimport { Directive, ElementRef, Input, inject } from '@angular/core';\n\n@Directive({\n\tstandalone: true,\n\tselector: '[luMultiSelectSelectedChip]',\n})\nexport class ɵLuMultiSelectSelectedChipDirective<T> implements Highlightable {\n\t@Input('luMultiSelectSelectedChip') option?: T;\n\n\telementRef = inject<ElementRef<HTMLElement>>(ElementRef).nativeElement;\n\n\tsetActiveStyles(): void {\n\t\tthis.elementRef.querySelector('button').focus();\n\t}\n\tsetInactiveStyles(): void {\n\t\t// Nothing to do\n\t}\n}\n","import { A11yModule, ActiveDescendantKeyManager } from '@angular/cdk/a11y';\nimport { AsyncPipe, NgFor, NgIf, NgTemplateOutlet } from '@angular/common';\nimport { AfterViewInit, ChangeDetectionStrategy, Component, QueryList, ViewChildren, inject } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { PortalDirective, getIntl } from '@lucca-front/ng/core';\nimport { SELECT_ID, ɵLuOptionComponent, ɵLuOptionGroupPipe, ɵLuOptionOutletDirective, ɵgetGroupTemplateLocation } from '@lucca-front/ng/core-select';\nimport { asyncScheduler, filter, map, observeOn, take, takeUntil } from 'rxjs';\nimport { debounceTime, switchMap } from 'rxjs/operators';\nimport { LuMultiSelectInputComponent } from '../input';\nimport { LuMultiSelectPanelRef } from '../input/panel.model';\nimport { MULTI_SELECT_INPUT } from '../select.model';\nimport { LU_MULTI_SELECT_TRANSLATIONS } from '../select.translate';\nimport { LuNotSelectedOptionsPipe } from './not-selected.pipe';\nimport { LuIsOptionSelectedPipe } from './option-selected.pipe';\nimport { ɵLuMultiSelectSelectedChipDirective } from './selected-chip.directive';\n\n@Component({\n\tselector: 'lu-select-panel',\n\ttemplateUrl: './panel.component.html',\n\tstyleUrls: ['./panel.component.scss'],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tstandalone: true,\n\timports: [\n\t\tA11yModule,\n\t\tAsyncPipe,\n\t\tFormsModule,\n\t\tLuIsOptionSelectedPipe,\n\t\tNgIf,\n\t\tNgFor,\n\t\tɵLuOptionComponent,\n\t\tɵLuOptionGroupPipe,\n\t\tɵLuOptionOutletDirective,\n\t\tɵLuMultiSelectSelectedChipDirective,\n\t\tNgTemplateOutlet,\n\t\tPortalDirective,\n\t\tLuNotSelectedOptionsPipe,\n\t],\n})\nexport class LuMultiSelectPanelComponent<T> implements AfterViewInit {\n\tprotected selectInput = inject<LuMultiSelectInputComponent<T>>(MULTI_SELECT_INPUT);\n\tpanelRef = inject<LuMultiSelectPanelRef<T>>(LuMultiSelectPanelRef);\n\tselectId = inject(SELECT_ID);\n\tintl = getIntl(LU_MULTI_SELECT_TRANSLATIONS);\n\n\toptions$ = this.selectInput.options$;\n\tgrouping = this.selectInput.grouping;\n\tloading$ = this.selectInput.loading$;\n\toptionComparer = this.selectInput.optionComparer;\n\tselectedOptions: T[] = this.selectInput.value || [];\n\toptionTpl = this.selectInput.optionTpl;\n\n\t@ViewChildren(ɵLuOptionComponent) optionsQL: QueryList<ɵLuOptionComponent<T>>;\n\tprivate _keyManager: ActiveDescendantKeyManager<ɵLuOptionComponent<T>>;\n\n\tpublic get keyManager(): ActiveDescendantKeyManager<ɵLuOptionComponent<T>> {\n\t\treturn this._keyManager;\n\t}\n\n\tpublic clueChange$ = this.selectInput.clue$;\n\tpublic shouldDisplayAddOption$ = this.selectInput.shouldDisplayAddOption$;\n\n\tgroupTemplateLocation$ = ɵgetGroupTemplateLocation(!!this.grouping, this.clueChange$, this.options$);\n\n\tonScroll(evt: Event): void {\n\t\tif (!(evt.target instanceof HTMLElement)) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (evt.target.scrollTop === 0) {\n\t\t\tthis.panelRef.previousPage.emit();\n\t\t}\n\n\t\tif (evt.target.scrollHeight - evt.target.scrollTop - evt.target.clientHeight < 1) {\n\t\t\tthis.panelRef.nextPage.emit();\n\t\t}\n\t}\n\n\tngAfterViewInit(): void {\n\t\tif (!this.optionsQL) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.initKeyManager();\n\t\tthis.panelRef.useDefaultPosition();\n\t}\n\n\ttoggleOption(option: T): void {\n\t\tconst matchingOption = this.selectedOptions.find((o) => this.optionComparer(o, option));\n\t\tthis.selectedOptions = matchingOption ? this.selectedOptions.filter((o) => o !== matchingOption) : [...this.selectedOptions, option];\n\t\tthis.panelRef.emitValue(this.selectedOptions);\n\t\tsetTimeout(() => this.panelRef.updatePosition());\n\t\tthis._keyManager?.setActiveItem(this.optionsQL.toArray().findIndex((o) => o.option === option));\n\t}\n\n\ttoggleOptions(notSelectedOptions: T[], groupOptions: T[]): void {\n\t\tif (notSelectedOptions.length) {\n\t\t\t// If some options are not selected, select them all\n\t\t\tthis.selectedOptions = [...this.selectedOptions, ...notSelectedOptions];\n\t\t} else {\n\t\t\t// If all options are already selected, unselect them all\n\t\t\tthis.selectedOptions = this.selectedOptions.filter((o) => !groupOptions.some((so) => this.optionComparer(so, o)));\n\t\t}\n\n\t\tthis.panelRef.emitValue(this.selectedOptions);\n\t\tsetTimeout(() => this.panelRef.updatePosition());\n\t}\n\n\tprotected initKeyManager(): void {\n\t\tthis._keyManager = new ActiveDescendantKeyManager(this.optionsQL).withHomeAndEnd();\n\n\t\tif (this.selectedOptions) {\n\t\t\tthis.options$\n\t\t\t\t?.pipe(\n\t\t\t\t\tobserveOn(asyncScheduler),\n\t\t\t\t\tmap((options) => (this.selectedOptions.length ? options.findIndex((o) => this.optionComparer(o, this.selectedOptions[0])) : -1)),\n\t\t\t\t\tfilter((index) => index !== -1),\n\t\t\t\t\ttake(1),\n\t\t\t\t\ttakeUntil(this.panelRef.closed),\n\t\t\t\t)\n\t\t\t\t.subscribe((selectedIndex) => this._keyManager.setActiveItem(selectedIndex));\n\t\t}\n\n\t\tthis._keyManager.change\n\t\t\t.pipe(\n\t\t\t\tmap(() => this._keyManager.activeItem?.id),\n\t\t\t\ttakeUntil(this.panelRef.closed),\n\t\t\t)\n\t\t\t.subscribe((activeDescendant) => this.panelRef.activeOptionIdChanged.emit(activeDescendant));\n\n\t\t/**\n\t\t * On new options, we want to select the first element with key manager\n\t\t */\n\t\tif (this.selectInput.searchable) {\n\t\t\tthis.selectInput.clueChange\n\t\t\t\t.pipe(\n\t\t\t\t\tswitchMap(() => this.optionsQL.changes.pipe(take(1))),\n\t\t\t\t\tdebounceTime(0),\n\t\t\t\t\ttakeUntil(this.panelRef.closed),\n\t\t\t\t)\n\t\t\t\t.subscribe(() => (this.optionsQL.length ? this.keyManager.setFirstItemActive() : this.keyManager.setActiveItem(-1)));\n\t\t}\n\n\t\tthis.keyManager.setFirstItemActive();\n\t}\n}\n","<div\n\tclass=\"lu-picker-panel lu-option-picker-panel mod-multiple\"\n\trole=\"dialog\"\n\t*ngIf=\"{\n\t\toptions: (options$ | async) || [],\n\t\tgroupTemplateLocation: groupTemplateLocation$ | async,\n\t\tshouldDisplayAddOption: shouldDisplayAddOption$ | async,\n\t} as ctx\"\n>\n\t<div\n\t\tclass=\"lu-picker-content\"\n\t\t[class.is-loading]=\"loading$ | async\"\n\t\t[class.is-filled]=\"ctx.options.length > 0\"\n\t\ttabindex=\"0\"\n\t\trole=\"listbox\"\n\t\taria-multiselectable=\"true\"\n\t\t(scroll)=\"onScroll($event)\"\n\t>\n\t\t<div class=\"lu-picker-content-option\">\n\t\t\t<ng-container *ngIf=\"grouping && ctx.groupTemplateLocation === 'group-header'\">\n\t\t\t\t<div\n\t\t\t\t\t*ngFor=\"let group of ctx.options | luOptionGroup:grouping.selector\"\n\t\t\t\t\tclass=\"lu-picker-content-group\"\n\t\t\t\t\trole=\"group\"\n\t\t\t\t\t[attr.aria-labelledby]=\"selectId + '-group-' + group.key\"\n\t\t\t\t>\n\t\t\t\t\t<div class=\"lu-picker-content-option-group-title\" role=\"presentation\">\n\t\t\t\t\t\t<ng-container *luPortal=\"grouping.content; context: { $implicit: group }\" />\n\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t*ngIf=\"group.options | luNotSelectedOptions:selectedOptions:optionComparer as notSelectedOptions\"\n\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\tclass=\"link\"\n\t\t\t\t\t\t\t[id]=\"selectId + '-group-' + group.key\"\n\t\t\t\t\t\t\t(click)=\"toggleOptions(notSelectedOptions, group.options)\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{{ notSelectedOptions.length ? intl.selectAll : intl.unselectAll }}\n\t\t\t\t\t\t</button>\n\t\t\t\t\t</div>\n\t\t\t\t\t<ng-template [ngTemplateOutlet]=\"optionsList\" [ngTemplateOutletContext]=\"{ $implicit: group.options }\" />\n\t\t\t\t</div>\n\t\t\t</ng-container>\n\t\t\t<ng-container *ngIf=\"!grouping || ctx.groupTemplateLocation !== 'group-header'\">\n\t\t\t\t<ng-template [ngTemplateOutlet]=\"optionsList\" [ngTemplateOutletContext]=\"{ $implicit: ctx.options }\" />\n\t\t\t</ng-container>\n\n\t\t\t<ng-template #optionsList let-options>\n\t\t\t\t<lu-select-option\n\t\t\t\t\t*ngFor=\"let option of options; let index = index\"\n\t\t\t\t\t[option]=\"option\"\n\t\t\t\t\t[optionTpl]=\"optionTpl\"\n\t\t\t\t\t[optionIndex]=\"index\"\n\t\t\t\t\t[grouping]=\"ctx.groupTemplateLocation === 'option' ? grouping : undefined\"\n\t\t\t\t\t[scrollIntoViewOptions]=\"{ block: 'nearest' }\"\n\t\t\t\t\t[isSelected]=\"option | luIsOptionSelected:optionComparer:selectedOptions\"\n\t\t\t\t\t(click)=\"toggleOption(option)\"\n\t\t\t\t/>\n\t\t\t</ng-template>\n\t\t\t<div class=\"lu-picker-content-option-emptyState\" *ngIf=\"ctx.options.length === 0 && (loading$ | async) === false\">\n\t\t\t\t{{intl.emptyResults}}\n\t\t\t</div>\n\t\t</div>\n\t\t<div *ngIf=\"loading$ | async\" class=\"lu-picker-content-loading\">\n\t\t\t<div class=\"loading\"></div>\n\t\t\t<span>{{intl.loading}}</span>\n\t\t</div>\n\t\t<div class=\"lu-picker-content-add\" *ngIf=\"ctx.shouldDisplayAddOption\">\n\t\t\t<button class=\"button mod-text mod-icon palette-product\" type=\"button\" (click)=\"selectInput.emitAddOption()\">\n\t\t\t\t<span aria-hidden=\"true\" class=\"lucca-icon icon-mathsPlus\"></span>\n\t\t\t\t<ng-container *luPortal=\"selectInput.addOptionLabel\" />\n\t\t\t</button>\n\t\t</div>\n\t</div>\n</div>\n","import { ConnectedPosition, Overlay, OverlayConfig, OverlayPositionBuilder, OverlayRef, PositionStrategy, ScrollStrategyOptions } from '@angular/cdk/overlay';\nimport { ComponentPortal } from '@angular/cdk/portal';\nimport { ChangeDetectorRef, ComponentRef, ElementRef, Injectable, Injector, inject } from '@angular/core';\nimport { takeUntil } from 'rxjs';\nimport { LuMultiSelectPanelComponent } from '../panel/index';\nimport { MULTI_SELECT_INPUT } from '../select.model';\nimport { LuMultiSelectPanelRef } from './panel.model';\nimport { LuMultiSelectInputComponent } from './select-input.component';\n\nclass MultiSelectPanelRef<T> extends LuMultiSelectPanelRef<T> {\n\tinstance: LuMultiSelectPanelComponent<T>;\n\tprivate panelRef: ComponentRef<LuMultiSelectPanelComponent<T>>;\n\tprivate portalRef: ComponentPortal<LuMultiSelectPanelComponent<T>>;\n\n\tconstructor(\n\t\tprivate overlayRef: OverlayRef,\n\t\tparentInjector: Injector,\n\t\tselectInput: LuMultiSelectInputComponent<T>,\n\t\tprotected defaultPositionStrategy: PositionStrategy,\n\t) {\n\t\tsuper();\n\n\t\tconst injector = Injector.create({\n\t\t\tproviders: [\n\t\t\t\t{ provide: LuMultiSelectPanelRef, useValue: this },\n\t\t\t\t{ provide: MULTI_SELECT_INPUT, useValue: selectInput },\n\t\t\t],\n\t\t\tparent: parentInjector,\n\t\t});\n\n\t\tthis.portalRef = new ComponentPortal<LuMultiSelectPanelComponent<T>>(LuMultiSelectPanelComponent, undefined, injector);\n\t\tthis.panelRef = overlayRef.attach(this.portalRef);\n\t\tthis.instance = this.panelRef.instance;\n\n\t\toverlayRef\n\t\t\t.backdropClick()\n\t\t\t.pipe(takeUntil(this.closed))\n\t\t\t.subscribe(() => this.close());\n\t}\n\n\temitValue(value: T[]): void {\n\t\tthis.valueChanged.emit(value);\n\t}\n\n\tupdateSelectedOptions(selectedOptions: T[]): void {\n\t\tthis.instance.selectedOptions = selectedOptions;\n\t\t// Run change detection on the panel component\n\t\tthis.panelRef.injector.get(ChangeDetectorRef).markForCheck();\n\t}\n\n\tuseDefaultPosition(): void {\n\t\tthis.overlayRef.updatePositionStrategy(this.defaultPositionStrategy);\n\t}\n\n\tupdatePosition(): void {\n\t\tthis.overlayRef.updatePosition();\n\t}\n\n\toverride close(): void {\n\t\tsuper.close();\n\t\tthis.panelRef.destroy();\n\t\tthis.overlayRef.detach();\n\t}\n\n\thandleKeyManagerEvent(event: KeyboardEvent) {\n\t\tthis.instance.keyManager.onKeydown(event);\n\t}\n\n\tselectCurrentlyHighlightedValue(): void {\n\t\tif (this.instance.keyManager?.activeItem) {\n\t\t\tthis.instance.toggleOption(this.instance.keyManager.activeItem.option);\n\t\t}\n\t}\n}\n\n@Injectable()\nexport class LuMultiSelectPanelRefFactory {\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\n\tbuildPanelRef<T>(selectInput: LuMultiSelectInputComponent<T>, defaultOverlayConfigOverride: OverlayConfig = {}): LuMultiSelectPanelRef<T> {\n\t\tconst defaultOverlayConfig = this.buildDefaultOverlayConfig(defaultOverlayConfigOverride);\n\n\t\tconst overlayRef = this.overlay.create(defaultOverlayConfig);\n\n\t\toverlayRef.hostElement.style.transitionProperty = 'height';\n\t\toverlayRef.hostElement.style.transitionDuration = 'var(--commons-animations-durations-standard)';\n\n\t\treturn new MultiSelectPanelRef(overlayRef, this.parentInjector, selectInput, defaultOverlayConfig.positionStrategy);\n\t}\n\n\tprotected buildDefaultOverlayConfig(overlayConfigOverride: OverlayConfig = {}): OverlayConfig {\n\t\tconst overlayConfig: OverlayConfig = { ...overlayConfigOverride };\n\n\t\tconst config = { overlapInput: false, offsetY: 2 };\n\t\toverlayConfig.positionStrategy = this.positionBuilder\n\t\t\t.flexibleConnectedTo(this.elementRef)\n\t\t\t.withViewportMargin(10)\n\t\t\t.withPositions([\n\t\t\t\tthis.buildPosition('bottom', 'right', config),\n\t\t\t\tthis.buildPosition('bottom', 'left', config),\n\t\t\t\tthis.buildPosition('top', 'right', config),\n\t\t\t\tthis.buildPosition('top', 'left', config),\n\t\t\t]);\n\t\toverlayConfig.scrollStrategy = this.scrollStrategies.reposition();\n\t\toverlayConfig.minWidth = this.elementRef.nativeElement.clientWidth;\n\t\toverlayConfig.maxWidth = '100vw';\n\n\t\treturn overlayConfig;\n\t}\n\n\tprotected buildPosition(\n\t\tyDirection: 'top' | 'bottom',\n\t\txDirection: 'left' | 'right',\n\t\tconfig: {\n\t\t\toffsetX?: number;\n\t\t\toffsetY?: number;\n\t\t\toverlapInput: boolean;\n\t\t},\n\t): ConnectedPosition {\n\t\tconst originX = xDirection === 'right' ? 'start' : 'end';\n\t\tconst overlayX = originX;\n\n\t\tconst oppositeYDirection = yDirection === 'top' ? 'bottom' : 'top';\n\t\tconst { originY, overlayY } = config.overlapInput\n\t\t\t? ({\n\t\t\t\t\toriginY: oppositeYDirection,\n\t\t\t\t\toverlayY: oppositeYDirection,\n\t\t\t\t} as const)\n\t\t\t: ({ originY: yDirection, overlayY: oppositeYDirection } as const);\n\n\t\treturn {\n\t\t\toriginX,\n\t\t\toriginY,\n\t\t\toverlayX,\n\t\t\toverlayY,\n\t\t\t...(config.offsetX ? { offsetX: xDirection === 'right' ? config.offsetX : -config.offsetX } : {}),\n\t\t\t...(config.offsetY ? { offsetY: yDirection === 'bottom' ? config.offsetY : -config.offsetY } : {}),\n\t\t};\n\t}\n}\n","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, forwardRef, inject, Input, numberAttribute, OnDestroy, OnInit, TemplateRef, Type, ViewEncapsulation } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { getIntl } from '@lucca-front/ng/core';\nimport { ALuSelectInputComponent, LuOptionContext, provideLuSelectLabelsAndIds, provideLuSelectOverlayContainer, ɵLuOptionOutletDirective } from '@lucca-front/ng/core-select';\nimport { IconComponent } from '@lucca-front/ng/icon';\nimport { LuTooltipModule } from '@lucca-front/ng/tooltip';\nimport { Subject } from 'rxjs';\nimport { LuMultiSelectDefaultDisplayerComponent } from '../displayer/index';\nimport { LU_MULTI_SELECT_TRANSLATIONS } from '../select.translate';\nimport { LuMultiSelectPanelRefFactory } from './panel-ref.factory';\nimport { LuMultiSelectPanelRef } from './panel.model';\n\n@Component({\n\tselector: 'lu-multi-select',\n\tstandalone: true,\n\timports: [CommonModule, LuTooltipModule, ɵLuOptionOutletDirective, IconComponent],\n\ttemplateUrl: './select-input.component.html',\n\tstyleUrls: ['./select-input.component.scss'],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tproviders: [\n\t\t{\n\t\t\tprovide: NG_VALUE_ACCESSOR,\n\t\t\tuseExisting: forwardRef(() => LuMultiSelectInputComponent),\n\t\t\tmulti: true,\n\t\t},\n\t\t{\n\t\t\tprovide: ALuSelectInputComponent,\n\t\t\tuseExisting: forwardRef(() => LuMultiSelectInputComponent),\n\t\t},\n\t\tprovideLuSelectOverlayContainer(),\n\t\tprovideLuSelectLabelsAndIds(),\n\t\tLuMultiSelectPanelRefFactory,\n\t],\n\thost: {\n\t\tclass: 'multiSelect',\n\t},\n\tencapsulation: ViewEncapsulation.None,\n})\nexport class LuMultiSelectInputComponent<T> extends ALuSelectInputComponent<T, T[]> implements ControlValueAccessor, OnDestroy, OnInit {\n\tintl = getIntl(LU_MULTI_SELECT_TRANSLATIONS);\n\n\t@Input()\n\tvaluesTpl?: TemplateRef<LuOptionContext<T[]>> | Type<unknown> = LuMultiSelectDefaultDisplayerComponent;\n\n\t@Input({ transform: numberAttribute })\n\tmaxValuesShown = 500;\n\n\toverride _value: T[] = [];\n\n\tpublic override get panelRef(): LuMultiSelectPanelRef<T> | undefined {\n\t\treturn this._panelRef;\n\t}\n\n\tprotected override _panelRef?: LuMultiSelectPanelRef<T>;\n\n\tprotected panelRefFactory = inject(LuMultiSelectPanelRefFactory);\n\n\t/**\n\t * This is used to tell the displayer to focus on the input element\n\t * keepClue is used to avoid triggering an update which would open the panel,\n\t * mainly for when we want to focus without opening the panel\n\t */\n\tpublic readonly focusInput$ = new Subject<void | { keepClue: boolean }>();\n\n\tpublic readonly emptyClue$ = new Subject<void>();\n\n\tpublic override focusInput(): void {\n\t\tthis.focusInput$.next({ keepClue: true });\n\t}\n\n\tpublic override emptyClue(): void {\n\t\tthis.emptyClue$.next();\n\t}\n\n\tpublic override writeValue(value: T[]): void {\n\t\tsuper.writeValue(value);\n\t\tthis.panelRef?.updateSelectedOptions(value);\n\t}\n\n\tpublic override updateValue(value: T[], skipFocus = false): void {\n\t\tsuper.updateValue(value, skipFocus);\n\t\tif (!skipFocus) {\n\t\t\tthis.focusInput();\n\t\t}\n\t}\n\n\tprotected override buildPanelRef(): LuMultiSelectPanelRef<T> {\n\t\treturn this.panelRefFactory.buildPanelRef(this, this.overlayConfig);\n\t}\n\n\tprotected override bindInputToPanelRefEvents(): void {\n\t\tif (!this.panelRef) {\n\t\t\treturn;\n\t\t}\n\n\t\tsuper.bindInputToPanelRefEvents();\n\t}\n\n\tprotected override get hasValue(): boolean {\n\t\treturn this.value && this.value.length > 0;\n\t}\n\n\toverride clearValue(event: MouseEvent): void {\n\t\tevent.stopPropagation();\n\t\tthis.onChange?.([]);\n\t\tthis.value = [];\n\t\tthis.focusInput$.next({ keepClue: true });\n\t}\n\n\toverride ngOnDestroy() {\n\t\tsuper.ngOnDestroy();\n\t\tthis.focusInput$.complete();\n\t}\n}\n","<ng-container *luOptionOutlet=\"valuesTpl; value: value || []\"></ng-container>\n\n<button\n\t*ngIf=\"hasValue && clearable && (disabled$ | async) === false\"\n\trole=\"button\"\n\ttype=\"button\"\n\tclass=\"multipleSelect-clear clear\"\n\t(click)=\"clearValue($event)\"\n>\n\t<span class=\"u-mask\">{{intl.clear}}</span>\n</button>\n<span aria-hidden=\"true\" class=\"multipleSelect-arrow lucca-icon icon-arrowChevronBottom\"></span>\n","export const Translations = {\n\ten: {\n\t\totherResult: 'other result',\n\t\totherResults: 'other results',\n\t\tshowResultsDetails: 'Show details',\n\t\tremoveOption: 'Remove option',\n\t},\n\tde: {\n\t\totherResult: 'anderes Ergebnis',\n\t\totherResults: 'andere Ergebnisse',\n\t\tshowResultsDetails: 'Details anzeigen ',\n\t\tremoveOption: 'Option löschen',\n\t},\n\tfr: {\n\t\totherResult: 'autre résultat',\n\t\totherResults: 'autres résultats',\n\t\tshowResultsDetails: 'Voir le détail',\n\t\tremoveOption: \"Supprimer l'option\",\n\t},\n\tit: {\n\t\totherResult: 'altro risultato',\n\t\totherResults: 'altri risultati',\n\t\tshowResultsDetails: 'Vedere il dettaglio',\n\t\tremoveOption: 'Cancellare l’opzione',\n\t},\n\tnl: {\n\t\totherResult: 'ander resultaat',\n\t\totherResults: 'andere resultaten',\n\t\tshowResultsDetails: 'Zie details',\n\t\tremoveOption: 'Optie verwijderen',\n\t},\n\t'nl-BE': {\n\t\totherResult: 'ander resultaat',\n\t\totherResults: 'andere resultaten',\n\t\tshowResultsDetails: 'Zie details',\n\t\tremoveOption: 'Optie verwijderen',\n\t},\n\tes: {\n\t\totherResult: 'otro resultado',\n\t\totherResults: 'otros resultados',\n\t\tshowResultsDetails: 'Ver los detalles',\n\t\tremoveOption: 'Eliminar la opción',\n\t},\n\tpt: {\n\t\totherResult: 'outro resultado',\n\t\totherResults: 'outros resultados',\n\t\tshowResultsDetails: 'Mostrar detalhes',\n\t\tremoveOption: 'Remove option',\n\t},\n};\n","import { InjectionToken } from '@angular/core';\nimport { LuTranslation } from '@lucca-front/ng/core';\nimport { Translations } from './translations';\n\nexport const LU_MULTI_SELECT_DISPLAYER_TRANSLATIONS = new InjectionToken('LuMultiSelectDisplayerTranslations', {\n\tfactory: () => luMultiSelectDisplayerTranslations,\n});\n\nexport interface ILuMultiSelectDisplayerLabel {\n\totherResult: string;\n\totherResults: string;\n\tshowResultsDetails: string;\n\tremoveOption: string;\n}\n\nexport const luMultiSelectDisplayerTranslations: LuTranslation<ILuMultiSelectDisplayerLabel> = Translations;\n","import { AsyncPipe, NgFor, NgIf, NgPlural, NgPluralCase } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, DestroyRef, ElementRef, OnInit, ViewChild, inject } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { FormsModule } from '@angular/forms';\nimport { getIntl } from '@lucca-front/ng/core';\nimport { ILuOptionContext, LU_OPTION_CONTEXT, ɵLuOptionOutletDirective } from '@lucca-front/ng/core-select';\nimport { InputDirective } from '@lucca-front/ng/form-field';\nimport { LuTooltipModule } from '@lucca-front/ng/tooltip';\nimport { map, switchMap } from 'rxjs/operators';\nimport { LuMultiSelectInputComponent } from '../input/select-input.component';\nimport { LU_MULTI_SELECT_DISPLAYER_TRANSLATIONS } from './default-displayer.translate';\nimport { of } from 'rxjs';\n\n@Component({\n\tselector: 'lu-multi-select-default-displayer',\n\tstandalone: true,\n\timports: [AsyncPipe, LuTooltipModule, NgIf, NgFor, NgPlural, NgPluralCase, ɵLuOptionOutletDirective, FormsModule, InputDirective],\n\ttemplate: `\n\t\t<div class=\"multipleSelect-displayer\">\n\t\t\t<input\n\t\t\t\tclass=\"multipleSelect-displayer-search\"\n\t\t\t\ttype=\"text\"\n\t\t\t\t[attr.aria-expanded]=\"select.isPanelOpen\"\n\t\t\t\t[attr.aria-activedescendant]=\"select.activeDescendant$ | async\"\n\t\t\t\t[attr.aria-controls]=\"ariaControls\"\n\t\t\t\t[disabled]=\"select.disabled$ | async\"\n\t\t\t\t[readonly]=\"!select.searchable\"\n\t\t\t\t#inputElement\n\t\t\t\tngModel\n\t\t\t\t(ngModelChange)=\"select.clueChanged($event)\"\n\t\t\t\t[placeholder]=\"placeholder$ | async\"\n\t\t\t\t(keydown.backspace)=\"inputBackspace()\"\n\t\t\t\trole=\"combobox\"\n\t\t\t\taria-haspopup=\"listbox\"\n\t\t\t\tluInput\n\t\t\t/>\n\t\t\t<div *ngFor=\"let option of displayedOptions$ | async; let index = index\" class=\"multipleSelect-displayer-chip chip\" [class.mod-unkillable]=\"select.disabled$ | async\">\n\t\t\t\t<span class=\"multipleSelect-displayer-chip-value\"><ng-container *luOptionOutlet=\"select.valueTpl || select.optionTpl; value: option\"></ng-container></span>\n\t\t\t\t<button *ngIf=\"!(select.disabled$ | async)\" type=\"button\" class=\"chip-kill\" (click)=\"unselectOption(option, $event)\">\n\t\t\t\t\t<span class=\"u-mask\">{{ intl.removeOption }}</span>\n\t\t\t\t</button>\n\t\t\t</div>\n\t\t\t<div class=\"chip\" *ngIf=\"overflowOptions$ | async as overflow\">+ {{ overflow }}</div>\n\t\t</div>\n\t`,\n\tstyleUrls: ['./default-displayer.component.scss'],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class LuMultiSelectDefaultDisplayerComponent<T> implements OnInit {\n\tselect = inject<LuMultiSelectInputComponent<T>>(LuMultiSelectInputComponent);\n\tintl = getIntl(LU_MULTI_SELECT_DISPLAYER_TRANSLATIONS);\n\n\tprotected destroyRef = inject(DestroyRef);\n\n\t@ViewChild('inputElement')\n\tinputElementRef: ElementRef<HTMLInputElement>;\n\n\tget value(): T[] {\n\t\treturn this.select.value || [];\n\t}\n\n\tget ariaControls() {\n\t\treturn this.select.ariaControls;\n\t}\n\n\tcontext = inject<ILuOptionContext<T[]>>(LU_OPTION_CONTEXT);\n\n\tplaceholder$ = this.context.option$.pipe(\n\t\tswitchMap((options) => {\n\t\t\tif ((options || []).length > 0) {\n\t\t\t\treturn of('');\n\t\t\t}\n\t\t\treturn this.select.placeholder$;\n\t\t}),\n\t);\n\n\tdisplayedOptions$ = this.context.option$.pipe(\n\t\tmap((options) => {\n\t\t\tif (this.select.maxValuesShown) {\n\t\t\t\treturn (options || []).slice(0, this.select.maxValuesShown);\n\t\t\t}\n\t\t\treturn options;\n\t\t}),\n\t);\n\n\toverflowOptions$ = this.context.option$.pipe(\n\t\tmap((options) => {\n\t\t\treturn Math.max(0, (options || []).length - this.select.maxValuesShown);\n\t\t}),\n\t);\n\n\tunselectOption(option: T, $event?: Event): void {\n\t\tif ($event) {\n\t\t\t$event.stopPropagation();\n\t\t\t$event.preventDefault();\n\t\t}\n\t\tthis.select.updateValue(\n\t\t\tthis.value.filter((o) => o !== option),\n\t\t\ttrue,\n\t\t);\n\t\tsetTimeout(() => {\n\t\t\tthis.select.panelRef?.updatePosition();\n\t\t\tthis.inputElementRef.nativeElement.focus();\n\t\t});\n\t}\n\n\tinputBackspace(): void {\n\t\tif (this.value.length > 0 && this.inputElementRef.nativeElement.value.length === 0) {\n\t\t\tthis.unselectOption(this.value[this.value.length - 1]);\n\t\t\tthis.select.panelRef?.updateSelectedOptions(this.value);\n\t\t}\n\t}\n\n\tngOnInit(): void {\n\t\tthis.select.focusInput$.pipe(takeUntilDestroyed(this.destroyRef)).subscribe((data?: { keepClue: true }) => {\n\t\t\t// Everytime we want to focus, we need to reset the input\n\t\t\t// This is done when a value is selected and when panel is opened.\n\t\t\tif (!data?.keepClue) {\n\t\t\t\tthis.inputElementRef.nativeElement.value = '';\n\t\t\t\tthis.select.clueChanged('');\n\t\t\t}\n\n\t\t\tthis.inputElementRef.nativeElement.focus();\n\t\t});\n\t\tthis.select.emptyClue$.pipe(takeUntilDestroyed(this.destroyRef)).subscribe(() => {\n\t\t\tthis.inputElementRef.nativeElement.value = '';\n\t\t});\n\t}\n}\n","import { DestroyRef, Directive, ElementRef, HostBinding, inject, OnInit } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { ILuOptionContext, LU_OPTION_CONTEXT } from '@lucca-front/ng/core-select';\nimport { startWith, switchMap } from 'rxjs/operators';\nimport { LuMultiSelectInputComponent } from '../input';\nimport { of } from 'rxjs';\n\n@Directive({\n\tselector: '[luMultiSelectDisplayerInput]',\n\tstandalone: true,\n\thost: {\n\t\t'aria-haspopup': 'listbox',\n\t\trole: 'combobox',\n\t\tclass: 'multipleSelect-displayer-search',\n\t},\n})\nexport class LuMultiSelectDisplayerInputDirective<T> implements OnInit {\n\tselect = inject<LuMultiSelectInputComponent<T>>(LuMultiSelectInputComponent);\n\n\tcontext = inject<ILuOptionContext<T[]>>(LU_OPTION_CONTEXT);\n\n\telementRef = inject<ElementRef<HTMLInputElement>>(ElementRef);\n\n\tdestroyRef = inject(DestroyRef);\n\n\t@HostBinding('attr.aria-expanded')\n\tpanelOpen = false;\n\n\t@HostBinding('attr.aria-activedescendant')\n\tactiveDescendant = '';\n\n\t@HostBinding('attr.aria-controls')\n\tcontrols = this.select?.ariaControls;\n\n\t@HostBinding('disabled')\n\tdisabled = false;\n\n\t@HostBinding('placeholder')\n\tplaceholder = '';\n\n\tngOnInit(): void {\n\t\tthis.context.option$\n\t\t\t.pipe(\n\t\t\t\tstartWith([]),\n\t\t\t\tswitchMap((options) => {\n\t\t\t\t\tif ((options || []).length > 0) {\n\t\t\t\t\t\treturn of('');\n\t\t\t\t\t}\n\t\t\t\t\treturn this.select.placeholder$;\n\t\t\t\t}),\n\t\t\t\ttakeUntilDestroyed(this.destroyRef),\n\t\t\t)\n\t\t\t.subscribe((placeholder) => {\n\t\t\t\tthis.placeholder = placeholder;\n\t\t\t});\n\t\tthis.select.isPanelOpen$.pipe(takeUntilDestroyed(this.destroyRef)).subscribe((open) => {\n\t\t\tthis.panelOpen = open;\n\t\t});\n\t\tthis.select.activeDescendant$.pipe(takeUntilDestroyed(this.destroyRef)).subscribe((activeDescendant) => {\n\t\t\t// Pushing this to next cycle to avoid expression has changed while it was checked\n\t\t\tsetTimeout(() => {\n\t\t\t\tthis.activeDescendant = activeDescendant;\n\t\t\t}, 1);\n\t\t});\n\t\tthis.context.isDisabled$.pipe(takeUntilDestroyed(this.destroyRef)).subscribe((disabled) => {\n\t\t\tthis.disabled = disabled;\n\t\t});\n\t\tthis.select.focusInput$.pipe(takeUntilDestroyed(this.destroyRef)).subscribe(() => {\n\t\t\tthis.elementRef.nativeElement.value = '';\n\t\t\tthis.select.clueChanged('');\n\t\t\tthis.elementRef.nativeElement.focus();\n\t\t});\n\t\tthis.select.emptyClue$.pipe(takeUntilDestroyed(this.destroyRef)).subscribe(() => {\n\t\t\tthis.elementRef.nativeElement.value = '';\n\t\t});\n\t}\n}\n","import { Directive, Input, TemplateRef } from '@angular/core';\nimport { LuOptionContext } from '@lucca-front/ng/core-select';\nimport { LuMultiSelectInputComponent } from '../input';\n\n@Directive({\n\tselector: '[luMultiDisplayer]',\n\tstandalone: true,\n})\nexport class LuMultiDisplayerDirective<T> {\n\t@Input('luMultiDisplayerSelect') set select(select: LuMultiSelectInputComponent<T>) {\n\t\tselect.valuesTpl = this.templateRef;\n\t}\n\n\tpublic constructor(private templateRef: TemplateRef<LuOptionContext<T[]>>) {}\n\n\tpublic static ngTemplateContextGuard<T>(_dir: LuMultiDisplayerDirective<T>, ctx: unknown): ctx is LuOptionContext<T[]> {\n\t\treturn true;\n\t}\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["Translations","ɵgetGroupTemplateLocation","ɵLuOptionComponent","ɵLuOptionGroupPipe","ɵLuOptionOutletDirective","map","i1"],"mappings":"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"}
|
|
@@ -111,20 +111,46 @@ class ALuTreeOptionItem extends ALuOptionItem {
|
|
|
111
111
|
}
|
|
112
112
|
}
|
|
113
113
|
|
|
114
|
-
const
|
|
115
|
-
factory: () => luTreeOptionItemTranslations,
|
|
116
|
-
});
|
|
117
|
-
const luTreeOptionItemTranslations = {
|
|
114
|
+
const Translations$2 = {
|
|
118
115
|
en: {
|
|
119
116
|
parentOnly: 'Parent only',
|
|
120
117
|
childrenOnly: 'Children only',
|
|
121
118
|
},
|
|
119
|
+
de: {
|
|
120
|
+
parentOnly: 'Nur der Elternteil',
|
|
121
|
+
childrenOnly: 'Nur die Kinder',
|
|
122
|
+
},
|
|
122
123
|
fr: {
|
|
123
124
|
parentOnly: 'Seulement le parent',
|
|
124
125
|
childrenOnly: 'Seulement les enfants',
|
|
125
126
|
},
|
|
127
|
+
it: {
|
|
128
|
+
parentOnly: 'Solo il principale',
|
|
129
|
+
childrenOnly: 'Solo i figli',
|
|
130
|
+
},
|
|
131
|
+
nl: {
|
|
132
|
+
parentOnly: 'Alleen de ouder',
|
|
133
|
+
childrenOnly: 'Alleen de kinderen',
|
|
134
|
+
},
|
|
135
|
+
'nl-BE': {
|
|
136
|
+
parentOnly: 'Alleen de ouder',
|
|
137
|
+
childrenOnly: 'Alleen de kinderen',
|
|
138
|
+
},
|
|
139
|
+
es: {
|
|
140
|
+
parentOnly: 'Solo el principal',
|
|
141
|
+
childrenOnly: 'Solo los secundarios',
|
|
142
|
+
},
|
|
143
|
+
pt: {
|
|
144
|
+
parentOnly: 'Apenas o pai',
|
|
145
|
+
childrenOnly: 'Apenas crianças',
|
|
146
|
+
},
|
|
126
147
|
};
|
|
127
148
|
|
|
149
|
+
const LU_TREE_OPTION_ITEM_TRANSLATIONS = new InjectionToken('LuTreeOptionItemTranslations', {
|
|
150
|
+
factory: () => luTreeOptionItemTranslations,
|
|
151
|
+
});
|
|
152
|
+
const luTreeOptionItemTranslations = Translations$2;
|
|
153
|
+
|
|
128
154
|
/* eslint-disable @angular-eslint/no-output-on-prefix */
|
|
129
155
|
class LuTreeOptionItemComponent extends ALuTreeOptionItem {
|
|
130
156
|
select() {
|
|
@@ -493,24 +519,46 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImpor
|
|
|
493
519
|
}]
|
|
494
520
|
}] });
|
|
495
521
|
|
|
496
|
-
const
|
|
497
|
-
factory: () => luOptionPlaceholderTranslations,
|
|
498
|
-
});
|
|
499
|
-
const luOptionPlaceholderTranslations = {
|
|
522
|
+
const Translations$1 = {
|
|
500
523
|
en: {
|
|
501
|
-
placeholderDescription: '
|
|
524
|
+
placeholderDescription: 'Your search did not produce any results.',
|
|
502
525
|
placeholderAction: 'Clear search',
|
|
503
526
|
},
|
|
527
|
+
de: {
|
|
528
|
+
placeholderDescription: 'Keine Ergebnisse für Ihre Suche',
|
|
529
|
+
placeholderAction: 'Suche leeren',
|
|
530
|
+
},
|
|
504
531
|
fr: {
|
|
505
532
|
placeholderDescription: 'Aucun résultat pour votre recherche',
|
|
506
533
|
placeholderAction: 'Vider la recherche',
|
|
507
534
|
},
|
|
535
|
+
it: {
|
|
536
|
+
placeholderDescription: 'Nessun risultato per la ricerca',
|
|
537
|
+
placeholderAction: 'Cancellare la ricerca',
|
|
538
|
+
},
|
|
539
|
+
nl: {
|
|
540
|
+
placeholderDescription: 'Geen resultaten voor uw zoekopdracht',
|
|
541
|
+
placeholderAction: 'Zoekopdracht leegmaken',
|
|
542
|
+
},
|
|
543
|
+
'nl-BE': {
|
|
544
|
+
placeholderDescription: 'Geen resultaten voor uw zoekopdracht',
|
|
545
|
+
placeholderAction: 'Zoekopdracht leegmaken',
|
|
546
|
+
},
|
|
508
547
|
es: {
|
|
509
|
-
placeholderDescription: 'No
|
|
510
|
-
placeholderAction: '
|
|
548
|
+
placeholderDescription: 'No hay resultados para su búsqueda',
|
|
549
|
+
placeholderAction: 'Vaciar la búsqueda',
|
|
550
|
+
},
|
|
551
|
+
pt: {
|
|
552
|
+
placeholderDescription: 'Nenhum resultado para sua pesquisa',
|
|
553
|
+
placeholderAction: 'Limpar pesquisa',
|
|
511
554
|
},
|
|
512
555
|
};
|
|
513
556
|
|
|
557
|
+
const LU_OPTION_PLACEHOLDER_TRANSLATIONS = new InjectionToken('LuOptionPlaceholderTranslations', {
|
|
558
|
+
factory: () => luOptionPlaceholderTranslations,
|
|
559
|
+
});
|
|
560
|
+
const luOptionPlaceholderTranslations = Translations$1;
|
|
561
|
+
|
|
514
562
|
class LuOptionPlaceholderComponent {
|
|
515
563
|
constructor() {
|
|
516
564
|
// eslint-disable-next-line @angular-eslint/no-output-on-prefix
|
|
@@ -919,32 +967,46 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImpor
|
|
|
919
967
|
class ALuOptionSelector {
|
|
920
968
|
}
|
|
921
969
|
|
|
922
|
-
const
|
|
923
|
-
factory: () => luOptionSelectAllTranslations,
|
|
924
|
-
});
|
|
925
|
-
const luOptionSelectAllTranslations = {
|
|
970
|
+
const Translations = {
|
|
926
971
|
en: {
|
|
927
972
|
select: 'Select all',
|
|
928
973
|
deselect: 'Deselect all',
|
|
929
974
|
},
|
|
975
|
+
de: {
|
|
976
|
+
select: 'Alles auswählen',
|
|
977
|
+
deselect: 'Alles abwählen',
|
|
978
|
+
},
|
|
930
979
|
fr: {
|
|
931
980
|
select: 'Tout sélectionner',
|
|
932
981
|
deselect: 'Tout déselectionner',
|
|
933
982
|
},
|
|
934
|
-
|
|
935
|
-
select: '
|
|
936
|
-
deselect: '
|
|
983
|
+
it: {
|
|
984
|
+
select: 'Selezionare tutto',
|
|
985
|
+
deselect: 'Deselezionare tutto',
|
|
937
986
|
},
|
|
938
|
-
|
|
939
|
-
select: '
|
|
940
|
-
deselect: '
|
|
987
|
+
nl: {
|
|
988
|
+
select: 'Alles selecteren',
|
|
989
|
+
deselect: 'Alles deselecteren',
|
|
990
|
+
},
|
|
991
|
+
'nl-BE': {
|
|
992
|
+
select: 'Alles selecteren',
|
|
993
|
+
deselect: 'Alles deselecteren',
|
|
941
994
|
},
|
|
942
995
|
es: {
|
|
943
996
|
select: 'Seleccionar todo',
|
|
944
997
|
deselect: 'Desmarcar todo',
|
|
945
998
|
},
|
|
999
|
+
pt: {
|
|
1000
|
+
select: 'Selecionar tudo',
|
|
1001
|
+
deselect: 'Desselecionar tudo',
|
|
1002
|
+
},
|
|
946
1003
|
};
|
|
947
1004
|
|
|
1005
|
+
const LU_OPTION_SELECT_ALL_TRANSLATIONS = new InjectionToken('LuOptionSelectAllTranslations', {
|
|
1006
|
+
factory: () => luOptionSelectAllTranslations,
|
|
1007
|
+
});
|
|
1008
|
+
const luOptionSelectAllTranslations = Translations;
|
|
1009
|
+
|
|
948
1010
|
class LuOptionSelectAllComponent extends ALuOptionOperator {
|
|
949
1011
|
constructor() {
|
|
950
1012
|
super(...arguments);
|
|
@@ -1205,7 +1267,7 @@ class ALuOptionPickerComponent extends ALuOptionPicker {
|
|
|
1205
1267
|
set optionsQL(ql) {
|
|
1206
1268
|
this._optionsQL = ql;
|
|
1207
1269
|
ql.changes.pipe(takeUntilDestroyed(this.destroyRef)).subscribe(() => {
|
|
1208
|
-
this.overlayRef
|
|
1270
|
+
this.overlayRef?.updatePosition();
|
|
1209
1271
|
});
|
|
1210
1272
|
}
|
|
1211
1273
|
constructor(_changeDetectorRef, document) {
|