@lucca-front/ng 21.0.1 → 21.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.
@@ -323,7 +323,10 @@ class LuCoreSelectUsersDirective extends ALuCoreSelectApiDirective {
323
323
  this.select.valueTpl.set(LuUserDisplayerComponent);
324
324
  effect(() => {
325
325
  const enableFormerEmployees = this.enableFormerEmployees();
326
- if (enableFormerEmployees) {
326
+ if (this.clue() || !enableFormerEmployees) {
327
+ untracked(() => this.select.panelHeaderTpl.set(null));
328
+ }
329
+ else {
327
330
  untracked(() => this.select.panelHeaderTpl.set(LuCoreSelectFormerEmployeesComponent));
328
331
  }
329
332
  });
@@ -1 +1 @@
1
- {"version":3,"file":"lucca-front-ng-core-select-user.mjs","sources":["../../../packages/ng/core-select/user/me.provider.ts","../../../packages/ng/core-select/user/translations.ts","../../../packages/ng/core-select/user/user.translate.ts","../../../packages/ng/core-select/user/former-employees.component.ts","../../../packages/ng/core-select/user/user-displayer.component.ts","../../../packages/ng/core-select/user/user-homonym.service.ts","../../../packages/ng/core-select/user/user-option.component.ts","../../../packages/ng/core-select/user/users.directive.ts","../../../packages/ng/core-select/user/lucca-front-ng-core-select-user.ts"],"sourcesContent":["import { InjectionToken, Provider } from '@angular/core';\n\nexport const LU_CORE_SELECT_CURRENT_USER_ID = new InjectionToken<number>('LuCoreSelectCurrentUserId');\n\nexport function provideCoreSelectCurrentUserId(factory: () => number): Provider {\n\treturn {\n\t\tprovide: LU_CORE_SELECT_CURRENT_USER_ID,\n\t\tuseFactory: factory,\n\t};\n}\n","export const Translations = {\n\t'nl-BE': {\n\t\tme: 'Ik:',\n\t\tincludeFormerEmployees: 'Inclusief medewerkers die zijn vertrokken',\n\t},\n\tnl: {\n\t\tme: 'Ik:',\n\t\tincludeFormerEmployees: 'Inclusief medewerkers die zijn vertrokken',\n\t},\n\tit: {\n\t\tme: 'Io:',\n\t\tincludeFormerEmployees: 'Includere gli ex collaboratori',\n\t},\n\tfr: {\n\t\tme: 'Moi :',\n\t\tincludeFormerEmployees: 'Inclure les collaborateurs partis',\n\t},\n\tpt: {\n\t\tme: 'Eu:',\n\t\tincludeFormerEmployees: 'Incluir os trabalhadores que saíram',\n\t},\n\tes: {\n\t\tme: 'Yo:',\n\t\tincludeFormerEmployees: 'Incluir a los empleados inactivos',\n\t},\n\tde: {\n\t\tme: 'Ich:',\n\t\tincludeFormerEmployees: 'Ausgeschiedene Mitarbeitende einbeziehen',\n\t},\n\ten: {\n\t\tme: 'Me:',\n\t\tincludeFormerEmployees: 'Include former employees',\n\t},\n};\n","import { InjectionToken } from '@angular/core';\nimport { LuTranslation } from '@lucca-front/ng/core';\nimport { Translations } from './translations';\n\nexport const LU_CORE_SELECT_USER_TRANSLATIONS = new InjectionToken('LuCoreSelectUserTranslations', {\n\tfactory: () => luCoreSelectUserTranslations,\n});\n\nexport interface LuCoreSelectUserTranslations {\n\tme: string;\n\tincludeFormerEmployees: string;\n}\n\nexport const luCoreSelectUserTranslations: LuTranslation<LuCoreSelectUserTranslations> = Translations;\n","import { ChangeDetectionStrategy, Component, inject, InjectionToken, WritableSignal } from '@angular/core';\nimport { outputToObservable, takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { FormsModule } from '@angular/forms';\nimport { getIntl } from '@lucca-front/ng/core';\nimport { ɵCoreSelectPanelElement } from '@lucca-front/ng/core-select';\nimport { LU_CORE_SELECT_USER_TRANSLATIONS } from './user.translate';\n\nexport interface FormerEmployeesContext {\n\tincludeFormerEmployees: WritableSignal<boolean>;\n}\n\nexport const FORMER_EMPLOYEES_CONTEXT = new InjectionToken<FormerEmployeesContext>('FormerEmployeesContext');\n\n@Component({\n\tselector: 'lu-core-select-former-employees',\n\tstyleUrl: './former-employees.component.scss',\n\timports: [FormsModule],\n\thostDirectives: [ɵCoreSelectPanelElement],\n\ttemplate: `\n\t\t<div class=\"formerEmployeeDisplayer optionItem\">\n\t\t\t<div class=\"optionItem-value\" [class.is-selected]=\"context.includeFormerEmployees()\" (click)=\"context.includeFormerEmployees.set(!context.includeFormerEmployees())\">\n\t\t\t\t{{ intl.includeFormerEmployees }}\n\t\t\t</div>\n\t\t</div>\n\t`,\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class LuCoreSelectFormerEmployeesComponent {\n\treadonly intl = getIntl(LU_CORE_SELECT_USER_TRANSLATIONS);\n\treadonly context = inject(FORMER_EMPLOYEES_CONTEXT);\n\treadonly #selectableItem = inject(ɵCoreSelectPanelElement);\n\n\tconstructor() {\n\t\tthis.#selectableItem.id.set('select-former-employees');\n\t\toutputToObservable(this.#selectableItem.selected)\n\t\t\t.pipe(takeUntilDestroyed())\n\t\t\t.subscribe(() => {\n\t\t\t\tthis.context.includeFormerEmployees.set(!this.context.includeFormerEmployees());\n\t\t\t});\n\t}\n}\n","import { AsyncPipe } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, inject } from '@angular/core';\nimport { ILuOptionContext, LU_OPTION_CONTEXT } from '@lucca-front/ng/core-select';\nimport { LuUserDisplayPipe } from '@lucca-front/ng/user';\nimport { LuCoreSelectUser } from './user-option.model';\nimport { LuCoreSelectUsersDirective } from './users.directive';\n\n@Component({\n\tselector: 'lu-user-displayer',\n\timports: [AsyncPipe, LuUserDisplayPipe],\n\ttemplate: `\n\t\t@if (context.option$ | async; as user) {\n\t\t\t<span translate=\"no\">{{ user | luUserDisplay: userDirective.displayFormat() }}</span>\n\t\t}\n\t`,\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class LuUserDisplayerComponent {\n\tprotected context = inject<ILuOptionContext<LuCoreSelectUser>>(LU_OPTION_CONTEXT);\n\tprotected userDirective = inject(LuCoreSelectUsersDirective);\n}\n","import { HttpClient } from '@angular/common/http';\nimport { Injectable, inject } from '@angular/core';\nimport { ILuApiCollectionResponse } from '@lucca-front/ng/api';\nimport { LuDisplayFormat, luUserDisplay } from '@lucca-front/ng/user';\nimport { Observable, map, of, startWith, tap } from 'rxjs';\nimport { LuCoreSelectUser } from './user-option.model';\n\n@Injectable({ providedIn: 'root' })\nexport class LuCoreSelectUserHomonymsService {\n\tprotected http = inject(HttpClient);\n\tprotected cache: Record<number, string> = {};\n\n\tprotected extractHomonyms<T extends LuCoreSelectUser>(users: T[], format: LuDisplayFormat): Set<T['id']> {\n\t\tconst usersByFullName: Record<string, T[]> = {};\n\n\t\tfor (const user of users) {\n\t\t\tconst name = luUserDisplay(user, format);\n\t\t\tusersByFullName[name] ||= [];\n\t\t\tusersByFullName[name].push(user);\n\t\t}\n\n\t\treturn new Set(\n\t\t\tObject.values(usersByFullName)\n\t\t\t\t.filter((users) => users.length > 1)\n\t\t\t\t.flatMap((users) => users.map((user) => user.id)),\n\t\t);\n\t}\n\n\tpublic handleHomonyms<T extends LuCoreSelectUser>(users: T[], format: LuDisplayFormat): Observable<T[]> {\n\t\tconst homonyms = this.extractHomonyms(users, format);\n\n\t\tif (homonyms.size === 0) {\n\t\t\treturn of(users);\n\t\t}\n\n\t\treturn this.getAdditionalInformationByUserId(Array.from(homonyms)).pipe(\n\t\t\tmap((additionalInformation) =>\n\t\t\t\tusers.map((user) =>\n\t\t\t\t\thomonyms.has(user.id)\n\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\t...user,\n\t\t\t\t\t\t\t\tadditionalInformation: this.cache[user.id] || additionalInformation[user.id],\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t: user,\n\t\t\t\t),\n\t\t\t),\n\t\t\tstartWith(users),\n\t\t);\n\t}\n\n\tprotected getAdditionalInformationByUserId<T extends LuCoreSelectUser>(homonyms: T['id'][]): Observable<Record<number, string>> {\n\t\tconst userIds = homonyms.filter((userId) => !this.cache[userId]);\n\n\t\tif (userIds.length === 0) {\n\t\t\treturn of({});\n\t\t}\n\n\t\treturn this.http\n\t\t\t.get<ILuApiCollectionResponse<{ id: number; department?: { name: string } }>>(`/api/v3/users`, {\n\t\t\t\tparams: {\n\t\t\t\t\tid: userIds.join(','),\n\t\t\t\t\tfields: 'id,department.name',\n\t\t\t\t},\n\t\t\t})\n\t\t\t.pipe(\n\t\t\t\tmap((res) => res.data.items),\n\t\t\t\tmap((infos) =>\n\t\t\t\t\tinfos.reduce<Record<number, string>>(\n\t\t\t\t\t\t(acc, info) => ({\n\t\t\t\t\t\t\t...acc,\n\t\t\t\t\t\t\t[info.id]: info.department?.name || '',\n\t\t\t\t\t\t}),\n\t\t\t\t\t\t{},\n\t\t\t\t\t),\n\t\t\t\t),\n\t\t\t\ttap((infos) => {\n\t\t\t\t\tthis.cache = {\n\t\t\t\t\t\t...this.cache,\n\t\t\t\t\t\t...infos,\n\t\t\t\t\t};\n\t\t\t\t}),\n\t\t\t);\n\t}\n}\n","import { AsyncPipe } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, inject } from '@angular/core';\nimport { getIntl } from '@lucca-front/ng/core';\nimport { ILuOptionContext, LU_OPTION_CONTEXT, ɵLuOptionOutletDirective } from '@lucca-front/ng/core-select';\nimport { LuUserDisplayPipe } from '@lucca-front/ng/user';\nimport { map, startWith } from 'rxjs';\nimport { LuCoreSelectUser, LuCoreSelectWithAdditionnalInformation } from './user-option.model';\nimport { LU_CORE_SELECT_USER_TRANSLATIONS } from './user.translate';\nimport { LuCoreSelectUsersDirective } from './users.directive';\n\n@Component({\n\tselector: 'lu-user-option',\n\timports: [AsyncPipe, LuUserDisplayPipe, ɵLuOptionOutletDirective],\n\ttemplate: `\n\t\t@if (context.option$ | async; as user) {\n\t\t\t@if (userDirective.displayMeOption() && user.id === userDirective.currentUserId && hasEmptyClue$ | async) {\n\t\t\t\t<div>\n\t\t\t\t\t<strong>{{ intl.me }}</strong\n\t\t\t\t\t>&ngsp;\n\t\t\t\t\t<strong translate=\"no\"><ng-container *luOptionOutlet=\"customUserOptionTpl() || defaultUserTpl; value: user\" /></strong>\n\t\t\t\t</div>\n\t\t\t} @else {\n\t\t\t\t<div *luOptionOutlet=\"customUserOptionTpl() || defaultUserTpl; value: user\"></div>\n\t\t\t}\n\t\t\t@if (user.additionalInformation) {\n\t\t\t\t<div class=\"lu-select-additionalInformation\">({{ user.additionalInformation }})</div>\n\t\t\t}\n\t\t}\n\n\t\t<ng-template #defaultUserTpl let-user>\n\t\t\t<span translate=\"no\">{{ user | luUserDisplay: userDirective.displayFormat() }}</span>\n\t\t</ng-template>\n\t`,\n\tstyles: [\n\t\t`\n\t\t\t.lu-select-additionalInformation {\n\t\t\t\tfont-size: 80%;\n\t\t\t\tfont-style: italic;\n\t\t\t\tmargin-block-start: -0.25em;\n\t\t\t}\n\t\t`,\n\t],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class LuUserOptionComponent {\n\tprotected context = inject<ILuOptionContext<LuCoreSelectWithAdditionnalInformation<LuCoreSelectUser>>>(LU_OPTION_CONTEXT);\n\tprotected userDirective = inject(LuCoreSelectUsersDirective);\n\tprotected intl = getIntl(LU_CORE_SELECT_USER_TRANSLATIONS);\n\tprotected hasEmptyClue$ = this.userDirective.select.clueChange$.pipe(\n\t\tstartWith(this.userDirective.select.clue),\n\t\tmap((clue) => !clue),\n\t);\n\tprotected customUserOptionTpl = this.userDirective.customUserOptionTpl;\n}\n","import { HttpClient } from '@angular/common/http';\nimport { Directive, Provider, TemplateRef, Type, booleanAttribute, computed, effect, forwardRef, inject, input, model, signal, untracked } from '@angular/core';\nimport { takeUntilDestroyed, toObservable, toSignal } from '@angular/core/rxjs-interop';\nimport { ILuApiCollectionResponse } from '@lucca-front/ng/api';\nimport { ɵeffectWithDeps } from '@lucca-front/ng/core';\nimport { CORE_SELECT_API_TOTAL_COUNT_PROVIDER, CoreSelectApiTotalCountProvider, LuOptionContext, applySearchDelimiter } from '@lucca-front/ng/core-select';\nimport { ALuCoreSelectApiDirective } from '@lucca-front/ng/core-select/api';\nimport { LuDisplayFormat, LuDisplayFullname } from '@lucca-front/ng/user';\nimport { EMPTY, Observable, catchError, combineLatest, debounceTime, map, of, shareReplay, switchMap, take, tap } from 'rxjs';\nimport { FORMER_EMPLOYEES_CONTEXT, LuCoreSelectFormerEmployeesComponent } from './former-employees.component';\nimport { LU_CORE_SELECT_CURRENT_USER_ID } from './me.provider';\nimport { LuUserDisplayerComponent } from './user-displayer.component';\nimport { LuCoreSelectUserHomonymsService } from './user-homonym.service';\nimport { LuUserOptionComponent } from './user-option.component';\nimport { LuCoreSelectUser, LuCoreSelectWithAdditionnalInformation } from './user-option.model';\n\nexport function provideCoreSelectUsersContext<T extends LuCoreSelectUser = LuCoreSelectUser>(directiveFn: () => Type<LuCoreSelectUsersDirective<T>>): Provider[] {\n\treturn [\n\t\t...provideBaseCoreSelectUsersContext(directiveFn),\n\t\t{\n\t\t\tprovide: LuCoreSelectUsersDirective,\n\t\t\tuseExisting: forwardRef(directiveFn),\n\t\t},\n\t];\n}\n\nfunction provideBaseCoreSelectUsersContext<T extends LuCoreSelectUser = LuCoreSelectUser>(directiveFn: () => Type<LuCoreSelectUsersDirective<T>>): Provider[] {\n\treturn [\n\t\t{\n\t\t\tprovide: CORE_SELECT_API_TOTAL_COUNT_PROVIDER,\n\t\t\tuseExisting: forwardRef(directiveFn),\n\t\t},\n\t\t{\n\t\t\tprovide: FORMER_EMPLOYEES_CONTEXT,\n\t\t\tuseExisting: forwardRef(directiveFn),\n\t\t},\n\t];\n}\n\n@Directive({\n\t// The attribute is already prefixed with \"lu-simple-select\"\n\t// eslint-disable-next-line @angular-eslint/directive-selector\n\tselector: 'lu-simple-select[users],lu-multi-select[users]',\n\texportAs: 'luUsers',\n\tproviders: [provideBaseCoreSelectUsersContext(() => LuCoreSelectUsersDirective)],\n})\nexport class LuCoreSelectUsersDirective<T extends LuCoreSelectUser = LuCoreSelectUser>\n\textends ALuCoreSelectApiDirective<LuCoreSelectWithAdditionnalInformation<T>>\n\timplements CoreSelectApiTotalCountProvider\n{\n\t#defaultSearchUrl = '/api/v3/users/search';\n\t#defaultScopedSearchUrl = '/api/v3/users/scopedsearch';\n\t#userHomonymsService = inject(LuCoreSelectUserHomonymsService);\n\n\t// Not overridable so it will ease employee API migration\n\t#userFields = 'id,firstName,lastName,picture.href';\n\n\tprotected httpClient = inject(HttpClient);\n\tpublic currentUserId = inject(LU_CORE_SELECT_CURRENT_USER_ID);\n\n\tdisplayFormat = input<LuDisplayFormat>(LuDisplayFullname.lastfirst);\n\n\tfilters = input<Record<string, string | number | boolean>>({});\n\turl = input<string | null>(null);\n\torderBy = input<string | null>(null);\n\toperationIds = input<readonly number[] | null>(null);\n\tuniqueOperationIds = input<readonly number[] | null>(null);\n\tappInstanceId = input<number | null>(null);\n\tenableFormerEmployees = input(false, { transform: booleanAttribute });\n\tdisplayMeOption = input(true);\n\tcustomUserOptionTpl = model<TemplateRef<LuOptionContext<T>> | Type<unknown> | undefined>();\n\n\tincludeFormerEmployees = signal(false);\n\tsearchDelimiter = input<string>(' ');\n\n\tconstructor() {\n\t\tsuper();\n\t\tthis.select.optionTpl.set(LuUserOptionComponent);\n\t\tthis.select.valueTpl.set(LuUserDisplayerComponent);\n\n\t\teffect(() => {\n\t\t\tconst enableFormerEmployees = this.enableFormerEmployees();\n\n\t\t\tif (enableFormerEmployees) {\n\t\t\t\tuntracked(() => this.select.panelHeaderTpl.set(LuCoreSelectFormerEmployeesComponent));\n\t\t\t}\n\t\t});\n\t}\n\n\tprotected defaultUrl = computed(() => (this.uniqueOperationIds()?.length || (this.appInstanceId() && this.operationIds()?.length) ? this.#defaultScopedSearchUrl : this.#defaultSearchUrl));\n\tprotected urlOrDefault = computed(() => this.url() ?? this.defaultUrl());\n\n\tprotected clue = toSignal(this.clue$);\n\n\tprotected override params$: Observable<Record<string, string | number | boolean>> = toObservable(\n\t\tcomputed(() => {\n\t\t\tconst orderBy = this.orderBy();\n\t\t\tconst clue = this.clue();\n\t\t\tconst operationIds = this.operationIds();\n\t\t\tconst uniqueOperationIds = this.uniqueOperationIds();\n\t\t\tconst appInstanceId = this.appInstanceId();\n\t\t\tconst searchDelimiter = this.searchDelimiter();\n\t\t\tconst formerEmployees = this.includeFormerEmployees();\n\n\t\t\treturn {\n\t\t\t\tfields: this.#userFields,\n\t\t\t\t...this.filters(),\n\t\t\t\t...(orderBy ? { orderBy } : {}),\n\t\t\t\t...(clue ? { clue: applySearchDelimiter(clue, searchDelimiter) } : {}),\n\t\t\t\t...(operationIds ? { operations: operationIds.join(',') } : {}),\n\t\t\t\t...(uniqueOperationIds ? { uniqueOperations: uniqueOperationIds.join(',') } : {}),\n\t\t\t\t...(appInstanceId ? { appInstanceId } : {}),\n\t\t\t\t...(formerEmployees ? { formerEmployees } : {}),\n\t\t\t};\n\t\t}),\n\t);\n\n\tprotected meParams$ = toObservable(\n\t\tcomputed(() => ({\n\t\t\tfields: this.#userFields,\n\t\t\t...this.filters(),\n\t\t\t...(this.uniqueOperationIds() ? { uniqueOperations: this.uniqueOperationIds().join(',') } : {}),\n\t\t\t...(this.operationIds() ? { operations: this.operationIds().join(',') } : {}),\n\t\t\t...(this.appInstanceId() ? { appInstanceId: this.appInstanceId() } : {}),\n\t\t\tid: this.currentUserId,\n\t\t})),\n\t);\n\n\tprotected me$ = this.meParams$.pipe(\n\t\tswitchMap((params) =>\n\t\t\tthis.httpClient\n\t\t\t\t.get<\n\t\t\t\t\tILuApiCollectionResponse<{\n\t\t\t\t\t\titem: T;\n\t\t\t\t\t}>\n\t\t\t\t>(this.urlOrDefault(), { params })\n\t\t\t\t.pipe(catchError(() => EMPTY)),\n\t\t),\n\t\tmap((res) => res.data.items.map(({ item }) => item)[0] ?? null),\n\t\ttakeUntilDestroyed(),\n\t\tshareReplay(1),\n\t);\n\n\tpublic totalCount$ = toObservable(computed(() => ({ url: this.urlOrDefault(), filters: this.filters() }))).pipe(\n\t\tdebounceTime(250),\n\t\tswitchMap(({ url, filters }) =>\n\t\t\tthis.httpClient.get<{ count: number }>(url, {\n\t\t\t\tparams: {\n\t\t\t\t\t...filters,\n\t\t\t\t\tfields: 'collection.count',\n\t\t\t\t},\n\t\t\t}),\n\t\t),\n\t\tmap((res) => res?.count ?? 0),\n\t);\n\n\tprotected getMe(): Observable<T | null> {\n\t\treturn this.me$.pipe(take(1));\n\t}\n\n\tprotected getOptions(params: Record<string, string | number | boolean>, page: number): Observable<T[]> {\n\t\treturn this.httpClient\n\t\t\t.get<ILuApiCollectionResponse<{ item: T }>>(this.urlOrDefault(), {\n\t\t\t\tparams: {\n\t\t\t\t\t...params,\n\t\t\t\t\tpaging: `${page * this.pageSize},${this.pageSize}`,\n\t\t\t\t},\n\t\t\t})\n\t\t\t.pipe(map((res) => res.data.items.map(({ item }) => item)));\n\t}\n\n\tprotected override getOptionsPage(\n\t\tparams: Record<string, string | number | boolean>,\n\t\tpage: number,\n\t): Observable<{\n\t\titems: LuCoreSelectWithAdditionnalInformation<T>[];\n\t\tisLastPage: boolean;\n\t}> {\n\t\tconst hasClue = !!params['clue'];\n\t\tconst displayMe = this.displayMeOption() && !hasClue;\n\t\tconst prependMe = displayMe && page === 0;\n\n\t\tthis.select.loading = true;\n\n\t\tconst me$ = prependMe ? this.getMe() : of(null);\n\n\t\tconst users$ = this.getOptions(params, page).pipe(\n\t\t\tmap((users) => ({ items: users, isLastPage: users.length < this.pageSize })),\n\t\t\ttap(() => (this.select.loading = false)),\n\t\t);\n\n\t\tconst page$ = combineLatest([me$, users$]).pipe(\n\t\t\tmap(([me, { items, isLastPage }]) => {\n\t\t\t\t// If \"me\" is displayed as first option, we remove it from the list of users\n\t\t\t\tconst filteredItems = displayMe ? items.filter((u) => u.id !== this.currentUserId) : items;\n\t\t\t\treturn { items: me && prependMe ? [me, ...filteredItems] : filteredItems, isLastPage };\n\t\t\t}),\n\t\t);\n\n\t\treturn page$.pipe(\n\t\t\tswitchMap((page) =>\n\t\t\t\tthis.#userHomonymsService.handleHomonyms(page.items, this.displayFormat()).pipe(\n\t\t\t\t\tmap((items) => ({\n\t\t\t\t\t\titems,\n\t\t\t\t\t\tisLastPage: page.isLastPage,\n\t\t\t\t\t})),\n\t\t\t\t),\n\t\t\t),\n\t\t);\n\t}\n\n\tprotected override optionKey = (option: T) => option.id;\n}\n\n@Directive({\n\tselector: '[luUserOption]',\n})\nexport class LuCoreSelectUserOptionDirective<T extends LuCoreSelectUser = LuCoreSelectUser> {\n\t#templateRef = inject(TemplateRef<LuOptionContext<T>>);\n\n\treadonly usersDirective = input<LuCoreSelectUsersDirective<T>>(null, { alias: 'luUserOptionUsersRef' });\n\n\tconstructor() {\n\t\tɵeffectWithDeps([this.usersDirective], (usersDirective) => {\n\t\t\tif (usersDirective) {\n\t\t\t\tusersDirective.customUserOptionTpl.set(this.#templateRef);\n\t\t\t}\n\t\t});\n\t}\n\tpublic static ngTemplateContextGuard<T extends LuCoreSelectUser>(_dir: LuCoreSelectUserOptionDirective<T>, ctx: unknown): ctx is { $implicit: T } {\n\t\treturn true;\n\t}\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["ɵCoreSelectPanelElement","ɵLuOptionOutletDirective","ɵeffectWithDeps"],"mappings":"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"}
1
+ {"version":3,"file":"lucca-front-ng-core-select-user.mjs","sources":["../../../packages/ng/core-select/user/me.provider.ts","../../../packages/ng/core-select/user/translations.ts","../../../packages/ng/core-select/user/user.translate.ts","../../../packages/ng/core-select/user/former-employees.component.ts","../../../packages/ng/core-select/user/user-displayer.component.ts","../../../packages/ng/core-select/user/user-homonym.service.ts","../../../packages/ng/core-select/user/user-option.component.ts","../../../packages/ng/core-select/user/users.directive.ts","../../../packages/ng/core-select/user/lucca-front-ng-core-select-user.ts"],"sourcesContent":["import { InjectionToken, Provider } from '@angular/core';\n\nexport const LU_CORE_SELECT_CURRENT_USER_ID = new InjectionToken<number>('LuCoreSelectCurrentUserId');\n\nexport function provideCoreSelectCurrentUserId(factory: () => number): Provider {\n\treturn {\n\t\tprovide: LU_CORE_SELECT_CURRENT_USER_ID,\n\t\tuseFactory: factory,\n\t};\n}\n","export const Translations = {\n\t'nl-BE': {\n\t\tme: 'Ik:',\n\t\tincludeFormerEmployees: 'Inclusief medewerkers die zijn vertrokken',\n\t},\n\tnl: {\n\t\tme: 'Ik:',\n\t\tincludeFormerEmployees: 'Inclusief medewerkers die zijn vertrokken',\n\t},\n\tit: {\n\t\tme: 'Io:',\n\t\tincludeFormerEmployees: 'Includere gli ex collaboratori',\n\t},\n\tfr: {\n\t\tme: 'Moi :',\n\t\tincludeFormerEmployees: 'Inclure les collaborateurs partis',\n\t},\n\tpt: {\n\t\tme: 'Eu:',\n\t\tincludeFormerEmployees: 'Incluir os trabalhadores que saíram',\n\t},\n\tes: {\n\t\tme: 'Yo:',\n\t\tincludeFormerEmployees: 'Incluir a los empleados inactivos',\n\t},\n\tde: {\n\t\tme: 'Ich:',\n\t\tincludeFormerEmployees: 'Ausgeschiedene Mitarbeitende einbeziehen',\n\t},\n\ten: {\n\t\tme: 'Me:',\n\t\tincludeFormerEmployees: 'Include former employees',\n\t},\n};\n","import { InjectionToken } from '@angular/core';\nimport { LuTranslation } from '@lucca-front/ng/core';\nimport { Translations } from './translations';\n\nexport const LU_CORE_SELECT_USER_TRANSLATIONS = new InjectionToken('LuCoreSelectUserTranslations', {\n\tfactory: () => luCoreSelectUserTranslations,\n});\n\nexport interface LuCoreSelectUserTranslations {\n\tme: string;\n\tincludeFormerEmployees: string;\n}\n\nexport const luCoreSelectUserTranslations: LuTranslation<LuCoreSelectUserTranslations> = Translations;\n","import { ChangeDetectionStrategy, Component, inject, InjectionToken, WritableSignal } from '@angular/core';\nimport { outputToObservable, takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { FormsModule } from '@angular/forms';\nimport { getIntl } from '@lucca-front/ng/core';\nimport { ɵCoreSelectPanelElement } from '@lucca-front/ng/core-select';\nimport { LU_CORE_SELECT_USER_TRANSLATIONS } from './user.translate';\n\nexport interface FormerEmployeesContext {\n\tincludeFormerEmployees: WritableSignal<boolean>;\n}\n\nexport const FORMER_EMPLOYEES_CONTEXT = new InjectionToken<FormerEmployeesContext>('FormerEmployeesContext');\n\n@Component({\n\tselector: 'lu-core-select-former-employees',\n\tstyleUrl: './former-employees.component.scss',\n\timports: [FormsModule],\n\thostDirectives: [ɵCoreSelectPanelElement],\n\ttemplate: `\n\t\t<div class=\"formerEmployeeDisplayer optionItem\">\n\t\t\t<div class=\"optionItem-value\" [class.is-selected]=\"context.includeFormerEmployees()\" (click)=\"context.includeFormerEmployees.set(!context.includeFormerEmployees())\">\n\t\t\t\t{{ intl.includeFormerEmployees }}\n\t\t\t</div>\n\t\t</div>\n\t`,\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class LuCoreSelectFormerEmployeesComponent {\n\treadonly intl = getIntl(LU_CORE_SELECT_USER_TRANSLATIONS);\n\treadonly context = inject(FORMER_EMPLOYEES_CONTEXT);\n\treadonly #selectableItem = inject(ɵCoreSelectPanelElement);\n\n\tconstructor() {\n\t\tthis.#selectableItem.id.set('select-former-employees');\n\t\toutputToObservable(this.#selectableItem.selected)\n\t\t\t.pipe(takeUntilDestroyed())\n\t\t\t.subscribe(() => {\n\t\t\t\tthis.context.includeFormerEmployees.set(!this.context.includeFormerEmployees());\n\t\t\t});\n\t}\n}\n","import { AsyncPipe } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, inject } from '@angular/core';\nimport { ILuOptionContext, LU_OPTION_CONTEXT } from '@lucca-front/ng/core-select';\nimport { LuUserDisplayPipe } from '@lucca-front/ng/user';\nimport { LuCoreSelectUser } from './user-option.model';\nimport { LuCoreSelectUsersDirective } from './users.directive';\n\n@Component({\n\tselector: 'lu-user-displayer',\n\timports: [AsyncPipe, LuUserDisplayPipe],\n\ttemplate: `\n\t\t@if (context.option$ | async; as user) {\n\t\t\t<span translate=\"no\">{{ user | luUserDisplay: userDirective.displayFormat() }}</span>\n\t\t}\n\t`,\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class LuUserDisplayerComponent {\n\tprotected context = inject<ILuOptionContext<LuCoreSelectUser>>(LU_OPTION_CONTEXT);\n\tprotected userDirective = inject(LuCoreSelectUsersDirective);\n}\n","import { HttpClient } from '@angular/common/http';\nimport { Injectable, inject } from '@angular/core';\nimport { ILuApiCollectionResponse } from '@lucca-front/ng/api';\nimport { LuDisplayFormat, luUserDisplay } from '@lucca-front/ng/user';\nimport { Observable, map, of, startWith, tap } from 'rxjs';\nimport { LuCoreSelectUser } from './user-option.model';\n\n@Injectable({ providedIn: 'root' })\nexport class LuCoreSelectUserHomonymsService {\n\tprotected http = inject(HttpClient);\n\tprotected cache: Record<number, string> = {};\n\n\tprotected extractHomonyms<T extends LuCoreSelectUser>(users: T[], format: LuDisplayFormat): Set<T['id']> {\n\t\tconst usersByFullName: Record<string, T[]> = {};\n\n\t\tfor (const user of users) {\n\t\t\tconst name = luUserDisplay(user, format);\n\t\t\tusersByFullName[name] ||= [];\n\t\t\tusersByFullName[name].push(user);\n\t\t}\n\n\t\treturn new Set(\n\t\t\tObject.values(usersByFullName)\n\t\t\t\t.filter((users) => users.length > 1)\n\t\t\t\t.flatMap((users) => users.map((user) => user.id)),\n\t\t);\n\t}\n\n\tpublic handleHomonyms<T extends LuCoreSelectUser>(users: T[], format: LuDisplayFormat): Observable<T[]> {\n\t\tconst homonyms = this.extractHomonyms(users, format);\n\n\t\tif (homonyms.size === 0) {\n\t\t\treturn of(users);\n\t\t}\n\n\t\treturn this.getAdditionalInformationByUserId(Array.from(homonyms)).pipe(\n\t\t\tmap((additionalInformation) =>\n\t\t\t\tusers.map((user) =>\n\t\t\t\t\thomonyms.has(user.id)\n\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\t...user,\n\t\t\t\t\t\t\t\tadditionalInformation: this.cache[user.id] || additionalInformation[user.id],\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t: user,\n\t\t\t\t),\n\t\t\t),\n\t\t\tstartWith(users),\n\t\t);\n\t}\n\n\tprotected getAdditionalInformationByUserId<T extends LuCoreSelectUser>(homonyms: T['id'][]): Observable<Record<number, string>> {\n\t\tconst userIds = homonyms.filter((userId) => !this.cache[userId]);\n\n\t\tif (userIds.length === 0) {\n\t\t\treturn of({});\n\t\t}\n\n\t\treturn this.http\n\t\t\t.get<ILuApiCollectionResponse<{ id: number; department?: { name: string } }>>(`/api/v3/users`, {\n\t\t\t\tparams: {\n\t\t\t\t\tid: userIds.join(','),\n\t\t\t\t\tfields: 'id,department.name',\n\t\t\t\t},\n\t\t\t})\n\t\t\t.pipe(\n\t\t\t\tmap((res) => res.data.items),\n\t\t\t\tmap((infos) =>\n\t\t\t\t\tinfos.reduce<Record<number, string>>(\n\t\t\t\t\t\t(acc, info) => ({\n\t\t\t\t\t\t\t...acc,\n\t\t\t\t\t\t\t[info.id]: info.department?.name || '',\n\t\t\t\t\t\t}),\n\t\t\t\t\t\t{},\n\t\t\t\t\t),\n\t\t\t\t),\n\t\t\t\ttap((infos) => {\n\t\t\t\t\tthis.cache = {\n\t\t\t\t\t\t...this.cache,\n\t\t\t\t\t\t...infos,\n\t\t\t\t\t};\n\t\t\t\t}),\n\t\t\t);\n\t}\n}\n","import { AsyncPipe } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, inject } from '@angular/core';\nimport { getIntl } from '@lucca-front/ng/core';\nimport { ILuOptionContext, LU_OPTION_CONTEXT, ɵLuOptionOutletDirective } from '@lucca-front/ng/core-select';\nimport { LuUserDisplayPipe } from '@lucca-front/ng/user';\nimport { map, startWith } from 'rxjs';\nimport { LuCoreSelectUser, LuCoreSelectWithAdditionnalInformation } from './user-option.model';\nimport { LU_CORE_SELECT_USER_TRANSLATIONS } from './user.translate';\nimport { LuCoreSelectUsersDirective } from './users.directive';\n\n@Component({\n\tselector: 'lu-user-option',\n\timports: [AsyncPipe, LuUserDisplayPipe, ɵLuOptionOutletDirective],\n\ttemplate: `\n\t\t@if (context.option$ | async; as user) {\n\t\t\t@if (userDirective.displayMeOption() && user.id === userDirective.currentUserId && hasEmptyClue$ | async) {\n\t\t\t\t<div>\n\t\t\t\t\t<strong>{{ intl.me }}</strong\n\t\t\t\t\t>&ngsp;\n\t\t\t\t\t<strong translate=\"no\"><ng-container *luOptionOutlet=\"customUserOptionTpl() || defaultUserTpl; value: user\" /></strong>\n\t\t\t\t</div>\n\t\t\t} @else {\n\t\t\t\t<div *luOptionOutlet=\"customUserOptionTpl() || defaultUserTpl; value: user\"></div>\n\t\t\t}\n\t\t\t@if (user.additionalInformation) {\n\t\t\t\t<div class=\"lu-select-additionalInformation\">({{ user.additionalInformation }})</div>\n\t\t\t}\n\t\t}\n\n\t\t<ng-template #defaultUserTpl let-user>\n\t\t\t<span translate=\"no\">{{ user | luUserDisplay: userDirective.displayFormat() }}</span>\n\t\t</ng-template>\n\t`,\n\tstyles: [\n\t\t`\n\t\t\t.lu-select-additionalInformation {\n\t\t\t\tfont-size: 80%;\n\t\t\t\tfont-style: italic;\n\t\t\t\tmargin-block-start: -0.25em;\n\t\t\t}\n\t\t`,\n\t],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class LuUserOptionComponent {\n\tprotected context = inject<ILuOptionContext<LuCoreSelectWithAdditionnalInformation<LuCoreSelectUser>>>(LU_OPTION_CONTEXT);\n\tprotected userDirective = inject(LuCoreSelectUsersDirective);\n\tprotected intl = getIntl(LU_CORE_SELECT_USER_TRANSLATIONS);\n\tprotected hasEmptyClue$ = this.userDirective.select.clueChange$.pipe(\n\t\tstartWith(this.userDirective.select.clue),\n\t\tmap((clue) => !clue),\n\t);\n\tprotected customUserOptionTpl = this.userDirective.customUserOptionTpl;\n}\n","import { HttpClient } from '@angular/common/http';\nimport { Directive, Provider, TemplateRef, Type, booleanAttribute, computed, effect, forwardRef, inject, input, model, signal, untracked } from '@angular/core';\nimport { takeUntilDestroyed, toObservable, toSignal } from '@angular/core/rxjs-interop';\nimport { ILuApiCollectionResponse } from '@lucca-front/ng/api';\nimport { ɵeffectWithDeps } from '@lucca-front/ng/core';\nimport { CORE_SELECT_API_TOTAL_COUNT_PROVIDER, CoreSelectApiTotalCountProvider, LuOptionContext, applySearchDelimiter } from '@lucca-front/ng/core-select';\nimport { ALuCoreSelectApiDirective } from '@lucca-front/ng/core-select/api';\nimport { LuDisplayFormat, LuDisplayFullname } from '@lucca-front/ng/user';\nimport { EMPTY, Observable, catchError, combineLatest, debounceTime, map, of, shareReplay, switchMap, take, tap } from 'rxjs';\nimport { FORMER_EMPLOYEES_CONTEXT, LuCoreSelectFormerEmployeesComponent } from './former-employees.component';\nimport { LU_CORE_SELECT_CURRENT_USER_ID } from './me.provider';\nimport { LuUserDisplayerComponent } from './user-displayer.component';\nimport { LuCoreSelectUserHomonymsService } from './user-homonym.service';\nimport { LuUserOptionComponent } from './user-option.component';\nimport { LuCoreSelectUser, LuCoreSelectWithAdditionnalInformation } from './user-option.model';\n\nexport function provideCoreSelectUsersContext<T extends LuCoreSelectUser = LuCoreSelectUser>(directiveFn: () => Type<LuCoreSelectUsersDirective<T>>): Provider[] {\n\treturn [\n\t\t...provideBaseCoreSelectUsersContext(directiveFn),\n\t\t{\n\t\t\tprovide: LuCoreSelectUsersDirective,\n\t\t\tuseExisting: forwardRef(directiveFn),\n\t\t},\n\t];\n}\n\nfunction provideBaseCoreSelectUsersContext<T extends LuCoreSelectUser = LuCoreSelectUser>(directiveFn: () => Type<LuCoreSelectUsersDirective<T>>): Provider[] {\n\treturn [\n\t\t{\n\t\t\tprovide: CORE_SELECT_API_TOTAL_COUNT_PROVIDER,\n\t\t\tuseExisting: forwardRef(directiveFn),\n\t\t},\n\t\t{\n\t\t\tprovide: FORMER_EMPLOYEES_CONTEXT,\n\t\t\tuseExisting: forwardRef(directiveFn),\n\t\t},\n\t];\n}\n\n@Directive({\n\t// The attribute is already prefixed with \"lu-simple-select\"\n\t// eslint-disable-next-line @angular-eslint/directive-selector\n\tselector: 'lu-simple-select[users],lu-multi-select[users]',\n\texportAs: 'luUsers',\n\tproviders: [provideBaseCoreSelectUsersContext(() => LuCoreSelectUsersDirective)],\n})\nexport class LuCoreSelectUsersDirective<T extends LuCoreSelectUser = LuCoreSelectUser>\n\textends ALuCoreSelectApiDirective<LuCoreSelectWithAdditionnalInformation<T>>\n\timplements CoreSelectApiTotalCountProvider\n{\n\t#defaultSearchUrl = '/api/v3/users/search';\n\t#defaultScopedSearchUrl = '/api/v3/users/scopedsearch';\n\t#userHomonymsService = inject(LuCoreSelectUserHomonymsService);\n\n\t// Not overridable so it will ease employee API migration\n\t#userFields = 'id,firstName,lastName,picture.href';\n\n\tprotected httpClient = inject(HttpClient);\n\tpublic currentUserId = inject(LU_CORE_SELECT_CURRENT_USER_ID);\n\n\tdisplayFormat = input<LuDisplayFormat>(LuDisplayFullname.lastfirst);\n\n\tfilters = input<Record<string, string | number | boolean>>({});\n\turl = input<string | null>(null);\n\torderBy = input<string | null>(null);\n\toperationIds = input<readonly number[] | null>(null);\n\tuniqueOperationIds = input<readonly number[] | null>(null);\n\tappInstanceId = input<number | null>(null);\n\tenableFormerEmployees = input(false, { transform: booleanAttribute });\n\tdisplayMeOption = input(true);\n\tcustomUserOptionTpl = model<TemplateRef<LuOptionContext<T>> | Type<unknown> | undefined>();\n\n\tincludeFormerEmployees = signal(false);\n\tsearchDelimiter = input<string>(' ');\n\n\tconstructor() {\n\t\tsuper();\n\t\tthis.select.optionTpl.set(LuUserOptionComponent);\n\t\tthis.select.valueTpl.set(LuUserDisplayerComponent);\n\n\t\teffect(() => {\n\t\t\tconst enableFormerEmployees = this.enableFormerEmployees();\n\t\t\tif (this.clue() || !enableFormerEmployees) {\n\t\t\t\tuntracked(() => this.select.panelHeaderTpl.set(null));\n\t\t\t} else {\n\t\t\t\tuntracked(() => this.select.panelHeaderTpl.set(LuCoreSelectFormerEmployeesComponent));\n\t\t\t}\n\t\t});\n\t}\n\n\tprotected defaultUrl = computed(() => (this.uniqueOperationIds()?.length || (this.appInstanceId() && this.operationIds()?.length) ? this.#defaultScopedSearchUrl : this.#defaultSearchUrl));\n\tprotected urlOrDefault = computed(() => this.url() ?? this.defaultUrl());\n\n\tprotected clue = toSignal(this.clue$);\n\n\tprotected override params$: Observable<Record<string, string | number | boolean>> = toObservable(\n\t\tcomputed(() => {\n\t\t\tconst orderBy = this.orderBy();\n\t\t\tconst clue = this.clue();\n\t\t\tconst operationIds = this.operationIds();\n\t\t\tconst uniqueOperationIds = this.uniqueOperationIds();\n\t\t\tconst appInstanceId = this.appInstanceId();\n\t\t\tconst searchDelimiter = this.searchDelimiter();\n\t\t\tconst formerEmployees = this.includeFormerEmployees();\n\n\t\t\treturn {\n\t\t\t\tfields: this.#userFields,\n\t\t\t\t...this.filters(),\n\t\t\t\t...(orderBy ? { orderBy } : {}),\n\t\t\t\t...(clue ? { clue: applySearchDelimiter(clue, searchDelimiter) } : {}),\n\t\t\t\t...(operationIds ? { operations: operationIds.join(',') } : {}),\n\t\t\t\t...(uniqueOperationIds ? { uniqueOperations: uniqueOperationIds.join(',') } : {}),\n\t\t\t\t...(appInstanceId ? { appInstanceId } : {}),\n\t\t\t\t...(formerEmployees ? { formerEmployees } : {}),\n\t\t\t};\n\t\t}),\n\t);\n\n\tprotected meParams$ = toObservable(\n\t\tcomputed(() => ({\n\t\t\tfields: this.#userFields,\n\t\t\t...this.filters(),\n\t\t\t...(this.uniqueOperationIds() ? { uniqueOperations: this.uniqueOperationIds().join(',') } : {}),\n\t\t\t...(this.operationIds() ? { operations: this.operationIds().join(',') } : {}),\n\t\t\t...(this.appInstanceId() ? { appInstanceId: this.appInstanceId() } : {}),\n\t\t\tid: this.currentUserId,\n\t\t})),\n\t);\n\n\tprotected me$ = this.meParams$.pipe(\n\t\tswitchMap((params) =>\n\t\t\tthis.httpClient\n\t\t\t\t.get<\n\t\t\t\t\tILuApiCollectionResponse<{\n\t\t\t\t\t\titem: T;\n\t\t\t\t\t}>\n\t\t\t\t>(this.urlOrDefault(), { params })\n\t\t\t\t.pipe(catchError(() => EMPTY)),\n\t\t),\n\t\tmap((res) => res.data.items.map(({ item }) => item)[0] ?? null),\n\t\ttakeUntilDestroyed(),\n\t\tshareReplay(1),\n\t);\n\n\tpublic totalCount$ = toObservable(computed(() => ({ url: this.urlOrDefault(), filters: this.filters() }))).pipe(\n\t\tdebounceTime(250),\n\t\tswitchMap(({ url, filters }) =>\n\t\t\tthis.httpClient.get<{ count: number }>(url, {\n\t\t\t\tparams: {\n\t\t\t\t\t...filters,\n\t\t\t\t\tfields: 'collection.count',\n\t\t\t\t},\n\t\t\t}),\n\t\t),\n\t\tmap((res) => res?.count ?? 0),\n\t);\n\n\tprotected getMe(): Observable<T | null> {\n\t\treturn this.me$.pipe(take(1));\n\t}\n\n\tprotected getOptions(params: Record<string, string | number | boolean>, page: number): Observable<T[]> {\n\t\treturn this.httpClient\n\t\t\t.get<ILuApiCollectionResponse<{ item: T }>>(this.urlOrDefault(), {\n\t\t\t\tparams: {\n\t\t\t\t\t...params,\n\t\t\t\t\tpaging: `${page * this.pageSize},${this.pageSize}`,\n\t\t\t\t},\n\t\t\t})\n\t\t\t.pipe(map((res) => res.data.items.map(({ item }) => item)));\n\t}\n\n\tprotected override getOptionsPage(\n\t\tparams: Record<string, string | number | boolean>,\n\t\tpage: number,\n\t): Observable<{\n\t\titems: LuCoreSelectWithAdditionnalInformation<T>[];\n\t\tisLastPage: boolean;\n\t}> {\n\t\tconst hasClue = !!params['clue'];\n\t\tconst displayMe = this.displayMeOption() && !hasClue;\n\t\tconst prependMe = displayMe && page === 0;\n\n\t\tthis.select.loading = true;\n\n\t\tconst me$ = prependMe ? this.getMe() : of(null);\n\n\t\tconst users$ = this.getOptions(params, page).pipe(\n\t\t\tmap((users) => ({ items: users, isLastPage: users.length < this.pageSize })),\n\t\t\ttap(() => (this.select.loading = false)),\n\t\t);\n\n\t\tconst page$ = combineLatest([me$, users$]).pipe(\n\t\t\tmap(([me, { items, isLastPage }]) => {\n\t\t\t\t// If \"me\" is displayed as first option, we remove it from the list of users\n\t\t\t\tconst filteredItems = displayMe ? items.filter((u) => u.id !== this.currentUserId) : items;\n\t\t\t\treturn { items: me && prependMe ? [me, ...filteredItems] : filteredItems, isLastPage };\n\t\t\t}),\n\t\t);\n\n\t\treturn page$.pipe(\n\t\t\tswitchMap((page) =>\n\t\t\t\tthis.#userHomonymsService.handleHomonyms(page.items, this.displayFormat()).pipe(\n\t\t\t\t\tmap((items) => ({\n\t\t\t\t\t\titems,\n\t\t\t\t\t\tisLastPage: page.isLastPage,\n\t\t\t\t\t})),\n\t\t\t\t),\n\t\t\t),\n\t\t);\n\t}\n\n\tprotected override optionKey = (option: T) => option.id;\n}\n\n@Directive({\n\tselector: '[luUserOption]',\n})\nexport class LuCoreSelectUserOptionDirective<T extends LuCoreSelectUser = LuCoreSelectUser> {\n\t#templateRef = inject(TemplateRef<LuOptionContext<T>>);\n\n\treadonly usersDirective = input<LuCoreSelectUsersDirective<T>>(null, { alias: 'luUserOptionUsersRef' });\n\n\tconstructor() {\n\t\tɵeffectWithDeps([this.usersDirective], (usersDirective) => {\n\t\t\tif (usersDirective) {\n\t\t\t\tusersDirective.customUserOptionTpl.set(this.#templateRef);\n\t\t\t}\n\t\t});\n\t}\n\tpublic static ngTemplateContextGuard<T extends LuCoreSelectUser>(_dir: LuCoreSelectUserOptionDirective<T>, ctx: unknown): ctx is { $implicit: T } {\n\t\treturn true;\n\t}\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["ɵCoreSelectPanelElement","ɵLuOptionOutletDirective","ɵeffectWithDeps"],"mappings":"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"}
@@ -220,7 +220,7 @@ class FilterPillComponent {
220
220
  provide: FILTER_PILL_HOST_COMPONENT,
221
221
  useExisting: forwardRef(() => FilterPillComponent),
222
222
  },
223
- ], queries: [{ propertyName: "childInputComponentRef", first: true, predicate: FILTER_PILL_INPUT_COMPONENT, descendants: true, isSignal: true }], viewQueries: [{ propertyName: "popoverRef", first: true, predicate: PopoverDirective, descendants: true, isSignal: true }, { propertyName: "defaultLabelTpl", first: true, predicate: ["defaultLabel"], descendants: true, isSignal: true }], ngImport: i0, template: "@if (!isHidden()) {\n\t@if (layout() === \"default\") {\n\t\t<label [attr.for]=\"id\" class=\"filterPill-label\">\n\t\t\t<ng-container\n\t\t\t\t*ngTemplateOutlet=\"\n\t\t\t\t\tlabelTpl();\n\t\t\t\t\tcontext: { label: label(), isEmpty: inputIsEmpty(), placeholder: placeholder(), colon: colonDisplay() }\n\t\t\t\t\"\n\t\t\t/>\n\t\t</label>\n\t\t<button\n\t\t\t[id]=\"id\"\n\t\t\t[attr.disabled]=\"disabled() ? 'disabled' : null\"\n\t\t\tclass=\"filterPill-combobox\"\n\t\t\ttype=\"button\"\n\t\t\trole=\"combobox\"\n\t\t\t[luPopover2]=\"pillContent\"\n\t\t\t[luPopoverNoCloseButton]=\"true\"\n\t\t\t[customPositions]=\"popoverPositions\"\n\t\t\t[luPopoverAnchor]=\"elementRef\"\n\t\t\t(luPopoverOpened)=\"popoverOpened()\"\n\t\t\tluTooltip\n\t\t\tluTooltipWhenEllipsis\n\t\t\t[luTooltipDisabled]=\"inputIsEmpty()\"\n\t\t\t#comboboxRef\n\t\t\t#popoverRef=\"luPopover2\"\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>\n\t\t\t<ng-container *ngTemplateOutlet=\"pillTpl; context: { label: label(), isEmpty: inputIsEmpty() }\" />\n\t\t\t@if (inputIsEmpty() && !disabled()) {\n\t\t\t\t{{ placeholder() }}\n\t\t\t}\n\t\t</button>\n\t\t@if (inputIsClearable()) {\n\t\t\t<lu-clear class=\"filterPill-clear\" (onClear)=\"clear(); comboboxRef.focus()\">{{ intl.clear }}</lu-clear>\n\t\t}\n\t\t<button\n\t\t\ttype=\"button\"\n\t\t\taria-hidden=\"true\"\n\t\t\ttabindex=\"-1\"\n\t\t\tclass=\"filterPill-toggle\"\n\t\t\t[attr.disabled]=\"disabled() ? 'disabled' : null\"\n\t\t\t(click)=\"popoverRef.openPopover(true)\"\n\t\t>\n\t\t\t<lu-icon [icon]=\"displayedIcon()\" size=\"S\" />\n\t\t</button>\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", styles: ["@layer components{.filterPill{--components-filterPill-gap: 0;--components-filterPill-padding: var(--pr-t-spacings-75) var(--pr-t-spacings-100);--components-filterPill-label-fontWeightNormal: 400;--components-filterPill-label-fontWeightChecked: 600;--components-filterPill-borderColor: var(--palettes-neutral-100);--components-filterPill-backgroundColor: var(--palettes-neutral-0);--components-filterPill-color: var(--pr-t-color-text);--components-filterPill-label-cursor: pointer;--components-filterPill-checkbox-backgroundColor: var(--palettes-neutral-0);--components-filterPill-checkbox-color: var(--palettes-neutral-0);--components-filterPill-checkbox-borderColor: var(--palettes-neutral-700);--components-filterPill-checkbox-icon-scale: 0;--components-filterPill-checkbox-icon-timingFonction: cubic-bezier(.5, -.5, .5, 0);--components-filterPill-toggle-rotation: 0;--components-filterPill-toggle-iconColor: var(--palettes-neutral-600);--components-filterPill-shadow: 0 0 0 1px var(--components-filterPill-borderColor);--components-filterPill-display: flex;--components-filterPill-arrowColor: var(--palettes-product-700);--components-filterPill-label-maxInlineSize: none;display:var(--components-filterPill-display);gap:var(--components-filterPill-gap);align-items:center;background-color:var(--components-filterPill-backgroundColor);inline-size:fit-content;padding:var(--components-filterPill-padding);border-radius:var(--pr-t-border-radius-default);color:var(--components-filterPill-color);font:var(--pr-t-font-body-S);box-shadow:var(--components-filterPill-shadow);position:relative;white-space:nowrap;transition-property:box-shadow;transition-duration:var(--commons-animations-durations-fast)}.filterPill_popover-content.popover-contentOptional{--components-dateInput-width: none;display:flex;flex-direction:column;gap:var(--pr-t-spacings-50)}.filterPill_popover-content.popover-contentOptional:has(.filterPill_popover-content-option){--components-popover-padding: var(--pr-t-spacings-50)}.filterPill_popover-content-option{padding:var(--pr-t-spacings-50) var(--pr-t-spacings-100);border-radius:var(--pr-t-border-radius-50)}.filterPill_popover-content-option:hover{background-color:var(--palettes-neutral-50)}.filterPill_popover-content-option:has(:checked){background-color:var(--palettes-product-50)}.filterPill_popover-content-option:has(:checked):hover{background-color:var(--palettes-product-100)}.filterPill-icon{display:flex}.filterPill-icon .lucca-icon{--icon-size: 1.25rem}.filterPill-label{font-weight:var(--components-filterPill-label-fontWeight);overflow:hidden;text-overflow:ellipsis;outline:none;text-align:center;flex-shrink:0;max-inline-size:var(--components-filterPill-label-maxInlineSize)}.filterPill-label:before{content:\"\";position:absolute;inset:0;cursor:var(--components-filterPill-label-cursor);z-index:1}.filterPill-toggle{padding:0;border:0;inline-size:100%;background-color:transparent;color:inherit;text-align:start;display:block;font:inherit;cursor:pointer;display:flex;margin-inline-start:var(--pr-t-spacings-50);inline-size:calc(var(--pr-t-spacings-50) + var(--pr-t-spacings-200));flex-shrink:0;z-index:1;color:var(--components-filterPill-toggle-iconColor);cursor:var(--components-filterPill-label-cursor)}.filterPill-toggle .icon-arrowChevronBottom{transition-property:transform;transition-duration:var(--commons-animations-durations-fast);transform:rotate(var(--components-filterPill-toggle-rotation))}.filterPill-clear.clear{margin-inline-start:var(--pr-t-spacings-75);margin-inline-end:var(--pr-t-spacings-25);position:relative;z-index:1;--components-clear-cross-color: var(--palettes-neutral-0);--components-clear-background: var(--palettes-product-800)}.filterPill-clear.clear:hover{--components-clear-background: var(--palettes-product-700)}.filterPill-clear.clear:active{--components-clear-background: var(--palettes-product-900)}.filterPill-combobox{padding:0;border:0;inline-size:100%;background-color:transparent;color:inherit;text-align:start;display:block;font:inherit;cursor:pointer;font-weight:var(--components-filterPill-label-fontWeightChecked);inline-size:auto;z-index:1;margin-inline-start:.5ch;min-inline-size:0;overflow:hidden;text-overflow:ellipsis;cursor:var(--components-filterPill-label-cursor);display:flex;align-items:center;gap:var(--pr-t-spacings-50);max-inline-size:15rem}.filterPill-combobox:focus-visible{outline:none}.filterPill-combobox .lucca-icon{color:var(--components-filterPill-arrowColor)}.filterPill-label-placeholder{display:block;block-size:0;overflow:hidden;text-overflow:ellipsis;font-weight:var(--components-filterPill-label-fontWeightChecked)}.filterPill-checkbox{border:2px solid var(--components-filterPill-checkbox-borderColor);border-radius:var(--pr-t-border-radius-50);color:var(--components-filterPill-checkbox-color);transition-property:color,border-color,background-color;transition-duration:var(--commons-animations-durations-fast);background-color:var(--components-filterPill-checkbox-backgroundColor);cursor:pointer;display:flex;order:-1}@media(prefers-reduced-motion:reduce){.filterPill-checkbox{transition-property:none}}.filterPill-checkbox-icon{inline-size:var(--pr-t-spacings-150);block-size:var(--pr-t-spacings-150)}.filterPill-checkbox-icon-check{display:flex;align-items:center;justify-content:center;inline-size:100%;block-size:100%;transform:scale(var(--components-filterPill-checkbox-icon-scale));transition-property:transform;transition-duration:var(--commons-animations-durations-fast);transition-timing-function:var(--components-filterPill-checkbox-icon-timingFonction)}@media(prefers-reduced-motion:reduce){.filterPill-checkbox-icon-check{transition-property:none}}.filterPill-checkbox-icon-check:before{font-weight:var(--pr-t-font-fontWeight-regular);font-size:1rem;direction:ltr;font-family:var(--icon-fontFamily);font-feature-settings:\"liga\";font-style:normal;letter-spacing:normal;line-height:1;text-transform:none;white-space:nowrap;word-wrap:normal;content:\"\\e97d\"/\"\"}.filterPill-checkbox-input{border:0;clip:rect(1px,1px,1px,1px);margin:-1px;overflow:hidden;padding:0;position:absolute;block-size:1px;inline-size:1px;white-space:nowrap;contain:paint}}@layer mods{.filterPill:not(.is-filled) .filterPill-combobox{border:0;clip:rect(1px,1px,1px,1px);margin:-1px;overflow:hidden;padding:0;position:absolute;block-size:1px;inline-size:1px;white-space:nowrap;contain:paint}.filterPill:hover{--components-filterPill-borderColor: var(--palettes-product-400);--components-filterPill-checkbox-borderColor: var(--palettes-neutral-600);--components-filterPill-shadow: 0 0 0 1px var(--components-filterPill-borderColor), var(--pr-t-elevation-shadow-button)}.filterPill:active,.filterPill:has(:active){--components-filterPill-backgroundColor: var(--palettes-neutral-0);box-shadow:0 0 0 1px var(--palettes-product-500),var(--pr-t-elevation-shadow-button)}.filterPill:has(.filterPill-combobox:focus-visible){outline:2px solid var(--palettes-product-700);outline-offset:3px}.filterPill:has(.filterPill-combobox[aria-expanded=true]){--components-filterPill-toggle-rotation: -.5turn}.filterPill.is-filled{--components-filterPill-borderColor: var(--palettes-product-300);--components-filterPill-backgroundColor: var(--palettes-product-50);--components-filterPill-color: var(--palettes-product-800);--components-filterPill-toggle-iconColor: var(--palettes-product-700)}.filterPill.is-filled:hover{--components-filterPill-borderColor: var(--palettes-product-400);--components-filterPill-checkbox-borderColor: var(--palettes-product-600);--components-filterPill-checkbox-backgroundColor: var(--palettes-product-600)}.filterPill.is-filled:has(.filterPill-combobox:active){--components-filterPill-backgroundColor: var(--palettes-product-100);--components-filterPill-checkbox-borderColor: var(--palettes-product-700);--components-filterPill-checkbox-backgroundColor: var(--palettes-product-700)}.filterPill.mod-checkbox{--components-filterPill-gap: var(--pr-t-spacings-100);--components-filterPill-padding: var(--pr-t-spacings-75) var(--pr-t-spacings-150);--components-filterPill-label-maxInlineSize: 15rem}.filterPill.mod-checkbox:has(.filterPill-checkbox-input:focus-visible){outline:2px solid var(--palettes-product-700);outline-offset:3px}.filterPill.mod-checkbox:has(.filterPill-checkbox-input:checked){--components-filterPill-borderColor: var(--palettes-product-300);--components-filterPill-backgroundColor: var(--palettes-product-50);--components-filterPill-color: var(--palettes-product-800);--components-filterPill-checkbox-backgroundColor: var(--palettes-product-700);--components-filterPill-checkbox-borderColor: var(--palettes-product-700);--components-filterPill-checkbox-icon-scale: 1;--components-filterPill-checkbox-icon-timingFonction: cubic-bezier(.5, 1, .5, 1.5);--components-filterPill-label-fontWeight: var(--components-filterPill-label-fontWeightChecked)}.filterPill.mod-checkbox:has(.filterPill-checkbox-input:checked):hover{--components-filterPill-borderColor: var(--palettes-product-400);--components-filterPill-checkbox-borderColor: var(--palettes-product-600);--components-filterPill-checkbox-backgroundColor: var(--palettes-product-600)}.filterPill.mod-checkbox:has(.filterPill-checkbox-input:checked):has(.filterPill-combobox:active){--components-filterPill-backgroundColor: var(--palettes-product-100);--components-filterPill-checkbox-borderColor: var(--palettes-product-700);--components-filterPill-checkbox-backgroundColor: var(--palettes-product-700)}.filterPill.mod-checkbox:has(.filterPill-checkbox-input:disabled){--components-filterPill-backgroundColor: var(--palettes-neutral-50);--components-filterPill-borderColor: var(--palettes-neutral-300);--components-filterPill-checkbox-borderColor: var(--palettes-neutral-500);--components-filterPill-color: var(--palettes-neutral-500);--components-filterPill-label-cursor: default;box-shadow:0 0 0 1px var(--components-filterPill-borderColor)}.filterPill.mod-checkbox:has(.filterPill-checkbox-input:disabled):has(.filterPill-checkbox-input:checked){--components-filterPill-backgroundColor: var(--palettes-neutral-50);--components-filterPill-borderColor: var(--palettes-neutral-300);--components-filterPill-checkbox-borderColor: var(--palettes-neutral-100);--components-filterPill-checkbox-backgroundColor: var(--palettes-neutral-100);--components-filterPill-color: var(--palettes-neutral-500);--components-filterPill-checkbox-color: var(--palettes-neutral-500);--components-filterPill-label-cursor: default}.filterPill.mod-button{--components-filterPill-backgroundColor: var(--pr-t-elevation-surface-raised);border:0;padding:var(--pr-t-spacings-75);cursor:pointer}.filterPill.mod-button:focus-visible{outline:2px solid var(--palettes-product-700);outline-offset:3px}.filterPill:has(.filterPill-combobox:disabled){--components-filterPill-backgroundColor: var(--palettes-neutral-50);--components-filterPill-borderColor: var(--palettes-neutral-300) !important;--components-filterPill-color: var(--palettes-neutral-500);--components-filterPill-toggle-iconColor: var(--palettes-neutral-500);--components-filterPill-label-cursor: default;--components-filterPill-arrowColor: var(--palettes-neutral-500);--components-filterPill-shadow: 0 0 0 1px var(--components-filterPill-borderColor);box-shadow:var(--components-filterPill-shadow);--components-clear-display: none}.filterPill.is-hidden{--components-filterPill-display: none}}@layer components{.filterBar{--components-filterBar-scrollBox-flexGrow: 0;--components-filterBar-scrollBox-group-flexWrap: wrap;--components-filterBar-flexWrap: nowrap;display:flex;align-items:flex-start;flex-wrap:var(--components-filterBar-flexWrap);gap:var(--pr-t-spacings-100)}.filterBar .textField{--component-textField-borderRadius: var(--pr-t-border-radius-default);--component-textField-border: var(--palettes-neutral-100);--component-textField-borderHover: var(--palettes-product-400);--component-textField-width: 15rem;--component-textField-font: var(--pr-t-font-body-S);--component-textField-padding: var(--pr-t-spacings-75);--component-textField-affix-size: 1.5rem}.filterBar .textField .textField-input-affix-toggle{--icon-size: 1.25rem}.filterBar .textField .textField-input-affix-clear.clear,.filterBar .textField .textField-input-affix-clear:not(.clear){--components-clear-size: .75rem;--icon-size: .75rem}.filterBar .textField .textField-input-affix-icon{--icon-size: 1.25rem}.filterBar-divider.divider{--components-divider-marginBlock: 0;--components-divider-marginInline: var(--pr-t-spacings-50);--components-divider-alignSelf: stretch}.filterBar-divider.divider:where(:empty){border-inline-start:var(--commons-divider-border)}.filterBar-divider.divider:not(:empty){--components-divider-direction: column;--components-divider-iconBottom: var(--pr-t-spacings-25);--components-divider-justify: center}.filterBar-divider.divider:not(:empty):before,.filterBar-divider.divider:not(:empty):after{border-inline-start:var(--commons-divider-border);min-block-size:var(--components-divider-minSize)}.filterBar-divider.divider{margin-inline:var(--pr-t-spacings-50)}.filterBar-divider.divider:last-child{display:none}.filterBar-scrollBox{flex-grow:var(--components-filterBar-scrollBox-flexGrow)}.filterBar-segmentedControl.segmentedControl{--components-segmentedControl-padding: var(--pr-t-spacings-75) var(--pr-t-spacings-150);--components-segmentedControl-font: var(--pr-t-font-body-S);--components-segmentedControl-dividerInset: var(--pr-t-spacings-75)}.filterBar-segmentedControl.segmentedControl .numericBadge{--components-numericBadge-size: 1.25rem;--components-numericBadge-borderRadius: var(--pr-t-border-radius-small);--components-numericBadge-font: var(--pr-t-font-body-XS);--components-numericBadge-fontSize: var(--pr-t-font-body-XS-fontSize);--components-numericBadge-lineHeight: var(--pr-t-font-body-XS-lineHeight)}.filterBar-scrollBox-group{display:flex;gap:var(--pr-t-spacings-100);flex-wrap:var(--components-filterBar-scrollBox-group-flexWrap);flex-grow:1;flex-shrink:1!important}.filterBar-scrollBox-export{margin-inline-start:auto;padding-inline-start:var(--pr-t-spacings-200);flex-shrink:0}}@layer mods{@media not all and (min-width:40em){.filterBar{--components-filterBar-flexWrap: wrap}.filterBar .filterBar-segmentedControl.segmentedControl{--components-segmentedControl-direction: row;--components-segmentedControl-width: 100%}.filterBar .filterBar-divider.divider{inline-size:100%}}@media(pointer:coarse){.filterBar{--components-filterBar-scrollBox-flexGrow: 1;--components-filterBar-scrollBox-group-flexWrap: nowrap}.filterBar .filterBar-segmentedControl.segmentedControl{--components-segmentedControl-whiteSpace: nowrap;--components-segmentedControl-width: auto;--components-segmentedControl-wrap: nowrap}.filterBar .filterBar-scrollBox.scrollBox{-ms-overflow-style:none;scrollbar-width:none}.filterBar .filterBar-scrollBox.scrollBox::-webkit-scrollbar{display:none}}@media not (pointer:coarse){.filterBar .filterBar-scrollBox.scrollBox{--components-scrollBox-pseudoElementsContent: none;--components-scrollBox-display: contents;--components-scrollBox-firstLast-display: none}}}\n"], dependencies: [{ kind: "directive", type: PopoverDirective, selector: "[luPopover2]", inputs: ["luPopover2", "luPopoverPosition", "luPopoverDisabled", "luPopoverTrigger", "customPositions", "luPopoverNoCloseButton", "luPopoverAnchor", "luPopoverOpenDelay", "luPopoverCloseDelay"], outputs: ["luPopoverTriggerChange", "luPopoverClosed", "luPopoverOpened"], exportAs: ["luPopover2"] }, { kind: "ngmodule", type: FormsModule }, { kind: "component", type: IconComponent, selector: "lu-icon", inputs: ["icon", "alt", "size", "color", "AI"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: LuTooltipModule }, { kind: "directive", type: i1.LuTooltipTriggerDirective, selector: "[luTooltip]", inputs: ["luTooltip", "luTooltipEnterDelay", "luTooltipLeaveDelay", "luTooltipDisabled", "luTooltipOnlyForDisplay", "luTooltipPosition", "luTooltipWhenEllipsis", "luTooltipAnchor", "id"], exportAs: ["luTooltip"] }, { kind: "component", type: ClearComponent, selector: "lu-clear", inputs: ["size", "disabled", "palette", "inverted"], outputs: ["onClear"], exportAs: ["luClearer"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
223
+ ], queries: [{ propertyName: "childInputComponentRef", first: true, predicate: FILTER_PILL_INPUT_COMPONENT, descendants: true, isSignal: true }], viewQueries: [{ propertyName: "popoverRef", first: true, predicate: PopoverDirective, descendants: true, isSignal: true }, { propertyName: "defaultLabelTpl", first: true, predicate: ["defaultLabel"], descendants: true, isSignal: true }], ngImport: i0, template: "@if (!isHidden()) {\n\t@if (layout() === \"default\") {\n\t\t<label [attr.for]=\"id\" class=\"filterPill-label\">\n\t\t\t<ng-container\n\t\t\t\t*ngTemplateOutlet=\"\n\t\t\t\t\tlabelTpl();\n\t\t\t\t\tcontext: { label: label(), isEmpty: inputIsEmpty(), placeholder: placeholder(), colon: colonDisplay() }\n\t\t\t\t\"\n\t\t\t/>\n\t\t</label>\n\t\t<button\n\t\t\t[id]=\"id\"\n\t\t\t[attr.disabled]=\"disabled() ? 'disabled' : null\"\n\t\t\tclass=\"filterPill-combobox\"\n\t\t\ttype=\"button\"\n\t\t\trole=\"combobox\"\n\t\t\t[luPopover2]=\"pillContent\"\n\t\t\t[luPopoverNoCloseButton]=\"true\"\n\t\t\t[customPositions]=\"popoverPositions\"\n\t\t\t[luPopoverAnchor]=\"elementRef\"\n\t\t\t(luPopoverOpened)=\"popoverOpened()\"\n\t\t\tluTooltip\n\t\t\tluTooltipWhenEllipsis\n\t\t\t[luTooltipDisabled]=\"inputIsEmpty()\"\n\t\t\t#comboboxRef\n\t\t\t#popoverRef=\"luPopover2\"\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>\n\t\t\t<ng-container *ngTemplateOutlet=\"pillTpl; context: { label: label(), isEmpty: inputIsEmpty() }\" />\n\t\t\t@if (inputIsEmpty() && !disabled()) {\n\t\t\t\t{{ placeholder() }}\n\t\t\t}\n\t\t</button>\n\t\t@if (inputIsClearable()) {\n\t\t\t<lu-clear class=\"filterPill-clear\" (onClear)=\"clear(); comboboxRef.focus()\">{{ intl.clear }}</lu-clear>\n\t\t}\n\t\t<button\n\t\t\ttype=\"button\"\n\t\t\taria-hidden=\"true\"\n\t\t\ttabindex=\"-1\"\n\t\t\tclass=\"filterPill-toggle\"\n\t\t\t[attr.disabled]=\"disabled() ? 'disabled' : null\"\n\t\t\t(click)=\"popoverRef.openPopover(true)\"\n\t\t>\n\t\t\t<lu-icon [icon]=\"displayedIcon()\" size=\"S\" />\n\t\t</button>\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", styles: ["@layer components{.filterPill{--components-filterPill-gap: 0;--components-filterPill-padding: var(--pr-t-spacings-75) var(--pr-t-spacings-100);--components-filterPill-label-fontWeightNormal: 400;--components-filterPill-label-fontWeightChecked: 600;--components-filterPill-borderColor: var(--palettes-neutral-100);--components-filterPill-backgroundColor: var(--palettes-neutral-0);--components-filterPill-color: var(--pr-t-color-text);--components-filterPill-label-cursor: pointer;--components-filterPill-checkbox-backgroundColor: var(--palettes-neutral-0);--components-filterPill-checkbox-color: var(--palettes-neutral-0);--components-filterPill-checkbox-borderColor: var(--palettes-neutral-700);--components-filterPill-checkbox-icon-scale: 0;--components-filterPill-checkbox-icon-timingFonction: cubic-bezier(.5, -.5, .5, 0);--components-filterPill-toggle-rotation: 0;--components-filterPill-toggle-iconColor: var(--palettes-neutral-600);--components-filterPill-shadow: 0 0 0 1px var(--components-filterPill-borderColor);--components-filterPill-display: flex;--components-filterPill-arrowColor: var(--palettes-product-700);--components-filterPill-label-maxInlineSize: none;display:var(--components-filterPill-display);gap:var(--components-filterPill-gap);align-items:center;background-color:var(--components-filterPill-backgroundColor);inline-size:fit-content;padding:var(--components-filterPill-padding);border-radius:var(--pr-t-border-radius-default);color:var(--components-filterPill-color);font:var(--pr-t-font-body-S);box-shadow:var(--components-filterPill-shadow);position:relative;white-space:nowrap;transition-property:box-shadow;transition-duration:var(--commons-animations-durations-fast)}.filterPill_popover-content.popover-contentOptional{--components-dateInput-width: none;display:flex;flex-direction:column;gap:var(--pr-t-spacings-50)}.filterPill_popover-content.popover-contentOptional:has(.filterPill_popover-content-option){--components-popover-padding: var(--pr-t-spacings-50)}.filterPill_popover-content-option{padding:var(--pr-t-spacings-50) var(--pr-t-spacings-100);border-radius:var(--pr-t-border-radius-50)}.filterPill_popover-content-option:hover{background-color:var(--palettes-neutral-50)}.filterPill_popover-content-option:has(:checked){background-color:var(--palettes-product-50)}.filterPill_popover-content-option:has(:checked):hover{background-color:var(--palettes-product-100)}.filterPill-icon{display:flex}.filterPill-icon .lucca-icon{--icon-size: 1.25rem}.filterPill-label{font-weight:var(--components-filterPill-label-fontWeight);overflow:hidden;text-overflow:ellipsis;outline:none;text-align:center;flex-shrink:0;max-inline-size:var(--components-filterPill-label-maxInlineSize)}.filterPill-label:before{content:\"\";position:absolute;inset:0;cursor:var(--components-filterPill-label-cursor);z-index:1}.filterPill-toggle{padding:0;border:0;inline-size:100%;background-color:transparent;color:inherit;text-align:start;display:block;font:inherit;cursor:pointer;display:flex;margin-inline-start:var(--pr-t-spacings-50);inline-size:calc(var(--pr-t-spacings-50) + var(--pr-t-spacings-200));flex-shrink:0;z-index:1;color:var(--components-filterPill-toggle-iconColor);cursor:var(--components-filterPill-label-cursor)}.filterPill-toggle .icon-arrowChevronBottom{transition-property:transform;transition-duration:var(--commons-animations-durations-fast);transform:rotate(var(--components-filterPill-toggle-rotation))}.filterPill-clear.clear{margin-inline-start:var(--pr-t-spacings-75);margin-inline-end:var(--pr-t-spacings-25);position:relative;z-index:1;--components-clear-cross-color: var(--palettes-neutral-0);--components-clear-background: var(--palettes-product-800)}.filterPill-clear.clear:hover{--components-clear-background: var(--palettes-product-700)}.filterPill-clear.clear:active{--components-clear-background: var(--palettes-product-900)}.filterPill-combobox{padding:0;border:0;inline-size:100%;background-color:transparent;color:inherit;text-align:start;display:block;font:inherit;cursor:pointer;font-weight:var(--components-filterPill-label-fontWeightChecked);inline-size:auto;z-index:1;margin-inline-start:.5ch;min-inline-size:0;overflow:hidden;text-overflow:ellipsis;cursor:var(--components-filterPill-label-cursor);display:flex;align-items:center;gap:var(--pr-t-spacings-50);max-inline-size:15rem}.filterPill-combobox:focus-visible{outline:none}.filterPill-combobox .lucca-icon{color:var(--components-filterPill-arrowColor)}.filterPill-label-placeholder{display:block;block-size:0;overflow:hidden;text-overflow:ellipsis;font-weight:var(--components-filterPill-label-fontWeightChecked)}.filterPill-checkbox{border:2px solid var(--components-filterPill-checkbox-borderColor);border-radius:var(--pr-t-border-radius-50);color:var(--components-filterPill-checkbox-color);transition-property:color,border-color,background-color;transition-duration:var(--commons-animations-durations-fast);background-color:var(--components-filterPill-checkbox-backgroundColor);cursor:pointer;display:flex;order:-1}@media(prefers-reduced-motion:reduce){.filterPill-checkbox{transition-property:none}}.filterPill-checkbox-icon{inline-size:var(--pr-t-spacings-150);block-size:var(--pr-t-spacings-150)}.filterPill-checkbox-icon-check{display:flex;align-items:center;justify-content:center;inline-size:100%;block-size:100%;transform:scale(var(--components-filterPill-checkbox-icon-scale));transition-property:transform;transition-duration:var(--commons-animations-durations-fast);transition-timing-function:var(--components-filterPill-checkbox-icon-timingFonction)}@media(prefers-reduced-motion:reduce){.filterPill-checkbox-icon-check{transition-property:none}}.filterPill-checkbox-icon-check:before{font-weight:var(--pr-t-font-fontWeight-regular);font-size:1rem;direction:ltr;font-family:var(--icon-fontFamily);font-feature-settings:\"liga\";font-style:normal;letter-spacing:normal;line-height:1;text-transform:none;white-space:nowrap;word-wrap:normal;content:\"\\e97d\"/\"\"}.filterPill-checkbox-input{border:0;clip:rect(1px,1px,1px,1px);margin:-1px;overflow:hidden;padding:0;position:absolute;block-size:1px;inline-size:1px;white-space:nowrap;contain:paint}}@layer mods{.filterPill:not(.is-filled) .filterPill-combobox{border:0;clip:rect(1px,1px,1px,1px);margin:-1px;overflow:hidden;padding:0;position:absolute;block-size:1px;inline-size:1px;white-space:nowrap;contain:paint}.filterPill:hover{--components-filterPill-borderColor: var(--palettes-product-400);--components-filterPill-checkbox-borderColor: var(--palettes-neutral-600);--components-filterPill-shadow: 0 0 0 1px var(--components-filterPill-borderColor), var(--pr-t-elevation-shadow-button)}.filterPill:active,.filterPill:has(:active){--components-filterPill-backgroundColor: var(--palettes-neutral-0);box-shadow:0 0 0 1px var(--palettes-product-500),var(--pr-t-elevation-shadow-button)}.filterPill:has(.filterPill-combobox:focus-visible){outline:2px solid var(--palettes-product-700);outline-offset:3px}.filterPill:has(.filterPill-combobox[aria-expanded=true]){--components-filterPill-toggle-rotation: -.5turn}.filterPill.is-filled{--components-filterPill-borderColor: var(--palettes-product-300);--components-filterPill-backgroundColor: var(--palettes-product-50);--components-filterPill-color: var(--palettes-product-800);--components-filterPill-toggle-iconColor: var(--palettes-product-700)}.filterPill.is-filled:hover{--components-filterPill-borderColor: var(--palettes-product-400);--components-filterPill-checkbox-borderColor: var(--palettes-product-600);--components-filterPill-checkbox-backgroundColor: var(--palettes-product-600)}.filterPill.is-filled:has(.filterPill-combobox:active){--components-filterPill-backgroundColor: var(--palettes-product-100);--components-filterPill-checkbox-borderColor: var(--palettes-product-700);--components-filterPill-checkbox-backgroundColor: var(--palettes-product-700)}.filterPill.mod-checkbox{--components-filterPill-gap: var(--pr-t-spacings-100);--components-filterPill-label-maxInlineSize: 15rem}.filterPill.mod-checkbox:has(.filterPill-checkbox-input:focus-visible){outline:2px solid var(--palettes-product-700);outline-offset:3px}.filterPill.mod-checkbox:has(.filterPill-checkbox-input:checked){--components-filterPill-borderColor: var(--palettes-product-300);--components-filterPill-backgroundColor: var(--palettes-product-50);--components-filterPill-color: var(--palettes-product-800);--components-filterPill-checkbox-backgroundColor: var(--palettes-product-700);--components-filterPill-checkbox-borderColor: var(--palettes-product-700);--components-filterPill-checkbox-icon-scale: 1;--components-filterPill-checkbox-icon-timingFonction: cubic-bezier(.5, 1, .5, 1.5);--components-filterPill-label-fontWeight: var(--components-filterPill-label-fontWeightChecked)}.filterPill.mod-checkbox:has(.filterPill-checkbox-input:checked):hover{--components-filterPill-borderColor: var(--palettes-product-400);--components-filterPill-checkbox-borderColor: var(--palettes-product-600);--components-filterPill-checkbox-backgroundColor: var(--palettes-product-600)}.filterPill.mod-checkbox:has(.filterPill-checkbox-input:checked):has(.filterPill-combobox:active){--components-filterPill-backgroundColor: var(--palettes-product-100);--components-filterPill-checkbox-borderColor: var(--palettes-product-700);--components-filterPill-checkbox-backgroundColor: var(--palettes-product-700)}.filterPill.mod-checkbox:has(.filterPill-checkbox-input:disabled){--components-filterPill-backgroundColor: var(--palettes-neutral-50);--components-filterPill-borderColor: var(--palettes-neutral-300);--components-filterPill-checkbox-borderColor: var(--palettes-neutral-500);--components-filterPill-color: var(--palettes-neutral-500);--components-filterPill-label-cursor: default;box-shadow:0 0 0 1px var(--components-filterPill-borderColor)}.filterPill.mod-checkbox:has(.filterPill-checkbox-input:disabled):has(.filterPill-checkbox-input:checked){--components-filterPill-backgroundColor: var(--palettes-neutral-50);--components-filterPill-borderColor: var(--palettes-neutral-300);--components-filterPill-checkbox-borderColor: var(--palettes-neutral-100);--components-filterPill-checkbox-backgroundColor: var(--palettes-neutral-100);--components-filterPill-color: var(--palettes-neutral-500);--components-filterPill-checkbox-color: var(--palettes-neutral-500);--components-filterPill-label-cursor: default}.filterPill.mod-button{--components-filterPill-backgroundColor: var(--pr-t-elevation-surface-raised);border:0;padding:var(--pr-t-spacings-75);cursor:pointer}.filterPill.mod-button:focus-visible{outline:2px solid var(--palettes-product-700);outline-offset:3px}.filterPill:has(.filterPill-combobox:disabled){--components-filterPill-backgroundColor: var(--palettes-neutral-50);--components-filterPill-borderColor: var(--palettes-neutral-300) !important;--components-filterPill-color: var(--palettes-neutral-500);--components-filterPill-toggle-iconColor: var(--palettes-neutral-500);--components-filterPill-label-cursor: default;--components-filterPill-arrowColor: var(--palettes-neutral-500);--components-filterPill-shadow: 0 0 0 1px var(--components-filterPill-borderColor);box-shadow:var(--components-filterPill-shadow);--components-clear-display: none}.filterPill.is-hidden{--components-filterPill-display: none}}@layer components{.filterBar{--components-filterBar-scrollBox-flexGrow: 0;--components-filterBar-scrollBox-group-flexWrap: wrap;--components-filterBar-flexWrap: nowrap;display:flex;align-items:flex-start;flex-wrap:var(--components-filterBar-flexWrap);gap:var(--pr-t-spacings-100)}.filterBar .textField{--component-textField-borderRadius: var(--pr-t-border-radius-default);--component-textField-border: var(--palettes-neutral-100);--component-textField-borderHover: var(--palettes-product-400);--component-textField-width: 15rem;--component-textField-font: var(--pr-t-font-body-S);--component-textField-padding: var(--pr-t-spacings-75);--component-textField-affix-size: 1.5rem}.filterBar .textField .textField-input-affix-toggle{--icon-size: 1.25rem}.filterBar .textField .textField-input-affix-clear.clear,.filterBar .textField .textField-input-affix-clear:not(.clear){--components-clear-size: .75rem;--icon-size: .75rem}.filterBar .textField .textField-input-affix-icon{--icon-size: 1.25rem}.filterBar-divider.divider{--components-divider-marginBlock: 0;--components-divider-marginInline: var(--pr-t-spacings-50);--components-divider-alignSelf: stretch}.filterBar-divider.divider:where(:empty){border-inline-start:var(--commons-divider-border)}.filterBar-divider.divider:not(:empty){--components-divider-direction: column;--components-divider-iconBottom: var(--pr-t-spacings-25);--components-divider-justify: center}.filterBar-divider.divider:not(:empty):before,.filterBar-divider.divider:not(:empty):after{border-inline-start:var(--commons-divider-border);min-block-size:var(--components-divider-minSize)}.filterBar-divider.divider{margin-inline:var(--pr-t-spacings-50)}.filterBar-divider.divider:last-child{display:none}.filterBar-scrollBox{flex-grow:var(--components-filterBar-scrollBox-flexGrow)}.filterBar-segmentedControl.segmentedControl{--components-segmentedControl-padding: var(--pr-t-spacings-75) var(--pr-t-spacings-150);--components-segmentedControl-font: var(--pr-t-font-body-S);--components-segmentedControl-dividerInset: var(--pr-t-spacings-75)}.filterBar-segmentedControl.segmentedControl .numericBadge{--components-numericBadge-size: 1.25rem;--components-numericBadge-borderRadius: var(--pr-t-border-radius-small);--components-numericBadge-font: var(--pr-t-font-body-XS);--components-numericBadge-fontSize: var(--pr-t-font-body-XS-fontSize);--components-numericBadge-lineHeight: var(--pr-t-font-body-XS-lineHeight)}.filterBar-scrollBox-group{display:flex;gap:var(--pr-t-spacings-100);flex-wrap:var(--components-filterBar-scrollBox-group-flexWrap);flex-grow:1;flex-shrink:1!important}.filterBar-scrollBox-export{margin-inline-start:auto;padding-inline-start:var(--pr-t-spacings-200);flex-shrink:0}}@layer mods{@media not all and (min-width:40em){.filterBar{--components-filterBar-flexWrap: wrap}.filterBar .filterBar-segmentedControl.segmentedControl{--components-segmentedControl-direction: row;--components-segmentedControl-width: 100%}.filterBar .filterBar-divider.divider{inline-size:100%}}@media(pointer:coarse){.filterBar{--components-filterBar-scrollBox-flexGrow: 1;--components-filterBar-scrollBox-group-flexWrap: nowrap}.filterBar .filterBar-segmentedControl.segmentedControl{--components-segmentedControl-whiteSpace: nowrap;--components-segmentedControl-width: auto;--components-segmentedControl-wrap: nowrap}.filterBar .filterBar-scrollBox.scrollBox{-ms-overflow-style:none;scrollbar-width:none}.filterBar .filterBar-scrollBox.scrollBox::-webkit-scrollbar{display:none}}@media not (pointer:coarse){.filterBar .filterBar-scrollBox.scrollBox{--components-scrollBox-pseudoElementsContent: none;--components-scrollBox-display: contents;--components-scrollBox-firstLast-display: none}}}\n"], dependencies: [{ kind: "directive", type: PopoverDirective, selector: "[luPopover2]", inputs: ["luPopover2", "luPopoverPosition", "luPopoverDisabled", "luPopoverTrigger", "customPositions", "luPopoverNoCloseButton", "luPopoverAnchor", "luPopoverOpenDelay", "luPopoverCloseDelay"], outputs: ["luPopoverTriggerChange", "luPopoverClosed", "luPopoverOpened"], exportAs: ["luPopover2"] }, { kind: "ngmodule", type: FormsModule }, { kind: "component", type: IconComponent, selector: "lu-icon", inputs: ["icon", "alt", "size", "color", "AI"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: LuTooltipModule }, { kind: "directive", type: i1.LuTooltipTriggerDirective, selector: "[luTooltip]", inputs: ["luTooltip", "luTooltipEnterDelay", "luTooltipLeaveDelay", "luTooltipDisabled", "luTooltipOnlyForDisplay", "luTooltipPosition", "luTooltipWhenEllipsis", "luTooltipAnchor", "id"], exportAs: ["luTooltip"] }, { kind: "component", type: ClearComponent, selector: "lu-clear", inputs: ["size", "disabled", "palette", "inverted"], outputs: ["onClear"], exportAs: ["luClearer"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
224
224
  }
225
225
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: FilterPillComponent, decorators: [{
226
226
  type: Component,
@@ -231,7 +231,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.6", ngImpor
231
231
  },
232
232
  ], host: {
233
233
  class: 'filterPill',
234
- }, template: "@if (!isHidden()) {\n\t@if (layout() === \"default\") {\n\t\t<label [attr.for]=\"id\" class=\"filterPill-label\">\n\t\t\t<ng-container\n\t\t\t\t*ngTemplateOutlet=\"\n\t\t\t\t\tlabelTpl();\n\t\t\t\t\tcontext: { label: label(), isEmpty: inputIsEmpty(), placeholder: placeholder(), colon: colonDisplay() }\n\t\t\t\t\"\n\t\t\t/>\n\t\t</label>\n\t\t<button\n\t\t\t[id]=\"id\"\n\t\t\t[attr.disabled]=\"disabled() ? 'disabled' : null\"\n\t\t\tclass=\"filterPill-combobox\"\n\t\t\ttype=\"button\"\n\t\t\trole=\"combobox\"\n\t\t\t[luPopover2]=\"pillContent\"\n\t\t\t[luPopoverNoCloseButton]=\"true\"\n\t\t\t[customPositions]=\"popoverPositions\"\n\t\t\t[luPopoverAnchor]=\"elementRef\"\n\t\t\t(luPopoverOpened)=\"popoverOpened()\"\n\t\t\tluTooltip\n\t\t\tluTooltipWhenEllipsis\n\t\t\t[luTooltipDisabled]=\"inputIsEmpty()\"\n\t\t\t#comboboxRef\n\t\t\t#popoverRef=\"luPopover2\"\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>\n\t\t\t<ng-container *ngTemplateOutlet=\"pillTpl; context: { label: label(), isEmpty: inputIsEmpty() }\" />\n\t\t\t@if (inputIsEmpty() && !disabled()) {\n\t\t\t\t{{ placeholder() }}\n\t\t\t}\n\t\t</button>\n\t\t@if (inputIsClearable()) {\n\t\t\t<lu-clear class=\"filterPill-clear\" (onClear)=\"clear(); comboboxRef.focus()\">{{ intl.clear }}</lu-clear>\n\t\t}\n\t\t<button\n\t\t\ttype=\"button\"\n\t\t\taria-hidden=\"true\"\n\t\t\ttabindex=\"-1\"\n\t\t\tclass=\"filterPill-toggle\"\n\t\t\t[attr.disabled]=\"disabled() ? 'disabled' : null\"\n\t\t\t(click)=\"popoverRef.openPopover(true)\"\n\t\t>\n\t\t\t<lu-icon [icon]=\"displayedIcon()\" size=\"S\" />\n\t\t</button>\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", styles: ["@layer components{.filterPill{--components-filterPill-gap: 0;--components-filterPill-padding: var(--pr-t-spacings-75) var(--pr-t-spacings-100);--components-filterPill-label-fontWeightNormal: 400;--components-filterPill-label-fontWeightChecked: 600;--components-filterPill-borderColor: var(--palettes-neutral-100);--components-filterPill-backgroundColor: var(--palettes-neutral-0);--components-filterPill-color: var(--pr-t-color-text);--components-filterPill-label-cursor: pointer;--components-filterPill-checkbox-backgroundColor: var(--palettes-neutral-0);--components-filterPill-checkbox-color: var(--palettes-neutral-0);--components-filterPill-checkbox-borderColor: var(--palettes-neutral-700);--components-filterPill-checkbox-icon-scale: 0;--components-filterPill-checkbox-icon-timingFonction: cubic-bezier(.5, -.5, .5, 0);--components-filterPill-toggle-rotation: 0;--components-filterPill-toggle-iconColor: var(--palettes-neutral-600);--components-filterPill-shadow: 0 0 0 1px var(--components-filterPill-borderColor);--components-filterPill-display: flex;--components-filterPill-arrowColor: var(--palettes-product-700);--components-filterPill-label-maxInlineSize: none;display:var(--components-filterPill-display);gap:var(--components-filterPill-gap);align-items:center;background-color:var(--components-filterPill-backgroundColor);inline-size:fit-content;padding:var(--components-filterPill-padding);border-radius:var(--pr-t-border-radius-default);color:var(--components-filterPill-color);font:var(--pr-t-font-body-S);box-shadow:var(--components-filterPill-shadow);position:relative;white-space:nowrap;transition-property:box-shadow;transition-duration:var(--commons-animations-durations-fast)}.filterPill_popover-content.popover-contentOptional{--components-dateInput-width: none;display:flex;flex-direction:column;gap:var(--pr-t-spacings-50)}.filterPill_popover-content.popover-contentOptional:has(.filterPill_popover-content-option){--components-popover-padding: var(--pr-t-spacings-50)}.filterPill_popover-content-option{padding:var(--pr-t-spacings-50) var(--pr-t-spacings-100);border-radius:var(--pr-t-border-radius-50)}.filterPill_popover-content-option:hover{background-color:var(--palettes-neutral-50)}.filterPill_popover-content-option:has(:checked){background-color:var(--palettes-product-50)}.filterPill_popover-content-option:has(:checked):hover{background-color:var(--palettes-product-100)}.filterPill-icon{display:flex}.filterPill-icon .lucca-icon{--icon-size: 1.25rem}.filterPill-label{font-weight:var(--components-filterPill-label-fontWeight);overflow:hidden;text-overflow:ellipsis;outline:none;text-align:center;flex-shrink:0;max-inline-size:var(--components-filterPill-label-maxInlineSize)}.filterPill-label:before{content:\"\";position:absolute;inset:0;cursor:var(--components-filterPill-label-cursor);z-index:1}.filterPill-toggle{padding:0;border:0;inline-size:100%;background-color:transparent;color:inherit;text-align:start;display:block;font:inherit;cursor:pointer;display:flex;margin-inline-start:var(--pr-t-spacings-50);inline-size:calc(var(--pr-t-spacings-50) + var(--pr-t-spacings-200));flex-shrink:0;z-index:1;color:var(--components-filterPill-toggle-iconColor);cursor:var(--components-filterPill-label-cursor)}.filterPill-toggle .icon-arrowChevronBottom{transition-property:transform;transition-duration:var(--commons-animations-durations-fast);transform:rotate(var(--components-filterPill-toggle-rotation))}.filterPill-clear.clear{margin-inline-start:var(--pr-t-spacings-75);margin-inline-end:var(--pr-t-spacings-25);position:relative;z-index:1;--components-clear-cross-color: var(--palettes-neutral-0);--components-clear-background: var(--palettes-product-800)}.filterPill-clear.clear:hover{--components-clear-background: var(--palettes-product-700)}.filterPill-clear.clear:active{--components-clear-background: var(--palettes-product-900)}.filterPill-combobox{padding:0;border:0;inline-size:100%;background-color:transparent;color:inherit;text-align:start;display:block;font:inherit;cursor:pointer;font-weight:var(--components-filterPill-label-fontWeightChecked);inline-size:auto;z-index:1;margin-inline-start:.5ch;min-inline-size:0;overflow:hidden;text-overflow:ellipsis;cursor:var(--components-filterPill-label-cursor);display:flex;align-items:center;gap:var(--pr-t-spacings-50);max-inline-size:15rem}.filterPill-combobox:focus-visible{outline:none}.filterPill-combobox .lucca-icon{color:var(--components-filterPill-arrowColor)}.filterPill-label-placeholder{display:block;block-size:0;overflow:hidden;text-overflow:ellipsis;font-weight:var(--components-filterPill-label-fontWeightChecked)}.filterPill-checkbox{border:2px solid var(--components-filterPill-checkbox-borderColor);border-radius:var(--pr-t-border-radius-50);color:var(--components-filterPill-checkbox-color);transition-property:color,border-color,background-color;transition-duration:var(--commons-animations-durations-fast);background-color:var(--components-filterPill-checkbox-backgroundColor);cursor:pointer;display:flex;order:-1}@media(prefers-reduced-motion:reduce){.filterPill-checkbox{transition-property:none}}.filterPill-checkbox-icon{inline-size:var(--pr-t-spacings-150);block-size:var(--pr-t-spacings-150)}.filterPill-checkbox-icon-check{display:flex;align-items:center;justify-content:center;inline-size:100%;block-size:100%;transform:scale(var(--components-filterPill-checkbox-icon-scale));transition-property:transform;transition-duration:var(--commons-animations-durations-fast);transition-timing-function:var(--components-filterPill-checkbox-icon-timingFonction)}@media(prefers-reduced-motion:reduce){.filterPill-checkbox-icon-check{transition-property:none}}.filterPill-checkbox-icon-check:before{font-weight:var(--pr-t-font-fontWeight-regular);font-size:1rem;direction:ltr;font-family:var(--icon-fontFamily);font-feature-settings:\"liga\";font-style:normal;letter-spacing:normal;line-height:1;text-transform:none;white-space:nowrap;word-wrap:normal;content:\"\\e97d\"/\"\"}.filterPill-checkbox-input{border:0;clip:rect(1px,1px,1px,1px);margin:-1px;overflow:hidden;padding:0;position:absolute;block-size:1px;inline-size:1px;white-space:nowrap;contain:paint}}@layer mods{.filterPill:not(.is-filled) .filterPill-combobox{border:0;clip:rect(1px,1px,1px,1px);margin:-1px;overflow:hidden;padding:0;position:absolute;block-size:1px;inline-size:1px;white-space:nowrap;contain:paint}.filterPill:hover{--components-filterPill-borderColor: var(--palettes-product-400);--components-filterPill-checkbox-borderColor: var(--palettes-neutral-600);--components-filterPill-shadow: 0 0 0 1px var(--components-filterPill-borderColor), var(--pr-t-elevation-shadow-button)}.filterPill:active,.filterPill:has(:active){--components-filterPill-backgroundColor: var(--palettes-neutral-0);box-shadow:0 0 0 1px var(--palettes-product-500),var(--pr-t-elevation-shadow-button)}.filterPill:has(.filterPill-combobox:focus-visible){outline:2px solid var(--palettes-product-700);outline-offset:3px}.filterPill:has(.filterPill-combobox[aria-expanded=true]){--components-filterPill-toggle-rotation: -.5turn}.filterPill.is-filled{--components-filterPill-borderColor: var(--palettes-product-300);--components-filterPill-backgroundColor: var(--palettes-product-50);--components-filterPill-color: var(--palettes-product-800);--components-filterPill-toggle-iconColor: var(--palettes-product-700)}.filterPill.is-filled:hover{--components-filterPill-borderColor: var(--palettes-product-400);--components-filterPill-checkbox-borderColor: var(--palettes-product-600);--components-filterPill-checkbox-backgroundColor: var(--palettes-product-600)}.filterPill.is-filled:has(.filterPill-combobox:active){--components-filterPill-backgroundColor: var(--palettes-product-100);--components-filterPill-checkbox-borderColor: var(--palettes-product-700);--components-filterPill-checkbox-backgroundColor: var(--palettes-product-700)}.filterPill.mod-checkbox{--components-filterPill-gap: var(--pr-t-spacings-100);--components-filterPill-padding: var(--pr-t-spacings-75) var(--pr-t-spacings-150);--components-filterPill-label-maxInlineSize: 15rem}.filterPill.mod-checkbox:has(.filterPill-checkbox-input:focus-visible){outline:2px solid var(--palettes-product-700);outline-offset:3px}.filterPill.mod-checkbox:has(.filterPill-checkbox-input:checked){--components-filterPill-borderColor: var(--palettes-product-300);--components-filterPill-backgroundColor: var(--palettes-product-50);--components-filterPill-color: var(--palettes-product-800);--components-filterPill-checkbox-backgroundColor: var(--palettes-product-700);--components-filterPill-checkbox-borderColor: var(--palettes-product-700);--components-filterPill-checkbox-icon-scale: 1;--components-filterPill-checkbox-icon-timingFonction: cubic-bezier(.5, 1, .5, 1.5);--components-filterPill-label-fontWeight: var(--components-filterPill-label-fontWeightChecked)}.filterPill.mod-checkbox:has(.filterPill-checkbox-input:checked):hover{--components-filterPill-borderColor: var(--palettes-product-400);--components-filterPill-checkbox-borderColor: var(--palettes-product-600);--components-filterPill-checkbox-backgroundColor: var(--palettes-product-600)}.filterPill.mod-checkbox:has(.filterPill-checkbox-input:checked):has(.filterPill-combobox:active){--components-filterPill-backgroundColor: var(--palettes-product-100);--components-filterPill-checkbox-borderColor: var(--palettes-product-700);--components-filterPill-checkbox-backgroundColor: var(--palettes-product-700)}.filterPill.mod-checkbox:has(.filterPill-checkbox-input:disabled){--components-filterPill-backgroundColor: var(--palettes-neutral-50);--components-filterPill-borderColor: var(--palettes-neutral-300);--components-filterPill-checkbox-borderColor: var(--palettes-neutral-500);--components-filterPill-color: var(--palettes-neutral-500);--components-filterPill-label-cursor: default;box-shadow:0 0 0 1px var(--components-filterPill-borderColor)}.filterPill.mod-checkbox:has(.filterPill-checkbox-input:disabled):has(.filterPill-checkbox-input:checked){--components-filterPill-backgroundColor: var(--palettes-neutral-50);--components-filterPill-borderColor: var(--palettes-neutral-300);--components-filterPill-checkbox-borderColor: var(--palettes-neutral-100);--components-filterPill-checkbox-backgroundColor: var(--palettes-neutral-100);--components-filterPill-color: var(--palettes-neutral-500);--components-filterPill-checkbox-color: var(--palettes-neutral-500);--components-filterPill-label-cursor: default}.filterPill.mod-button{--components-filterPill-backgroundColor: var(--pr-t-elevation-surface-raised);border:0;padding:var(--pr-t-spacings-75);cursor:pointer}.filterPill.mod-button:focus-visible{outline:2px solid var(--palettes-product-700);outline-offset:3px}.filterPill:has(.filterPill-combobox:disabled){--components-filterPill-backgroundColor: var(--palettes-neutral-50);--components-filterPill-borderColor: var(--palettes-neutral-300) !important;--components-filterPill-color: var(--palettes-neutral-500);--components-filterPill-toggle-iconColor: var(--palettes-neutral-500);--components-filterPill-label-cursor: default;--components-filterPill-arrowColor: var(--palettes-neutral-500);--components-filterPill-shadow: 0 0 0 1px var(--components-filterPill-borderColor);box-shadow:var(--components-filterPill-shadow);--components-clear-display: none}.filterPill.is-hidden{--components-filterPill-display: none}}@layer components{.filterBar{--components-filterBar-scrollBox-flexGrow: 0;--components-filterBar-scrollBox-group-flexWrap: wrap;--components-filterBar-flexWrap: nowrap;display:flex;align-items:flex-start;flex-wrap:var(--components-filterBar-flexWrap);gap:var(--pr-t-spacings-100)}.filterBar .textField{--component-textField-borderRadius: var(--pr-t-border-radius-default);--component-textField-border: var(--palettes-neutral-100);--component-textField-borderHover: var(--palettes-product-400);--component-textField-width: 15rem;--component-textField-font: var(--pr-t-font-body-S);--component-textField-padding: var(--pr-t-spacings-75);--component-textField-affix-size: 1.5rem}.filterBar .textField .textField-input-affix-toggle{--icon-size: 1.25rem}.filterBar .textField .textField-input-affix-clear.clear,.filterBar .textField .textField-input-affix-clear:not(.clear){--components-clear-size: .75rem;--icon-size: .75rem}.filterBar .textField .textField-input-affix-icon{--icon-size: 1.25rem}.filterBar-divider.divider{--components-divider-marginBlock: 0;--components-divider-marginInline: var(--pr-t-spacings-50);--components-divider-alignSelf: stretch}.filterBar-divider.divider:where(:empty){border-inline-start:var(--commons-divider-border)}.filterBar-divider.divider:not(:empty){--components-divider-direction: column;--components-divider-iconBottom: var(--pr-t-spacings-25);--components-divider-justify: center}.filterBar-divider.divider:not(:empty):before,.filterBar-divider.divider:not(:empty):after{border-inline-start:var(--commons-divider-border);min-block-size:var(--components-divider-minSize)}.filterBar-divider.divider{margin-inline:var(--pr-t-spacings-50)}.filterBar-divider.divider:last-child{display:none}.filterBar-scrollBox{flex-grow:var(--components-filterBar-scrollBox-flexGrow)}.filterBar-segmentedControl.segmentedControl{--components-segmentedControl-padding: var(--pr-t-spacings-75) var(--pr-t-spacings-150);--components-segmentedControl-font: var(--pr-t-font-body-S);--components-segmentedControl-dividerInset: var(--pr-t-spacings-75)}.filterBar-segmentedControl.segmentedControl .numericBadge{--components-numericBadge-size: 1.25rem;--components-numericBadge-borderRadius: var(--pr-t-border-radius-small);--components-numericBadge-font: var(--pr-t-font-body-XS);--components-numericBadge-fontSize: var(--pr-t-font-body-XS-fontSize);--components-numericBadge-lineHeight: var(--pr-t-font-body-XS-lineHeight)}.filterBar-scrollBox-group{display:flex;gap:var(--pr-t-spacings-100);flex-wrap:var(--components-filterBar-scrollBox-group-flexWrap);flex-grow:1;flex-shrink:1!important}.filterBar-scrollBox-export{margin-inline-start:auto;padding-inline-start:var(--pr-t-spacings-200);flex-shrink:0}}@layer mods{@media not all and (min-width:40em){.filterBar{--components-filterBar-flexWrap: wrap}.filterBar .filterBar-segmentedControl.segmentedControl{--components-segmentedControl-direction: row;--components-segmentedControl-width: 100%}.filterBar .filterBar-divider.divider{inline-size:100%}}@media(pointer:coarse){.filterBar{--components-filterBar-scrollBox-flexGrow: 1;--components-filterBar-scrollBox-group-flexWrap: nowrap}.filterBar .filterBar-segmentedControl.segmentedControl{--components-segmentedControl-whiteSpace: nowrap;--components-segmentedControl-width: auto;--components-segmentedControl-wrap: nowrap}.filterBar .filterBar-scrollBox.scrollBox{-ms-overflow-style:none;scrollbar-width:none}.filterBar .filterBar-scrollBox.scrollBox::-webkit-scrollbar{display:none}}@media not (pointer:coarse){.filterBar .filterBar-scrollBox.scrollBox{--components-scrollBox-pseudoElementsContent: none;--components-scrollBox-display: contents;--components-scrollBox-firstLast-display: none}}}\n"] }]
234
+ }, template: "@if (!isHidden()) {\n\t@if (layout() === \"default\") {\n\t\t<label [attr.for]=\"id\" class=\"filterPill-label\">\n\t\t\t<ng-container\n\t\t\t\t*ngTemplateOutlet=\"\n\t\t\t\t\tlabelTpl();\n\t\t\t\t\tcontext: { label: label(), isEmpty: inputIsEmpty(), placeholder: placeholder(), colon: colonDisplay() }\n\t\t\t\t\"\n\t\t\t/>\n\t\t</label>\n\t\t<button\n\t\t\t[id]=\"id\"\n\t\t\t[attr.disabled]=\"disabled() ? 'disabled' : null\"\n\t\t\tclass=\"filterPill-combobox\"\n\t\t\ttype=\"button\"\n\t\t\trole=\"combobox\"\n\t\t\t[luPopover2]=\"pillContent\"\n\t\t\t[luPopoverNoCloseButton]=\"true\"\n\t\t\t[customPositions]=\"popoverPositions\"\n\t\t\t[luPopoverAnchor]=\"elementRef\"\n\t\t\t(luPopoverOpened)=\"popoverOpened()\"\n\t\t\tluTooltip\n\t\t\tluTooltipWhenEllipsis\n\t\t\t[luTooltipDisabled]=\"inputIsEmpty()\"\n\t\t\t#comboboxRef\n\t\t\t#popoverRef=\"luPopover2\"\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>\n\t\t\t<ng-container *ngTemplateOutlet=\"pillTpl; context: { label: label(), isEmpty: inputIsEmpty() }\" />\n\t\t\t@if (inputIsEmpty() && !disabled()) {\n\t\t\t\t{{ placeholder() }}\n\t\t\t}\n\t\t</button>\n\t\t@if (inputIsClearable()) {\n\t\t\t<lu-clear class=\"filterPill-clear\" (onClear)=\"clear(); comboboxRef.focus()\">{{ intl.clear }}</lu-clear>\n\t\t}\n\t\t<button\n\t\t\ttype=\"button\"\n\t\t\taria-hidden=\"true\"\n\t\t\ttabindex=\"-1\"\n\t\t\tclass=\"filterPill-toggle\"\n\t\t\t[attr.disabled]=\"disabled() ? 'disabled' : null\"\n\t\t\t(click)=\"popoverRef.openPopover(true)\"\n\t\t>\n\t\t\t<lu-icon [icon]=\"displayedIcon()\" size=\"S\" />\n\t\t</button>\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", styles: ["@layer components{.filterPill{--components-filterPill-gap: 0;--components-filterPill-padding: var(--pr-t-spacings-75) var(--pr-t-spacings-100);--components-filterPill-label-fontWeightNormal: 400;--components-filterPill-label-fontWeightChecked: 600;--components-filterPill-borderColor: var(--palettes-neutral-100);--components-filterPill-backgroundColor: var(--palettes-neutral-0);--components-filterPill-color: var(--pr-t-color-text);--components-filterPill-label-cursor: pointer;--components-filterPill-checkbox-backgroundColor: var(--palettes-neutral-0);--components-filterPill-checkbox-color: var(--palettes-neutral-0);--components-filterPill-checkbox-borderColor: var(--palettes-neutral-700);--components-filterPill-checkbox-icon-scale: 0;--components-filterPill-checkbox-icon-timingFonction: cubic-bezier(.5, -.5, .5, 0);--components-filterPill-toggle-rotation: 0;--components-filterPill-toggle-iconColor: var(--palettes-neutral-600);--components-filterPill-shadow: 0 0 0 1px var(--components-filterPill-borderColor);--components-filterPill-display: flex;--components-filterPill-arrowColor: var(--palettes-product-700);--components-filterPill-label-maxInlineSize: none;display:var(--components-filterPill-display);gap:var(--components-filterPill-gap);align-items:center;background-color:var(--components-filterPill-backgroundColor);inline-size:fit-content;padding:var(--components-filterPill-padding);border-radius:var(--pr-t-border-radius-default);color:var(--components-filterPill-color);font:var(--pr-t-font-body-S);box-shadow:var(--components-filterPill-shadow);position:relative;white-space:nowrap;transition-property:box-shadow;transition-duration:var(--commons-animations-durations-fast)}.filterPill_popover-content.popover-contentOptional{--components-dateInput-width: none;display:flex;flex-direction:column;gap:var(--pr-t-spacings-50)}.filterPill_popover-content.popover-contentOptional:has(.filterPill_popover-content-option){--components-popover-padding: var(--pr-t-spacings-50)}.filterPill_popover-content-option{padding:var(--pr-t-spacings-50) var(--pr-t-spacings-100);border-radius:var(--pr-t-border-radius-50)}.filterPill_popover-content-option:hover{background-color:var(--palettes-neutral-50)}.filterPill_popover-content-option:has(:checked){background-color:var(--palettes-product-50)}.filterPill_popover-content-option:has(:checked):hover{background-color:var(--palettes-product-100)}.filterPill-icon{display:flex}.filterPill-icon .lucca-icon{--icon-size: 1.25rem}.filterPill-label{font-weight:var(--components-filterPill-label-fontWeight);overflow:hidden;text-overflow:ellipsis;outline:none;text-align:center;flex-shrink:0;max-inline-size:var(--components-filterPill-label-maxInlineSize)}.filterPill-label:before{content:\"\";position:absolute;inset:0;cursor:var(--components-filterPill-label-cursor);z-index:1}.filterPill-toggle{padding:0;border:0;inline-size:100%;background-color:transparent;color:inherit;text-align:start;display:block;font:inherit;cursor:pointer;display:flex;margin-inline-start:var(--pr-t-spacings-50);inline-size:calc(var(--pr-t-spacings-50) + var(--pr-t-spacings-200));flex-shrink:0;z-index:1;color:var(--components-filterPill-toggle-iconColor);cursor:var(--components-filterPill-label-cursor)}.filterPill-toggle .icon-arrowChevronBottom{transition-property:transform;transition-duration:var(--commons-animations-durations-fast);transform:rotate(var(--components-filterPill-toggle-rotation))}.filterPill-clear.clear{margin-inline-start:var(--pr-t-spacings-75);margin-inline-end:var(--pr-t-spacings-25);position:relative;z-index:1;--components-clear-cross-color: var(--palettes-neutral-0);--components-clear-background: var(--palettes-product-800)}.filterPill-clear.clear:hover{--components-clear-background: var(--palettes-product-700)}.filterPill-clear.clear:active{--components-clear-background: var(--palettes-product-900)}.filterPill-combobox{padding:0;border:0;inline-size:100%;background-color:transparent;color:inherit;text-align:start;display:block;font:inherit;cursor:pointer;font-weight:var(--components-filterPill-label-fontWeightChecked);inline-size:auto;z-index:1;margin-inline-start:.5ch;min-inline-size:0;overflow:hidden;text-overflow:ellipsis;cursor:var(--components-filterPill-label-cursor);display:flex;align-items:center;gap:var(--pr-t-spacings-50);max-inline-size:15rem}.filterPill-combobox:focus-visible{outline:none}.filterPill-combobox .lucca-icon{color:var(--components-filterPill-arrowColor)}.filterPill-label-placeholder{display:block;block-size:0;overflow:hidden;text-overflow:ellipsis;font-weight:var(--components-filterPill-label-fontWeightChecked)}.filterPill-checkbox{border:2px solid var(--components-filterPill-checkbox-borderColor);border-radius:var(--pr-t-border-radius-50);color:var(--components-filterPill-checkbox-color);transition-property:color,border-color,background-color;transition-duration:var(--commons-animations-durations-fast);background-color:var(--components-filterPill-checkbox-backgroundColor);cursor:pointer;display:flex;order:-1}@media(prefers-reduced-motion:reduce){.filterPill-checkbox{transition-property:none}}.filterPill-checkbox-icon{inline-size:var(--pr-t-spacings-150);block-size:var(--pr-t-spacings-150)}.filterPill-checkbox-icon-check{display:flex;align-items:center;justify-content:center;inline-size:100%;block-size:100%;transform:scale(var(--components-filterPill-checkbox-icon-scale));transition-property:transform;transition-duration:var(--commons-animations-durations-fast);transition-timing-function:var(--components-filterPill-checkbox-icon-timingFonction)}@media(prefers-reduced-motion:reduce){.filterPill-checkbox-icon-check{transition-property:none}}.filterPill-checkbox-icon-check:before{font-weight:var(--pr-t-font-fontWeight-regular);font-size:1rem;direction:ltr;font-family:var(--icon-fontFamily);font-feature-settings:\"liga\";font-style:normal;letter-spacing:normal;line-height:1;text-transform:none;white-space:nowrap;word-wrap:normal;content:\"\\e97d\"/\"\"}.filterPill-checkbox-input{border:0;clip:rect(1px,1px,1px,1px);margin:-1px;overflow:hidden;padding:0;position:absolute;block-size:1px;inline-size:1px;white-space:nowrap;contain:paint}}@layer mods{.filterPill:not(.is-filled) .filterPill-combobox{border:0;clip:rect(1px,1px,1px,1px);margin:-1px;overflow:hidden;padding:0;position:absolute;block-size:1px;inline-size:1px;white-space:nowrap;contain:paint}.filterPill:hover{--components-filterPill-borderColor: var(--palettes-product-400);--components-filterPill-checkbox-borderColor: var(--palettes-neutral-600);--components-filterPill-shadow: 0 0 0 1px var(--components-filterPill-borderColor), var(--pr-t-elevation-shadow-button)}.filterPill:active,.filterPill:has(:active){--components-filterPill-backgroundColor: var(--palettes-neutral-0);box-shadow:0 0 0 1px var(--palettes-product-500),var(--pr-t-elevation-shadow-button)}.filterPill:has(.filterPill-combobox:focus-visible){outline:2px solid var(--palettes-product-700);outline-offset:3px}.filterPill:has(.filterPill-combobox[aria-expanded=true]){--components-filterPill-toggle-rotation: -.5turn}.filterPill.is-filled{--components-filterPill-borderColor: var(--palettes-product-300);--components-filterPill-backgroundColor: var(--palettes-product-50);--components-filterPill-color: var(--palettes-product-800);--components-filterPill-toggle-iconColor: var(--palettes-product-700)}.filterPill.is-filled:hover{--components-filterPill-borderColor: var(--palettes-product-400);--components-filterPill-checkbox-borderColor: var(--palettes-product-600);--components-filterPill-checkbox-backgroundColor: var(--palettes-product-600)}.filterPill.is-filled:has(.filterPill-combobox:active){--components-filterPill-backgroundColor: var(--palettes-product-100);--components-filterPill-checkbox-borderColor: var(--palettes-product-700);--components-filterPill-checkbox-backgroundColor: var(--palettes-product-700)}.filterPill.mod-checkbox{--components-filterPill-gap: var(--pr-t-spacings-100);--components-filterPill-label-maxInlineSize: 15rem}.filterPill.mod-checkbox:has(.filterPill-checkbox-input:focus-visible){outline:2px solid var(--palettes-product-700);outline-offset:3px}.filterPill.mod-checkbox:has(.filterPill-checkbox-input:checked){--components-filterPill-borderColor: var(--palettes-product-300);--components-filterPill-backgroundColor: var(--palettes-product-50);--components-filterPill-color: var(--palettes-product-800);--components-filterPill-checkbox-backgroundColor: var(--palettes-product-700);--components-filterPill-checkbox-borderColor: var(--palettes-product-700);--components-filterPill-checkbox-icon-scale: 1;--components-filterPill-checkbox-icon-timingFonction: cubic-bezier(.5, 1, .5, 1.5);--components-filterPill-label-fontWeight: var(--components-filterPill-label-fontWeightChecked)}.filterPill.mod-checkbox:has(.filterPill-checkbox-input:checked):hover{--components-filterPill-borderColor: var(--palettes-product-400);--components-filterPill-checkbox-borderColor: var(--palettes-product-600);--components-filterPill-checkbox-backgroundColor: var(--palettes-product-600)}.filterPill.mod-checkbox:has(.filterPill-checkbox-input:checked):has(.filterPill-combobox:active){--components-filterPill-backgroundColor: var(--palettes-product-100);--components-filterPill-checkbox-borderColor: var(--palettes-product-700);--components-filterPill-checkbox-backgroundColor: var(--palettes-product-700)}.filterPill.mod-checkbox:has(.filterPill-checkbox-input:disabled){--components-filterPill-backgroundColor: var(--palettes-neutral-50);--components-filterPill-borderColor: var(--palettes-neutral-300);--components-filterPill-checkbox-borderColor: var(--palettes-neutral-500);--components-filterPill-color: var(--palettes-neutral-500);--components-filterPill-label-cursor: default;box-shadow:0 0 0 1px var(--components-filterPill-borderColor)}.filterPill.mod-checkbox:has(.filterPill-checkbox-input:disabled):has(.filterPill-checkbox-input:checked){--components-filterPill-backgroundColor: var(--palettes-neutral-50);--components-filterPill-borderColor: var(--palettes-neutral-300);--components-filterPill-checkbox-borderColor: var(--palettes-neutral-100);--components-filterPill-checkbox-backgroundColor: var(--palettes-neutral-100);--components-filterPill-color: var(--palettes-neutral-500);--components-filterPill-checkbox-color: var(--palettes-neutral-500);--components-filterPill-label-cursor: default}.filterPill.mod-button{--components-filterPill-backgroundColor: var(--pr-t-elevation-surface-raised);border:0;padding:var(--pr-t-spacings-75);cursor:pointer}.filterPill.mod-button:focus-visible{outline:2px solid var(--palettes-product-700);outline-offset:3px}.filterPill:has(.filterPill-combobox:disabled){--components-filterPill-backgroundColor: var(--palettes-neutral-50);--components-filterPill-borderColor: var(--palettes-neutral-300) !important;--components-filterPill-color: var(--palettes-neutral-500);--components-filterPill-toggle-iconColor: var(--palettes-neutral-500);--components-filterPill-label-cursor: default;--components-filterPill-arrowColor: var(--palettes-neutral-500);--components-filterPill-shadow: 0 0 0 1px var(--components-filterPill-borderColor);box-shadow:var(--components-filterPill-shadow);--components-clear-display: none}.filterPill.is-hidden{--components-filterPill-display: none}}@layer components{.filterBar{--components-filterBar-scrollBox-flexGrow: 0;--components-filterBar-scrollBox-group-flexWrap: wrap;--components-filterBar-flexWrap: nowrap;display:flex;align-items:flex-start;flex-wrap:var(--components-filterBar-flexWrap);gap:var(--pr-t-spacings-100)}.filterBar .textField{--component-textField-borderRadius: var(--pr-t-border-radius-default);--component-textField-border: var(--palettes-neutral-100);--component-textField-borderHover: var(--palettes-product-400);--component-textField-width: 15rem;--component-textField-font: var(--pr-t-font-body-S);--component-textField-padding: var(--pr-t-spacings-75);--component-textField-affix-size: 1.5rem}.filterBar .textField .textField-input-affix-toggle{--icon-size: 1.25rem}.filterBar .textField .textField-input-affix-clear.clear,.filterBar .textField .textField-input-affix-clear:not(.clear){--components-clear-size: .75rem;--icon-size: .75rem}.filterBar .textField .textField-input-affix-icon{--icon-size: 1.25rem}.filterBar-divider.divider{--components-divider-marginBlock: 0;--components-divider-marginInline: var(--pr-t-spacings-50);--components-divider-alignSelf: stretch}.filterBar-divider.divider:where(:empty){border-inline-start:var(--commons-divider-border)}.filterBar-divider.divider:not(:empty){--components-divider-direction: column;--components-divider-iconBottom: var(--pr-t-spacings-25);--components-divider-justify: center}.filterBar-divider.divider:not(:empty):before,.filterBar-divider.divider:not(:empty):after{border-inline-start:var(--commons-divider-border);min-block-size:var(--components-divider-minSize)}.filterBar-divider.divider{margin-inline:var(--pr-t-spacings-50)}.filterBar-divider.divider:last-child{display:none}.filterBar-scrollBox{flex-grow:var(--components-filterBar-scrollBox-flexGrow)}.filterBar-segmentedControl.segmentedControl{--components-segmentedControl-padding: var(--pr-t-spacings-75) var(--pr-t-spacings-150);--components-segmentedControl-font: var(--pr-t-font-body-S);--components-segmentedControl-dividerInset: var(--pr-t-spacings-75)}.filterBar-segmentedControl.segmentedControl .numericBadge{--components-numericBadge-size: 1.25rem;--components-numericBadge-borderRadius: var(--pr-t-border-radius-small);--components-numericBadge-font: var(--pr-t-font-body-XS);--components-numericBadge-fontSize: var(--pr-t-font-body-XS-fontSize);--components-numericBadge-lineHeight: var(--pr-t-font-body-XS-lineHeight)}.filterBar-scrollBox-group{display:flex;gap:var(--pr-t-spacings-100);flex-wrap:var(--components-filterBar-scrollBox-group-flexWrap);flex-grow:1;flex-shrink:1!important}.filterBar-scrollBox-export{margin-inline-start:auto;padding-inline-start:var(--pr-t-spacings-200);flex-shrink:0}}@layer mods{@media not all and (min-width:40em){.filterBar{--components-filterBar-flexWrap: wrap}.filterBar .filterBar-segmentedControl.segmentedControl{--components-segmentedControl-direction: row;--components-segmentedControl-width: 100%}.filterBar .filterBar-divider.divider{inline-size:100%}}@media(pointer:coarse){.filterBar{--components-filterBar-scrollBox-flexGrow: 1;--components-filterBar-scrollBox-group-flexWrap: nowrap}.filterBar .filterBar-segmentedControl.segmentedControl{--components-segmentedControl-whiteSpace: nowrap;--components-segmentedControl-width: auto;--components-segmentedControl-wrap: nowrap}.filterBar .filterBar-scrollBox.scrollBox{-ms-overflow-style:none;scrollbar-width:none}.filterBar .filterBar-scrollBox.scrollBox::-webkit-scrollbar{display:none}}@media not (pointer:coarse){.filterBar .filterBar-scrollBox.scrollBox{--components-scrollBox-pseudoElementsContent: none;--components-scrollBox-display: contents;--components-scrollBox-firstLast-display: none}}}\n"] }]
235
235
  }], ctorParameters: () => [], propDecorators: { childInputComponentRef: [{ type: i0.ContentChild, args: [i0.forwardRef(() => FILTER_PILL_INPUT_COMPONENT), { isSignal: true }] }], popoverRef: [{ type: i0.ViewChild, args: [i0.forwardRef(() => PopoverDirective), { isSignal: true }] }], defaultLabelTpl: [{ type: i0.ViewChild, args: ['defaultLabel', { isSignal: true }] }], name: [{ type: i0.Input, args: [{ isSignal: true, alias: "name", required: false }] }], optional: [{ type: i0.Input, args: [{ isSignal: true, alias: "optional", required: false }] }], isHiddenClass: [{
236
236
  type: HostBinding,
237
237
  args: ['class.is-hidden']
@@ -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.component.ts","../../../packages/ng/filter-pills/filter-bar/filter-bar.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.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},\n\tpt: {\n\t\tclear: 'Esvaziar este campo',\n\t\tplaceholder: 'Nenhum valor selecionado',\n\t\tadditionalFilters: 'Filtros adicionais',\n\t},\n\tes: {\n\t\tclear: 'Vaciar este campo',\n\t\tplaceholder: 'Ningún valor seleccionado',\n\t\tadditionalFilters: 'Filtros adicionales',\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},\n\tnl: {\n\t\tclear: 'Dit veld leegmaken',\n\t\tplaceholder: 'Geen waarde geselecteerd',\n\t\tadditionalFilters: 'Extra filters',\n\t},\n\tit: {\n\t\tclear: 'Vuotare questo campo',\n\t\tplaceholder: 'Nessun valore selezionato',\n\t\tadditionalFilters: 'Filtri aggiuntivi',\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},\n\ten: {\n\t\tclear: 'Empty this field',\n\t\tplaceholder: 'No value selected',\n\t\tadditionalFilters: 'Additional filters',\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}\n\nexport const luFilterPillsTranslations: LuTranslation<LuFilterPillsLabel> = Translations;\n","import { ConnectionPositionPair } from '@angular/cdk/overlay';\nimport { NgTemplateOutlet } from '@angular/common';\nimport {\n\tbooleanAttribute,\n\tChangeDetectionStrategy,\n\tComponent,\n\tcomputed,\n\tcontentChild,\n\teffect,\n\tElementRef,\n\tforwardRef,\n\tHostBinding,\n\tHostListener,\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 { getIntl } 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\nlet nextId = 0;\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: 'filterPill',\n\t},\n})\nexport class FilterPillComponent {\n\tintl = getIntl(LU_FILTER_PILLS_TRANSLATIONS);\n\n\t#locale = inject(LOCALE_ID);\n\n\telementRef = inject(ElementRef);\n\n\tid = `filterPill-combobox-${nextId++}`;\n\n\tlayout = computed(() => this.inputComponentRef()?.filterPillLayout?.() || 'default');\n\n\t// The easy way to grab input component, will work in most cases\n\tchildInputComponentRef = 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\tregisteredInputComponentRef = signal<FilterPillInputComponent | null>(null);\n\n\tinputComponentRef = computed(() => this.registeredInputComponentRef() || this.childInputComponentRef());\n\n\tpopoverRef = viewChild(PopoverDirective);\n\n\tpillTpl: TemplateRef<unknown>;\n\n\tlabelTpl = computed(() => this.customLabelTpl() || this.defaultLabelTpl());\n\n\tdefaultLabelTpl = viewChild<TemplateRef<unknown>>('defaultLabel');\n\n\tcustomLabelTpl = signal<TemplateRef<unknown> | null>(null);\n\n\tname = input<string>();\n\n\toptional = input(false, { transform: booleanAttribute });\n\n\tdisabled = computed(() => this.inputComponentRef()?.filterPillDisabled?.() || false);\n\n\t@HostBinding('class.is-hidden')\n\tget isHiddenClass() {\n\t\treturn this.isHidden();\n\t}\n\n\tdisplayed = model(false);\n\n\tprotected 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\tlabel = input.required<string>();\n\n\tplaceholder = input<string>(this.intl.placeholder);\n\n\ticon = input<LuccaIcon>();\n\n\tdefaultIcon = computed<LuccaIcon>(() => this.inputComponentRef()?.getDefaultFilterPillIcon?.() ?? 'arrowChevronBottom');\n\n\tdisplayedIcon = computed(() => this.icon() || this.defaultIcon());\n\n\tshouldHideCombobox = computed(() => this.inputComponentRef()?.hideCombobox?.() ?? false);\n\n\tinputIsEmpty = computed(() => this.inputComponentRef()?.isFilterPillEmpty() ?? true);\n\tinputIsClearable = computed(() => this.inputComponentRef()?.isFilterPillClearable() ?? false);\n\n\tshouldShowColon = computed(() => this.inputComponentRef()?.showColon?.() || !this.inputIsEmpty());\n\n\tcolonDisplay = computed(() => {\n\t\tif (!this.shouldShowColon()) {\n\t\t\treturn '';\n\t\t}\n\t\tif (this.#locale === 'fr') {\n\t\t\treturn ' :';\n\t\t}\n\t\treturn ':';\n\t});\n\n\tmodCheckbox = computed(() => this.layout() === 'checkable');\n\n\t@HostBinding('class.mod-checkbox')\n\tget isModCheckbox() {\n\t\treturn this.modCheckbox();\n\t}\n\n\t@HostBinding('class.is-filled')\n\tget isFilled() {\n\t\treturn !this.inputIsEmpty();\n\t}\n\n\t@HostBinding('class.is-comboboxHidden')\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\t@HostListener('click')\n\thostClick(): void {\n\t\tthis.inputComponentRef()?.onFilterPillClick?.();\n\t}\n\n\tpopoverOpened(): void {\n\t\tthis.inputComponentRef()?.onFilterPillOpened?.();\n\t}\n\n\tclosePopover = () => {\n\t\tthis.popoverRef().close();\n\t\tthis.inputComponentRef()?.onFilterPillClosed?.();\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<label [attr.for]=\"id\" class=\"filterPill-label\">\n\t\t\t<ng-container\n\t\t\t\t*ngTemplateOutlet=\"\n\t\t\t\t\tlabelTpl();\n\t\t\t\t\tcontext: { label: label(), isEmpty: inputIsEmpty(), placeholder: placeholder(), colon: colonDisplay() }\n\t\t\t\t\"\n\t\t\t/>\n\t\t</label>\n\t\t<button\n\t\t\t[id]=\"id\"\n\t\t\t[attr.disabled]=\"disabled() ? 'disabled' : null\"\n\t\t\tclass=\"filterPill-combobox\"\n\t\t\ttype=\"button\"\n\t\t\trole=\"combobox\"\n\t\t\t[luPopover2]=\"pillContent\"\n\t\t\t[luPopoverNoCloseButton]=\"true\"\n\t\t\t[customPositions]=\"popoverPositions\"\n\t\t\t[luPopoverAnchor]=\"elementRef\"\n\t\t\t(luPopoverOpened)=\"popoverOpened()\"\n\t\t\tluTooltip\n\t\t\tluTooltipWhenEllipsis\n\t\t\t[luTooltipDisabled]=\"inputIsEmpty()\"\n\t\t\t#comboboxRef\n\t\t\t#popoverRef=\"luPopover2\"\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>\n\t\t\t<ng-container *ngTemplateOutlet=\"pillTpl; context: { label: label(), isEmpty: inputIsEmpty() }\" />\n\t\t\t@if (inputIsEmpty() && !disabled()) {\n\t\t\t\t{{ placeholder() }}\n\t\t\t}\n\t\t</button>\n\t\t@if (inputIsClearable()) {\n\t\t\t<lu-clear class=\"filterPill-clear\" (onClear)=\"clear(); comboboxRef.focus()\">{{ intl.clear }}</lu-clear>\n\t\t}\n\t\t<button\n\t\t\ttype=\"button\"\n\t\t\taria-hidden=\"true\"\n\t\t\ttabindex=\"-1\"\n\t\t\tclass=\"filterPill-toggle\"\n\t\t\t[attr.disabled]=\"disabled() ? 'disabled' : null\"\n\t\t\t(click)=\"popoverRef.openPopover(true)\"\n\t\t>\n\t\t\t<lu-icon [icon]=\"displayedIcon()\" size=\"S\" />\n\t\t</button>\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 { ConnectionPositionPair } from '@angular/cdk/overlay';\nimport { NgTemplateOutlet } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, computed, contentChildren, signal, TemplateRef, ViewEncapsulation } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { getIntl } from '@lucca-front/ng/core';\nimport { DividerComponent } from '@lucca-front/ng/divider';\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';\n\n@Component({\n\tselector: 'lu-filter-bar',\n\timports: [IconComponent, LuTooltipTriggerDirective, PopoverDirective, DividerComponent, ScrollBoxComponent, FormsModule, NgTemplateOutlet],\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})\nexport class FilterBarComponent {\n\tintl = getIntl(LU_FILTER_PILLS_TRANSLATIONS);\n\n\taddonBefore = signal<TemplateRef<unknown> | null>(null);\n\taddonAfter = 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\tpills = contentChildren(FilterPillComponent, { descendants: true });\n\n\toptionalPills = 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\" [attr.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 class=\"formLabel\" [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 { 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":[],"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.component.ts","../../../packages/ng/filter-pills/filter-bar/filter-bar.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.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},\n\tpt: {\n\t\tclear: 'Esvaziar este campo',\n\t\tplaceholder: 'Nenhum valor selecionado',\n\t\tadditionalFilters: 'Filtros adicionais',\n\t},\n\tes: {\n\t\tclear: 'Vaciar este campo',\n\t\tplaceholder: 'Ningún valor seleccionado',\n\t\tadditionalFilters: 'Filtros adicionales',\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},\n\tnl: {\n\t\tclear: 'Dit veld leegmaken',\n\t\tplaceholder: 'Geen waarde geselecteerd',\n\t\tadditionalFilters: 'Extra filters',\n\t},\n\tit: {\n\t\tclear: 'Vuotare questo campo',\n\t\tplaceholder: 'Nessun valore selezionato',\n\t\tadditionalFilters: 'Filtri aggiuntivi',\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},\n\ten: {\n\t\tclear: 'Empty this field',\n\t\tplaceholder: 'No value selected',\n\t\tadditionalFilters: 'Additional filters',\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}\n\nexport const luFilterPillsTranslations: LuTranslation<LuFilterPillsLabel> = Translations;\n","import { ConnectionPositionPair } from '@angular/cdk/overlay';\nimport { NgTemplateOutlet } from '@angular/common';\nimport {\n\tbooleanAttribute,\n\tChangeDetectionStrategy,\n\tComponent,\n\tcomputed,\n\tcontentChild,\n\teffect,\n\tElementRef,\n\tforwardRef,\n\tHostBinding,\n\tHostListener,\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 { getIntl } 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\nlet nextId = 0;\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: 'filterPill',\n\t},\n})\nexport class FilterPillComponent {\n\tintl = getIntl(LU_FILTER_PILLS_TRANSLATIONS);\n\n\t#locale = inject(LOCALE_ID);\n\n\telementRef = inject(ElementRef);\n\n\tid = `filterPill-combobox-${nextId++}`;\n\n\tlayout = computed(() => this.inputComponentRef()?.filterPillLayout?.() || 'default');\n\n\t// The easy way to grab input component, will work in most cases\n\tchildInputComponentRef = 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\tregisteredInputComponentRef = signal<FilterPillInputComponent | null>(null);\n\n\tinputComponentRef = computed(() => this.registeredInputComponentRef() || this.childInputComponentRef());\n\n\tpopoverRef = viewChild(PopoverDirective);\n\n\tpillTpl: TemplateRef<unknown>;\n\n\tlabelTpl = computed(() => this.customLabelTpl() || this.defaultLabelTpl());\n\n\tdefaultLabelTpl = viewChild<TemplateRef<unknown>>('defaultLabel');\n\n\tcustomLabelTpl = signal<TemplateRef<unknown> | null>(null);\n\n\tname = input<string>();\n\n\toptional = input(false, { transform: booleanAttribute });\n\n\tdisabled = computed(() => this.inputComponentRef()?.filterPillDisabled?.() || false);\n\n\t@HostBinding('class.is-hidden')\n\tget isHiddenClass() {\n\t\treturn this.isHidden();\n\t}\n\n\tdisplayed = model(false);\n\n\tprotected 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\tlabel = input.required<string>();\n\n\tplaceholder = input<string>(this.intl.placeholder);\n\n\ticon = input<LuccaIcon>();\n\n\tdefaultIcon = computed<LuccaIcon>(() => this.inputComponentRef()?.getDefaultFilterPillIcon?.() ?? 'arrowChevronBottom');\n\n\tdisplayedIcon = computed(() => this.icon() || this.defaultIcon());\n\n\tshouldHideCombobox = computed(() => this.inputComponentRef()?.hideCombobox?.() ?? false);\n\n\tinputIsEmpty = computed(() => this.inputComponentRef()?.isFilterPillEmpty() ?? true);\n\tinputIsClearable = computed(() => this.inputComponentRef()?.isFilterPillClearable() ?? false);\n\n\tshouldShowColon = computed(() => this.inputComponentRef()?.showColon?.() || !this.inputIsEmpty());\n\n\tcolonDisplay = computed(() => {\n\t\tif (!this.shouldShowColon()) {\n\t\t\treturn '';\n\t\t}\n\t\tif (this.#locale === 'fr') {\n\t\t\treturn ' :';\n\t\t}\n\t\treturn ':';\n\t});\n\n\tmodCheckbox = computed(() => this.layout() === 'checkable');\n\n\t@HostBinding('class.mod-checkbox')\n\tget isModCheckbox() {\n\t\treturn this.modCheckbox();\n\t}\n\n\t@HostBinding('class.is-filled')\n\tget isFilled() {\n\t\treturn !this.inputIsEmpty();\n\t}\n\n\t@HostBinding('class.is-comboboxHidden')\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\t@HostListener('click')\n\thostClick(): void {\n\t\tthis.inputComponentRef()?.onFilterPillClick?.();\n\t}\n\n\tpopoverOpened(): void {\n\t\tthis.inputComponentRef()?.onFilterPillOpened?.();\n\t}\n\n\tclosePopover = () => {\n\t\tthis.popoverRef().close();\n\t\tthis.inputComponentRef()?.onFilterPillClosed?.();\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<label [attr.for]=\"id\" class=\"filterPill-label\">\n\t\t\t<ng-container\n\t\t\t\t*ngTemplateOutlet=\"\n\t\t\t\t\tlabelTpl();\n\t\t\t\t\tcontext: { label: label(), isEmpty: inputIsEmpty(), placeholder: placeholder(), colon: colonDisplay() }\n\t\t\t\t\"\n\t\t\t/>\n\t\t</label>\n\t\t<button\n\t\t\t[id]=\"id\"\n\t\t\t[attr.disabled]=\"disabled() ? 'disabled' : null\"\n\t\t\tclass=\"filterPill-combobox\"\n\t\t\ttype=\"button\"\n\t\t\trole=\"combobox\"\n\t\t\t[luPopover2]=\"pillContent\"\n\t\t\t[luPopoverNoCloseButton]=\"true\"\n\t\t\t[customPositions]=\"popoverPositions\"\n\t\t\t[luPopoverAnchor]=\"elementRef\"\n\t\t\t(luPopoverOpened)=\"popoverOpened()\"\n\t\t\tluTooltip\n\t\t\tluTooltipWhenEllipsis\n\t\t\t[luTooltipDisabled]=\"inputIsEmpty()\"\n\t\t\t#comboboxRef\n\t\t\t#popoverRef=\"luPopover2\"\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>\n\t\t\t<ng-container *ngTemplateOutlet=\"pillTpl; context: { label: label(), isEmpty: inputIsEmpty() }\" />\n\t\t\t@if (inputIsEmpty() && !disabled()) {\n\t\t\t\t{{ placeholder() }}\n\t\t\t}\n\t\t</button>\n\t\t@if (inputIsClearable()) {\n\t\t\t<lu-clear class=\"filterPill-clear\" (onClear)=\"clear(); comboboxRef.focus()\">{{ intl.clear }}</lu-clear>\n\t\t}\n\t\t<button\n\t\t\ttype=\"button\"\n\t\t\taria-hidden=\"true\"\n\t\t\ttabindex=\"-1\"\n\t\t\tclass=\"filterPill-toggle\"\n\t\t\t[attr.disabled]=\"disabled() ? 'disabled' : null\"\n\t\t\t(click)=\"popoverRef.openPopover(true)\"\n\t\t>\n\t\t\t<lu-icon [icon]=\"displayedIcon()\" size=\"S\" />\n\t\t</button>\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 { ConnectionPositionPair } from '@angular/cdk/overlay';\nimport { NgTemplateOutlet } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, computed, contentChildren, signal, TemplateRef, ViewEncapsulation } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { getIntl } from '@lucca-front/ng/core';\nimport { DividerComponent } from '@lucca-front/ng/divider';\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';\n\n@Component({\n\tselector: 'lu-filter-bar',\n\timports: [IconComponent, LuTooltipTriggerDirective, PopoverDirective, DividerComponent, ScrollBoxComponent, FormsModule, NgTemplateOutlet],\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})\nexport class FilterBarComponent {\n\tintl = getIntl(LU_FILTER_PILLS_TRANSLATIONS);\n\n\taddonBefore = signal<TemplateRef<unknown> | null>(null);\n\taddonAfter = 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\tpills = contentChildren(FilterPillComponent, { descendants: true });\n\n\toptionalPills = 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\" [attr.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 class=\"formLabel\" [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 { 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":[],"mappings":"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"}