primevue 3.17.0 → 3.18.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.
Files changed (316) hide show
  1. package/LICENSE.md +1 -1
  2. package/accordion/Accordion.vue +4 -4
  3. package/accordion/accordion.cjs.js +4 -4
  4. package/accordion/accordion.cjs.min.js +1 -1
  5. package/accordion/accordion.esm.js +4 -4
  6. package/accordion/accordion.esm.min.js +1 -1
  7. package/accordion/accordion.js +5 -5
  8. package/accordion/accordion.min.js +1 -1
  9. package/api/api.cjs.js +24 -2
  10. package/api/api.cjs.min.js +1 -1
  11. package/api/api.esm.js +24 -2
  12. package/api/api.esm.min.js +1 -1
  13. package/api/api.js +24 -2
  14. package/api/api.min.js +1 -1
  15. package/autocomplete/AutoComplete.d.ts +10 -0
  16. package/autocomplete/AutoComplete.vue +14 -6
  17. package/autocomplete/autocomplete.cjs.js +18 -10
  18. package/autocomplete/autocomplete.cjs.min.js +1 -1
  19. package/autocomplete/autocomplete.esm.js +16 -8
  20. package/autocomplete/autocomplete.esm.min.js +1 -1
  21. package/autocomplete/autocomplete.js +17 -9
  22. package/autocomplete/autocomplete.min.js +1 -1
  23. package/breadcrumb/Breadcrumb.d.ts +9 -1
  24. package/breadcrumb/Breadcrumb.vue +14 -5
  25. package/breadcrumb/BreadcrumbItem.vue +9 -3
  26. package/breadcrumb/breadcrumb.cjs.js +25 -14
  27. package/breadcrumb/breadcrumb.cjs.min.js +1 -1
  28. package/breadcrumb/breadcrumb.esm.js +25 -14
  29. package/breadcrumb/breadcrumb.esm.min.js +1 -1
  30. package/breadcrumb/breadcrumb.js +25 -14
  31. package/breadcrumb/breadcrumb.min.js +1 -1
  32. package/button/Button.vue +6 -3
  33. package/button/button.cjs.js +6 -3
  34. package/button/button.cjs.min.js +1 -1
  35. package/button/button.esm.js +6 -3
  36. package/button/button.esm.min.js +1 -1
  37. package/button/button.js +6 -3
  38. package/button/button.min.js +1 -1
  39. package/calendar/Calendar.vue +71 -26
  40. package/calendar/calendar.cjs.js +140 -95
  41. package/calendar/calendar.cjs.min.js +1 -1
  42. package/calendar/calendar.esm.js +138 -93
  43. package/calendar/calendar.esm.min.js +1 -1
  44. package/calendar/calendar.js +139 -94
  45. package/calendar/calendar.min.js +1 -1
  46. package/cascadeselect/CascadeSelect.d.ts +10 -0
  47. package/cascadeselect/CascadeSelect.vue +13 -4
  48. package/cascadeselect/CascadeSelectSub.vue +18 -13
  49. package/cascadeselect/cascadeselect.cjs.js +39 -26
  50. package/cascadeselect/cascadeselect.cjs.min.js +1 -1
  51. package/cascadeselect/cascadeselect.esm.js +38 -25
  52. package/cascadeselect/cascadeselect.esm.min.js +1 -1
  53. package/cascadeselect/cascadeselect.js +39 -26
  54. package/cascadeselect/cascadeselect.min.js +1 -1
  55. package/config/PrimeVue.d.ts +4 -1
  56. package/config/config.cjs.js +5 -2
  57. package/config/config.cjs.min.js +1 -1
  58. package/config/config.esm.js +5 -2
  59. package/config/config.esm.min.js +1 -1
  60. package/config/config.js +6 -3
  61. package/config/config.min.js +1 -1
  62. package/contextmenu/ContextMenu.d.ts +41 -2
  63. package/contextmenu/ContextMenu.vue +440 -33
  64. package/contextmenu/ContextMenuSub.vue +119 -98
  65. package/contextmenu/contextmenu.cjs.js +619 -194
  66. package/contextmenu/contextmenu.cjs.min.js +1 -1
  67. package/contextmenu/contextmenu.esm.js +620 -195
  68. package/contextmenu/contextmenu.esm.min.js +1 -1
  69. package/contextmenu/contextmenu.js +620 -195
  70. package/contextmenu/contextmenu.min.js +1 -1
  71. package/core/core.js +1369 -675
  72. package/core/core.min.js +10 -10
  73. package/datatable/DataTable.d.ts +1 -2
  74. package/datatable/DataTable.vue +3 -3
  75. package/datatable/datatable.cjs.js +2334 -2334
  76. package/datatable/datatable.cjs.min.js +1 -1
  77. package/datatable/datatable.esm.js +2319 -2319
  78. package/datatable/datatable.esm.min.js +1 -1
  79. package/datatable/datatable.js +2319 -2319
  80. package/datatable/datatable.min.js +1 -1
  81. package/dock/Dock.d.ts +33 -2
  82. package/dock/Dock.vue +18 -2
  83. package/dock/DockSub.vue +206 -53
  84. package/dock/dock.cjs.js +261 -90
  85. package/dock/dock.cjs.min.js +1 -1
  86. package/dock/dock.esm.js +261 -90
  87. package/dock/dock.esm.min.js +1 -1
  88. package/dock/dock.js +262 -92
  89. package/dock/dock.min.js +1 -1
  90. package/dropdown/Dropdown.d.ts +15 -0
  91. package/dropdown/Dropdown.vue +19 -7
  92. package/dropdown/dropdown.cjs.js +37 -24
  93. package/dropdown/dropdown.cjs.min.js +1 -1
  94. package/dropdown/dropdown.esm.js +36 -23
  95. package/dropdown/dropdown.esm.min.js +1 -1
  96. package/dropdown/dropdown.js +36 -23
  97. package/dropdown/dropdown.min.js +1 -1
  98. package/fileupload/FileContent.vue +51 -0
  99. package/fileupload/FileUpload.d.ts +21 -1
  100. package/fileupload/FileUpload.vue +62 -48
  101. package/fileupload/fileupload.cjs.js +214 -115
  102. package/fileupload/fileupload.cjs.min.js +1 -1
  103. package/fileupload/fileupload.esm.js +214 -115
  104. package/fileupload/fileupload.esm.min.js +1 -1
  105. package/fileupload/fileupload.js +214 -115
  106. package/fileupload/fileupload.min.js +1 -1
  107. package/galleria/GalleriaThumbnails.vue +2 -2
  108. package/galleria/galleria.cjs.js +1 -1
  109. package/galleria/galleria.cjs.min.js +1 -1
  110. package/galleria/galleria.esm.js +1 -1
  111. package/galleria/galleria.esm.min.js +1 -1
  112. package/galleria/galleria.js +1 -1
  113. package/galleria/galleria.min.js +1 -1
  114. package/inlinemessage/inlinemessage.cjs.js +1 -2
  115. package/inlinemessage/inlinemessage.cjs.min.js +1 -1
  116. package/inlinemessage/inlinemessage.esm.js +1 -2
  117. package/inlinemessage/inlinemessage.esm.min.js +1 -1
  118. package/inlinemessage/inlinemessage.js +1 -2
  119. package/inlinemessage/inlinemessage.min.js +1 -1
  120. package/inputnumber/InputNumber.vue +11 -4
  121. package/inputnumber/inputnumber.cjs.js +12 -5
  122. package/inputnumber/inputnumber.cjs.min.js +1 -1
  123. package/inputnumber/inputnumber.esm.js +11 -4
  124. package/inputnumber/inputnumber.esm.min.js +1 -1
  125. package/inputnumber/inputnumber.js +12 -6
  126. package/inputnumber/inputnumber.min.js +1 -1
  127. package/listbox/Listbox.d.ts +5 -0
  128. package/listbox/Listbox.vue +5 -1
  129. package/listbox/listbox.cjs.js +25 -20
  130. package/listbox/listbox.cjs.min.js +1 -1
  131. package/listbox/listbox.esm.js +25 -20
  132. package/listbox/listbox.esm.min.js +1 -1
  133. package/listbox/listbox.js +25 -20
  134. package/listbox/listbox.min.js +1 -1
  135. package/megamenu/MegaMenu.d.ts +29 -2
  136. package/megamenu/MegaMenu.vue +486 -228
  137. package/megamenu/MegaMenuSub.vue +231 -0
  138. package/megamenu/megamenu.cjs.js +818 -377
  139. package/megamenu/megamenu.cjs.min.js +1 -1
  140. package/megamenu/megamenu.esm.js +820 -379
  141. package/megamenu/megamenu.esm.min.js +1 -1
  142. package/megamenu/megamenu.js +818 -377
  143. package/megamenu/megamenu.min.js +1 -1
  144. package/menu/Menu.d.ts +25 -2
  145. package/menu/Menu.vue +182 -18
  146. package/menu/Menuitem.vue +35 -28
  147. package/menu/menu.cjs.js +293 -114
  148. package/menu/menu.cjs.min.js +1 -1
  149. package/menu/menu.esm.js +293 -114
  150. package/menu/menu.esm.min.js +1 -1
  151. package/menu/menu.js +293 -114
  152. package/menu/menu.min.js +1 -1
  153. package/menubar/Menubar.d.ts +14 -2
  154. package/menubar/Menubar.vue +526 -15
  155. package/menubar/MenubarSub.vue +105 -238
  156. package/menubar/menubar.cjs.js +691 -316
  157. package/menubar/menubar.cjs.min.js +1 -1
  158. package/menubar/menubar.esm.js +693 -318
  159. package/menubar/menubar.esm.min.js +1 -1
  160. package/menubar/menubar.js +691 -316
  161. package/menubar/menubar.min.js +1 -1
  162. package/multiselect/MultiSelect.d.ts +25 -0
  163. package/multiselect/MultiSelect.vue +31 -11
  164. package/multiselect/multiselect.cjs.js +58 -37
  165. package/multiselect/multiselect.cjs.min.js +1 -1
  166. package/multiselect/multiselect.esm.js +57 -36
  167. package/multiselect/multiselect.esm.min.js +1 -1
  168. package/multiselect/multiselect.js +57 -36
  169. package/multiselect/multiselect.min.js +1 -1
  170. package/package.json +3 -3
  171. package/paginator/Paginator.d.ts +2 -2
  172. package/paginator/Paginator.vue +118 -23
  173. package/paginator/paginator.cjs.js +277 -182
  174. package/paginator/paginator.cjs.min.js +1 -1
  175. package/paginator/paginator.esm.js +278 -183
  176. package/paginator/paginator.esm.min.js +1 -1
  177. package/paginator/paginator.js +278 -184
  178. package/paginator/paginator.min.js +1 -1
  179. package/panelmenu/PanelMenu.d.ts +32 -1
  180. package/panelmenu/PanelMenu.vue +189 -83
  181. package/panelmenu/PanelMenuList.vue +335 -0
  182. package/panelmenu/PanelMenuSub.vue +124 -85
  183. package/panelmenu/panelmenu.cjs.js +1383 -285
  184. package/panelmenu/panelmenu.cjs.min.js +1 -1
  185. package/panelmenu/panelmenu.esm.js +1380 -286
  186. package/panelmenu/panelmenu.esm.min.js +1 -1
  187. package/panelmenu/panelmenu.js +1383 -286
  188. package/panelmenu/panelmenu.min.js +1 -1
  189. package/password/Password.vue +5 -4
  190. package/password/password.cjs.js +6 -5
  191. package/password/password.cjs.min.js +1 -1
  192. package/password/password.esm.js +5 -4
  193. package/password/password.esm.min.js +1 -1
  194. package/password/password.js +6 -5
  195. package/password/password.min.js +1 -1
  196. package/resources/primevue.css +21 -2
  197. package/resources/primevue.min.css +1 -1
  198. package/resources/themes/arya-blue/theme.css +317 -270
  199. package/resources/themes/arya-green/theme.css +317 -270
  200. package/resources/themes/arya-orange/theme.css +317 -270
  201. package/resources/themes/arya-purple/theme.css +317 -270
  202. package/resources/themes/bootstrap4-dark-blue/theme.css +332 -285
  203. package/resources/themes/bootstrap4-dark-purple/theme.css +332 -285
  204. package/resources/themes/bootstrap4-light-blue/theme.css +345 -298
  205. package/resources/themes/bootstrap4-light-purple/theme.css +345 -298
  206. package/resources/themes/fluent-light/theme.css +327 -280
  207. package/resources/themes/lara-dark-blue/theme.css +320 -273
  208. package/resources/themes/lara-dark-indigo/theme.css +320 -273
  209. package/resources/themes/lara-dark-purple/theme.css +320 -273
  210. package/resources/themes/lara-dark-teal/theme.css +320 -273
  211. package/resources/themes/lara-light-blue/theme.css +344 -297
  212. package/resources/themes/lara-light-indigo/theme.css +344 -297
  213. package/resources/themes/lara-light-purple/theme.css +344 -297
  214. package/resources/themes/lara-light-teal/theme.css +344 -297
  215. package/resources/themes/luna-amber/theme.css +348 -301
  216. package/resources/themes/luna-blue/theme.css +348 -301
  217. package/resources/themes/luna-green/theme.css +348 -301
  218. package/resources/themes/luna-pink/theme.css +348 -301
  219. package/resources/themes/md-dark-deeppurple/theme.css +367 -298
  220. package/resources/themes/md-dark-indigo/theme.css +367 -298
  221. package/resources/themes/md-light-deeppurple/theme.css +367 -298
  222. package/resources/themes/md-light-indigo/theme.css +367 -298
  223. package/resources/themes/mdc-dark-deeppurple/theme.css +367 -298
  224. package/resources/themes/mdc-dark-indigo/theme.css +367 -298
  225. package/resources/themes/mdc-light-deeppurple/theme.css +367 -298
  226. package/resources/themes/mdc-light-indigo/theme.css +367 -298
  227. package/resources/themes/nova/theme.css +312 -265
  228. package/resources/themes/nova-accent/theme.css +312 -265
  229. package/resources/themes/nova-alt/theme.css +312 -265
  230. package/resources/themes/nova-vue/theme.css +312 -265
  231. package/resources/themes/rhea/theme.css +312 -265
  232. package/resources/themes/saga-blue/theme.css +324 -277
  233. package/resources/themes/saga-green/theme.css +324 -277
  234. package/resources/themes/saga-orange/theme.css +324 -277
  235. package/resources/themes/saga-purple/theme.css +324 -277
  236. package/resources/themes/tailwind-light/theme.css +336 -289
  237. package/resources/themes/vela-blue/theme.css +324 -277
  238. package/resources/themes/vela-green/theme.css +324 -277
  239. package/resources/themes/vela-orange/theme.css +324 -277
  240. package/resources/themes/vela-purple/theme.css +324 -277
  241. package/ripple/ripple.cjs.js +12 -0
  242. package/ripple/ripple.cjs.min.js +1 -1
  243. package/ripple/ripple.esm.js +12 -0
  244. package/ripple/ripple.esm.min.js +1 -1
  245. package/ripple/ripple.js +12 -0
  246. package/ripple/ripple.min.js +1 -1
  247. package/speeddial/SpeedDial.vue +21 -16
  248. package/speeddial/speeddial.cjs.js +34 -27
  249. package/speeddial/speeddial.cjs.min.js +1 -1
  250. package/speeddial/speeddial.esm.js +34 -27
  251. package/speeddial/speeddial.esm.min.js +1 -1
  252. package/speeddial/speeddial.js +34 -27
  253. package/speeddial/speeddial.min.js +1 -1
  254. package/steps/Steps.vue +108 -9
  255. package/steps/steps.cjs.js +111 -20
  256. package/steps/steps.cjs.min.js +1 -1
  257. package/steps/steps.esm.js +112 -21
  258. package/steps/steps.esm.min.js +1 -1
  259. package/steps/steps.js +111 -20
  260. package/steps/steps.min.js +1 -1
  261. package/styleclass/styleclass.cjs.js +1 -1
  262. package/styleclass/styleclass.cjs.min.js +1 -1
  263. package/styleclass/styleclass.esm.js +1 -1
  264. package/styleclass/styleclass.esm.min.js +1 -1
  265. package/styleclass/styleclass.js +1 -1
  266. package/styleclass/styleclass.min.js +1 -1
  267. package/tabmenu/TabMenu.d.ts +9 -1
  268. package/tabmenu/TabMenu.vue +135 -6
  269. package/tabmenu/tabmenu.cjs.js +137 -17
  270. package/tabmenu/tabmenu.cjs.min.js +1 -1
  271. package/tabmenu/tabmenu.esm.js +137 -17
  272. package/tabmenu/tabmenu.esm.min.js +1 -1
  273. package/tabmenu/tabmenu.js +138 -18
  274. package/tabmenu/tabmenu.min.js +1 -1
  275. package/tabview/TabView.vue +2 -2
  276. package/tabview/tabview.cjs.js +2 -2
  277. package/tabview/tabview.cjs.min.js +1 -1
  278. package/tabview/tabview.esm.js +2 -2
  279. package/tabview/tabview.esm.min.js +1 -1
  280. package/tabview/tabview.js +3 -3
  281. package/tabview/tabview.min.js +1 -1
  282. package/tieredmenu/TieredMenu.d.ts +46 -3
  283. package/tieredmenu/TieredMenu.vue +482 -48
  284. package/tieredmenu/TieredMenuSub.vue +111 -204
  285. package/tieredmenu/tieredmenu.cjs.js +656 -320
  286. package/tieredmenu/tieredmenu.cjs.min.js +1 -1
  287. package/tieredmenu/tieredmenu.esm.js +657 -321
  288. package/tieredmenu/tieredmenu.esm.min.js +1 -1
  289. package/tieredmenu/tieredmenu.js +657 -321
  290. package/tieredmenu/tieredmenu.min.js +1 -1
  291. package/toast/Toast.vue +5 -3
  292. package/toast/ToastMessage.vue +5 -3
  293. package/toast/toast.cjs.js +19 -15
  294. package/toast/toast.cjs.min.js +1 -1
  295. package/toast/toast.esm.js +18 -14
  296. package/toast/toast.esm.min.js +1 -1
  297. package/toast/toast.js +19 -15
  298. package/toast/toast.min.js +1 -1
  299. package/togglebutton/ToggleButton.vue +42 -7
  300. package/togglebutton/togglebutton.cjs.js +42 -6
  301. package/togglebutton/togglebutton.cjs.min.js +1 -1
  302. package/togglebutton/togglebutton.esm.js +42 -6
  303. package/togglebutton/togglebutton.esm.min.js +1 -1
  304. package/togglebutton/togglebutton.js +42 -6
  305. package/togglebutton/togglebutton.min.js +1 -1
  306. package/tree/Tree.d.ts +8 -0
  307. package/utils/Utils.d.ts +3 -0
  308. package/utils/utils.cjs.js +26 -0
  309. package/utils/utils.cjs.min.js +1 -1
  310. package/utils/utils.esm.js +26 -0
  311. package/utils/utils.esm.min.js +1 -1
  312. package/utils/utils.js +26 -0
  313. package/utils/utils.min.js +1 -1
  314. package/vetur-attributes.json +175 -3
  315. package/vetur-tags.json +54 -11
  316. package/web-types.json +675 -51
@@ -1,17 +1,97 @@
1
1
  this.primevue = this.primevue || {};
2
- this.primevue.fileupload = (function (Button, ProgressBar, Message, utils, Ripple, vue) {
2
+ this.primevue.fileupload = (function (Button, Message, ProgressBar, Ripple, utils, vue) {
3
3
  'use strict';
4
4
 
5
5
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
6
6
 
7
7
  var Button__default = /*#__PURE__*/_interopDefaultLegacy(Button);
8
- var ProgressBar__default = /*#__PURE__*/_interopDefaultLegacy(ProgressBar);
9
8
  var Message__default = /*#__PURE__*/_interopDefaultLegacy(Message);
9
+ var ProgressBar__default = /*#__PURE__*/_interopDefaultLegacy(ProgressBar);
10
10
  var Ripple__default = /*#__PURE__*/_interopDefaultLegacy(Ripple);
11
11
 
12
+ var script$1 = {
13
+ emits: ['remove'],
14
+ props: {
15
+ files: {
16
+ type: Array,
17
+ default: () => []
18
+ },
19
+ badgeSeverity: {
20
+ type: String,
21
+ default: 'warning'
22
+ },
23
+ badgeValue: {
24
+ type: String,
25
+ default: null
26
+ },
27
+ previewWidth: {
28
+ type: Number,
29
+ default: 50
30
+ }
31
+ },
32
+ methods: {
33
+ formatSize(bytes) {
34
+ if (bytes === 0) {
35
+ return '0 B';
36
+ }
37
+
38
+ let k = 1000,
39
+ dm = 3,
40
+ sizes = ['B', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'],
41
+ i = Math.floor(Math.log(bytes) / Math.log(k));
42
+
43
+ return parseFloat((bytes / Math.pow(k, i)).toFixed(dm)) + ' ' + sizes[i];
44
+ }
45
+ }
46
+ };
47
+
48
+ const _hoisted_1$1 = ["alt", "src", "width"];
49
+ const _hoisted_2$1 = { class: "p-fileupload-file-details" };
50
+ const _hoisted_3$1 = { class: "p-fileupload-file-name" };
51
+ const _hoisted_4$1 = { class: "p-fileupload-file-size" };
52
+ const _hoisted_5$1 = { class: "p-fileupload-file-actions" };
53
+
54
+ function render$1(_ctx, _cache, $props, $setup, $data, $options) {
55
+ const _component_Badge = vue.resolveComponent("Badge");
56
+ const _component_Button = vue.resolveComponent("Button");
57
+
58
+ return (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList($props.files, (file, index) => {
59
+ return (vue.openBlock(), vue.createElementBlock("div", {
60
+ key: file.name + file.type + file.size,
61
+ class: "p-fileupload-file"
62
+ }, [
63
+ vue.createElementVNode("img", {
64
+ role: "presentation",
65
+ class: "p-fileupload-file-thumbnail",
66
+ alt: file.name,
67
+ src: file.objectURL,
68
+ width: $props.previewWidth
69
+ }, null, 8, _hoisted_1$1),
70
+ vue.createElementVNode("div", _hoisted_2$1, [
71
+ vue.createElementVNode("div", _hoisted_3$1, vue.toDisplayString(file.name), 1),
72
+ vue.createElementVNode("span", _hoisted_4$1, vue.toDisplayString($options.formatSize(file.size)), 1),
73
+ vue.createVNode(_component_Badge, {
74
+ value: $props.badgeValue,
75
+ class: "p-fileupload-file-badge",
76
+ severity: $props.badgeSeverity
77
+ }, null, 8, ["value", "severity"])
78
+ ]),
79
+ vue.createElementVNode("div", _hoisted_5$1, [
80
+ vue.createVNode(_component_Button, {
81
+ icon: "pi pi-times",
82
+ onClick: $event => (_ctx.$emit('remove', index)),
83
+ class: "p-fileupload-file-remove p-button-text p-button-danger p-button-rounded"
84
+ }, null, 8, ["onClick"])
85
+ ])
86
+ ]))
87
+ }), 128))
88
+ }
89
+
90
+ script$1.render = render$1;
91
+
12
92
  var script = {
13
93
  name: 'FileUpload',
14
- emits: ['select', 'uploader', 'before-upload', 'progress', 'upload', 'error', 'before-send', 'clear', 'remove'],
94
+ emits: ['select', 'uploader', 'before-upload', 'progress', 'upload', 'error', 'before-send', 'clear', 'remove', 'removeUploadedFile'],
15
95
  props: {
16
96
  name: {
17
97
  type: String,
@@ -115,7 +195,8 @@ this.primevue.fileupload = (function (Button, ProgressBar, Message, utils, Rippl
115
195
  files: [],
116
196
  messages: [],
117
197
  focused: false,
118
- progress: null
198
+ progress: null,
199
+ uploadedFiles: []
119
200
  };
120
201
  },
121
202
  methods: {
@@ -213,6 +294,7 @@ this.primevue.fileupload = (function (Button, ProgressBar, Message, utils, Rippl
213
294
  });
214
295
  }
215
296
 
297
+ this.uploadedFiles.push(...this.files);
216
298
  this.clear();
217
299
  }
218
300
  };
@@ -342,6 +424,15 @@ this.primevue.fileupload = (function (Button, ProgressBar, Message, utils, Rippl
342
424
  files: this.files
343
425
  });
344
426
  },
427
+ removeUploadedFile(index) {
428
+ let removedFile = this.uploadedFiles.splice(index, 1)[0];
429
+
430
+ this.uploadedFiles = [...this.uploadedFiles];
431
+ this.$emit('removeUploadedFile', {
432
+ file: removedFile,
433
+ files: this.uploadedFiles
434
+ });
435
+ },
345
436
  clearInputElement() {
346
437
  this.$refs.fileInput.value = '';
347
438
  },
@@ -419,6 +510,9 @@ this.primevue.fileupload = (function (Button, ProgressBar, Message, utils, Rippl
419
510
  hasFiles() {
420
511
  return this.files && this.files.length > 0;
421
512
  },
513
+ hasUploadedFiles() {
514
+ return this.uploadedFiles && this.uploadedFiles.length > 0;
515
+ },
422
516
  chooseDisabled() {
423
517
  return this.disabled || (this.fileLimit && this.fileLimit <= this.files.length + this.uploadedFileCount);
424
518
  },
@@ -436,12 +530,19 @@ this.primevue.fileupload = (function (Button, ProgressBar, Message, utils, Rippl
436
530
  },
437
531
  cancelButtonLabel() {
438
532
  return this.cancelLabel || this.$primevue.config.locale.cancel;
533
+ },
534
+ completedLabel() {
535
+ return this.$primevue.config.locale.completed;
536
+ },
537
+ pendingLabel() {
538
+ return this.$primevue.config.locale.pending;
439
539
  }
440
540
  },
441
541
  components: {
442
542
  FileUploadButton: Button__default["default"],
443
543
  FileUploadProgressBar: ProgressBar__default["default"],
444
- FileUploadMessage: Message__default["default"]
544
+ FileUploadMessage: Message__default["default"],
545
+ FileContent: script$1
445
546
  },
446
547
  directives: {
447
548
  ripple: Ripple__default["default"]
@@ -452,77 +553,80 @@ this.primevue.fileupload = (function (Button, ProgressBar, Message, utils, Rippl
452
553
  key: 0,
453
554
  class: "p-fileupload p-fileupload-advanced p-component"
454
555
  };
455
- const _hoisted_2 = { class: "p-fileupload-buttonbar" };
456
- const _hoisted_3 = ["multiple", "accept", "disabled"];
556
+ const _hoisted_2 = ["multiple", "accept", "disabled"];
557
+ const _hoisted_3 = { class: "p-fileupload-buttonbar" };
457
558
  const _hoisted_4 = { class: "p-button-label" };
458
559
  const _hoisted_5 = {
459
- key: 1,
460
- class: "p-fileupload-files"
461
- };
462
- const _hoisted_6 = ["alt", "src", "width"];
463
- const _hoisted_7 = { class: "p-fileupload-filename" };
464
- const _hoisted_8 = {
465
- key: 2,
560
+ key: 0,
466
561
  class: "p-fileupload-empty"
467
562
  };
468
- const _hoisted_9 = {
563
+ const _hoisted_6 = {
469
564
  key: 1,
470
565
  class: "p-fileupload p-fileupload-basic p-component"
471
566
  };
472
- const _hoisted_10 = { class: "p-button-label" };
473
- const _hoisted_11 = ["accept", "disabled", "multiple"];
567
+ const _hoisted_7 = { class: "p-button-label" };
568
+ const _hoisted_8 = ["accept", "disabled", "multiple"];
474
569
 
475
570
  function render(_ctx, _cache, $props, $setup, $data, $options) {
476
571
  const _component_FileUploadButton = vue.resolveComponent("FileUploadButton");
477
572
  const _component_FileUploadProgressBar = vue.resolveComponent("FileUploadProgressBar");
478
573
  const _component_FileUploadMessage = vue.resolveComponent("FileUploadMessage");
574
+ const _component_FileContent = vue.resolveComponent("FileContent");
479
575
  const _directive_ripple = vue.resolveDirective("ripple");
480
576
 
481
577
  return ($options.isAdvanced)
482
578
  ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1, [
483
- vue.createElementVNode("div", _hoisted_2, [
484
- vue.withDirectives((vue.openBlock(), vue.createElementBlock("span", {
485
- class: vue.normalizeClass($options.advancedChooseButtonClass),
486
- style: vue.normalizeStyle($props.style),
487
- onClick: _cache[1] || (_cache[1] = (...args) => ($options.choose && $options.choose(...args))),
488
- onKeydown: _cache[2] || (_cache[2] = vue.withKeys((...args) => ($options.choose && $options.choose(...args)), ["enter"])),
489
- onFocus: _cache[3] || (_cache[3] = (...args) => ($options.onFocus && $options.onFocus(...args))),
490
- onBlur: _cache[4] || (_cache[4] = (...args) => ($options.onBlur && $options.onBlur(...args))),
491
- tabindex: "0"
492
- }, [
493
- vue.createElementVNode("input", {
494
- ref: "fileInput",
495
- type: "file",
496
- onChange: _cache[0] || (_cache[0] = (...args) => ($options.onFileSelect && $options.onFileSelect(...args))),
497
- multiple: $props.multiple,
498
- accept: $props.accept,
499
- disabled: $options.chooseDisabled
500
- }, null, 40, _hoisted_3),
501
- vue.createElementVNode("span", {
502
- class: vue.normalizeClass($options.advancedChooseIconClass)
503
- }, null, 2),
504
- vue.createElementVNode("span", _hoisted_4, vue.toDisplayString($options.chooseButtonLabel), 1)
505
- ], 38)), [
506
- [_directive_ripple]
507
- ]),
508
- ($props.showUploadButton)
509
- ? (vue.openBlock(), vue.createBlock(_component_FileUploadButton, {
510
- key: 0,
511
- label: $options.uploadButtonLabel,
512
- icon: $props.uploadIcon,
513
- onClick: $options.upload,
514
- disabled: $options.uploadDisabled
515
- }, null, 8, ["label", "icon", "onClick", "disabled"]))
516
- : vue.createCommentVNode("", true),
517
- ($props.showCancelButton)
518
- ? (vue.openBlock(), vue.createBlock(_component_FileUploadButton, {
519
- key: 1,
520
- label: $options.cancelButtonLabel,
521
- icon: $props.cancelIcon,
522
- onClick: $options.clear,
523
- disabled: $options.cancelDisabled
524
- }, null, 8, ["label", "icon", "onClick", "disabled"]))
525
- : vue.createCommentVNode("", true)
579
+ vue.createElementVNode("input", {
580
+ ref: "fileInput",
581
+ type: "file",
582
+ onChange: _cache[0] || (_cache[0] = (...args) => ($options.onFileSelect && $options.onFileSelect(...args))),
583
+ multiple: $props.multiple,
584
+ accept: $props.accept,
585
+ disabled: $options.chooseDisabled
586
+ }, null, 40, _hoisted_2),
587
+ vue.createElementVNode("div", _hoisted_3, [
588
+ vue.renderSlot(_ctx.$slots, "header", {
589
+ files: $data.files,
590
+ uploadedFiles: $data.uploadedFiles,
591
+ chooseCallback: $options.choose,
592
+ uploadCallback: $options.upload,
593
+ clearCallback: $options.clear
594
+ }, () => [
595
+ vue.withDirectives((vue.openBlock(), vue.createElementBlock("span", {
596
+ class: vue.normalizeClass($options.advancedChooseButtonClass),
597
+ style: vue.normalizeStyle($props.style),
598
+ onClick: _cache[1] || (_cache[1] = (...args) => ($options.choose && $options.choose(...args))),
599
+ onKeydown: _cache[2] || (_cache[2] = vue.withKeys((...args) => ($options.choose && $options.choose(...args)), ["enter"])),
600
+ onFocus: _cache[3] || (_cache[3] = (...args) => ($options.onFocus && $options.onFocus(...args))),
601
+ onBlur: _cache[4] || (_cache[4] = (...args) => ($options.onBlur && $options.onBlur(...args))),
602
+ tabindex: "0"
603
+ }, [
604
+ vue.createElementVNode("span", {
605
+ class: vue.normalizeClass($options.advancedChooseIconClass)
606
+ }, null, 2),
607
+ vue.createElementVNode("span", _hoisted_4, vue.toDisplayString($options.chooseButtonLabel), 1)
608
+ ], 38)), [
609
+ [_directive_ripple]
610
+ ]),
611
+ ($props.showUploadButton)
612
+ ? (vue.openBlock(), vue.createBlock(_component_FileUploadButton, {
613
+ key: 0,
614
+ label: $options.uploadButtonLabel,
615
+ icon: $props.uploadIcon,
616
+ onClick: $options.upload,
617
+ disabled: $options.uploadDisabled
618
+ }, null, 8, ["label", "icon", "onClick", "disabled"]))
619
+ : vue.createCommentVNode("", true),
620
+ ($props.showCancelButton)
621
+ ? (vue.openBlock(), vue.createBlock(_component_FileUploadButton, {
622
+ key: 1,
623
+ label: $options.cancelButtonLabel,
624
+ icon: $props.cancelIcon,
625
+ onClick: $options.clear,
626
+ disabled: $options.cancelDisabled
627
+ }, null, 8, ["label", "icon", "onClick", "disabled"]))
628
+ : vue.createCommentVNode("", true)
629
+ ])
526
630
  ]),
527
631
  vue.createElementVNode("div", {
528
632
  ref: "content",
@@ -532,64 +636,59 @@ this.primevue.fileupload = (function (Button, ProgressBar, Message, utils, Rippl
532
636
  onDragleave: _cache[7] || (_cache[7] = (...args) => ($options.onDragLeave && $options.onDragLeave(...args))),
533
637
  onDrop: _cache[8] || (_cache[8] = (...args) => ($options.onDrop && $options.onDrop(...args)))
534
638
  }, [
535
- ($options.hasFiles)
536
- ? (vue.openBlock(), vue.createBlock(_component_FileUploadProgressBar, {
537
- key: 0,
538
- value: $data.progress
539
- }, null, 8, ["value"]))
540
- : vue.createCommentVNode("", true),
541
- (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList($data.messages, (msg) => {
542
- return (vue.openBlock(), vue.createBlock(_component_FileUploadMessage, {
543
- key: msg,
544
- severity: "error",
545
- onClose: $options.onMessageClose
546
- }, {
547
- default: vue.withCtx(() => [
548
- vue.createTextVNode(vue.toDisplayString(msg), 1)
549
- ]),
550
- _: 2
551
- }, 1032, ["onClose"]))
552
- }), 128)),
553
- ($options.hasFiles)
639
+ vue.renderSlot(_ctx.$slots, "content", {
640
+ files: $data.files,
641
+ uploadedFiles: $data.uploadedFiles,
642
+ removeUploadedFileCallback: $options.removeUploadedFile,
643
+ removeFileCallback: $options.remove,
644
+ progress: $data.progress,
645
+ messages: $data.messages
646
+ }, () => [
647
+ ($options.hasFiles)
648
+ ? (vue.openBlock(), vue.createBlock(_component_FileUploadProgressBar, {
649
+ key: 0,
650
+ value: $data.progress,
651
+ showValue: false
652
+ }, null, 8, ["value"]))
653
+ : vue.createCommentVNode("", true),
654
+ (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList($data.messages, (msg) => {
655
+ return (vue.openBlock(), vue.createBlock(_component_FileUploadMessage, {
656
+ key: msg,
657
+ severity: "error",
658
+ onClose: $options.onMessageClose
659
+ }, {
660
+ default: vue.withCtx(() => [
661
+ vue.createTextVNode(vue.toDisplayString(msg), 1)
662
+ ]),
663
+ _: 2
664
+ }, 1032, ["onClose"]))
665
+ }), 128)),
666
+ ($options.hasFiles)
667
+ ? (vue.openBlock(), vue.createBlock(_component_FileContent, {
668
+ key: 1,
669
+ files: $data.files,
670
+ onRemove: $options.remove,
671
+ badgeValue: $options.pendingLabel,
672
+ previewWidth: $props.previewWidth
673
+ }, null, 8, ["files", "onRemove", "badgeValue", "previewWidth"]))
674
+ : vue.createCommentVNode("", true),
675
+ vue.createVNode(_component_FileContent, {
676
+ files: $data.uploadedFiles,
677
+ onRemove: $options.removeUploadedFile,
678
+ badgeValue: $options.completedLabel,
679
+ badgeSeverity: "success",
680
+ previewWidth: $props.previewWidth
681
+ }, null, 8, ["files", "onRemove", "badgeValue", "previewWidth"])
682
+ ]),
683
+ (_ctx.$slots.empty && !$options.hasFiles && !$options.hasUploadedFiles)
554
684
  ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_5, [
555
- (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList($data.files, (file, index) => {
556
- return (vue.openBlock(), vue.createElementBlock("div", {
557
- key: file.name + file.type + file.size,
558
- class: "p-fileupload-row"
559
- }, [
560
- vue.createElementVNode("div", null, [
561
- ($options.isImage(file))
562
- ? (vue.openBlock(), vue.createElementBlock("img", {
563
- key: 0,
564
- role: "presentation",
565
- alt: file.name,
566
- src: file.objectURL,
567
- width: $props.previewWidth
568
- }, null, 8, _hoisted_6))
569
- : vue.createCommentVNode("", true)
570
- ]),
571
- vue.createElementVNode("div", _hoisted_7, vue.toDisplayString(file.name), 1),
572
- vue.createElementVNode("div", null, vue.toDisplayString($options.formatSize(file.size)), 1),
573
- vue.createElementVNode("div", null, [
574
- vue.createVNode(_component_FileUploadButton, {
575
- type: "button",
576
- icon: "pi pi-times",
577
- onClick: $event => ($options.remove(index))
578
- }, null, 8, ["onClick"])
579
- ])
580
- ]))
581
- }), 128))
582
- ]))
583
- : vue.createCommentVNode("", true),
584
- (_ctx.$slots.empty && !$options.hasFiles)
585
- ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_8, [
586
685
  vue.renderSlot(_ctx.$slots, "empty")
587
686
  ]))
588
687
  : vue.createCommentVNode("", true)
589
688
  ], 544)
590
689
  ]))
591
690
  : ($options.isBasic)
592
- ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_9, [
691
+ ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_6, [
593
692
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList($data.messages, (msg) => {
594
693
  return (vue.openBlock(), vue.createBlock(_component_FileUploadMessage, {
595
694
  key: msg,
@@ -614,7 +713,7 @@ this.primevue.fileupload = (function (Button, ProgressBar, Message, utils, Rippl
614
713
  vue.createElementVNode("span", {
615
714
  class: vue.normalizeClass($options.basicChooseButtonIconClass)
616
715
  }, null, 2),
617
- vue.createElementVNode("span", _hoisted_10, vue.toDisplayString($options.basicChooseButtonLabel), 1),
716
+ vue.createElementVNode("span", _hoisted_7, vue.toDisplayString($options.basicChooseButtonLabel), 1),
618
717
  (!$options.hasFiles)
619
718
  ? (vue.openBlock(), vue.createElementBlock("input", {
620
719
  key: 0,
@@ -626,7 +725,7 @@ this.primevue.fileupload = (function (Button, ProgressBar, Message, utils, Rippl
626
725
  onChange: _cache[9] || (_cache[9] = (...args) => ($options.onFileSelect && $options.onFileSelect(...args))),
627
726
  onFocus: _cache[10] || (_cache[10] = (...args) => ($options.onFocus && $options.onFocus(...args))),
628
727
  onBlur: _cache[11] || (_cache[11] = (...args) => ($options.onBlur && $options.onBlur(...args)))
629
- }, null, 40, _hoisted_11))
728
+ }, null, 40, _hoisted_8))
630
729
  : vue.createCommentVNode("", true)
631
730
  ], 38)), [
632
731
  [_directive_ripple]
@@ -662,11 +761,11 @@ this.primevue.fileupload = (function (Button, ProgressBar, Message, utils, Rippl
662
761
  }
663
762
  }
664
763
 
665
- var css_248z = "\n.p-fileupload-content {\n position: relative;\n}\n.p-fileupload-row {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n}\n.p-fileupload-row > div {\n -webkit-box-flex: 1;\n -ms-flex: 1 1 auto;\n flex: 1 1 auto;\n width: 25%;\n}\n.p-fileupload-row > div:last-child {\n text-align: right;\n}\n.p-fileupload-content .p-progressbar {\n width: 100%;\n position: absolute;\n top: 0;\n left: 0;\n}\n.p-button.p-fileupload-choose {\n position: relative;\n overflow: hidden;\n}\n.p-button.p-fileupload-choose input[type='file'] {\n display: none;\n}\n.p-fileupload-choose.p-fileupload-choose-selected input[type='file'] {\n display: none;\n}\n.p-fileupload-filename {\n word-break: break-all;\n}\n.p-fluid .p-fileupload .p-button {\n width: auto;\n}\n";
764
+ var css_248z = "\n.p-fileupload-content {\n position: relative;\n}\n.p-fileupload-content .p-progressbar {\n width: 100%;\n position: absolute;\n top: 0;\n left: 0;\n}\n.p-button.p-fileupload-choose {\n position: relative;\n overflow: hidden;\n}\n.p-fileupload-buttonbar {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -ms-flex-wrap: wrap;\n flex-wrap: wrap;\n}\n.p-fileupload > input[type='file'],\n.p-fileupload-basic input[type='file'] {\n display: none;\n}\n.p-fluid .p-fileupload .p-button {\n width: auto;\n}\n.p-fileupload-file {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -ms-flex-wrap: wrap;\n flex-wrap: wrap;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n}\n.p-fileupload-file-thumbnail {\n -ms-flex-negative: 0;\n flex-shrink: 0;\n}\n.p-fileupload-file-actions {\n margin-left: auto;\n}\n";
666
765
  styleInject(css_248z);
667
766
 
668
767
  script.render = render;
669
768
 
670
769
  return script;
671
770
 
672
- })(primevue.button, primevue.progressbar, primevue.message, primevue.utils, primevue.ripple, Vue);
771
+ })(primevue.button, primevue.message, primevue.progressbar, primevue.ripple, primevue.utils, Vue);
@@ -1 +1 @@
1
- this.primevue=this.primevue||{},this.primevue.fileupload=function(e,t,l,i,s,o){"use strict";function a(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var n=a(e),r=a(t),p=a(l),d=a(s),c={name:"FileUpload",emits:["select","uploader","before-upload","progress","upload","error","before-send","clear","remove"],props:{name:{type:String,default:null},url:{type:String,default:null},mode:{type:String,default:"advanced"},multiple:{type:Boolean,default:!1},accept:{type:String,default:null},disabled:{type:Boolean,default:!1},auto:{type:Boolean,default:!1},maxFileSize:{type:Number,default:null},invalidFileSizeMessage:{type:String,default:"{0}: Invalid file size, file size should be smaller than {1}."},invalidFileTypeMessage:{type:String,default:"{0}: Invalid file type, allowed file types: {1}."},fileLimit:{type:Number,default:null},invalidFileLimitMessage:{type:String,default:"Maximum number of files exceeded, limit is {0} at most."},withCredentials:{type:Boolean,default:!1},previewWidth:{type:Number,default:50},chooseLabel:{type:String,default:null},uploadLabel:{type:String,default:null},cancelLabel:{type:String,default:null},customUpload:{type:Boolean,default:!1},showUploadButton:{type:Boolean,default:!0},showCancelButton:{type:Boolean,default:!0},chooseIcon:{type:String,default:"pi pi-plus"},uploadIcon:{type:String,default:"pi pi-upload"},cancelIcon:{type:String,default:"pi pi-times"},style:null,class:null},duplicateIEEvent:!1,data:()=>({uploadedFileCount:0,files:[],messages:[],focused:!1,progress:null}),methods:{onFileSelect(e){if("drop"!==e.type&&this.isIE11()&&this.duplicateIEEvent)return void(this.duplicateIEEvent=!1);this.messages=[],this.files=this.files||[];let t=e.dataTransfer?e.dataTransfer.files:e.target.files;for(let e of t)this.isFileSelected(e)||this.validate(e)&&(this.isImage(e)&&(e.objectURL=window.URL.createObjectURL(e)),this.files.push(e));this.$emit("select",{originalEvent:e,files:this.files}),this.fileLimit&&this.checkFileLimit(),this.auto&&this.hasFiles&&!this.isFileLimitExceeded()&&this.upload(),"drop"!==e.type&&this.isIE11()?this.clearIEInput():this.clearInputElement()},choose(){this.$refs.fileInput.click()},upload(){if(this.customUpload)this.fileLimit&&(this.uploadedFileCount+=this.files.length),this.$emit("uploader",{files:this.files}),this.clear();else{let e=new XMLHttpRequest,t=new FormData;this.$emit("before-upload",{xhr:e,formData:t});for(let e of this.files)t.append(this.name,e,e.name);e.upload.addEventListener("progress",(e=>{e.lengthComputable&&(this.progress=Math.round(100*e.loaded/e.total)),this.$emit("progress",{originalEvent:e,progress:this.progress})})),e.onreadystatechange=()=>{4===e.readyState&&(this.progress=0,e.status>=200&&e.status<300?(this.fileLimit&&(this.uploadedFileCount+=this.files.length),this.$emit("upload",{xhr:e,files:this.files})):this.$emit("error",{xhr:e,files:this.files}),this.clear())},e.open("POST",this.url,!0),this.$emit("before-send",{xhr:e,formData:t}),e.withCredentials=this.withCredentials,e.send(t)}},clear(){this.files=[],this.messages=null,this.$emit("clear"),this.isAdvanced&&this.clearInputElement()},onFocus(){this.focused=!0},onBlur(){this.focused=!1},isFileSelected(e){if(this.files&&this.files.length)for(let t of this.files)if(t.name+t.type+t.size===e.name+e.type+e.size)return!0;return!1},isIE11:()=>!!window.MSInputMethodContext&&!!document.documentMode,validate(e){return this.accept&&!this.isFileTypeValid(e)?(this.messages.push(this.invalidFileTypeMessage.replace("{0}",e.name).replace("{1}",this.accept)),!1):!(this.maxFileSize&&e.size>this.maxFileSize)||(this.messages.push(this.invalidFileSizeMessage.replace("{0}",e.name).replace("{1}",this.formatSize(this.maxFileSize))),!1)},isFileTypeValid(e){let t=this.accept.split(",").map((e=>e.trim()));for(let l of t){if(this.isWildcard(l)?this.getTypeClass(e.type)===this.getTypeClass(l):e.type==l||this.getFileExtension(e).toLowerCase()===l.toLowerCase())return!0}return!1},getTypeClass:e=>e.substring(0,e.indexOf("/")),isWildcard:e=>-1!==e.indexOf("*"),getFileExtension:e=>"."+e.name.split(".").pop(),isImage:e=>/^image\//.test(e.type),onDragEnter(e){this.disabled||(e.stopPropagation(),e.preventDefault())},onDragOver(e){this.disabled||(i.DomHandler.addClass(this.$refs.content,"p-fileupload-highlight"),e.stopPropagation(),e.preventDefault())},onDragLeave(){this.disabled||i.DomHandler.removeClass(this.$refs.content,"p-fileupload-highlight")},onDrop(e){if(!this.disabled){i.DomHandler.removeClass(this.$refs.content,"p-fileupload-highlight"),e.stopPropagation(),e.preventDefault();const t=e.dataTransfer?e.dataTransfer.files:e.target.files;(this.multiple||t&&1===t.length)&&this.onFileSelect(e)}},onBasicUploaderClick(){this.hasFiles?this.upload():this.$refs.fileInput.click()},remove(e){this.clearInputElement();let t=this.files.splice(e,1)[0];this.files=[...this.files],this.$emit("remove",{file:t,files:this.files})},clearInputElement(){this.$refs.fileInput.value=""},clearIEInput(){this.$refs.fileInput&&(this.duplicateIEEvent=!0,this.$refs.fileInput.value="")},formatSize(e){if(0===e)return"0 B";let t=Math.floor(Math.log(e)/Math.log(1e3));return parseFloat((e/Math.pow(1e3,t)).toFixed(3))+" "+["B","KB","MB","GB","TB","PB","EB","ZB","YB"][t]},isFileLimitExceeded(){return this.fileLimit&&this.fileLimit<=this.files.length+this.uploadedFileCount&&this.focused&&(this.focused=!1),this.fileLimit&&this.fileLimit<this.files.length+this.uploadedFileCount},checkFileLimit(){this.isFileLimitExceeded()&&this.messages.push(this.invalidFileLimitMessage.replace("{0}",this.fileLimit.toString()))},onMessageClose(){this.messages=null}},computed:{isAdvanced(){return"advanced"===this.mode},isBasic(){return"basic"===this.mode},advancedChooseButtonClass(){return["p-button p-component p-fileupload-choose",this.class,{"p-disabled":this.disabled,"p-focus":this.focused}]},basicChooseButtonClass(){return["p-button p-component p-fileupload-choose",this.class,{"p-fileupload-choose-selected":this.hasFiles,"p-disabled":this.disabled,"p-focus":this.focused}]},advancedChooseIconClass(){return["p-button-icon p-button-icon-left pi-fw",this.chooseIcon]},basicChooseButtonIconClass(){return["p-button-icon p-button-icon-left",!this.hasFiles||this.auto?this.uploadIcon:this.chooseIcon]},basicChooseButtonLabel(){return this.auto?this.chooseButtonLabel:this.hasFiles?this.files.map((e=>e.name)).join(", "):this.chooseButtonLabel},hasFiles(){return this.files&&this.files.length>0},chooseDisabled(){return this.disabled||this.fileLimit&&this.fileLimit<=this.files.length+this.uploadedFileCount},uploadDisabled(){return this.disabled||!this.hasFiles||this.fileLimit&&this.fileLimit<this.files.length},cancelDisabled(){return this.disabled||!this.hasFiles},chooseButtonLabel(){return this.chooseLabel||this.$primevue.config.locale.choose},uploadButtonLabel(){return this.uploadLabel||this.$primevue.config.locale.upload},cancelButtonLabel(){return this.cancelLabel||this.$primevue.config.locale.cancel}},components:{FileUploadButton:n.default,FileUploadProgressBar:r.default,FileUploadMessage:p.default},directives:{ripple:d.default}};const u={key:0,class:"p-fileupload p-fileupload-advanced p-component"},h={class:"p-fileupload-buttonbar"},f=["multiple","accept","disabled"],m={class:"p-button-label"},g={key:1,class:"p-fileupload-files"},b=["alt","src","width"],y={class:"p-fileupload-filename"},v={key:2,class:"p-fileupload-empty"},B={key:1,class:"p-fileupload p-fileupload-basic p-component"},C={class:"p-button-label"},F=["accept","disabled","multiple"];return function(e,t){void 0===t&&(t={});var l=t.insertAt;if(e&&"undefined"!=typeof document){var i=document.head||document.getElementsByTagName("head")[0],s=document.createElement("style");s.type="text/css","top"===l&&i.firstChild?i.insertBefore(s,i.firstChild):i.appendChild(s),s.styleSheet?s.styleSheet.cssText=e:s.appendChild(document.createTextNode(e))}}("\n.p-fileupload-content {\n position: relative;\n}\n.p-fileupload-row {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n}\n.p-fileupload-row > div {\n -webkit-box-flex: 1;\n -ms-flex: 1 1 auto;\n flex: 1 1 auto;\n width: 25%;\n}\n.p-fileupload-row > div:last-child {\n text-align: right;\n}\n.p-fileupload-content .p-progressbar {\n width: 100%;\n position: absolute;\n top: 0;\n left: 0;\n}\n.p-button.p-fileupload-choose {\n position: relative;\n overflow: hidden;\n}\n.p-button.p-fileupload-choose input[type='file'] {\n display: none;\n}\n.p-fileupload-choose.p-fileupload-choose-selected input[type='file'] {\n display: none;\n}\n.p-fileupload-filename {\n word-break: break-all;\n}\n.p-fluid .p-fileupload .p-button {\n width: auto;\n}\n"),c.render=function(e,t,l,i,s,a){const n=o.resolveComponent("FileUploadButton"),r=o.resolveComponent("FileUploadProgressBar"),p=o.resolveComponent("FileUploadMessage"),d=o.resolveDirective("ripple");return a.isAdvanced?(o.openBlock(),o.createElementBlock("div",u,[o.createElementVNode("div",h,[o.withDirectives((o.openBlock(),o.createElementBlock("span",{class:o.normalizeClass(a.advancedChooseButtonClass),style:o.normalizeStyle(l.style),onClick:t[1]||(t[1]=(...e)=>a.choose&&a.choose(...e)),onKeydown:t[2]||(t[2]=o.withKeys(((...e)=>a.choose&&a.choose(...e)),["enter"])),onFocus:t[3]||(t[3]=(...e)=>a.onFocus&&a.onFocus(...e)),onBlur:t[4]||(t[4]=(...e)=>a.onBlur&&a.onBlur(...e)),tabindex:"0"},[o.createElementVNode("input",{ref:"fileInput",type:"file",onChange:t[0]||(t[0]=(...e)=>a.onFileSelect&&a.onFileSelect(...e)),multiple:l.multiple,accept:l.accept,disabled:a.chooseDisabled},null,40,f),o.createElementVNode("span",{class:o.normalizeClass(a.advancedChooseIconClass)},null,2),o.createElementVNode("span",m,o.toDisplayString(a.chooseButtonLabel),1)],38)),[[d]]),l.showUploadButton?(o.openBlock(),o.createBlock(n,{key:0,label:a.uploadButtonLabel,icon:l.uploadIcon,onClick:a.upload,disabled:a.uploadDisabled},null,8,["label","icon","onClick","disabled"])):o.createCommentVNode("",!0),l.showCancelButton?(o.openBlock(),o.createBlock(n,{key:1,label:a.cancelButtonLabel,icon:l.cancelIcon,onClick:a.clear,disabled:a.cancelDisabled},null,8,["label","icon","onClick","disabled"])):o.createCommentVNode("",!0)]),o.createElementVNode("div",{ref:"content",class:"p-fileupload-content",onDragenter:t[5]||(t[5]=(...e)=>a.onDragEnter&&a.onDragEnter(...e)),onDragover:t[6]||(t[6]=(...e)=>a.onDragOver&&a.onDragOver(...e)),onDragleave:t[7]||(t[7]=(...e)=>a.onDragLeave&&a.onDragLeave(...e)),onDrop:t[8]||(t[8]=(...e)=>a.onDrop&&a.onDrop(...e))},[a.hasFiles?(o.openBlock(),o.createBlock(r,{key:0,value:s.progress},null,8,["value"])):o.createCommentVNode("",!0),(o.openBlock(!0),o.createElementBlock(o.Fragment,null,o.renderList(s.messages,(e=>(o.openBlock(),o.createBlock(p,{key:e,severity:"error",onClose:a.onMessageClose},{default:o.withCtx((()=>[o.createTextVNode(o.toDisplayString(e),1)])),_:2},1032,["onClose"])))),128)),a.hasFiles?(o.openBlock(),o.createElementBlock("div",g,[(o.openBlock(!0),o.createElementBlock(o.Fragment,null,o.renderList(s.files,((e,t)=>(o.openBlock(),o.createElementBlock("div",{key:e.name+e.type+e.size,class:"p-fileupload-row"},[o.createElementVNode("div",null,[a.isImage(e)?(o.openBlock(),o.createElementBlock("img",{key:0,role:"presentation",alt:e.name,src:e.objectURL,width:l.previewWidth},null,8,b)):o.createCommentVNode("",!0)]),o.createElementVNode("div",y,o.toDisplayString(e.name),1),o.createElementVNode("div",null,o.toDisplayString(a.formatSize(e.size)),1),o.createElementVNode("div",null,[o.createVNode(n,{type:"button",icon:"pi pi-times",onClick:e=>a.remove(t)},null,8,["onClick"])])])))),128))])):o.createCommentVNode("",!0),e.$slots.empty&&!a.hasFiles?(o.openBlock(),o.createElementBlock("div",v,[o.renderSlot(e.$slots,"empty")])):o.createCommentVNode("",!0)],544)])):a.isBasic?(o.openBlock(),o.createElementBlock("div",B,[(o.openBlock(!0),o.createElementBlock(o.Fragment,null,o.renderList(s.messages,(e=>(o.openBlock(),o.createBlock(p,{key:e,severity:"error",onClose:a.onMessageClose},{default:o.withCtx((()=>[o.createTextVNode(o.toDisplayString(e),1)])),_:2},1032,["onClose"])))),128)),o.withDirectives((o.openBlock(),o.createElementBlock("span",{class:o.normalizeClass(a.basicChooseButtonClass),style:o.normalizeStyle(l.style),onMouseup:t[12]||(t[12]=(...e)=>a.onBasicUploaderClick&&a.onBasicUploaderClick(...e)),onKeydown:t[13]||(t[13]=o.withKeys(((...e)=>a.choose&&a.choose(...e)),["enter"])),onFocus:t[14]||(t[14]=(...e)=>a.onFocus&&a.onFocus(...e)),onBlur:t[15]||(t[15]=(...e)=>a.onBlur&&a.onBlur(...e)),tabindex:"0"},[o.createElementVNode("span",{class:o.normalizeClass(a.basicChooseButtonIconClass)},null,2),o.createElementVNode("span",C,o.toDisplayString(a.basicChooseButtonLabel),1),a.hasFiles?o.createCommentVNode("",!0):(o.openBlock(),o.createElementBlock("input",{key:0,ref:"fileInput",type:"file",accept:l.accept,disabled:l.disabled,multiple:l.multiple,onChange:t[9]||(t[9]=(...e)=>a.onFileSelect&&a.onFileSelect(...e)),onFocus:t[10]||(t[10]=(...e)=>a.onFocus&&a.onFocus(...e)),onBlur:t[11]||(t[11]=(...e)=>a.onBlur&&a.onBlur(...e))},null,40,F))],38)),[[d]])])):o.createCommentVNode("",!0)},c}(primevue.button,primevue.progressbar,primevue.message,primevue.utils,primevue.ripple,Vue);
1
+ this.primevue=this.primevue||{},this.primevue.fileupload=function(e,t,l,i,s,o){"use strict";function a(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var n=a(e),r=a(t),d=a(l),p=a(i),c={emits:["remove"],props:{files:{type:Array,default:()=>[]},badgeSeverity:{type:String,default:"warning"},badgeValue:{type:String,default:null},previewWidth:{type:Number,default:50}},methods:{formatSize(e){if(0===e)return"0 B";let t=Math.floor(Math.log(e)/Math.log(1e3));return parseFloat((e/Math.pow(1e3,t)).toFixed(3))+" "+["B","KB","MB","GB","TB","PB","EB","ZB","YB"][t]}}};const u=["alt","src","width"],h={class:"p-fileupload-file-details"},f={class:"p-fileupload-file-name"},m={class:"p-fileupload-file-size"},g={class:"p-fileupload-file-actions"};c.render=function(e,t,l,i,s,a){const n=o.resolveComponent("Badge"),r=o.resolveComponent("Button");return o.openBlock(!0),o.createElementBlock(o.Fragment,null,o.renderList(l.files,((t,i)=>(o.openBlock(),o.createElementBlock("div",{key:t.name+t.type+t.size,class:"p-fileupload-file"},[o.createElementVNode("img",{role:"presentation",class:"p-fileupload-file-thumbnail",alt:t.name,src:t.objectURL,width:l.previewWidth},null,8,u),o.createElementVNode("div",h,[o.createElementVNode("div",f,o.toDisplayString(t.name),1),o.createElementVNode("span",m,o.toDisplayString(a.formatSize(t.size)),1),o.createVNode(n,{value:l.badgeValue,class:"p-fileupload-file-badge",severity:l.badgeSeverity},null,8,["value","severity"])]),o.createElementVNode("div",g,[o.createVNode(r,{icon:"pi pi-times",onClick:t=>e.$emit("remove",i),class:"p-fileupload-file-remove p-button-text p-button-danger p-button-rounded"},null,8,["onClick"])])])))),128)};var b={name:"FileUpload",emits:["select","uploader","before-upload","progress","upload","error","before-send","clear","remove","removeUploadedFile"],props:{name:{type:String,default:null},url:{type:String,default:null},mode:{type:String,default:"advanced"},multiple:{type:Boolean,default:!1},accept:{type:String,default:null},disabled:{type:Boolean,default:!1},auto:{type:Boolean,default:!1},maxFileSize:{type:Number,default:null},invalidFileSizeMessage:{type:String,default:"{0}: Invalid file size, file size should be smaller than {1}."},invalidFileTypeMessage:{type:String,default:"{0}: Invalid file type, allowed file types: {1}."},fileLimit:{type:Number,default:null},invalidFileLimitMessage:{type:String,default:"Maximum number of files exceeded, limit is {0} at most."},withCredentials:{type:Boolean,default:!1},previewWidth:{type:Number,default:50},chooseLabel:{type:String,default:null},uploadLabel:{type:String,default:null},cancelLabel:{type:String,default:null},customUpload:{type:Boolean,default:!1},showUploadButton:{type:Boolean,default:!0},showCancelButton:{type:Boolean,default:!0},chooseIcon:{type:String,default:"pi pi-plus"},uploadIcon:{type:String,default:"pi pi-upload"},cancelIcon:{type:String,default:"pi pi-times"},style:null,class:null},duplicateIEEvent:!1,data:()=>({uploadedFileCount:0,files:[],messages:[],focused:!1,progress:null,uploadedFiles:[]}),methods:{onFileSelect(e){if("drop"!==e.type&&this.isIE11()&&this.duplicateIEEvent)return void(this.duplicateIEEvent=!1);this.messages=[],this.files=this.files||[];let t=e.dataTransfer?e.dataTransfer.files:e.target.files;for(let e of t)this.isFileSelected(e)||this.validate(e)&&(this.isImage(e)&&(e.objectURL=window.URL.createObjectURL(e)),this.files.push(e));this.$emit("select",{originalEvent:e,files:this.files}),this.fileLimit&&this.checkFileLimit(),this.auto&&this.hasFiles&&!this.isFileLimitExceeded()&&this.upload(),"drop"!==e.type&&this.isIE11()?this.clearIEInput():this.clearInputElement()},choose(){this.$refs.fileInput.click()},upload(){if(this.customUpload)this.fileLimit&&(this.uploadedFileCount+=this.files.length),this.$emit("uploader",{files:this.files}),this.clear();else{let e=new XMLHttpRequest,t=new FormData;this.$emit("before-upload",{xhr:e,formData:t});for(let e of this.files)t.append(this.name,e,e.name);e.upload.addEventListener("progress",(e=>{e.lengthComputable&&(this.progress=Math.round(100*e.loaded/e.total)),this.$emit("progress",{originalEvent:e,progress:this.progress})})),e.onreadystatechange=()=>{4===e.readyState&&(this.progress=0,e.status>=200&&e.status<300?(this.fileLimit&&(this.uploadedFileCount+=this.files.length),this.$emit("upload",{xhr:e,files:this.files})):this.$emit("error",{xhr:e,files:this.files}),this.uploadedFiles.push(...this.files),this.clear())},e.open("POST",this.url,!0),this.$emit("before-send",{xhr:e,formData:t}),e.withCredentials=this.withCredentials,e.send(t)}},clear(){this.files=[],this.messages=null,this.$emit("clear"),this.isAdvanced&&this.clearInputElement()},onFocus(){this.focused=!0},onBlur(){this.focused=!1},isFileSelected(e){if(this.files&&this.files.length)for(let t of this.files)if(t.name+t.type+t.size===e.name+e.type+e.size)return!0;return!1},isIE11:()=>!!window.MSInputMethodContext&&!!document.documentMode,validate(e){return this.accept&&!this.isFileTypeValid(e)?(this.messages.push(this.invalidFileTypeMessage.replace("{0}",e.name).replace("{1}",this.accept)),!1):!(this.maxFileSize&&e.size>this.maxFileSize)||(this.messages.push(this.invalidFileSizeMessage.replace("{0}",e.name).replace("{1}",this.formatSize(this.maxFileSize))),!1)},isFileTypeValid(e){let t=this.accept.split(",").map((e=>e.trim()));for(let l of t){if(this.isWildcard(l)?this.getTypeClass(e.type)===this.getTypeClass(l):e.type==l||this.getFileExtension(e).toLowerCase()===l.toLowerCase())return!0}return!1},getTypeClass:e=>e.substring(0,e.indexOf("/")),isWildcard:e=>-1!==e.indexOf("*"),getFileExtension:e=>"."+e.name.split(".").pop(),isImage:e=>/^image\//.test(e.type),onDragEnter(e){this.disabled||(e.stopPropagation(),e.preventDefault())},onDragOver(e){this.disabled||(s.DomHandler.addClass(this.$refs.content,"p-fileupload-highlight"),e.stopPropagation(),e.preventDefault())},onDragLeave(){this.disabled||s.DomHandler.removeClass(this.$refs.content,"p-fileupload-highlight")},onDrop(e){if(!this.disabled){s.DomHandler.removeClass(this.$refs.content,"p-fileupload-highlight"),e.stopPropagation(),e.preventDefault();const t=e.dataTransfer?e.dataTransfer.files:e.target.files;(this.multiple||t&&1===t.length)&&this.onFileSelect(e)}},onBasicUploaderClick(){this.hasFiles?this.upload():this.$refs.fileInput.click()},remove(e){this.clearInputElement();let t=this.files.splice(e,1)[0];this.files=[...this.files],this.$emit("remove",{file:t,files:this.files})},removeUploadedFile(e){let t=this.uploadedFiles.splice(e,1)[0];this.uploadedFiles=[...this.uploadedFiles],this.$emit("removeUploadedFile",{file:t,files:this.uploadedFiles})},clearInputElement(){this.$refs.fileInput.value=""},clearIEInput(){this.$refs.fileInput&&(this.duplicateIEEvent=!0,this.$refs.fileInput.value="")},formatSize(e){if(0===e)return"0 B";let t=Math.floor(Math.log(e)/Math.log(1e3));return parseFloat((e/Math.pow(1e3,t)).toFixed(3))+" "+["B","KB","MB","GB","TB","PB","EB","ZB","YB"][t]},isFileLimitExceeded(){return this.fileLimit&&this.fileLimit<=this.files.length+this.uploadedFileCount&&this.focused&&(this.focused=!1),this.fileLimit&&this.fileLimit<this.files.length+this.uploadedFileCount},checkFileLimit(){this.isFileLimitExceeded()&&this.messages.push(this.invalidFileLimitMessage.replace("{0}",this.fileLimit.toString()))},onMessageClose(){this.messages=null}},computed:{isAdvanced(){return"advanced"===this.mode},isBasic(){return"basic"===this.mode},advancedChooseButtonClass(){return["p-button p-component p-fileupload-choose",this.class,{"p-disabled":this.disabled,"p-focus":this.focused}]},basicChooseButtonClass(){return["p-button p-component p-fileupload-choose",this.class,{"p-fileupload-choose-selected":this.hasFiles,"p-disabled":this.disabled,"p-focus":this.focused}]},advancedChooseIconClass(){return["p-button-icon p-button-icon-left pi-fw",this.chooseIcon]},basicChooseButtonIconClass(){return["p-button-icon p-button-icon-left",!this.hasFiles||this.auto?this.uploadIcon:this.chooseIcon]},basicChooseButtonLabel(){return this.auto?this.chooseButtonLabel:this.hasFiles?this.files.map((e=>e.name)).join(", "):this.chooseButtonLabel},hasFiles(){return this.files&&this.files.length>0},hasUploadedFiles(){return this.uploadedFiles&&this.uploadedFiles.length>0},chooseDisabled(){return this.disabled||this.fileLimit&&this.fileLimit<=this.files.length+this.uploadedFileCount},uploadDisabled(){return this.disabled||!this.hasFiles||this.fileLimit&&this.fileLimit<this.files.length},cancelDisabled(){return this.disabled||!this.hasFiles},chooseButtonLabel(){return this.chooseLabel||this.$primevue.config.locale.choose},uploadButtonLabel(){return this.uploadLabel||this.$primevue.config.locale.upload},cancelButtonLabel(){return this.cancelLabel||this.$primevue.config.locale.cancel},completedLabel(){return this.$primevue.config.locale.completed},pendingLabel(){return this.$primevue.config.locale.pending}},components:{FileUploadButton:n.default,FileUploadProgressBar:d.default,FileUploadMessage:r.default,FileContent:c},directives:{ripple:p.default}};const v={key:0,class:"p-fileupload p-fileupload-advanced p-component"},y=["multiple","accept","disabled"],B={class:"p-fileupload-buttonbar"},F={class:"p-button-label"},C={key:0,class:"p-fileupload-empty"},k={key:1,class:"p-fileupload p-fileupload-basic p-component"},w={class:"p-button-label"},E=["accept","disabled","multiple"];return function(e,t){void 0===t&&(t={});var l=t.insertAt;if(e&&"undefined"!=typeof document){var i=document.head||document.getElementsByTagName("head")[0],s=document.createElement("style");s.type="text/css","top"===l&&i.firstChild?i.insertBefore(s,i.firstChild):i.appendChild(s),s.styleSheet?s.styleSheet.cssText=e:s.appendChild(document.createTextNode(e))}}("\n.p-fileupload-content {\n position: relative;\n}\n.p-fileupload-content .p-progressbar {\n width: 100%;\n position: absolute;\n top: 0;\n left: 0;\n}\n.p-button.p-fileupload-choose {\n position: relative;\n overflow: hidden;\n}\n.p-fileupload-buttonbar {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -ms-flex-wrap: wrap;\n flex-wrap: wrap;\n}\n.p-fileupload > input[type='file'],\n.p-fileupload-basic input[type='file'] {\n display: none;\n}\n.p-fluid .p-fileupload .p-button {\n width: auto;\n}\n.p-fileupload-file {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -ms-flex-wrap: wrap;\n flex-wrap: wrap;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n}\n.p-fileupload-file-thumbnail {\n -ms-flex-negative: 0;\n flex-shrink: 0;\n}\n.p-fileupload-file-actions {\n margin-left: auto;\n}\n"),b.render=function(e,t,l,i,s,a){const n=o.resolveComponent("FileUploadButton"),r=o.resolveComponent("FileUploadProgressBar"),d=o.resolveComponent("FileUploadMessage"),p=o.resolveComponent("FileContent"),c=o.resolveDirective("ripple");return a.isAdvanced?(o.openBlock(),o.createElementBlock("div",v,[o.createElementVNode("input",{ref:"fileInput",type:"file",onChange:t[0]||(t[0]=(...e)=>a.onFileSelect&&a.onFileSelect(...e)),multiple:l.multiple,accept:l.accept,disabled:a.chooseDisabled},null,40,y),o.createElementVNode("div",B,[o.renderSlot(e.$slots,"header",{files:s.files,uploadedFiles:s.uploadedFiles,chooseCallback:a.choose,uploadCallback:a.upload,clearCallback:a.clear},(()=>[o.withDirectives((o.openBlock(),o.createElementBlock("span",{class:o.normalizeClass(a.advancedChooseButtonClass),style:o.normalizeStyle(l.style),onClick:t[1]||(t[1]=(...e)=>a.choose&&a.choose(...e)),onKeydown:t[2]||(t[2]=o.withKeys(((...e)=>a.choose&&a.choose(...e)),["enter"])),onFocus:t[3]||(t[3]=(...e)=>a.onFocus&&a.onFocus(...e)),onBlur:t[4]||(t[4]=(...e)=>a.onBlur&&a.onBlur(...e)),tabindex:"0"},[o.createElementVNode("span",{class:o.normalizeClass(a.advancedChooseIconClass)},null,2),o.createElementVNode("span",F,o.toDisplayString(a.chooseButtonLabel),1)],38)),[[c]]),l.showUploadButton?(o.openBlock(),o.createBlock(n,{key:0,label:a.uploadButtonLabel,icon:l.uploadIcon,onClick:a.upload,disabled:a.uploadDisabled},null,8,["label","icon","onClick","disabled"])):o.createCommentVNode("",!0),l.showCancelButton?(o.openBlock(),o.createBlock(n,{key:1,label:a.cancelButtonLabel,icon:l.cancelIcon,onClick:a.clear,disabled:a.cancelDisabled},null,8,["label","icon","onClick","disabled"])):o.createCommentVNode("",!0)]))]),o.createElementVNode("div",{ref:"content",class:"p-fileupload-content",onDragenter:t[5]||(t[5]=(...e)=>a.onDragEnter&&a.onDragEnter(...e)),onDragover:t[6]||(t[6]=(...e)=>a.onDragOver&&a.onDragOver(...e)),onDragleave:t[7]||(t[7]=(...e)=>a.onDragLeave&&a.onDragLeave(...e)),onDrop:t[8]||(t[8]=(...e)=>a.onDrop&&a.onDrop(...e))},[o.renderSlot(e.$slots,"content",{files:s.files,uploadedFiles:s.uploadedFiles,removeUploadedFileCallback:a.removeUploadedFile,removeFileCallback:a.remove,progress:s.progress,messages:s.messages},(()=>[a.hasFiles?(o.openBlock(),o.createBlock(r,{key:0,value:s.progress,showValue:!1},null,8,["value"])):o.createCommentVNode("",!0),(o.openBlock(!0),o.createElementBlock(o.Fragment,null,o.renderList(s.messages,(e=>(o.openBlock(),o.createBlock(d,{key:e,severity:"error",onClose:a.onMessageClose},{default:o.withCtx((()=>[o.createTextVNode(o.toDisplayString(e),1)])),_:2},1032,["onClose"])))),128)),a.hasFiles?(o.openBlock(),o.createBlock(p,{key:1,files:s.files,onRemove:a.remove,badgeValue:a.pendingLabel,previewWidth:l.previewWidth},null,8,["files","onRemove","badgeValue","previewWidth"])):o.createCommentVNode("",!0),o.createVNode(p,{files:s.uploadedFiles,onRemove:a.removeUploadedFile,badgeValue:a.completedLabel,badgeSeverity:"success",previewWidth:l.previewWidth},null,8,["files","onRemove","badgeValue","previewWidth"])])),!e.$slots.empty||a.hasFiles||a.hasUploadedFiles?o.createCommentVNode("",!0):(o.openBlock(),o.createElementBlock("div",C,[o.renderSlot(e.$slots,"empty")]))],544)])):a.isBasic?(o.openBlock(),o.createElementBlock("div",k,[(o.openBlock(!0),o.createElementBlock(o.Fragment,null,o.renderList(s.messages,(e=>(o.openBlock(),o.createBlock(d,{key:e,severity:"error",onClose:a.onMessageClose},{default:o.withCtx((()=>[o.createTextVNode(o.toDisplayString(e),1)])),_:2},1032,["onClose"])))),128)),o.withDirectives((o.openBlock(),o.createElementBlock("span",{class:o.normalizeClass(a.basicChooseButtonClass),style:o.normalizeStyle(l.style),onMouseup:t[12]||(t[12]=(...e)=>a.onBasicUploaderClick&&a.onBasicUploaderClick(...e)),onKeydown:t[13]||(t[13]=o.withKeys(((...e)=>a.choose&&a.choose(...e)),["enter"])),onFocus:t[14]||(t[14]=(...e)=>a.onFocus&&a.onFocus(...e)),onBlur:t[15]||(t[15]=(...e)=>a.onBlur&&a.onBlur(...e)),tabindex:"0"},[o.createElementVNode("span",{class:o.normalizeClass(a.basicChooseButtonIconClass)},null,2),o.createElementVNode("span",w,o.toDisplayString(a.basicChooseButtonLabel),1),a.hasFiles?o.createCommentVNode("",!0):(o.openBlock(),o.createElementBlock("input",{key:0,ref:"fileInput",type:"file",accept:l.accept,disabled:l.disabled,multiple:l.multiple,onChange:t[9]||(t[9]=(...e)=>a.onFileSelect&&a.onFileSelect(...e)),onFocus:t[10]||(t[10]=(...e)=>a.onFocus&&a.onFocus(...e)),onBlur:t[11]||(t[11]=(...e)=>a.onBlur&&a.onBlur(...e))},null,40,E))],38)),[[c]])])):o.createCommentVNode("",!0)},b}(primevue.button,primevue.message,primevue.progressbar,primevue.ripple,primevue.utils,Vue);
@@ -33,8 +33,8 @@
33
33
  </template>
34
34
 
35
35
  <script>
36
- import { DomHandler } from 'primevue/utils';
37
36
  import Ripple from 'primevue/ripple';
37
+ import { DomHandler } from 'primevue/utils';
38
38
 
39
39
  export default {
40
40
  name: 'GalleriaThumbnails',
@@ -211,7 +211,7 @@ export default {
211
211
  navForward(e) {
212
212
  this.stopSlideShow();
213
213
 
214
- let nextItemIndex = this.d_activeIndex + 1;
214
+ let nextItemIndex = this.d_activeIndex === this.value.length - 1 ? this.value.length - 1 : this.d_activeIndex + 1;
215
215
 
216
216
  if (nextItemIndex + this.totalShiftedItems > this.getMedianItemIndex() && (-1 * this.totalShiftedItems < this.getTotalPageNumber() - 1 || this.circular)) {
217
217
  this.step(-1);
@@ -421,7 +421,7 @@ var script$3 = {
421
421
  navForward(e) {
422
422
  this.stopSlideShow();
423
423
 
424
- let nextItemIndex = this.d_activeIndex + 1;
424
+ let nextItemIndex = this.d_activeIndex === this.value.length - 1 ? this.value.length - 1 : this.d_activeIndex + 1;
425
425
 
426
426
  if (nextItemIndex + this.totalShiftedItems > this.getMedianItemIndex() && (-1 * this.totalShiftedItems < this.getTotalPageNumber() - 1 || this.circular)) {
427
427
  this.step(-1);