@lucca-front/ng 19.3.3-rc.3 → 19.3.3-rc.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (28) hide show
  1. package/date2/abstract-date-component.d.ts +4 -4
  2. package/date2/calendar2/calendar2.component.d.ts +7 -7
  3. package/dialog/model/dialog-ref.d.ts +6 -1
  4. package/divider/divider.component.d.ts +5 -8
  5. package/fesm2022/lucca-front-ng-date2.mjs.map +1 -1
  6. package/fesm2022/lucca-front-ng-dialog.mjs +15 -7
  7. package/fesm2022/lucca-front-ng-dialog.mjs.map +1 -1
  8. package/fesm2022/lucca-front-ng-divider.mjs +12 -25
  9. package/fesm2022/lucca-front-ng-divider.mjs.map +1 -1
  10. package/fesm2022/lucca-front-ng-file-upload.mjs +1 -1
  11. package/fesm2022/lucca-front-ng-file-upload.mjs.map +1 -1
  12. package/fesm2022/lucca-front-ng-filter-pills.mjs +1 -1
  13. package/fesm2022/lucca-front-ng-filter-pills.mjs.map +1 -1
  14. package/fesm2022/lucca-front-ng-forms-rich-text-input.mjs.map +1 -1
  15. package/fesm2022/lucca-front-ng-forms.mjs.map +1 -1
  16. package/fesm2022/lucca-front-ng-link.mjs.map +1 -1
  17. package/fesm2022/lucca-front-ng-page-header.mjs +2 -2
  18. package/fesm2022/lucca-front-ng-page-header.mjs.map +1 -1
  19. package/fesm2022/lucca-front-ng-skeleton.mjs +2 -2
  20. package/fesm2022/lucca-front-ng-skeleton.mjs.map +1 -1
  21. package/file-upload/base-file-upload/base-file-upload.component.d.ts +1 -1
  22. package/filter-pills/filter-pill/filter-pill.component.d.ts +1 -1
  23. package/forms/number-input/number-input.component.d.ts +2 -2
  24. package/forms/rich-text-input/rich-text-input.component.d.ts +2 -2
  25. package/forms/textarea-input/textarea-input.component.d.ts +1 -1
  26. package/link/link.component.d.ts +1 -1
  27. package/package.json +51 -51
  28. package/page-header/page-header.component.d.ts +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"lucca-front-ng-file-upload.mjs","sources":["../../../packages/ng/file-upload/translations.ts","../../../packages/ng/file-upload/file-upload.translate.ts","../../../packages/ng/file-upload/formatter.ts","../../../packages/ng/file-upload/base-file-upload/base-file-upload.component.ts","../../../packages/ng/file-upload/file-dropzone/file-dropzone.component.ts","../../../packages/ng/file-upload/file-dropzone/file-dropzone.component.html","../../../packages/ng/file-upload/file-entry/file-entry.component.ts","../../../packages/ng/file-upload/file-entry/file-entry.component.html","../../../packages/ng/file-upload/multi/multi-file-upload.component.ts","../../../packages/ng/file-upload/multi/multi-file-upload.component.html","../../../packages/ng/file-upload/single/single-file-upload.component.ts","../../../packages/ng/file-upload/single/single-file-upload.component.html","../../../packages/ng/file-upload/lucca-front-ng-file-upload.ts"],"sourcesContent":["export const Translations = {\n\ten: {\n\t\tacceptedFormat: { one: 'Accepted format:', other: 'Accepted formats:' },\n\t\tselectFile: { one: 'Select file', other: 'Select files' },\n\t\tdropOrClick: { one: 'Drop file here or <span>click to select</span>.', other: 'Drop files here or <span>click to select</span>.' },\n\t\tmaxWeight: { one: 'Maximum size: {{maxSizeDisplay}}. ', other: 'Maximum size for a file: {{maxSizeDisplay}}. ' },\n\t\tfileUploadedListed: { one: 'File already uploaded is detailed below.', other: 'Files already uploaded are detailed below.' },\n\t\tall: 'all',\n\t\tfile: '{{fileTypeLastPart}} file',\n\t\tdownload: 'Download',\n\t\tdownloadFile: 'Download file “{{fileName}}”',\n\t\tdelete: 'Delete',\n\t\tdeleteFile: 'Delete file “{{fileName}}”',\n\t\tpassword: 'Password',\n\t\tconfirmPassword: 'Password',\n\t},\n\tde: {\n\t\tacceptedFormat: { one: 'Accepted format:', other: 'Accepted formats:' },\n\t\tselectFile: { one: 'Select file', other: 'Select files' },\n\t\tdropOrClick: { one: 'Drop file here or <span>click to select</span>.', other: 'Drop files here or <span>click to select</span>.' },\n\t\tmaxWeight: { one: 'Maximum size: {{maxSizeDisplay}}. ', other: 'Maximum size for a file: {{maxSizeDisplay}}. ' },\n\t\tfileUploadedListed: { one: 'File already uploaded is detailed below.', other: 'Files already uploaded are detailed below.' },\n\t\tall: 'alle',\n\t\tfile: 'alle',\n\t\tdownload: 'Download',\n\t\tdownloadFile: 'Download',\n\t\tdelete: 'Löschen',\n\t\tdeleteFile: 'Löschen',\n\t\tpassword: 'Passwort',\n\t\tconfirmPassword: 'Passwort',\n\t},\n\tfr: {\n\t\tacceptedFormat: { one: 'Format accepté :', other: 'Formats acceptés :' },\n\t\tselectFile: { one: 'Sélectionner un fichier', other: 'Sélectionner des fichiers' },\n\t\tdropOrClick: { one: 'Déposez le fichier ici ou <span>cliquez pour le sélectionner</span>.', other: 'Déposez les fichiers ici ou <span>cliquez pour les sélectionner</span>.' },\n\t\tmaxWeight: { one: 'Poids maximum : {{maxSizeDisplay}}. ', other: 'Poids maximum pour un fichier : {{maxSizeDisplay}}. ' },\n\t\tfileUploadedListed: { one: 'Le fichier déjà déposé est détaillé après.', other: 'Les fichiers déjà déposés sont détaillés après.' },\n\t\tall: 'tous',\n\t\tfile: 'Fichier {{fileTypeLastPart}}',\n\t\tdownload: 'Télécharger',\n\t\tdownloadFile: 'Télécharger le fichier « {{fileName}} »',\n\t\tdelete: 'Supprimer',\n\t\tdeleteFile: 'Supprimer le fichier « {{fileName}} »',\n\t\tpassword: 'Mot de passe',\n\t\tconfirmPassword: 'Valider le mot de passe',\n\t},\n\tit: {\n\t\tacceptedFormat: { one: 'Accepted format:', other: 'Accepted formats:' },\n\t\tselectFile: { one: 'Select file', other: 'Select files' },\n\t\tdropOrClick: { one: 'Drop file here or <span>click to select</span>.', other: 'Drop files here or <span>click to select</span>.' },\n\t\tmaxWeight: { one: 'Maximum size: {{maxSizeDisplay}}. ', other: 'Maximum size for a file: {{maxSizeDisplay}}. ' },\n\t\tfileUploadedListed: { one: 'File already uploaded is detailed below.', other: 'Files already uploaded are detailed below.' },\n\t\tall: 'tutti',\n\t\tfile: 'tutti',\n\t\tdownload: 'Scaricare',\n\t\tdownloadFile: 'Scaricare',\n\t\tdelete: 'Eliminare',\n\t\tdeleteFile: 'Eliminare',\n\t\tpassword: 'Password',\n\t\tconfirmPassword: 'Confermare la password',\n\t},\n\tnl: {\n\t\tacceptedFormat: { one: 'Accepted format:', other: 'Accepted formats:' },\n\t\tselectFile: { one: 'Select file', other: 'Select files' },\n\t\tdropOrClick: { one: 'Drop file here or <span>click to select</span>.', other: 'Drop files here or <span>click to select</span>.' },\n\t\tmaxWeight: { one: 'Maximum size: {{maxSizeDisplay}}. ', other: 'Maximum size for a file: {{maxSizeDisplay}}. ' },\n\t\tfileUploadedListed: { one: 'File already uploaded is detailed below.', other: 'Files already uploaded are detailed below.' },\n\t\tall: 'alle',\n\t\tfile: 'alle',\n\t\tdownload: 'Downloaden',\n\t\tdownloadFile: 'Downloaden',\n\t\tdelete: 'Verwijderen',\n\t\tdeleteFile: 'Verwijderen',\n\t\tpassword: 'Wachtwoord',\n\t\tconfirmPassword: 'Wachtwoord valideren',\n\t},\n\t'nl-BE': {\n\t\tacceptedFormat: { one: 'Accepted format:', other: 'Accepted formats:' },\n\t\tselectFile: { one: 'Select file', other: 'Select files' },\n\t\tdropOrClick: { one: 'Drop file here or <span>click to select</span>.', other: 'Drop files here or <span>click to select</span>.' },\n\t\tmaxWeight: { one: 'Maximum size: {{maxSizeDisplay}}. ', other: 'Maximum size for a file: {{maxSizeDisplay}}. ' },\n\t\tfileUploadedListed: { one: 'File already uploaded is detailed below.', other: 'Files already uploaded are detailed below.' },\n\t\tall: 'alle',\n\t\tfile: 'alle',\n\t\tdownload: 'Downloaden',\n\t\tdownloadFile: 'Downloaden',\n\t\tdelete: 'Verwijderen',\n\t\tdeleteFile: 'Verwijderen',\n\t\tpassword: 'Wachtwoord',\n\t\tconfirmPassword: 'Wachtwoord valideren',\n\t},\n\tes: {\n\t\tacceptedFormat: { one: 'Accepted format:', other: 'Accepted formats:' },\n\t\tselectFile: { one: 'Select file', other: 'Select files' },\n\t\tdropOrClick: { one: 'Drop file here or <span>click to select</span>.', other: 'Drop files here or <span>click to select</span>.' },\n\t\tmaxWeight: { one: 'Maximum size: {{maxSizeDisplay}}. ', other: 'Maximum size for a file: {{maxSizeDisplay}}. ' },\n\t\tfileUploadedListed: { one: 'File already uploaded is detailed below.', other: 'Files already uploaded are detailed below.' },\n\t\tall: 'todos',\n\t\tfile: 'todos',\n\t\tdownload: 'Descargar',\n\t\tdownloadFile: 'Descargar',\n\t\tdelete: 'Eliminar',\n\t\tdeleteFile: 'Eliminar',\n\t\tpassword: 'Contraseña',\n\t\tconfirmPassword: 'Contraseña',\n\t},\n\tpt: {\n\t\tacceptedFormat: { one: 'Formato aceite :', other: 'Formatos aceites :' },\n\t\tselectFile: { one: 'Select file', other: 'Select files' },\n\t\tdropOrClick: { one: 'Drop file here or <span>click to select</span>.', other: 'Drop files here or <span>click to select</span>.' },\n\t\tmaxWeight: { one: 'Maximum size: {{maxSizeDisplay}}. ', other: 'Maximum size for a file: {{maxSizeDisplay}}. ' },\n\t\tfileUploadedListed: { one: 'File already uploaded is detailed below.', other: 'Files already uploaded are detailed below.' },\n\t\tall: 'todos',\n\t\tfile: 'Ficheiro {{fileTypeLastPart}}',\n\t\tdownload: 'Descarregar',\n\t\tdownloadFile: 'Descarregar o ficheiro \" {{fileName}} ',\n\t\tdelete: 'Eliminar',\n\t\tdeleteFile: 'Eliminar o ficheiro \" {{fileName}} ',\n\t\tpassword: 'Palavra-passe',\n\t\tconfirmPassword: 'Confirmar a palavra-passe',\n\t},\n};\n","import { InjectionToken } from '@angular/core';\nimport { LuTranslation } from '@lucca-front/ng/core';\nimport { Translations } from './translations';\n\nexport const LU_FILE_UPLOAD_TRANSLATIONS = new InjectionToken('LuFileUploadTranslations', {\n\tfactory: () => luFileUploadTranslations,\n});\n\nexport interface LuFileUploadLabel {\n\tacceptedFormat: {\n\t\tone: string;\n\t\tother: string;\n\t};\n\tselectFile: {\n\t\tone: string;\n\t\tother: string;\n\t};\n\tdropOrClick: {\n\t\tone: string;\n\t\tother: string;\n\t};\n\tmaxWeight: {\n\t\tone: string;\n\t\tother: string;\n\t};\n\tfileUploadedListed: {\n\t\tone: string;\n\t\tother: string;\n\t};\n\tall: string;\n\tfile: string;\n\tdownload: string;\n\tdownloadFile: string;\n\tdelete: string;\n\tdeleteFile: string;\n\tpassword: string;\n\tconfirmPassword: string;\n}\n\nexport const luFileUploadTranslations: LuTranslation<LuFileUploadLabel> = Translations;\n","export const KILO_BYTE = 1000;\nexport const MEGA_BYTE = KILO_BYTE * 1000;\n\nexport function formatSize(locale: string, size: number): string {\n\tlet unit = 'byte';\n\tlet value = size;\n\n\tif (size >= MEGA_BYTE) {\n\t\tunit = 'megabyte';\n\t\tvalue /= MEGA_BYTE;\n\t} else if (size >= KILO_BYTE) {\n\t\tunit = 'kilobyte';\n\t\tvalue /= KILO_BYTE;\n\t}\n\n\tconst weightFormatter = Intl.NumberFormat(locale, {\n\t\tnotation: 'compact',\n\t\tstyle: 'unit',\n\t\tunit: unit,\n\t\tunitDisplay: 'narrow',\n\t});\n\n\treturn weightFormatter.format(value);\n}\n","import { booleanAttribute, computed, Directive, effect, inject, input, LOCALE_ID, output } from '@angular/core';\nimport { getIntl } from '@lucca-front/ng/core';\nimport { FORM_FIELD_INSTANCE } from '@lucca-front/ng/form-field';\nimport { LU_FILE_UPLOAD_TRANSLATIONS } from '../file-upload.translate';\nimport { formatSize, MEGA_BYTE } from '../formatter';\n\nlet nextId = 0;\n\n@Directive()\nexport abstract class BaseFileUploadComponent {\n\tprotected locale = inject(LOCALE_ID);\n\n\tprotected idSuffix = nextId++;\n\n\tprotected droppable = false;\n\n\tintl = getIntl(LU_FILE_UPLOAD_TRANSLATIONS);\n\n\tprotected formFieldRef = inject(FORM_FIELD_INSTANCE, { optional: true });\n\n\tfilePicked = output<File>();\n\n\taccept = input<\n\t\tArray<{\n\t\t\tformat: string;\n\t\t\tname?: string;\n\t\t}>\n\t>([\n\t\t{\n\t\t\tformat: '*',\n\t\t\tname: this.intl.all,\n\t\t},\n\t]);\n\n\tacceptNames = computed(() =>\n\t\tthis.accept()\n\t\t\t.filter((e) => e.name)\n\t\t\t.map((e) => e.name),\n\t);\n\n\tacceptAttribute = computed(() => this.accept().map((e) => e.format));\n\n\tacceptAll = computed(() => {\n\t\treturn this.acceptAttribute().some((str) => str.includes('*'));\n\t});\n\n\tfileMaxSize = input<number>(80 * MEGA_BYTE);\n\n\tmaxSizeDisplay = computed(() => formatSize(this.locale, this.fileMaxSize()));\n\n\tsize = input<'S' | null>(null);\n\n\tpassword = input<boolean, boolean>(false, { transform: booleanAttribute });\n\n\tillustration = input<'picture' | 'paper'>('paper');\n\n\tillustrationUrl = computed(() => {\n\t\tif (this.illustration() === 'picture') {\n\t\t\treturn 'https://cdn.lucca.fr/transverse/prisme/visuals/empty-states/icons/iconPictureAction.svg';\n\t\t} else {\n\t\t\treturn 'https://cdn.lucca.fr/transverse/prisme/visuals/empty-states/icons/iconPaperAction.svg';\n\t\t}\n\t});\n\n\trequired = input(false, { transform: booleanAttribute });\n\n\tconstructor() {\n\t\teffect(() => {\n\t\t\tthis.formFieldRef?.forceInputRequired.set(this.required());\n\t\t});\n\t}\n\n\tfilesChange(event: Event) {\n\t\tconst host = event.target as HTMLInputElement;\n\t\tthis.droppable = false;\n\t\tfor (const file of Array.from(host.files)) {\n\t\t\tthis.filePicked.emit(file);\n\t\t}\n\t\thost.value = null;\n\t}\n}\n","import { Component, ViewEncapsulation } from '@angular/core';\nimport { IntlParamsPipe } from '@lucca-front/ng/core';\nimport { LuSafeExternalSvgPipe } from '@lucca-front/ng/safe-content';\nimport { BaseFileUploadComponent } from '../base-file-upload/base-file-upload.component';\n\n@Component({\n\tselector: 'lu-file-dropzone',\n\tstandalone: true,\n\ttemplateUrl: './file-dropzone.component.html',\n\tstyleUrls: ['./file-dropzone.component.scss'],\n\tencapsulation: ViewEncapsulation.None,\n\timports: [LuSafeExternalSvgPipe, IntlParamsPipe],\n})\nexport class FileDropzoneComponent extends BaseFileUploadComponent {}\n","<div class=\"fileUpload mod-dropzone\" [class.is-droppable]=\"droppable\" (dragenter)=\"droppable = true\" (dragleave)=\"droppable = false\">\n\t<div class=\"fileUpload-status\" [innerHtml]=\"illustrationUrl() | luSafeExternalSvg\"></div>\n\t<div class=\"fileUpload-instruction\" [attr.id]=\"'fileUpload-instruction-' + idSuffix\">\n\t\t@if (acceptNames().length) {\n\t\t<span class=\"fileUpload-instruction-formats\">\n\t\t\t@if (acceptNames().length > 1 || acceptAll()) { {{ intl.acceptedFormat.other }} } @else { {{ intl.acceptedFormat.one }} } {{\n\t\t\tacceptNames().join(', ') }}.\n\t\t</span>\n\t\t} @if (fileMaxSize()) {\n\t\t<span class=\"fileUpload-instruction-size\">{{ intl.maxWeight.other | intlParams: {maxSizeDisplay: maxSizeDisplay()} }}</span>\n\t\t}\n\t</div>\n</div>\n","import { NgClass } from '@angular/common';\nimport { booleanAttribute, Component, computed, inject, input, LOCALE_ID, ViewEncapsulation } from '@angular/core';\nimport { outputFromObservable } from '@angular/core/rxjs-interop';\nimport { FormsModule } from '@angular/forms';\nimport { ButtonComponent } from '@lucca-front/ng/button';\nimport { getIntl, IntlParamsPipe } from '@lucca-front/ng/core';\nimport { DividerComponent } from '@lucca-front/ng/divider';\nimport { FormFieldComponent } from '@lucca-front/ng/form-field';\nimport { TextInputComponent } from '@lucca-front/ng/forms';\nimport { IconComponent } from '@lucca-front/ng/icon';\nimport { InlineMessageComponent } from '@lucca-front/ng/inline-message';\nimport { LuTooltipModule } from '@lucca-front/ng/tooltip';\nimport { Subject } from 'rxjs';\nimport { FileEntry } from '../file-upload-entry';\nimport { LU_FILE_UPLOAD_TRANSLATIONS } from '../file-upload.translate';\nimport { formatSize } from '../formatter';\n\n@Component({\n\tselector: 'lu-file-entry',\n\tstandalone: true,\n\ttemplateUrl: './file-entry.component.html',\n\tstyleUrls: ['./file-entry.component.scss'],\n\tencapsulation: ViewEncapsulation.None,\n\timports: [IconComponent, LuTooltipModule, ButtonComponent, InlineMessageComponent, DividerComponent, NgClass, FormFieldComponent, TextInputComponent, FormsModule, IntlParamsPipe],\n\thost: {\n\t\tclass: 'u-displayContents',\n\t},\n})\nexport class FileEntryComponent {\n\t#locale = inject(LOCALE_ID);\n\n\tintl = getIntl(LU_FILE_UPLOAD_TRANSLATIONS);\n\n\tstate = input<'success' | 'loading' | 'error' | null>(null);\n\n\tdisplayFileName = input(false, { transform: booleanAttribute });\n\n\tinlineMessageError = input<string | null>(null);\n\n\tentry = input.required<FileEntry>();\n\n\tsize = input<'S' | null>(null);\n\n\ticonOverride = input('');\n\n\tdownloadURL = input('');\n\n\tpassword = input('');\n\tpasswordChange$ = new Subject<string>();\n\tpasswordChange = outputFromObservable(this.passwordChange$);\n\n\tget withPassword() {\n\t\treturn this.passwordChange$.observed;\n\t}\n\n\tmedia = input(false, { transform: booleanAttribute });\n\n\tdeleteFile$ = new Subject<void>();\n\n\tdeleteFile = outputFromObservable(this.deleteFile$);\n\n\tget deletable() {\n\t\treturn this.deleteFile$.observed;\n\t}\n\n\tfileName = computed(() => this.entry().name);\n\tfileType = computed(() => this.entry().type);\n\tfileSize = computed(() => this.entry().size);\n\n\tfileSizeDisplay = computed(() => formatSize(this.#locale, this.fileSize()));\n\tfileTypeDisplay = computed(() => this.intl.file.replace('{{fileTypeLastPart}}', this.fileType().split('/')[1].toUpperCase()));\n\n\tpreviewUrl = input<string>('');\n\n\tfileEntryIconSrc = computed(() => {\n\t\tconst fileExtension = this.fileName().split('.').pop();\n\t\tconst fileEntryIconRoot = 'https://cdn.lucca.fr/transverse/prisme/visuals/file-entry/';\n\t\tconst fileEntryIconExtension = '.svg';\n\n\t\tswitch (fileExtension) {\n\t\t\tcase 'pdf':\n\t\t\tcase 'xls':\n\t\t\tcase 'xlsx':\n\t\t\tcase 'doc':\n\t\t\tcase 'csv':\n\t\t\t\treturn fileEntryIconRoot + fileExtension + fileEntryIconExtension;\n\t\t\tcase 'jpg':\n\t\t\tcase 'jpeg':\n\t\t\tcase 'png':\n\t\t\tcase 'gif':\n\t\t\tcase 'svg':\n\t\t\t\treturn fileEntryIconRoot + 'image' + fileEntryIconExtension;\n\t\t\tdefault:\n\t\t\t\treturn fileEntryIconRoot + 'default' + fileEntryIconExtension;\n\t\t}\n\t});\n\n\ttooltip = computed(() => {\n\t\tif (this.state() === 'error') {\n\t\t\tif (!this.media()) {\n\t\t\t\treturn null;\n\t\t\t} else {\n\t\t\t\treturn this.fileName() + ' — ' + this.fileSizeDisplay();\n\t\t\t}\n\t\t}\n\n\t\tif (!this.media() && this.size() === null) {\n\t\t\treturn null;\n\t\t}\n\n\t\tif (this.size() === 'S' && !this.media()) {\n\t\t\treturn this.fileTypeDisplay() + ' – ' + this.fileSizeDisplay();\n\t\t}\n\n\t\treturn this.fileName() + ' – ' + this.fileTypeDisplay() + ' – ' + this.fileSizeDisplay();\n\t});\n\n\tdlClasses = computed(() => ({\n\t\t[`is-${this.state()}`]: !!this.state(),\n\t\t[`mod-${this.size()}`]: !!this.size(),\n\t}));\n}\n","<dl class=\"fileEntry\" [class.mod-media]=\"media()\" [ngClass]=\"dlClasses()\">\n\t@if (!media()) {\n\t<dt class=\"fileEntry-filename\">\n\t\t<div class=\"fileEntry-filename-tooltip\" luTooltip luTooltipWhenEllipsis>{{ fileName() }}</div>\n\t</dt>\n\t@if (state() === 'error' && inlineMessageError()) {\n\t<dd class=\"fileEntry-inlineMessage\">\n\t\t<lu-inline-message withTooltip [label]=\"inlineMessageError()\" [state]=\"'error'\" />\n\t</dd>\n\t} @else {\n\t<dd class=\"fileEntry-description\">\n\t\t<span class=\"fileEntry-description-format\" luTooltip luTooltipWhenEllipsis>{{ fileTypeDisplay() }}</span><span class=\"u-mask\"> – </span>\n\t\t<lu-divider vertical />\n\t\t<span class=\"fileEntry-description-size\">{{ fileSizeDisplay() }}</span>\n\t</dd>\n\t} }\n\t<dd class=\"fileEntry-status\">\n\t\t<div class=\"fileEntry-status-content\" [luTooltip]=\"tooltip()\">\n\t\t\t@if (state() === 'error' && inlineMessageError()) { @if (media()) {\n\t\t\t<div class=\"fileEntry-status-content-inside\">\n\t\t\t\t<lu-inline-message class=\"fileEntry-status-content-inlineMessage\" [label]=\"inlineMessageError()\" [state]=\"'error'\" />\n\t\t\t</div>\n\t\t\t} @else {\n\t\t\t<div class=\"fileEntry-status-content-inside\">\n\t\t\t\t<lu-icon class=\"fileEntry-status-content-inside-icon\" icon=\"signError\" />\n\t\t\t</div>\n\t\t\t} } @else { @if (previewUrl() && state() !== 'error') {\n\t\t\t<div class=\"fileEntry-status-content-inside\">\n\t\t\t\t<img class=\"fileEntry-status-content-inside-img\" [src]=\"previewUrl()\" alt=\"\" loading=\"lazy\" />\n\t\t\t</div>\n\t\t\t} @if (state() === 'loading') {\n\t\t\t<div class=\"fileEntry-status-content-inside\">\n\t\t\t\t<div class=\"fileEntry-status-content-inside-loading loading\"></div>\n\t\t\t</div>\n\t\t\t} @if (!previewUrl() && state() !== 'loading') {\n\t\t\t<div class=\"fileEntry-status-content-inside\">\n\t\t\t\t<img class=\"fileEntry-status-content-inside-svg\" [attr.src]=\"iconOverride() || fileEntryIconSrc()\" alt=\"\" width=\"32\" height=\"32\" />\n\t\t\t</div>\n\t\t\t} } @if (displayFileName() && media()) {\n\t\t\t<div class=\"fileEntry-status-content-fileName\" aria-hidden=\"true\">{{ fileName() }}</div>\n\t\t\t}\n\t\t</div>\n\t</dd>\n\t@if (downloadURL() || deletable) {\n\t<dd class=\"fileEntry-toolbar\">\n\t\t<div class=\"fileToolbar\" [class.mod-disablePositioning]=\"!media()\" [class.mod-S]=\"size() === 'S'\">\n\t\t\t<ul class=\"fileToolbar-list\">\n\t\t\t\t@if (downloadURL()) {\n\t\t\t\t<li class=\"fileToolbar-list-item\">\n\t\t\t\t\t<a\n\t\t\t\t\t\t[href]=\"downloadURL()\"\n\t\t\t\t\t\ttarget=\"_blank\"\n\t\t\t\t\t\trel=\"noopener noreferrer\"\n\t\t\t\t\t\tdownload=\"download\"\n\t\t\t\t\t\tclass=\"fileToolbar-list-item-button\"\n\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\tluButton\n\t\t\t\t\t\t[luTooltip]=\"intl.download\"\n\t\t\t\t\t\tluTooltipOnlyForDisplay\n\t\t\t\t\t>\n\t\t\t\t\t\t<lu-icon\n\t\t\t\t\t\t\tclass=\"fileToolbar-list-item-button-icon\"\n\t\t\t\t\t\t\ticon=\"arrowDownload\"\n\t\t\t\t\t\t\t[alt]=\"intl.downloadFile | intlParams: {fileName: fileName()}\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t</a>\n\t\t\t\t</li>\n\t\t\t\t} @if (deletable) {\n\t\t\t\t<li class=\"fileToolbar-list-item\">\n\t\t\t\t\t<button\n\t\t\t\t\t\tclass=\"fileToolbar-list-item-button\"\n\t\t\t\t\t\t[class.palette-critical]=\"state() === 'error'\"\n\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\tluButton\n\t\t\t\t\t\t[luTooltip]=\"intl.delete\"\n\t\t\t\t\t\tluTooltipOnlyForDisplay\n\t\t\t\t\t\t(click)=\"deleteFile$.next()\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<lu-icon\n\t\t\t\t\t\t\tclass=\"fileToolbar-list-item-button-icon\"\n\t\t\t\t\t\t\ticon=\"trashDelete\"\n\t\t\t\t\t\t\t[alt]=\"intl.deleteFile | intlParams: {fileName: fileName()}\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t</button>\n\t\t\t\t</li>\n\t\t\t\t}\n\t\t\t</ul>\n\t\t</div>\n\t</dd>\n\t}\n</dl>\n@if (withPassword) {\n<div class=\"fileEntry_box box mod-withArrow mod-neutral\">\n\t<div class=\"box-arrow mod-neutral\"></div>\n\t<lu-form-field [label]=\"intl.password\">\n\t\t<div class=\"fileEntry_box-field\">\n\t\t\t<lu-text-input\n\t\t\t\tclass=\"fileEntry_box-field-textField\"\n\t\t\t\trequired\n\t\t\t\thasClearer\n\t\t\t\tsearchIcon=\"searchMagnifyingGlass\"\n\t\t\t\ttype=\"password\"\n\t\t\t\t[ngModel]=\"password()\"\n\t\t\t\t(ngModelChange)=\"passwordChange$.next($event)\"\n\t\t\t/>\n\t\t\t<button class=\"fileEntry_box-field-button\" luButton type=\"button\">{{ intl.confirmPassword }}</button>\n\t\t</div>\n\t</lu-form-field>\n</div>\n}\n","import { Component, ViewEncapsulation } from '@angular/core';\nimport { IntlParamsPipe } from '@lucca-front/ng/core';\nimport { InputDirective } from '@lucca-front/ng/form-field';\nimport { LuSafeExternalSvgPipe } from '@lucca-front/ng/safe-content';\nimport { LuTooltipModule } from '@lucca-front/ng/tooltip';\nimport { BaseFileUploadComponent } from '../base-file-upload/base-file-upload.component';\n\n@Component({\n\tselector: 'lu-multi-file-upload',\n\tstandalone: true,\n\ttemplateUrl: './multi-file-upload.component.html',\n\tstyleUrls: ['./multi-file-upload.component.scss'],\n\tencapsulation: ViewEncapsulation.None,\n\timports: [LuSafeExternalSvgPipe, InputDirective, LuTooltipModule, IntlParamsPipe],\n})\nexport class MultiFileUploadComponent extends BaseFileUploadComponent {}\n","<div class=\"fileUpload\" [class.is-droppable]=\"droppable\" [class.mod-S]=\"size() === 'S'\" [class.is-hidden]=\"false\">\n\t<input\n\t\t[attr.aria-describedby]=\"'fileUpload-instruction-' + idSuffix\"\n\t\tclass=\"fileUpload-input\"\n\t\ttype=\"file\"\n\t\ttitle=\"\"\n\t\t[attr.accept]=\"acceptAttribute().length > 0 ? acceptAttribute() : null\"\n\t\tluInput\n\t\t(dragenter)=\"droppable = true\"\n\t\t(dragleave)=\"droppable = false\"\n\t\t(change)=\"filesChange($event)\"\n\t\tmultiple=\"multiple\"\n\t\t#inputRef\n\t/>\n\t<div class=\"fileUpload-status\" [innerHtml]=\"illustrationUrl() | luSafeExternalSvg\"></div>\n\t<div class=\"fileUpload-instruction\" [attr.id]=\"'fileUpload-instruction-' + idSuffix\">\n\t\t<span class=\"fileUpload-instruction-action\" aria-hidden=\"true\" [innerHTML]=\"intl.dropOrClick.other\"></span>\n\t\t@if (acceptNames().length) {\n\t\t<span class=\"fileUpload-instruction-formats\">\n\t\t\t@if (acceptNames().length > 1 || acceptAll()) { {{ intl.acceptedFormat.other }} } @else { intl.acceptedFormat.one } {{\n\t\t\tacceptNames().join(', ') }}.\n\t\t</span>\n\t\t} @if (fileMaxSize()) {\n\t\t<span class=\"fileUpload-instruction-size\">{{ intl.maxWeight.other | intlParams: {maxSizeDisplay: maxSizeDisplay()} }}</span>\n\t\t}\n\t\t<span class=\"u-mask\">{{ intl.fileUploadedListed.other }}</span>\n\t</div>\n\t<span class=\"fileUpload-button button\" aria-hidden=\"true\">{{ intl.selectFile.other }}</span>\n</div>\n","import { booleanAttribute, Component, input, output, ViewEncapsulation } from '@angular/core';\nimport { IntlParamsPipe } from '@lucca-front/ng/core';\nimport { InputDirective } from '@lucca-front/ng/form-field';\nimport { LuSafeExternalSvgPipe } from '@lucca-front/ng/safe-content';\nimport { LuTooltipModule } from '@lucca-front/ng/tooltip';\nimport { BaseFileUploadComponent } from '../base-file-upload/base-file-upload.component';\nimport { FileEntryComponent } from '../file-entry/file-entry.component';\nimport { FileEntry } from '../file-upload-entry';\n\n@Component({\n\tselector: 'lu-single-file-upload',\n\tstandalone: true,\n\ttemplateUrl: './single-file-upload.component.html',\n\tstyleUrls: ['./single-file-upload.component.scss'],\n\tencapsulation: ViewEncapsulation.None,\n\timports: [LuSafeExternalSvgPipe, InputDirective, LuTooltipModule, FileEntryComponent, IntlParamsPipe],\n})\nexport class SingleFileUploadComponent extends BaseFileUploadComponent {\n\tentry = input<FileEntry | null>(null);\n\n\tstate = input<'loading' | 'success' | 'error' | null>(null);\n\n\tinlineMessageError = input<string | null>(null);\n\n\tpreviewUrl = input<string | null>(null);\n\n\tdeleteFile = output<void>();\n\n\tdisplayFileName = input(false, { transform: booleanAttribute });\n}\n","<div class=\"fileUpload\" [class.is-droppable]=\"droppable\" [class.mod-S]=\"size() === 'S'\" [class.is-hidden]=\"!!entry()\">\n\t<input\n\t\tclass=\"fileUpload-input\"\n\t\ttype=\"file\"\n\t\ttitle=\"\"\n\t\t[attr.accept]=\"acceptAttribute().length > 0 ? acceptAttribute() : null\"\n\t\tluInput\n\t\t(dragenter)=\"droppable = true\"\n\t\t(dragleave)=\"droppable = false\"\n\t\t(change)=\"filesChange($event)\"\n\t\t[attr.disabled]=\"!!entry() ? 'disabled' : null\"\n\t\t[attr.aria-describedby]=\"'fileUpload-instruction-' + idSuffix\"\n\t/>\n\t<div class=\"fileUpload-status\" [innerHtml]=\"illustrationUrl() | luSafeExternalSvg\"></div>\n\t<div class=\"fileUpload-instruction\" [attr.id]=\"'fileUpload-instruction-' + idSuffix\">\n\t\t<span class=\"fileUpload-instruction-action\" aria-hidden=\"true\" [innerHTML]=\"intl.dropOrClick.one\"></span>\n\t\t@if (acceptNames().length) {\n\t\t<span class=\"fileUpload-instruction-formats\">\n\t\t\t@if (acceptNames().length > 1 || acceptAll()) { {{ intl.acceptedFormat.other }} } @else { {{ intl.acceptedFormat.one }} } {{\n\t\t\tacceptNames().join(', ') }}.\n\t\t</span>\n\t\t} @if (fileMaxSize()) {\n\t\t<span class=\"fileUpload-instruction-size\">{{ intl.maxWeight.one | intlParams: {maxSizeDisplay: maxSizeDisplay()} }}</span>\n\t\t}\n\t\t<span class=\"u-mask\">{{ intl.fileUploadedListed.one }}</span>\n\t</div>\n\t<span class=\"fileUpload-button button\" aria-hidden=\"true\">{{ intl.selectFile.one }}</span>\n</div>\n@if (entry()) {\n<lu-file-entry\n\t[media]=\"size() === null\"\n\t[previewUrl]=\"previewUrl()\"\n\t[entry]=\"entry()\"\n\t[state]=\"state()\"\n\t(deleteFile)=\"deleteFile.emit()\"\n\t[inlineMessageError]=\"inlineMessageError()\"\n\t[displayFileName]=\"displayFileName()\"\n/>\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-file-upload.mjs","sources":["../../../packages/ng/file-upload/translations.ts","../../../packages/ng/file-upload/file-upload.translate.ts","../../../packages/ng/file-upload/formatter.ts","../../../packages/ng/file-upload/base-file-upload/base-file-upload.component.ts","../../../packages/ng/file-upload/file-dropzone/file-dropzone.component.ts","../../../packages/ng/file-upload/file-dropzone/file-dropzone.component.html","../../../packages/ng/file-upload/file-entry/file-entry.component.ts","../../../packages/ng/file-upload/file-entry/file-entry.component.html","../../../packages/ng/file-upload/multi/multi-file-upload.component.ts","../../../packages/ng/file-upload/multi/multi-file-upload.component.html","../../../packages/ng/file-upload/single/single-file-upload.component.ts","../../../packages/ng/file-upload/single/single-file-upload.component.html","../../../packages/ng/file-upload/lucca-front-ng-file-upload.ts"],"sourcesContent":["export const Translations = {\n\ten: {\n\t\tacceptedFormat: { one: 'Accepted format:', other: 'Accepted formats:' },\n\t\tselectFile: { one: 'Select file', other: 'Select files' },\n\t\tdropOrClick: { one: 'Drop file here or <span>click to select</span>.', other: 'Drop files here or <span>click to select</span>.' },\n\t\tmaxWeight: { one: 'Maximum size: {{maxSizeDisplay}}. ', other: 'Maximum size for a file: {{maxSizeDisplay}}. ' },\n\t\tfileUploadedListed: { one: 'File already uploaded is detailed below.', other: 'Files already uploaded are detailed below.' },\n\t\tall: 'all',\n\t\tfile: '{{fileTypeLastPart}} file',\n\t\tdownload: 'Download',\n\t\tdownloadFile: 'Download file “{{fileName}}”',\n\t\tdelete: 'Delete',\n\t\tdeleteFile: 'Delete file “{{fileName}}”',\n\t\tpassword: 'Password',\n\t\tconfirmPassword: 'Password',\n\t},\n\tde: {\n\t\tacceptedFormat: { one: 'Accepted format:', other: 'Accepted formats:' },\n\t\tselectFile: { one: 'Select file', other: 'Select files' },\n\t\tdropOrClick: { one: 'Drop file here or <span>click to select</span>.', other: 'Drop files here or <span>click to select</span>.' },\n\t\tmaxWeight: { one: 'Maximum size: {{maxSizeDisplay}}. ', other: 'Maximum size for a file: {{maxSizeDisplay}}. ' },\n\t\tfileUploadedListed: { one: 'File already uploaded is detailed below.', other: 'Files already uploaded are detailed below.' },\n\t\tall: 'alle',\n\t\tfile: 'alle',\n\t\tdownload: 'Download',\n\t\tdownloadFile: 'Download',\n\t\tdelete: 'Löschen',\n\t\tdeleteFile: 'Löschen',\n\t\tpassword: 'Passwort',\n\t\tconfirmPassword: 'Passwort',\n\t},\n\tfr: {\n\t\tacceptedFormat: { one: 'Format accepté :', other: 'Formats acceptés :' },\n\t\tselectFile: { one: 'Sélectionner un fichier', other: 'Sélectionner des fichiers' },\n\t\tdropOrClick: { one: 'Déposez le fichier ici ou <span>cliquez pour le sélectionner</span>.', other: 'Déposez les fichiers ici ou <span>cliquez pour les sélectionner</span>.' },\n\t\tmaxWeight: { one: 'Poids maximum : {{maxSizeDisplay}}. ', other: 'Poids maximum pour un fichier : {{maxSizeDisplay}}. ' },\n\t\tfileUploadedListed: { one: 'Le fichier déjà déposé est détaillé après.', other: 'Les fichiers déjà déposés sont détaillés après.' },\n\t\tall: 'tous',\n\t\tfile: 'Fichier {{fileTypeLastPart}}',\n\t\tdownload: 'Télécharger',\n\t\tdownloadFile: 'Télécharger le fichier « {{fileName}} »',\n\t\tdelete: 'Supprimer',\n\t\tdeleteFile: 'Supprimer le fichier « {{fileName}} »',\n\t\tpassword: 'Mot de passe',\n\t\tconfirmPassword: 'Valider le mot de passe',\n\t},\n\tit: {\n\t\tacceptedFormat: { one: 'Accepted format:', other: 'Accepted formats:' },\n\t\tselectFile: { one: 'Select file', other: 'Select files' },\n\t\tdropOrClick: { one: 'Drop file here or <span>click to select</span>.', other: 'Drop files here or <span>click to select</span>.' },\n\t\tmaxWeight: { one: 'Maximum size: {{maxSizeDisplay}}. ', other: 'Maximum size for a file: {{maxSizeDisplay}}. ' },\n\t\tfileUploadedListed: { one: 'File already uploaded is detailed below.', other: 'Files already uploaded are detailed below.' },\n\t\tall: 'tutti',\n\t\tfile: 'tutti',\n\t\tdownload: 'Scaricare',\n\t\tdownloadFile: 'Scaricare',\n\t\tdelete: 'Eliminare',\n\t\tdeleteFile: 'Eliminare',\n\t\tpassword: 'Password',\n\t\tconfirmPassword: 'Confermare la password',\n\t},\n\tnl: {\n\t\tacceptedFormat: { one: 'Accepted format:', other: 'Accepted formats:' },\n\t\tselectFile: { one: 'Select file', other: 'Select files' },\n\t\tdropOrClick: { one: 'Drop file here or <span>click to select</span>.', other: 'Drop files here or <span>click to select</span>.' },\n\t\tmaxWeight: { one: 'Maximum size: {{maxSizeDisplay}}. ', other: 'Maximum size for a file: {{maxSizeDisplay}}. ' },\n\t\tfileUploadedListed: { one: 'File already uploaded is detailed below.', other: 'Files already uploaded are detailed below.' },\n\t\tall: 'alle',\n\t\tfile: 'alle',\n\t\tdownload: 'Downloaden',\n\t\tdownloadFile: 'Downloaden',\n\t\tdelete: 'Verwijderen',\n\t\tdeleteFile: 'Verwijderen',\n\t\tpassword: 'Wachtwoord',\n\t\tconfirmPassword: 'Wachtwoord valideren',\n\t},\n\t'nl-BE': {\n\t\tacceptedFormat: { one: 'Accepted format:', other: 'Accepted formats:' },\n\t\tselectFile: { one: 'Select file', other: 'Select files' },\n\t\tdropOrClick: { one: 'Drop file here or <span>click to select</span>.', other: 'Drop files here or <span>click to select</span>.' },\n\t\tmaxWeight: { one: 'Maximum size: {{maxSizeDisplay}}. ', other: 'Maximum size for a file: {{maxSizeDisplay}}. ' },\n\t\tfileUploadedListed: { one: 'File already uploaded is detailed below.', other: 'Files already uploaded are detailed below.' },\n\t\tall: 'alle',\n\t\tfile: 'alle',\n\t\tdownload: 'Downloaden',\n\t\tdownloadFile: 'Downloaden',\n\t\tdelete: 'Verwijderen',\n\t\tdeleteFile: 'Verwijderen',\n\t\tpassword: 'Wachtwoord',\n\t\tconfirmPassword: 'Wachtwoord valideren',\n\t},\n\tes: {\n\t\tacceptedFormat: { one: 'Accepted format:', other: 'Accepted formats:' },\n\t\tselectFile: { one: 'Select file', other: 'Select files' },\n\t\tdropOrClick: { one: 'Drop file here or <span>click to select</span>.', other: 'Drop files here or <span>click to select</span>.' },\n\t\tmaxWeight: { one: 'Maximum size: {{maxSizeDisplay}}. ', other: 'Maximum size for a file: {{maxSizeDisplay}}. ' },\n\t\tfileUploadedListed: { one: 'File already uploaded is detailed below.', other: 'Files already uploaded are detailed below.' },\n\t\tall: 'todos',\n\t\tfile: 'todos',\n\t\tdownload: 'Descargar',\n\t\tdownloadFile: 'Descargar',\n\t\tdelete: 'Eliminar',\n\t\tdeleteFile: 'Eliminar',\n\t\tpassword: 'Contraseña',\n\t\tconfirmPassword: 'Contraseña',\n\t},\n\tpt: {\n\t\tacceptedFormat: { one: 'Formato aceite :', other: 'Formatos aceites :' },\n\t\tselectFile: { one: 'Select file', other: 'Select files' },\n\t\tdropOrClick: { one: 'Drop file here or <span>click to select</span>.', other: 'Drop files here or <span>click to select</span>.' },\n\t\tmaxWeight: { one: 'Maximum size: {{maxSizeDisplay}}. ', other: 'Maximum size for a file: {{maxSizeDisplay}}. ' },\n\t\tfileUploadedListed: { one: 'File already uploaded is detailed below.', other: 'Files already uploaded are detailed below.' },\n\t\tall: 'todos',\n\t\tfile: 'Ficheiro {{fileTypeLastPart}}',\n\t\tdownload: 'Descarregar',\n\t\tdownloadFile: 'Descarregar o ficheiro \" {{fileName}} ',\n\t\tdelete: 'Eliminar',\n\t\tdeleteFile: 'Eliminar o ficheiro \" {{fileName}} ',\n\t\tpassword: 'Palavra-passe',\n\t\tconfirmPassword: 'Confirmar a palavra-passe',\n\t},\n};\n","import { InjectionToken } from '@angular/core';\nimport { LuTranslation } from '@lucca-front/ng/core';\nimport { Translations } from './translations';\n\nexport const LU_FILE_UPLOAD_TRANSLATIONS = new InjectionToken('LuFileUploadTranslations', {\n\tfactory: () => luFileUploadTranslations,\n});\n\nexport interface LuFileUploadLabel {\n\tacceptedFormat: {\n\t\tone: string;\n\t\tother: string;\n\t};\n\tselectFile: {\n\t\tone: string;\n\t\tother: string;\n\t};\n\tdropOrClick: {\n\t\tone: string;\n\t\tother: string;\n\t};\n\tmaxWeight: {\n\t\tone: string;\n\t\tother: string;\n\t};\n\tfileUploadedListed: {\n\t\tone: string;\n\t\tother: string;\n\t};\n\tall: string;\n\tfile: string;\n\tdownload: string;\n\tdownloadFile: string;\n\tdelete: string;\n\tdeleteFile: string;\n\tpassword: string;\n\tconfirmPassword: string;\n}\n\nexport const luFileUploadTranslations: LuTranslation<LuFileUploadLabel> = Translations;\n","export const KILO_BYTE = 1000;\nexport const MEGA_BYTE = KILO_BYTE * 1000;\n\nexport function formatSize(locale: string, size: number): string {\n\tlet unit = 'byte';\n\tlet value = size;\n\n\tif (size >= MEGA_BYTE) {\n\t\tunit = 'megabyte';\n\t\tvalue /= MEGA_BYTE;\n\t} else if (size >= KILO_BYTE) {\n\t\tunit = 'kilobyte';\n\t\tvalue /= KILO_BYTE;\n\t}\n\n\tconst weightFormatter = Intl.NumberFormat(locale, {\n\t\tnotation: 'compact',\n\t\tstyle: 'unit',\n\t\tunit: unit,\n\t\tunitDisplay: 'narrow',\n\t});\n\n\treturn weightFormatter.format(value);\n}\n","import { booleanAttribute, computed, Directive, effect, inject, input, LOCALE_ID, output } from '@angular/core';\nimport { getIntl } from '@lucca-front/ng/core';\nimport { FORM_FIELD_INSTANCE } from '@lucca-front/ng/form-field';\nimport { LU_FILE_UPLOAD_TRANSLATIONS } from '../file-upload.translate';\nimport { formatSize, MEGA_BYTE } from '../formatter';\n\nlet nextId = 0;\n\n@Directive()\nexport abstract class BaseFileUploadComponent {\n\tprotected locale = inject(LOCALE_ID);\n\n\tprotected idSuffix = nextId++;\n\n\tprotected droppable = false;\n\n\tintl = getIntl(LU_FILE_UPLOAD_TRANSLATIONS);\n\n\tprotected formFieldRef = inject(FORM_FIELD_INSTANCE, { optional: true });\n\n\tfilePicked = output<File>();\n\n\taccept = input<\n\t\tArray<{\n\t\t\tformat: string;\n\t\t\tname?: string;\n\t\t}>\n\t>([\n\t\t{\n\t\t\tformat: '*',\n\t\t\tname: this.intl.all,\n\t\t},\n\t]);\n\n\tacceptNames = computed(() =>\n\t\tthis.accept()\n\t\t\t.filter((e) => e.name)\n\t\t\t.map((e) => e.name),\n\t);\n\n\tacceptAttribute = computed(() => this.accept().map((e) => e.format));\n\n\tacceptAll = computed(() => {\n\t\treturn this.acceptAttribute().some((str) => str.includes('*'));\n\t});\n\n\tfileMaxSize = input<number>(80 * MEGA_BYTE);\n\n\tmaxSizeDisplay = computed(() => formatSize(this.locale, this.fileMaxSize()));\n\n\tsize = input<'S' | null>(null);\n\n\tpassword = input(false, { transform: booleanAttribute });\n\n\tillustration = input<'picture' | 'paper'>('paper');\n\n\tillustrationUrl = computed(() => {\n\t\tif (this.illustration() === 'picture') {\n\t\t\treturn 'https://cdn.lucca.fr/transverse/prisme/visuals/empty-states/icons/iconPictureAction.svg';\n\t\t} else {\n\t\t\treturn 'https://cdn.lucca.fr/transverse/prisme/visuals/empty-states/icons/iconPaperAction.svg';\n\t\t}\n\t});\n\n\trequired = input(false, { transform: booleanAttribute });\n\n\tconstructor() {\n\t\teffect(() => {\n\t\t\tthis.formFieldRef?.forceInputRequired.set(this.required());\n\t\t});\n\t}\n\n\tfilesChange(event: Event) {\n\t\tconst host = event.target as HTMLInputElement;\n\t\tthis.droppable = false;\n\t\tfor (const file of Array.from(host.files)) {\n\t\t\tthis.filePicked.emit(file);\n\t\t}\n\t\thost.value = null;\n\t}\n}\n","import { Component, ViewEncapsulation } from '@angular/core';\nimport { IntlParamsPipe } from '@lucca-front/ng/core';\nimport { LuSafeExternalSvgPipe } from '@lucca-front/ng/safe-content';\nimport { BaseFileUploadComponent } from '../base-file-upload/base-file-upload.component';\n\n@Component({\n\tselector: 'lu-file-dropzone',\n\tstandalone: true,\n\ttemplateUrl: './file-dropzone.component.html',\n\tstyleUrls: ['./file-dropzone.component.scss'],\n\tencapsulation: ViewEncapsulation.None,\n\timports: [LuSafeExternalSvgPipe, IntlParamsPipe],\n})\nexport class FileDropzoneComponent extends BaseFileUploadComponent {}\n","<div class=\"fileUpload mod-dropzone\" [class.is-droppable]=\"droppable\" (dragenter)=\"droppable = true\" (dragleave)=\"droppable = false\">\n\t<div class=\"fileUpload-status\" [innerHtml]=\"illustrationUrl() | luSafeExternalSvg\"></div>\n\t<div class=\"fileUpload-instruction\" [attr.id]=\"'fileUpload-instruction-' + idSuffix\">\n\t\t@if (acceptNames().length) {\n\t\t<span class=\"fileUpload-instruction-formats\">\n\t\t\t@if (acceptNames().length > 1 || acceptAll()) { {{ intl.acceptedFormat.other }} } @else { {{ intl.acceptedFormat.one }} } {{\n\t\t\tacceptNames().join(', ') }}.\n\t\t</span>\n\t\t} @if (fileMaxSize()) {\n\t\t<span class=\"fileUpload-instruction-size\">{{ intl.maxWeight.other | intlParams: {maxSizeDisplay: maxSizeDisplay()} }}</span>\n\t\t}\n\t</div>\n</div>\n","import { NgClass } from '@angular/common';\nimport { booleanAttribute, Component, computed, inject, input, LOCALE_ID, ViewEncapsulation } from '@angular/core';\nimport { outputFromObservable } from '@angular/core/rxjs-interop';\nimport { FormsModule } from '@angular/forms';\nimport { ButtonComponent } from '@lucca-front/ng/button';\nimport { getIntl, IntlParamsPipe } from '@lucca-front/ng/core';\nimport { DividerComponent } from '@lucca-front/ng/divider';\nimport { FormFieldComponent } from '@lucca-front/ng/form-field';\nimport { TextInputComponent } from '@lucca-front/ng/forms';\nimport { IconComponent } from '@lucca-front/ng/icon';\nimport { InlineMessageComponent } from '@lucca-front/ng/inline-message';\nimport { LuTooltipModule } from '@lucca-front/ng/tooltip';\nimport { Subject } from 'rxjs';\nimport { FileEntry } from '../file-upload-entry';\nimport { LU_FILE_UPLOAD_TRANSLATIONS } from '../file-upload.translate';\nimport { formatSize } from '../formatter';\n\n@Component({\n\tselector: 'lu-file-entry',\n\tstandalone: true,\n\ttemplateUrl: './file-entry.component.html',\n\tstyleUrls: ['./file-entry.component.scss'],\n\tencapsulation: ViewEncapsulation.None,\n\timports: [IconComponent, LuTooltipModule, ButtonComponent, InlineMessageComponent, DividerComponent, NgClass, FormFieldComponent, TextInputComponent, FormsModule, IntlParamsPipe],\n\thost: {\n\t\tclass: 'u-displayContents',\n\t},\n})\nexport class FileEntryComponent {\n\t#locale = inject(LOCALE_ID);\n\n\tintl = getIntl(LU_FILE_UPLOAD_TRANSLATIONS);\n\n\tstate = input<'success' | 'loading' | 'error' | null>(null);\n\n\tdisplayFileName = input(false, { transform: booleanAttribute });\n\n\tinlineMessageError = input<string | null>(null);\n\n\tentry = input.required<FileEntry>();\n\n\tsize = input<'S' | null>(null);\n\n\ticonOverride = input('');\n\n\tdownloadURL = input('');\n\n\tpassword = input('');\n\tpasswordChange$ = new Subject<string>();\n\tpasswordChange = outputFromObservable(this.passwordChange$);\n\n\tget withPassword() {\n\t\treturn this.passwordChange$.observed;\n\t}\n\n\tmedia = input(false, { transform: booleanAttribute });\n\n\tdeleteFile$ = new Subject<void>();\n\n\tdeleteFile = outputFromObservable(this.deleteFile$);\n\n\tget deletable() {\n\t\treturn this.deleteFile$.observed;\n\t}\n\n\tfileName = computed(() => this.entry().name);\n\tfileType = computed(() => this.entry().type);\n\tfileSize = computed(() => this.entry().size);\n\n\tfileSizeDisplay = computed(() => formatSize(this.#locale, this.fileSize()));\n\tfileTypeDisplay = computed(() => this.intl.file.replace('{{fileTypeLastPart}}', this.fileType().split('/')[1].toUpperCase()));\n\n\tpreviewUrl = input<string>('');\n\n\tfileEntryIconSrc = computed(() => {\n\t\tconst fileExtension = this.fileName().split('.').pop();\n\t\tconst fileEntryIconRoot = 'https://cdn.lucca.fr/transverse/prisme/visuals/file-entry/';\n\t\tconst fileEntryIconExtension = '.svg';\n\n\t\tswitch (fileExtension) {\n\t\t\tcase 'pdf':\n\t\t\tcase 'xls':\n\t\t\tcase 'xlsx':\n\t\t\tcase 'doc':\n\t\t\tcase 'csv':\n\t\t\t\treturn fileEntryIconRoot + fileExtension + fileEntryIconExtension;\n\t\t\tcase 'jpg':\n\t\t\tcase 'jpeg':\n\t\t\tcase 'png':\n\t\t\tcase 'gif':\n\t\t\tcase 'svg':\n\t\t\t\treturn fileEntryIconRoot + 'image' + fileEntryIconExtension;\n\t\t\tdefault:\n\t\t\t\treturn fileEntryIconRoot + 'default' + fileEntryIconExtension;\n\t\t}\n\t});\n\n\ttooltip = computed(() => {\n\t\tif (this.state() === 'error') {\n\t\t\tif (!this.media()) {\n\t\t\t\treturn null;\n\t\t\t} else {\n\t\t\t\treturn this.fileName() + ' — ' + this.fileSizeDisplay();\n\t\t\t}\n\t\t}\n\n\t\tif (!this.media() && this.size() === null) {\n\t\t\treturn null;\n\t\t}\n\n\t\tif (this.size() === 'S' && !this.media()) {\n\t\t\treturn this.fileTypeDisplay() + ' – ' + this.fileSizeDisplay();\n\t\t}\n\n\t\treturn this.fileName() + ' – ' + this.fileTypeDisplay() + ' – ' + this.fileSizeDisplay();\n\t});\n\n\tdlClasses = computed(() => ({\n\t\t[`is-${this.state()}`]: !!this.state(),\n\t\t[`mod-${this.size()}`]: !!this.size(),\n\t}));\n}\n","<dl class=\"fileEntry\" [class.mod-media]=\"media()\" [ngClass]=\"dlClasses()\">\n\t@if (!media()) {\n\t<dt class=\"fileEntry-filename\">\n\t\t<div class=\"fileEntry-filename-tooltip\" luTooltip luTooltipWhenEllipsis>{{ fileName() }}</div>\n\t</dt>\n\t@if (state() === 'error' && inlineMessageError()) {\n\t<dd class=\"fileEntry-inlineMessage\">\n\t\t<lu-inline-message withTooltip [label]=\"inlineMessageError()\" [state]=\"'error'\" />\n\t</dd>\n\t} @else {\n\t<dd class=\"fileEntry-description\">\n\t\t<span class=\"fileEntry-description-format\" luTooltip luTooltipWhenEllipsis>{{ fileTypeDisplay() }}</span><span class=\"u-mask\"> – </span>\n\t\t<lu-divider vertical />\n\t\t<span class=\"fileEntry-description-size\">{{ fileSizeDisplay() }}</span>\n\t</dd>\n\t} }\n\t<dd class=\"fileEntry-status\">\n\t\t<div class=\"fileEntry-status-content\" [luTooltip]=\"tooltip()\">\n\t\t\t@if (state() === 'error' && inlineMessageError()) { @if (media()) {\n\t\t\t<div class=\"fileEntry-status-content-inside\">\n\t\t\t\t<lu-inline-message class=\"fileEntry-status-content-inlineMessage\" [label]=\"inlineMessageError()\" [state]=\"'error'\" />\n\t\t\t</div>\n\t\t\t} @else {\n\t\t\t<div class=\"fileEntry-status-content-inside\">\n\t\t\t\t<lu-icon class=\"fileEntry-status-content-inside-icon\" icon=\"signError\" />\n\t\t\t</div>\n\t\t\t} } @else { @if (previewUrl() && state() !== 'error') {\n\t\t\t<div class=\"fileEntry-status-content-inside\">\n\t\t\t\t<img class=\"fileEntry-status-content-inside-img\" [src]=\"previewUrl()\" alt=\"\" loading=\"lazy\" />\n\t\t\t</div>\n\t\t\t} @if (state() === 'loading') {\n\t\t\t<div class=\"fileEntry-status-content-inside\">\n\t\t\t\t<div class=\"fileEntry-status-content-inside-loading loading\"></div>\n\t\t\t</div>\n\t\t\t} @if (!previewUrl() && state() !== 'loading') {\n\t\t\t<div class=\"fileEntry-status-content-inside\">\n\t\t\t\t<img class=\"fileEntry-status-content-inside-svg\" [attr.src]=\"iconOverride() || fileEntryIconSrc()\" alt=\"\" width=\"32\" height=\"32\" />\n\t\t\t</div>\n\t\t\t} } @if (displayFileName() && media()) {\n\t\t\t<div class=\"fileEntry-status-content-fileName\" aria-hidden=\"true\">{{ fileName() }}</div>\n\t\t\t}\n\t\t</div>\n\t</dd>\n\t@if (downloadURL() || deletable) {\n\t<dd class=\"fileEntry-toolbar\">\n\t\t<div class=\"fileToolbar\" [class.mod-disablePositioning]=\"!media()\" [class.mod-S]=\"size() === 'S'\">\n\t\t\t<ul class=\"fileToolbar-list\">\n\t\t\t\t@if (downloadURL()) {\n\t\t\t\t<li class=\"fileToolbar-list-item\">\n\t\t\t\t\t<a\n\t\t\t\t\t\t[href]=\"downloadURL()\"\n\t\t\t\t\t\ttarget=\"_blank\"\n\t\t\t\t\t\trel=\"noopener noreferrer\"\n\t\t\t\t\t\tdownload=\"download\"\n\t\t\t\t\t\tclass=\"fileToolbar-list-item-button\"\n\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\tluButton\n\t\t\t\t\t\t[luTooltip]=\"intl.download\"\n\t\t\t\t\t\tluTooltipOnlyForDisplay\n\t\t\t\t\t>\n\t\t\t\t\t\t<lu-icon\n\t\t\t\t\t\t\tclass=\"fileToolbar-list-item-button-icon\"\n\t\t\t\t\t\t\ticon=\"arrowDownload\"\n\t\t\t\t\t\t\t[alt]=\"intl.downloadFile | intlParams: {fileName: fileName()}\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t</a>\n\t\t\t\t</li>\n\t\t\t\t} @if (deletable) {\n\t\t\t\t<li class=\"fileToolbar-list-item\">\n\t\t\t\t\t<button\n\t\t\t\t\t\tclass=\"fileToolbar-list-item-button\"\n\t\t\t\t\t\t[class.palette-critical]=\"state() === 'error'\"\n\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\tluButton\n\t\t\t\t\t\t[luTooltip]=\"intl.delete\"\n\t\t\t\t\t\tluTooltipOnlyForDisplay\n\t\t\t\t\t\t(click)=\"deleteFile$.next()\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<lu-icon\n\t\t\t\t\t\t\tclass=\"fileToolbar-list-item-button-icon\"\n\t\t\t\t\t\t\ticon=\"trashDelete\"\n\t\t\t\t\t\t\t[alt]=\"intl.deleteFile | intlParams: {fileName: fileName()}\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t</button>\n\t\t\t\t</li>\n\t\t\t\t}\n\t\t\t</ul>\n\t\t</div>\n\t</dd>\n\t}\n</dl>\n@if (withPassword) {\n<div class=\"fileEntry_box box mod-withArrow mod-neutral\">\n\t<div class=\"box-arrow mod-neutral\"></div>\n\t<lu-form-field [label]=\"intl.password\">\n\t\t<div class=\"fileEntry_box-field\">\n\t\t\t<lu-text-input\n\t\t\t\tclass=\"fileEntry_box-field-textField\"\n\t\t\t\trequired\n\t\t\t\thasClearer\n\t\t\t\tsearchIcon=\"searchMagnifyingGlass\"\n\t\t\t\ttype=\"password\"\n\t\t\t\t[ngModel]=\"password()\"\n\t\t\t\t(ngModelChange)=\"passwordChange$.next($event)\"\n\t\t\t/>\n\t\t\t<button class=\"fileEntry_box-field-button\" luButton type=\"button\">{{ intl.confirmPassword }}</button>\n\t\t</div>\n\t</lu-form-field>\n</div>\n}\n","import { Component, ViewEncapsulation } from '@angular/core';\nimport { IntlParamsPipe } from '@lucca-front/ng/core';\nimport { InputDirective } from '@lucca-front/ng/form-field';\nimport { LuSafeExternalSvgPipe } from '@lucca-front/ng/safe-content';\nimport { LuTooltipModule } from '@lucca-front/ng/tooltip';\nimport { BaseFileUploadComponent } from '../base-file-upload/base-file-upload.component';\n\n@Component({\n\tselector: 'lu-multi-file-upload',\n\tstandalone: true,\n\ttemplateUrl: './multi-file-upload.component.html',\n\tstyleUrls: ['./multi-file-upload.component.scss'],\n\tencapsulation: ViewEncapsulation.None,\n\timports: [LuSafeExternalSvgPipe, InputDirective, LuTooltipModule, IntlParamsPipe],\n})\nexport class MultiFileUploadComponent extends BaseFileUploadComponent {}\n","<div class=\"fileUpload\" [class.is-droppable]=\"droppable\" [class.mod-S]=\"size() === 'S'\" [class.is-hidden]=\"false\">\n\t<input\n\t\t[attr.aria-describedby]=\"'fileUpload-instruction-' + idSuffix\"\n\t\tclass=\"fileUpload-input\"\n\t\ttype=\"file\"\n\t\ttitle=\"\"\n\t\t[attr.accept]=\"acceptAttribute().length > 0 ? acceptAttribute() : null\"\n\t\tluInput\n\t\t(dragenter)=\"droppable = true\"\n\t\t(dragleave)=\"droppable = false\"\n\t\t(change)=\"filesChange($event)\"\n\t\tmultiple=\"multiple\"\n\t\t#inputRef\n\t/>\n\t<div class=\"fileUpload-status\" [innerHtml]=\"illustrationUrl() | luSafeExternalSvg\"></div>\n\t<div class=\"fileUpload-instruction\" [attr.id]=\"'fileUpload-instruction-' + idSuffix\">\n\t\t<span class=\"fileUpload-instruction-action\" aria-hidden=\"true\" [innerHTML]=\"intl.dropOrClick.other\"></span>\n\t\t@if (acceptNames().length) {\n\t\t<span class=\"fileUpload-instruction-formats\">\n\t\t\t@if (acceptNames().length > 1 || acceptAll()) { {{ intl.acceptedFormat.other }} } @else { intl.acceptedFormat.one } {{\n\t\t\tacceptNames().join(', ') }}.\n\t\t</span>\n\t\t} @if (fileMaxSize()) {\n\t\t<span class=\"fileUpload-instruction-size\">{{ intl.maxWeight.other | intlParams: {maxSizeDisplay: maxSizeDisplay()} }}</span>\n\t\t}\n\t\t<span class=\"u-mask\">{{ intl.fileUploadedListed.other }}</span>\n\t</div>\n\t<span class=\"fileUpload-button button\" aria-hidden=\"true\">{{ intl.selectFile.other }}</span>\n</div>\n","import { booleanAttribute, Component, input, output, ViewEncapsulation } from '@angular/core';\nimport { IntlParamsPipe } from '@lucca-front/ng/core';\nimport { InputDirective } from '@lucca-front/ng/form-field';\nimport { LuSafeExternalSvgPipe } from '@lucca-front/ng/safe-content';\nimport { LuTooltipModule } from '@lucca-front/ng/tooltip';\nimport { BaseFileUploadComponent } from '../base-file-upload/base-file-upload.component';\nimport { FileEntryComponent } from '../file-entry/file-entry.component';\nimport { FileEntry } from '../file-upload-entry';\n\n@Component({\n\tselector: 'lu-single-file-upload',\n\tstandalone: true,\n\ttemplateUrl: './single-file-upload.component.html',\n\tstyleUrls: ['./single-file-upload.component.scss'],\n\tencapsulation: ViewEncapsulation.None,\n\timports: [LuSafeExternalSvgPipe, InputDirective, LuTooltipModule, FileEntryComponent, IntlParamsPipe],\n})\nexport class SingleFileUploadComponent extends BaseFileUploadComponent {\n\tentry = input<FileEntry | null>(null);\n\n\tstate = input<'loading' | 'success' | 'error' | null>(null);\n\n\tinlineMessageError = input<string | null>(null);\n\n\tpreviewUrl = input<string | null>(null);\n\n\tdeleteFile = output<void>();\n\n\tdisplayFileName = input(false, { transform: booleanAttribute });\n}\n","<div class=\"fileUpload\" [class.is-droppable]=\"droppable\" [class.mod-S]=\"size() === 'S'\" [class.is-hidden]=\"!!entry()\">\n\t<input\n\t\tclass=\"fileUpload-input\"\n\t\ttype=\"file\"\n\t\ttitle=\"\"\n\t\t[attr.accept]=\"acceptAttribute().length > 0 ? acceptAttribute() : null\"\n\t\tluInput\n\t\t(dragenter)=\"droppable = true\"\n\t\t(dragleave)=\"droppable = false\"\n\t\t(change)=\"filesChange($event)\"\n\t\t[attr.disabled]=\"!!entry() ? 'disabled' : null\"\n\t\t[attr.aria-describedby]=\"'fileUpload-instruction-' + idSuffix\"\n\t/>\n\t<div class=\"fileUpload-status\" [innerHtml]=\"illustrationUrl() | luSafeExternalSvg\"></div>\n\t<div class=\"fileUpload-instruction\" [attr.id]=\"'fileUpload-instruction-' + idSuffix\">\n\t\t<span class=\"fileUpload-instruction-action\" aria-hidden=\"true\" [innerHTML]=\"intl.dropOrClick.one\"></span>\n\t\t@if (acceptNames().length) {\n\t\t<span class=\"fileUpload-instruction-formats\">\n\t\t\t@if (acceptNames().length > 1 || acceptAll()) { {{ intl.acceptedFormat.other }} } @else { {{ intl.acceptedFormat.one }} } {{\n\t\t\tacceptNames().join(', ') }}.\n\t\t</span>\n\t\t} @if (fileMaxSize()) {\n\t\t<span class=\"fileUpload-instruction-size\">{{ intl.maxWeight.one | intlParams: {maxSizeDisplay: maxSizeDisplay()} }}</span>\n\t\t}\n\t\t<span class=\"u-mask\">{{ intl.fileUploadedListed.one }}</span>\n\t</div>\n\t<span class=\"fileUpload-button button\" aria-hidden=\"true\">{{ intl.selectFile.one }}</span>\n</div>\n@if (entry()) {\n<lu-file-entry\n\t[media]=\"size() === null\"\n\t[previewUrl]=\"previewUrl()\"\n\t[entry]=\"entry()\"\n\t[state]=\"state()\"\n\t(deleteFile)=\"deleteFile.emit()\"\n\t[inlineMessageError]=\"inlineMessageError()\"\n\t[displayFileName]=\"displayFileName()\"\n/>\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -255,7 +255,7 @@ class FilterBarComponent {
255
255
  this.optionalPills = computed(() => this.pills().filter((pill) => pill.optional()));
256
256
  }
257
257
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: FilterBarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
258
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.3", type: FilterBarComponent, isStandalone: true, selector: "lu-filter-bar", host: { classAttribute: "filterBar" }, queries: [{ propertyName: "pills", predicate: FilterPillComponent, descendants: true, isSignal: true }], ngImport: i0, template: "<lu-scroll-box class=\"filterBar-scrollBox\">\n\t<div class=\"filterBar-scrollBox-first\"></div>\n\n\t<div class=\"filterBar-scrollBox-group\">\n\t\t@if (addonBefore()) {\n\t\t<ng-container *ngTemplateOutlet=\"addonBefore()\"></ng-container>\n\n\t\t<lu-divider class=\"filterBar-divider\" />\n\t\t} @if (optionalPills().length > 0) {\n\t\t<button\n\t\t\tclass=\"filterPill mod-button\"\n\t\t\ttype=\"button\"\n\t\t\t[luTooltip]=\"intl.additionalFilters\"\n\t\t\tluTooltipOnlyForDisplay\n\t\t\t[luPopover2]=\"contentOptionsTpl\"\n\t\t\tluPopoverNoCloseButton\n\t\t\t[customPositions]=\"popoverPositions\"\n\t\t>\n\t\t\t<lu-icon class=\"filterPill-icon\" icon=\"filtersDescending\" [attr.alt]=\"intl.additionalFilters\" />\n\t\t</button>\n\t\t}\n\n\t\t<ng-content></ng-content>\n\t</div>\n\n\t@if (addonAfter()) {\n\t<div class=\"filterBar-scrollBox-export\">\n\t\t<ng-container *ngTemplateOutlet=\"addonAfter()\"></ng-container>\n\t</div>\n\t}\n\n\t<div class=\"filterBar-scrollBox-last\"></div>\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<div class=\"form-field mod-selectOption filterPill_popover-content-option\">\n\t\t\t<label class=\"formLabel\" [attr.for]=\"'filterPillOptions' + index\">{{ pill.label() }}</label>\n\t\t\t<span class=\"checkboxField\">\n\t\t\t\t<input\n\t\t\t\t\ttype=\"checkbox\"\n\t\t\t\t\tclass=\"checkboxField-input\"\n\t\t\t\t\t[name]=\"pill.name()\"\n\t\t\t\t\t[attr.id]=\"'filterPillOptions' + index\"\n\t\t\t\t\t[(ngModel)]=\"pill.displayed\"\n\t\t\t\t/>\n\t\t\t\t<span class=\"checkboxField-icon\" aria-hidden=\"true\"><span class=\"checkboxField-icon-check\"></span></span>\n\t\t\t</span>\n\t\t</div>\n\t\t}\n\t</form>\n</ng-template>\n", styles: [".filterBar{--components-filterBar-extremitiesDisplay: none}.filterBar .textField{--component-textField-borderRadius: var(--commons-borderRadius-L);--component-textField-border: var(--palettes-neutral-100);--component-textField-borderHover: var(--palettes-product-400);--component-textField-width: 15rem;--component-textField-fontSize: var(--sizes-S-fontSize);--component-textField-lineHeight: var(--sizes-S-lineHeight);--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:last-child{display:none}.filterBar-segmentedControl.segmentedControl{--components-segmentedControl-padding: var(--pr-t-spacings-75) var(--pr-t-spacings-150);--components-segmentedControl-fontSize: var(--sizes-S-fontSize);--components-segmentedControl-lineHeight: var(--sizes-S-lineHeight);--components-segmentedControl-dividerInset: var(--pr-t-spacings-75)}.filterBar-segmentedControl.segmentedControl .numericBadge{--components-numericBadge-size: 1.25rem;--components-numericBadge-borderRadius: 6px;--components-numericBadge-fontSize: var(--sizes-XS-fontSize);--components-numericBadge-lineHeight: var(--sizes-XS-lineHeight)}.filterBar-scrollBox.scrollBox{align-items:flex-start}.filterBar-scrollBox-first{display:var(--components-filterBar-extremitiesDisplay);margin-inline-end:calc(var(--components-scrollBox-gap) * -1)}.filterBar-scrollBox-last{display:var(--components-filterBar-extremitiesDisplay);margin-inline-start:calc(var(--components-scrollBox-gap) * -1)}.filterBar-scrollBox-group{display:flex;gap:var(--components-scrollBox-gap);flex-wrap:wrap}.filterBar-scrollBox-group:has(+.filterBar-scrollBox-last){flex-grow:1}.filterBar-scrollBox-export{margin-inline-start:auto;padding-inline-start:var(--pr-t-spacings-200)}@media not all and (min-width: 30em){.filterBar .filterBar-segmentedControl.segmentedControl{--components-segmentedControl-direction: row;--components-segmentedControl-width: 100%}.filterBar .filterBar-divider.divider{width:100%}}@media (min-width: 30em){.filterBar .filterBar-divider.divider{margin-inline:var(--pr-t-spacings-50);--components-divider-alignSelf: stretch}.filterBar .filterBar-divider.divider:where(:empty){border-inline-start:var(--commons-divider-border)}.filterBar .filterBar-divider.divider:not(:empty){--components-divider-direction: column;--components-divider-iconBottom: var(--pr-t-spacings-25);--components-divider-justify: center}.filterBar .filterBar-divider.divider:not(:empty):before,.filterBar .filterBar-divider.divider:not(:empty):after{border-inline-start:var(--commons-divider-border);min-block-size:var(--components-divider-minSize)}.filterBar .filterBar-scrollBox.scrollBox:has(.filterBar-scrollBox-export){flex-wrap:nowrap}}@media (pointer: coarse){.filterBar{--components-filterBar-extremitiesDisplay: block}.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}.filterBar .filterBar-scrollBox-group{display:contents}}@media not (pointer: coarse){.filterBar .filterBar-scrollBox.scrollBox{--components-scrollBox-wrap: wrap;--components-scrollBox-pseudoElementsContent: none}}\n"], dependencies: [{ kind: "component", type: IconComponent, selector: "lu-icon", inputs: ["icon", "alt", "size", "color"] }, { kind: "directive", type: LuTooltipTriggerDirective, selector: "[luTooltip]", inputs: ["luTooltip", "luTooltipEnterDelay", "luTooltipLeaveDelay", "luTooltipDisabled", "luTooltipOnlyForDisplay", "luTooltipPosition", "luTooltipWhenEllipsis"], exportAs: ["luTooltip"] }, { kind: "directive", type: PopoverDirective, selector: "[luPopover2]", inputs: ["luPopover2", "luPopoverPosition", "luPopoverDisabled", "luPopoverTrigger", "customPositions", "luPopoverNoCloseButton", "luPopoverAnchor", "luPopoverOpenDelay", "luPopoverCloseDelay"], outputs: ["luPopoverClosed", "luPopoverOpened"], exportAs: ["luPopover2"] }, { kind: "component", type: DividerComponent, selector: "lu-divider", inputs: ["withRole", "vertical", "size"] }, { kind: "component", type: ScrollBoxComponent, selector: "lu-scroll-box" }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i1.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
258
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.3", type: FilterBarComponent, isStandalone: true, selector: "lu-filter-bar", host: { classAttribute: "filterBar" }, queries: [{ propertyName: "pills", predicate: FilterPillComponent, descendants: true, isSignal: true }], ngImport: i0, template: "<lu-scroll-box class=\"filterBar-scrollBox\">\n\t<div class=\"filterBar-scrollBox-first\"></div>\n\n\t<div class=\"filterBar-scrollBox-group\">\n\t\t@if (addonBefore()) {\n\t\t<ng-container *ngTemplateOutlet=\"addonBefore()\"></ng-container>\n\n\t\t<lu-divider class=\"filterBar-divider\" />\n\t\t} @if (optionalPills().length > 0) {\n\t\t<button\n\t\t\tclass=\"filterPill mod-button\"\n\t\t\ttype=\"button\"\n\t\t\t[luTooltip]=\"intl.additionalFilters\"\n\t\t\tluTooltipOnlyForDisplay\n\t\t\t[luPopover2]=\"contentOptionsTpl\"\n\t\t\tluPopoverNoCloseButton\n\t\t\t[customPositions]=\"popoverPositions\"\n\t\t>\n\t\t\t<lu-icon class=\"filterPill-icon\" icon=\"filtersDescending\" [attr.alt]=\"intl.additionalFilters\" />\n\t\t</button>\n\t\t}\n\n\t\t<ng-content></ng-content>\n\t</div>\n\n\t@if (addonAfter()) {\n\t<div class=\"filterBar-scrollBox-export\">\n\t\t<ng-container *ngTemplateOutlet=\"addonAfter()\"></ng-container>\n\t</div>\n\t}\n\n\t<div class=\"filterBar-scrollBox-last\"></div>\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<div class=\"form-field mod-selectOption filterPill_popover-content-option\">\n\t\t\t<label class=\"formLabel\" [attr.for]=\"'filterPillOptions' + index\">{{ pill.label() }}</label>\n\t\t\t<span class=\"checkboxField\">\n\t\t\t\t<input\n\t\t\t\t\ttype=\"checkbox\"\n\t\t\t\t\tclass=\"checkboxField-input\"\n\t\t\t\t\t[name]=\"pill.name()\"\n\t\t\t\t\t[attr.id]=\"'filterPillOptions' + index\"\n\t\t\t\t\t[(ngModel)]=\"pill.displayed\"\n\t\t\t\t/>\n\t\t\t\t<span class=\"checkboxField-icon\" aria-hidden=\"true\"><span class=\"checkboxField-icon-check\"></span></span>\n\t\t\t</span>\n\t\t</div>\n\t\t}\n\t</form>\n</ng-template>\n", styles: [".filterBar{--components-filterBar-extremitiesDisplay: none}.filterBar .textField{--component-textField-borderRadius: var(--commons-borderRadius-L);--component-textField-border: var(--palettes-neutral-100);--component-textField-borderHover: var(--palettes-product-400);--component-textField-width: 15rem;--component-textField-fontSize: var(--sizes-S-fontSize);--component-textField-lineHeight: var(--sizes-S-lineHeight);--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:last-child{display:none}.filterBar-segmentedControl.segmentedControl{--components-segmentedControl-padding: var(--pr-t-spacings-75) var(--pr-t-spacings-150);--components-segmentedControl-fontSize: var(--sizes-S-fontSize);--components-segmentedControl-lineHeight: var(--sizes-S-lineHeight);--components-segmentedControl-dividerInset: var(--pr-t-spacings-75)}.filterBar-segmentedControl.segmentedControl .numericBadge{--components-numericBadge-size: 1.25rem;--components-numericBadge-borderRadius: 6px;--components-numericBadge-fontSize: var(--sizes-XS-fontSize);--components-numericBadge-lineHeight: var(--sizes-XS-lineHeight)}.filterBar-scrollBox.scrollBox{align-items:flex-start}.filterBar-scrollBox-first{display:var(--components-filterBar-extremitiesDisplay);margin-inline-end:calc(var(--components-scrollBox-gap) * -1)}.filterBar-scrollBox-last{display:var(--components-filterBar-extremitiesDisplay);margin-inline-start:calc(var(--components-scrollBox-gap) * -1)}.filterBar-scrollBox-group{display:flex;gap:var(--components-scrollBox-gap);flex-wrap:wrap}.filterBar-scrollBox-group:has(+.filterBar-scrollBox-last){flex-grow:1}.filterBar-scrollBox-export{margin-inline-start:auto;padding-inline-start:var(--pr-t-spacings-200)}@media not all and (min-width: 30em){.filterBar .filterBar-segmentedControl.segmentedControl{--components-segmentedControl-direction: row;--components-segmentedControl-width: 100%}.filterBar .filterBar-divider.divider{width:100%}}@media (min-width: 30em){.filterBar .filterBar-divider.divider{margin-inline:var(--pr-t-spacings-50);--components-divider-alignSelf: stretch}.filterBar .filterBar-divider.divider:where(:empty){border-inline-start:var(--commons-divider-border)}.filterBar .filterBar-divider.divider:not(:empty){--components-divider-direction: column;--components-divider-iconBottom: var(--pr-t-spacings-25);--components-divider-justify: center}.filterBar .filterBar-divider.divider:not(:empty):before,.filterBar .filterBar-divider.divider:not(:empty):after{border-inline-start:var(--commons-divider-border);min-block-size:var(--components-divider-minSize)}.filterBar .filterBar-scrollBox.scrollBox:has(.filterBar-scrollBox-export){flex-wrap:nowrap}}@media (pointer: coarse){.filterBar{--components-filterBar-extremitiesDisplay: block}.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}.filterBar .filterBar-scrollBox-group{display:contents}}@media not (pointer: coarse){.filterBar .filterBar-scrollBox.scrollBox{--components-scrollBox-wrap: wrap;--components-scrollBox-pseudoElementsContent: none}}\n"], dependencies: [{ kind: "component", type: IconComponent, selector: "lu-icon", inputs: ["icon", "alt", "size", "color"] }, { kind: "directive", type: LuTooltipTriggerDirective, selector: "[luTooltip]", inputs: ["luTooltip", "luTooltipEnterDelay", "luTooltipLeaveDelay", "luTooltipDisabled", "luTooltipOnlyForDisplay", "luTooltipPosition", "luTooltipWhenEllipsis"], exportAs: ["luTooltip"] }, { kind: "directive", type: PopoverDirective, selector: "[luPopover2]", inputs: ["luPopover2", "luPopoverPosition", "luPopoverDisabled", "luPopoverTrigger", "customPositions", "luPopoverNoCloseButton", "luPopoverAnchor", "luPopoverOpenDelay", "luPopoverCloseDelay"], outputs: ["luPopoverClosed", "luPopoverOpened"], exportAs: ["luPopover2"] }, { kind: "component", type: DividerComponent, selector: "lu-divider", inputs: ["separatorRole", "vertical", "size", "withRole"] }, { kind: "component", type: ScrollBoxComponent, selector: "lu-scroll-box" }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i1.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
259
259
  }
260
260
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: FilterBarComponent, decorators: [{
261
261
  type: Component,
@@ -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\tstandalone: true,\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';\n\ninterface FilterPillLabelContext {\n\tlabel: string;\n\tplaceholder: string;\n\tisEmpty: boolean;\n\tcolon: string;\n}\n\n@Directive({\n\tselector: '[luFilterPillLabel]',\n\tstandalone: true,\n})\nexport class FilterPillLabelDirective {\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.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\ten: {\n\t\tclear: 'Clear this field',\n\t\tplaceholder: 'No value selected',\n\t\tadditionalFilters: 'Additional filters',\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\tfr: {\n\t\tclear: 'Vider ce champ',\n\t\tplaceholder: 'Aucune valeur sélectionnée',\n\t\tadditionalFilters: 'Filtres supplémentaires',\n\t},\n\tit: {\n\t\tclear: 'Svuotare questo campo',\n\t\tplaceholder: 'Nessun valore selezionato',\n\t\tadditionalFilters: 'Filtri aggiuntivi',\n\t},\n\tnl: {\n\t\tclear: 'Dit veld leegmaken',\n\t\tplaceholder: 'Geen waarde geselecteerd',\n\t\tadditionalFilters: 'Extra filters',\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\tes: {\n\t\tclear: 'Vaciar este campo',\n\t\tplaceholder: 'Ningún valor seleccionado',\n\t\tadditionalFilters: 'Filtros complementarios',\n\t},\n\tpt: {\n\t\tclear: 'Esvaziar este campo',\n\t\tplaceholder: 'Nenhum valor selecionado',\n\t\tadditionalFilters: 'Filtros adicionais',\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 { 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\tstandalone: true,\n\timports: [PopoverDirective, FormsModule, IconComponent, NgTemplateOutlet, LuTooltipModule],\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<boolean, boolean>(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());\n\tinputIsClearable = computed(() => this.inputComponentRef()?.isFilterPillClearable());\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\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()) { @if (layout() === 'default') {\n<label [attr.for]=\"id\" class=\"filterPill-label\">\n\t<ng-container\n\t\t*ngTemplateOutlet=\"labelTpl(); context:{label: label(), isEmpty: inputIsEmpty(), placeholder: placeholder(), colon: colonDisplay()}\"\n\t></ng-container>\n</label>\n<button\n\t[attr.id]=\"id\"\n\t[attr.disabled]=\"disabled() ? 'disabled' : null\"\n\tclass=\"filterPill-combobox\"\n\ttype=\"button\"\n\trole=\"combobox\"\n\t[luPopover2]=\"pillContent\"\n\t[luPopoverNoCloseButton]=\"true\"\n\t[customPositions]=\"popoverPositions\"\n\t[luPopoverAnchor]=\"elementRef\"\n\t(luPopoverOpened)=\"popoverOpened()\"\n\t#popoverRef=\"luPopover2\"\n\t#comboboxRef\n\t[attr.aria-expanded]=\"popoverRef.opened()\"\n\t(keydown.arrowDown)=\"$event.preventDefault();popoverRef.openPopover(true)\"\n\t(keydown.arrowUp)=\"$event.preventDefault();popoverRef.openPopover(true)\"\n>\n\t<ng-container *ngTemplateOutlet=\"pillTpl; context:{label: label(), isEmpty: inputIsEmpty()}\"></ng-container>\n\t@if (inputIsEmpty() && !disabled()) { {{ placeholder() }} }\n</button>\n@if (inputIsClearable()) {\n<button type=\"button\" class=\"filterPill-clear clear\" (click)=\"$event.stopPropagation(); clear(); comboboxRef.focus()\">\n\t<span class=\"u-mask\">{{ intl.clear }}</span>\n</button>\n}\n<button\n\ttype=\"button\"\n\taria-hidden=\"true\"\n\ttabindex=\"-1\"\n\tclass=\"filterPill-toggle\"\n\t[attr.disabled]=\"disabled() ? 'disabled' : null\"\n\t(click)=\"popoverRef.openPopover(true)\"\n>\n\t<lu-icon [icon]=\"displayedIcon()\" size=\"S\" />\n</button>\n} @else {\n<ng-container\n\t*ngTemplateOutlet=\"labelTpl(); context:{label: label(), isEmpty: inputIsEmpty(), placeholder: placeholder(), colon: colonDisplay()}\"\n></ng-container>\n} }\n<ng-template #pillContent>\n\t<div class=\"filterPill_popover-content popover-contentOptional\">\n\t\t<ng-content></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/scrollBox';\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-first\"></div>\n\n\t<div class=\"filterBar-scrollBox-group\">\n\t\t@if (addonBefore()) {\n\t\t<ng-container *ngTemplateOutlet=\"addonBefore()\"></ng-container>\n\n\t\t<lu-divider class=\"filterBar-divider\" />\n\t\t} @if (optionalPills().length > 0) {\n\t\t<button\n\t\t\tclass=\"filterPill mod-button\"\n\t\t\ttype=\"button\"\n\t\t\t[luTooltip]=\"intl.additionalFilters\"\n\t\t\tluTooltipOnlyForDisplay\n\t\t\t[luPopover2]=\"contentOptionsTpl\"\n\t\t\tluPopoverNoCloseButton\n\t\t\t[customPositions]=\"popoverPositions\"\n\t\t>\n\t\t\t<lu-icon class=\"filterPill-icon\" icon=\"filtersDescending\" [attr.alt]=\"intl.additionalFilters\" />\n\t\t</button>\n\t\t}\n\n\t\t<ng-content></ng-content>\n\t</div>\n\n\t@if (addonAfter()) {\n\t<div class=\"filterBar-scrollBox-export\">\n\t\t<ng-container *ngTemplateOutlet=\"addonAfter()\"></ng-container>\n\t</div>\n\t}\n\n\t<div class=\"filterBar-scrollBox-last\"></div>\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<div class=\"form-field mod-selectOption filterPill_popover-content-option\">\n\t\t\t<label class=\"formLabel\" [attr.for]=\"'filterPillOptions' + index\">{{ pill.label() }}</label>\n\t\t\t<span class=\"checkboxField\">\n\t\t\t\t<input\n\t\t\t\t\ttype=\"checkbox\"\n\t\t\t\t\tclass=\"checkboxField-input\"\n\t\t\t\t\t[name]=\"pill.name()\"\n\t\t\t\t\t[attr.id]=\"'filterPillOptions' + index\"\n\t\t\t\t\t[(ngModel)]=\"pill.displayed\"\n\t\t\t\t/>\n\t\t\t\t<span class=\"checkboxField-icon\" aria-hidden=\"true\"><span class=\"checkboxField-icon-check\"></span></span>\n\t\t\t</span>\n\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\tstandalone: true,\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\tstandalone: true,\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\tstandalone: true,\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';\n\ninterface FilterPillLabelContext {\n\tlabel: string;\n\tplaceholder: string;\n\tisEmpty: boolean;\n\tcolon: string;\n}\n\n@Directive({\n\tselector: '[luFilterPillLabel]',\n\tstandalone: true,\n})\nexport class FilterPillLabelDirective {\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.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\ten: {\n\t\tclear: 'Clear this field',\n\t\tplaceholder: 'No value selected',\n\t\tadditionalFilters: 'Additional filters',\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\tfr: {\n\t\tclear: 'Vider ce champ',\n\t\tplaceholder: 'Aucune valeur sélectionnée',\n\t\tadditionalFilters: 'Filtres supplémentaires',\n\t},\n\tit: {\n\t\tclear: 'Svuotare questo campo',\n\t\tplaceholder: 'Nessun valore selezionato',\n\t\tadditionalFilters: 'Filtri aggiuntivi',\n\t},\n\tnl: {\n\t\tclear: 'Dit veld leegmaken',\n\t\tplaceholder: 'Geen waarde geselecteerd',\n\t\tadditionalFilters: 'Extra filters',\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\tes: {\n\t\tclear: 'Vaciar este campo',\n\t\tplaceholder: 'Ningún valor seleccionado',\n\t\tadditionalFilters: 'Filtros complementarios',\n\t},\n\tpt: {\n\t\tclear: 'Esvaziar este campo',\n\t\tplaceholder: 'Nenhum valor selecionado',\n\t\tadditionalFilters: 'Filtros adicionais',\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 { 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\tstandalone: true,\n\timports: [PopoverDirective, FormsModule, IconComponent, NgTemplateOutlet, LuTooltipModule],\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());\n\tinputIsClearable = computed(() => this.inputComponentRef()?.isFilterPillClearable());\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\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()) { @if (layout() === 'default') {\n<label [attr.for]=\"id\" class=\"filterPill-label\">\n\t<ng-container\n\t\t*ngTemplateOutlet=\"labelTpl(); context:{label: label(), isEmpty: inputIsEmpty(), placeholder: placeholder(), colon: colonDisplay()}\"\n\t></ng-container>\n</label>\n<button\n\t[attr.id]=\"id\"\n\t[attr.disabled]=\"disabled() ? 'disabled' : null\"\n\tclass=\"filterPill-combobox\"\n\ttype=\"button\"\n\trole=\"combobox\"\n\t[luPopover2]=\"pillContent\"\n\t[luPopoverNoCloseButton]=\"true\"\n\t[customPositions]=\"popoverPositions\"\n\t[luPopoverAnchor]=\"elementRef\"\n\t(luPopoverOpened)=\"popoverOpened()\"\n\t#popoverRef=\"luPopover2\"\n\t#comboboxRef\n\t[attr.aria-expanded]=\"popoverRef.opened()\"\n\t(keydown.arrowDown)=\"$event.preventDefault();popoverRef.openPopover(true)\"\n\t(keydown.arrowUp)=\"$event.preventDefault();popoverRef.openPopover(true)\"\n>\n\t<ng-container *ngTemplateOutlet=\"pillTpl; context:{label: label(), isEmpty: inputIsEmpty()}\"></ng-container>\n\t@if (inputIsEmpty() && !disabled()) { {{ placeholder() }} }\n</button>\n@if (inputIsClearable()) {\n<button type=\"button\" class=\"filterPill-clear clear\" (click)=\"$event.stopPropagation(); clear(); comboboxRef.focus()\">\n\t<span class=\"u-mask\">{{ intl.clear }}</span>\n</button>\n}\n<button\n\ttype=\"button\"\n\taria-hidden=\"true\"\n\ttabindex=\"-1\"\n\tclass=\"filterPill-toggle\"\n\t[attr.disabled]=\"disabled() ? 'disabled' : null\"\n\t(click)=\"popoverRef.openPopover(true)\"\n>\n\t<lu-icon [icon]=\"displayedIcon()\" size=\"S\" />\n</button>\n} @else {\n<ng-container\n\t*ngTemplateOutlet=\"labelTpl(); context:{label: label(), isEmpty: inputIsEmpty(), placeholder: placeholder(), colon: colonDisplay()}\"\n></ng-container>\n} }\n<ng-template #pillContent>\n\t<div class=\"filterPill_popover-content popover-contentOptional\">\n\t\t<ng-content></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/scrollBox';\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-first\"></div>\n\n\t<div class=\"filterBar-scrollBox-group\">\n\t\t@if (addonBefore()) {\n\t\t<ng-container *ngTemplateOutlet=\"addonBefore()\"></ng-container>\n\n\t\t<lu-divider class=\"filterBar-divider\" />\n\t\t} @if (optionalPills().length > 0) {\n\t\t<button\n\t\t\tclass=\"filterPill mod-button\"\n\t\t\ttype=\"button\"\n\t\t\t[luTooltip]=\"intl.additionalFilters\"\n\t\t\tluTooltipOnlyForDisplay\n\t\t\t[luPopover2]=\"contentOptionsTpl\"\n\t\t\tluPopoverNoCloseButton\n\t\t\t[customPositions]=\"popoverPositions\"\n\t\t>\n\t\t\t<lu-icon class=\"filterPill-icon\" icon=\"filtersDescending\" [attr.alt]=\"intl.additionalFilters\" />\n\t\t</button>\n\t\t}\n\n\t\t<ng-content></ng-content>\n\t</div>\n\n\t@if (addonAfter()) {\n\t<div class=\"filterBar-scrollBox-export\">\n\t\t<ng-container *ngTemplateOutlet=\"addonAfter()\"></ng-container>\n\t</div>\n\t}\n\n\t<div class=\"filterBar-scrollBox-last\"></div>\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<div class=\"form-field mod-selectOption filterPill_popover-content-option\">\n\t\t\t<label class=\"formLabel\" [attr.for]=\"'filterPillOptions' + index\">{{ pill.label() }}</label>\n\t\t\t<span class=\"checkboxField\">\n\t\t\t\t<input\n\t\t\t\t\ttype=\"checkbox\"\n\t\t\t\t\tclass=\"checkboxField-input\"\n\t\t\t\t\t[name]=\"pill.name()\"\n\t\t\t\t\t[attr.id]=\"'filterPillOptions' + index\"\n\t\t\t\t\t[(ngModel)]=\"pill.displayed\"\n\t\t\t\t/>\n\t\t\t\t<span class=\"checkboxField-icon\" aria-hidden=\"true\"><span class=\"checkboxField-icon-check\"></span></span>\n\t\t\t</span>\n\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\tstandalone: true,\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\tstandalone: true,\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":";;;;;;;;;;;;;MAIa,2BAA2B,GAAG,IAAI,cAAc,CAA2B,4BAA4B;MAEvG,0BAA0B,GAAG,IAAI,cAAc,CAAsB,2BAA2B;;MCOhG,4BAA4B,CAAA;IACxC,uBAAuB,GAAG,MAAM,CAAC,mBAAmB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;AAEzE,IAAA,YAAY,GAAG,MAAM,CAAC,WAAW,CAAC;AAElC,IAAA,WAAA,GAAA;AACC,QAAA,IAAI,IAAI,CAAC,uBAAuB,EAAE;YACjC,IAAI,CAAC,uBAAuB,CAAC,OAAO,GAAG,IAAI,CAAC,YAAY;;;AAInD,IAAA,OAAO,sBAAsB,CAAC,IAAkC,EAAE,GAAY,EAAA;AACpF,QAAA,OAAO,IAAI;;8GAZA,4BAA4B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAA5B,4BAA4B,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,yBAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAA5B,4BAA4B,EAAA,UAAA,EAAA,CAAA;kBAJxC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,QAAQ,EAAE,yBAAyB;AACnC,oBAAA,UAAU,EAAE,IAAI;AAChB,iBAAA;;;MCEY,wBAAwB,CAAA;IACpC,uBAAuB,GAAG,MAAM,CAAC,mBAAmB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;AAEzE,IAAA,YAAY,GAAG,MAAM,CAAC,WAAW,CAAC;AAElC,IAAA,WAAA,GAAA;AACC,QAAA,IAAI,IAAI,CAAC,uBAAuB,EAAE;YACjC,IAAI,CAAC,uBAAuB,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC;;;AAI7D,IAAA,OAAO,sBAAsB,CAAC,IAA8B,EAAE,GAAY,EAAA;AAChF,QAAA,OAAO,IAAI;;8GAZA,wBAAwB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAAxB,wBAAwB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,qBAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAAxB,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBAJpC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,QAAQ,EAAE,qBAAqB;AAC/B,oBAAA,UAAU,EAAE,IAAI;AAChB,iBAAA;;;ACbM,MAAM,YAAY,GAAG;AAC3B,IAAA,EAAE,EAAE;AACH,QAAA,KAAK,EAAE,kBAAkB;AACzB,QAAA,WAAW,EAAE,mBAAmB;AAChC,QAAA,iBAAiB,EAAE,oBAAoB;AACvC,KAAA;AACD,IAAA,EAAE,EAAE;AACH,QAAA,KAAK,EAAE,sCAAsC;AAC7C,QAAA,WAAW,EAAE,sBAAsB;AACnC,QAAA,iBAAiB,EAAE,oBAAoB;AACvC,KAAA;AACD,IAAA,EAAE,EAAE;AACH,QAAA,KAAK,EAAE,gBAAgB;AACvB,QAAA,WAAW,EAAE,4BAA4B;AACzC,QAAA,iBAAiB,EAAE,yBAAyB;AAC5C,KAAA;AACD,IAAA,EAAE,EAAE;AACH,QAAA,KAAK,EAAE,uBAAuB;AAC9B,QAAA,WAAW,EAAE,2BAA2B;AACxC,QAAA,iBAAiB,EAAE,mBAAmB;AACtC,KAAA;AACD,IAAA,EAAE,EAAE;AACH,QAAA,KAAK,EAAE,oBAAoB;AAC3B,QAAA,WAAW,EAAE,0BAA0B;AACvC,QAAA,iBAAiB,EAAE,eAAe;AAClC,KAAA;AACD,IAAA,OAAO,EAAE;AACR,QAAA,KAAK,EAAE,oBAAoB;AAC3B,QAAA,WAAW,EAAE,0BAA0B;AACvC,QAAA,iBAAiB,EAAE,eAAe;AAClC,KAAA;AACD,IAAA,EAAE,EAAE;AACH,QAAA,KAAK,EAAE,mBAAmB;AAC1B,QAAA,WAAW,EAAE,2BAA2B;AACxC,QAAA,iBAAiB,EAAE,yBAAyB;AAC5C,KAAA;AACD,IAAA,EAAE,EAAE;AACH,QAAA,KAAK,EAAE,qBAAqB;AAC5B,QAAA,WAAW,EAAE,0BAA0B;AACvC,QAAA,iBAAiB,EAAE,oBAAoB;AACvC,KAAA;CACD;;ACrCM,MAAM,4BAA4B,GAAG,IAAI,cAAc,CAAC,2BAA2B,EAAE;AAC3F,IAAA,OAAO,EAAE,MAAM,yBAAyB;AACxC,CAAA,CAAC;AAQK,MAAM,yBAAyB,GAAsC,YAAY;;ACkBxF,IAAI,MAAM,GAAG,CAAC;MAoBD,mBAAmB,CAAA;AAG/B,IAAA,OAAO;AAiCP,IAAA,IACI,aAAa,GAAA;AAChB,QAAA,OAAO,IAAI,CAAC,QAAQ,EAAE;;AAyDvB,IAAA,IACI,aAAa,GAAA;AAChB,QAAA,OAAO,IAAI,CAAC,WAAW,EAAE;;AAG1B,IAAA,IACI,QAAQ,GAAA;AACX,QAAA,OAAO,CAAC,IAAI,CAAC,YAAY,EAAE;;AAG5B,IAAA,IACI,YAAY,GAAA;AACf,QAAA,OAAO,IAAI,CAAC,kBAAkB,EAAE;;AAGjC,IAAA,WAAA,GAAA;AA7GA,QAAA,IAAA,CAAA,IAAI,GAAG,OAAO,CAAC,4BAA4B,CAAC;AAE5C,QAAA,IAAA,CAAA,OAAO,GAAG,MAAM,CAAC,SAAS,CAAC;AAE3B,QAAA,IAAA,CAAA,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;AAE/B,QAAA,IAAA,CAAA,EAAE,GAAG,CAAA,oBAAA,EAAuB,MAAM,EAAE,EAAE;AAEtC,QAAA,IAAA,CAAA,MAAM,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,iBAAiB,EAAE,EAAE,gBAAgB,IAAI,IAAI,SAAS,CAAC;;AAGpF,QAAA,IAAA,CAAA,sBAAsB,GAAG,YAAY,CAAC,2BAA2B,CAAC;;;AAIlE,QAAA,IAAA,CAAA,2BAA2B,GAAG,MAAM,CAAkC,IAAI,CAAC;AAE3E,QAAA,IAAA,CAAA,iBAAiB,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,2BAA2B,EAAE,IAAI,IAAI,CAAC,sBAAsB,EAAE,CAAC;AAEvG,QAAA,IAAA,CAAA,UAAU,GAAG,SAAS,CAAC,gBAAgB,CAAC;AAIxC,QAAA,IAAA,CAAA,QAAQ,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,cAAc,EAAE,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;AAE1E,QAAA,IAAA,CAAA,eAAe,GAAG,SAAS,CAAuB,cAAc,CAAC;AAEjE,QAAA,IAAA,CAAA,cAAc,GAAG,MAAM,CAA8B,IAAI,CAAC;QAE1D,IAAI,CAAA,IAAA,GAAG,KAAK,EAAU;QAEtB,IAAQ,CAAA,QAAA,GAAG,KAAK,CAAC,KAAK,EAAE,EAAE,SAAS,EAAE,gBAAgB,EAAE,CAAC;AAExD,QAAA,IAAA,CAAA,QAAQ,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,iBAAiB,EAAE,EAAE,kBAAkB,IAAI,IAAI,KAAK,CAAC;AAOpF,QAAA,IAAA,CAAA,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC;AAEd,QAAA,IAAA,CAAA,QAAQ,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;AAEzE,QAAA,IAAA,CAAA,gBAAgB,GAA6B;YAC5C,IAAI,sBAAsB,CACzB,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,EACvC;AACC,gBAAA,QAAQ,EAAE,OAAO;AACjB,gBAAA,QAAQ,EAAE,KAAK;AACf,aAAA,EACD,CAAC,CAAC,EACF,CAAC,CACD;YACD,IAAI,sBAAsB,CACzB,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,EACpC;AACC,gBAAA,QAAQ,EAAE,OAAO;AACjB,gBAAA,QAAQ,EAAE,QAAQ;AAClB,aAAA,EACD,CAAC,CAAC,EACF,CAAC,CACD;SACD;AAED,QAAA,IAAA,CAAA,KAAK,GAAG,KAAK,CAAC,QAAQ,EAAU;QAEhC,IAAW,CAAA,WAAA,GAAG,KAAK,CAAS,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC;QAElD,IAAI,CAAA,IAAA,GAAG,KAAK,EAAa;AAEzB,QAAA,IAAA,CAAA,WAAW,GAAG,QAAQ,CAAY,MAAM,IAAI,CAAC,iBAAiB,EAAE,EAAE,wBAAwB,IAAI,IAAI,oBAAoB,CAAC;AAEvH,QAAA,IAAA,CAAA,aAAa,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;AAEjE,QAAA,IAAA,CAAA,kBAAkB,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,iBAAiB,EAAE,EAAE,YAAY,IAAI,IAAI,KAAK,CAAC;AAExF,QAAA,IAAA,CAAA,YAAY,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,iBAAiB,EAAE,EAAE,iBAAiB,EAAE,CAAC;AAC5E,QAAA,IAAA,CAAA,gBAAgB,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,iBAAiB,EAAE,EAAE,qBAAqB,EAAE,CAAC;QAEpF,IAAe,CAAA,eAAA,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,iBAAiB,EAAE,EAAE,SAAS,IAAI,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;AAEjG,QAAA,IAAA,CAAA,YAAY,GAAG,QAAQ,CAAC,MAAK;AAC5B,YAAA,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,EAAE;AAC5B,gBAAA,OAAO,EAAE;;AAEV,YAAA,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,EAAE;AAC1B,gBAAA,OAAO,IAAI;;AAEZ,YAAA,OAAO,GAAG;AACX,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,WAAW,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,MAAM,EAAE,KAAK,WAAW,CAAC;QAuC3D,IAAY,CAAA,YAAA,GAAG,MAAK;AACnB,YAAA,IAAI,CAAC,UAAU,EAAE,CAAC,KAAK,EAAE;AACzB,YAAA,IAAI,CAAC,iBAAiB,EAAE,EAAE,kBAAkB,IAAI;AACjD,SAAC;QAED,IAAc,CAAA,cAAA,GAAG,MAAK;AACrB,YAAA,IAAI,CAAC,UAAU,EAAE,EAAE,cAAc,EAAE;AACpC,SAAC;QA5BA,MAAM,CAAC,MAAK;AACX,YAAA,MAAM,GAAG,GAAG,IAAI,CAAC,iBAAiB,EAAE;YACpC,IAAI,GAAG,EAAE;gBACR,SAAS,CAAC,MAAK;oBACd,GAAG,CAAC,oBAAoB,EAAE;AAC1B,oBAAA,GAAG,CAAC,8BAA8B,CAAC,IAAI,CAAC,YAAY,CAAC;oBACrD,GAAG,CAAC,gCAAgC,GAAG,IAAI,CAAC,cAAc,CAAC;AAC5D,iBAAC,CAAC;;AAEJ,SAAC,CAAC;;IAIH,SAAS,GAAA;AACR,QAAA,IAAI,CAAC,iBAAiB,EAAE,EAAE,iBAAiB,IAAI;;IAGhD,aAAa,GAAA;AACZ,QAAA,IAAI,CAAC,iBAAiB,EAAE,EAAE,kBAAkB,IAAI;;IAYjD,KAAK,GAAA;AACJ,QAAA,IAAI,CAAC,iBAAiB,EAAE,EAAE,oBAAoB,EAAE;;AAGjD,IAAA,aAAa,CAAC,KAA+B,EAAA;AAC5C,QAAA,IAAI,CAAC,2BAA2B,CAAC,GAAG,CAAC,KAAK,CAAC;;8GAlJhC,mBAAmB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAnB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,mBAAmB,EAVpB,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,UAAA,EAAA,WAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,WAAA,EAAA,EAAA,iBAAA,EAAA,aAAA,EAAA,UAAA,EAAA,aAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,OAAA,EAAA,EAAA,SAAA,EAAA,iBAAA,EAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,OAAA,EAAA,aAAA,EAAA,EAAA,UAAA,EAAA,EAAA,iBAAA,EAAA,oBAAA,EAAA,oBAAA,EAAA,oBAAA,EAAA,iBAAA,EAAA,eAAA,EAAA,yBAAA,EAAA,mBAAA,EAAA,EAAA,cAAA,EAAA,YAAA,EAAA,EAAA,SAAA,EAAA;AACV,YAAA;AACC,gBAAA,OAAO,EAAE,0BAA0B;AACnC,gBAAA,WAAW,EAAE,UAAU,CAAC,MAAM,mBAAmB,CAAC;AAClD,aAAA;AACD,SAAA,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,wBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAiBqC,2BAA2B,EAAA,WAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,YAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAQ1C,gBAAgB,EAAA,WAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,iBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,cAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECxExC,i8DAoDA,EDfW,MAAA,EAAA,CAAA,oodAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,gBAAgB,EAAE,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,CAAA,YAAA,EAAA,mBAAA,EAAA,mBAAA,EAAA,kBAAA,EAAA,iBAAA,EAAA,wBAAA,EAAA,iBAAA,EAAA,oBAAA,EAAA,qBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,iBAAA,EAAA,iBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,YAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,WAAW,EAAE,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,aAAa,EAAE,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,KAAA,EAAA,MAAA,EAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,gBAAgB,mJAAE,eAAe,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;2FAe7E,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAlB/B,SAAS;+BACC,gBAAgB,EAAA,UAAA,EACd,IAAI,EACP,OAAA,EAAA,CAAC,gBAAgB,EAAE,WAAW,EAAE,aAAa,EAAE,gBAAgB,EAAE,eAAe,CAAC,iBAG3E,iBAAiB,CAAC,IAAI,EACpB,eAAA,EAAA,uBAAuB,CAAC,MAAM,EACpC,SAAA,EAAA;AACV,wBAAA;AACC,4BAAA,OAAO,EAAE,0BAA0B;AACnC,4BAAA,WAAW,EAAE,UAAU,CAAC,yBAAyB,CAAC;AAClD,yBAAA;qBACD,EACK,IAAA,EAAA;AACL,wBAAA,KAAK,EAAE,YAAY;AACnB,qBAAA,EAAA,QAAA,EAAA,i8DAAA,EAAA,MAAA,EAAA,CAAA,oodAAA,CAAA,EAAA;wDAuCG,aAAa,EAAA,CAAA;sBADhB,WAAW;uBAAC,iBAAiB;gBA4D1B,aAAa,EAAA,CAAA;sBADhB,WAAW;uBAAC,oBAAoB;gBAM7B,QAAQ,EAAA,CAAA;sBADX,WAAW;uBAAC,iBAAiB;gBAM1B,YAAY,EAAA,CAAA;sBADf,WAAW;uBAAC,yBAAyB;gBAmBtC,SAAS,EAAA,CAAA;sBADR,YAAY;uBAAC,OAAO;;;MEvJT,kBAAkB,CAAA;AAX/B,IAAA,WAAA,GAAA;AAYC,QAAA,IAAA,CAAA,IAAI,GAAG,OAAO,CAAC,4BAA4B,CAAC;AAE5C,QAAA,IAAA,CAAA,WAAW,GAAG,MAAM,CAA8B,IAAI,CAAC;AACvD,QAAA,IAAA,CAAA,UAAU,GAAG,MAAM,CAA8B,IAAI,CAAC;AAEtD,QAAA,IAAA,CAAA,gBAAgB,GAA6B;YAC5C,IAAI,sBAAsB,CACzB,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,EACvC;AACC,gBAAA,QAAQ,EAAE,OAAO;AACjB,gBAAA,QAAQ,EAAE,KAAK;AACf,aAAA,EACD,CAAC,CAAC,EACF,CAAC,CACD;YACD,IAAI,sBAAsB,CACzB,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,EACpC;AACC,gBAAA,QAAQ,EAAE,OAAO;AACjB,gBAAA,QAAQ,EAAE,QAAQ;AAClB,aAAA,EACD,CAAC,CAAC,EACF,CAAC,CACD;SACD;QAED,IAAK,CAAA,KAAA,GAAG,eAAe,CAAC,mBAAmB,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;QAEnE,IAAa,CAAA,aAAA,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC,MAAM,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;AAC9E;8GA9BY,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAlB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,kBAAkB,sIA2BN,mBAAmB,EAAA,WAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECnD5C,0yDAqDA,EAAA,MAAA,EAAA,CAAA,onHAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EDtCW,aAAa,EAAE,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,KAAA,EAAA,MAAA,EAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,yBAAyB,EAAE,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,WAAA,EAAA,qBAAA,EAAA,qBAAA,EAAA,mBAAA,EAAA,yBAAA,EAAA,mBAAA,EAAA,uBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,WAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,gBAAgB,uUAAE,gBAAgB,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,eAAA,EAAA,UAAA,EAAA,MAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,kBAAkB,EAAE,QAAA,EAAA,eAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,WAAW,y8BAAE,gBAAgB,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,EAAA,0BAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;2FAS7H,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAX9B,SAAS;+BACC,eAAe,EAAA,OAAA,EAChB,CAAC,aAAa,EAAE,yBAAyB,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,WAAW,EAAE,gBAAgB,CAAC,EAAA,aAAA,EAG3H,iBAAiB,CAAC,IAAI,EACpB,eAAA,EAAA,uBAAuB,CAAC,MAAM,EACzC,IAAA,EAAA;AACL,wBAAA,KAAK,EAAE,WAAW;AAClB,qBAAA,EAAA,QAAA,EAAA,0yDAAA,EAAA,MAAA,EAAA,CAAA,onHAAA,CAAA,EAAA;;;MEfW,8BAA8B,CAAA;AAC1C,IAAA,WAAA,GAAA;AACC,QAAA,MAAM,CAAC,kBAAkB,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;;AAGzD,IAAA,OAAO,sBAAsB,CAAC,IAAoC,EAAE,GAAY,EAAA;AACtF,QAAA,OAAO,IAAI;;8GANA,8BAA8B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAA9B,8BAA8B,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,2BAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAA9B,8BAA8B,EAAA,UAAA,EAAA,CAAA;kBAJ1C,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,QAAQ,EAAE,2BAA2B;AACrC,oBAAA,UAAU,EAAE,IAAI;AAChB,iBAAA;;MAeY,6BAA6B,CAAA;AACzC,IAAA,WAAA,GAAA;AACC,QAAA,MAAM,CAAC,kBAAkB,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;;AAGxD,IAAA,OAAO,sBAAsB,CAAC,IAAmC,EAAE,GAAY,EAAA;AACrF,QAAA,OAAO,IAAI;;8GANA,6BAA6B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAA7B,6BAA6B,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,0BAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAA7B,6BAA6B,EAAA,UAAA,EAAA,CAAA;kBAJzC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,QAAQ,EAAE,0BAA0B;AACpC,oBAAA,UAAU,EAAE,IAAI;AAChB,iBAAA;;;ACpBD;;AAEG;;;;"}