primeng 17.15.0 → 17.16.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/api/megamenuitem.d.ts +4 -0
- package/api/primengconfig.d.ts +1 -1
- package/api/treenode.d.ts +4 -0
- package/autocomplete/autocomplete.d.ts +11 -2
- package/breadcrumb/breadcrumb.interface.d.ts +11 -0
- package/calendar/calendar.d.ts +13 -2
- package/cascadeselect/cascadeselect.d.ts +19 -1
- package/cascadeselect/cascadeselect.interface.d.ts +4 -0
- package/checkbox/checkbox.d.ts +9 -3
- package/chips/chips.d.ts +9 -2
- package/dropdown/dropdown.d.ts +31 -3
- package/esm2022/api/megamenuitem.mjs +1 -1
- package/esm2022/api/primengconfig.mjs +3 -3
- package/esm2022/api/treenode.mjs +1 -1
- package/esm2022/autocomplete/autocomplete.mjs +20 -9
- package/esm2022/breadcrumb/breadcrumb.interface.mjs +1 -1
- package/esm2022/breadcrumb/breadcrumb.mjs +1 -1
- package/esm2022/calendar/calendar.mjs +65 -9
- package/esm2022/cascadeselect/cascadeselect.interface.mjs +1 -1
- package/esm2022/cascadeselect/cascadeselect.mjs +61 -12
- package/esm2022/checkbox/checkbox.mjs +32 -10
- package/esm2022/chips/chips.mjs +20 -10
- package/esm2022/dropdown/dropdown.mjs +105 -26
- package/esm2022/dynamicdialog/dynamicdialog.mjs +3 -3
- package/esm2022/fileupload/fileupload.mjs +123 -105
- package/esm2022/icons/blank/blank.mjs +25 -0
- package/esm2022/icons/blank/primeng-icons-blank.mjs +5 -0
- package/esm2022/icons/blank/public_api.mjs +2 -0
- package/esm2022/inputmask/inputmask.mjs +31 -13
- package/esm2022/inputnumber/inputnumber.mjs +13 -4
- package/esm2022/inputotp/inputotp.mjs +3 -3
- package/esm2022/inputtext/inputtext.mjs +22 -7
- package/esm2022/inputtextarea/inputtextarea.mjs +17 -6
- package/esm2022/megamenu/megamenu.interface.mjs +1 -1
- package/esm2022/megamenu/megamenu.mjs +2 -2
- package/esm2022/menu/menu.mjs +18 -5
- package/esm2022/menubar/menubar.interface.mjs +1 -1
- package/esm2022/menubar/menubar.mjs +3 -3
- package/esm2022/multiselect/multiselect.mjs +83 -30
- package/esm2022/organizationchart/organizationchart.mjs +43 -27
- package/esm2022/paginator/paginator.mjs +3 -3
- package/esm2022/panelmenu/panelmenu.interface.mjs +1 -1
- package/esm2022/panelmenu/panelmenu.mjs +51 -41
- package/esm2022/password/password.mjs +22 -5
- package/esm2022/radiobutton/radiobutton.mjs +32 -10
- package/esm2022/scroller/scroller.mjs +4 -4
- package/esm2022/splitbutton/splitbutton.mjs +13 -13
- package/esm2022/table/table.mjs +3 -3
- package/esm2022/tieredmenu/tieredmenu.mjs +19 -12
- package/esm2022/timeline/timeline.mjs +2 -2
- package/esm2022/tree/tree.mjs +53 -13
- package/esm2022/treeselect/treeselect.mjs +12 -4
- package/esm2022/treetable/treetable.mjs +8 -6
- package/esm2022/tristatecheckbox/tristatecheckbox.mjs +20 -10
- package/fesm2022/primeng-api.mjs +2 -2
- package/fesm2022/primeng-api.mjs.map +1 -1
- package/fesm2022/primeng-autocomplete.mjs +19 -8
- package/fesm2022/primeng-autocomplete.mjs.map +1 -1
- package/fesm2022/primeng-breadcrumb.mjs.map +1 -1
- package/fesm2022/primeng-calendar.mjs +64 -8
- package/fesm2022/primeng-calendar.mjs.map +1 -1
- package/fesm2022/primeng-cascadeselect.mjs +60 -11
- package/fesm2022/primeng-cascadeselect.mjs.map +1 -1
- package/fesm2022/primeng-checkbox.mjs +31 -9
- package/fesm2022/primeng-checkbox.mjs.map +1 -1
- package/fesm2022/primeng-chips.mjs +19 -9
- package/fesm2022/primeng-chips.mjs.map +1 -1
- package/fesm2022/primeng-dropdown.mjs +104 -25
- package/fesm2022/primeng-dropdown.mjs.map +1 -1
- package/fesm2022/primeng-dynamicdialog.mjs +2 -2
- package/fesm2022/primeng-dynamicdialog.mjs.map +1 -1
- package/fesm2022/primeng-fileupload.mjs +122 -104
- package/fesm2022/primeng-fileupload.mjs.map +1 -1
- package/fesm2022/primeng-icons-blank.mjs +32 -0
- package/fesm2022/primeng-icons-blank.mjs.map +1 -0
- package/fesm2022/primeng-inputmask.mjs +30 -12
- package/fesm2022/primeng-inputmask.mjs.map +1 -1
- package/fesm2022/primeng-inputnumber.mjs +12 -3
- package/fesm2022/primeng-inputnumber.mjs.map +1 -1
- package/fesm2022/primeng-inputotp.mjs +2 -2
- package/fesm2022/primeng-inputotp.mjs.map +1 -1
- package/fesm2022/primeng-inputtext.mjs +21 -6
- package/fesm2022/primeng-inputtext.mjs.map +1 -1
- package/fesm2022/primeng-inputtextarea.mjs +16 -5
- package/fesm2022/primeng-inputtextarea.mjs.map +1 -1
- package/fesm2022/primeng-megamenu.mjs +1 -1
- package/fesm2022/primeng-megamenu.mjs.map +1 -1
- package/fesm2022/primeng-menu.mjs +17 -4
- package/fesm2022/primeng-menu.mjs.map +1 -1
- package/fesm2022/primeng-menubar.mjs +2 -2
- package/fesm2022/primeng-menubar.mjs.map +1 -1
- package/fesm2022/primeng-multiselect.mjs +82 -29
- package/fesm2022/primeng-multiselect.mjs.map +1 -1
- package/fesm2022/primeng-organizationchart.mjs +42 -26
- package/fesm2022/primeng-organizationchart.mjs.map +1 -1
- package/fesm2022/primeng-paginator.mjs +2 -2
- package/fesm2022/primeng-paginator.mjs.map +1 -1
- package/fesm2022/primeng-panelmenu.mjs +50 -40
- package/fesm2022/primeng-panelmenu.mjs.map +1 -1
- package/fesm2022/primeng-password.mjs +21 -4
- package/fesm2022/primeng-password.mjs.map +1 -1
- package/fesm2022/primeng-radiobutton.mjs +31 -9
- package/fesm2022/primeng-radiobutton.mjs.map +1 -1
- package/fesm2022/primeng-scroller.mjs +3 -3
- package/fesm2022/primeng-scroller.mjs.map +1 -1
- package/fesm2022/primeng-splitbutton.mjs +12 -12
- package/fesm2022/primeng-splitbutton.mjs.map +1 -1
- package/fesm2022/primeng-table.mjs +2 -2
- package/fesm2022/primeng-table.mjs.map +1 -1
- package/fesm2022/primeng-tieredmenu.mjs +18 -11
- package/fesm2022/primeng-tieredmenu.mjs.map +1 -1
- package/fesm2022/primeng-timeline.mjs +2 -2
- package/fesm2022/primeng-timeline.mjs.map +1 -1
- package/fesm2022/primeng-tree.mjs +52 -12
- package/fesm2022/primeng-tree.mjs.map +1 -1
- package/fesm2022/primeng-treeselect.mjs +11 -3
- package/fesm2022/primeng-treeselect.mjs.map +1 -1
- package/fesm2022/primeng-treetable.mjs +7 -5
- package/fesm2022/primeng-treetable.mjs.map +1 -1
- package/fesm2022/primeng-tristatecheckbox.mjs +19 -9
- package/fesm2022/primeng-tristatecheckbox.mjs.map +1 -1
- package/fileupload/fileupload.d.ts +2 -0
- package/icons/blank/blank.d.ts +6 -0
- package/icons/blank/index.d.ts +5 -0
- package/icons/blank/public_api.d.ts +1 -0
- package/inputmask/inputmask.d.ts +13 -3
- package/inputnumber/inputnumber.d.ts +6 -1
- package/inputotp/inputotp.d.ts +1 -1
- package/inputtext/inputtext.d.ts +14 -3
- package/inputtextarea/inputtextarea.d.ts +10 -3
- package/megamenu/megamenu.interface.d.ts +12 -0
- package/menu/menu.d.ts +1 -0
- package/menubar/menubar.interface.d.ts +17 -0
- package/multiselect/multiselect.d.ts +21 -1
- package/organizationchart/organizationchart.d.ts +10 -2
- package/package.json +202 -196
- package/paginator/paginator.d.ts +4 -4
- package/panelmenu/panelmenu.d.ts +1 -0
- package/panelmenu/panelmenu.interface.d.ts +12 -0
- package/password/password.d.ts +12 -2
- package/radiobutton/radiobutton.d.ts +9 -2
- package/resources/components/timeline/timeline.css +2 -0
- package/resources/themes/arya-blue/theme.css +117 -1
- package/resources/themes/arya-green/theme.css +117 -1
- package/resources/themes/arya-orange/theme.css +117 -1
- package/resources/themes/arya-purple/theme.css +117 -1
- package/resources/themes/aura-dark-amber/theme.css +118 -2
- package/resources/themes/aura-dark-blue/theme.css +118 -2
- package/resources/themes/aura-dark-cyan/theme.css +118 -2
- package/resources/themes/aura-dark-green/theme.css +118 -2
- package/resources/themes/aura-dark-indigo/theme.css +118 -2
- package/resources/themes/aura-dark-lime/theme.css +118 -2
- package/resources/themes/aura-dark-noir/theme.css +118 -2
- package/resources/themes/aura-dark-pink/theme.css +118 -2
- package/resources/themes/aura-dark-purple/theme.css +118 -2
- package/resources/themes/aura-dark-teal/theme.css +118 -2
- package/resources/themes/aura-light-amber/theme.css +118 -2
- package/resources/themes/aura-light-blue/theme.css +118 -2
- package/resources/themes/aura-light-cyan/theme.css +118 -2
- package/resources/themes/aura-light-green/theme.css +118 -2
- package/resources/themes/aura-light-indigo/theme.css +118 -2
- package/resources/themes/aura-light-lime/theme.css +118 -2
- package/resources/themes/aura-light-noir/theme.css +118 -2
- package/resources/themes/aura-light-pink/theme.css +118 -2
- package/resources/themes/aura-light-purple/theme.css +118 -2
- package/resources/themes/aura-light-teal/theme.css +118 -2
- package/resources/themes/bootstrap4-dark-blue/theme.css +117 -1
- package/resources/themes/bootstrap4-dark-purple/theme.css +117 -1
- package/resources/themes/bootstrap4-light-blue/theme.css +117 -1
- package/resources/themes/bootstrap4-light-purple/theme.css +117 -1
- package/resources/themes/fluent-light/theme.css +117 -1
- package/resources/themes/lara-dark-blue/theme.css +117 -1
- package/resources/themes/lara-dark-indigo/theme.css +117 -1
- package/resources/themes/lara-dark-purple/theme.css +117 -1
- package/resources/themes/lara-dark-teal/theme.css +117 -1
- package/resources/themes/lara-light-blue/theme.css +117 -1
- package/resources/themes/lara-light-indigo/theme.css +117 -1
- package/resources/themes/lara-light-purple/theme.css +117 -1
- package/resources/themes/lara-light-teal/theme.css +117 -1
- package/resources/themes/luna-amber/theme.css +117 -1
- package/resources/themes/luna-blue/theme.css +117 -1
- package/resources/themes/luna-green/theme.css +117 -1
- package/resources/themes/luna-pink/theme.css +117 -1
- package/resources/themes/md-dark-deeppurple/theme.css +131 -4
- package/resources/themes/md-dark-indigo/theme.css +131 -4
- package/resources/themes/md-light-deeppurple/theme.css +131 -4
- package/resources/themes/md-light-indigo/theme.css +131 -4
- package/resources/themes/mdc-dark-deeppurple/theme.css +131 -4
- package/resources/themes/mdc-dark-indigo/theme.css +131 -4
- package/resources/themes/mdc-light-deeppurple/theme.css +131 -4
- package/resources/themes/mdc-light-indigo/theme.css +131 -4
- package/resources/themes/mira/theme.css +117 -1
- package/resources/themes/nano/theme.css +117 -1
- package/resources/themes/nova/theme.css +117 -1
- package/resources/themes/nova-accent/theme.css +117 -1
- package/resources/themes/nova-alt/theme.css +117 -1
- package/resources/themes/rhea/theme.css +117 -1
- package/resources/themes/saga-blue/theme.css +117 -1
- package/resources/themes/saga-green/theme.css +117 -1
- package/resources/themes/saga-orange/theme.css +117 -1
- package/resources/themes/saga-purple/theme.css +117 -1
- package/resources/themes/soho-dark/theme.css +117 -1
- package/resources/themes/soho-light/theme.css +117 -1
- package/resources/themes/tailwind-light/theme.css +117 -1
- package/resources/themes/vela-blue/theme.css +117 -1
- package/resources/themes/vela-green/theme.css +117 -1
- package/resources/themes/vela-orange/theme.css +117 -1
- package/resources/themes/vela-purple/theme.css +117 -1
- package/resources/themes/viva-dark/theme.css +117 -1
- package/resources/themes/viva-light/theme.css +117 -1
- package/tieredmenu/tieredmenu.d.ts +4 -3
- package/tree/tree.d.ts +9 -2
- package/treeselect/treeselect.d.ts +7 -1
- package/treetable/treetable.d.ts +2 -1
- package/tristatecheckbox/tristatecheckbox.d.ts +9 -3
@@ -294,11 +294,13 @@ class FileUpload {
|
|
294
294
|
dragHighlight;
|
295
295
|
msgs;
|
296
296
|
fileTemplate;
|
297
|
+
headerTemplate;
|
297
298
|
contentTemplate;
|
298
299
|
toolbarTemplate;
|
299
300
|
chooseIconTemplate;
|
300
301
|
uploadIconTemplate;
|
301
302
|
cancelIconTemplate;
|
303
|
+
emptyTemplate;
|
302
304
|
uploadedFileCount = 0;
|
303
305
|
focus;
|
304
306
|
uploading;
|
@@ -319,6 +321,9 @@ class FileUpload {
|
|
319
321
|
ngAfterContentInit() {
|
320
322
|
this.templates?.forEach((item) => {
|
321
323
|
switch (item.getType()) {
|
324
|
+
case 'header':
|
325
|
+
this.headerTemplate = item.template;
|
326
|
+
break;
|
322
327
|
case 'file':
|
323
328
|
this.fileTemplate = item.template;
|
324
329
|
break;
|
@@ -337,6 +342,9 @@ class FileUpload {
|
|
337
342
|
case 'cancelicon':
|
338
343
|
this.cancelIconTemplate = item.template;
|
339
344
|
break;
|
345
|
+
case 'empty':
|
346
|
+
this.emptyTemplate = item.template;
|
347
|
+
break;
|
340
348
|
default:
|
341
349
|
this.fileTemplate = item.template;
|
342
350
|
break;
|
@@ -680,61 +688,63 @@ class FileUpload {
|
|
680
688
|
}
|
681
689
|
}
|
682
690
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: FileUpload, deps: [{ token: DOCUMENT }, { token: PLATFORM_ID }, { token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i1.DomSanitizer }, { token: i0.NgZone }, { token: i2.HttpClient }, { token: i0.ChangeDetectorRef }, { token: i3.PrimeNGConfig }], target: i0.ɵɵFactoryTarget.Component });
|
683
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "17.3.1", type: FileUpload, selector: "p-fileUpload", inputs: { name: "name", url: "url", method: "method", multiple: ["multiple", "multiple", booleanAttribute], accept: "accept", disabled: ["disabled", "disabled", booleanAttribute], auto: ["auto", "auto", booleanAttribute], withCredentials: ["withCredentials", "withCredentials", booleanAttribute], maxFileSize: ["maxFileSize", "maxFileSize", numberAttribute], invalidFileSizeMessageSummary: "invalidFileSizeMessageSummary", invalidFileSizeMessageDetail: "invalidFileSizeMessageDetail", invalidFileTypeMessageSummary: "invalidFileTypeMessageSummary", invalidFileTypeMessageDetail: "invalidFileTypeMessageDetail", invalidFileLimitMessageDetail: "invalidFileLimitMessageDetail", invalidFileLimitMessageSummary: "invalidFileLimitMessageSummary", style: "style", styleClass: "styleClass", previewWidth: ["previewWidth", "previewWidth", numberAttribute], chooseLabel: "chooseLabel", uploadLabel: "uploadLabel", cancelLabel: "cancelLabel", chooseIcon: "chooseIcon", uploadIcon: "uploadIcon", cancelIcon: "cancelIcon", showUploadButton: ["showUploadButton", "showUploadButton", booleanAttribute], showCancelButton: ["showCancelButton", "showCancelButton", booleanAttribute], mode: "mode", headers: "headers", customUpload: ["customUpload", "customUpload", booleanAttribute], fileLimit: ["fileLimit", "fileLimit", numberAttribute], uploadStyleClass: "uploadStyleClass", cancelStyleClass: "cancelStyleClass", removeStyleClass: "removeStyleClass", chooseStyleClass: "chooseStyleClass", files: "files" }, outputs: { onBeforeUpload: "onBeforeUpload", onSend: "onSend", onUpload: "onUpload", onError: "onError", onClear: "onClear", onRemove: "onRemove", onSelect: "onSelect", onProgress: "onProgress", uploadHandler: "uploadHandler", onImageError: "onImageError" }, host: { classAttribute: "p-element" }, queries: [{ propertyName: "templates", predicate: PrimeTemplate }], viewQueries: [{ propertyName: "advancedFileInput", first: true, predicate: ["advancedfileinput"], descendants: true }, { propertyName: "basicFileInput", first: true, predicate: ["basicfileinput"], descendants: true }, { propertyName: "content", first: true, predicate: ["content"], descendants: true }], ngImport: i0, template: `
|
691
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "17.3.1", type: FileUpload, selector: "p-fileUpload", inputs: { name: "name", url: "url", method: "method", multiple: ["multiple", "multiple", booleanAttribute], accept: "accept", disabled: ["disabled", "disabled", booleanAttribute], auto: ["auto", "auto", booleanAttribute], withCredentials: ["withCredentials", "withCredentials", booleanAttribute], maxFileSize: ["maxFileSize", "maxFileSize", numberAttribute], invalidFileSizeMessageSummary: "invalidFileSizeMessageSummary", invalidFileSizeMessageDetail: "invalidFileSizeMessageDetail", invalidFileTypeMessageSummary: "invalidFileTypeMessageSummary", invalidFileTypeMessageDetail: "invalidFileTypeMessageDetail", invalidFileLimitMessageDetail: "invalidFileLimitMessageDetail", invalidFileLimitMessageSummary: "invalidFileLimitMessageSummary", style: "style", styleClass: "styleClass", previewWidth: ["previewWidth", "previewWidth", numberAttribute], chooseLabel: "chooseLabel", uploadLabel: "uploadLabel", cancelLabel: "cancelLabel", chooseIcon: "chooseIcon", uploadIcon: "uploadIcon", cancelIcon: "cancelIcon", showUploadButton: ["showUploadButton", "showUploadButton", booleanAttribute], showCancelButton: ["showCancelButton", "showCancelButton", booleanAttribute], mode: "mode", headers: "headers", customUpload: ["customUpload", "customUpload", booleanAttribute], fileLimit: ["fileLimit", "fileLimit", (value) => numberAttribute(value, null)], uploadStyleClass: "uploadStyleClass", cancelStyleClass: "cancelStyleClass", removeStyleClass: "removeStyleClass", chooseStyleClass: "chooseStyleClass", files: "files" }, outputs: { onBeforeUpload: "onBeforeUpload", onSend: "onSend", onUpload: "onUpload", onError: "onError", onClear: "onClear", onRemove: "onRemove", onSelect: "onSelect", onProgress: "onProgress", uploadHandler: "uploadHandler", onImageError: "onImageError" }, host: { classAttribute: "p-element" }, queries: [{ propertyName: "templates", predicate: PrimeTemplate }], viewQueries: [{ propertyName: "advancedFileInput", first: true, predicate: ["advancedfileinput"], descendants: true }, { propertyName: "basicFileInput", first: true, predicate: ["basicfileinput"], descendants: true }, { propertyName: "content", first: true, predicate: ["content"], descendants: true }], ngImport: i0, template: `
|
684
692
|
<div [ngClass]="'p-fileupload p-fileupload-advanced p-component'" [ngStyle]="style" [class]="styleClass" *ngIf="mode === 'advanced'" [attr.data-pc-name]="'fileupload'" [attr.data-pc-section]="'root'">
|
685
693
|
<div class="p-fileupload-buttonbar" [attr.data-pc-section]="'buttonbar'">
|
686
|
-
<
|
687
|
-
|
688
|
-
|
689
|
-
|
690
|
-
|
691
|
-
|
692
|
-
|
693
|
-
|
694
|
-
|
695
|
-
|
696
|
-
|
697
|
-
|
698
|
-
|
699
|
-
|
700
|
-
|
701
|
-
|
702
|
-
|
703
|
-
|
704
|
-
|
705
|
-
|
706
|
-
|
707
|
-
|
708
|
-
|
709
|
-
|
710
|
-
|
711
|
-
<
|
712
|
-
|
713
|
-
<
|
714
|
-
|
715
|
-
|
716
|
-
|
717
|
-
|
718
|
-
|
719
|
-
<p-button *ngIf="!auto && showUploadButton" type="button" [label]="uploadButtonLabel" (onClick)="upload()" [disabled]="!hasFiles() || isFileLimitExceeded()" [styleClass]="uploadStyleClass">
|
720
|
-
<span *ngIf="uploadIcon" [ngClass]="uploadIcon" [attr.aria-hidden]="true" class="p-button-icon p-button-icon-left"></span>
|
721
|
-
<ng-container *ngIf="!uploadIcon">
|
722
|
-
<UploadIcon *ngIf="!uploadIconTemplate" [styleClass]="'p-button-icon p-button-icon-left'" />
|
723
|
-
<span *ngIf="uploadIconTemplate" class="p-button-icon p-button-icon-left" [attr.aria-hidden]="true">
|
724
|
-
<ng-template *ngTemplateOutlet="uploadIconTemplate"></ng-template>
|
725
|
-
</span>
|
726
|
-
</ng-container>
|
727
|
-
</p-button>
|
728
|
-
<p-button *ngIf="!auto && showCancelButton" type="button" [label]="cancelButtonLabel" (onClick)="clear()" [disabled]="!hasFiles() || uploading" [styleClass]="cancelStyleClass">
|
729
|
-
<span *ngIf="cancelIcon" [ngClass]="cancelIcon" class="p-button-icon p-button-icon-left"></span>
|
730
|
-
<ng-container *ngIf="!cancelIcon">
|
731
|
-
<TimesIcon *ngIf="!cancelIconTemplate" [styleClass]="'p-button-icon p-button-icon-left'" [attr.aria-hidden]="true" />
|
732
|
-
<span *ngIf="cancelIconTemplate" class="p-button-icon p-button-icon-left" [attr.aria-hidden]="true">
|
733
|
-
<ng-template *ngTemplateOutlet="cancelIconTemplate"></ng-template>
|
734
|
-
</span>
|
735
|
-
</ng-container>
|
736
|
-
</p-button>
|
694
|
+
<ng-container *ngIf="!headerTemplate">
|
695
|
+
<span
|
696
|
+
class="p-button p-component p-fileupload-choose"
|
697
|
+
[ngClass]="{ 'p-focus': focus, 'p-disabled': disabled || isChooseDisabled() }"
|
698
|
+
(focus)="onFocus()"
|
699
|
+
(blur)="onBlur()"
|
700
|
+
pRipple
|
701
|
+
(click)="choose()"
|
702
|
+
(keydown.enter)="choose()"
|
703
|
+
tabindex="0"
|
704
|
+
[class]="chooseStyleClass"
|
705
|
+
[attr.data-pc-section]="'choosebutton'"
|
706
|
+
>
|
707
|
+
<input
|
708
|
+
[attr.aria-label]="browseFilesLabel"
|
709
|
+
#advancedfileinput
|
710
|
+
type="file"
|
711
|
+
(change)="onFileSelect($event)"
|
712
|
+
[multiple]="multiple"
|
713
|
+
[accept]="accept"
|
714
|
+
[disabled]="disabled || isChooseDisabled()"
|
715
|
+
[attr.title]="''"
|
716
|
+
[attr.data-pc-section]="'input'"
|
717
|
+
/>
|
718
|
+
<span *ngIf="chooseIcon" [ngClass]="'p-button-icon p-button-icon-left'" [class]="chooseIcon" [attr.aria-label]="true" [attr.data-pc-section]="'chooseicon'"></span>
|
719
|
+
<ng-container *ngIf="!chooseIcon">
|
720
|
+
<PlusIcon *ngIf="!chooseIconTemplate" [styleClass]="'p-button-icon p-button-icon-left'" [attr.aria-label]="true" [attr.data-pc-section]="'chooseicon'" />
|
721
|
+
<span *ngIf="chooseIconTemplate" class="p-button-icon p-button-icon-left" [attr.aria-label]="true" [attr.data-pc-section]="'chooseicon'">
|
722
|
+
<ng-template *ngTemplateOutlet="chooseIconTemplate"></ng-template>
|
723
|
+
</span>
|
724
|
+
</ng-container>
|
725
|
+
<span class="p-button-label" [attr.data-pc-section]="'choosebuttonlabel'">{{ chooseButtonLabel }}</span>
|
726
|
+
</span>
|
737
727
|
|
728
|
+
<p-button *ngIf="!auto && showUploadButton" type="button" [label]="uploadButtonLabel" (onClick)="upload()" [disabled]="!hasFiles() || isFileLimitExceeded()" [styleClass]="uploadStyleClass">
|
729
|
+
<span *ngIf="uploadIcon" [ngClass]="uploadIcon" [attr.aria-hidden]="true" class="p-button-icon p-button-icon-left"></span>
|
730
|
+
<ng-container *ngIf="!uploadIcon">
|
731
|
+
<UploadIcon *ngIf="!uploadIconTemplate" [styleClass]="'p-button-icon p-button-icon-left'" />
|
732
|
+
<span *ngIf="uploadIconTemplate" class="p-button-icon p-button-icon-left" [attr.aria-hidden]="true">
|
733
|
+
<ng-template *ngTemplateOutlet="uploadIconTemplate"></ng-template>
|
734
|
+
</span>
|
735
|
+
</ng-container>
|
736
|
+
</p-button>
|
737
|
+
<p-button *ngIf="!auto && showCancelButton" type="button" [label]="cancelButtonLabel" (onClick)="clear()" [disabled]="!hasFiles() || uploading" [styleClass]="cancelStyleClass">
|
738
|
+
<span *ngIf="cancelIcon" [ngClass]="cancelIcon" class="p-button-icon p-button-icon-left"></span>
|
739
|
+
<ng-container *ngIf="!cancelIcon">
|
740
|
+
<TimesIcon *ngIf="!cancelIconTemplate" [styleClass]="'p-button-icon p-button-icon-left'" [attr.aria-hidden]="true" />
|
741
|
+
<span *ngIf="cancelIconTemplate" class="p-button-icon p-button-icon-left" [attr.aria-hidden]="true">
|
742
|
+
<ng-template *ngTemplateOutlet="cancelIconTemplate"></ng-template>
|
743
|
+
</span>
|
744
|
+
</ng-container>
|
745
|
+
</p-button>
|
746
|
+
</ng-container>
|
747
|
+
<ng-container *ngTemplateOutlet="headerTemplate"></ng-container>
|
738
748
|
<ng-container *ngTemplateOutlet="toolbarTemplate"></ng-container>
|
739
749
|
</div>
|
740
750
|
<div #content class="p-fileupload-content" (dragenter)="onDragEnter($event)" (dragleave)="onDragLeave($event)" (drop)="onDrop($event)" [attr.data-pc-section]="'content'">
|
@@ -761,6 +771,9 @@ class FileUpload {
|
|
761
771
|
</div>
|
762
772
|
</div>
|
763
773
|
<ng-container *ngTemplateOutlet="contentTemplate; context: { $implicit: files }"></ng-container>
|
774
|
+
<div *ngIf="emptyTemplate && !hasFiles() && !uploadedFileCount" class="p-fileupload-empty">
|
775
|
+
<ng-container *ngTemplateOutlet="emptyTemplate"></ng-container>
|
776
|
+
</div>
|
764
777
|
</div>
|
765
778
|
</div>
|
766
779
|
<div class="p-fileupload p-fileupload-basic p-component" *ngIf="mode === 'basic'" [attr.data-pc-name]="'fileupload'">
|
@@ -816,58 +829,60 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImpor
|
|
816
829
|
args: [{ selector: 'p-fileUpload', template: `
|
817
830
|
<div [ngClass]="'p-fileupload p-fileupload-advanced p-component'" [ngStyle]="style" [class]="styleClass" *ngIf="mode === 'advanced'" [attr.data-pc-name]="'fileupload'" [attr.data-pc-section]="'root'">
|
818
831
|
<div class="p-fileupload-buttonbar" [attr.data-pc-section]="'buttonbar'">
|
819
|
-
<
|
820
|
-
|
821
|
-
|
822
|
-
|
823
|
-
|
824
|
-
|
825
|
-
|
826
|
-
|
827
|
-
|
828
|
-
|
829
|
-
|
830
|
-
|
831
|
-
|
832
|
-
|
833
|
-
|
834
|
-
|
835
|
-
|
836
|
-
|
837
|
-
|
838
|
-
|
839
|
-
|
840
|
-
|
841
|
-
|
842
|
-
|
843
|
-
|
844
|
-
<
|
845
|
-
|
846
|
-
<
|
847
|
-
|
848
|
-
|
849
|
-
|
850
|
-
|
851
|
-
|
852
|
-
<p-button *ngIf="!auto && showUploadButton" type="button" [label]="uploadButtonLabel" (onClick)="upload()" [disabled]="!hasFiles() || isFileLimitExceeded()" [styleClass]="uploadStyleClass">
|
853
|
-
<span *ngIf="uploadIcon" [ngClass]="uploadIcon" [attr.aria-hidden]="true" class="p-button-icon p-button-icon-left"></span>
|
854
|
-
<ng-container *ngIf="!uploadIcon">
|
855
|
-
<UploadIcon *ngIf="!uploadIconTemplate" [styleClass]="'p-button-icon p-button-icon-left'" />
|
856
|
-
<span *ngIf="uploadIconTemplate" class="p-button-icon p-button-icon-left" [attr.aria-hidden]="true">
|
857
|
-
<ng-template *ngTemplateOutlet="uploadIconTemplate"></ng-template>
|
858
|
-
</span>
|
859
|
-
</ng-container>
|
860
|
-
</p-button>
|
861
|
-
<p-button *ngIf="!auto && showCancelButton" type="button" [label]="cancelButtonLabel" (onClick)="clear()" [disabled]="!hasFiles() || uploading" [styleClass]="cancelStyleClass">
|
862
|
-
<span *ngIf="cancelIcon" [ngClass]="cancelIcon" class="p-button-icon p-button-icon-left"></span>
|
863
|
-
<ng-container *ngIf="!cancelIcon">
|
864
|
-
<TimesIcon *ngIf="!cancelIconTemplate" [styleClass]="'p-button-icon p-button-icon-left'" [attr.aria-hidden]="true" />
|
865
|
-
<span *ngIf="cancelIconTemplate" class="p-button-icon p-button-icon-left" [attr.aria-hidden]="true">
|
866
|
-
<ng-template *ngTemplateOutlet="cancelIconTemplate"></ng-template>
|
867
|
-
</span>
|
868
|
-
</ng-container>
|
869
|
-
</p-button>
|
832
|
+
<ng-container *ngIf="!headerTemplate">
|
833
|
+
<span
|
834
|
+
class="p-button p-component p-fileupload-choose"
|
835
|
+
[ngClass]="{ 'p-focus': focus, 'p-disabled': disabled || isChooseDisabled() }"
|
836
|
+
(focus)="onFocus()"
|
837
|
+
(blur)="onBlur()"
|
838
|
+
pRipple
|
839
|
+
(click)="choose()"
|
840
|
+
(keydown.enter)="choose()"
|
841
|
+
tabindex="0"
|
842
|
+
[class]="chooseStyleClass"
|
843
|
+
[attr.data-pc-section]="'choosebutton'"
|
844
|
+
>
|
845
|
+
<input
|
846
|
+
[attr.aria-label]="browseFilesLabel"
|
847
|
+
#advancedfileinput
|
848
|
+
type="file"
|
849
|
+
(change)="onFileSelect($event)"
|
850
|
+
[multiple]="multiple"
|
851
|
+
[accept]="accept"
|
852
|
+
[disabled]="disabled || isChooseDisabled()"
|
853
|
+
[attr.title]="''"
|
854
|
+
[attr.data-pc-section]="'input'"
|
855
|
+
/>
|
856
|
+
<span *ngIf="chooseIcon" [ngClass]="'p-button-icon p-button-icon-left'" [class]="chooseIcon" [attr.aria-label]="true" [attr.data-pc-section]="'chooseicon'"></span>
|
857
|
+
<ng-container *ngIf="!chooseIcon">
|
858
|
+
<PlusIcon *ngIf="!chooseIconTemplate" [styleClass]="'p-button-icon p-button-icon-left'" [attr.aria-label]="true" [attr.data-pc-section]="'chooseicon'" />
|
859
|
+
<span *ngIf="chooseIconTemplate" class="p-button-icon p-button-icon-left" [attr.aria-label]="true" [attr.data-pc-section]="'chooseicon'">
|
860
|
+
<ng-template *ngTemplateOutlet="chooseIconTemplate"></ng-template>
|
861
|
+
</span>
|
862
|
+
</ng-container>
|
863
|
+
<span class="p-button-label" [attr.data-pc-section]="'choosebuttonlabel'">{{ chooseButtonLabel }}</span>
|
864
|
+
</span>
|
870
865
|
|
866
|
+
<p-button *ngIf="!auto && showUploadButton" type="button" [label]="uploadButtonLabel" (onClick)="upload()" [disabled]="!hasFiles() || isFileLimitExceeded()" [styleClass]="uploadStyleClass">
|
867
|
+
<span *ngIf="uploadIcon" [ngClass]="uploadIcon" [attr.aria-hidden]="true" class="p-button-icon p-button-icon-left"></span>
|
868
|
+
<ng-container *ngIf="!uploadIcon">
|
869
|
+
<UploadIcon *ngIf="!uploadIconTemplate" [styleClass]="'p-button-icon p-button-icon-left'" />
|
870
|
+
<span *ngIf="uploadIconTemplate" class="p-button-icon p-button-icon-left" [attr.aria-hidden]="true">
|
871
|
+
<ng-template *ngTemplateOutlet="uploadIconTemplate"></ng-template>
|
872
|
+
</span>
|
873
|
+
</ng-container>
|
874
|
+
</p-button>
|
875
|
+
<p-button *ngIf="!auto && showCancelButton" type="button" [label]="cancelButtonLabel" (onClick)="clear()" [disabled]="!hasFiles() || uploading" [styleClass]="cancelStyleClass">
|
876
|
+
<span *ngIf="cancelIcon" [ngClass]="cancelIcon" class="p-button-icon p-button-icon-left"></span>
|
877
|
+
<ng-container *ngIf="!cancelIcon">
|
878
|
+
<TimesIcon *ngIf="!cancelIconTemplate" [styleClass]="'p-button-icon p-button-icon-left'" [attr.aria-hidden]="true" />
|
879
|
+
<span *ngIf="cancelIconTemplate" class="p-button-icon p-button-icon-left" [attr.aria-hidden]="true">
|
880
|
+
<ng-template *ngTemplateOutlet="cancelIconTemplate"></ng-template>
|
881
|
+
</span>
|
882
|
+
</ng-container>
|
883
|
+
</p-button>
|
884
|
+
</ng-container>
|
885
|
+
<ng-container *ngTemplateOutlet="headerTemplate"></ng-container>
|
871
886
|
<ng-container *ngTemplateOutlet="toolbarTemplate"></ng-container>
|
872
887
|
</div>
|
873
888
|
<div #content class="p-fileupload-content" (dragenter)="onDragEnter($event)" (dragleave)="onDragLeave($event)" (drop)="onDrop($event)" [attr.data-pc-section]="'content'">
|
@@ -894,6 +909,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImpor
|
|
894
909
|
</div>
|
895
910
|
</div>
|
896
911
|
<ng-container *ngTemplateOutlet="contentTemplate; context: { $implicit: files }"></ng-container>
|
912
|
+
<div *ngIf="emptyTemplate && !hasFiles() && !uploadedFileCount" class="p-fileupload-empty">
|
913
|
+
<ng-container *ngTemplateOutlet="emptyTemplate"></ng-container>
|
914
|
+
</div>
|
897
915
|
</div>
|
898
916
|
</div>
|
899
917
|
<div class="p-fileupload p-fileupload-basic p-component" *ngIf="mode === 'basic'" [attr.data-pc-name]="'fileupload'">
|
@@ -1020,7 +1038,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImpor
|
|
1020
1038
|
args: [{ transform: booleanAttribute }]
|
1021
1039
|
}], fileLimit: [{
|
1022
1040
|
type: Input,
|
1023
|
-
args: [{ transform: numberAttribute }]
|
1041
|
+
args: [{ transform: (value) => numberAttribute(value, null) }]
|
1024
1042
|
}], uploadStyleClass: [{
|
1025
1043
|
type: Input
|
1026
1044
|
}], cancelStyleClass: [{
|