@lucca-front/ng 22.0.5-rc.1 → 22.0.5
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/fesm2022/lucca-front-ng-a11y.mjs +1 -0
- package/fesm2022/lucca-front-ng-a11y.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-activity-feed.mjs +6 -6
- package/fesm2022/lucca-front-ng-activity-feed.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-approbation-inbox.mjs +3 -3
- package/fesm2022/lucca-front-ng-approbation-inbox.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-box.mjs +1 -1
- package/fesm2022/lucca-front-ng-box.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-breadcrumbs.mjs +1 -1
- package/fesm2022/lucca-front-ng-breadcrumbs.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-chip.mjs +14 -7
- package/fesm2022/lucca-front-ng-chip.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-clear.mjs +1 -1
- package/fesm2022/lucca-front-ng-clear.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-core-select-user.mjs +22 -27
- package/fesm2022/lucca-front-ng-core-select-user.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-core-select.mjs +1 -1
- package/fesm2022/lucca-front-ng-core-select.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-data-table.mjs +12 -7
- package/fesm2022/lucca-front-ng-data-table.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-date.mjs +1 -1
- package/fesm2022/lucca-front-ng-date.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-date2.mjs +86 -9
- package/fesm2022/lucca-front-ng-date2.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-file-upload.mjs +6 -6
- package/fesm2022/lucca-front-ng-file-upload.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-filter-pills.mjs +24 -7
- package/fesm2022/lucca-front-ng-filter-pills.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-form-field.mjs +76 -26
- package/fesm2022/lucca-front-ng-form-field.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-form-label.mjs +2 -2
- package/fesm2022/lucca-front-ng-form-label.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-forms-phone-number-input.mjs +1 -1
- package/fesm2022/lucca-front-ng-forms-phone-number-input.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-forms-rich-text-input.mjs +6 -6
- package/fesm2022/lucca-front-ng-forms-rich-text-input.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-forms.mjs +12 -11
- package/fesm2022/lucca-front-ng-forms.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-impersonation.mjs +1 -1
- package/fesm2022/lucca-front-ng-impersonation.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-index-table.mjs +11 -6
- package/fesm2022/lucca-front-ng-index-table.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-inline-message.mjs +1 -1
- package/fesm2022/lucca-front-ng-inline-message.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-link.mjs +1 -1
- package/fesm2022/lucca-front-ng-link.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-listbox.mjs +3 -3
- package/fesm2022/lucca-front-ng-listbox.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-mobile-push.mjs +2 -2
- package/fesm2022/lucca-front-ng-mobile-push.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-modal.mjs +2 -2
- package/fesm2022/lucca-front-ng-modal.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-multi-select.mjs +4 -4
- package/fesm2022/lucca-front-ng-multi-select.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-option.mjs +1 -1
- package/fesm2022/lucca-front-ng-option.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-pagination.mjs +1 -1
- package/fesm2022/lucca-front-ng-pagination.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-plg-push.mjs +1 -1
- package/fesm2022/lucca-front-ng-plg-push.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-popover2.mjs +9 -6
- package/fesm2022/lucca-front-ng-popover2.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-progress-stepper.mjs +2 -2
- package/fesm2022/lucca-front-ng-progress-stepper.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-read-more.mjs +3 -3
- package/fesm2022/lucca-front-ng-read-more.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-segmented-control-tabs.mjs +9 -4
- package/fesm2022/lucca-front-ng-segmented-control-tabs.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-segmented-control.mjs +10 -5
- package/fesm2022/lucca-front-ng-segmented-control.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-simple-select.mjs +2 -2
- package/fesm2022/lucca-front-ng-simple-select.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-software-icon.mjs +1 -1
- package/fesm2022/lucca-front-ng-software-icon.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-status-badge.mjs +1 -1
- package/fesm2022/lucca-front-ng-status-badge.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-time.mjs +1 -1
- package/fesm2022/lucca-front-ng-time.mjs.map +1 -1
- package/package.json +4 -4
- package/types/lucca-front-ng-activity-feed.d.ts +13 -9
- package/types/lucca-front-ng-approbation-inbox.d.ts +32 -25
- package/types/lucca-front-ng-box.d.ts +12 -6
- package/types/lucca-front-ng-breadcrumbs.d.ts +12 -7
- package/types/lucca-front-ng-chip.d.ts +16 -9
- package/types/lucca-front-ng-clear.d.ts +12 -8
- package/types/lucca-front-ng-data-table.d.ts +13 -9
- package/types/lucca-front-ng-date.d.ts +12 -10
- package/types/lucca-front-ng-date2.d.ts +21 -18
- package/types/lucca-front-ng-file-upload.d.ts +41 -36
- package/types/lucca-front-ng-filter-pills.d.ts +27 -16
- package/types/lucca-front-ng-form-field.d.ts +22 -1
- package/types/lucca-front-ng-form-label.d.ts +13 -8
- package/types/lucca-front-ng-forms-rich-text-input.d.ts +38 -34
- package/types/lucca-front-ng-forms.d.ts +29 -42
- package/types/lucca-front-ng-impersonation.d.ts +14 -9
- package/types/lucca-front-ng-index-table.d.ts +3 -1
- package/types/lucca-front-ng-link.d.ts +11 -6
- package/types/lucca-front-ng-mobile-push.d.ts +18 -12
- package/types/lucca-front-ng-multi-select.d.ts +1 -1
- package/types/lucca-front-ng-pagination.d.ts +15 -10
- package/types/lucca-front-ng-plg-push.d.ts +12 -6
- package/types/lucca-front-ng-read-more.d.ts +13 -9
- package/types/lucca-front-ng-segmented-control-tabs.d.ts +5 -1
- package/types/lucca-front-ng-segmented-control.d.ts +5 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lucca-front-ng-filter-pills.mjs","sources":["../../../packages/ng/filter-pills/core/tokens.ts","../../../packages/ng/filter-pills/core/filter-pill-displayer.directive.ts","../../../packages/ng/filter-pills/core/filter-pill-label.directive.ts","../../../packages/ng/filter-pills/translations.ts","../../../packages/ng/filter-pills/filter-pills.translate.ts","../../../packages/ng/filter-pills/filter-pill/filter-pill.component.ts","../../../packages/ng/filter-pills/filter-pill/filter-pill.component.html","../../../packages/ng/filter-pills/filter-bar/filter-bar.token.ts","../../../packages/ng/filter-pills/filter-bar/filter-bar.component.ts","../../../packages/ng/filter-pills/filter-bar/filter-bar.component.html","../../../packages/ng/filter-pills/filter-view-selector/filter-view-selector.component.ts","../../../packages/ng/filter-pills/filter-view-selector/filter-view-selector.component.html","../../../packages/ng/filter-pills/filter-bar/filter-pill-addon.directive.ts","../../../packages/ng/filter-pills/lucca-front-ng-filter-pills.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\nimport { FilterPillInputComponent } from './filter-pill-input-component';\nimport { FilterPillComponent } from '../filter-pill/filter-pill.component';\n\nexport const FILTER_PILL_INPUT_COMPONENT = new InjectionToken<FilterPillInputComponent>('FilterPills:InputComponent');\n\nexport const FILTER_PILL_HOST_COMPONENT = new InjectionToken<FilterPillComponent>('FilterPills:HostComponent');\n","import { Directive, inject, TemplateRef } from '@angular/core';\nimport { FilterPillComponent } from '../filter-pill/filter-pill.component';\n\ninterface FilterPillDisplayerContext {\n\tlabel: string;\n\tplaceholder: string;\n\tisEmpty: boolean;\n}\n\n@Directive({\n\tselector: '[luFilterPillDisplayer]',\n})\nexport class FilterPillDisplayerDirective {\n\t#filterPillComponentRef = inject(FilterPillComponent, { optional: true });\n\n\t#templateRef = inject(TemplateRef);\n\n\tconstructor() {\n\t\tif (this.#filterPillComponentRef) {\n\t\t\tthis.#filterPillComponentRef.pillTpl = this.#templateRef;\n\t\t}\n\t}\n\n\tpublic static ngTemplateContextGuard(_dir: FilterPillDisplayerDirective, _ctx: unknown): _ctx is FilterPillDisplayerContext {\n\t\treturn true;\n\t}\n}\n","import { Directive, inject, TemplateRef } from '@angular/core';\nimport { FilterPillComponent } from '../filter-pill/filter-pill.component';\nimport { FILTER_PILL_INPUT_COMPONENT } from './tokens';\n\ninterface FilterPillLabelContext {\n\tlabel: string;\n\tplaceholder: string;\n\tisEmpty: boolean;\n\tcolon: string;\n}\n\n@Directive({\n\tselector: '[luFilterPillLabel]',\n})\nexport class FilterPillLabelDirective {\n\t#filterPillComponentRef = inject(FilterPillComponent, { optional: true });\n\t#parentComponentRef = inject(FILTER_PILL_INPUT_COMPONENT, { optional: true, skipSelf: true });\n\n\t#templateRef = inject(TemplateRef);\n\n\tconstructor() {\n\t\tif (this.#filterPillComponentRef && this.#parentComponentRef && !this.#parentComponentRef.parentInput) {\n\t\t\tthis.#filterPillComponentRef.customLabelTpl.set(this.#templateRef);\n\t\t}\n\t}\n\n\tpublic static ngTemplateContextGuard(_dir: FilterPillLabelDirective, _ctx: unknown): _ctx is FilterPillLabelContext {\n\t\treturn true;\n\t}\n}\n","export const Translations = {\n\tfr: {\n\t\tclear: 'Vider ce champ',\n\t\tplaceholder: 'Aucune valeur sélectionnée',\n\t\tadditionalFilters: 'Filtres supplémentaires',\n\t\tselectView: 'Sélectionner une vue',\n\t\tviewOptions: 'Options de la vue : {{viewName}}',\n\t\trenameView: 'Modifier le nom',\n\t\tdeleteView: 'Supprimer',\n\t\tsaveView: 'Enregistrer la vue',\n\t\tsaveModification: 'Enregistrer les modifications',\n\t\tsaveNewView: 'Enregistrer en tant que nouvelle vue',\n\t},\n\tpt: {\n\t\tclear: 'Esvaziar este campo',\n\t\tplaceholder: 'Nenhum valor selecionado',\n\t\tadditionalFilters: 'Filtros adicionais',\n\t\tselectView: 'Selecionar uma vista',\n\t\tviewOptions: 'Opções da visualização: {{viewName}}',\n\t\trenameView: 'Alterar o nome',\n\t\tdeleteView: 'Eliminar',\n\t\tsaveView: 'Guardar a vista',\n\t\tsaveModification: 'Guardar as alterações',\n\t\tsaveNewView: 'Guardar como nova vista',\n\t},\n\tes: {\n\t\tclear: 'Vaciar este campo',\n\t\tplaceholder: 'Ningún valor seleccionado',\n\t\tadditionalFilters: 'Filtros adicionales',\n\t\tselectView: 'Seleccionar una vista',\n\t\tviewOptions: 'Opciones de la vista: {{viewName}}',\n\t\trenameView: 'Editar el nombre',\n\t\tdeleteView: 'Eliminar',\n\t\tsaveView: 'Guardar vista',\n\t\tsaveModification: 'Guardar los cambios',\n\t\tsaveNewView: 'Guardar como vista nueva',\n\t},\n\t'nl-BE': {\n\t\tclear: 'Dit veld leegmaken',\n\t\tplaceholder: 'Geen waarde geselecteerd',\n\t\tadditionalFilters: 'Extra filters',\n\t\tselectView: 'Selecteer een weergave',\n\t\tviewOptions: 'Opties van de weergave: {{viewName}}',\n\t\trenameView: 'De naam wijzigen',\n\t\tdeleteView: 'Verwijderen',\n\t\tsaveView: 'De weergave opslaan',\n\t\tsaveModification: 'Wijzigingen opslaan',\n\t\tsaveNewView: 'Opslaan als nieuwe weergave',\n\t},\n\tnl: {\n\t\tclear: 'Dit veld leegmaken',\n\t\tplaceholder: 'Geen waarde geselecteerd',\n\t\tadditionalFilters: 'Extra filters',\n\t\tselectView: 'Selecteer een weergave',\n\t\tviewOptions: 'Opties van de weergave: {{viewName}}',\n\t\trenameView: 'De naam wijzigen',\n\t\tdeleteView: 'Verwijderen',\n\t\tsaveView: 'De weergave opslaan',\n\t\tsaveModification: 'Wijzigingen opslaan',\n\t\tsaveNewView: 'Opslaan als nieuwe weergave',\n\t},\n\tit: {\n\t\tclear: 'Vuotare questo campo',\n\t\tplaceholder: 'Nessun valore selezionato',\n\t\tadditionalFilters: 'Filtri aggiuntivi',\n\t\tselectView: 'Selezionare una vista',\n\t\tviewOptions: 'Opzioni della vista: {{viewName}}',\n\t\trenameView: 'Modificare il nome',\n\t\tdeleteView: 'Elimina',\n\t\tsaveView: 'Salva la vista',\n\t\tsaveModification: 'Salva le modifiche',\n\t\tsaveNewView: 'Salva come nuova vista',\n\t},\n\tde: {\n\t\tclear: 'Den Inhalt aus diesem Feld entfernen',\n\t\tplaceholder: 'Kein Wert ausgewählt',\n\t\tadditionalFilters: 'Zusätzliche Filter',\n\t\tselectView: 'Eine Ansicht auswählen',\n\t\tviewOptions: 'Ansichtsoptionen: {{viewName}}',\n\t\trenameView: 'Name bearbeiten',\n\t\tdeleteView: 'Löschen',\n\t\tsaveView: 'Ansicht speichern',\n\t\tsaveModification: 'Änderungen speichern',\n\t\tsaveNewView: 'Als neue Ansicht speichern',\n\t},\n\ten: {\n\t\tclear: 'Empty this field',\n\t\tplaceholder: 'No value selected',\n\t\tadditionalFilters: 'Additional filters',\n\t\tselectView: 'Select a view',\n\t\tviewOptions: 'View options: {{viewName}}',\n\t\trenameView: 'Edit name',\n\t\tdeleteView: 'Delete',\n\t\tsaveView: 'Save view',\n\t\tsaveModification: 'Save changes',\n\t\tsaveNewView: 'Save as new view',\n\t},\n\tpl: {\n\t\tclear: 'Wyczyść to pole',\n\t\tplaceholder: 'Nie wybrano żadnej wartości',\n\t\tadditionalFilters: 'Dodatkowe filtry',\n\t\tselectView: 'Wybierz widok',\n\t\tviewOptions: 'Opcje widoku: {{viewName}}',\n\t\trenameView: 'Zmień nazwę',\n\t\tdeleteView: 'Usuń',\n\t\tsaveView: 'Save view',\n\t\tsaveModification: 'Save changes',\n\t\tsaveNewView: 'Save as new view',\n\t},\n};\n","import { InjectionToken } from '@angular/core';\nimport { LuTranslation } from '@lucca-front/ng/core';\nimport { Translations } from './translations';\n\nexport const LU_FILTER_PILLS_TRANSLATIONS = new InjectionToken('LuFilterPillsTranslations', {\n\tfactory: () => luFilterPillsTranslations,\n});\n\nexport interface LuFilterPillsLabel {\n\tclear: string;\n\tplaceholder: string;\n\tadditionalFilters: string;\n\tselectView: string;\n\tviewOptions: string;\n\trenameView: string;\n\tdeleteView: string;\n}\n\nexport const luFilterPillsTranslations: LuTranslation<LuFilterPillsLabel> = Translations;\n","import { ConnectionPositionPair } from '@angular/cdk/overlay';\nimport { NgTemplateOutlet } from '@angular/common';\nimport {\n\tChangeDetectionStrategy,\n\tComponent,\n\tcomputed,\n\tcontentChild,\n\teffect,\n\tElementRef,\n\tforwardRef,\n\tinject,\n\tinput,\n\tLOCALE_ID,\n\tmodel,\n\tsignal,\n\tTemplateRef,\n\tuntracked,\n\tviewChild,\n\tViewEncapsulation,\n} from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { LuccaIcon } from '@lucca-front/icons';\nimport { ClearComponent } from '@lucca-front/ng/clear';\nimport { intlInputOptions, luBooleanAttribute } from '@lucca-front/ng/core';\nimport { IconComponent } from '@lucca-front/ng/icon';\nimport { PopoverDirective } from '@lucca-front/ng/popover2';\nimport { LuTooltipModule } from '@lucca-front/ng/tooltip';\nimport { FILTER_PILL_HOST_COMPONENT, FILTER_PILL_INPUT_COMPONENT, FilterPillInputComponent } from '../core';\nimport { LU_FILTER_PILLS_TRANSLATIONS } from '../filter-pills.translate';\n\n@Component({\n\tselector: 'lu-filter-pill',\n\timports: [PopoverDirective, FormsModule, IconComponent, NgTemplateOutlet, LuTooltipModule, ClearComponent],\n\ttemplateUrl: './filter-pill.component.html',\n\tstyleUrl: './filter-pill.component.scss',\n\tencapsulation: ViewEncapsulation.None,\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tproviders: [\n\t\t{\n\t\t\tprovide: FILTER_PILL_HOST_COMPONENT,\n\t\t\tuseExisting: forwardRef(() => FilterPillComponent),\n\t\t},\n\t],\n\thost: {\n\t\tclass: 'filterPillWrapper',\n\t\t'[class.is-hidden]': 'isHiddenClass',\n\t\t'[class.mod-checkbox]': 'isModCheckbox',\n\t\t'[class.is-filled]': 'isFilled',\n\t\t'[class.is-comboboxHidden]': 'hideCombobox',\n\t\t'(click)': 'hostClick()',\n\t},\n})\nexport class FilterPillComponent {\n\treadonly intl = input(...intlInputOptions(LU_FILTER_PILLS_TRANSLATIONS));\n\n\t#locale = inject(LOCALE_ID);\n\n\treadonly elementRef = inject(ElementRef);\n\n\treadonly layout = computed(() => this.inputComponentRef()?.filterPillLayout?.() || 'default');\n\n\t// The easy way to grab input component, will work in most cases\n\treadonly childInputComponentRef = contentChild(FILTER_PILL_INPUT_COMPONENT);\n\n\t// The harder way, because child has to register itself to the host, might become the default approach if this is required too much\n\t// (like when child isn't created when component inits or it's too deep)\n\treadonly registeredInputComponentRef = signal<FilterPillInputComponent | null>(null);\n\n\treadonly inputComponentRef = computed(() => this.registeredInputComponentRef() || this.childInputComponentRef());\n\n\treadonly popoverRef = viewChild(PopoverDirective);\n\n\tpillTpl: TemplateRef<unknown>;\n\n\treadonly labelTpl = computed(() => this.customLabelTpl() || this.defaultLabelTpl());\n\n\treadonly defaultLabelTpl = viewChild<TemplateRef<unknown>>('defaultLabel');\n\n\treadonly customLabelTpl = signal<TemplateRef<unknown> | null>(null);\n\n\treadonly name = input<string>();\n\n\treadonly optional = input(false, { transform: luBooleanAttribute });\n\n\treadonly disabled = computed(() => this.inputComponentRef()?.filterPillDisabled?.() || false);\n\n\tget isHiddenClass() {\n\t\treturn this.isHidden();\n\t}\n\n\treadonly displayed = model(false);\n\n\tprotected readonly isHidden = computed(() => this.optional() && !this.displayed());\n\n\tpopoverPositions: ConnectionPositionPair[] = [\n\t\tnew ConnectionPositionPair(\n\t\t\t{ originX: 'start', originY: 'bottom' },\n\t\t\t{\n\t\t\t\toverlayX: 'start',\n\t\t\t\toverlayY: 'top',\n\t\t\t},\n\t\t\t-4,\n\t\t\t0,\n\t\t),\n\t\tnew ConnectionPositionPair(\n\t\t\t{ originX: 'start', originY: 'top' },\n\t\t\t{\n\t\t\t\toverlayX: 'start',\n\t\t\t\toverlayY: 'bottom',\n\t\t\t},\n\t\t\t-4,\n\t\t\t0,\n\t\t),\n\t];\n\n\treadonly label = input.required<string>();\n\n\treadonly placeholder = computed(() => this.placeholderOverride() ?? this.intl().placeholder);\n\treadonly placeholderOverride = input<string | null>(null, { alias: 'placeholder' });\n\n\treadonly icon = input<LuccaIcon>();\n\n\treadonly defaultIcon = computed<LuccaIcon>(() => this.inputComponentRef()?.getDefaultFilterPillIcon?.() ?? 'arrowChevronBottom');\n\n\treadonly displayedIcon = computed(() => this.icon() || this.defaultIcon());\n\n\treadonly shouldHideCombobox = computed(() => this.inputComponentRef()?.hideCombobox?.() ?? false);\n\n\treadonly inputIsEmpty = computed(() => this.inputComponentRef()?.isFilterPillEmpty() ?? true);\n\treadonly inputIsClearable = computed(() => this.inputComponentRef()?.isFilterPillClearable() ?? false);\n\n\treadonly shouldShowColon = computed(() => this.inputComponentRef()?.showColon?.() || !this.inputIsEmpty());\n\n\treadonly colonDisplay = computed(() => {\n\t\tif (!this.shouldShowColon()) {\n\t\t\treturn '';\n\t\t}\n\t\tif (this.#locale.split('-')[0] === 'fr') {\n\t\t\treturn ' :';\n\t\t}\n\t\treturn ':';\n\t});\n\n\treadonly modCheckbox = computed(() => this.layout() === 'checkable');\n\n\tget isModCheckbox() {\n\t\treturn this.modCheckbox();\n\t}\n\n\tget isFilled() {\n\t\treturn !this.inputIsEmpty();\n\t}\n\n\tget hideCombobox() {\n\t\treturn this.shouldHideCombobox();\n\t}\n\n\tconstructor() {\n\t\teffect(() => {\n\t\t\tconst ref = this.inputComponentRef();\n\t\t\tif (ref) {\n\t\t\t\tuntracked(() => {\n\t\t\t\t\tref.enableFilterPillMode?.();\n\t\t\t\t\tref.registerFilterPillClosePopover(this.closePopover);\n\t\t\t\t\tref.registerFilterPillUpdatePosition?.(this.updatePosition);\n\t\t\t\t});\n\t\t\t}\n\t\t});\n\n\t\teffect(() => {\n\t\t\t// When an optional filter pill has a value, it must be displayed\n\t\t\tif (this.optional() && !this.inputIsEmpty() && !untracked(this.displayed)) {\n\t\t\t\tthis.displayed.set(true);\n\t\t\t}\n\t\t});\n\n\t\teffect(() => {\n\t\t\t// When an optional filter pill is hidden, its value must be clear\n\t\t\tif (this.optional() && !this.displayed() && !untracked(this.inputIsEmpty)) {\n\t\t\t\tthis.clear();\n\t\t\t}\n\t\t});\n\t}\n\n\thostClick(): void {\n\t\tthis.inputComponentRef()?.onFilterPillClick?.();\n\t}\n\n\tpopoverOpened(): void {\n\t\tthis.inputComponentRef()?.onFilterPillOpened?.();\n\t}\n\n\tpopoverClosed(): void {\n\t\tthis.inputComponentRef()?.onFilterPillClosed?.();\n\t}\n\n\tclosePopover = () => {\n\t\t// `onFilterPillClosed` is notified by the `luPopoverClosed` binding, which also covers\n\t\t// closes the input never asked for (outside click, Escape handled by the popover)\n\t\tthis.popoverRef()?.close();\n\t};\n\n\tupdatePosition = () => {\n\t\tthis.popoverRef()?.updatePosition();\n\t};\n\n\tclear(): void {\n\t\tthis.inputComponentRef()?.clearFilterPillValue();\n\t}\n\n\tregisterInput(input: FilterPillInputComponent): void {\n\t\tthis.registeredInputComponentRef.set(input);\n\t}\n}\n","@if (!isHidden()) {\n\t@if (layout() === \"default\") {\n\t\t<button\n\t\t\ttype=\"button\"\n\t\t\tclass=\"filterPill\"\n\t\t\t[attr.disabled]=\"disabled() ? 'disabled' : null\"\n\t\t\t[class.is-filled]=\"!this.inputIsEmpty()\"\n\t\t\t[attr.aria-expanded]=\"popoverRef.opened()\"\n\t\t\t(keydown.arrowDown)=\"$event.preventDefault(); popoverRef.openPopover(true)\"\n\t\t\t(keydown.arrowUp)=\"$event.preventDefault(); popoverRef.openPopover(true)\"\n\t\t\t[luPopover2]=\"pillContent\"\n\t\t\t[luPopoverAnchor]=\"elementRef\"\n\t\t\t[luPopoverNoCloseButton]=\"true\"\n\t\t\t[customPositions]=\"popoverPositions\"\n\t\t\t(luPopoverOpened)=\"popoverOpened()\"\n\t\t\t(luPopoverClosed)=\"popoverClosed()\"\n\t\t\t#filterPillRef\n\t\t\t#popoverRef=\"luPopover2\"\n\t\t>\n\t\t\t<span class=\"filterPill-label\">\n\t\t\t\t<ng-container\n\t\t\t\t\t*ngTemplateOutlet=\"\n\t\t\t\t\t\tlabelTpl();\n\t\t\t\t\t\tcontext: { label: label(), isEmpty: inputIsEmpty(), placeholder: placeholder(), colon: colonDisplay() }\n\t\t\t\t\t\"\n\t\t\t\t/>\n\t\t\t</span>\n\t\t\t<span class=\"filterPill-value\" luTooltip luTooltipWhenEllipsis [luTooltipDisabled]=\"inputIsEmpty()\">\n\t\t\t\t<ng-container *ngTemplateOutlet=\"pillTpl; context: { label: label(), isEmpty: inputIsEmpty() }\" />\n\t\t\t\t@if (inputIsEmpty() && !disabled()) {\n\t\t\t\t\t{{ placeholder() }}\n\t\t\t\t}\n\t\t\t</span>\n\t\t\t<span class=\"filterPill-toggle\">\n\t\t\t\t<lu-icon [icon]=\"displayedIcon()\" size=\"S\" />\n\t\t\t</span>\n\t\t</button>\n\t\t@if (inputIsClearable()) {\n\t\t\t<lu-clear class=\"filterPill_clear\" (onClear)=\"clear(); popoverRef.opened() ? null : filterPillRef.focus()\">{{\n\t\t\t\tintl().clear\n\t\t\t}}</lu-clear>\n\t\t}\n\t} @else {\n\t\t<ng-container\n\t\t\t*ngTemplateOutlet=\"\n\t\t\t\tlabelTpl();\n\t\t\t\tcontext: { label: label(), isEmpty: inputIsEmpty(), placeholder: placeholder(), colon: colonDisplay() }\n\t\t\t\"\n\t\t/>\n\t}\n}\n<ng-template #pillContent>\n\t<div class=\"filterPill_popover-content popover-contentOptional\">\n\t\t<ng-content />\n\t</div>\n</ng-template>\n<ng-template #defaultLabel>{{ label() }}{{ colonDisplay() }}</ng-template>\n","import { InjectionToken } from '@angular/core';\nimport { FilterBarComponent } from './filter-bar.component';\n\nexport const LU_FILTER_BAR_INSTANCE = new InjectionToken<FilterBarComponent>('LU_FILTER_BAR_INSTANCE');\n","import { ConnectionPositionPair } from '@angular/cdk/overlay';\nimport { NgTemplateOutlet } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, computed, contentChildren, forwardRef, input, signal, TemplateRef, ViewEncapsulation } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { intlInputOptions } from '@lucca-front/ng/core';\nimport { DividerComponent } from '@lucca-front/ng/divider';\nimport { FormLabelComponent } from '@lucca-front/ng/form-label';\nimport { IconComponent } from '@lucca-front/ng/icon';\nimport { PopoverDirective } from '@lucca-front/ng/popover2';\nimport { ScrollBoxComponent } from '@lucca-front/ng/scroll-box';\nimport { LuTooltipTriggerDirective } from '@lucca-front/ng/tooltip';\nimport { FilterPillComponent } from '../filter-pill/filter-pill.component';\nimport { LU_FILTER_PILLS_TRANSLATIONS } from '../filter-pills.translate';\nimport { LU_FILTER_BAR_INSTANCE } from './filter-bar.token';\n\n@Component({\n\tselector: 'lu-filter-bar',\n\timports: [IconComponent, LuTooltipTriggerDirective, PopoverDirective, DividerComponent, ScrollBoxComponent, FormsModule, NgTemplateOutlet, FormLabelComponent],\n\ttemplateUrl: './filter-bar.component.html',\n\tstyleUrl: './filter-bar.component.scss',\n\tencapsulation: ViewEncapsulation.None,\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\thost: {\n\t\tclass: 'filterBar',\n\t},\n\tproviders: [\n\t\t{\n\t\t\tprovide: LU_FILTER_BAR_INSTANCE,\n\t\t\tuseExisting: forwardRef(() => FilterBarComponent),\n\t\t},\n\t],\n})\nexport class FilterBarComponent {\n\treadonly intl = input(...intlInputOptions(LU_FILTER_PILLS_TRANSLATIONS));\n\n\treadonly addonBefore = signal<TemplateRef<unknown> | null>(null);\n\treadonly addonAfter = signal<TemplateRef<unknown> | null>(null);\n\n\tpopoverPositions: ConnectionPositionPair[] = [\n\t\tnew ConnectionPositionPair(\n\t\t\t{ originX: 'start', originY: 'bottom' },\n\t\t\t{\n\t\t\t\toverlayX: 'start',\n\t\t\t\toverlayY: 'top',\n\t\t\t},\n\t\t\t-4,\n\t\t\t0,\n\t\t),\n\t\tnew ConnectionPositionPair(\n\t\t\t{ originX: 'start', originY: 'top' },\n\t\t\t{\n\t\t\t\toverlayX: 'start',\n\t\t\t\toverlayY: 'bottom',\n\t\t\t},\n\t\t\t-4,\n\t\t\t0,\n\t\t),\n\t];\n\n\treadonly pills = contentChildren(FilterPillComponent, { descendants: true });\n\n\treadonly optionalPills = computed(() => this.pills().filter((pill) => pill.optional()));\n}\n","<lu-scroll-box class=\"filterBar-scrollBox\">\n\t<div class=\"filterBar-scrollBox-group\">\n\t\t@if (addonBefore()) {\n\t\t\t<ng-container *ngTemplateOutlet=\"addonBefore()\" />\n\n\t\t\t<lu-divider class=\"filterBar-divider\" />\n\t\t}\n\t\t@if (optionalPills().length > 0) {\n\t\t\t<button\n\t\t\t\tclass=\"filterPill mod-button\"\n\t\t\t\ttype=\"button\"\n\t\t\t\t[luTooltip]=\"intl().additionalFilters\"\n\t\t\t\tluTooltipOnlyForDisplay\n\t\t\t\t[luPopover2]=\"contentOptionsTpl\"\n\t\t\t\tluPopoverNoCloseButton\n\t\t\t\t[customPositions]=\"popoverPositions\"\n\t\t\t>\n\t\t\t\t<lu-icon class=\"filterPill-icon\" icon=\"filtersDescending\" [alt]=\"intl().additionalFilters\" />\n\t\t\t</button>\n\t\t}\n\n\t\t<ng-content />\n\t</div>\n\n\t@if (addonAfter()) {\n\t\t<div class=\"filterBar-scrollBox-export\">\n\t\t\t<ng-container *ngTemplateOutlet=\"addonAfter()\" />\n\t\t</div>\n\t}\n</lu-scroll-box>\n\n<ng-template #contentOptionsTpl>\n\t<form class=\"filterPill_popover-content popover-contentOptional\">\n\t\t@for (pill of optionalPills(); track pill.name(); let index = $index) {\n\t\t\t<div class=\"form-field mod-selectOption filterPill_popover-content-option\">\n\t\t\t\t<label luFormLabel [attr.for]=\"`filterPillOptions${index}`\">{{ pill.label() }}</label>\n\t\t\t\t<span class=\"checkboxField\">\n\t\t\t\t\t<input\n\t\t\t\t\t\ttype=\"checkbox\"\n\t\t\t\t\t\tclass=\"checkboxField-input\"\n\t\t\t\t\t\t[name]=\"pill.name() ?? ''\"\n\t\t\t\t\t\t[attr.id]=\"'filterPillOptions' + index\"\n\t\t\t\t\t\t[(ngModel)]=\"pill.displayed\"\n\t\t\t\t\t/>\n\t\t\t\t\t<span class=\"checkboxField-icon\" aria-hidden=\"true\"><span class=\"checkboxField-icon-check\"></span></span>\n\t\t\t\t</span>\n\t\t\t</div>\n\t\t}\n\t</form>\n</ng-template>\n","import { ConnectionPositionPair } from '@angular/cdk/overlay';\nimport { ChangeDetectionStrategy, Component, computed, input, model, output, viewChild, ViewEncapsulation } from '@angular/core';\nimport { ButtonComponent } from '@lucca-front/ng/button';\nimport { intlInputOptions, IntlParamsPipe } from '@lucca-front/ng/core';\nimport { DropdownActionComponent, DropdownItemComponent, DropdownMenuComponent, LuDropdownTriggerDirective } from '@lucca-front/ng/dropdown';\nimport { FormLabelComponent } from '@lucca-front/ng/form-label';\nimport { IconComponent } from '@lucca-front/ng/icon';\nimport { PopoverDirective } from '@lucca-front/ng/popover2';\nimport { LU_FILTER_PILLS_TRANSLATIONS } from '../filter-pills.translate';\n\n// Same convention as `lu-select` (see @lucca-front/ng/core-select). Duplicated locally because core-select\n// depends on filter-pills, so importing it here would introduce a circular dependency between entry points.\nexport type LuOptionComparer<T> = (a: T, b: T) => boolean;\nexport const filterViewDefaultOptionComparer: LuOptionComparer<unknown> = (a, b) => JSON.stringify(a) === JSON.stringify(b);\nexport const filterViewDefaultOptionKey: (option: unknown) => unknown = (option) => option;\n\nlet nextId = 0;\n\n@Component({\n\tselector: 'lu-filter-view-selector',\n\timports: [ButtonComponent, IconComponent, PopoverDirective, FormLabelComponent, LuDropdownTriggerDirective, DropdownMenuComponent, DropdownItemComponent, DropdownActionComponent, IntlParamsPipe],\n\ttemplateUrl: './filter-view-selector.component.html',\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tencapsulation: ViewEncapsulation.None,\n\thost: {\n\t\tclass: 'filterBar-viewSelector',\n\t\t'(keydown.arrowDown)': 'popoverRef()?.openPopover()',\n\t},\n})\nexport class FilterViewSelectorComponent<T> {\n\treadonly intl = input(...intlInputOptions(LU_FILTER_PILLS_TRANSLATIONS));\n\n\treadonly popoverRef = viewChild(PopoverDirective);\n\n\t/** The list of saved views to pick from. */\n\treadonly views = input.required<T[]>();\n\n\t/** The currently selected view (two-way bindable). */\n\treadonly selectedView = model<T | null>(null);\n\n\t/** How to display a view. Defaults to reading its `name` property. */\n\treadonly viewLabel = input<(view: T) => string>((view) => (view as { name: string }).name);\n\n\t/** How to compare two views for selection. Same convention as `lu-select` — defaults to a structural comparison. */\n\treadonly optionComparer = input<LuOptionComparer<T>>(filterViewDefaultOptionComparer);\n\n\t/** Stable identity used for `@for` tracking. Same convention as `lu-select` — defaults to identity. */\n\treadonly optionKey = input<(view: T) => unknown>(filterViewDefaultOptionKey);\n\n\t/** Emitted when the user asks to rename a view. */\n\treadonly renameView = output<T>();\n\n\t/** Emitted when the user asks to delete a view. */\n\treadonly deleteView = output<T>();\n\n\t/** Aligns the popover under the trigger, like the filter pills do. */\n\tprotected readonly popoverPositions: ConnectionPositionPair[] = [\n\t\tnew ConnectionPositionPair({ originX: 'start', originY: 'bottom' }, { overlayX: 'start', overlayY: 'top' }, -4, 0),\n\t\tnew ConnectionPositionPair({ originX: 'start', originY: 'top' }, { overlayX: 'start', overlayY: 'bottom' }, -4, 0),\n\t];\n\n\t/** Shared `name` so all the radios of a given selector belong to the same group. */\n\tprotected readonly groupName = `filterViewSelector-${nextId++}`;\n\n\tprotected readonly selectedLabel = computed(() => {\n\t\tconst selected = this.selectedView();\n\t\treturn selected != null ? this.viewLabel()(selected) : null;\n\t});\n\n\tprotected isSelected(view: T): boolean {\n\t\tconst selected = this.selectedView();\n\t\tif (selected == null) {\n\t\t\treturn false;\n\t\t}\n\t\treturn this.optionComparer()(selected, view);\n\t}\n\n\tprotected inputId(index: number): string {\n\t\treturn `${this.groupName}-${index}`;\n\t}\n\n\tprotected viewOptionsLabel(view: T): string {\n\t\treturn `${this.intl().viewOptions} : ${this.viewLabel()(view)}`;\n\t}\n\n\tprotected selectView(view: T): void {\n\t\tthis.selectedView.set(view);\n\t\tthis.popoverRef()?.close();\n\t}\n}\n","<button\n\ttype=\"button\"\n\tluButton=\"outlined\"\n\tsize=\"S\"\n\tdisclosure\n\tluPopoverNoCloseButton\n\t[luPopover2]=\"viewsPopover\"\n\t[customPositions]=\"popoverPositions\"\n>\n\t@if (selectedLabel(); as label) {\n\t\t<span class=\"pr-u-mask\">{{ intl().selectView }} - </span>\n\t\t{{ label }}\n\t} @else {\n\t\t{{ intl().selectView }}\n\t}\n\t<lu-icon icon=\"arrowChevronBottom\" />\n</button>\n\n<ng-template #viewsPopover>\n\t<div class=\"filterPill_popover-content popover-contentOptional\">\n\t\t@for (view of views(); track optionKey()(view); let index = $index) {\n\t\t\t<div class=\"filterPill_popover-content-option\">\n\t\t\t\t<label luFormLabel [attr.for]=\"inputId(index)\">{{ viewLabel()(view) }}</label>\n\t\t\t\t<span class=\"filterPill_popover-content-option-input\">\n\t\t\t\t\t<input type=\"radio\" [attr.id]=\"inputId(index)\" [attr.name]=\"groupName\" [checked]=\"isSelected(view)\" (change)=\"selectView(view)\" />\n\t\t\t\t</span>\n\t\t\t\t<button type=\"button\" class=\"filterPill_popover-content-option-actions\" size=\"XS\" luButton=\"ghost\" [luDropdown]=\"optionsDropdown\">\n\t\t\t\t\t<lu-icon icon=\"menuDots\" [alt]=\"intl().viewOptions | intlParams: { viewName: viewLabel()(view) }\" />\n\t\t\t\t</button>\n\n\t\t\t\t<ng-template #optionsDropdown>\n\t\t\t\t\t<lu-dropdown-menu>\n\t\t\t\t\t\t<lu-dropdown-item>\n\t\t\t\t\t\t\t<button type=\"button\" lu-dropdown-action (click)=\"renameView.emit(view); popoverRef()?.close()\">\n\t\t\t\t\t\t\t\t<lu-icon icon=\"edit\" />\n\t\t\t\t\t\t\t\t{{ intl().renameView }}\n\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t</lu-dropdown-item>\n\t\t\t\t\t\t<lu-dropdown-item>\n\t\t\t\t\t\t\t<button type=\"button\" lu-dropdown-action critical (click)=\"deleteView.emit(view); popoverRef()?.close()\">\n\t\t\t\t\t\t\t\t<lu-icon icon=\"trash\" />\n\t\t\t\t\t\t\t\t{{ intl().deleteView }}\n\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t</lu-dropdown-item>\n\t\t\t\t\t</lu-dropdown-menu>\n\t\t\t\t</ng-template>\n\t\t\t</div>\n\t\t}\n\t</div>\n</ng-template>\n","import { Directive, inject, TemplateRef } from '@angular/core';\nimport { FilterBarComponent } from './filter-bar.component';\n\n@Directive({\n\tselector: '[luFilterPillAddonBefore]',\n})\nexport class FilterPillAddonBeforeDirective {\n\tconstructor() {\n\t\tinject(FilterBarComponent).addonBefore.set(inject(TemplateRef));\n\t}\n\n\tpublic static ngTemplateContextGuard(_dir: FilterPillAddonBeforeDirective, _ctx: unknown): _ctx is void {\n\t\treturn true;\n\t}\n}\n\n@Directive({\n\tselector: '[luFilterPillAddonAfter]',\n})\nexport class FilterPillAddonAfterDirective {\n\tconstructor() {\n\t\tinject(FilterBarComponent).addonAfter.set(inject(TemplateRef));\n\t}\n\n\tpublic static ngTemplateContextGuard(_dir: FilterPillAddonAfterDirective, _ctx: unknown): _ctx is void {\n\t\treturn true;\n\t}\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"lucca-front-ng-filter-pills.mjs","sources":["../../../packages/ng/filter-pills/core/tokens.ts","../../../packages/ng/filter-pills/core/filter-pill-displayer.directive.ts","../../../packages/ng/filter-pills/core/filter-pill-label.directive.ts","../../../packages/ng/filter-pills/translations.ts","../../../packages/ng/filter-pills/filter-pills.translate.ts","../../../packages/ng/filter-pills/filter-pill/filter-pill.component.ts","../../../packages/ng/filter-pills/filter-pill/filter-pill.component.html","../../../packages/ng/filter-pills/filter-bar/filter-bar.token.ts","../../../packages/ng/filter-pills/filter-bar/filter-bar.component.ts","../../../packages/ng/filter-pills/filter-bar/filter-bar.component.html","../../../packages/ng/filter-pills/filter-view-selector/filter-view-selector.component.ts","../../../packages/ng/filter-pills/filter-view-selector/filter-view-selector.component.html","../../../packages/ng/filter-pills/filter-bar/filter-pill-addon.directive.ts","../../../packages/ng/filter-pills/lucca-front-ng-filter-pills.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\nimport { FilterPillInputComponent } from './filter-pill-input-component';\nimport { FilterPillComponent } from '../filter-pill/filter-pill.component';\n\nexport const FILTER_PILL_INPUT_COMPONENT = new InjectionToken<FilterPillInputComponent>('FilterPills:InputComponent');\n\nexport const FILTER_PILL_HOST_COMPONENT = new InjectionToken<FilterPillComponent>('FilterPills:HostComponent');\n","import { Directive, inject, TemplateRef } from '@angular/core';\nimport { FilterPillComponent } from '../filter-pill/filter-pill.component';\n\ninterface FilterPillDisplayerContext {\n\tlabel: string;\n\tplaceholder: string;\n\tisEmpty: boolean;\n}\n\n@Directive({\n\tselector: '[luFilterPillDisplayer]',\n})\nexport class FilterPillDisplayerDirective {\n\t#filterPillComponentRef = inject(FilterPillComponent, { optional: true });\n\n\t#templateRef = inject(TemplateRef);\n\n\tconstructor() {\n\t\tif (this.#filterPillComponentRef) {\n\t\t\tthis.#filterPillComponentRef.pillTpl = this.#templateRef;\n\t\t}\n\t}\n\n\tpublic static ngTemplateContextGuard(_dir: FilterPillDisplayerDirective, _ctx: unknown): _ctx is FilterPillDisplayerContext {\n\t\treturn true;\n\t}\n}\n","import { Directive, inject, TemplateRef } from '@angular/core';\nimport { FilterPillComponent } from '../filter-pill/filter-pill.component';\nimport { FILTER_PILL_INPUT_COMPONENT } from './tokens';\n\ninterface FilterPillLabelContext {\n\tlabel: string;\n\tplaceholder: string;\n\tisEmpty: boolean;\n\tcolon: string;\n}\n\n@Directive({\n\tselector: '[luFilterPillLabel]',\n})\nexport class FilterPillLabelDirective {\n\t#filterPillComponentRef = inject(FilterPillComponent, { optional: true });\n\t#parentComponentRef = inject(FILTER_PILL_INPUT_COMPONENT, { optional: true, skipSelf: true });\n\n\t#templateRef = inject(TemplateRef);\n\n\tconstructor() {\n\t\tif (this.#filterPillComponentRef && this.#parentComponentRef && !this.#parentComponentRef.parentInput) {\n\t\t\tthis.#filterPillComponentRef.customLabelTpl.set(this.#templateRef);\n\t\t}\n\t}\n\n\tpublic static ngTemplateContextGuard(_dir: FilterPillLabelDirective, _ctx: unknown): _ctx is FilterPillLabelContext {\n\t\treturn true;\n\t}\n}\n","export const Translations = {\n\tfr: {\n\t\tclear: 'Vider ce champ',\n\t\tplaceholder: 'Aucune valeur sélectionnée',\n\t\tadditionalFilters: 'Filtres supplémentaires',\n\t\tautoApplyAnnouncement: 'La liste des résultats se met à jour automatiquement.',\n\t\tselectView: 'Sélectionner une vue',\n\t\tviewOptions: 'Options de la vue : {{viewName}}',\n\t\trenameView: 'Modifier le nom',\n\t\tdeleteView: 'Supprimer',\n\t\tsaveView: 'Enregistrer la vue',\n\t\tsaveModification: 'Enregistrer les modifications',\n\t\tsaveNewView: 'Enregistrer en tant que nouvelle vue',\n\t},\n\tpt: {\n\t\tclear: 'Esvaziar este campo',\n\t\tplaceholder: 'Nenhum valor selecionado',\n\t\tadditionalFilters: 'Filtros adicionais',\n\t\tautoApplyAnnouncement: 'A lista de resultados é atualizada automaticamente.',\n\t\tselectView: 'Selecionar uma vista',\n\t\tviewOptions: 'Opções da visualização: {{viewName}}',\n\t\trenameView: 'Alterar o nome',\n\t\tdeleteView: 'Eliminar',\n\t\tsaveView: 'Guardar a vista',\n\t\tsaveModification: 'Guardar as alterações',\n\t\tsaveNewView: 'Guardar como nova vista',\n\t},\n\tes: {\n\t\tclear: 'Vaciar este campo',\n\t\tplaceholder: 'Ningún valor seleccionado',\n\t\tadditionalFilters: 'Filtros adicionales',\n\t\tautoApplyAnnouncement: 'La lista de resultados se actualiza automáticamente.',\n\t\tselectView: 'Seleccionar una vista',\n\t\tviewOptions: 'Opciones de la vista: {{viewName}}',\n\t\trenameView: 'Editar el nombre',\n\t\tdeleteView: 'Eliminar',\n\t\tsaveView: 'Guardar vista',\n\t\tsaveModification: 'Guardar los cambios',\n\t\tsaveNewView: 'Guardar como vista nueva',\n\t},\n\t'nl-BE': {\n\t\tclear: 'Dit veld leegmaken',\n\t\tplaceholder: 'Geen waarde geselecteerd',\n\t\tadditionalFilters: 'Extra filters',\n\t\tautoApplyAnnouncement: 'De resultatenlijst wordt automatisch bijgewerkt.',\n\t\tselectView: 'Selecteer een weergave',\n\t\tviewOptions: 'Opties van de weergave: {{viewName}}',\n\t\trenameView: 'De naam wijzigen',\n\t\tdeleteView: 'Verwijderen',\n\t\tsaveView: 'De weergave opslaan',\n\t\tsaveModification: 'Wijzigingen opslaan',\n\t\tsaveNewView: 'Opslaan als nieuwe weergave',\n\t},\n\tnl: {\n\t\tclear: 'Dit veld leegmaken',\n\t\tplaceholder: 'Geen waarde geselecteerd',\n\t\tadditionalFilters: 'Extra filters',\n\t\tautoApplyAnnouncement: 'De resultatenlijst wordt automatisch bijgewerkt.',\n\t\tselectView: 'Selecteer een weergave',\n\t\tviewOptions: 'Opties van de weergave: {{viewName}}',\n\t\trenameView: 'De naam wijzigen',\n\t\tdeleteView: 'Verwijderen',\n\t\tsaveView: 'De weergave opslaan',\n\t\tsaveModification: 'Wijzigingen opslaan',\n\t\tsaveNewView: 'Opslaan als nieuwe weergave',\n\t},\n\tit: {\n\t\tclear: 'Vuotare questo campo',\n\t\tplaceholder: 'Nessun valore selezionato',\n\t\tadditionalFilters: 'Filtri aggiuntivi',\n\t\tautoApplyAnnouncement: \"L'elenco dei risultati si aggiorna automaticamente.\",\n\t\tselectView: 'Selezionare una vista',\n\t\tviewOptions: 'Opzioni della vista: {{viewName}}',\n\t\trenameView: 'Modificare il nome',\n\t\tdeleteView: 'Elimina',\n\t\tsaveView: 'Salva la vista',\n\t\tsaveModification: 'Salva le modifiche',\n\t\tsaveNewView: 'Salva come nuova vista',\n\t},\n\tde: {\n\t\tclear: 'Den Inhalt aus diesem Feld entfernen',\n\t\tplaceholder: 'Kein Wert ausgewählt',\n\t\tadditionalFilters: 'Zusätzliche Filter',\n\t\tautoApplyAnnouncement: 'Die Ergebnisliste wird automatisch aktualisiert.',\n\t\tselectView: 'Eine Ansicht auswählen',\n\t\tviewOptions: 'Ansichtsoptionen: {{viewName}}',\n\t\trenameView: 'Name bearbeiten',\n\t\tdeleteView: 'Löschen',\n\t\tsaveView: 'Ansicht speichern',\n\t\tsaveModification: 'Änderungen speichern',\n\t\tsaveNewView: 'Als neue Ansicht speichern',\n\t},\n\ten: {\n\t\tclear: 'Empty this field',\n\t\tplaceholder: 'No value selected',\n\t\tadditionalFilters: 'Additional filters',\n\t\tautoApplyAnnouncement: 'The results list updates automatically.',\n\t\tselectView: 'Select a view',\n\t\tviewOptions: 'View options: {{viewName}}',\n\t\trenameView: 'Edit name',\n\t\tdeleteView: 'Delete',\n\t\tsaveView: 'Save view',\n\t\tsaveModification: 'Save changes',\n\t\tsaveNewView: 'Save as new view',\n\t},\n\tpl: {\n\t\tclear: 'Wyczyść to pole',\n\t\tplaceholder: 'Nie wybrano żadnej wartości',\n\t\tadditionalFilters: 'Dodatkowe filtry',\n\t\tautoApplyAnnouncement: 'Lista wyników aktualizuje się automatycznie.',\n\t\tselectView: 'Wybierz widok',\n\t\tviewOptions: 'Opcje widoku: {{viewName}}',\n\t\trenameView: 'Zmień nazwę',\n\t\tdeleteView: 'Usuń',\n\t\tsaveView: 'Save view',\n\t\tsaveModification: 'Save changes',\n\t\tsaveNewView: 'Save as new view',\n\t},\n};\n","import { InjectionToken } from '@angular/core';\nimport { LuTranslation } from '@lucca-front/ng/core';\nimport { Translations } from './translations';\n\nexport const LU_FILTER_PILLS_TRANSLATIONS = new InjectionToken('LuFilterPillsTranslations', {\n\tfactory: () => luFilterPillsTranslations,\n});\n\nexport interface LuFilterPillsLabel {\n\tclear: string;\n\tplaceholder: string;\n\tadditionalFilters: string;\n\tautoApplyAnnouncement: string;\n\tselectView: string;\n\tviewOptions: string;\n\trenameView: string;\n\tdeleteView: string;\n}\n\nexport const luFilterPillsTranslations: LuTranslation<LuFilterPillsLabel> = Translations;\n","import { ConnectionPositionPair } from '@angular/cdk/overlay';\nimport { NgTemplateOutlet } from '@angular/common';\nimport {\n\tChangeDetectionStrategy,\n\tComponent,\n\tcomputed,\n\tcontentChild,\n\teffect,\n\tElementRef,\n\tforwardRef,\n\tinject,\n\tinput,\n\tLOCALE_ID,\n\tmodel,\n\tsignal,\n\tTemplateRef,\n\tuntracked,\n\tviewChild,\n\tViewEncapsulation,\n} from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { LuccaIcon } from '@lucca-front/icons';\nimport { ClearComponent } from '@lucca-front/ng/clear';\nimport { intlInputOptions, luBooleanAttribute } from '@lucca-front/ng/core';\nimport { IconComponent } from '@lucca-front/ng/icon';\nimport { PopoverDirective } from '@lucca-front/ng/popover2';\nimport { LuTooltipModule } from '@lucca-front/ng/tooltip';\nimport { FILTER_PILL_HOST_COMPONENT, FILTER_PILL_INPUT_COMPONENT, FilterPillInputComponent } from '../core';\nimport { LU_FILTER_PILLS_TRANSLATIONS } from '../filter-pills.translate';\n\n@Component({\n\tselector: 'lu-filter-pill',\n\timports: [PopoverDirective, FormsModule, IconComponent, NgTemplateOutlet, LuTooltipModule, ClearComponent],\n\ttemplateUrl: './filter-pill.component.html',\n\tstyleUrl: './filter-pill.component.scss',\n\tencapsulation: ViewEncapsulation.None,\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tproviders: [\n\t\t{\n\t\t\tprovide: FILTER_PILL_HOST_COMPONENT,\n\t\t\tuseExisting: forwardRef(() => FilterPillComponent),\n\t\t},\n\t],\n\thost: {\n\t\tclass: 'filterPillWrapper',\n\t\t'[class.is-hidden]': 'isHiddenClass',\n\t\t'[class.mod-checkbox]': 'isModCheckbox',\n\t\t'[class.is-filled]': 'isFilled',\n\t\t'[class.is-comboboxHidden]': 'hideCombobox',\n\t\t'(click)': 'hostClick()',\n\t},\n})\nexport class FilterPillComponent {\n\treadonly intl = input(...intlInputOptions(LU_FILTER_PILLS_TRANSLATIONS));\n\n\t#locale = inject(LOCALE_ID);\n\n\treadonly elementRef = inject(ElementRef);\n\n\treadonly layout = computed(() => this.inputComponentRef()?.filterPillLayout?.() || 'default');\n\n\t// The easy way to grab input component, will work in most cases\n\treadonly childInputComponentRef = contentChild(FILTER_PILL_INPUT_COMPONENT);\n\n\t// The harder way, because child has to register itself to the host, might become the default approach if this is required too much\n\t// (like when child isn't created when component inits or it's too deep)\n\treadonly registeredInputComponentRef = signal<FilterPillInputComponent | null>(null);\n\n\treadonly inputComponentRef = computed(() => this.registeredInputComponentRef() || this.childInputComponentRef());\n\n\treadonly popoverRef = viewChild(PopoverDirective);\n\n\tpillTpl: TemplateRef<unknown>;\n\n\treadonly labelTpl = computed(() => this.customLabelTpl() || this.defaultLabelTpl());\n\n\treadonly defaultLabelTpl = viewChild<TemplateRef<unknown>>('defaultLabel');\n\n\treadonly customLabelTpl = signal<TemplateRef<unknown> | null>(null);\n\n\treadonly name = input<string>();\n\n\treadonly optional = input(false, { transform: luBooleanAttribute });\n\n\treadonly disabled = computed(() => this.inputComponentRef()?.filterPillDisabled?.() || false);\n\n\tget isHiddenClass() {\n\t\treturn this.isHidden();\n\t}\n\n\treadonly displayed = model(false);\n\n\tprotected readonly isHidden = computed(() => this.optional() && !this.displayed());\n\n\tpopoverPositions: ConnectionPositionPair[] = [\n\t\tnew ConnectionPositionPair(\n\t\t\t{ originX: 'start', originY: 'bottom' },\n\t\t\t{\n\t\t\t\toverlayX: 'start',\n\t\t\t\toverlayY: 'top',\n\t\t\t},\n\t\t\t-4,\n\t\t\t0,\n\t\t),\n\t\tnew ConnectionPositionPair(\n\t\t\t{ originX: 'start', originY: 'top' },\n\t\t\t{\n\t\t\t\toverlayX: 'start',\n\t\t\t\toverlayY: 'bottom',\n\t\t\t},\n\t\t\t-4,\n\t\t\t0,\n\t\t),\n\t];\n\n\treadonly label = input.required<string>();\n\n\treadonly placeholder = computed(() => this.placeholderOverride() ?? this.intl().placeholder);\n\treadonly placeholderOverride = input<string | null>(null, { alias: 'placeholder' });\n\n\treadonly icon = input<LuccaIcon>();\n\n\treadonly defaultIcon = computed<LuccaIcon>(() => this.inputComponentRef()?.getDefaultFilterPillIcon?.() ?? 'arrowChevronBottom');\n\n\treadonly displayedIcon = computed(() => this.icon() || this.defaultIcon());\n\n\treadonly shouldHideCombobox = computed(() => this.inputComponentRef()?.hideCombobox?.() ?? false);\n\n\treadonly inputIsEmpty = computed(() => this.inputComponentRef()?.isFilterPillEmpty() ?? true);\n\treadonly inputIsClearable = computed(() => this.inputComponentRef()?.isFilterPillClearable() ?? false);\n\n\treadonly shouldShowColon = computed(() => this.inputComponentRef()?.showColon?.() || !this.inputIsEmpty());\n\n\treadonly colonDisplay = computed(() => {\n\t\tif (!this.shouldShowColon()) {\n\t\t\treturn '';\n\t\t}\n\t\tif (this.#locale.split('-')[0] === 'fr') {\n\t\t\treturn ' :';\n\t\t}\n\t\treturn ':';\n\t});\n\n\treadonly modCheckbox = computed(() => this.layout() === 'checkable');\n\n\tget isModCheckbox() {\n\t\treturn this.modCheckbox();\n\t}\n\n\tget isFilled() {\n\t\treturn !this.inputIsEmpty();\n\t}\n\n\tget hideCombobox() {\n\t\treturn this.shouldHideCombobox();\n\t}\n\n\tconstructor() {\n\t\teffect(() => {\n\t\t\tconst ref = this.inputComponentRef();\n\t\t\tif (ref) {\n\t\t\t\tuntracked(() => {\n\t\t\t\t\tref.enableFilterPillMode?.();\n\t\t\t\t\tref.registerFilterPillClosePopover(this.closePopover);\n\t\t\t\t\tref.registerFilterPillUpdatePosition?.(this.updatePosition);\n\t\t\t\t});\n\t\t\t}\n\t\t});\n\n\t\teffect(() => {\n\t\t\t// When an optional filter pill has a value, it must be displayed\n\t\t\tif (this.optional() && !this.inputIsEmpty() && !untracked(this.displayed)) {\n\t\t\t\tthis.displayed.set(true);\n\t\t\t}\n\t\t});\n\n\t\teffect(() => {\n\t\t\t// When an optional filter pill is hidden, its value must be clear\n\t\t\tif (this.optional() && !this.displayed() && !untracked(this.inputIsEmpty)) {\n\t\t\t\tthis.clear();\n\t\t\t}\n\t\t});\n\t}\n\n\thostClick(): void {\n\t\tthis.inputComponentRef()?.onFilterPillClick?.();\n\t}\n\n\tpopoverOpened(): void {\n\t\tthis.inputComponentRef()?.onFilterPillOpened?.();\n\t}\n\n\tpopoverClosed(): void {\n\t\tthis.inputComponentRef()?.onFilterPillClosed?.();\n\t}\n\n\tclosePopover = () => {\n\t\t// `onFilterPillClosed` is notified by the `luPopoverClosed` binding, which also covers\n\t\t// closes the input never asked for (outside click, Escape handled by the popover)\n\t\tthis.popoverRef()?.close();\n\t};\n\n\tupdatePosition = () => {\n\t\tthis.popoverRef()?.updatePosition();\n\t};\n\n\tclear(): void {\n\t\tthis.inputComponentRef()?.clearFilterPillValue();\n\t}\n\n\tregisterInput(input: FilterPillInputComponent): void {\n\t\tthis.registeredInputComponentRef.set(input);\n\t}\n}\n","@if (!isHidden()) {\n\t@if (layout() === \"default\") {\n\t\t<button\n\t\t\ttype=\"button\"\n\t\t\tclass=\"filterPill\"\n\t\t\t[attr.disabled]=\"disabled() ? 'disabled' : null\"\n\t\t\t[class.is-filled]=\"!this.inputIsEmpty()\"\n\t\t\t[attr.aria-expanded]=\"popoverRef.opened()\"\n\t\t\t(keydown.arrowDown)=\"$event.preventDefault(); popoverRef.openPopover(true)\"\n\t\t\t(keydown.arrowUp)=\"$event.preventDefault(); popoverRef.openPopover(true)\"\n\t\t\t[luPopover2]=\"pillContent\"\n\t\t\t[luPopoverAnchor]=\"elementRef\"\n\t\t\t[luPopoverNoCloseButton]=\"true\"\n\t\t\t[customPositions]=\"popoverPositions\"\n\t\t\t(luPopoverOpened)=\"popoverOpened()\"\n\t\t\t(luPopoverClosed)=\"popoverClosed()\"\n\t\t\t#filterPillRef\n\t\t\t#popoverRef=\"luPopover2\"\n\t\t>\n\t\t\t<span class=\"filterPill-label\">\n\t\t\t\t<ng-container\n\t\t\t\t\t*ngTemplateOutlet=\"\n\t\t\t\t\t\tlabelTpl();\n\t\t\t\t\t\tcontext: { label: label(), isEmpty: inputIsEmpty(), placeholder: placeholder(), colon: colonDisplay() }\n\t\t\t\t\t\"\n\t\t\t\t/>\n\t\t\t</span>\n\t\t\t<span\n\t\t\t\tclass=\"filterPill-value\"\n\t\t\t\tluTooltip\n\t\t\t\tluTooltipWhenEllipsis\n\t\t\t\t[luTooltipDisabled]=\"inputIsEmpty()\"\n\t\t\t\t[luTooltipTriggerAnchor]=\"filterPillRef\"\n\t\t\t>\n\t\t\t\t<ng-container *ngTemplateOutlet=\"pillTpl; context: { label: label(), isEmpty: inputIsEmpty() }\" />\n\t\t\t\t@if (inputIsEmpty() && !disabled()) {\n\t\t\t\t\t{{ placeholder() }}\n\t\t\t\t}\n\t\t\t</span>\n\t\t\t<span class=\"filterPill-toggle\">\n\t\t\t\t<lu-icon [icon]=\"displayedIcon()\" size=\"S\" />\n\t\t\t</span>\n\t\t</button>\n\t\t@if (inputIsClearable()) {\n\t\t\t<lu-clear class=\"filterPill_clear\" (onClear)=\"clear(); popoverRef.opened() ? null : filterPillRef.focus()\">{{\n\t\t\t\tintl().clear\n\t\t\t}}</lu-clear>\n\t\t}\n\t} @else {\n\t\t<ng-container\n\t\t\t*ngTemplateOutlet=\"\n\t\t\t\tlabelTpl();\n\t\t\t\tcontext: { label: label(), isEmpty: inputIsEmpty(), placeholder: placeholder(), colon: colonDisplay() }\n\t\t\t\"\n\t\t/>\n\t}\n}\n<ng-template #pillContent>\n\t<div class=\"filterPill_popover-content popover-contentOptional\">\n\t\t<ng-content />\n\t</div>\n</ng-template>\n<ng-template #defaultLabel>{{ label() }}{{ colonDisplay() }}</ng-template>\n","import { InjectionToken } from '@angular/core';\nimport { FilterBarComponent } from './filter-bar.component';\n\nexport const LU_FILTER_BAR_INSTANCE = new InjectionToken<FilterBarComponent>('LU_FILTER_BAR_INSTANCE');\n","import { ConnectionPositionPair } from '@angular/cdk/overlay';\nimport { NgTemplateOutlet } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, computed, contentChildren, forwardRef, input, signal, TemplateRef, ViewEncapsulation } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { intlInputOptions, luBooleanAttribute } from '@lucca-front/ng/core';\nimport { DividerComponent } from '@lucca-front/ng/divider';\nimport { FormLabelComponent } from '@lucca-front/ng/form-label';\nimport { IconComponent } from '@lucca-front/ng/icon';\nimport { PopoverDirective } from '@lucca-front/ng/popover2';\nimport { ScrollBoxComponent } from '@lucca-front/ng/scroll-box';\nimport { LuTooltipTriggerDirective } from '@lucca-front/ng/tooltip';\nimport { FilterPillComponent } from '../filter-pill/filter-pill.component';\nimport { LU_FILTER_PILLS_TRANSLATIONS } from '../filter-pills.translate';\nimport { LU_FILTER_BAR_INSTANCE } from './filter-bar.token';\n\nlet nextId = 0;\n\n@Component({\n\tselector: 'lu-filter-bar',\n\timports: [IconComponent, LuTooltipTriggerDirective, PopoverDirective, DividerComponent, ScrollBoxComponent, FormsModule, NgTemplateOutlet, FormLabelComponent],\n\ttemplateUrl: './filter-bar.component.html',\n\tstyleUrl: './filter-bar.component.scss',\n\tencapsulation: ViewEncapsulation.None,\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\thost: {\n\t\tclass: 'filterBar',\n\t\t'[attr.aria-describedby]': 'manualApply() ? null : autoApplyAnnouncementId',\n\t},\n\tproviders: [\n\t\t{\n\t\t\tprovide: LU_FILTER_BAR_INSTANCE,\n\t\t\tuseExisting: forwardRef(() => FilterBarComponent),\n\t\t},\n\t],\n})\nexport class FilterBarComponent {\n\treadonly intl = input(...intlInputOptions(LU_FILTER_PILLS_TRANSLATIONS));\n\n\t/**\n\t * Set when results only update after an explicit \"Apply\" action, to remove the hidden message\n\t * telling assistive technology users that the results list updates automatically\n\t */\n\treadonly manualApply = input(false, { transform: luBooleanAttribute });\n\n\treadonly autoApplyAnnouncementId = `filterBar-autoApplyAnnouncement-${nextId++}`;\n\n\treadonly addonBefore = signal<TemplateRef<unknown> | null>(null);\n\treadonly addonAfter = signal<TemplateRef<unknown> | null>(null);\n\n\tpopoverPositions: ConnectionPositionPair[] = [\n\t\tnew ConnectionPositionPair(\n\t\t\t{ originX: 'start', originY: 'bottom' },\n\t\t\t{\n\t\t\t\toverlayX: 'start',\n\t\t\t\toverlayY: 'top',\n\t\t\t},\n\t\t\t-4,\n\t\t\t0,\n\t\t),\n\t\tnew ConnectionPositionPair(\n\t\t\t{ originX: 'start', originY: 'top' },\n\t\t\t{\n\t\t\t\toverlayX: 'start',\n\t\t\t\toverlayY: 'bottom',\n\t\t\t},\n\t\t\t-4,\n\t\t\t0,\n\t\t),\n\t];\n\n\treadonly pills = contentChildren(FilterPillComponent, { descendants: true });\n\n\treadonly optionalPills = computed(() => this.pills().filter((pill) => pill.optional()));\n}\n","@if (!manualApply()) {\n\t<span class=\"pr-u-mask\" [attr.id]=\"autoApplyAnnouncementId\">{{ intl().autoApplyAnnouncement }}</span>\n}\n<lu-scroll-box class=\"filterBar-scrollBox\">\n\t<div class=\"filterBar-scrollBox-group\">\n\t\t@if (addonBefore()) {\n\t\t\t<ng-container *ngTemplateOutlet=\"addonBefore()\" />\n\n\t\t\t<lu-divider class=\"filterBar-divider\" />\n\t\t}\n\t\t@if (optionalPills().length > 0) {\n\t\t\t<button\n\t\t\t\tclass=\"filterPill mod-button\"\n\t\t\t\ttype=\"button\"\n\t\t\t\t[luTooltip]=\"intl().additionalFilters\"\n\t\t\t\tluTooltipOnlyForDisplay\n\t\t\t\t[luPopover2]=\"contentOptionsTpl\"\n\t\t\t\tluPopoverNoCloseButton\n\t\t\t\t[customPositions]=\"popoverPositions\"\n\t\t\t>\n\t\t\t\t<lu-icon class=\"filterPill-icon\" icon=\"filtersDescending\" [alt]=\"intl().additionalFilters\" />\n\t\t\t</button>\n\t\t}\n\n\t\t<ng-content />\n\t</div>\n\n\t@if (addonAfter()) {\n\t\t<div class=\"filterBar-scrollBox-export\">\n\t\t\t<ng-container *ngTemplateOutlet=\"addonAfter()\" />\n\t\t</div>\n\t}\n</lu-scroll-box>\n\n<ng-template #contentOptionsTpl>\n\t<form class=\"filterPill_popover-content popover-contentOptional\">\n\t\t@for (pill of optionalPills(); track pill.name(); let index = $index) {\n\t\t\t<div class=\"form-field mod-selectOption filterPill_popover-content-option\">\n\t\t\t\t<label luFormLabel [attr.for]=\"`filterPillOptions${index}`\">{{ pill.label() }}</label>\n\t\t\t\t<span class=\"checkboxField\">\n\t\t\t\t\t<input\n\t\t\t\t\t\ttype=\"checkbox\"\n\t\t\t\t\t\tclass=\"checkboxField-input\"\n\t\t\t\t\t\t[name]=\"pill.name() ?? ''\"\n\t\t\t\t\t\t[attr.id]=\"'filterPillOptions' + index\"\n\t\t\t\t\t\t[(ngModel)]=\"pill.displayed\"\n\t\t\t\t\t/>\n\t\t\t\t\t<span class=\"checkboxField-icon\" aria-hidden=\"true\"><span class=\"checkboxField-icon-check\"></span></span>\n\t\t\t\t</span>\n\t\t\t</div>\n\t\t}\n\t</form>\n</ng-template>\n","import { ConnectionPositionPair } from '@angular/cdk/overlay';\nimport { ChangeDetectionStrategy, Component, computed, input, model, output, viewChild, ViewEncapsulation } from '@angular/core';\nimport { ButtonComponent } from '@lucca-front/ng/button';\nimport { intlInputOptions, IntlParamsPipe } from '@lucca-front/ng/core';\nimport { DropdownActionComponent, DropdownItemComponent, DropdownMenuComponent, LuDropdownTriggerDirective } from '@lucca-front/ng/dropdown';\nimport { FormLabelComponent } from '@lucca-front/ng/form-label';\nimport { IconComponent } from '@lucca-front/ng/icon';\nimport { PopoverDirective } from '@lucca-front/ng/popover2';\nimport { LU_FILTER_PILLS_TRANSLATIONS } from '../filter-pills.translate';\n\n// Same convention as `lu-select` (see @lucca-front/ng/core-select). Duplicated locally because core-select\n// depends on filter-pills, so importing it here would introduce a circular dependency between entry points.\nexport type LuOptionComparer<T> = (a: T, b: T) => boolean;\nexport const filterViewDefaultOptionComparer: LuOptionComparer<unknown> = (a, b) => JSON.stringify(a) === JSON.stringify(b);\nexport const filterViewDefaultOptionKey: (option: unknown) => unknown = (option) => option;\n\nlet nextId = 0;\n\n@Component({\n\tselector: 'lu-filter-view-selector',\n\timports: [ButtonComponent, IconComponent, PopoverDirective, FormLabelComponent, LuDropdownTriggerDirective, DropdownMenuComponent, DropdownItemComponent, DropdownActionComponent, IntlParamsPipe],\n\ttemplateUrl: './filter-view-selector.component.html',\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tencapsulation: ViewEncapsulation.None,\n\thost: {\n\t\tclass: 'filterBar-viewSelector',\n\t\t'(keydown.arrowDown)': 'popoverRef()?.openPopover()',\n\t},\n})\nexport class FilterViewSelectorComponent<T> {\n\treadonly intl = input(...intlInputOptions(LU_FILTER_PILLS_TRANSLATIONS));\n\n\treadonly popoverRef = viewChild(PopoverDirective);\n\n\t/** The list of saved views to pick from. */\n\treadonly views = input.required<T[]>();\n\n\t/** The currently selected view (two-way bindable). */\n\treadonly selectedView = model<T | null>(null);\n\n\t/** How to display a view. Defaults to reading its `name` property. */\n\treadonly viewLabel = input<(view: T) => string>((view) => (view as { name: string }).name);\n\n\t/** How to compare two views for selection. Same convention as `lu-select` — defaults to a structural comparison. */\n\treadonly optionComparer = input<LuOptionComparer<T>>(filterViewDefaultOptionComparer);\n\n\t/** Stable identity used for `@for` tracking. Same convention as `lu-select` — defaults to identity. */\n\treadonly optionKey = input<(view: T) => unknown>(filterViewDefaultOptionKey);\n\n\t/** Emitted when the user asks to rename a view. */\n\treadonly renameView = output<T>();\n\n\t/** Emitted when the user asks to delete a view. */\n\treadonly deleteView = output<T>();\n\n\t/** Aligns the popover under the trigger, like the filter pills do. */\n\tprotected readonly popoverPositions: ConnectionPositionPair[] = [\n\t\tnew ConnectionPositionPair({ originX: 'start', originY: 'bottom' }, { overlayX: 'start', overlayY: 'top' }, -4, 0),\n\t\tnew ConnectionPositionPair({ originX: 'start', originY: 'top' }, { overlayX: 'start', overlayY: 'bottom' }, -4, 0),\n\t];\n\n\t/** Shared `name` so all the radios of a given selector belong to the same group. */\n\tprotected readonly groupName = `filterViewSelector-${nextId++}`;\n\n\tprotected readonly selectedLabel = computed(() => {\n\t\tconst selected = this.selectedView();\n\t\treturn selected != null ? this.viewLabel()(selected) : null;\n\t});\n\n\tprotected isSelected(view: T): boolean {\n\t\tconst selected = this.selectedView();\n\t\tif (selected == null) {\n\t\t\treturn false;\n\t\t}\n\t\treturn this.optionComparer()(selected, view);\n\t}\n\n\tprotected inputId(index: number): string {\n\t\treturn `${this.groupName}-${index}`;\n\t}\n\n\tprotected viewOptionsLabel(view: T): string {\n\t\treturn `${this.intl().viewOptions} : ${this.viewLabel()(view)}`;\n\t}\n\n\tprotected selectView(view: T): void {\n\t\tthis.selectedView.set(view);\n\t\tthis.popoverRef()?.close();\n\t}\n}\n","<button\n\ttype=\"button\"\n\tluButton=\"outlined\"\n\tsize=\"S\"\n\tdisclosure\n\tluPopoverNoCloseButton\n\t[luPopover2]=\"viewsPopover\"\n\t[customPositions]=\"popoverPositions\"\n>\n\t@if (selectedLabel(); as label) {\n\t\t<span class=\"pr-u-mask\">{{ intl().selectView }} - </span>\n\t\t{{ label }}\n\t} @else {\n\t\t{{ intl().selectView }}\n\t}\n\t<lu-icon icon=\"arrowChevronBottom\" />\n</button>\n\n<ng-template #viewsPopover>\n\t<div class=\"filterPill_popover-content popover-contentOptional\">\n\t\t@for (view of views(); track optionKey()(view); let index = $index) {\n\t\t\t<div class=\"filterPill_popover-content-option\">\n\t\t\t\t<label luFormLabel [attr.for]=\"inputId(index)\">{{ viewLabel()(view) }}</label>\n\t\t\t\t<span class=\"filterPill_popover-content-option-input\">\n\t\t\t\t\t<input type=\"radio\" [attr.id]=\"inputId(index)\" [attr.name]=\"groupName\" [checked]=\"isSelected(view)\" (change)=\"selectView(view)\" />\n\t\t\t\t</span>\n\t\t\t\t<button type=\"button\" class=\"filterPill_popover-content-option-actions\" size=\"XS\" luButton=\"ghost\" [luDropdown]=\"optionsDropdown\">\n\t\t\t\t\t<lu-icon icon=\"menuDots\" [alt]=\"intl().viewOptions | intlParams: { viewName: viewLabel()(view) }\" />\n\t\t\t\t</button>\n\n\t\t\t\t<ng-template #optionsDropdown>\n\t\t\t\t\t<lu-dropdown-menu>\n\t\t\t\t\t\t<lu-dropdown-item>\n\t\t\t\t\t\t\t<button type=\"button\" lu-dropdown-action (click)=\"renameView.emit(view); popoverRef()?.close()\">\n\t\t\t\t\t\t\t\t<lu-icon icon=\"edit\" />\n\t\t\t\t\t\t\t\t{{ intl().renameView }}\n\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t</lu-dropdown-item>\n\t\t\t\t\t\t<lu-dropdown-item>\n\t\t\t\t\t\t\t<button type=\"button\" lu-dropdown-action critical (click)=\"deleteView.emit(view); popoverRef()?.close()\">\n\t\t\t\t\t\t\t\t<lu-icon icon=\"trash\" />\n\t\t\t\t\t\t\t\t{{ intl().deleteView }}\n\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t</lu-dropdown-item>\n\t\t\t\t\t</lu-dropdown-menu>\n\t\t\t\t</ng-template>\n\t\t\t</div>\n\t\t}\n\t</div>\n</ng-template>\n","import { Directive, inject, TemplateRef } from '@angular/core';\nimport { FilterBarComponent } from './filter-bar.component';\n\n@Directive({\n\tselector: '[luFilterPillAddonBefore]',\n})\nexport class FilterPillAddonBeforeDirective {\n\tconstructor() {\n\t\tinject(FilterBarComponent).addonBefore.set(inject(TemplateRef));\n\t}\n\n\tpublic static ngTemplateContextGuard(_dir: FilterPillAddonBeforeDirective, _ctx: unknown): _ctx is void {\n\t\treturn true;\n\t}\n}\n\n@Directive({\n\tselector: '[luFilterPillAddonAfter]',\n})\nexport class FilterPillAddonAfterDirective {\n\tconstructor() {\n\t\tinject(FilterBarComponent).addonAfter.set(inject(TemplateRef));\n\t}\n\n\tpublic static ngTemplateContextGuard(_dir: FilterPillAddonAfterDirective, _ctx: unknown): _ctx is void {\n\t\treturn true;\n\t}\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["nextId","i1"],"mappings":"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"}
|