@lucca-front/ng 20.3.0-rc.13 → 20.3.0-rc.14

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.
@@ -305,7 +305,7 @@ class FileEntryComponent {
305
305
  return this.deleteFile$.observed;
306
306
  }
307
307
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: FileEntryComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
308
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.2", type: FileEntryComponent, isStandalone: true, selector: "lu-file-entry", inputs: { state: { classPropertyName: "state", publicName: "state", isSignal: true, isRequired: false, transformFunction: null }, displayFileName: { classPropertyName: "displayFileName", publicName: "displayFileName", isSignal: true, isRequired: false, transformFunction: null }, inlineMessageError: { classPropertyName: "inlineMessageError", publicName: "inlineMessageError", isSignal: true, isRequired: false, transformFunction: null }, entry: { classPropertyName: "entry", publicName: "entry", isSignal: true, isRequired: true, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, iconOverride: { classPropertyName: "iconOverride", publicName: "iconOverride", isSignal: true, isRequired: false, transformFunction: null }, downloadURL: { classPropertyName: "downloadURL", publicName: "downloadURL", isSignal: true, isRequired: false, transformFunction: null }, password: { classPropertyName: "password", publicName: "password", isSignal: true, isRequired: false, transformFunction: null }, media: { classPropertyName: "media", publicName: "media", isSignal: true, isRequired: false, transformFunction: null }, previewUrl: { classPropertyName: "previewUrl", publicName: "previewUrl", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { passwordChange: "passwordChange", deleteFile: "deleteFile" }, host: { classAttribute: "pr-u-displayContents" }, ngImport: i0, template: "<dl class=\"fileEntry\" [class.mod-media]=\"media()\" [class]=\"dlClasses()\">\n\t@if (!media()) {\n\t\t<dt class=\"fileEntry-filename\">\n\t\t\t<div class=\"fileEntry-filename-tooltip\" luTooltip luTooltipWhenEllipsis>{{ fileName() }}</div>\n\t\t</dt>\n\t\t@if (state() === \"error\" && inlineMessageError()) {\n\t\t\t<dd class=\"fileEntry-inlineMessage\">\n\t\t\t\t<lu-inline-message withTooltip [label]=\"inlineMessageError()\" [state]=\"'error'\" />\n\t\t\t</dd>\n\t\t} @else {\n\t\t\t<dd class=\"fileEntry-description\">\n\t\t\t\t<span class=\"fileEntry-description-format\" luTooltip luTooltipWhenEllipsis>{{ fileTypeDisplay() }}</span\n\t\t\t\t><span class=\"pr-u-mask\"> \u2013 </span>\n\t\t\t\t<lu-divider vertical />\n\t\t\t\t<span class=\"fileEntry-description-size\">{{ fileSizeDisplay() }}</span>\n\t\t\t</dd>\n\t\t}\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()) {\n\t\t\t\t@if (media()) {\n\t\t\t\t\t<div class=\"fileEntry-status-content-inside\">\n\t\t\t\t\t\t<lu-inline-message class=\"fileEntry-status-content-inlineMessage\" [label]=\"inlineMessageError()\" [state]=\"'error'\" />\n\t\t\t\t\t</div>\n\t\t\t\t} @else {\n\t\t\t\t\t<div class=\"fileEntry-status-content-inside\">\n\t\t\t\t\t\t<lu-icon class=\"fileEntry-status-content-inside-icon\" icon=\"signError\" />\n\t\t\t\t\t</div>\n\t\t\t\t}\n\t\t\t} @else {\n\t\t\t\t@if (previewUrl() && state() !== \"error\") {\n\t\t\t\t\t<div class=\"fileEntry-status-content-inside\">\n\t\t\t\t\t\t<img class=\"fileEntry-status-content-inside-img\" [src]=\"previewUrl()\" alt=\"\" loading=\"lazy\" />\n\t\t\t\t\t</div>\n\t\t\t\t}\n\t\t\t\t@if (state() === \"loading\") {\n\t\t\t\t\t<div class=\"fileEntry-status-content-inside\">\n\t\t\t\t\t\t<div class=\"fileEntry-status-content-inside-loading loading\"></div>\n\t\t\t\t\t</div>\n\t\t\t\t}\n\t\t\t\t@if (!previewUrl() && state() !== \"loading\") {\n\t\t\t\t\t<div class=\"fileEntry-status-content-inside\">\n\t\t\t\t\t\t<img\n\t\t\t\t\t\t\tclass=\"fileEntry-status-content-inside-svg\"\n\t\t\t\t\t\t\t[attr.src]=\"iconOverride() || fileEntryIconSrc()\"\n\t\t\t\t\t\t\talt=\"\"\n\t\t\t\t\t\t\twidth=\"32\"\n\t\t\t\t\t\t\theight=\"32\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t}\n\t\t\t}\n\t\t\t@if (displayFileName() && media()) {\n\t\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\t<dd class=\"fileEntry-toolbar\">\n\t\t\t<div class=\"fileToolbar\" [class.mod-disablePositioning]=\"!media()\" [class.mod-S]=\"size() === 'S'\">\n\t\t\t\t<ul class=\"fileToolbar-list\">\n\t\t\t\t\t@if (downloadURL()) {\n\t\t\t\t\t\t<li class=\"fileToolbar-list-item\">\n\t\t\t\t\t\t\t<a\n\t\t\t\t\t\t\t\t[href]=\"downloadURL()\"\n\t\t\t\t\t\t\t\ttarget=\"_blank\"\n\t\t\t\t\t\t\t\trel=\"noopener noreferrer\"\n\t\t\t\t\t\t\t\tdownload=\"download\"\n\t\t\t\t\t\t\t\tclass=\"fileToolbar-list-item-button\"\n\t\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\t\tluButton\n\t\t\t\t\t\t\t\t[luTooltip]=\"intl.download\"\n\t\t\t\t\t\t\t\tluTooltipOnlyForDisplay\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<lu-icon\n\t\t\t\t\t\t\t\t\tclass=\"fileToolbar-list-item-button-icon\"\n\t\t\t\t\t\t\t\t\ticon=\"arrowDownload\"\n\t\t\t\t\t\t\t\t\t[alt]=\"intl.downloadFile | intlParams: { fileName: fileName() }\"\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t</li>\n\t\t\t\t\t}\n\t\t\t\t\t@if (deletable) {\n\t\t\t\t\t\t<li class=\"fileToolbar-list-item\">\n\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\tclass=\"fileToolbar-list-item-button\"\n\t\t\t\t\t\t\t\t[class.palette-critical]=\"state() === 'error'\"\n\t\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\t\tluButton\n\t\t\t\t\t\t\t\t[luTooltip]=\"intl.delete\"\n\t\t\t\t\t\t\t\tluTooltipOnlyForDisplay\n\t\t\t\t\t\t\t\t(click)=\"deleteFile$.next()\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<lu-icon\n\t\t\t\t\t\t\t\t\tclass=\"fileToolbar-list-item-button-icon\"\n\t\t\t\t\t\t\t\t\ticon=\"trashDelete\"\n\t\t\t\t\t\t\t\t\t[alt]=\"intl.deleteFile | intlParams: { fileName: fileName() }\"\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t</li>\n\t\t\t\t\t}\n\t\t\t\t</ul>\n\t\t\t</div>\n\t\t</dd>\n\t}\n</dl>\n@if (withPassword) {\n\t<div class=\"fileEntry_box box mod-withArrow mod-neutral\">\n\t\t<div class=\"box-arrow mod-neutral\"></div>\n\t\t<lu-form-field [label]=\"intl.password\">\n\t\t\t<div class=\"fileEntry_box-field\">\n\t\t\t\t<lu-text-input\n\t\t\t\t\tclass=\"fileEntry_box-field-textField\"\n\t\t\t\t\trequired\n\t\t\t\t\thasClearer\n\t\t\t\t\tsearchIcon=\"searchMagnifyingGlass\"\n\t\t\t\t\ttype=\"password\"\n\t\t\t\t\t[ngModel]=\"password()\"\n\t\t\t\t\t(ngModelChange)=\"passwordChange$.next($event)\"\n\t\t\t\t/>\n\t\t\t\t<button class=\"fileEntry_box-field-button\" luButton type=\"button\">{{ intl.confirmPassword }}</button>\n\t\t\t</div>\n\t\t</lu-form-field>\n\t</div>\n}\n", styles: ["@layer reset,base,components,mods,product,utils;@layer components{.fileEntry{--components-fileEntry-padding: var(--pr-t-spacings-150);--components-fileEntry-gapInline: var(--components-fileEntry-padding);--components-fileEntry-gridColumn: 1 / -1;--components-fileEntry-borderColor: var(--palettes-neutral-100);--components-fileEntry-minHeight: auto;--components-fileEntry-gridTemplateAreas: \"picture title toolbar\" \"picture description toolbar\";--components-fileEntry-status-content-inside-backgroundColor: var(--palettes-neutral-25);--components-fileEntry-status-content-img-opacity: 1;--components-fileEntry-status-content-svg-width: 48px;--components-fileEntry-status-content-svg-height: var(--components-fileEntry-status-content-svg-width);--components-fileEntry-status-content-svg-margin: 0;--components-fileEntry-filename-alignSelf: end;--components-fileEntry-status-inlineSize: 48px;--components-fileEntry-status-blockSize: var(--components-fileEntry-status-inlineSize);--components-fileEntry-status-margin: 0;--components-fileEntry-description-display: flex;--components-fileEntry-display: grid;--components-fileEntry-status-content-padding: 0;--components-fileEntry-status-content-inside-insetBlockEnd: 0;border:1px solid var(--components-fileEntry-borderColor);padding:var(--components-fileEntry-padding);margin:0;border-radius:var(--pr-t-border-radius-default);background-color:var(--pr-t-elevation-surface-raised);gap:0 var(--components-fileEntry-gapInline);position:relative;grid-column:var(--components-fileEntry-gridColumn);min-block-size:var(--components-fileEntry-minHeight);display:var(--components-fileEntry-display);align-items:center;grid-template-columns:auto 1fr auto;grid-template-areas:var(--components-fileEntry-gridTemplateAreas)}.fileEntry:has(.fileEntry-status-content-fileName) .fileToolbar{--components-fileToolbar-insetBlockEnd: calc(var(--pr-t-spacings-150) + var(--pr-t-spacings-400) + var(--pr-t-spacings-25))}.fileEntry:has(.fileEntry-filename-tooltip:focus-visible,.fileEntry-status-content:focus-visible){outline:2px solid var(--palettes-product-700);outline-offset:2px}.fileEntryDisplayWrapper{display:grid;grid-template-columns:repeat(auto-fill,minmax(12rem,1fr));gap:var(--pr-t-spacings-100)}.fileEntryDisplayWrapper:empty{display:none}.form-field:has(.fileUpload)+.fileEntryDisplayWrapper{margin-top:var(--pr-t-spacings-100)}.fileEntry-status{inline-size:var(--components-fileEntry-status-inlineSize);block-size:var(--components-fileEntry-status-blockSize);color:var(--palettes-neutral-700);flex-shrink:0;aspect-ratio:var(--components-fileEntry-status-aspectRatio);margin:var(--components-fileEntry-status-margin);grid-area:picture;display:flex;flex-direction:column}.fileEntry-status-content{display:flex;flex-direction:column;flex-grow:1;outline:none;justify-content:center;align-items:center;padding:var(--components-fileEntry-status-content-padding);position:relative}.fileEntry-status-content-fileName{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex-shrink:0;text-align:center;padding:var(--pr-t-spacings-100);padding-block-end:var(--pr-t-spacings-25);inline-size:100%}.fileEntry-status-content-inside-icon{color:var(--palettes-critical-700)}.fileEntry-status-content-inlineMessage.inlineMessage{flex-direction:column;align-items:center;text-align:center}.fileEntry-status-content-inlineMessage.inlineMessage .inlineMessage-statusIcon:first-child{--icon-size: 1.5rem}.fileEntry-status-content-inside{position:relative;flex-grow:1;inline-size:100%;border-radius:var(--pr-t-border-radius-50);overflow:hidden;display:flex;align-items:center;justify-content:center;background-color:var(--components-fileEntry-status-content-inside-backgroundColor)}.fileEntry-status-content-inside+.fileEntry-status-content-inside{position:absolute;inset-block-start:0;inset-block-end:var(--components-fileEntry-status-content-inside-insetBlockEnd)}.fileEntry-status-content-inside-svg{inline-size:var(--components-fileEntry-status-content-svg-width);block-size:var(--components-fileEntry-status-content-svg-height);margin:var(--components-fileEntry-status-content-svg-margin)}.fileEntry-status-content-inside-img{object-fit:cover;inline-size:100%;block-size:100%;position:absolute;inset:0;opacity:var(--components-fileEntry-status-content-img-opacity)}.fileEntry-toolbar{grid-area:toolbar;margin:0}.fileEntry-filename{grid-area:title;align-self:var(--components-fileEntry-filename-alignSelf);min-inline-size:0}.fileEntry-filename-tooltip{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;outline:none}.fileEntry-description{grid-area:description;align-self:start;color:var(--palettes-neutral-600);font:var(--pr-t-font-body-S);display:var(--components-fileEntry-description-display);margin:0;gap:var(--pr-t-spacings-100);min-inline-size:0}.fileEntry-description-format{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border-radius:var(--pr-t-border-radius-50);max-inline-size:20ch}.fileEntry-description-format:focus-visible{outline:2px solid var(--palettes-product-700);outline-offset:2px}.fileEntry-inlineMessage{grid-area:description;margin:0;align-self:start;min-inline-size:0}.fileEntry-inlineMessage .inlineMessage-statusIcon{display:none}.fileEntry_box.box{margin-top:var(--pr-t-spacings-150)}.fileEntry_box-field{display:flex;flex-wrap:wrap;gap:var(--pr-t-spacings-100)}.fileEntry_box-field-textField{flex-grow:1}.fileEntry_box-field-button.button{flex-grow:1;flex-basis:0;min-inline-size:fit-content}}@layer mods{.fileEntry.mod-S{--components-fileEntry-padding: var(--pr-t-spacings-50);--components-fileEntry-status-inlineSize: 32px;--components-fileEntry-description-display: none;--components-fileEntry-gridTemplateAreas: \"picture title title toolbar\";--components-fileEntry-filename-alignSelf: center;--components-fileEntry-gapInline: var(--pr-t-spacings-75);--components-fileEntry-status-content-svg-margin: calc(var(--pr-t-spacings-100) * -1)}.fileEntry.mod-S .fileEntry-status-content-inside-icon{--icon-size: 1.25rem}.fileEntry.mod-media{--components-fileEntry-padding: var(--pr-t-spacings-75);--components-fileEntry-status-aspectRatio: auto;--components-fileEntry-status-inlineSize: 100%;--components-fileEntry-status-blockSize: calc(20.5rem + 2px) ;--components-fileEntry-description-display: none;--components-fileEntry-display: block;--components-fileEntry-gridColumn: 1 / -1;--components-fileEntry-status-content-svg-width: 72px}.fileEntry.mod-media:has(.fileEntry-status-content-fileName){--components-fileEntry-status-content-inside-insetBlockEnd: calc(var(--pr-t-spacings-400) + var(--pr-t-spacings-25))}.fileEntry.mod-media.mod-S{--components-fileEntry-minHeight: calc(5rem + 2px) ;--components-fileEntry-gridColumn: auto;--components-fileEntry-status-blockSize: auto;--components-fileEntry-status-aspectRatio: 1}.fileEntry.is-error{--components-fileEntry-borderColor: var(--palettes-critical-600);--components-fileEntry-gridTemplateAreas: \"picture title toolbar\" \"picture description toolbar\";--components-fileEntry-status-content-inside-backgroundColor: var(--palettes-critical-50);--components-fileEntry-minHeight: 3.75rem}.fileEntry.is-error.mod-S{--components-fileEntry-status-blockSize: 100%}.fileEntry.is-loading{--components-fileEntry-status-content-img-opacity: .08}.fileEntry.is-loading.mod-S .fileEntry-status-content-inside-loading.loading{--components-loading-size: calc(var(--pr-t-spacings-200) + var(--pr-t-spacings-50))}}@layer components{.fileToolbar{--components-fileToolbar-list-padding: var(--pr-t-spacings-50);--components-fileToolbar-display: block;--components-fileToolbar-insetBlockEnd: var(--pr-t-spacings-150);border-radius:var(--pr-t-border-radius-default);position:absolute;transform:translate(-50%);inset-inline-start:50%;inset-block-end:var(--components-fileToolbar-insetBlockEnd);box-shadow:var(--pr-t-elevation-shadow-overlay);background-color:var(--pr-t-elevation-surface-raised);z-index:1;display:var(--components-fileToolbar-display)}.fileToolbar-list{margin:0;padding:0;list-style-type:none;display:flex;gap:var(--pr-t-spacings-50);padding:var(--components-fileToolbar-list-padding)}.fileToolbar-list-item-button.button{--components-button-backgroundColor: transparent;--components-button-color: var(--palettes-700, var(--pr-t-color-text-subtle));--components-button-boxShadow: none;--icon-size: 1.25rem;--components-button-font: var(--pr-t-font-body-S);--components-button-paddingBlock: var(--pr-t-spacings-75);--components-button-paddingInline: var(--pr-t-spacings-100);--components-button-gap: var(--pr-t-spacings-75);--components-button-font-size: var(--pr-t-font-body-S-fontSize);--components-button-line-height: var(--pr-t-font-body-S-lineHeight);--components-button-padding: var(--pr-t-spacings-75) !important}.fileToolbar-list-item-button.button:hover,.fileToolbar-list-item-button.button:focus-visible{--components-button-color: var(--palettes-700, var(--pr-t-color-text-subtle));--components-button-backgroundColor: var(--palettes-50, var(--palettes-neutral-50))}.fileToolbar-list-item-button.button:active{--components-button-backgroundColor: var(--palettes-100, var(--palettes-neutral-100))}.fileToolbar-list-item-button.button:disabled{--components-button-backgroundColor: transparent;--components-button-color: var(--pr-t-color-text-disabled)}.fileToolbar-list-item-button.button .numericBadge{--components-numericBadge-size: 1.25rem;--components-numericBadge-borderRadius: var(--pr-t-border-radius-small);--components-numericBadge-font: var(--pr-t-font-body-XS);--components-numericBadge-fontSize: var(--pr-t-font-body-XS-fontSize);--components-numericBadge-lineHeight: var(--pr-t-font-body-XS-lineHeight)}}@layer mods{.fileToolbar.mod-disablePositioning{--components-fileToolbar-display: contents}.fileToolbar.mod-disablePositioning.mod-S{--components-fileToolbar-list-padding: 0}}\n"], dependencies: [{ kind: "component", type: IconComponent, selector: "lu-icon", inputs: ["icon", "alt", "size", "color", "AI"] }, { kind: "ngmodule", type: LuTooltipModule }, { kind: "directive", type: i1.LuTooltipTriggerDirective, selector: "[luTooltip]", inputs: ["luTooltip", "luTooltipEnterDelay", "luTooltipLeaveDelay", "luTooltipDisabled", "luTooltipOnlyForDisplay", "luTooltipPosition", "luTooltipWhenEllipsis", "luTooltipAnchor"], exportAs: ["luTooltip"] }, { kind: "component", type: ButtonComponent, selector: "button[luButton],a[luButton]", inputs: ["size", "block", "critical", "delete", "disclosure", "palette", "state", "luButton"] }, { kind: "component", type: InlineMessageComponent, selector: "lu-inline-message", inputs: ["label", "state", "size", "withTooltip"] }, { kind: "component", type: DividerComponent, selector: "lu-divider", inputs: ["separatorRole", "vertical", "size", "withRole"] }, { kind: "component", type: FormFieldComponent, selector: "lu-form-field", inputs: ["label", "hiddenLabel", "rolePresentationLabel", "inline", "statusControl", "tooltip", "tag", "AI", "iconAItooltip", "iconAIalt", "width", "invalid", "inlineMessage", "errorInlineMessage", "inlineMessageState", "size", "extraDescribedBy", "layout", "counter"], outputs: ["rolePresentationLabelChange", "layoutChange"] }, { kind: "component", type: TextInputComponent, selector: "lu-text-input", inputs: ["placeholder", "autocomplete", "hasClearer", "hasSearchIcon", "valueAlignRight", "prefix", "suffix", "type", "searchIcon"], outputs: ["blur"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "pipe", type: IntlParamsPipe, name: "intlParams" }], encapsulation: i0.ViewEncapsulation.None }); }
308
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.2", type: FileEntryComponent, isStandalone: true, selector: "lu-file-entry", inputs: { state: { classPropertyName: "state", publicName: "state", isSignal: true, isRequired: false, transformFunction: null }, displayFileName: { classPropertyName: "displayFileName", publicName: "displayFileName", isSignal: true, isRequired: false, transformFunction: null }, inlineMessageError: { classPropertyName: "inlineMessageError", publicName: "inlineMessageError", isSignal: true, isRequired: false, transformFunction: null }, entry: { classPropertyName: "entry", publicName: "entry", isSignal: true, isRequired: true, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, iconOverride: { classPropertyName: "iconOverride", publicName: "iconOverride", isSignal: true, isRequired: false, transformFunction: null }, downloadURL: { classPropertyName: "downloadURL", publicName: "downloadURL", isSignal: true, isRequired: false, transformFunction: null }, password: { classPropertyName: "password", publicName: "password", isSignal: true, isRequired: false, transformFunction: null }, media: { classPropertyName: "media", publicName: "media", isSignal: true, isRequired: false, transformFunction: null }, previewUrl: { classPropertyName: "previewUrl", publicName: "previewUrl", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { passwordChange: "passwordChange", deleteFile: "deleteFile" }, host: { classAttribute: "pr-u-displayContents" }, ngImport: i0, template: "<dl class=\"fileEntry\" [class.mod-media]=\"media()\" [class]=\"dlClasses()\">\n\t@if (!media()) {\n\t\t<dt class=\"fileEntry-filename\">\n\t\t\t<div class=\"fileEntry-filename-tooltip\" luTooltip luTooltipWhenEllipsis>{{ fileName() }}</div>\n\t\t</dt>\n\t\t@if (state() === \"error\" && inlineMessageError()) {\n\t\t\t<dd class=\"fileEntry-inlineMessage\">\n\t\t\t\t<lu-inline-message withTooltip [label]=\"inlineMessageError()\" [state]=\"'error'\" />\n\t\t\t</dd>\n\t\t} @else {\n\t\t\t<dd class=\"fileEntry-description\">\n\t\t\t\t<span class=\"fileEntry-description-format\" luTooltip luTooltipWhenEllipsis>{{ fileTypeDisplay() }}</span\n\t\t\t\t><span class=\"pr-u-mask\"> \u2013 </span>\n\t\t\t\t<lu-divider vertical />\n\t\t\t\t<span class=\"fileEntry-description-size\">{{ fileSizeDisplay() }}</span>\n\t\t\t</dd>\n\t\t}\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()) {\n\t\t\t\t@if (media()) {\n\t\t\t\t\t<div class=\"fileEntry-status-content-inside\">\n\t\t\t\t\t\t<lu-inline-message class=\"fileEntry-status-content-inlineMessage\" [label]=\"inlineMessageError()\" [state]=\"'error'\" />\n\t\t\t\t\t</div>\n\t\t\t\t} @else {\n\t\t\t\t\t<div class=\"fileEntry-status-content-inside\">\n\t\t\t\t\t\t<lu-icon class=\"fileEntry-status-content-inside-icon\" icon=\"signError\" />\n\t\t\t\t\t</div>\n\t\t\t\t}\n\t\t\t} @else {\n\t\t\t\t@if (previewUrl() && state() !== \"error\") {\n\t\t\t\t\t<div class=\"fileEntry-status-content-inside\">\n\t\t\t\t\t\t<img class=\"fileEntry-status-content-inside-img\" [src]=\"previewUrl()\" alt=\"\" loading=\"lazy\" />\n\t\t\t\t\t</div>\n\t\t\t\t}\n\t\t\t\t@if (state() === \"loading\") {\n\t\t\t\t\t<div class=\"fileEntry-status-content-inside\">\n\t\t\t\t\t\t<div class=\"fileEntry-status-content-inside-loading loading\"></div>\n\t\t\t\t\t</div>\n\t\t\t\t}\n\t\t\t\t@if (!previewUrl() && state() !== \"loading\") {\n\t\t\t\t\t<div class=\"fileEntry-status-content-inside\">\n\t\t\t\t\t\t<img\n\t\t\t\t\t\t\tclass=\"fileEntry-status-content-inside-svg\"\n\t\t\t\t\t\t\t[attr.src]=\"iconOverride() || fileEntryIconSrc()\"\n\t\t\t\t\t\t\talt=\"\"\n\t\t\t\t\t\t\twidth=\"32\"\n\t\t\t\t\t\t\theight=\"32\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t}\n\t\t\t}\n\t\t\t@if (displayFileName() && media()) {\n\t\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\t<dd class=\"fileEntry-toolbar\">\n\t\t\t<div class=\"fileToolbar\" [class.mod-disablePositioning]=\"!media()\" [class.mod-S]=\"size() === 'S'\">\n\t\t\t\t<ul class=\"fileToolbar-list\">\n\t\t\t\t\t@if (downloadURL()) {\n\t\t\t\t\t\t<li class=\"fileToolbar-list-item\">\n\t\t\t\t\t\t\t<a\n\t\t\t\t\t\t\t\t[href]=\"downloadURL()\"\n\t\t\t\t\t\t\t\ttarget=\"_blank\"\n\t\t\t\t\t\t\t\trel=\"noopener noreferrer\"\n\t\t\t\t\t\t\t\tdownload=\"download\"\n\t\t\t\t\t\t\t\tclass=\"fileToolbar-list-item-button\"\n\t\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\t\tluButton\n\t\t\t\t\t\t\t\t[luTooltip]=\"intl.download\"\n\t\t\t\t\t\t\t\tluTooltipOnlyForDisplay\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<lu-icon\n\t\t\t\t\t\t\t\t\tclass=\"fileToolbar-list-item-button-icon\"\n\t\t\t\t\t\t\t\t\ticon=\"arrowDownload\"\n\t\t\t\t\t\t\t\t\t[alt]=\"intl.downloadFile | intlParams: { fileName: fileName() }\"\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t</li>\n\t\t\t\t\t}\n\t\t\t\t\t@if (deletable) {\n\t\t\t\t\t\t<li class=\"fileToolbar-list-item\">\n\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\tclass=\"fileToolbar-list-item-button\"\n\t\t\t\t\t\t\t\t[class.palette-critical]=\"state() === 'error'\"\n\t\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\t\tluButton\n\t\t\t\t\t\t\t\t[luTooltip]=\"intl.delete\"\n\t\t\t\t\t\t\t\tluTooltipOnlyForDisplay\n\t\t\t\t\t\t\t\t(click)=\"deleteFile$.next()\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<lu-icon\n\t\t\t\t\t\t\t\t\tclass=\"fileToolbar-list-item-button-icon\"\n\t\t\t\t\t\t\t\t\ticon=\"trashDelete\"\n\t\t\t\t\t\t\t\t\t[alt]=\"intl.deleteFile | intlParams: { fileName: fileName() }\"\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t</li>\n\t\t\t\t\t}\n\t\t\t\t</ul>\n\t\t\t</div>\n\t\t</dd>\n\t}\n</dl>\n@if (withPassword) {\n\t<div class=\"fileEntry_box box mod-withArrow mod-neutral\">\n\t\t<div class=\"box-arrow mod-neutral\"></div>\n\t\t<lu-form-field [label]=\"intl.password\">\n\t\t\t<div class=\"fileEntry_box-field\">\n\t\t\t\t<lu-text-input\n\t\t\t\t\tclass=\"fileEntry_box-field-textField\"\n\t\t\t\t\trequired\n\t\t\t\t\thasClearer\n\t\t\t\t\tsearchIcon=\"searchMagnifyingGlass\"\n\t\t\t\t\ttype=\"password\"\n\t\t\t\t\t[ngModel]=\"password()\"\n\t\t\t\t\t(ngModelChange)=\"passwordChange$.next($event)\"\n\t\t\t\t/>\n\t\t\t\t<button class=\"fileEntry_box-field-button\" luButton type=\"button\">{{ intl.confirmPassword }}</button>\n\t\t\t</div>\n\t\t</lu-form-field>\n\t</div>\n}\n", styles: ["@layer reset,base,components,mods,product,utils;@layer components{.fileEntry{--components-fileEntry-padding: var(--pr-t-spacings-150);--components-fileEntry-gapInline: var(--components-fileEntry-padding);--components-fileEntry-gridColumn: 1 / -1;--components-fileEntry-borderColor: var(--palettes-neutral-100);--components-fileEntry-minHeight: auto;--components-fileEntry-gridTemplateAreas: \"picture title toolbar\" \"picture description toolbar\";--components-fileEntry-status-content-inside-backgroundColor: var(--palettes-neutral-25);--components-fileEntry-status-content-img-opacity: 1;--components-fileEntry-status-content-svg-width: 48px;--components-fileEntry-status-content-svg-height: var(--components-fileEntry-status-content-svg-width);--components-fileEntry-status-content-svg-margin: 0;--components-fileEntry-filename-alignSelf: end;--components-fileEntry-status-inlineSize: 48px;--components-fileEntry-status-blockSize: var(--components-fileEntry-status-inlineSize);--components-fileEntry-status-margin: 0;--components-fileEntry-description-display: flex;--components-fileEntry-display: grid;--components-fileEntry-status-content-padding: 0;--components-fileEntry-status-content-inside-insetBlockEnd: 0;border:1px solid var(--components-fileEntry-borderColor);padding:var(--components-fileEntry-padding);margin:0;border-radius:var(--pr-t-border-radius-default);background-color:var(--pr-t-elevation-surface-raised);gap:0 var(--components-fileEntry-gapInline);position:relative;grid-column:var(--components-fileEntry-gridColumn);min-block-size:var(--components-fileEntry-minHeight);display:var(--components-fileEntry-display);align-items:center;grid-template-columns:auto 1fr auto;grid-template-areas:var(--components-fileEntry-gridTemplateAreas)}.fileEntry:has(.fileEntry-status-content-fileName) .fileToolbar{--components-fileToolbar-insetBlockEnd: calc(var(--pr-t-spacings-150) + var(--pr-t-spacings-400) + var(--pr-t-spacings-25))}.fileEntry:has(.fileEntry-filename-tooltip:focus-visible,.fileEntry-status-content:focus-visible){outline:2px solid var(--palettes-product-700);outline-offset:2px}.fileEntryDisplayWrapper{display:grid;grid-template-columns:repeat(auto-fill,minmax(12rem,1fr));gap:var(--pr-t-spacings-100)}.fileEntryDisplayWrapper:empty{display:none}.form-field:has(.fileUpload)+.fileEntryDisplayWrapper{margin-top:var(--pr-t-spacings-100)}.fileEntry-status{inline-size:var(--components-fileEntry-status-inlineSize);block-size:var(--components-fileEntry-status-blockSize);color:var(--palettes-neutral-700);flex-shrink:0;aspect-ratio:var(--components-fileEntry-status-aspectRatio);margin:var(--components-fileEntry-status-margin);grid-area:picture;display:flex;flex-direction:column}.fileEntry-status-content{display:flex;flex-direction:column;flex-grow:1;outline:none;justify-content:center;align-items:center;padding:var(--components-fileEntry-status-content-padding);position:relative}.fileEntry-status-content-fileName{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex-shrink:0;text-align:center;padding:var(--pr-t-spacings-100);padding-block-end:var(--pr-t-spacings-25);inline-size:100%}.fileEntry-status-content-inside-icon{color:var(--palettes-critical-700)}.fileEntry-status-content-inlineMessage.inlineMessage{flex-direction:column;align-items:center;text-align:center}.fileEntry-status-content-inlineMessage.inlineMessage .inlineMessage-statusIcon:first-child{--icon-size: 1.5rem}.fileEntry-status-content-inside{position:relative;flex-grow:1;inline-size:100%;border-radius:var(--pr-t-border-radius-50);overflow:hidden;display:flex;align-items:center;justify-content:center;background-color:var(--components-fileEntry-status-content-inside-backgroundColor)}.fileEntry-status-content-inside+.fileEntry-status-content-inside{position:absolute;inset-block-start:0;inset-block-end:var(--components-fileEntry-status-content-inside-insetBlockEnd)}.fileEntry-status-content-inside-svg{inline-size:var(--components-fileEntry-status-content-svg-width);block-size:var(--components-fileEntry-status-content-svg-height);margin:var(--components-fileEntry-status-content-svg-margin)}.fileEntry-status-content-inside-img{object-fit:cover;inline-size:100%;block-size:100%;position:absolute;inset:0;opacity:var(--components-fileEntry-status-content-img-opacity)}.fileEntry-toolbar{grid-area:toolbar;margin:0}.fileEntry-filename{grid-area:title;align-self:var(--components-fileEntry-filename-alignSelf);min-inline-size:0}.fileEntry-filename-tooltip{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;outline:none}.fileEntry-description{grid-area:description;align-self:start;color:var(--palettes-neutral-600);font:var(--pr-t-font-body-S);display:var(--components-fileEntry-description-display);margin:0;gap:var(--pr-t-spacings-100);min-inline-size:0}.fileEntry-description-format{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border-radius:var(--pr-t-border-radius-50);max-inline-size:20ch}.fileEntry-description-format:focus-visible{outline:2px solid var(--palettes-product-700);outline-offset:2px}.fileEntry-inlineMessage{grid-area:description;margin:0;align-self:start;min-inline-size:0}.fileEntry-inlineMessage .inlineMessage-statusIcon{display:none}.fileEntry_box.box{margin-top:var(--pr-t-spacings-150)}.fileEntry_box-field{display:flex;flex-wrap:wrap;gap:var(--pr-t-spacings-100)}.fileEntry_box-field-textField{flex-grow:1}.fileEntry_box-field-button.button{flex-grow:1;flex-basis:0;min-inline-size:fit-content}}@layer mods{.fileEntry.mod-S{--components-fileEntry-padding: var(--pr-t-spacings-50);--components-fileEntry-status-inlineSize: 32px;--components-fileEntry-description-display: none;--components-fileEntry-gridTemplateAreas: \"picture title title toolbar\";--components-fileEntry-filename-alignSelf: center;--components-fileEntry-gapInline: var(--pr-t-spacings-75);--components-fileEntry-status-content-svg-margin: calc(var(--pr-t-spacings-100) * -1)}.fileEntry.mod-S .fileEntry-status-content-inside-icon{--icon-size: 1.25rem}.fileEntry.mod-media{--components-fileEntry-padding: var(--pr-t-spacings-75);--components-fileEntry-status-aspectRatio: auto;--components-fileEntry-status-inlineSize: 100%;--components-fileEntry-status-blockSize: calc(20.5rem + 2px) ;--components-fileEntry-description-display: none;--components-fileEntry-display: block;--components-fileEntry-gridColumn: 1 / -1;--components-fileEntry-status-content-svg-width: 72px}.fileEntry.mod-media:has(.fileEntry-status-content-fileName){--components-fileEntry-status-content-inside-insetBlockEnd: calc(var(--pr-t-spacings-400) + var(--pr-t-spacings-25))}.fileEntry.mod-media.mod-S{--components-fileEntry-minHeight: calc(5rem + 2px) ;--components-fileEntry-gridColumn: auto;--components-fileEntry-status-blockSize: auto;--components-fileEntry-status-aspectRatio: 1}.fileEntry.is-error{--components-fileEntry-borderColor: var(--palettes-critical-600);--components-fileEntry-gridTemplateAreas: \"picture title toolbar\" \"picture description toolbar\";--components-fileEntry-status-content-inside-backgroundColor: var(--palettes-critical-50);--components-fileEntry-minHeight: 3.75rem}.fileEntry.is-error.mod-S{--components-fileEntry-status-blockSize: 100%}.fileEntry.is-loading{--components-fileEntry-status-content-img-opacity: .08}.fileEntry.is-loading.mod-S .fileEntry-status-content-inside-loading.loading{--components-loading-size: calc(var(--pr-t-spacings-200) + var(--pr-t-spacings-50))}}@layer components{.fileToolbar{--components-fileToolbar-list-padding: var(--pr-t-spacings-50);--components-fileToolbar-display: block;--components-fileToolbar-insetBlockEnd: var(--pr-t-spacings-150);border-radius:var(--pr-t-border-radius-default);position:absolute;transform:translate(-50%);inset-inline-start:50%;inset-block-end:var(--components-fileToolbar-insetBlockEnd);box-shadow:var(--pr-t-elevation-shadow-overlay);background-color:var(--pr-t-elevation-surface-raised);z-index:1;display:var(--components-fileToolbar-display)}.fileToolbar-list{margin:0;padding:0;list-style-type:none;display:flex;gap:var(--pr-t-spacings-50);padding:var(--components-fileToolbar-list-padding)}.fileToolbar-list-item-button.button{--components-button-backgroundColor: transparent;--components-button-color: var(--palettes-700, var(--pr-t-color-text-subtle));--components-button-boxShadow: none;--icon-size: 1.25rem;--components-button-font: var(--pr-t-font-body-S);--components-button-paddingBlock: var(--pr-t-spacings-75);--components-button-paddingInline: var(--pr-t-spacings-100);--components-button-gap: var(--pr-t-spacings-75);--components-button-font-size: var(--pr-t-font-body-S-fontSize);--components-button-line-height: var(--pr-t-font-body-S-lineHeight);--components-button-padding: var(--pr-t-spacings-75) !important}.fileToolbar-list-item-button.button:hover,.fileToolbar-list-item-button.button:focus-visible{--components-button-color: var(--palettes-700, var(--pr-t-color-text-subtle));--components-button-backgroundColor: var(--palettes-50, var(--palettes-neutral-50))}.fileToolbar-list-item-button.button:active{--components-button-backgroundColor: var(--palettes-100, var(--palettes-neutral-100))}.fileToolbar-list-item-button.button:disabled{--components-button-backgroundColor: transparent;--components-button-color: var(--pr-t-color-text-disabled)}.fileToolbar-list-item-button.button .numericBadge{--components-numericBadge-size: 1.25rem;--components-numericBadge-borderRadius: var(--pr-t-border-radius-small);--components-numericBadge-font: var(--pr-t-font-body-XS);--components-numericBadge-fontSize: var(--pr-t-font-body-XS-fontSize);--components-numericBadge-lineHeight: var(--pr-t-font-body-XS-lineHeight)}}@layer mods{.fileToolbar.mod-disablePositioning{--components-fileToolbar-display: contents}.fileToolbar.mod-disablePositioning.mod-S{--components-fileToolbar-list-padding: 0}}\n"], dependencies: [{ kind: "component", type: IconComponent, selector: "lu-icon", inputs: ["icon", "alt", "size", "color", "AI"] }, { kind: "ngmodule", type: LuTooltipModule }, { kind: "directive", type: i1.LuTooltipTriggerDirective, selector: "[luTooltip]", inputs: ["luTooltip", "luTooltipEnterDelay", "luTooltipLeaveDelay", "luTooltipDisabled", "luTooltipOnlyForDisplay", "luTooltipPosition", "luTooltipWhenEllipsis", "luTooltipAnchor"], exportAs: ["luTooltip"] }, { kind: "component", type: ButtonComponent, selector: "button[luButton],a[luButton]", inputs: ["size", "block", "critical", "delete", "disclosure", "palette", "state", "luButton"] }, { kind: "component", type: InlineMessageComponent, selector: "lu-inline-message", inputs: ["label", "state", "size", "withTooltip"] }, { kind: "component", type: DividerComponent, selector: "lu-divider", inputs: ["separatorRole", "vertical", "size", "withRole"] }, { kind: "component", type: FormFieldComponent, selector: "lu-form-field", inputs: ["label", "hiddenLabel", "rolePresentationLabel", "inline", "statusControl", "tooltip", "tag", "AI", "iconAItooltip", "iconAIalt", "width", "invalid", "inlineMessage", "errorInlineMessage", "inlineMessageState", "size", "extraDescribedBy", "layout", "counter"], outputs: ["rolePresentationLabelChange", "layoutChange"] }, { kind: "component", type: TextInputComponent, selector: "lu-text-input", inputs: ["mask", "placeholder", "autocomplete", "hasClearer", "hasSearchIcon", "valueAlignRight", "prefix", "suffix", "type", "searchIcon"], outputs: ["blur"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "pipe", type: IntlParamsPipe, name: "intlParams" }], encapsulation: i0.ViewEncapsulation.None }); }
309
309
  }
310
310
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: FileEntryComponent, decorators: [{
311
311
  type: Component,
@@ -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\tstructure = input(false, { transform: booleanAttribute });\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\tstyleUrl: './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\t<span class=\"fileUpload-instruction-formats\">\n\t\t\t\t@if (acceptNames().length > 1 || acceptAll()) {\n\t\t\t\t\t{{ intl.acceptedFormat.other }}\n\t\t\t\t} @else {\n\t\t\t\t\t{{ intl.acceptedFormat.one }}\n\t\t\t\t}\n\t\t\t\t{{ acceptNames().join(\", \") }}.\n\t\t\t</span>\n\t\t}\n\t\t@if (fileMaxSize()) {\n\t\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\tstyleUrl: './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: 'pr-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()\" [class]=\"dlClasses()\">\n\t@if (!media()) {\n\t\t<dt class=\"fileEntry-filename\">\n\t\t\t<div class=\"fileEntry-filename-tooltip\" luTooltip luTooltipWhenEllipsis>{{ fileName() }}</div>\n\t\t</dt>\n\t\t@if (state() === \"error\" && inlineMessageError()) {\n\t\t\t<dd class=\"fileEntry-inlineMessage\">\n\t\t\t\t<lu-inline-message withTooltip [label]=\"inlineMessageError()\" [state]=\"'error'\" />\n\t\t\t</dd>\n\t\t} @else {\n\t\t\t<dd class=\"fileEntry-description\">\n\t\t\t\t<span class=\"fileEntry-description-format\" luTooltip luTooltipWhenEllipsis>{{ fileTypeDisplay() }}</span\n\t\t\t\t><span class=\"pr-u-mask\"> – </span>\n\t\t\t\t<lu-divider vertical />\n\t\t\t\t<span class=\"fileEntry-description-size\">{{ fileSizeDisplay() }}</span>\n\t\t\t</dd>\n\t\t}\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()) {\n\t\t\t\t@if (media()) {\n\t\t\t\t\t<div class=\"fileEntry-status-content-inside\">\n\t\t\t\t\t\t<lu-inline-message class=\"fileEntry-status-content-inlineMessage\" [label]=\"inlineMessageError()\" [state]=\"'error'\" />\n\t\t\t\t\t</div>\n\t\t\t\t} @else {\n\t\t\t\t\t<div class=\"fileEntry-status-content-inside\">\n\t\t\t\t\t\t<lu-icon class=\"fileEntry-status-content-inside-icon\" icon=\"signError\" />\n\t\t\t\t\t</div>\n\t\t\t\t}\n\t\t\t} @else {\n\t\t\t\t@if (previewUrl() && state() !== \"error\") {\n\t\t\t\t\t<div class=\"fileEntry-status-content-inside\">\n\t\t\t\t\t\t<img class=\"fileEntry-status-content-inside-img\" [src]=\"previewUrl()\" alt=\"\" loading=\"lazy\" />\n\t\t\t\t\t</div>\n\t\t\t\t}\n\t\t\t\t@if (state() === \"loading\") {\n\t\t\t\t\t<div class=\"fileEntry-status-content-inside\">\n\t\t\t\t\t\t<div class=\"fileEntry-status-content-inside-loading loading\"></div>\n\t\t\t\t\t</div>\n\t\t\t\t}\n\t\t\t\t@if (!previewUrl() && state() !== \"loading\") {\n\t\t\t\t\t<div class=\"fileEntry-status-content-inside\">\n\t\t\t\t\t\t<img\n\t\t\t\t\t\t\tclass=\"fileEntry-status-content-inside-svg\"\n\t\t\t\t\t\t\t[attr.src]=\"iconOverride() || fileEntryIconSrc()\"\n\t\t\t\t\t\t\talt=\"\"\n\t\t\t\t\t\t\twidth=\"32\"\n\t\t\t\t\t\t\theight=\"32\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t}\n\t\t\t}\n\t\t\t@if (displayFileName() && media()) {\n\t\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\t<dd class=\"fileEntry-toolbar\">\n\t\t\t<div class=\"fileToolbar\" [class.mod-disablePositioning]=\"!media()\" [class.mod-S]=\"size() === 'S'\">\n\t\t\t\t<ul class=\"fileToolbar-list\">\n\t\t\t\t\t@if (downloadURL()) {\n\t\t\t\t\t\t<li class=\"fileToolbar-list-item\">\n\t\t\t\t\t\t\t<a\n\t\t\t\t\t\t\t\t[href]=\"downloadURL()\"\n\t\t\t\t\t\t\t\ttarget=\"_blank\"\n\t\t\t\t\t\t\t\trel=\"noopener noreferrer\"\n\t\t\t\t\t\t\t\tdownload=\"download\"\n\t\t\t\t\t\t\t\tclass=\"fileToolbar-list-item-button\"\n\t\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\t\tluButton\n\t\t\t\t\t\t\t\t[luTooltip]=\"intl.download\"\n\t\t\t\t\t\t\t\tluTooltipOnlyForDisplay\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<lu-icon\n\t\t\t\t\t\t\t\t\tclass=\"fileToolbar-list-item-button-icon\"\n\t\t\t\t\t\t\t\t\ticon=\"arrowDownload\"\n\t\t\t\t\t\t\t\t\t[alt]=\"intl.downloadFile | intlParams: { fileName: fileName() }\"\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t</li>\n\t\t\t\t\t}\n\t\t\t\t\t@if (deletable) {\n\t\t\t\t\t\t<li class=\"fileToolbar-list-item\">\n\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\tclass=\"fileToolbar-list-item-button\"\n\t\t\t\t\t\t\t\t[class.palette-critical]=\"state() === 'error'\"\n\t\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\t\tluButton\n\t\t\t\t\t\t\t\t[luTooltip]=\"intl.delete\"\n\t\t\t\t\t\t\t\tluTooltipOnlyForDisplay\n\t\t\t\t\t\t\t\t(click)=\"deleteFile$.next()\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<lu-icon\n\t\t\t\t\t\t\t\t\tclass=\"fileToolbar-list-item-button-icon\"\n\t\t\t\t\t\t\t\t\ticon=\"trashDelete\"\n\t\t\t\t\t\t\t\t\t[alt]=\"intl.deleteFile | intlParams: { fileName: fileName() }\"\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t</li>\n\t\t\t\t\t}\n\t\t\t\t</ul>\n\t\t\t</div>\n\t\t</dd>\n\t}\n</dl>\n@if (withPassword) {\n\t<div class=\"fileEntry_box box mod-withArrow mod-neutral\">\n\t\t<div class=\"box-arrow mod-neutral\"></div>\n\t\t<lu-form-field [label]=\"intl.password\">\n\t\t\t<div class=\"fileEntry_box-field\">\n\t\t\t\t<lu-text-input\n\t\t\t\t\tclass=\"fileEntry_box-field-textField\"\n\t\t\t\t\trequired\n\t\t\t\t\thasClearer\n\t\t\t\t\tsearchIcon=\"searchMagnifyingGlass\"\n\t\t\t\t\ttype=\"password\"\n\t\t\t\t\t[ngModel]=\"password()\"\n\t\t\t\t\t(ngModelChange)=\"passwordChange$.next($event)\"\n\t\t\t\t/>\n\t\t\t\t<button class=\"fileEntry_box-field-button\" luButton type=\"button\">{{ intl.confirmPassword }}</button>\n\t\t\t</div>\n\t\t</lu-form-field>\n\t</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\tstyleUrl: './multi-file-upload.component.scss',\n\tencapsulation: ViewEncapsulation.None,\n\thost: {\n\t\t'[class.mod-structure]': 'structure()',\n\t},\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\t<span class=\"fileUpload-instruction-formats\">\n\t\t\t\t@if (acceptNames().length > 1 || acceptAll()) {\n\t\t\t\t\t{{ intl.acceptedFormat.other }}\n\t\t\t\t} @else {\n\t\t\t\t\tintl.acceptedFormat.one\n\t\t\t\t}\n\t\t\t\t{{ acceptNames().join(\", \") }}.\n\t\t\t</span>\n\t\t}\n\t\t@if (fileMaxSize()) {\n\t\t\t<span class=\"fileUpload-instruction-size\">{{ intl.maxWeight.other | intlParams: { maxSizeDisplay: maxSizeDisplay() } }}</span>\n\t\t}\n\t\t<span class=\"pr-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\tstyleUrl: './single-file-upload.component.scss',\n\tencapsulation: ViewEncapsulation.None,\n\thost: {\n\t\t'[class.mod-structure]': 'structure()',\n\t},\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\t<span class=\"fileUpload-instruction-formats\">\n\t\t\t\t@if (acceptNames().length > 1 || acceptAll()) {\n\t\t\t\t\t{{ intl.acceptedFormat.other }}\n\t\t\t\t} @else {\n\t\t\t\t\t{{ intl.acceptedFormat.one }}\n\t\t\t\t}\n\t\t\t\t{{ acceptNames().join(\", \") }}.\n\t\t\t</span>\n\t\t}\n\t\t@if (fileMaxSize()) {\n\t\t\t<span class=\"fileUpload-instruction-size\">{{ intl.maxWeight.one | intlParams: { maxSizeDisplay: maxSizeDisplay() } }}</span>\n\t\t}\n\t\t<span class=\"pr-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\t<lu-file-entry\n\t\t[media]=\"size() === null\"\n\t\t[previewUrl]=\"previewUrl()\"\n\t\t[entry]=\"entry()\"\n\t\t[state]=\"state()\"\n\t\t(deleteFile)=\"deleteFile.emit()\"\n\t\t[inlineMessageError]=\"inlineMessageError()\"\n\t\t[displayFileName]=\"displayFileName()\"\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-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\tstructure = input(false, { transform: booleanAttribute });\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\tstyleUrl: './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\t<span class=\"fileUpload-instruction-formats\">\n\t\t\t\t@if (acceptNames().length > 1 || acceptAll()) {\n\t\t\t\t\t{{ intl.acceptedFormat.other }}\n\t\t\t\t} @else {\n\t\t\t\t\t{{ intl.acceptedFormat.one }}\n\t\t\t\t}\n\t\t\t\t{{ acceptNames().join(\", \") }}.\n\t\t\t</span>\n\t\t}\n\t\t@if (fileMaxSize()) {\n\t\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\tstyleUrl: './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: 'pr-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()\" [class]=\"dlClasses()\">\n\t@if (!media()) {\n\t\t<dt class=\"fileEntry-filename\">\n\t\t\t<div class=\"fileEntry-filename-tooltip\" luTooltip luTooltipWhenEllipsis>{{ fileName() }}</div>\n\t\t</dt>\n\t\t@if (state() === \"error\" && inlineMessageError()) {\n\t\t\t<dd class=\"fileEntry-inlineMessage\">\n\t\t\t\t<lu-inline-message withTooltip [label]=\"inlineMessageError()\" [state]=\"'error'\" />\n\t\t\t</dd>\n\t\t} @else {\n\t\t\t<dd class=\"fileEntry-description\">\n\t\t\t\t<span class=\"fileEntry-description-format\" luTooltip luTooltipWhenEllipsis>{{ fileTypeDisplay() }}</span\n\t\t\t\t><span class=\"pr-u-mask\"> – </span>\n\t\t\t\t<lu-divider vertical />\n\t\t\t\t<span class=\"fileEntry-description-size\">{{ fileSizeDisplay() }}</span>\n\t\t\t</dd>\n\t\t}\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()) {\n\t\t\t\t@if (media()) {\n\t\t\t\t\t<div class=\"fileEntry-status-content-inside\">\n\t\t\t\t\t\t<lu-inline-message class=\"fileEntry-status-content-inlineMessage\" [label]=\"inlineMessageError()\" [state]=\"'error'\" />\n\t\t\t\t\t</div>\n\t\t\t\t} @else {\n\t\t\t\t\t<div class=\"fileEntry-status-content-inside\">\n\t\t\t\t\t\t<lu-icon class=\"fileEntry-status-content-inside-icon\" icon=\"signError\" />\n\t\t\t\t\t</div>\n\t\t\t\t}\n\t\t\t} @else {\n\t\t\t\t@if (previewUrl() && state() !== \"error\") {\n\t\t\t\t\t<div class=\"fileEntry-status-content-inside\">\n\t\t\t\t\t\t<img class=\"fileEntry-status-content-inside-img\" [src]=\"previewUrl()\" alt=\"\" loading=\"lazy\" />\n\t\t\t\t\t</div>\n\t\t\t\t}\n\t\t\t\t@if (state() === \"loading\") {\n\t\t\t\t\t<div class=\"fileEntry-status-content-inside\">\n\t\t\t\t\t\t<div class=\"fileEntry-status-content-inside-loading loading\"></div>\n\t\t\t\t\t</div>\n\t\t\t\t}\n\t\t\t\t@if (!previewUrl() && state() !== \"loading\") {\n\t\t\t\t\t<div class=\"fileEntry-status-content-inside\">\n\t\t\t\t\t\t<img\n\t\t\t\t\t\t\tclass=\"fileEntry-status-content-inside-svg\"\n\t\t\t\t\t\t\t[attr.src]=\"iconOverride() || fileEntryIconSrc()\"\n\t\t\t\t\t\t\talt=\"\"\n\t\t\t\t\t\t\twidth=\"32\"\n\t\t\t\t\t\t\theight=\"32\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t}\n\t\t\t}\n\t\t\t@if (displayFileName() && media()) {\n\t\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\t<dd class=\"fileEntry-toolbar\">\n\t\t\t<div class=\"fileToolbar\" [class.mod-disablePositioning]=\"!media()\" [class.mod-S]=\"size() === 'S'\">\n\t\t\t\t<ul class=\"fileToolbar-list\">\n\t\t\t\t\t@if (downloadURL()) {\n\t\t\t\t\t\t<li class=\"fileToolbar-list-item\">\n\t\t\t\t\t\t\t<a\n\t\t\t\t\t\t\t\t[href]=\"downloadURL()\"\n\t\t\t\t\t\t\t\ttarget=\"_blank\"\n\t\t\t\t\t\t\t\trel=\"noopener noreferrer\"\n\t\t\t\t\t\t\t\tdownload=\"download\"\n\t\t\t\t\t\t\t\tclass=\"fileToolbar-list-item-button\"\n\t\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\t\tluButton\n\t\t\t\t\t\t\t\t[luTooltip]=\"intl.download\"\n\t\t\t\t\t\t\t\tluTooltipOnlyForDisplay\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<lu-icon\n\t\t\t\t\t\t\t\t\tclass=\"fileToolbar-list-item-button-icon\"\n\t\t\t\t\t\t\t\t\ticon=\"arrowDownload\"\n\t\t\t\t\t\t\t\t\t[alt]=\"intl.downloadFile | intlParams: { fileName: fileName() }\"\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t</li>\n\t\t\t\t\t}\n\t\t\t\t\t@if (deletable) {\n\t\t\t\t\t\t<li class=\"fileToolbar-list-item\">\n\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\tclass=\"fileToolbar-list-item-button\"\n\t\t\t\t\t\t\t\t[class.palette-critical]=\"state() === 'error'\"\n\t\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\t\tluButton\n\t\t\t\t\t\t\t\t[luTooltip]=\"intl.delete\"\n\t\t\t\t\t\t\t\tluTooltipOnlyForDisplay\n\t\t\t\t\t\t\t\t(click)=\"deleteFile$.next()\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<lu-icon\n\t\t\t\t\t\t\t\t\tclass=\"fileToolbar-list-item-button-icon\"\n\t\t\t\t\t\t\t\t\ticon=\"trashDelete\"\n\t\t\t\t\t\t\t\t\t[alt]=\"intl.deleteFile | intlParams: { fileName: fileName() }\"\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t</li>\n\t\t\t\t\t}\n\t\t\t\t</ul>\n\t\t\t</div>\n\t\t</dd>\n\t}\n</dl>\n@if (withPassword) {\n\t<div class=\"fileEntry_box box mod-withArrow mod-neutral\">\n\t\t<div class=\"box-arrow mod-neutral\"></div>\n\t\t<lu-form-field [label]=\"intl.password\">\n\t\t\t<div class=\"fileEntry_box-field\">\n\t\t\t\t<lu-text-input\n\t\t\t\t\tclass=\"fileEntry_box-field-textField\"\n\t\t\t\t\trequired\n\t\t\t\t\thasClearer\n\t\t\t\t\tsearchIcon=\"searchMagnifyingGlass\"\n\t\t\t\t\ttype=\"password\"\n\t\t\t\t\t[ngModel]=\"password()\"\n\t\t\t\t\t(ngModelChange)=\"passwordChange$.next($event)\"\n\t\t\t\t/>\n\t\t\t\t<button class=\"fileEntry_box-field-button\" luButton type=\"button\">{{ intl.confirmPassword }}</button>\n\t\t\t</div>\n\t\t</lu-form-field>\n\t</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\tstyleUrl: './multi-file-upload.component.scss',\n\tencapsulation: ViewEncapsulation.None,\n\thost: {\n\t\t'[class.mod-structure]': 'structure()',\n\t},\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\t<span class=\"fileUpload-instruction-formats\">\n\t\t\t\t@if (acceptNames().length > 1 || acceptAll()) {\n\t\t\t\t\t{{ intl.acceptedFormat.other }}\n\t\t\t\t} @else {\n\t\t\t\t\tintl.acceptedFormat.one\n\t\t\t\t}\n\t\t\t\t{{ acceptNames().join(\", \") }}.\n\t\t\t</span>\n\t\t}\n\t\t@if (fileMaxSize()) {\n\t\t\t<span class=\"fileUpload-instruction-size\">{{ intl.maxWeight.other | intlParams: { maxSizeDisplay: maxSizeDisplay() } }}</span>\n\t\t}\n\t\t<span class=\"pr-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\tstyleUrl: './single-file-upload.component.scss',\n\tencapsulation: ViewEncapsulation.None,\n\thost: {\n\t\t'[class.mod-structure]': 'structure()',\n\t},\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\t<span class=\"fileUpload-instruction-formats\">\n\t\t\t\t@if (acceptNames().length > 1 || acceptAll()) {\n\t\t\t\t\t{{ intl.acceptedFormat.other }}\n\t\t\t\t} @else {\n\t\t\t\t\t{{ intl.acceptedFormat.one }}\n\t\t\t\t}\n\t\t\t\t{{ acceptNames().join(\", \") }}.\n\t\t\t</span>\n\t\t}\n\t\t@if (fileMaxSize()) {\n\t\t\t<span class=\"fileUpload-instruction-size\">{{ intl.maxWeight.one | intlParams: { maxSizeDisplay: maxSizeDisplay() } }}</span>\n\t\t}\n\t\t<span class=\"pr-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\t<lu-file-entry\n\t\t[media]=\"size() === null\"\n\t\t[previewUrl]=\"previewUrl()\"\n\t\t[entry]=\"entry()\"\n\t\t[state]=\"state()\"\n\t\t(deleteFile)=\"deleteFile.emit()\"\n\t\t[inlineMessageError]=\"inlineMessageError()\"\n\t\t[displayFileName]=\"displayFileName()\"\n\t/>\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -611,7 +611,7 @@ class LinkDialogComponent {
611
611
  this.dialogRef.close(undefined);
612
612
  }
613
613
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: LinkDialogComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
614
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.2", type: LinkDialogComponent, isStandalone: true, selector: "lu-rich-text-plugin-link-dialog", ngImport: i0, template: "<lu-dialog>\n\t<form class=\"dialog-form\" (submit)=\"save()\" [formGroup]=\"formGroup\">\n\t\t<lu-dialog-content>\n\t\t\t<lu-form-field [label]=\"intl.linksHref\">\n\t\t\t\t<lu-text-input formControlName=\"href\" type=\"url\" [placeholder]=\"intl.linksPlaceholder\" />\n\t\t\t</lu-form-field>\n\t\t</lu-dialog-content>\n\t\t<lu-dialog-footer>\n\t\t\t@if (dialogData) {\n\t\t\t\t<div class=\"footer-content\">\n\t\t\t\t\t<button type=\"button\" luButton=\"ghost\" delete (click)=\"deleteLink()\">{{ intl.linksDelete }}</button>\n\t\t\t\t</div>\n\t\t\t}\n\t\t\t<div class=\"footer-actions\">\n\t\t\t\t<button type=\"submit\" luButton>{{ intl.linksSubmit }}</button>\n\t\t\t\t<button type=\"button\" luButton=\"ghost\" luDialogDismiss>{{ intl.linksCancel }}</button>\n\t\t\t</div>\n\t\t</lu-dialog-footer>\n\t</form>\n</lu-dialog>\n", dependencies: [{ kind: "component", type: DialogComponent, selector: "lu-dialog" }, { kind: "component", type: DialogContentComponent, selector: "lu-dialog-content" }, { kind: "component", type: DialogFooterComponent, selector: "lu-dialog-footer" }, { kind: "component", type: FormFieldComponent, selector: "lu-form-field", inputs: ["label", "hiddenLabel", "rolePresentationLabel", "inline", "statusControl", "tooltip", "tag", "AI", "iconAItooltip", "iconAIalt", "width", "invalid", "inlineMessage", "errorInlineMessage", "inlineMessageState", "size", "extraDescribedBy", "layout", "counter"], outputs: ["rolePresentationLabelChange", "layoutChange"] }, { kind: "component", type: TextInputComponent, selector: "lu-text-input", inputs: ["placeholder", "autocomplete", "hasClearer", "hasSearchIcon", "valueAlignRight", "prefix", "suffix", "type", "searchIcon"], outputs: ["blur"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { 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.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: ButtonComponent, selector: "button[luButton],a[luButton]", inputs: ["size", "block", "critical", "delete", "disclosure", "palette", "state", "luButton"] }, { kind: "directive", type: DialogDismissDirective, selector: "[luDialogDismiss]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
614
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.2", type: LinkDialogComponent, isStandalone: true, selector: "lu-rich-text-plugin-link-dialog", ngImport: i0, template: "<lu-dialog>\n\t<form class=\"dialog-form\" (submit)=\"save()\" [formGroup]=\"formGroup\">\n\t\t<lu-dialog-content>\n\t\t\t<lu-form-field [label]=\"intl.linksHref\">\n\t\t\t\t<lu-text-input formControlName=\"href\" type=\"url\" [placeholder]=\"intl.linksPlaceholder\" />\n\t\t\t</lu-form-field>\n\t\t</lu-dialog-content>\n\t\t<lu-dialog-footer>\n\t\t\t@if (dialogData) {\n\t\t\t\t<div class=\"footer-content\">\n\t\t\t\t\t<button type=\"button\" luButton=\"ghost\" delete (click)=\"deleteLink()\">{{ intl.linksDelete }}</button>\n\t\t\t\t</div>\n\t\t\t}\n\t\t\t<div class=\"footer-actions\">\n\t\t\t\t<button type=\"submit\" luButton>{{ intl.linksSubmit }}</button>\n\t\t\t\t<button type=\"button\" luButton=\"ghost\" luDialogDismiss>{{ intl.linksCancel }}</button>\n\t\t\t</div>\n\t\t</lu-dialog-footer>\n\t</form>\n</lu-dialog>\n", dependencies: [{ kind: "component", type: DialogComponent, selector: "lu-dialog" }, { kind: "component", type: DialogContentComponent, selector: "lu-dialog-content" }, { kind: "component", type: DialogFooterComponent, selector: "lu-dialog-footer" }, { kind: "component", type: FormFieldComponent, selector: "lu-form-field", inputs: ["label", "hiddenLabel", "rolePresentationLabel", "inline", "statusControl", "tooltip", "tag", "AI", "iconAItooltip", "iconAIalt", "width", "invalid", "inlineMessage", "errorInlineMessage", "inlineMessageState", "size", "extraDescribedBy", "layout", "counter"], outputs: ["rolePresentationLabelChange", "layoutChange"] }, { kind: "component", type: TextInputComponent, selector: "lu-text-input", inputs: ["mask", "placeholder", "autocomplete", "hasClearer", "hasSearchIcon", "valueAlignRight", "prefix", "suffix", "type", "searchIcon"], outputs: ["blur"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { 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.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: ButtonComponent, selector: "button[luButton],a[luButton]", inputs: ["size", "block", "critical", "delete", "disclosure", "palette", "state", "luButton"] }, { kind: "directive", type: DialogDismissDirective, selector: "[luDialogDismiss]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
615
615
  }
616
616
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: LinkDialogComponent, decorators: [{
617
617
  type: Component,