@fewangsit/wangsvue 1.5.219-alpha.0 → 1.5.219-alpha.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (598) hide show
  1. package/animation/index.es.js +54 -37
  2. package/assets/lottiejs/loading-page.es.js +14 -9
  3. package/assets/lottiejs/loading-plane.es.js +2 -2
  4. package/assets/lottiejs/loading-table.es.js +14 -9
  5. package/assets/lottiejs/no-data.es.js +14 -9
  6. package/backgroundimagecropper/index.es.js +61 -37
  7. package/badge/index.es.js +77 -67
  8. package/badgegroup/index.es.js +62 -50
  9. package/basecalendar/index.es.js +1258 -735
  10. package/basetree/index.es.js +213 -113
  11. package/breadcrumb/index.es.js +46 -38
  12. package/button/index.es.js +60 -54
  13. package/buttonbulkaction/index.es.js +168 -117
  14. package/buttoncopy/index.es.js +25 -22
  15. package/buttondownload/index.es.js +125 -76
  16. package/buttonfilter/index.es.js +21 -15
  17. package/buttonradio/index.es.js +91 -67
  18. package/buttonsearch/index.es.js +62 -46
  19. package/buttonselecttree/index.es.js +233 -172
  20. package/buttontoggle/index.es.js +8 -6
  21. package/calendar/index.es.js +113 -58
  22. package/card/index.es.js +44 -42
  23. package/checkbox/index.es.js +105 -74
  24. package/codesnippet/index.es.js +91 -71
  25. package/codesnippetadapter/index.es.js +25 -21
  26. package/columnlist/index.es.js +249 -171
  27. package/components.d.ts +0 -21
  28. package/config/defaultProps.es.js +9 -9
  29. package/config/index.es.js +11 -10
  30. package/config/locale.es.js +2 -2
  31. package/customcolumn/index.es.js +95 -78
  32. package/datatable/index.es.js +1071 -732
  33. package/dialog/index.es.js +54 -54
  34. package/dialogconfirm/index.es.js +90 -75
  35. package/dialogform/index.es.js +170 -133
  36. package/dialogselecttree/index.es.js +242 -194
  37. package/directives/focus.es.js +13 -8
  38. package/dropdown/index.es.js +250 -196
  39. package/editor/index.es.js +694 -498
  40. package/editorbutton/index.es.js +21 -19
  41. package/event-bus/index.es.js +3 -3
  42. package/event-bus/mitt.es.js +37 -20
  43. package/fieldwrapper/index.es.js +30 -25
  44. package/fileupload/index.es.js +230 -140
  45. package/filtercontainer/index.es.js +299 -222
  46. package/form/index.es.js +176 -126
  47. package/gallerypreview/index.es.js +138 -101
  48. package/icon/index.es.js +38 -36
  49. package/image/index.es.js +161 -108
  50. package/imagecompressor/index.es.js +616 -449
  51. package/imageinputinfo/index.es.js +26 -22
  52. package/inlinemessage/index.es.js +77 -65
  53. package/inputbadge/index.es.js +230 -156
  54. package/inputcurrency/index.es.js +146 -109
  55. package/inputemail/index.es.js +18 -16
  56. package/inputgroup/index.es.js +19 -16
  57. package/inputnumber/index.es.js +252 -182
  58. package/inputpassword/index.es.js +120 -94
  59. package/inputphonenumber/index.es.js +1017 -550
  60. package/inputrangenumber/index.es.js +129 -98
  61. package/inputtext/index.es.js +264 -189
  62. package/inputurl/index.es.js +31 -29
  63. package/invisiblefield/index.es.js +24 -16
  64. package/litedropdown/index.es.js +87 -81
  65. package/loading/index.es.js +21 -19
  66. package/loading-page-BXZ4fLOS.js +8 -0
  67. package/loading-page-BuLpsb_1.js +8 -0
  68. package/loading-page-CNqVBg__.js +4 -0
  69. package/loading-page-DbhhZih2.js +4 -0
  70. package/loading-page-DjfWXoOy.js +8 -0
  71. package/loading-page-S-KRY5zm.js +4 -0
  72. package/loading-plane-C1mi7Whv.js +4 -0
  73. package/loading-plane-CWq1hz_l.js +8 -0
  74. package/loading-table-B7LAXzAp.js +4 -0
  75. package/loading-table-BLmgKUsR.js +4 -0
  76. package/loading-table-CG7-cuhv.js +8 -0
  77. package/loading-table-CUPS49ta.js +4 -0
  78. package/loading-table-CuWWrTbv.js +8 -0
  79. package/loading-table-DbBzVwaZ.js +8 -0
  80. package/mentionlist/index.es.js +77 -44
  81. package/mentionsection/index.es.js +53 -43
  82. package/menu/index.es.js +65 -51
  83. package/menuitem/index.es.js +39 -37
  84. package/multirow/index.es.js +29 -28
  85. package/multiselect/index.es.js +184 -152
  86. package/no-data-B781skt3.js +4 -0
  87. package/no-data-CAksOnDl.js +4 -0
  88. package/no-data-DCsjBXQR.js +4 -0
  89. package/no-data-Dz0QOe7Q.js +8 -0
  90. package/no-data-_Huxiv9q.js +8 -0
  91. package/no-data-ybRQontJ.js +8 -0
  92. package/overlaypanel/index.es.js +49 -36
  93. package/package.json +1 -1
  94. package/paginator/index.es.js +36 -33
  95. package/plugins/WangsVue.es.js +63 -45
  96. package/plugins/formValidation.es.js +15 -11
  97. package/progressbar/index.es.js +39 -32
  98. package/quickfilter/index.es.js +94 -81
  99. package/stats.html +1 -1
  100. package/style.css +2 -2
  101. package/tabmenu/index.es.js +18 -16
  102. package/textarea/index.es.js +94 -72
  103. package/timeline/index.es.js +124 -102
  104. package/timelinecontentbytype/index.es.js +114 -92
  105. package/toast/index.es.js +67 -54
  106. package/toggleswitch/index.es.js +83 -66
  107. package/tree/index.es.js +306 -198
  108. package/treenode/index.es.js +464 -339
  109. package/treesearchinput/index.es.js +32 -26
  110. package/usergroup/index.es.js +83 -67
  111. package/username/index.es.js +99 -85
  112. package/utils/addAttachment.util.es.js +47 -21
  113. package/utils/baseToast.util.es.js +41 -33
  114. package/utils/convertJsonImage.util.es.js +24 -24
  115. package/utils/date.util.es.js +131 -106
  116. package/utils/exportToExcel.util.es.js +81 -47
  117. package/utils/filterOptions.util.es.js +8 -2
  118. package/utils/genPlaceholder.util.es.js +30 -16
  119. package/utils/getProjectPermission.util.es.js +15 -12
  120. package/utils/getSalesRole.util.es.js +4 -4
  121. package/utils/getUser.util.es.js +2 -2
  122. package/utils/getUserType.util.es.js +13 -8
  123. package/utils/isIntersect.es.js +4 -2
  124. package/utils/mergePropsWithDefaults.util.es.js +7 -6
  125. package/utils/object.util.es.js +88 -54
  126. package/utils/queryParamsStringfy.util.es.js +19 -11
  127. package/utils/role.util.es.js +5 -4
  128. package/utils/statusSeverity.util.es.js +20 -5
  129. package/utils/textFormatter.util.es.js +28 -50
  130. package/utils/toast.util.es.js +8 -5
  131. package/utils/xlsx.util.es.js +12 -6
  132. package/validatormessage/index.es.js +9 -9
  133. package/vendor/@popperjs/core/lib/createPopper.es.js +110 -83
  134. package/vendor/@popperjs/core/lib/dom-utils/contains.es.js +14 -13
  135. package/vendor/@popperjs/core/lib/dom-utils/getBoundingClientRect.es.js +33 -18
  136. package/vendor/@popperjs/core/lib/dom-utils/getClippingRect.es.js +55 -31
  137. package/vendor/@popperjs/core/lib/dom-utils/getCompositeRect.es.js +43 -22
  138. package/vendor/@popperjs/core/lib/dom-utils/getComputedStyle.es.js +4 -4
  139. package/vendor/@popperjs/core/lib/dom-utils/getDocumentElement.es.js +5 -5
  140. package/vendor/@popperjs/core/lib/dom-utils/getDocumentRect.es.js +23 -13
  141. package/vendor/@popperjs/core/lib/dom-utils/getHTMLElementScroll.es.js +4 -4
  142. package/vendor/@popperjs/core/lib/dom-utils/getLayoutRect.es.js +17 -9
  143. package/vendor/@popperjs/core/lib/dom-utils/getNodeName.es.js +3 -3
  144. package/vendor/@popperjs/core/lib/dom-utils/getNodeScroll.es.js +11 -7
  145. package/vendor/@popperjs/core/lib/dom-utils/getOffsetParent.es.js +42 -26
  146. package/vendor/@popperjs/core/lib/dom-utils/getParentNode.es.js +13 -10
  147. package/vendor/@popperjs/core/lib/dom-utils/getScrollParent.es.js +13 -7
  148. package/vendor/@popperjs/core/lib/dom-utils/getViewportRect.es.js +25 -15
  149. package/vendor/@popperjs/core/lib/dom-utils/getWindow.es.js +8 -7
  150. package/vendor/@popperjs/core/lib/dom-utils/getWindowScroll.es.js +8 -6
  151. package/vendor/@popperjs/core/lib/dom-utils/getWindowScrollBarX.es.js +6 -6
  152. package/vendor/@popperjs/core/lib/dom-utils/instanceOf.es.js +16 -15
  153. package/vendor/@popperjs/core/lib/dom-utils/isLayoutViewport.es.js +4 -4
  154. package/vendor/@popperjs/core/lib/dom-utils/isScrollParent.es.js +5 -5
  155. package/vendor/@popperjs/core/lib/dom-utils/isTableElement.es.js +4 -4
  156. package/vendor/@popperjs/core/lib/dom-utils/listScrollParents.es.js +17 -11
  157. package/vendor/@popperjs/core/lib/enums.es.js +43 -20
  158. package/vendor/@popperjs/core/lib/modifiers/applyStyles.es.js +49 -25
  159. package/vendor/@popperjs/core/lib/modifiers/arrow.es.js +61 -26
  160. package/vendor/@popperjs/core/lib/modifiers/computeStyles.es.js +101 -69
  161. package/vendor/@popperjs/core/lib/modifiers/eventListeners.es.js +30 -16
  162. package/vendor/@popperjs/core/lib/modifiers/flip.es.js +99 -60
  163. package/vendor/@popperjs/core/lib/modifiers/hide.es.js +44 -31
  164. package/vendor/@popperjs/core/lib/modifiers/offset.es.js +32 -20
  165. package/vendor/@popperjs/core/lib/modifiers/popperOffsets.es.js +11 -11
  166. package/vendor/@popperjs/core/lib/modifiers/preventOverflow.es.js +91 -40
  167. package/vendor/@popperjs/core/lib/popper.es.js +14 -13
  168. package/vendor/@popperjs/core/lib/utils/computeAutoPlacement.es.js +29 -21
  169. package/vendor/@popperjs/core/lib/utils/computeOffsets.es.js +41 -36
  170. package/vendor/@popperjs/core/lib/utils/debounce.es.js +11 -7
  171. package/vendor/@popperjs/core/lib/utils/detectOverflow.es.js +42 -28
  172. package/vendor/@popperjs/core/lib/utils/expandToHashMap.es.js +5 -4
  173. package/vendor/@popperjs/core/lib/utils/getAltAxis.es.js +3 -3
  174. package/vendor/@popperjs/core/lib/utils/getBasePlacement.es.js +3 -3
  175. package/vendor/@popperjs/core/lib/utils/getFreshSideObject.es.js +2 -2
  176. package/vendor/@popperjs/core/lib/utils/getMainAxisFromPlacement.es.js +3 -3
  177. package/vendor/@popperjs/core/lib/utils/getOppositePlacement.es.js +5 -5
  178. package/vendor/@popperjs/core/lib/utils/getOppositeVariationPlacement.es.js +5 -5
  179. package/vendor/@popperjs/core/lib/utils/getVariation.es.js +3 -3
  180. package/vendor/@popperjs/core/lib/utils/math.es.js +6 -4
  181. package/vendor/@popperjs/core/lib/utils/mergeByName.es.js +11 -10
  182. package/vendor/@popperjs/core/lib/utils/mergePaddingObject.es.js +4 -4
  183. package/vendor/@popperjs/core/lib/utils/orderModifiers.es.js +30 -22
  184. package/vendor/@popperjs/core/lib/utils/rectToClientRect.es.js +7 -7
  185. package/vendor/@popperjs/core/lib/utils/userAgent.es.js +9 -6
  186. package/vendor/@popperjs/core/lib/utils/within.es.js +8 -8
  187. package/vendor/@tiptap/core/dist/index.es.js +3494 -2000
  188. package/vendor/@tiptap/extension-bold/dist/index.es.js +29 -19
  189. package/vendor/@tiptap/extension-bubble-menu/dist/index.es.js +145 -71
  190. package/vendor/@tiptap/extension-bullet-list/dist/index.es.js +32 -19
  191. package/vendor/@tiptap/extension-code/dist/index.es.js +22 -14
  192. package/vendor/@tiptap/extension-document/dist/index.es.js +4 -4
  193. package/vendor/@tiptap/extension-floating-menu/dist/index.es.js +106 -51
  194. package/vendor/@tiptap/extension-heading/dist/index.es.js +38 -22
  195. package/vendor/@tiptap/extension-history/dist/index.es.js +11 -7
  196. package/vendor/@tiptap/extension-image/dist/index.es.js +20 -17
  197. package/vendor/@tiptap/extension-italic/dist/index.es.js +28 -18
  198. package/vendor/@tiptap/extension-link/dist/index.es.js +236 -147
  199. package/vendor/@tiptap/extension-list-item/dist/index.es.js +6 -6
  200. package/vendor/@tiptap/extension-mention/dist/index.es.js +98 -63
  201. package/vendor/@tiptap/extension-ordered-list/dist/index.es.js +38 -25
  202. package/vendor/@tiptap/extension-paragraph/dist/index.es.js +8 -6
  203. package/vendor/@tiptap/extension-placeholder/dist/index.es.js +34 -27
  204. package/vendor/@tiptap/extension-text/dist/index.es.js +3 -3
  205. package/vendor/@tiptap/extension-underline/dist/index.es.js +16 -10
  206. package/vendor/@tiptap/suggestion/dist/index.es.js +174 -90
  207. package/vendor/@tiptap/vue-3/dist/index.es.js +287 -188
  208. package/vendor/@wangs-ui/core/components/p-BU8h34na.es.js +17 -14
  209. package/vendor/@wangs-ui/core/components/p-C5lMEBcj.es.js +69 -55
  210. package/vendor/@wangs-ui/core/components/p-CKYwZoTo.es.js +26 -22
  211. package/vendor/@wangs-ui/core/components/p-CsoK-EWG.es.js +147 -102
  212. package/vendor/@wangs-ui/core/components/p-DPHEi31J.es.js +102 -77
  213. package/vendor/@wangs-ui/core/components/p-DTTCzifR.es.js +1298 -551
  214. package/vendor/@wangs-ui/core/components/p-Duri5p90.es.js +60 -49
  215. package/vendor/@wangs-ui/core/components/wangs-button.es.js +19 -15
  216. package/vendor/@wangs-ui/core/components/wangs-icon.es.js +3 -3
  217. package/vendor/@wangs-ui/core/components/wangs-input-otp.es.js +3 -3
  218. package/vendor/@wangs-ui/core/components/wangs-tab-menu.es.js +3 -3
  219. package/vendor/@wangs-ui/core/dist/esm/index-DCkh3cGv.es.js +116 -102
  220. package/vendor/@wangs-ui/vue/dist/index.es.js +77 -77
  221. package/vendor/base64toblob/base64toblob.es.js +31 -15
  222. package/vendor/highlight.js/es/core.es.js +5 -5
  223. package/vendor/highlight.js/es/languages/javascript.es.js +237 -193
  224. package/vendor/highlight.js/es/languages/json.es.js +18 -15
  225. package/vendor/highlight.js/es/languages/typescript.es.js +288 -228
  226. package/vendor/highlight.js/es/languages/vbscript-html.es.js +2 -2
  227. package/vendor/highlight.js/lib/core.es.js +1144 -666
  228. package/vendor/linkifyjs/dist/linkify.es.es.js +858 -405
  229. package/vendor/lodash/_Symbol.es.js +11 -8
  230. package/vendor/lodash/_baseGetTag.es.js +19 -12
  231. package/vendor/lodash/_baseTrim.es.js +13 -10
  232. package/vendor/lodash/_freeGlobal.es.js +10 -8
  233. package/vendor/lodash/_getRawTag.es.js +28 -15
  234. package/vendor/lodash/_objectToString.es.js +12 -9
  235. package/vendor/lodash/_root.es.js +12 -8
  236. package/vendor/lodash/_trimmedEndIndex.es.js +14 -11
  237. package/vendor/lodash/debounce.es.js +92 -54
  238. package/vendor/lodash/isObject.es.js +11 -9
  239. package/vendor/lodash/isObjectLike.es.js +10 -8
  240. package/vendor/lodash/isSymbol.es.js +14 -11
  241. package/vendor/lodash/now.es.js +12 -9
  242. package/vendor/lodash/throttle.es.js +25 -17
  243. package/vendor/lodash/toNumber.es.js +33 -23
  244. package/vendor/lodash-es/_DataView.es.js +4 -4
  245. package/vendor/lodash-es/_Hash.es.js +17 -16
  246. package/vendor/lodash-es/_ListCache.es.js +17 -16
  247. package/vendor/lodash-es/_Map.es.js +4 -4
  248. package/vendor/lodash-es/_MapCache.es.js +17 -16
  249. package/vendor/lodash-es/_Promise.es.js +4 -4
  250. package/vendor/lodash-es/_Set.es.js +4 -4
  251. package/vendor/lodash-es/_SetCache.es.js +12 -10
  252. package/vendor/lodash-es/_Stack.es.js +15 -15
  253. package/vendor/lodash-es/_Symbol.es.js +3 -3
  254. package/vendor/lodash-es/_Uint8Array.es.js +3 -3
  255. package/vendor/lodash-es/_WeakMap.es.js +4 -4
  256. package/vendor/lodash-es/_arrayEach.es.js +9 -5
  257. package/vendor/lodash-es/_arrayFilter.es.js +9 -6
  258. package/vendor/lodash-es/_arrayLikeKeys.es.js +21 -17
  259. package/vendor/lodash-es/_arrayPush.es.js +7 -5
  260. package/vendor/lodash-es/_arraySome.es.js +9 -6
  261. package/vendor/lodash-es/_assignValue.es.js +10 -7
  262. package/vendor/lodash-es/_assocIndexOf.es.js +9 -6
  263. package/vendor/lodash-es/_baseAssignValue.es.js +13 -9
  264. package/vendor/lodash-es/_baseClone.es.js +67 -49
  265. package/vendor/lodash-es/_baseCreate.es.js +15 -11
  266. package/vendor/lodash-es/_baseGetAllKeys.es.js +6 -6
  267. package/vendor/lodash-es/_baseGetTag.es.js +11 -7
  268. package/vendor/lodash-es/_baseIsArguments.es.js +6 -6
  269. package/vendor/lodash-es/_baseIsEqual.es.js +11 -5
  270. package/vendor/lodash-es/_baseIsEqualDeep.es.js +39 -26
  271. package/vendor/lodash-es/_baseIsMap.es.js +6 -6
  272. package/vendor/lodash-es/_baseIsNative.es.js +18 -12
  273. package/vendor/lodash-es/_baseIsSet.es.js +6 -6
  274. package/vendor/lodash-es/_baseIsTypedArray.es.js +11 -9
  275. package/vendor/lodash-es/_baseKeys.es.js +16 -11
  276. package/vendor/lodash-es/_baseTimes.es.js +7 -5
  277. package/vendor/lodash-es/_baseTrim.es.js +5 -5
  278. package/vendor/lodash-es/_baseUnary.es.js +4 -4
  279. package/vendor/lodash-es/_cacheHas.es.js +3 -3
  280. package/vendor/lodash-es/_cloneArrayBuffer.es.js +6 -5
  281. package/vendor/lodash-es/_cloneBuffer.es.js +11 -6
  282. package/vendor/lodash-es/_cloneDataView.es.js +5 -5
  283. package/vendor/lodash-es/_cloneRegExp.es.js +6 -5
  284. package/vendor/lodash-es/_cloneSymbol.es.js +5 -5
  285. package/vendor/lodash-es/_cloneTypedArray.es.js +5 -5
  286. package/vendor/lodash-es/_coreJsData.es.js +3 -3
  287. package/vendor/lodash-es/_defineProperty.es.js +7 -6
  288. package/vendor/lodash-es/_equalArrays.es.js +38 -28
  289. package/vendor/lodash-es/_equalByTag.es.js +55 -41
  290. package/vendor/lodash-es/_equalObjects.es.js +42 -28
  291. package/vendor/lodash-es/_freeGlobal.es.js +2 -2
  292. package/vendor/lodash-es/_getAllKeys.es.js +6 -6
  293. package/vendor/lodash-es/_getMapData.es.js +5 -5
  294. package/vendor/lodash-es/_getNative.es.js +6 -6
  295. package/vendor/lodash-es/_getPrototype.es.js +3 -3
  296. package/vendor/lodash-es/_getRawTag.es.js +20 -10
  297. package/vendor/lodash-es/_getSymbols.es.js +15 -8
  298. package/vendor/lodash-es/_getTag.es.js +31 -25
  299. package/vendor/lodash-es/_getValue.es.js +3 -3
  300. package/vendor/lodash-es/_hashClear.es.js +5 -4
  301. package/vendor/lodash-es/_hashDelete.es.js +5 -4
  302. package/vendor/lodash-es/_hashGet.es.js +11 -9
  303. package/vendor/lodash-es/_hashHas.es.js +7 -6
  304. package/vendor/lodash-es/_hashSet.es.js +8 -6
  305. package/vendor/lodash-es/_initCloneArray.es.js +10 -5
  306. package/vendor/lodash-es/_initCloneByTag.es.js +39 -38
  307. package/vendor/lodash-es/_initCloneObject.es.js +6 -6
  308. package/vendor/lodash-es/_isIndex.es.js +7 -5
  309. package/vendor/lodash-es/_isKeyable.es.js +4 -4
  310. package/vendor/lodash-es/_isMasked.es.js +7 -7
  311. package/vendor/lodash-es/_isPrototype.es.js +5 -5
  312. package/vendor/lodash-es/_listCacheClear.es.js +4 -3
  313. package/vendor/lodash-es/_listCacheDelete.es.js +17 -9
  314. package/vendor/lodash-es/_listCacheGet.es.js +5 -5
  315. package/vendor/lodash-es/_listCacheHas.es.js +4 -4
  316. package/vendor/lodash-es/_listCacheSet.es.js +11 -5
  317. package/vendor/lodash-es/_mapCacheClear.es.js +10 -9
  318. package/vendor/lodash-es/_mapCacheDelete.es.js +6 -5
  319. package/vendor/lodash-es/_mapCacheGet.es.js +4 -4
  320. package/vendor/lodash-es/_mapCacheHas.es.js +4 -4
  321. package/vendor/lodash-es/_mapCacheSet.es.js +7 -5
  322. package/vendor/lodash-es/_mapToArray.es.js +7 -6
  323. package/vendor/lodash-es/_nativeCreate.es.js +3 -3
  324. package/vendor/lodash-es/_nativeKeys.es.js +3 -3
  325. package/vendor/lodash-es/_nodeUtil.es.js +13 -6
  326. package/vendor/lodash-es/_objectToString.es.js +5 -4
  327. package/vendor/lodash-es/_overArg.es.js +4 -4
  328. package/vendor/lodash-es/_root.es.js +4 -3
  329. package/vendor/lodash-es/_setCacheAdd.es.js +5 -4
  330. package/vendor/lodash-es/_setCacheHas.es.js +3 -3
  331. package/vendor/lodash-es/_setToArray.es.js +7 -6
  332. package/vendor/lodash-es/_stackClear.es.js +5 -4
  333. package/vendor/lodash-es/_stackDelete.es.js +5 -4
  334. package/vendor/lodash-es/_stackGet.es.js +3 -3
  335. package/vendor/lodash-es/_stackHas.es.js +3 -3
  336. package/vendor/lodash-es/_stackSet.es.js +18 -13
  337. package/vendor/lodash-es/_toSource.es.js +9 -8
  338. package/vendor/lodash-es/_trimmedEndIndex.es.js +7 -6
  339. package/vendor/lodash-es/cloneDeep.es.js +5 -5
  340. package/vendor/lodash-es/debounce.es.js +84 -49
  341. package/vendor/lodash-es/eq.es.js +3 -3
  342. package/vendor/lodash-es/isArguments.es.js +9 -6
  343. package/vendor/lodash-es/isArray.es.js +2 -2
  344. package/vendor/lodash-es/isArrayLike.es.js +5 -5
  345. package/vendor/lodash-es/isBuffer.es.js +9 -4
  346. package/vendor/lodash-es/isEqual.es.js +4 -4
  347. package/vendor/lodash-es/isFunction.es.js +10 -9
  348. package/vendor/lodash-es/isLength.es.js +4 -4
  349. package/vendor/lodash-es/isMap.es.js +6 -5
  350. package/vendor/lodash-es/isObject.es.js +4 -4
  351. package/vendor/lodash-es/isObjectLike.es.js +3 -3
  352. package/vendor/lodash-es/isSet.es.js +6 -5
  353. package/vendor/lodash-es/isSymbol.es.js +6 -6
  354. package/vendor/lodash-es/isTypedArray.es.js +6 -5
  355. package/vendor/lodash-es/keys.es.js +6 -6
  356. package/vendor/lodash-es/now.es.js +4 -4
  357. package/vendor/lodash-es/stubArray.es.js +2 -2
  358. package/vendor/lodash-es/stubFalse.es.js +3 -3
  359. package/vendor/lodash-es/toNumber.es.js +25 -18
  360. package/vendor/lodash-es/toString.es.js +2 -2
  361. package/vendor/lodash-es/uniqueId.es.js +6 -6
  362. package/vendor/orderedmap/dist/index.es.js +65 -49
  363. package/vendor/primevue/api/api.esm.es.js +214 -121
  364. package/vendor/primevue/avatar/avatar.esm.es.js +44 -41
  365. package/vendor/primevue/avatar/style/avatarstyle.esm.es.js +12 -11
  366. package/vendor/primevue/avatargroup/avatargroup.esm.es.js +17 -16
  367. package/vendor/primevue/avatargroup/style/avatargroupstyle.esm.es.js +6 -5
  368. package/vendor/primevue/badge/badge.esm.es.js +21 -20
  369. package/vendor/primevue/badge/style/badgestyle.esm.es.js +19 -18
  370. package/vendor/primevue/base/style/basestyle.esm.es.js +88 -99
  371. package/vendor/primevue/basecomponent/basecomponent.esm.es.js +327 -261
  372. package/vendor/primevue/basedirective/basedirective.esm.es.js +257 -186
  373. package/vendor/primevue/baseicon/baseicon.esm.es.js +55 -49
  374. package/vendor/primevue/baseicon/style/baseiconstyle.esm.es.js +5 -35
  375. package/vendor/primevue/button/button.esm.es.js +76 -72
  376. package/vendor/primevue/button/style/buttonstyle.esm.es.js +46 -39
  377. package/vendor/primevue/card/card.esm.es.js +30 -29
  378. package/vendor/primevue/card/style/cardstyle.esm.es.js +6 -5
  379. package/vendor/primevue/checkbox/checkbox.esm.es.js +109 -101
  380. package/vendor/primevue/checkbox/style/checkboxstyle.esm.es.js +12 -11
  381. package/vendor/primevue/config/config.esm.es.js +76 -58
  382. package/vendor/primevue/dialog/dialog.esm.es.js +421 -281
  383. package/vendor/primevue/dialog/style/dialogstyle.esm.es.js +26 -22
  384. package/vendor/primevue/dropdown/dropdown.esm.es.js +956 -742
  385. package/vendor/primevue/dropdown/style/dropdownstyle.esm.es.js +33 -31
  386. package/vendor/primevue/fileupload/fileupload.esm.es.js +559 -450
  387. package/vendor/primevue/fileupload/style/fileuploadstyle.esm.es.js +14 -13
  388. package/vendor/primevue/focustrap/focustrap.esm.es.js +128 -90
  389. package/vendor/primevue/focustrap/style/focustrapstyle.esm.es.js +2 -2
  390. package/vendor/primevue/icons/angledoubleleft/index.esm.es.js +13 -11
  391. package/vendor/primevue/icons/angledoubleright/index.esm.es.js +13 -11
  392. package/vendor/primevue/icons/angledown/index.esm.es.js +13 -11
  393. package/vendor/primevue/icons/angleleft/index.esm.es.js +13 -11
  394. package/vendor/primevue/icons/angleright/index.esm.es.js +13 -11
  395. package/vendor/primevue/icons/angleup/index.esm.es.js +13 -11
  396. package/vendor/primevue/icons/blank/index.esm.es.js +13 -11
  397. package/vendor/primevue/icons/check/index.esm.es.js +13 -11
  398. package/vendor/primevue/icons/chevrondown/index.esm.es.js +13 -11
  399. package/vendor/primevue/icons/exclamationtriangle/index.esm.es.js +17 -13
  400. package/vendor/primevue/icons/eye/index.esm.es.js +13 -11
  401. package/vendor/primevue/icons/eyeslash/index.esm.es.js +13 -11
  402. package/vendor/primevue/icons/infocircle/index.esm.es.js +13 -11
  403. package/vendor/primevue/icons/plus/index.esm.es.js +13 -11
  404. package/vendor/primevue/icons/refresh/index.esm.es.js +13 -11
  405. package/vendor/primevue/icons/search/index.esm.es.js +13 -11
  406. package/vendor/primevue/icons/searchminus/index.esm.es.js +13 -11
  407. package/vendor/primevue/icons/searchplus/index.esm.es.js +13 -11
  408. package/vendor/primevue/icons/spinner/index.esm.es.js +13 -11
  409. package/vendor/primevue/icons/times/index.esm.es.js +13 -11
  410. package/vendor/primevue/icons/timescircle/index.esm.es.js +13 -11
  411. package/vendor/primevue/icons/undo/index.esm.es.js +13 -11
  412. package/vendor/primevue/icons/upload/index.esm.es.js +13 -11
  413. package/vendor/primevue/icons/windowmaximize/index.esm.es.js +13 -11
  414. package/vendor/primevue/icons/windowminimize/index.esm.es.js +13 -11
  415. package/vendor/primevue/image/image.esm.es.js +280 -235
  416. package/vendor/primevue/image/style/imagestyle.esm.es.js +18 -17
  417. package/vendor/primevue/inputgroup/inputgroup.esm.es.js +17 -16
  418. package/vendor/primevue/inputgroup/style/inputgroupstyle.esm.es.js +6 -5
  419. package/vendor/primevue/inputgroupaddon/inputgroupaddon.esm.es.js +17 -16
  420. package/vendor/primevue/inputgroupaddon/style/inputgroupaddonstyle.esm.es.js +6 -5
  421. package/vendor/primevue/inputnumber/inputnumber.esm.es.js +834 -566
  422. package/vendor/primevue/inputnumber/style/inputnumberstyle.esm.es.js +23 -22
  423. package/vendor/primevue/inputtext/inputtext.esm.es.js +32 -30
  424. package/vendor/primevue/inputtext/style/inputtextstyle.esm.es.js +13 -12
  425. package/vendor/primevue/menu/menu.esm.es.js +402 -304
  426. package/vendor/primevue/menu/style/menustyle.esm.es.js +14 -13
  427. package/vendor/primevue/message/message.esm.es.js +126 -112
  428. package/vendor/primevue/message/style/messagestyle.esm.es.js +9 -8
  429. package/vendor/primevue/multiselect/multiselect.esm.es.js +1083 -835
  430. package/vendor/primevue/multiselect/style/multiselectstyle.esm.es.js +38 -36
  431. package/vendor/primevue/overlayeventbus/overlayeventbus.esm.es.js +3 -3
  432. package/vendor/primevue/overlaypanel/overlaypanel.esm.es.js +275 -169
  433. package/vendor/primevue/overlaypanel/style/overlaypanelstyle.esm.es.js +9 -8
  434. package/vendor/primevue/paginator/paginator.esm.es.js +513 -469
  435. package/vendor/primevue/paginator/style/paginatorstyle.esm.es.js +50 -43
  436. package/vendor/primevue/password/password.esm.es.js +306 -233
  437. package/vendor/primevue/password/style/passwordstyle.esm.es.js +26 -24
  438. package/vendor/primevue/portal/portal.esm.es.js +17 -17
  439. package/vendor/primevue/progressbar/progressbar.esm.es.js +37 -35
  440. package/vendor/primevue/progressbar/style/progressbarstyle.esm.es.js +10 -9
  441. package/vendor/primevue/ripple/ripple.esm.es.js +90 -62
  442. package/vendor/primevue/ripple/style/ripplestyle.esm.es.js +6 -5
  443. package/vendor/primevue/selectbutton/selectbutton.esm.es.js +213 -167
  444. package/vendor/primevue/selectbutton/style/selectbuttonstyle.esm.es.js +14 -13
  445. package/vendor/primevue/skeleton/skeleton.esm.es.js +28 -26
  446. package/vendor/primevue/skeleton/style/skeletonstyle.esm.es.js +13 -11
  447. package/vendor/primevue/textarea/style/textareastyle.esm.es.js +12 -11
  448. package/vendor/primevue/textarea/textarea.esm.es.js +49 -33
  449. package/vendor/primevue/timeline/style/timelinestyle.esm.es.js +9 -8
  450. package/vendor/primevue/timeline/timeline.esm.es.js +53 -52
  451. package/vendor/primevue/toast/style/toaststyle.esm.es.js +54 -46
  452. package/vendor/primevue/toast/toast.esm.es.js +309 -260
  453. package/vendor/primevue/toasteventbus/toasteventbus.esm.es.js +3 -3
  454. package/vendor/primevue/toastservice/toastservice.esm.es.js +16 -15
  455. package/vendor/primevue/tooltip/style/tooltipstyle.esm.es.js +6 -5
  456. package/vendor/primevue/tooltip/tooltip.esm.es.js +383 -186
  457. package/vendor/primevue/usestyle/usestyle.esm.es.js +94 -64
  458. package/vendor/primevue/usetoast/usetoast.esm.es.js +9 -8
  459. package/vendor/primevue/utils/utils.esm.es.js +1078 -772
  460. package/vendor/primevue/virtualscroller/style/virtualscrollerstyle.esm.es.js +5 -67
  461. package/vendor/primevue/virtualscroller/virtualscroller.esm.es.js +655 -428
  462. package/vendor/prosemirror-commands/dist/index.es.js +454 -316
  463. package/vendor/prosemirror-history/dist/index.es.js +286 -178
  464. package/vendor/prosemirror-keymap/dist/index.es.js +68 -48
  465. package/vendor/prosemirror-model/dist/index.es.js +1905 -1436
  466. package/vendor/prosemirror-schema-list/dist/index.es.js +115 -73
  467. package/vendor/prosemirror-state/dist/index.es.js +467 -353
  468. package/vendor/prosemirror-transform/dist/index.es.js +1146 -829
  469. package/vendor/prosemirror-view/dist/index.es.js +4127 -2719
  470. package/vendor/rope-sequence/dist/index.es.js +165 -82
  471. package/vendor/simplebar-core/dist/index.es.js +670 -242
  472. package/vendor/simplebar-vue/dist/simplebar-vue.esm.es.js +73 -60
  473. package/vendor/single-spa/lib/es2015/esm/single-spa.min.es.js +511 -510
  474. package/vendor/tippy.js/dist/tippy.esm.es.js +971 -525
  475. package/vendor/vee-validate/dist/vee-validate.esm.es.js +1830 -1097
  476. package/vendor/vue-advanced-cropper/dist/index.esm-bundler.es.js +740 -738
  477. package/vendor/w3c-keyname/index.es.js +25 -13
  478. package/wangsvue.es.js +167 -208
  479. package/wangsvue.esm.browser.js +49417 -48026
  480. package/wangsvue.system.js +67600 -234
  481. package/api/index.es.js +0 -149
  482. package/apiitem/index.es.js +0 -611
  483. package/assignmember/index.es.js +0 -434
  484. package/attachment/index.es.js +0 -118
  485. package/attachmentchangelog/index.es.js +0 -79
  486. package/attachmentitem/index.es.js +0 -231
  487. package/attachmentthumbnail/index.es.js +0 -83
  488. package/changelog/index.d.ts +0 -164
  489. package/changelog/index.es.js +0 -85
  490. package/changelogfilter/index.es.js +0 -113
  491. package/changelogpage/index.d.ts +0 -184
  492. package/changelogpage/index.es.js +0 -176
  493. package/checklist/index.es.js +0 -571
  494. package/checklistchangelog/index.es.js +0 -85
  495. package/comment/index.d.ts +0 -187
  496. package/comment/index.es.js +0 -267
  497. package/commentblock/index.es.js +0 -337
  498. package/confirmdeploy/index.es.js +0 -64
  499. package/dependencycol/index.es.js +0 -32
  500. package/description/index.es.js +0 -135
  501. package/descriptiontab/index.es.js +0 -30
  502. package/detailmember/index.d.ts +0 -77
  503. package/detailmember/index.es.js +0 -32
  504. package/detailmemberadmin/index.es.js +0 -210
  505. package/detailmemberleader/index.es.js +0 -164
  506. package/detailmemberlog/index.es.js +0 -117
  507. package/detailsprint/index.d.ts +0 -86
  508. package/detailsprint/index.es.js +0 -414
  509. package/dialogaddattachment/index.es.js +0 -273
  510. package/dialogaddchecklist/index.es.js +0 -120
  511. package/dialogaddeditapi/index.es.js +0 -87
  512. package/dialogaddpbi/index.es.js +0 -197
  513. package/dialogadjustmenttask/index.es.js +0 -484
  514. package/dialogadjustmenttaskheader/index.es.js +0 -193
  515. package/dialogapichangelog/index.es.js +0 -83
  516. package/dialogassignmember/index.es.js +0 -171
  517. package/dialogconfirmapproval/index.es.js +0 -54
  518. package/dialogconfirmchecklist/index.es.js +0 -189
  519. package/dialogconfirmdeletetask/index.es.js +0 -70
  520. package/dialogconfirmdeletetaskpermanently/index.es.js +0 -50
  521. package/dialogconfirmedit/index.es.js +0 -50
  522. package/dialogconfirmfinishtask/index.es.js +0 -50
  523. package/dialogconfirmrestoretask/index.es.js +0 -46
  524. package/dialogconfirmsprint/index.es.js +0 -42
  525. package/dialogcopyapi/index.es.js +0 -130
  526. package/dialogcustomdependency/index.es.js +0 -55
  527. package/dialogdetailchecklisttemplate/index.es.js +0 -214
  528. package/dialogdetailcomponent/index.es.js +0 -121
  529. package/dialogdetailpbi/index.es.js +0 -192
  530. package/dialogfinishreview/index.es.js +0 -126
  531. package/dialogimprovementtask/index.es.js +0 -191
  532. package/dialogmemberadmin/index.es.js +0 -93
  533. package/dialogpreparepbi/index.es.js +0 -93
  534. package/dialogpriorityvalue/index.es.js +0 -85
  535. package/dialogreportbug/index.es.js +0 -207
  536. package/dialogreviewleader/index.es.js +0 -280
  537. package/dialogsavechecklisttemplate/index.es.js +0 -127
  538. package/dialogselectproject/index.es.js +0 -69
  539. package/dialogsetduration/index.es.js +0 -109
  540. package/dialogsettasklink/index.es.js +0 -153
  541. package/dialogtestapi/index.es.js +0 -389
  542. package/eventlogtab/index.es.js +0 -50
  543. package/infotasktab/index.es.js +0 -186
  544. package/inputadditional/index.es.js +0 -62
  545. package/inputinitialname/index.d.ts +0 -118
  546. package/inputinitialname/index.es.js +0 -95
  547. package/inputrepositoryname/index.d.ts +0 -86
  548. package/inputrepositoryname/index.es.js +0 -41
  549. package/isrequiredtext/index.es.js +0 -16
  550. package/legend/index.es.js +0 -727
  551. package/legendlist/index.es.js +0 -33
  552. package/loading-page-BrQattYE.js +0 -1
  553. package/loading-page-CgfbWppy.js +0 -1
  554. package/loading-page-CoC9UhfC.js +0 -4
  555. package/loading-page-CoXtqoc9.js +0 -4
  556. package/loading-page-DbLuqCHa.js +0 -1
  557. package/loading-page-f8D03l3G.js +0 -4
  558. package/loading-plane-CgfbWppy.js +0 -1
  559. package/loading-plane-CoXtqoc9.js +0 -4
  560. package/loading-table-Bdr9ZhtP.js +0 -1
  561. package/loading-table-ByUoWqUo.js +0 -4
  562. package/loading-table-BygEMzFM.js +0 -4
  563. package/loading-table-BzrSQlA0.js +0 -1
  564. package/loading-table-D9bw9OcI.js +0 -4
  565. package/loading-table-chOgXi94.js +0 -1
  566. package/no-data-CTKux8RI.js +0 -4
  567. package/no-data-Cgze_Rvp.js +0 -1
  568. package/no-data-DLHO1L_u.js +0 -4
  569. package/no-data-Dep79CBh.js +0 -1
  570. package/no-data-g0dJCy2p.js +0 -4
  571. package/no-data-y1X5WtcQ.js +0 -1
  572. package/notificationitem/index.d.ts +0 -107
  573. package/notificationitem/index.es.js +0 -333
  574. package/reviewitem/index.es.js +0 -65
  575. package/reviewtab/index.es.js +0 -44
  576. package/services/calendar.service.es.js +0 -32
  577. package/sonarqubesummary/index.es.js +0 -234
  578. package/sprintsummary/index.es.js +0 -73
  579. package/summaryaccordion/index.d.ts +0 -121
  580. package/summaryaccordion/index.es.js +0 -365
  581. package/taskdependency/index.es.js +0 -686
  582. package/taskdetail/index.d.ts +0 -82
  583. package/taskdetail/index.es.js +0 -491
  584. package/taskdetailpbi/index.d.ts +0 -35
  585. package/taskdetailpbi/index.es.js +0 -172
  586. package/taskdetailunassignedpbi/index.es.js +0 -261
  587. package/tasklink/index.es.js +0 -257
  588. package/tasklinkchangelog/index.es.js +0 -93
  589. package/tasklist/index.es.js +0 -92
  590. package/taskmore/index.es.js +0 -52
  591. package/taskstatusbadge/index.es.js +0 -18
  592. package/tasktable/index.d.ts +0 -87
  593. package/tasktable/index.es.js +0 -832
  594. package/ticket/index.es.js +0 -151
  595. package/tooltipspan/index.es.js +0 -30
  596. package/utils/updateSprintStatus.util.es.js +0 -17
  597. package/valueformdatainput/index.es.js +0 -70
  598. package/workcalendar/index.es.js +0 -351
@@ -1,68 +1,78 @@
1
- import { defineComponent as ke, mergeModels as oe, inject as Ce, onMounted as Be, onUnmounted as Pe, ref as h, shallowRef as $, useModel as Me, reactive as Ue, computed as re, watch as V, createElementBlock as v, openBlock as n, Fragment as T, createVNode as m, normalizeClass as y, withCtx as q, createElementVNode as I, createCommentVNode as c, createBlock as k, renderList as Fe, unref as R } from "vue";
2
- import { r as Ae } from "../vendor/base64toblob/base64toblob.es.js";
3
- import { u as Se } from "../vendor/vee-validate/dist/vee-validate.esm.es.js";
4
- import { f as $e } from "../vendor/vue-advanced-cropper/dist/index.esm-bundler.es.js";
5
- import { u as Re } from "../plugins/WangsVue.es.js";
6
- import { g as ze, a as De } from "../utils/genPlaceholder.util.es.js";
7
- import { _ as Le } from "../image/index.es.js";
8
- import { _ as z } from "../button/index.es.js";
9
- import { _ as Ne } from "../buttonradio/index.es.js";
10
- import { _ as Ve } from "../dialog/index.es.js";
11
- import { _ as Te } from "../dialogconfirm/index.es.js";
12
- import { _ as je } from "../fieldwrapper/index.es.js";
13
- import { _ as x } from "../icon/index.es.js";
14
- import { _ as Oe } from "../invisiblefield/index.es.js";
15
- import { _ as Ee } from "../validatormessage/index.es.js";
16
- import { B as qe } from "../backgroundimagecropper/index.es.js";
17
- import { _ as se } from "../imageinputinfo/index.es.js";
1
+ import { defineComponent, mergeModels, inject, onMounted, onUnmounted, ref, shallowRef, useModel, reactive, computed, watch, createElementBlock, openBlock, Fragment, createVNode, normalizeClass, withCtx, createElementVNode, createCommentVNode, createBlock, renderList, unref } from "vue";
2
+ import { r as requireBase64toblob } from "../vendor/base64toblob/base64toblob.es.js";
3
+ import { u as useField } from "../vendor/vee-validate/dist/vee-validate.esm.es.js";
4
+ import { f as fe } from "../vendor/vue-advanced-cropper/dist/index.esm-bundler.es.js";
5
+ import { u as useWangsVueConfig } from "../plugins/WangsVue.es.js";
6
+ import { g as genPlaceholder, a as genRandomPlaceholderBg } from "../utils/genPlaceholder.util.es.js";
7
+ import { _ as _sfc_main$2 } from "../image/index.es.js";
8
+ import { _ as _sfc_main$4 } from "../button/index.es.js";
9
+ import { _ as _sfc_main$7 } from "../buttonradio/index.es.js";
10
+ import { _ as _sfc_main$a } from "../dialog/index.es.js";
11
+ import { _ as _sfc_main$5 } from "../dialogconfirm/index.es.js";
12
+ import { _ as _sfc_main$1 } from "../fieldwrapper/index.es.js";
13
+ import { _ as _sfc_main$3 } from "../icon/index.es.js";
14
+ import { _ as _sfc_main$9 } from "../invisiblefield/index.es.js";
15
+ import { _ as _sfc_main$8 } from "../validatormessage/index.es.js";
16
+ import { B as BackgroundImageCropper } from "../backgroundimagecropper/index.es.js";
17
+ import { _ as _sfc_main$6 } from "../imageinputinfo/index.es.js";
18
18
  /* empty css */
19
- var ca = typeof globalThis < "u" ? globalThis : typeof window < "u" ? window : typeof global < "u" ? global : typeof self < "u" ? self : {};
20
- function xe(b) {
21
- return b && b.__esModule && Object.prototype.hasOwnProperty.call(b, "default") ? b.default : b;
19
+ var commonjsGlobal = typeof globalThis !== "undefined" ? globalThis : typeof window !== "undefined" ? window : typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : {};
20
+ function getDefaultExportFromCjs(x) {
21
+ return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, "default") ? x["default"] : x;
22
22
  }
23
- var Ke = Ae();
24
- const Ge = /* @__PURE__ */ xe(Ke), He = {
23
+ var base64toblobExports = requireBase64toblob();
24
+ const base64toblob = /* @__PURE__ */ getDefaultExportFromCjs(base64toblobExports);
25
+ const _hoisted_1 = {
25
26
  key: 1,
26
27
  class: "flex gap-1 items-start"
27
- }, We = ["id", "multiple"], Je = ["for"], fa = /* @__PURE__ */ ke({
28
+ };
29
+ const _hoisted_2 = ["id", "multiple"];
30
+ const _hoisted_3 = ["for"];
31
+ const _sfc_main = /* @__PURE__ */ defineComponent({
28
32
  __name: "ImageCompressor",
29
- props: /* @__PURE__ */ oe({
33
+ props: /* @__PURE__ */ mergeModels({
30
34
  initialName: {},
31
35
  multiple: { type: Boolean },
32
36
  defaultImage: {},
33
- disabled: { type: Boolean, default: !1 },
37
+ disabled: { type: Boolean, default: false },
34
38
  compressedBlob: { default: void 0 },
35
39
  imagePreviewUrl: { default: void 0 },
36
40
  imagePreviewSize: { default: "big" },
37
- rounded: { type: Boolean, default: !1 },
38
- useDeleteButton: { type: Boolean, default: !0 },
39
- useValidator: { type: Boolean, default: !1 },
40
- mandatory: { type: Boolean, default: !1 },
41
+ rounded: { type: Boolean, default: false },
42
+ useDeleteButton: { type: Boolean, default: true },
43
+ useValidator: { type: Boolean, default: false },
44
+ mandatory: { type: Boolean, default: false },
41
45
  invalid: { type: Boolean },
42
46
  validatorMessage: { default: "Photo must be uploaded" },
43
47
  label: { default: void 0 },
44
48
  fieldName: { default: "imageInput" },
45
49
  fieldInfo: { default: void 0 },
46
- showInfo: { type: Boolean, default: !0 },
50
+ showInfo: { type: Boolean, default: true },
47
51
  customRequirements: { default: void 0 },
48
52
  confirmOnDelete: { type: Boolean },
49
53
  emitDeleteFn: { type: Boolean },
50
- showValidatorMessage: { type: Boolean, default: !0 },
54
+ showValidatorMessage: { type: Boolean, default: true },
51
55
  fileType: { default: "webp" },
52
56
  type: { default: "normal" }
53
57
  }, {
54
- defaultImage: { default: 0 },
55
- defaultImageModifiers: {}
58
+ "defaultImage": { default: 0 },
59
+ "defaultImageModifiers": {}
56
60
  }),
57
- emits: /* @__PURE__ */ oe(["apply", "applyProp", "update:defaultImage", "update:fieldValue", "delete"], ["update:defaultImage"]),
58
- setup(b, { expose: ie, emit: ne }) {
59
- const ue = Ce("preset", {}).image, l = b, C = ne, { locale: j } = Re("ImageCompressor");
60
- Be(async () => {
61
- ve(), U();
62
- }), Pe(() => {
63
- A(0), A(1);
61
+ emits: /* @__PURE__ */ mergeModels(["apply", "applyProp", "update:defaultImage", "update:fieldValue", "delete"], ["update:defaultImage"]),
62
+ setup(__props, { expose: __expose, emit: __emit }) {
63
+ const ImagePreset = inject("preset", {}).image;
64
+ const props = __props;
65
+ const emit = __emit;
66
+ const { locale } = useWangsVueConfig("ImageCompressor");
67
+ onMounted(async () => {
68
+ setField();
69
+ assignPreviewImagesFromProp();
70
+ });
71
+ onUnmounted(() => {
72
+ revokeObjectURL(0);
73
+ revokeObjectURL(1);
64
74
  });
65
- const f = h([
75
+ const image = ref([
66
76
  {
67
77
  src: null,
68
78
  type: null
@@ -71,81 +81,170 @@ const Ge = /* @__PURE__ */ xe(Ke), He = {
71
81
  src: null,
72
82
  type: null
73
83
  }
74
- ]), me = De(), K = h(), B = h(), s = h([]), Q = h(), X = $(0), G = h(), D = h(), d = $(), O = Me(b, "defaultImage"), i = Ue({
75
- value: l.multiple ? [] : void 0
76
- }), P = $(!1), w = $(), de = $(0), g = $(!1), H = h([!1, !1]), M = re(() => `image/${l.fileType}`), W = (e) => typeof s.value[e] == "string" && s.value[e].includes("data:image/png;base64"), U = async () => {
77
- var e, a;
78
- (e = l.imagePreviewUrl) != null && e.length ? s.value = Array.isArray(l.imagePreviewUrl) ? l.imagePreviewUrl : [l.imagePreviewUrl] : Array.isArray(l.compressedBlob) ? s.value = l.compressedBlob : l.compressedBlob ? s.value = [l.compressedBlob] : l.initialName ? (K.value = ze(l.initialName, 125, me), s.value = [(a = K.value) == null ? void 0 : a.toDataURL()]) : s.value = [], l.imagePreviewUrl ? i.value = l.imagePreviewUrl : l.initialName && (i.value = await pe()), C("applyProp");
79
- }, pe = async () => new Promise((e) => {
80
- var a;
81
- (a = K.value) == null || a.toBlob((o) => {
82
- e(
83
- new File([o ?? new Blob()], Date.now() + ".png", {
84
- type: "image/png"
85
- })
86
- );
84
+ ]);
85
+ const randomBg = genRandomPlaceholderBg();
86
+ const canvasPlaceholder = ref();
87
+ const canvas = ref();
88
+ const previewImages = ref([]);
89
+ const inputImageFile = ref();
90
+ const inputImageFileKey = shallowRef(0);
91
+ const vueAdvanceCropper = ref();
92
+ const resolveFn = ref();
93
+ const currentCropingImageIndex = shallowRef();
94
+ const defaultImage = useModel(__props, "defaultImage");
95
+ const field = reactive({
96
+ value: props.multiple ? [] : void 0
97
+ });
98
+ const invalidInput = shallowRef(false);
99
+ const invalidMessage = shallowRef();
100
+ const inputImageKey = shallowRef(0);
101
+ const showImageCropper = shallowRef(false);
102
+ const showDeleteConfirm = ref([false, false]);
103
+ const formattedFileType = computed(() => `image/${props.fileType}`);
104
+ const isInitialImage = (index) => {
105
+ return typeof previewImages.value[index] == "string" && previewImages.value[index].includes("data:image/png;base64");
106
+ };
107
+ const assignPreviewImagesFromProp = async () => {
108
+ var _a, _b;
109
+ if ((_a = props.imagePreviewUrl) == null ? void 0 : _a.length) {
110
+ previewImages.value = Array.isArray(props.imagePreviewUrl) ? props.imagePreviewUrl : [props.imagePreviewUrl];
111
+ } else if (Array.isArray(props.compressedBlob)) {
112
+ previewImages.value = props.compressedBlob;
113
+ } else if (props.compressedBlob) {
114
+ previewImages.value = [props.compressedBlob];
115
+ } else if (props.initialName) {
116
+ canvasPlaceholder.value = genPlaceholder(props.initialName, 125, randomBg);
117
+ previewImages.value = [(_b = canvasPlaceholder.value) == null ? void 0 : _b.toDataURL()];
118
+ } else {
119
+ previewImages.value = [];
120
+ }
121
+ if (props.imagePreviewUrl) {
122
+ field.value = props.imagePreviewUrl;
123
+ } else if (props.initialName) {
124
+ field.value = await canvasToFile();
125
+ }
126
+ emit("applyProp");
127
+ };
128
+ const canvasToFile = async () => {
129
+ return new Promise((resolve) => {
130
+ var _a;
131
+ (_a = canvasPlaceholder.value) == null ? void 0 : _a.toBlob((blob) => {
132
+ resolve(
133
+ new File([blob ?? new Blob()], Date.now() + ".png", {
134
+ type: "image/png"
135
+ })
136
+ );
137
+ });
87
138
  });
88
- }), F = (e = !1) => {
89
- var a;
90
- l.disabled || (e && (d.value = 1), (a = Q.value) == null || a.click());
91
- }, ce = async (e) => {
92
- const { files: a } = e.target, o = Array.from(a ?? []).slice(
139
+ };
140
+ const pickImage = (addPhoto = false) => {
141
+ var _a;
142
+ if (props.disabled) return;
143
+ if (addPhoto) currentCropingImageIndex.value = 1;
144
+ (_a = inputImageFile.value) == null ? void 0 : _a.click();
145
+ };
146
+ const handleImageSelected = async (event) => {
147
+ const { files } = event.target;
148
+ const imageFiles = Array.from(files ?? []).slice(
93
149
  0,
94
- s.value.length ? 1 : 2
150
+ previewImages.value.length ? 1 : 2
95
151
  );
96
- for (const [t, u] of o.entries())
152
+ for (const [index, file] of imageFiles.entries()) {
97
153
  try {
98
- const r = d.value ?? t;
99
- await fe(u, r);
100
- } catch (r) {
101
- console.error("Error loading image:", r);
154
+ const imageIndex = currentCropingImageIndex.value ?? index;
155
+ await loadImage(file, imageIndex);
156
+ } catch (error) {
157
+ console.error("Error loading image:", error);
102
158
  } finally {
103
- d.value = void 0;
159
+ currentCropingImageIndex.value = void 0;
104
160
  }
105
- }, fe = async (e, a) => {
106
- const o = (u) => u.includes("image"), t = (u) => u > 1e6;
107
- return new Promise((u, r) => {
108
- var L, S;
109
- if (e)
110
- if (Y(a), !o(e.type))
111
- P.value = !0, w.value = typeof l.validatorMessage != "string" && ((L = l.validatorMessage) != null && L.invalidFormat) ? l.validatorMessage.invalidFormat : "Tipe file harus berupa gambar!", U(), g.value = !1, A(a), r("Tipe file harus berupa gambar!");
112
- else if (t(e.size))
113
- P.value = !0, w.value = typeof l.validatorMessage != "string" && ((S = l.validatorMessage) != null && S.exceed) ? l.validatorMessage.exceed : "Ukuran gambar terlalu besar! Maks. 1 MB", U(), g.value = !1, A(a), r("Ukuran gambar terlalu besar! Maks. 1 MB");
114
- else {
115
- A(a);
116
- const E = URL.createObjectURL(e), p = new FileReader();
117
- p.onload = (N) => {
118
- var te;
119
- f.value[a].src = E, f.value[a].type = ge(
120
- (te = N == null ? void 0 : N.target) == null ? void 0 : te.result,
121
- e.type
161
+ }
162
+ };
163
+ const loadImage = async (file, index) => {
164
+ const isImageType = (type) => {
165
+ return type.includes("image");
166
+ };
167
+ const isExceededLimit = (size) => size > 1e6;
168
+ return new Promise((resolve, reject) => {
169
+ var _a, _b;
170
+ if (file) {
171
+ resetCropper(index);
172
+ if (!isImageType(file.type)) {
173
+ invalidInput.value = true;
174
+ invalidMessage.value = typeof props.validatorMessage !== "string" && ((_a = props.validatorMessage) == null ? void 0 : _a.invalidFormat) ? props.validatorMessage.invalidFormat : "Tipe file harus berupa gambar!";
175
+ assignPreviewImagesFromProp();
176
+ showImageCropper.value = false;
177
+ revokeObjectURL(index);
178
+ reject("Tipe file harus berupa gambar!");
179
+ } else if (isExceededLimit(file.size)) {
180
+ invalidInput.value = true;
181
+ invalidMessage.value = typeof props.validatorMessage !== "string" && ((_b = props.validatorMessage) == null ? void 0 : _b.exceed) ? props.validatorMessage.exceed : "Ukuran gambar terlalu besar! Maks. 1 MB";
182
+ assignPreviewImagesFromProp();
183
+ showImageCropper.value = false;
184
+ revokeObjectURL(index);
185
+ reject("Ukuran gambar terlalu besar! Maks. 1 MB");
186
+ } else {
187
+ revokeObjectURL(index);
188
+ const blob = URL.createObjectURL(file);
189
+ const reader = new FileReader();
190
+ reader.onload = (e) => {
191
+ var _a2;
192
+ image.value[index].src = blob;
193
+ image.value[index].type = getMimeType(
194
+ (_a2 = e == null ? void 0 : e.target) == null ? void 0 : _a2.result,
195
+ file.type
122
196
  );
123
- }, p.onerror = (N) => {
124
- console.error("🚀 ~ returnnewPromise ~ e:", N);
125
- }, p.readAsArrayBuffer(e), d.value == null && (d.value = a), g.value || (g.value = !0), P.value = !1, w.value = void 0;
197
+ };
198
+ reader.onerror = (e) => {
199
+ console.error("🚀 ~ returnnewPromise ~ e:", e);
200
+ };
201
+ reader.readAsArrayBuffer(file);
202
+ if (currentCropingImageIndex.value == null)
203
+ currentCropingImageIndex.value = index;
204
+ if (!showImageCropper.value) showImageCropper.value = true;
205
+ invalidInput.value = false;
206
+ invalidMessage.value = void 0;
126
207
  }
127
- de.value += 1, D.value = u;
208
+ }
209
+ inputImageKey.value += 1;
210
+ resolveFn.value = resolve;
128
211
  });
129
- }, ve = () => {
130
- l.useValidator && Object.assign(
131
- i,
132
- Se(l.fieldName, (e) => {
133
- var a;
134
- return !e && l.mandatory ? typeof l.validatorMessage != "string" && ((a = l.validatorMessage) != null && a.empty) ? l.validatorMessage.empty : (l.label ?? "Photo") + " must be uploaded" : l.invalid && l.validatorMessage ? l.validatorMessage : w.value ? w.value : !0;
135
- })
136
- );
137
- }, Y = (e) => {
138
- f.value[e] = {
212
+ };
213
+ const setField = () => {
214
+ if (props.useValidator) {
215
+ Object.assign(
216
+ field,
217
+ useField(props.fieldName, (value) => {
218
+ var _a;
219
+ if (!value && props.mandatory) {
220
+ if (typeof props.validatorMessage !== "string" && ((_a = props.validatorMessage) == null ? void 0 : _a.empty)) {
221
+ return props.validatorMessage.empty;
222
+ }
223
+ return (props.label ?? "Photo") + " must be uploaded";
224
+ } else if (props.invalid && props.validatorMessage) {
225
+ return props.validatorMessage;
226
+ } else if (invalidMessage.value) {
227
+ return invalidMessage.value;
228
+ }
229
+ return true;
230
+ })
231
+ );
232
+ }
233
+ };
234
+ const resetCropper = (index) => {
235
+ image.value[index] = {
139
236
  src: null,
140
237
  type: null
141
238
  };
142
- }, ge = (e, a = null) => {
143
- if (e) {
144
- const o = new Uint8Array(e).subarray(0, 4);
145
- let t = "";
146
- for (const u of o)
147
- t += u.toString(16);
148
- switch (t) {
239
+ };
240
+ const getMimeType = (file, fallback = null) => {
241
+ if (file) {
242
+ const byteArray = new Uint8Array(file).subarray(0, 4);
243
+ let header = "";
244
+ for (const element of byteArray) {
245
+ header += element.toString(16);
246
+ }
247
+ switch (header) {
149
248
  case "89504e47":
150
249
  return "image/png";
151
250
  case "47494638":
@@ -155,380 +254,448 @@ const Ge = /* @__PURE__ */ xe(Ke), He = {
155
254
  case "ffd8ffe2":
156
255
  case "ffd8ffe3":
157
256
  case "ffd8ffe8":
158
- return M.value;
257
+ return formattedFileType.value;
159
258
  default:
160
- return a;
259
+ return fallback;
161
260
  }
162
261
  }
163
262
  return null;
164
- }, Z = (e) => {
165
- const a = Ge(e.split(",")[1], M.value);
166
- return window.URL.createObjectURL(a);
167
- }, ye = async (e, a) => {
168
- const o = await fetch(e).then((t) => t.blob());
169
- return new File([o], a, { type: M.value });
170
- }, be = async () => {
171
- const e = d.value ?? 0;
263
+ };
264
+ const toBlobObjectURL = (imgUrl) => {
265
+ const blob = base64toblob(imgUrl.split(",")[1], formattedFileType.value);
266
+ const url = window.URL.createObjectURL(blob);
267
+ return url;
268
+ };
269
+ const blobToFile = async (url, name) => {
270
+ const blobFile = await fetch(url).then((f) => f.blob());
271
+ return new File([blobFile], name, { type: formattedFileType.value });
272
+ };
273
+ const applyImageCropper = async () => {
274
+ const currentImageIndex = currentCropingImageIndex.value ?? 0;
172
275
  try {
173
- await we(e);
174
- } catch (a) {
175
- console.error(a);
276
+ await cropImage(currentImageIndex);
277
+ } catch (error) {
278
+ console.error(error);
176
279
  }
177
- _();
178
- }, _ = () => {
179
- var e;
180
- g.value = !1, (e = D.value) == null || e.call(D), D.value = void 0;
181
- }, we = async (e) => {
182
- if (G.value) {
183
- const a = G.value.getResult();
184
- if (a.canvas) {
185
- const o = a.canvas.toDataURL(M.value);
186
- await he(o, e);
280
+ closeImageCropper();
281
+ };
282
+ const closeImageCropper = () => {
283
+ var _a;
284
+ showImageCropper.value = false;
285
+ (_a = resolveFn.value) == null ? void 0 : _a.call(resolveFn);
286
+ resolveFn.value = void 0;
287
+ };
288
+ const cropImage = async (index) => {
289
+ if (vueAdvanceCropper.value) {
290
+ const croppedImage = vueAdvanceCropper.value.getResult();
291
+ if (croppedImage.canvas) {
292
+ const base64 = croppedImage.canvas.toDataURL(formattedFileType.value);
293
+ await drawCroppedImage(base64, index);
187
294
  }
188
295
  }
189
- }, he = async (e, a) => {
296
+ };
297
+ const drawCroppedImage = async (imageDataURL, index) => {
190
298
  try {
191
- B.value = document.createElement("canvas");
192
- const o = B.value.getContext("2d"), t = new Image();
193
- t.src = e, await t.decode();
194
- const u = 80 / 100, r = t.width * u, L = t.height * u;
195
- B.value.setAttribute("width", r.toString()), B.value.setAttribute("height", L.toString()), o && o.drawImage(t, 0, 0, r, L);
196
- const S = B.value.toDataURL(M.value, 0.95), E = Date.now() + `.${l.fileType}`, p = {
197
- canvas: B.value,
299
+ canvas.value = document.createElement("canvas");
300
+ const canvasContext = canvas.value.getContext("2d");
301
+ const newImage = new Image();
302
+ newImage.src = imageDataURL;
303
+ await newImage.decode();
304
+ const formattedScale = 80 / 100;
305
+ const width = newImage.width * formattedScale;
306
+ const height = newImage.height * formattedScale;
307
+ canvas.value.setAttribute("width", width.toString());
308
+ canvas.value.setAttribute("height", height.toString());
309
+ if (canvasContext) canvasContext.drawImage(newImage, 0, 0, width, height);
310
+ const base64 = canvas.value.toDataURL(formattedFileType.value, 0.95);
311
+ const fileName = Date.now() + `.${props.fileType}`;
312
+ const imageCompressorPayload = {
313
+ canvas: canvas.value,
198
314
  compressed: {
199
- blob: Z(S),
200
- base64: S,
201
- fileName: E,
202
- file: await ye(Z(S), E),
315
+ blob: toBlobObjectURL(base64),
316
+ base64,
317
+ fileName,
318
+ file: await blobToFile(toBlobObjectURL(base64), fileName),
203
319
  size: "",
204
- type: M.value
320
+ type: formattedFileType.value
205
321
  },
206
322
  message: "File has been compressed."
207
323
  };
208
- p.compressed.size = Math.round(p.compressed.file.size / 1e3) + "KB", s.value[a] = p.compressed.blob, l.multiple ? i.value && Array.isArray(i.value) ? i.value[a] = p.compressed.file : i.value = [p.compressed.file] : i.value = p.compressed.file, C("apply", p);
209
- } catch (o) {
210
- console.error(o);
324
+ imageCompressorPayload.compressed.size = Math.round(imageCompressorPayload.compressed.file.size / 1e3) + "KB";
325
+ previewImages.value[index] = imageCompressorPayload.compressed.blob;
326
+ if (props.multiple) {
327
+ if (field.value && Array.isArray(field.value)) {
328
+ field.value[index] = imageCompressorPayload.compressed.file;
329
+ } else {
330
+ field.value = [imageCompressorPayload.compressed.file];
331
+ }
332
+ } else {
333
+ field.value = imageCompressorPayload.compressed.file;
334
+ }
335
+ emit("apply", imageCompressorPayload);
336
+ } catch (error) {
337
+ console.error(error);
338
+ }
339
+ };
340
+ const revokeObjectURL = (index) => {
341
+ if (image.value[index].src) URL.revokeObjectURL(image.value[index].src);
342
+ };
343
+ const onBeforeDeleteImage = (index) => {
344
+ if (props.confirmOnDelete) {
345
+ showDeleteConfirm.value[index] = true;
346
+ } else if (props.emitDeleteFn) {
347
+ emit("delete", deleteImage, index);
348
+ } else deleteImage(index);
349
+ };
350
+ const deleteImage = (index = 0) => {
351
+ invalidInput.value = false;
352
+ invalidMessage.value = void 0;
353
+ previewImages.value = previewImages.value.toSpliced(index, 1);
354
+ revokeObjectURL(index);
355
+ image.value[index] = { src: null, type: null };
356
+ image.value = [image.value[+!index], image.value[index]];
357
+ currentCropingImageIndex.value = 0;
358
+ defaultImage.value = 0;
359
+ if (!props.confirmOnDelete) emit("delete");
360
+ if (props.multiple && Array.isArray(field.value)) {
361
+ field.value = field.value.toSpliced(index, 1);
362
+ } else if (field.handleReset) field.handleReset();
363
+ };
364
+ const editImage = (index) => {
365
+ var _a;
366
+ const currentPreviewImage = (_a = previewImages.value[index]) == null ? void 0 : _a.toString();
367
+ currentCropingImageIndex.value = index;
368
+ if (currentPreviewImage == null ? void 0 : currentPreviewImage.includes("blob")) {
369
+ currentCropingImageIndex.value = index;
370
+ showImageCropper.value = true;
371
+ } else {
372
+ resetCropper(index);
373
+ pickImage();
211
374
  }
212
- }, A = (e) => {
213
- f.value[e].src && URL.revokeObjectURL(f.value[e].src);
214
- }, ee = (e) => {
215
- l.confirmOnDelete ? H.value[e] = !0 : l.emitDeleteFn ? C("delete", J, e) : J(e);
216
- }, J = (e = 0) => {
217
- P.value = !1, w.value = void 0, s.value = s.value.toSpliced(e, 1), A(e), f.value[e] = { src: null, type: null }, f.value = [f.value[+!e], f.value[e]], d.value = 0, O.value = 0, l.confirmOnDelete || C("delete"), l.multiple && Array.isArray(i.value) ? i.value = i.value.toSpliced(e, 1) : i.handleReset && i.handleReset();
218
- }, ae = (e) => {
219
- var o;
220
- const a = (o = s.value[e]) == null ? void 0 : o.toString();
221
- d.value = e, a != null && a.includes("blob") ? (d.value = e, g.value = !0) : (Y(e), F());
222
- }, Ie = () => {
223
- F();
224
- }, le = re(() => navigator.userAgent.includes("Firefox"));
225
- return V(
226
- () => i.value,
227
- (e) => {
228
- (e instanceof File || Array.isArray(e) && e.some((a) => a instanceof File)) && C("update:fieldValue", e);
375
+ };
376
+ const changeImage = () => {
377
+ pickImage();
378
+ };
379
+ const isChromeBased = computed(() => {
380
+ return navigator.userAgent.includes("Chrome");
381
+ });
382
+ watch(
383
+ () => field.value,
384
+ (value) => {
385
+ if (value instanceof File || Array.isArray(value) && value.some((v) => v instanceof File)) {
386
+ emit("update:fieldValue", value);
387
+ }
229
388
  }
230
- ), V(w, (e) => {
231
- e && i.setErrors && i.setErrors(e);
232
- }), V(g, (e) => {
233
- e || X.value++;
234
- }), V(
235
- () => l.initialName,
389
+ );
390
+ watch(invalidMessage, (value) => {
391
+ if (value && field.setErrors) field.setErrors(value);
392
+ });
393
+ watch(showImageCropper, (value) => {
394
+ if (!value) inputImageFileKey.value++;
395
+ });
396
+ watch(
397
+ () => props.initialName,
236
398
  () => {
237
- U();
399
+ assignPreviewImagesFromProp();
238
400
  }
239
- ), V(
240
- () => l.imagePreviewUrl,
401
+ );
402
+ watch(
403
+ () => props.imagePreviewUrl,
241
404
  () => {
242
- U();
405
+ assignPreviewImagesFromProp();
243
406
  },
244
- { once: !0 }
245
- ), ie({ assignPreviewImagesFromProp: U }), (e, a) => (n(), v(T, null, [
246
- m(je, {
247
- class: y([{ "!w-max": !l.multiple, "!w-full": l.multiple }]),
248
- info: l.fieldInfo,
249
- label: l.label,
250
- mandatory: l.mandatory,
251
- "data-wv-name": "image-compressor",
252
- "data-wv-section": "root"
253
- }, {
254
- default: q(() => [
255
- I("div", {
256
- class: y([
257
- "w-full",
258
- { "grid gap-6 items-start grid-cols-2": e.multiple && e.type === "normal" },
259
- {
260
- "grid gap-3 items-start grid-cols-[max-content,max-content]": e.multiple && e.type === "inline-table"
261
- }
262
- ]),
263
- "data-wv-section": "wrapper"
264
- }, [
265
- s.value.length ? (n(!0), v(T, { key: 0 }, Fe(s.value, (o, t) => {
266
- var u;
267
- return n(), v("div", {
268
- key: t,
269
- class: y([[
270
- { "items-start": e.type === "normal" },
271
- { "items-center": e.type === "inline-table" }
272
- ], "flex gap-1"]),
273
- "data-wv-section": "preview"
274
- }, [
275
- I("div", {
276
- class: y([
277
- "flex gap-1 items-center",
278
- { "max-w-[80px]": e.imagePreviewSize === "medium" },
279
- { "max-w-[125px]": e.imagePreviewSize === "big" },
280
- { "flex-col": e.type === "normal" }
281
- ]),
282
- "data-wv-section": "preview-image-wrapper"
407
+ { once: true }
408
+ );
409
+ __expose({ assignPreviewImagesFromProp });
410
+ return (_ctx, _cache) => {
411
+ return openBlock(), createElementBlock(Fragment, null, [
412
+ createVNode(_sfc_main$1, {
413
+ class: normalizeClass([{ "!w-max": !props.multiple, "!w-full": props.multiple }]),
414
+ info: props.fieldInfo,
415
+ label: props.label,
416
+ mandatory: props.mandatory,
417
+ "data-wv-name": "image-compressor",
418
+ "data-wv-section": "root"
419
+ }, {
420
+ default: withCtx(() => [
421
+ createElementVNode("div", {
422
+ class: normalizeClass([
423
+ "w-full",
424
+ { "grid gap-6 items-start grid-cols-2": _ctx.multiple && _ctx.type === "normal" },
425
+ {
426
+ "grid gap-3 items-start grid-cols-[max-content,max-content]": _ctx.multiple && _ctx.type === "inline-table"
427
+ }
428
+ ]),
429
+ "data-wv-section": "wrapper"
430
+ }, [
431
+ previewImages.value.length ? (openBlock(true), createElementBlock(Fragment, { key: 0 }, renderList(previewImages.value, (previewImage, index) => {
432
+ var _a;
433
+ return openBlock(), createElementBlock("div", {
434
+ key: index,
435
+ class: normalizeClass([[
436
+ { "items-start": _ctx.type === "normal" },
437
+ { "items-center": _ctx.type === "inline-table" }
438
+ ], "flex gap-1"]),
439
+ "data-wv-section": "preview"
283
440
  }, [
284
- I("div", {
285
- class: y([
286
- {
287
- "[&>span]:hover:opacity-30 [&>[data-wv-section=input-image-trigger]]:hover:opacity-100": W(t)
288
- },
289
- "relative",
290
- {
291
- "w-[125px] h-[125px]": e.imagePreviewSize === "big" && e.type === "normal",
292
- "w-[30px] h-[30px]": e.imagePreviewSize === "small" || e.type === "inline-table",
293
- "w-[80px] h-[80px]": e.imagePreviewSize === "medium" && e.type === "normal"
294
- }
441
+ createElementVNode("div", {
442
+ class: normalizeClass([
443
+ "flex gap-1 items-center",
444
+ { "max-w-[80px]": _ctx.imagePreviewSize === "medium" },
445
+ { "max-w-[125px]": _ctx.imagePreviewSize === "big" },
446
+ { "flex-col": _ctx.type === "normal" }
295
447
  ]),
296
- "data-wv-section": "image-wrapper"
448
+ "data-wv-section": "preview-image-wrapper"
297
449
  }, [
298
- m(Le, {
299
- class: y([{ "w-[30px] h-[30px]": e.type === "inline-table" }, "transition-opacity duration-300"]),
300
- rounded: e.rounded,
301
- size: e.type === "normal" ? e.imagePreviewSize : "small",
302
- src: o,
303
- "data-wv-section": "preview-image"
304
- }, null, 8, ["class", "rounded", "size", "src"]),
305
- W(t) ? (n(), v("button", {
306
- key: 0,
307
- class: y([
308
- (u = R(ue)) == null ? void 0 : u.button.class,
309
- "hover:bg-opacity-0 rounded-lg opacity-0"
450
+ createElementVNode("div", {
451
+ class: normalizeClass([
452
+ {
453
+ "[&>span]:hover:opacity-30 [&>[data-wv-section=input-image-trigger]]:hover:opacity-100": isInitialImage(index)
454
+ },
455
+ "relative",
456
+ {
457
+ "w-[125px] h-[125px]": _ctx.imagePreviewSize === "big" && _ctx.type === "normal",
458
+ "w-[30px] h-[30px]": _ctx.imagePreviewSize === "small" || _ctx.type === "inline-table",
459
+ "w-[80px] h-[80px]": _ctx.imagePreviewSize === "medium" && _ctx.type === "normal"
460
+ }
310
461
  ]),
311
- onClick: a[0] || (a[0] = (r) => F(!1)),
312
- "data-wv-section": "input-image-trigger",
313
- type: "button"
462
+ "data-wv-section": "image-wrapper"
314
463
  }, [
315
- m(x, {
316
- class: "w-6 h-6",
317
- "data-wv-section": "trigger-icon",
318
- icon: "image-add",
319
- severity: "primary"
320
- })
321
- ], 2)) : c("", !0)
322
- ], 2),
323
- !l.disabled && !W(t) ? (n(), v(T, { key: 0 }, [
324
- I("div", {
325
- class: y([
326
- "flex gap-0.5 justify-center",
327
- { "scale-75": e.imagePreviewSize === "medium" }
328
- ]),
329
- "data-wv-section": "preview-buttons"
330
- }, [
331
- e.type === "normal" ? (n(), v(T, { key: 0 }, [
332
- m(z, {
333
- onClick: (r) => ae(t),
334
- class: "!py-0 !px-1 !h-max",
335
- icon: "pencil",
336
- label: "Edit",
337
- text: ""
338
- }, null, 8, ["onClick"]),
339
- e.useDeleteButton ? (n(), k(z, {
340
- key: 0,
341
- onClick: (r) => ee(t),
342
- class: "!py-0 !px-1 !h-max",
343
- icon: "delete-bin",
344
- label: "Delete",
345
- severity: "danger",
346
- text: ""
347
- }, null, 8, ["onClick"])) : c("", !0)
348
- ], 64)) : (n(), v(T, { key: 1 }, [
349
- m(x, {
350
- onClick: (r) => ae(t),
351
- class: "text-xs p-0.5 rounded-xs mr-1",
352
- icon: "pencil",
464
+ createVNode(_sfc_main$2, {
465
+ class: normalizeClass([{ "w-[30px] h-[30px]": _ctx.type === "inline-table" }, "transition-opacity duration-300"]),
466
+ rounded: _ctx.rounded,
467
+ size: _ctx.type === "normal" ? _ctx.imagePreviewSize : "small",
468
+ src: previewImage,
469
+ "data-wv-section": "preview-image"
470
+ }, null, 8, ["class", "rounded", "size", "src"]),
471
+ isInitialImage(index) ? (openBlock(), createElementBlock("button", {
472
+ key: 0,
473
+ class: normalizeClass([
474
+ (_a = unref(ImagePreset)) == null ? void 0 : _a.button.class,
475
+ "hover:bg-opacity-0 rounded-lg opacity-0"
476
+ ]),
477
+ onClick: _cache[0] || (_cache[0] = ($event) => pickImage(false)),
478
+ "data-wv-section": "input-image-trigger",
479
+ type: "button"
480
+ }, [
481
+ createVNode(_sfc_main$3, {
482
+ class: "w-6 h-6",
483
+ "data-wv-section": "trigger-icon",
484
+ icon: "image-add",
353
485
  severity: "primary"
354
- }, null, 8, ["onClick"]),
355
- m(x, {
356
- onClick: (r) => ee(t),
357
- class: "text-xs p-0.5 rounded-xs",
358
- icon: "delete-bin",
359
- severity: "danger"
360
- }, null, 8, ["onClick"])
361
- ], 64))
486
+ })
487
+ ], 2)) : createCommentVNode("", true)
362
488
  ], 2),
363
- m(Te, {
364
- visible: H.value[t],
365
- "onUpdate:visible": (r) => H.value[t] = r,
366
- closable: !1,
367
- onConfirm: (r) => C("delete", J, t),
368
- body: "Are you sure you want to delete it?",
369
- "confirm-label": "Delete",
370
- header: "Delete Photo",
371
- severity: "danger"
372
- }, null, 8, ["visible", "onUpdate:visible", "onConfirm"])
373
- ], 64)) : c("", !0)
374
- ], 2),
375
- e.type === "normal" ? (n(), k(se, {
376
- key: 0,
377
- "custom-requirements": e.customRequirements,
378
- "show-add-button": s.value.length === 1 && l.multiple,
379
- "show-info": e.showInfo,
380
- onAddPhoto: a[2] || (a[2] = (r) => F(!0))
381
- }, {
382
- default: q(() => [
383
- s.value.length === 2 && l.multiple ? (n(), k(Ne, {
384
- key: 0,
385
- modelValue: O.value,
386
- "onUpdate:modelValue": a[1] || (a[1] = (r) => O.value = r),
387
- "label-id": "default-" + t,
388
- value: t,
389
- label: "Set as default"
390
- }, null, 8, ["modelValue", "label-id", "value"])) : c("", !0)
489
+ !props.disabled && !isInitialImage(index) ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [
490
+ createElementVNode("div", {
491
+ class: normalizeClass([
492
+ "flex gap-0.5 justify-center",
493
+ { "scale-75": _ctx.imagePreviewSize === "medium" }
494
+ ]),
495
+ "data-wv-section": "preview-buttons"
496
+ }, [
497
+ _ctx.type === "normal" ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [
498
+ createVNode(_sfc_main$4, {
499
+ onClick: ($event) => editImage(index),
500
+ class: "!py-0 !px-1 !h-max",
501
+ icon: "pencil",
502
+ label: "Edit",
503
+ text: ""
504
+ }, null, 8, ["onClick"]),
505
+ _ctx.useDeleteButton ? (openBlock(), createBlock(_sfc_main$4, {
506
+ key: 0,
507
+ onClick: ($event) => onBeforeDeleteImage(index),
508
+ class: "!py-0 !px-1 !h-max",
509
+ icon: "delete-bin",
510
+ label: "Delete",
511
+ severity: "danger",
512
+ text: ""
513
+ }, null, 8, ["onClick"])) : createCommentVNode("", true)
514
+ ], 64)) : (openBlock(), createElementBlock(Fragment, { key: 1 }, [
515
+ createVNode(_sfc_main$3, {
516
+ onClick: ($event) => editImage(index),
517
+ class: "text-xs p-0.5 rounded-xs mr-1",
518
+ icon: "pencil",
519
+ severity: "primary"
520
+ }, null, 8, ["onClick"]),
521
+ createVNode(_sfc_main$3, {
522
+ onClick: ($event) => onBeforeDeleteImage(index),
523
+ class: "text-xs p-0.5 rounded-xs",
524
+ icon: "delete-bin",
525
+ severity: "danger"
526
+ }, null, 8, ["onClick"])
527
+ ], 64))
528
+ ], 2),
529
+ createVNode(_sfc_main$5, {
530
+ visible: showDeleteConfirm.value[index],
531
+ "onUpdate:visible": ($event) => showDeleteConfirm.value[index] = $event,
532
+ closable: false,
533
+ onConfirm: ($event) => emit("delete", deleteImage, index),
534
+ body: "Are you sure you want to delete it?",
535
+ "confirm-label": "Delete",
536
+ header: "Delete Photo",
537
+ severity: "danger"
538
+ }, null, 8, ["visible", "onUpdate:visible", "onConfirm"])
539
+ ], 64)) : createCommentVNode("", true)
540
+ ], 2),
541
+ _ctx.type === "normal" ? (openBlock(), createBlock(_sfc_main$6, {
542
+ key: 0,
543
+ "custom-requirements": _ctx.customRequirements,
544
+ "show-add-button": previewImages.value.length === 1 && props.multiple,
545
+ "show-info": _ctx.showInfo,
546
+ onAddPhoto: _cache[2] || (_cache[2] = ($event) => pickImage(true))
547
+ }, {
548
+ default: withCtx(() => [
549
+ previewImages.value.length === 2 && props.multiple ? (openBlock(), createBlock(_sfc_main$7, {
550
+ key: 0,
551
+ modelValue: defaultImage.value,
552
+ "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => defaultImage.value = $event),
553
+ "label-id": "default-" + index,
554
+ value: index,
555
+ label: "Set as default"
556
+ }, null, 8, ["modelValue", "label-id", "value"])) : createCommentVNode("", true)
557
+ ]),
558
+ _: 2
559
+ }, 1032, ["custom-requirements", "show-add-button", "show-info"])) : createCommentVNode("", true),
560
+ _ctx.multiple && previewImages.value.length == 1 && _ctx.type === "inline-table" ? (openBlock(), createBlock(_sfc_main$4, {
561
+ key: 1,
562
+ onClick: _cache[3] || (_cache[3] = ($event) => pickImage(true)),
563
+ icon: "add",
564
+ label: "Photo",
565
+ text: ""
566
+ })) : createCommentVNode("", true)
567
+ ], 2);
568
+ }), 128)) : _ctx.type != "inline-table" ? (openBlock(), createElementBlock("div", _hoisted_1, [
569
+ createElementVNode("button", {
570
+ class: normalizeClass([
571
+ {
572
+ "w-[125px] h-[125px]": _ctx.imagePreviewSize === "big",
573
+ "w-[30px] h-[30px]": _ctx.imagePreviewSize === "small",
574
+ "w-[80px] h-[80px]": _ctx.imagePreviewSize === "medium"
575
+ },
576
+ "flex items-center justify-center",
577
+ "ring-inset",
578
+ "cursor-pointer",
579
+ {
580
+ "ring-1": !isChromeBased.value,
581
+ "ring-[0.5px]": isChromeBased.value
582
+ },
583
+ { "rounded-full": _ctx.rounded, "rounded-lg": !_ctx.rounded },
584
+ {
585
+ "ring-general-400 focus-visible:ring-primary-500": !invalidInput.value && !field.errorMessage,
586
+ "ring-danger-500": invalidInput.value || field.errorMessage
587
+ },
588
+ {
589
+ "bg-white": !props.disabled,
590
+ "bg-general-50": props.disabled
591
+ }
391
592
  ]),
392
- _: 2
393
- }, 1032, ["custom-requirements", "show-add-button", "show-info"])) : c("", !0),
394
- e.multiple && s.value.length == 1 && e.type === "inline-table" ? (n(), k(z, {
395
- key: 1,
396
- onClick: a[3] || (a[3] = (r) => F(!0)),
397
- icon: "add",
398
- label: "Photo",
399
- text: ""
400
- })) : c("", !0)
401
- ], 2);
402
- }), 128)) : e.type != "inline-table" ? (n(), v("div", He, [
403
- I("button", {
404
- class: y([
405
- {
406
- "w-[125px] h-[125px]": e.imagePreviewSize === "big",
407
- "w-[30px] h-[30px]": e.imagePreviewSize === "small",
408
- "w-[80px] h-[80px]": e.imagePreviewSize === "medium"
409
- },
410
- "flex items-center justify-center",
411
- "ring-inset",
412
- "cursor-pointer",
413
- {
414
- "ring-1": le.value,
415
- "ring-[0.5px]": !le.value
416
- },
417
- { "rounded-full": e.rounded, "rounded-lg": !e.rounded },
418
- {
419
- "ring-general-400 focus-visible:ring-primary-500": !P.value && !i.errorMessage,
420
- "ring-danger-500": P.value || i.errorMessage
421
- },
422
- {
423
- "bg-white": !l.disabled,
424
- "bg-general-50": l.disabled
425
- }
426
- ]),
427
- onClick: a[4] || (a[4] = (o) => F(!1)),
428
- "data-wv-section": "input-image-trigger",
429
- type: "button"
430
- }, [
431
- m(x, {
432
- class: "w-6 h-6",
433
- "data-wv-section": "trigger-icon",
434
- icon: "image-add",
435
- severity: "primary"
436
- })
437
- ], 2),
438
- m(se, {
439
- "custom-requirements": e.customRequirements,
440
- "show-info": e.showInfo
441
- }, null, 8, ["custom-requirements", "show-info"])
442
- ])) : c("", !0)
443
- ], 2),
444
- (n(), v("input", {
445
- id: e.fieldName,
446
- key: X.value,
447
- ref_key: "inputImageFile",
448
- ref: Q,
449
- multiple: l.multiple && !s.value.length,
450
- onChange: ce,
451
- accept: "image/*",
452
- class: "hidden",
453
- "data-wv-section": "hidden-image-input",
454
- type: "file"
455
- }, null, 40, We)),
456
- e.type === "inline-table" && !s.value.length ? (n(), v("label", {
457
- key: 0,
458
- for: e.fieldName,
459
- class: "inline-flex items-center cursor-pointer"
460
- }, a[6] || (a[6] = [
461
- I("span", { class: "inline-flex items-center text-body-medium rounded-bl rounded-tl bg-general-50 px-3 h-[26px] border-[0.5px] border-general-200" }, " Browse ", -1),
462
- I("span", { class: "inline-flex items-center text-body-medium !text-general-200 !font-light rounded-br rounded-tr px-3 h-[26px] leading-4 border-[0.5px] border-l-0 border-general-200" }, " Select File ", -1)
463
- ]), 8, Je)) : c("", !0),
464
- e.showValidatorMessage ? (n(), k(Ee, {
465
- key: 1,
466
- format: !1,
467
- message: i.errorMessage ?? w.value
468
- }, null, 8, ["message"])) : c("", !0),
469
- l.multiple ? (n(), k(Oe, {
470
- key: 2,
471
- value: O.value ? "secondImage" : "firstImage",
472
- "field-name": "defaultImage"
473
- }, null, 8, ["value"])) : c("", !0)
474
- ]),
475
- _: 1
476
- }, 8, ["class", "info", "label", "mandatory"]),
477
- m(Ve, {
478
- visible: g.value,
479
- "onUpdate:visible": a[5] || (a[5] = (o) => g.value = o),
480
- draggable: !1,
481
- header: R(j).cropDialogHeader,
482
- class: "w-max max-w-[98vw] min-w-[min(500px,98vw)] !max-h-[94vh]",
483
- "content-class": "overflow-hidden overflow-y-auto min-h-[100px]",
484
- "data-wv-section": "dialog-cropper",
485
- "footer-class": "!gap-1",
486
- modal: ""
487
- }, {
488
- footer: q(() => [
489
- m(z, {
490
- label: R(j).cancelCropLabel,
491
- onClick: _,
492
- "data-wv-section": "cancel-crop",
493
- severity: "secondary",
494
- text: "",
495
- type: "button"
496
- }, null, 8, ["label"]),
497
- m(z, {
498
- label: R(j).changeImageLabel,
499
- onClick: Ie,
500
- "data-wv-section": "change-image-button",
501
- text: "",
502
- type: "button"
503
- }, null, 8, ["label"]),
504
- m(z, {
505
- label: R(j).applyCropLabel,
506
- onClick: be,
507
- "data-wv-section": "apply-image-button",
508
- severity: "success",
509
- type: "button"
510
- }, null, 8, ["label"])
511
- ]),
512
- default: q(() => [
513
- d.value != null ? (n(), k(R($e), {
514
- key: 0,
515
- ref_key: "vueAdvanceCropper",
516
- ref: G,
517
- "auto-zoom": !1,
518
- "background-wrapper-component": qe,
519
- src: f.value[d.value].src,
520
- class: "upload-example-cropper h-400",
521
- "foreground-class": "h-400",
522
- "image-class": "h-400"
523
- }, null, 8, ["src"])) : c("", !0)
524
- ]),
525
- _: 1
526
- }, 8, ["visible", "header"])
527
- ], 64));
593
+ onClick: _cache[4] || (_cache[4] = ($event) => pickImage(false)),
594
+ "data-wv-section": "input-image-trigger",
595
+ type: "button"
596
+ }, [
597
+ createVNode(_sfc_main$3, {
598
+ class: "w-6 h-6",
599
+ "data-wv-section": "trigger-icon",
600
+ icon: "image-add",
601
+ severity: "primary"
602
+ })
603
+ ], 2),
604
+ createVNode(_sfc_main$6, {
605
+ "custom-requirements": _ctx.customRequirements,
606
+ "show-info": _ctx.showInfo
607
+ }, null, 8, ["custom-requirements", "show-info"])
608
+ ])) : createCommentVNode("", true)
609
+ ], 2),
610
+ (openBlock(), createElementBlock("input", {
611
+ id: _ctx.fieldName,
612
+ key: inputImageFileKey.value,
613
+ ref_key: "inputImageFile",
614
+ ref: inputImageFile,
615
+ multiple: props.multiple && !previewImages.value.length,
616
+ onChange: handleImageSelected,
617
+ accept: "image/*",
618
+ class: "hidden",
619
+ "data-wv-section": "hidden-image-input",
620
+ type: "file"
621
+ }, null, 40, _hoisted_2)),
622
+ _ctx.type === "inline-table" && !previewImages.value.length ? (openBlock(), createElementBlock("label", {
623
+ key: 0,
624
+ for: _ctx.fieldName,
625
+ class: "inline-flex items-center cursor-pointer"
626
+ }, _cache[6] || (_cache[6] = [
627
+ createElementVNode("span", { class: "inline-flex items-center text-body-medium rounded-bl rounded-tl bg-general-50 px-3 h-[26px] border-[0.5px] border-general-200" }, " Browse ", -1),
628
+ createElementVNode("span", { class: "inline-flex items-center text-body-medium !text-general-200 !font-light rounded-br rounded-tr px-3 h-[26px] leading-4 border-[0.5px] border-l-0 border-general-200" }, " Select File ", -1)
629
+ ]), 8, _hoisted_3)) : createCommentVNode("", true),
630
+ _ctx.showValidatorMessage ? (openBlock(), createBlock(_sfc_main$8, {
631
+ key: 1,
632
+ format: false,
633
+ message: field.errorMessage ?? invalidMessage.value
634
+ }, null, 8, ["message"])) : createCommentVNode("", true),
635
+ props.multiple ? (openBlock(), createBlock(_sfc_main$9, {
636
+ key: 2,
637
+ value: defaultImage.value ? "secondImage" : "firstImage",
638
+ "field-name": "defaultImage"
639
+ }, null, 8, ["value"])) : createCommentVNode("", true)
640
+ ]),
641
+ _: 1
642
+ }, 8, ["class", "info", "label", "mandatory"]),
643
+ createVNode(_sfc_main$a, {
644
+ visible: showImageCropper.value,
645
+ "onUpdate:visible": _cache[5] || (_cache[5] = ($event) => showImageCropper.value = $event),
646
+ draggable: false,
647
+ header: unref(locale).cropDialogHeader,
648
+ class: "w-max max-w-[98vw] min-w-[min(500px,98vw)] !max-h-[94vh]",
649
+ "content-class": "overflow-hidden overflow-y-auto min-h-[100px]",
650
+ "data-wv-section": "dialog-cropper",
651
+ "footer-class": "!gap-1",
652
+ modal: ""
653
+ }, {
654
+ footer: withCtx(() => [
655
+ createVNode(_sfc_main$4, {
656
+ label: unref(locale).cancelCropLabel,
657
+ onClick: closeImageCropper,
658
+ "data-wv-section": "cancel-crop",
659
+ severity: "secondary",
660
+ text: "",
661
+ type: "button"
662
+ }, null, 8, ["label"]),
663
+ createVNode(_sfc_main$4, {
664
+ label: unref(locale).changeImageLabel,
665
+ onClick: changeImage,
666
+ "data-wv-section": "change-image-button",
667
+ text: "",
668
+ type: "button"
669
+ }, null, 8, ["label"]),
670
+ createVNode(_sfc_main$4, {
671
+ label: unref(locale).applyCropLabel,
672
+ onClick: applyImageCropper,
673
+ "data-wv-section": "apply-image-button",
674
+ severity: "success",
675
+ type: "button"
676
+ }, null, 8, ["label"])
677
+ ]),
678
+ default: withCtx(() => [
679
+ currentCropingImageIndex.value != null ? (openBlock(), createBlock(unref(fe), {
680
+ key: 0,
681
+ ref_key: "vueAdvanceCropper",
682
+ ref: vueAdvanceCropper,
683
+ "auto-zoom": false,
684
+ "background-wrapper-component": BackgroundImageCropper,
685
+ src: image.value[currentCropingImageIndex.value].src,
686
+ class: "upload-example-cropper h-400",
687
+ "foreground-class": "h-400",
688
+ "image-class": "h-400"
689
+ }, null, 8, ["src"])) : createCommentVNode("", true)
690
+ ]),
691
+ _: 1
692
+ }, 8, ["visible", "header"])
693
+ ], 64);
694
+ };
528
695
  }
529
696
  });
530
697
  export {
531
- fa as _,
532
- ca as c,
533
- xe as g
698
+ _sfc_main as _,
699
+ commonjsGlobal as c,
700
+ getDefaultExportFromCjs as g
534
701
  };