@erpsquad/common 1.8.83 → 1.8.84

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 (320) hide show
  1. package/dist/_virtual/index/index.esm3.js +2 -4
  2. package/dist/_virtual/index/index.esm3.js.map +1 -1
  3. package/dist/_virtual/index/index.esm4.js +3 -3
  4. package/dist/_virtual/index/index.esm5.js +4 -2
  5. package/dist/_virtual/index/index.esm5.js.map +1 -1
  6. package/dist/_virtual/index/index3.js +1 -1
  7. package/dist/_virtual/index/index4.js +1 -1
  8. package/dist/_virtual/index/index5.js +1 -1
  9. package/dist/components/accordion/accordion.d.ts +1 -1
  10. package/dist/components/action-bar/action-bar/index.esm.js +1 -1
  11. package/dist/components/action-bar/action-bar/index.esm.js.map +1 -1
  12. package/dist/components/action-bar/action-bar/index.js +5 -5
  13. package/dist/components/action-bar/action-bar/index.js.map +1 -1
  14. package/dist/components/action-bar/action-bar.d.ts +1 -1
  15. package/dist/components/checkbox/checkbox.d.ts +1 -1
  16. package/dist/components/date-picker/date-picker.d.ts +1 -1
  17. package/dist/components/filter/components/delete-group/index.esm.js +1 -0
  18. package/dist/components/filter/components/delete-group/index.esm.js.map +1 -1
  19. package/dist/components/filter/components/delete-group/index.js +1 -1
  20. package/dist/components/filter/components/delete-group/index.js.map +1 -1
  21. package/dist/components/filter/filter/index.esm.js +1 -1
  22. package/dist/components/filter/filter/index.esm.js.map +1 -1
  23. package/dist/components/filter/filter/index.js +7 -7
  24. package/dist/components/filter/filter/index.js.map +1 -1
  25. package/dist/components/footer/footer.d.ts +1 -1
  26. package/dist/components/form-control/form-builder/form-builder-element/media.d.ts +1 -1
  27. package/dist/components/form-control/form-builder/form-builder-element/phone.d.ts +1 -1
  28. package/dist/components/form-control/form-builder/form-builder-element/select.d.ts +1 -1
  29. package/dist/components/form-control/form-builder/form-builder-element/text.d.ts +1 -1
  30. package/dist/components/form-control/form-builder/form-builder-element/time.d.ts +1 -1
  31. package/dist/components/form-control/form-parser/form-switcher.d.ts +1 -1
  32. package/dist/components/header/redux/actionCreator/index.esm.js +1 -1
  33. package/dist/components/header/redux/actionCreator/index.esm.js.map +1 -1
  34. package/dist/components/header/redux/actionCreator/index.js +1 -1
  35. package/dist/components/header/redux/actionCreator/index.js.map +1 -1
  36. package/dist/components/icons/action-arrow.d.ts +3 -3
  37. package/dist/components/icons/add-circle.d.ts +3 -3
  38. package/dist/components/icons/arrow-bidirectional.d.ts +3 -3
  39. package/dist/components/icons/arrow-circle-down.d.ts +3 -3
  40. package/dist/components/icons/arrow-down-three.d.ts +3 -3
  41. package/dist/components/icons/arrow-down-two.d.ts +3 -3
  42. package/dist/components/icons/arrow-down.d.ts +3 -3
  43. package/dist/components/icons/arrow-up-down.d.ts +3 -3
  44. package/dist/components/icons/arrow-up-two.d.ts +3 -3
  45. package/dist/components/icons/assignments.d.ts +3 -3
  46. package/dist/components/icons/blank-circle.d.ts +3 -3
  47. package/dist/components/icons/block-filled.d.ts +3 -3
  48. package/dist/components/icons/calendar-add.d.ts +3 -3
  49. package/dist/components/icons/calendar.d.ts +3 -3
  50. package/dist/components/icons/checkbox-square.d.ts +3 -3
  51. package/dist/components/icons/circular-arrow-setting.d.ts +3 -3
  52. package/dist/components/icons/clock.d.ts +3 -3
  53. package/dist/components/icons/close.d.ts +3 -3
  54. package/dist/components/icons/coin-outline.d.ts +3 -3
  55. package/dist/components/icons/copy.d.ts +3 -3
  56. package/dist/components/icons/coupon.d.ts +3 -3
  57. package/dist/components/icons/cross-hire.d.ts +3 -3
  58. package/dist/components/icons/custom-styled-icon.d.ts +3 -3
  59. package/dist/components/icons/dashboard.d.ts +3 -3
  60. package/dist/components/icons/document-download.d.ts +3 -3
  61. package/dist/components/icons/document.d.ts +3 -3
  62. package/dist/components/icons/dollar-circle-filled.d.ts +3 -3
  63. package/dist/components/icons/dollar-circle.d.ts +3 -3
  64. package/dist/components/icons/edit.d.ts +3 -3
  65. package/dist/components/icons/email.d.ts +3 -3
  66. package/dist/components/icons/export.d.ts +3 -3
  67. package/dist/components/icons/eye-off.d.ts +3 -3
  68. package/dist/components/icons/eye-plus-circle.d.ts +3 -3
  69. package/dist/components/icons/eye.d.ts +3 -3
  70. package/dist/components/icons/filled-circle.d.ts +3 -3
  71. package/dist/components/icons/filter-remove.d.ts +3 -3
  72. package/dist/components/icons/filter.d.ts +3 -3
  73. package/dist/components/icons/folder-save.d.ts +3 -3
  74. package/dist/components/icons/grid.d.ts +3 -3
  75. package/dist/components/icons/hashtag.d.ts +3 -3
  76. package/dist/components/icons/image.d.ts +3 -3
  77. package/dist/components/icons/import.d.ts +3 -3
  78. package/dist/components/icons/info-circle.d.ts +3 -3
  79. package/dist/components/icons/info.d.ts +3 -3
  80. package/dist/components/icons/link-horizontal.d.ts +3 -3
  81. package/dist/components/icons/link.d.ts +3 -3
  82. package/dist/components/icons/location.d.ts +3 -3
  83. package/dist/components/icons/lowest-lead-time.d.ts +3 -3
  84. package/dist/components/icons/lowest-min-qty.d.ts +3 -3
  85. package/dist/components/icons/lowest-price.d.ts +3 -3
  86. package/dist/components/icons/more.d.ts +3 -3
  87. package/dist/components/icons/notification.d.ts +3 -3
  88. package/dist/components/icons/paper-clip.d.ts +3 -3
  89. package/dist/components/icons/paragraph.d.ts +3 -3
  90. package/dist/components/icons/payment-request.d.ts +3 -3
  91. package/dist/components/icons/phone.d.ts +3 -3
  92. package/dist/components/icons/printer.d.ts +3 -3
  93. package/dist/components/icons/process-calendar.d.ts +3 -3
  94. package/dist/components/icons/promotion.d.ts +3 -3
  95. package/dist/components/icons/radio-button.d.ts +3 -3
  96. package/dist/components/icons/receipt-filled.d.ts +3 -3
  97. package/dist/components/icons/receipt-outline.d.ts +3 -3
  98. package/dist/components/icons/receipt.d.ts +3 -3
  99. package/dist/components/icons/refresh-icon.d.ts +3 -3
  100. package/dist/components/icons/replace.d.ts +3 -3
  101. package/dist/components/icons/save.d.ts +3 -3
  102. package/dist/components/icons/search-status.d.ts +3 -3
  103. package/dist/components/icons/search.d.ts +3 -3
  104. package/dist/components/icons/settings-fallback.d.ts +3 -3
  105. package/dist/components/icons/sort-arrow-icon.d.ts +3 -3
  106. package/dist/components/icons/stacked-layer.d.ts +3 -3
  107. package/dist/components/icons/start-filled.d.ts +3 -3
  108. package/dist/components/icons/three-dot-icon.d.ts +3 -3
  109. package/dist/components/icons/tick-circle-filled.d.ts +3 -3
  110. package/dist/components/icons/tick-circle.d.ts +3 -3
  111. package/dist/components/icons/tick-octagon.d.ts +3 -3
  112. package/dist/components/icons/tick.d.ts +3 -3
  113. package/dist/components/icons/toggle-switch.d.ts +3 -3
  114. package/dist/components/icons/trash.d.ts +3 -3
  115. package/dist/components/icons/wave.d.ts +3 -3
  116. package/dist/components/icons/with-out-tick-octagon.d.ts +3 -3
  117. package/dist/components/icons/work-centre.d.ts +3 -3
  118. package/dist/components/index.esm.js +279 -277
  119. package/dist/components/index.esm.js.map +1 -1
  120. package/dist/components/index.js +1 -1
  121. package/dist/components/inventory-reports-title-bar/redux/actionCreator/index.esm.js +1 -1
  122. package/dist/components/inventory-reports-title-bar/redux/actionCreator/index.esm.js.map +1 -1
  123. package/dist/components/inventory-reports-title-bar/redux/actionCreator/index.js +1 -1
  124. package/dist/components/inventory-reports-title-bar/redux/actionCreator/index.js.map +1 -1
  125. package/dist/components/location-select.d.ts +1 -1
  126. package/dist/components/material-editable-table/material-editable-table.d.ts +1 -1
  127. package/dist/components/material-table/material-table.d.ts +1 -1
  128. package/dist/components/phone-input/phone-input.d.ts +1 -1
  129. package/dist/components/providers/ERPUIProvider/index.esm.js +1 -15
  130. package/dist/components/providers/ERPUIProvider/index.esm.js.map +1 -1
  131. package/dist/components/providers/ERPUIProvider/index.js +1 -1
  132. package/dist/components/providers/ERPUIProvider/index.js.map +1 -1
  133. package/dist/components/providers/ERPUIProvider.d.ts +0 -2
  134. package/dist/components/radio/radio.d.ts +1 -1
  135. package/dist/components/reports-title-bar/redux/actionCreator/index.esm.js +1 -1
  136. package/dist/components/reports-title-bar/redux/actionCreator/index.esm.js.map +1 -1
  137. package/dist/components/reports-title-bar/redux/actionCreator/index.js +1 -1
  138. package/dist/components/reports-title-bar/redux/actionCreator/index.js.map +1 -1
  139. package/dist/components/select/select.d.ts +1 -1
  140. package/dist/components/share-modal/redux/actionCreator/index.esm.js +1 -1
  141. package/dist/components/share-modal/redux/actionCreator/index.esm.js.map +1 -1
  142. package/dist/components/share-modal/redux/actionCreator/index.js +1 -1
  143. package/dist/components/share-modal/redux/actionCreator/index.js.map +1 -1
  144. package/dist/components/switches/android-12-switch.d.ts +1 -3
  145. package/dist/components/text-field/text-field.d.ts +1 -1
  146. package/dist/components/time-picker/time-picker.d.ts +1 -1
  147. package/dist/components/uom-field-wrapper/index.d.ts +1 -0
  148. package/dist/components/uom-field-wrapper/uom-field-wrapper/index.esm.js +76 -0
  149. package/dist/components/uom-field-wrapper/uom-field-wrapper/index.esm.js.map +1 -0
  150. package/dist/components/uom-field-wrapper/uom-field-wrapper/index.js +3 -0
  151. package/dist/components/uom-field-wrapper/uom-field-wrapper/index.js.map +1 -0
  152. package/dist/components/uom-field-wrapper/uom-field-wrapper.d.ts +22 -0
  153. package/dist/components/upload/upload/index.esm.js +2 -2
  154. package/dist/components/upload/upload/index.esm.js.map +1 -1
  155. package/dist/components/upload/upload/index.js +11 -11
  156. package/dist/components/upload/upload/index.js.map +1 -1
  157. package/dist/components/upload-media/upload-media.d.ts +1 -1
  158. package/dist/contexts/AuthContext/index.esm.js +2 -2
  159. package/dist/contexts/AuthContext/index.esm.js.map +1 -1
  160. package/dist/contexts/AuthContext/index.js +1 -1
  161. package/dist/contexts/AuthContext/index.js.map +1 -1
  162. package/dist/contexts/languageContext/index.esm.js +1 -1
  163. package/dist/contexts/languageContext/index.esm.js.map +1 -1
  164. package/dist/contexts/languageContext/index.js +1 -1
  165. package/dist/contexts/languageContext/index.js.map +1 -1
  166. package/dist/hooks/useUomFieldUpdater/index.esm.js +24 -0
  167. package/dist/hooks/useUomFieldUpdater/index.esm.js.map +1 -0
  168. package/dist/hooks/useUomFieldUpdater/index.js +2 -0
  169. package/dist/hooks/useUomFieldUpdater/index.js.map +1 -0
  170. package/dist/hooks/useUomFieldUpdater.d.ts +8 -0
  171. package/dist/index.esm.js +349 -353
  172. package/dist/index.js +1 -1
  173. package/dist/node_modules/@asseinfo/react-kanban/dist/index/index.esm.js +1 -1
  174. package/dist/node_modules/@asseinfo/react-kanban/dist/index/index.js +1 -1
  175. package/dist/node_modules/@mui/system/colorManipulator/index.esm.js +2 -2
  176. package/dist/node_modules/@mui/system/colorManipulator/index.js +1 -1
  177. package/dist/src/components/accordion/accordion.d.ts +1 -1
  178. package/dist/src/components/action-bar/action-bar.d.ts +1 -1
  179. package/dist/src/components/checkbox/checkbox.d.ts +1 -1
  180. package/dist/src/components/date-picker/date-picker.d.ts +1 -1
  181. package/dist/src/components/footer/footer.d.ts +1 -1
  182. package/dist/src/components/form-control/form-builder/form-builder-element/media.d.ts +1 -1
  183. package/dist/src/components/form-control/form-builder/form-builder-element/phone.d.ts +1 -1
  184. package/dist/src/components/form-control/form-builder/form-builder-element/select.d.ts +1 -1
  185. package/dist/src/components/form-control/form-builder/form-builder-element/text.d.ts +1 -1
  186. package/dist/src/components/form-control/form-builder/form-builder-element/time.d.ts +1 -1
  187. package/dist/src/components/form-control/form-parser/form-switcher.d.ts +1 -1
  188. package/dist/src/components/icons/action-arrow.d.ts +3 -3
  189. package/dist/src/components/icons/add-circle.d.ts +3 -3
  190. package/dist/src/components/icons/arrow-bidirectional.d.ts +3 -3
  191. package/dist/src/components/icons/arrow-circle-down.d.ts +3 -3
  192. package/dist/src/components/icons/arrow-down-three.d.ts +3 -3
  193. package/dist/src/components/icons/arrow-down-two.d.ts +3 -3
  194. package/dist/src/components/icons/arrow-down.d.ts +3 -3
  195. package/dist/src/components/icons/arrow-up-down.d.ts +3 -3
  196. package/dist/src/components/icons/arrow-up-two.d.ts +3 -3
  197. package/dist/src/components/icons/assignments.d.ts +3 -3
  198. package/dist/src/components/icons/blank-circle.d.ts +3 -3
  199. package/dist/src/components/icons/block-filled.d.ts +3 -3
  200. package/dist/src/components/icons/calendar-add.d.ts +3 -3
  201. package/dist/src/components/icons/calendar.d.ts +3 -3
  202. package/dist/src/components/icons/checkbox-square.d.ts +3 -3
  203. package/dist/src/components/icons/circular-arrow-setting.d.ts +3 -3
  204. package/dist/src/components/icons/clock.d.ts +3 -3
  205. package/dist/src/components/icons/close.d.ts +3 -3
  206. package/dist/src/components/icons/coin-outline.d.ts +3 -3
  207. package/dist/src/components/icons/copy.d.ts +3 -3
  208. package/dist/src/components/icons/coupon.d.ts +3 -3
  209. package/dist/src/components/icons/cross-hire.d.ts +3 -3
  210. package/dist/src/components/icons/custom-styled-icon.d.ts +3 -3
  211. package/dist/src/components/icons/dashboard.d.ts +3 -3
  212. package/dist/src/components/icons/document-download.d.ts +3 -3
  213. package/dist/src/components/icons/document.d.ts +3 -3
  214. package/dist/src/components/icons/dollar-circle-filled.d.ts +3 -3
  215. package/dist/src/components/icons/dollar-circle.d.ts +3 -3
  216. package/dist/src/components/icons/edit.d.ts +3 -3
  217. package/dist/src/components/icons/email.d.ts +3 -3
  218. package/dist/src/components/icons/export.d.ts +3 -3
  219. package/dist/src/components/icons/eye-off.d.ts +3 -3
  220. package/dist/src/components/icons/eye-plus-circle.d.ts +3 -3
  221. package/dist/src/components/icons/eye.d.ts +3 -3
  222. package/dist/src/components/icons/filled-circle.d.ts +3 -3
  223. package/dist/src/components/icons/filter-remove.d.ts +3 -3
  224. package/dist/src/components/icons/filter.d.ts +3 -3
  225. package/dist/src/components/icons/folder-save.d.ts +3 -3
  226. package/dist/src/components/icons/grid.d.ts +3 -3
  227. package/dist/src/components/icons/hashtag.d.ts +3 -3
  228. package/dist/src/components/icons/image.d.ts +3 -3
  229. package/dist/src/components/icons/import.d.ts +3 -3
  230. package/dist/src/components/icons/info-circle.d.ts +3 -3
  231. package/dist/src/components/icons/info.d.ts +3 -3
  232. package/dist/src/components/icons/link-horizontal.d.ts +3 -3
  233. package/dist/src/components/icons/link.d.ts +3 -3
  234. package/dist/src/components/icons/location.d.ts +3 -3
  235. package/dist/src/components/icons/lowest-lead-time.d.ts +3 -3
  236. package/dist/src/components/icons/lowest-min-qty.d.ts +3 -3
  237. package/dist/src/components/icons/lowest-price.d.ts +3 -3
  238. package/dist/src/components/icons/more.d.ts +3 -3
  239. package/dist/src/components/icons/notification.d.ts +3 -3
  240. package/dist/src/components/icons/paper-clip.d.ts +3 -3
  241. package/dist/src/components/icons/paragraph.d.ts +3 -3
  242. package/dist/src/components/icons/payment-request.d.ts +3 -3
  243. package/dist/src/components/icons/phone.d.ts +3 -3
  244. package/dist/src/components/icons/printer.d.ts +3 -3
  245. package/dist/src/components/icons/process-calendar.d.ts +3 -3
  246. package/dist/src/components/icons/promotion.d.ts +3 -3
  247. package/dist/src/components/icons/radio-button.d.ts +3 -3
  248. package/dist/src/components/icons/receipt-filled.d.ts +3 -3
  249. package/dist/src/components/icons/receipt-outline.d.ts +3 -3
  250. package/dist/src/components/icons/receipt.d.ts +3 -3
  251. package/dist/src/components/icons/refresh-icon.d.ts +3 -3
  252. package/dist/src/components/icons/replace.d.ts +3 -3
  253. package/dist/src/components/icons/save.d.ts +3 -3
  254. package/dist/src/components/icons/search-status.d.ts +3 -3
  255. package/dist/src/components/icons/search.d.ts +3 -3
  256. package/dist/src/components/icons/settings-fallback.d.ts +3 -3
  257. package/dist/src/components/icons/sort-arrow-icon.d.ts +3 -3
  258. package/dist/src/components/icons/stacked-layer.d.ts +3 -3
  259. package/dist/src/components/icons/start-filled.d.ts +3 -3
  260. package/dist/src/components/icons/three-dot-icon.d.ts +3 -3
  261. package/dist/src/components/icons/tick-circle-filled.d.ts +3 -3
  262. package/dist/src/components/icons/tick-circle.d.ts +3 -3
  263. package/dist/src/components/icons/tick-octagon.d.ts +3 -3
  264. package/dist/src/components/icons/tick.d.ts +3 -3
  265. package/dist/src/components/icons/toggle-switch.d.ts +3 -3
  266. package/dist/src/components/icons/trash.d.ts +3 -3
  267. package/dist/src/components/icons/wave.d.ts +3 -3
  268. package/dist/src/components/icons/with-out-tick-octagon.d.ts +3 -3
  269. package/dist/src/components/icons/work-centre.d.ts +3 -3
  270. package/dist/src/components/index.d.ts +2 -0
  271. package/dist/src/components/location-select.d.ts +1 -1
  272. package/dist/src/components/material-editable-table/material-editable-table.d.ts +1 -1
  273. package/dist/src/components/material-table/material-table.d.ts +1 -1
  274. package/dist/src/components/phone-input/phone-input.d.ts +1 -1
  275. package/dist/src/components/providers/ERPUIProvider.d.ts +0 -2
  276. package/dist/src/components/radio/radio.d.ts +1 -1
  277. package/dist/src/components/select/select.d.ts +1 -1
  278. package/dist/src/components/switches/android-12-switch.d.ts +1 -3
  279. package/dist/src/components/text-field/text-field.d.ts +1 -1
  280. package/dist/src/components/time-picker/time-picker.d.ts +1 -1
  281. package/dist/src/components/uom-field-wrapper/index.d.ts +1 -0
  282. package/dist/src/components/uom-field-wrapper/uom-field-wrapper.d.ts +22 -0
  283. package/dist/src/components/upload-media/upload-media.d.ts +1 -1
  284. package/dist/src/hooks/useUomFieldUpdater.d.ts +8 -0
  285. package/dist/src/utils/api.d.ts +0 -1
  286. package/dist/src/utils/common-utility.d.ts +1 -1
  287. package/dist/src/utils/index.d.ts +0 -1
  288. package/dist/style.css +71 -71
  289. package/dist/utils/api/index.esm.js +7 -20
  290. package/dist/utils/api/index.esm.js.map +1 -1
  291. package/dist/utils/api/index.js +1 -1
  292. package/dist/utils/api/index.js.map +1 -1
  293. package/dist/utils/api.d.ts +0 -1
  294. package/dist/utils/common/index.esm.js +6 -7
  295. package/dist/utils/common/index.esm.js.map +1 -1
  296. package/dist/utils/common/index.js +1 -1
  297. package/dist/utils/common/index.js.map +1 -1
  298. package/dist/utils/common-utility.d.ts +1 -1
  299. package/dist/utils/index.esm.js +1 -7
  300. package/dist/utils/index.esm.js.map +1 -1
  301. package/dist/utils/index.js +1 -1
  302. package/dist/views/form-builder/redux/actionCreator/index.esm.js +1 -1
  303. package/dist/views/form-builder/redux/actionCreator/index.esm.js.map +1 -1
  304. package/dist/views/form-builder/redux/actionCreator/index.js +1 -1
  305. package/dist/views/form-builder/redux/actionCreator/index.js.map +1 -1
  306. package/dist/views/template-editor/components/EditorSidebar/index.esm.js +1 -1
  307. package/dist/views/template-editor/components/EditorSidebar/index.esm.js.map +1 -1
  308. package/dist/views/template-editor/components/EditorSidebar/index.js +1 -1
  309. package/dist/views/template-editor/components/EditorSidebar/index.js.map +1 -1
  310. package/dist/views/template-editor/templates/index.esm.js +1 -1
  311. package/dist/views/template-editor/templates/index.esm.js.map +1 -1
  312. package/dist/views/template-editor/templates/index.js +1 -1
  313. package/dist/views/template-editor/templates/index.js.map +1 -1
  314. package/package.json +1 -1
  315. package/dist/src/utils/api-config.d.ts +0 -48
  316. package/dist/utils/api-config/index.esm.js +0 -36
  317. package/dist/utils/api-config/index.esm.js.map +0 -1
  318. package/dist/utils/api-config/index.js +0 -2
  319. package/dist/utils/api-config/index.js.map +0 -1
  320. package/dist/utils/api-config.d.ts +0 -48
@@ -1,5 +1,3 @@
1
- declare const Android12Switch: import('@emotion/styled').StyledComponent<Pick<{}, never> & import('@mui/system').MUIStyledCommonProps<import('@mui/material').Theme>, {}, {
2
- ref?: import('react').Ref<import('react').Component<{}, any, any>>;
3
- }>;
1
+ declare const Android12Switch: import('@emotion/styled').StyledComponent<import('@mui/material').SwitchProps & import('@mui/system').MUIStyledCommonProps<import('@mui/material').Theme>, {}, {}>;
4
2
  export { Android12Switch };
5
3
  export default Android12Switch;
@@ -1,4 +1,4 @@
1
1
 
2
- declare const TextField: import('react').NamedExoticComponent<any>;
2
+ declare const TextField: import('react').MemoExoticComponent<(props: any) => import("react/jsx-runtime").JSX.Element>;
3
3
  export { TextField };
4
4
  export default TextField;
@@ -12,6 +12,6 @@ export interface TimePickerProps {
12
12
  placeholder?: string;
13
13
  required?: boolean;
14
14
  }
15
- declare const TimePicker: import('react').NamedExoticComponent<TimePickerProps>;
15
+ declare const TimePicker: import('react').MemoExoticComponent<(props: TimePickerProps) => import("react/jsx-runtime").JSX.Element>;
16
16
  export { TimePicker };
17
17
  export default TimePicker;
@@ -0,0 +1 @@
1
+ export { default as UomFieldWrapper } from './uom-field-wrapper';
@@ -0,0 +1,76 @@
1
+ import { jsx } from "react/jsx-runtime";
2
+ import { useState, useMemo, useEffect } from "react";
3
+ import DynamicSearchSelect from "../../form-control/form-builder/form-builder-element/dynamic-select/index.esm.js";
4
+ import { useUomFieldUpdater } from "../../../hooks/useUomFieldUpdater/index.esm.js";
5
+ import { useFormContext } from "react-hook-form";
6
+ const UomFieldWrapper = ({
7
+ label,
8
+ name = "uom_id",
9
+ placeholder,
10
+ fieldArrayName,
11
+ required = false,
12
+ is_loading = false,
13
+ disabled = false,
14
+ selectedItem,
15
+ fieldMapping = {
16
+ "total_on_hand_quantity": "on_hand_quantity",
17
+ "total_available_quantity": "available_quantity",
18
+ "total_committed_quantity": "committed_quantity"
19
+ },
20
+ customeFilter,
21
+ getSelectedData,
22
+ fieldPrefix,
23
+ setValue,
24
+ control,
25
+ isConversationFactor = true
26
+ }) => {
27
+ const [uomDetails, setUomDetails] = useState(null);
28
+ const formContext = useFormContext();
29
+ const {
30
+ setValue: contextSetValue
31
+ } = formContext || {};
32
+ const effectiveFieldPrefix = fieldPrefix !== void 0 ? fieldPrefix : fieldArrayName || "";
33
+ const finalFieldMapping = useMemo(
34
+ () => fieldMapping,
35
+ //eslint-disable-next-line
36
+ [JSON.stringify(fieldMapping)]
37
+ );
38
+ const handleUomChange = useUomFieldUpdater({
39
+ fieldMapping: finalFieldMapping,
40
+ sourceData: selectedItem,
41
+ conversation_factor: uomDetails == null ? void 0 : uomDetails.conversation_factor,
42
+ fieldPrefix: effectiveFieldPrefix,
43
+ setValue: setValue || contextSetValue
44
+ });
45
+ useEffect(() => {
46
+ if (!isConversationFactor) return;
47
+ handleUomChange();
48
+ }, [handleUomChange, isConversationFactor]);
49
+ const handleUomSelect = (data, name2) => {
50
+ setUomDetails(data);
51
+ getSelectedData == null ? void 0 : getSelectedData(data, name2);
52
+ };
53
+ const effectiveCustomeFilter = customeFilter || {
54
+ "&template_id.eq": (selectedItem == null ? void 0 : selectedItem.unit_of_measurement) || 0
55
+ };
56
+ return /* @__PURE__ */ jsx(
57
+ DynamicSearchSelect,
58
+ {
59
+ label,
60
+ name,
61
+ placeholder: placeholder || "",
62
+ fieldArrayName: fieldArrayName || "",
63
+ formControl: control,
64
+ required,
65
+ is_loading,
66
+ disabled,
67
+ apiType: "uom",
68
+ customeFilter: effectiveCustomeFilter,
69
+ getSelectedData: handleUomSelect
70
+ }
71
+ );
72
+ };
73
+ export {
74
+ UomFieldWrapper as default
75
+ };
76
+ //# sourceMappingURL=index.esm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.esm.js","sources":["../../../../src/components/uom-field-wrapper/uom-field-wrapper.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport React, { useEffect, useState, useMemo } from 'react';\nimport DynamicSearchSelect from '../form-control/form-builder/form-builder-element/dynamic-select';\nimport { useUomFieldUpdater } from '../../hooks/useUomFieldUpdater';\nimport { useFormContext } from 'react-hook-form';\n\ninterface UomFieldWrapperProps {\n label: string;\n name?: string;\n placeholder?: string;\n fieldArrayName?: string;\n required?: boolean;\n is_loading?: boolean;\n disabled?: boolean;\n selectedItem: any;\n selectedUom?: any;\n fieldMapping?: Record<string, string>;\n customeFilter?: Record<string, any>;\n getSelectedData?: (data: any, name: string) => void;\n fieldPrefix?: string;\n setValue?: any;\n control?: any;\n isConversationFactor?: boolean;\n}\n\nconst UomFieldWrapper: React.FC<UomFieldWrapperProps> = ({\n label,\n name = 'uom_id',\n placeholder,\n fieldArrayName,\n required = false,\n is_loading = false,\n disabled = false,\n selectedItem,\n fieldMapping = {\n 'total_on_hand_quantity': 'on_hand_quantity',\n 'total_available_quantity': 'available_quantity',\n 'total_committed_quantity': 'committed_quantity',\n },\n customeFilter,\n getSelectedData,\n fieldPrefix,\n setValue,\n control,\n isConversationFactor = true\n}) => {\n // const selectedUom = useMemo(() => getValues(`${fieldArrayName}.${name}`), [getValues(`${fieldArrayName}.${name}`)])\n\n const [uomDetails, setUomDetails] = useState<any>(null);\n const formContext = useFormContext()\n const {\n control: contextControl,\n setValue: contextSetValue,\n } = formContext || {};\n\n const effectiveFieldPrefix = fieldPrefix !== undefined ? fieldPrefix : fieldArrayName || '';\n const finalFieldMapping = useMemo(() => fieldMapping, \n //eslint-disable-next-line\n [JSON.stringify(fieldMapping)]);\n\n const handleUomChange = useUomFieldUpdater({\n fieldMapping: finalFieldMapping,\n sourceData: selectedItem,\n conversation_factor: uomDetails?.conversation_factor,\n fieldPrefix: effectiveFieldPrefix,\n setValue: setValue || contextSetValue,\n control: control || contextControl,\n // shouldUpdate: !!selectedUom\n });\n\n useEffect(() => {\n if (!isConversationFactor) return;\n handleUomChange();\n // eslint-disable-next-line\n }, [handleUomChange,isConversationFactor]);\n\n const handleUomSelect = (data: any, name: string) => {\n setUomDetails(data);\n getSelectedData?.(data, name);\n };\n\n const effectiveCustomeFilter = customeFilter || {\n '&template_id.eq': selectedItem?.unit_of_measurement || 0\n };\n\n return (\n <DynamicSearchSelect\n label={label}\n name={name}\n placeholder={placeholder || ''}\n fieldArrayName={fieldArrayName || ''}\n formControl={control}\n required={required}\n is_loading={is_loading}\n disabled={disabled}\n apiType='uom'\n customeFilter={effectiveCustomeFilter}\n getSelectedData={handleUomSelect}\n />\n );\n};\n\nexport default UomFieldWrapper;\n"],"names":["name"],"mappings":";;;;;AAyBA,MAAM,kBAAkD,CAAC;AAAA,EACrD;AAAA,EACA,OAAO;AAAA,EACP;AAAA,EACA;AAAA,EACA,WAAW;AAAA,EACX,aAAa;AAAA,EACb,WAAW;AAAA,EACX;AAAA,EACA,eAAe;AAAA,IACX,0BAA0B;AAAA,IAC1B,4BAA4B;AAAA,IAC5B,4BAA4B;AAAA,EAAA;AAAA,EAEhC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,uBAAuB;AAC3B,MAAM;AAGF,QAAM,CAAC,YAAY,aAAa,IAAI,SAAc,IAAI;AACtD,QAAM,cAAc,eAAA;AACpB,QAAM;AAAA,IAEF,UAAU;AAAA,EAAA,IACV,eAAe,CAAA;AAEnB,QAAM,uBAAuB,gBAAgB,SAAY,cAAc,kBAAkB;AACzF,QAAM,oBAAoB;AAAA,IAAQ,MAAM;AAAA;AAAA,IAExC,CAAC,KAAK,UAAU,YAAY,CAAC;AAAA,EAAA;AAE7B,QAAM,kBAAkB,mBAAmB;AAAA,IACvC,cAAc;AAAA,IACd,YAAY;AAAA,IACZ,qBAAqB,yCAAY;AAAA,IACjC,aAAa;AAAA,IACb,UAAU,YAAY;AAAA,EAG1B,CAAC;AAED,YAAU,MAAM;AACZ,QAAI,CAAC,qBAAsB;AAC3B,oBAAA;AAAA,EAEJ,GAAG,CAAC,iBAAgB,oBAAoB,CAAC;AAEzC,QAAM,kBAAkB,CAAC,MAAWA,UAAiB;AACjD,kBAAc,IAAI;AAClB,uDAAkB,MAAMA;AAAAA,EAC5B;AAEA,QAAM,yBAAyB,iBAAiB;AAAA,IAC5C,oBAAmB,6CAAc,wBAAuB;AAAA,EAAA;AAG5D,SACI;AAAA,IAAC;AAAA,IAAA;AAAA,MACG;AAAA,MACA;AAAA,MACA,aAAa,eAAe;AAAA,MAC5B,gBAAgB,kBAAkB;AAAA,MAClC,aAAa;AAAA,MACb;AAAA,MACA;AAAA,MACA;AAAA,MACA,SAAQ;AAAA,MACR,eAAe;AAAA,MACf,iBAAiB;AAAA,IAAA;AAAA,EAAA;AAG7B;"}
@@ -0,0 +1,3 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),t=require("react"),a=require("../../form-control/form-builder/form-builder-element/dynamic-select/index.js"),i=require("../../../hooks/useUomFieldUpdater/index.js"),r=require("react-hook-form");exports.default=({label:l,name:o="uom_id",placeholder:n,fieldArrayName:u,required:d=!1,is_loading:s=!1,disabled:m=!1,selectedItem:c,fieldMapping:f={total_on_hand_quantity:"on_hand_quantity",total_available_quantity:"available_quantity",total_committed_quantity:"committed_quantity"},customeFilter:_,getSelectedData:p,fieldPrefix:q,setValue:y,control:v,isConversationFactor:b=!0})=>{const[x,g]=t.useState(null),h=r.useFormContext(),{setValue:F}=h||{},j=void 0!==q?q:u||"",M=t.useMemo(()=>f,[JSON.stringify(f)]),S=i.useUomFieldUpdater({fieldMapping:M,sourceData:c,conversation_factor:null==x?void 0:x.conversation_factor,fieldPrefix:j,setValue:y||F});t.useEffect(()=>{b&&S()},[S,b]);const U=_||{"&template_id.eq":(null==c?void 0:c.unit_of_measurement)||0};/* @__PURE__ */
2
+ return e.jsx(a.default,{label:l,name:o,placeholder:n||"",fieldArrayName:u||"",formControl:v,required:d,is_loading:s,disabled:m,apiType:"uom",customeFilter:U,getSelectedData:(e,t)=>{g(e),null==p||p(e,t)}})};
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../../../../src/components/uom-field-wrapper/uom-field-wrapper.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport React, { useEffect, useState, useMemo } from 'react';\nimport DynamicSearchSelect from '../form-control/form-builder/form-builder-element/dynamic-select';\nimport { useUomFieldUpdater } from '../../hooks/useUomFieldUpdater';\nimport { useFormContext } from 'react-hook-form';\n\ninterface UomFieldWrapperProps {\n label: string;\n name?: string;\n placeholder?: string;\n fieldArrayName?: string;\n required?: boolean;\n is_loading?: boolean;\n disabled?: boolean;\n selectedItem: any;\n selectedUom?: any;\n fieldMapping?: Record<string, string>;\n customeFilter?: Record<string, any>;\n getSelectedData?: (data: any, name: string) => void;\n fieldPrefix?: string;\n setValue?: any;\n control?: any;\n isConversationFactor?: boolean;\n}\n\nconst UomFieldWrapper: React.FC<UomFieldWrapperProps> = ({\n label,\n name = 'uom_id',\n placeholder,\n fieldArrayName,\n required = false,\n is_loading = false,\n disabled = false,\n selectedItem,\n fieldMapping = {\n 'total_on_hand_quantity': 'on_hand_quantity',\n 'total_available_quantity': 'available_quantity',\n 'total_committed_quantity': 'committed_quantity',\n },\n customeFilter,\n getSelectedData,\n fieldPrefix,\n setValue,\n control,\n isConversationFactor = true\n}) => {\n // const selectedUom = useMemo(() => getValues(`${fieldArrayName}.${name}`), [getValues(`${fieldArrayName}.${name}`)])\n\n const [uomDetails, setUomDetails] = useState<any>(null);\n const formContext = useFormContext()\n const {\n control: contextControl,\n setValue: contextSetValue,\n } = formContext || {};\n\n const effectiveFieldPrefix = fieldPrefix !== undefined ? fieldPrefix : fieldArrayName || '';\n const finalFieldMapping = useMemo(() => fieldMapping, \n //eslint-disable-next-line\n [JSON.stringify(fieldMapping)]);\n\n const handleUomChange = useUomFieldUpdater({\n fieldMapping: finalFieldMapping,\n sourceData: selectedItem,\n conversation_factor: uomDetails?.conversation_factor,\n fieldPrefix: effectiveFieldPrefix,\n setValue: setValue || contextSetValue,\n control: control || contextControl,\n // shouldUpdate: !!selectedUom\n });\n\n useEffect(() => {\n if (!isConversationFactor) return;\n handleUomChange();\n // eslint-disable-next-line\n }, [handleUomChange,isConversationFactor]);\n\n const handleUomSelect = (data: any, name: string) => {\n setUomDetails(data);\n getSelectedData?.(data, name);\n };\n\n const effectiveCustomeFilter = customeFilter || {\n '&template_id.eq': selectedItem?.unit_of_measurement || 0\n };\n\n return (\n <DynamicSearchSelect\n label={label}\n name={name}\n placeholder={placeholder || ''}\n fieldArrayName={fieldArrayName || ''}\n formControl={control}\n required={required}\n is_loading={is_loading}\n disabled={disabled}\n apiType='uom'\n customeFilter={effectiveCustomeFilter}\n getSelectedData={handleUomSelect}\n />\n );\n};\n\nexport default UomFieldWrapper;\n"],"names":["label","name","placeholder","fieldArrayName","required","is_loading","disabled","selectedItem","fieldMapping","total_on_hand_quantity","total_available_quantity","total_committed_quantity","customeFilter","getSelectedData","fieldPrefix","setValue","control","isConversationFactor","uomDetails","setUomDetails","useState","formContext","useFormContext","contextSetValue","effectiveFieldPrefix","finalFieldMapping","useMemo","JSON","stringify","handleUomChange","useUomFieldUpdater","sourceData","conversation_factor","useEffect","effectiveCustomeFilter","unit_of_measurement","jsx","DynamicSearchSelect","formControl","apiType","data"],"mappings":"yTAyBwD,EACpDA,QACAC,OAAO,SACPC,cACAC,iBACAC,YAAW,EACXC,cAAa,EACbC,YAAW,EACXC,eACAC,eAAe,CACXC,uBAA0B,mBAC1BC,yBAA4B,qBAC5BC,yBAA4B,sBAEhCC,gBACAC,kBACAC,cACAC,WACAC,UACAC,wBAAuB,MAIvB,MAAOC,EAAYC,GAAiBC,EAAAA,SAAc,MAC5CC,EAAcC,EAAAA,kBAGhBP,SAAUQ,GACVF,GAAe,CAAA,EAEbG,OAAuC,IAAhBV,EAA4BA,EAAcX,GAAkB,GACnFsB,EAAoBC,EAAAA,QAAQ,IAAMlB,EAExC,CAACmB,KAAKC,UAAUpB,KAEVqB,EAAkBC,EAAAA,mBAAmB,CACvCtB,aAAciB,EACdM,WAAYxB,EACZyB,oBAAqB,MAAAd,OAAA,EAAAA,EAAYc,oBACjClB,YAAaU,EACbT,SAAUA,GAAYQ,IAK1BU,EAAAA,UAAU,KACDhB,GACLY,KAED,CAACA,EAAgBZ,IAEpB,MAKMiB,EAAyBtB,GAAiB,CAC5C,yBAAmBL,WAAc4B,sBAAuB;AAG5D,OACIC,EAAAA,IAACC,EAAAA,QAAA,CACGrC,QACAC,OACAC,YAAaA,GAAe,GAC5BC,eAAgBA,GAAkB,GAClCmC,YAAatB,EACbZ,WACAC,aACAC,WACAiC,QAAQ,MACR3B,cAAesB,EACfrB,gBArBgB,CAAC2B,EAAWvC,KAChCkB,EAAcqB,GACd,MAAA3B,GAAAA,EAAkB2B,EAAMvC"}
@@ -0,0 +1,22 @@
1
+ import { default as React } from 'react';
2
+
3
+ interface UomFieldWrapperProps {
4
+ label: string;
5
+ name?: string;
6
+ placeholder?: string;
7
+ fieldArrayName?: string;
8
+ required?: boolean;
9
+ is_loading?: boolean;
10
+ disabled?: boolean;
11
+ selectedItem: any;
12
+ selectedUom?: any;
13
+ fieldMapping?: Record<string, string>;
14
+ customeFilter?: Record<string, any>;
15
+ getSelectedData?: (data: any, name: string) => void;
16
+ fieldPrefix?: string;
17
+ setValue?: any;
18
+ control?: any;
19
+ isConversationFactor?: boolean;
20
+ }
21
+ declare const UomFieldWrapper: React.FC<UomFieldWrapperProps>;
22
+ export default UomFieldWrapper;
@@ -166,7 +166,7 @@ const Upload = (props) => {
166
166
  );
167
167
  }
168
168
  };
169
- const BASE_URL = `${"http://127.0.0.1:4011"}/document/v1/file-upload/`;
169
+ const BASE_URL = `${"https://apidev.erpforce.co"}/document/v1/file-upload/`;
170
170
  const handleConfirm = async () => {
171
171
  setIsUploading(true);
172
172
  const controller = new AbortController();
@@ -472,7 +472,7 @@ const Upload = (props) => {
472
472
  setIsConfirmDialogOpen(false);
473
473
  };
474
474
  const onReplace = async () => {
475
- const baseUrl = `${"http://127.0.0.1:4011"}`;
475
+ const baseUrl = `${"https://apidev.erpforce.co"}`;
476
476
  const fileId = existingDriveData == null ? void 0 : existingDriveData.filter((file) => file.title === selectedFileTitle)[0].id;
477
477
  const headers = {
478
478
  "Content-type": "application/json; charset=utf-8"
@@ -1 +1 @@
1
- {"version":3,"file":"index.esm.js","sources":["../../../../src/components/upload/upload.tsx"],"sourcesContent":["import { useEffect, useRef, useState } from \"react\";\n\nimport CloseIcon from \"@mui/icons-material/Close\";\nimport Typography from \"../typography/typography\";\nimport Box from \"@mui/material/Box\";\nimport LinearProgress from \"@mui/material/LinearProgress\";\nimport \"./upload.scss\";\nimport { useDropzone } from \"react-dropzone\";\nimport Toast from '../toast/toast';\nimport {\n CircularProgress,\n Dialog,\n DialogActions,\n DialogContent,\n DialogTitle,\n Divider,\n IconButton,\n} from \"@mui/material\";\nimport RemoveIcon from \"@mui/icons-material/Remove\";\nimport { Add } from \"@mui/icons-material\";\nimport Button from \"../button/button\";\nimport Checkbox from \"../checkbox/checkbox\";\nimport Avatar from \"../avatar/avatar\";\nimport images from \"../../assets/images\";\nimport Chip from \"../chip/chip\";\nimport { auth } from \"../../constants/auth\";\nimport { KeyboardArrowDown, KeyboardArrowUp, Clear } from \"@mui/icons-material\";\nimport FileConfirmationDialog from \"./file-confirmation\"\n\n\ninterface UploadProps {\n open: boolean;\n title: string;\n multiple?: boolean;\n accept?: string;\n onClose: () => void;\n onConfirm: () => void;\n onSubmit: (files: any[]) => void;\n existingDriveData?: any;\n fileUploaded?: (value: boolean) => void | undefined;\n type: any\n\n\n}\ninterface CustomNavigator extends Navigator {\n connection?: {\n downlink?: number;\n };\n}\nconst formatBytes = (bytes: number, decimals = 2) => {\n if (bytes === 0) return \"0 Bytes\";\n const k = 1024;\n const dm = decimals < 0 ? 0 : decimals;\n const sizes = [\"Bytes\", \"KB\", \"MB\", \"GB\", \"TB\", \"PB\", \"EB\", \"ZB\", \"YB\"];\n const i = Math.floor(Math.log(bytes) / Math.log(k));\n return parseFloat((bytes / Math.pow(k, i)).toFixed(dm)) + \" \" + sizes[i];\n};\n\nconst Upload = (props: UploadProps) => {\n const {\n open,\n title,\n onClose,\n onConfirm,\n accept = \"*\",\n onSubmit,\n multiple = true,\n existingDriveData,\n fileUploaded , \n type\n \n } = props;\n\n const [files, setFiles] = useState<\n {\n file: File;\n isPrivate: boolean;\n checkboxDisabled: boolean;\n status: string;\n uploadProgress: number;\n fileSize: number;\n fileName: string;\n fileType: string;\n location: string;\n message: string;\n }[]\n >([]);\n\n interface IToast {\n type: 'normal' | 'alert';\n message: string;\n }\n const [isUploading, setIsUploading] = useState(false);\n const [isCollapsed, setIsCollapsed] = useState(false);\n const [isDialogMinimized, setIsDialogMinimized] = useState(false);\n const [isDragOver, setIsDragOver] = useState(false);\n const [abortController, setAbortController] = useState(new AbortController());\n const authToken = localStorage.getItem(auth.storageTokenKeyName);\n const [allDriveData, setAllDriveData] = useState();\n const [isConfirmDialogOpen, setIsConfirmDialogOpen] = useState(false);\n const [selectedFileTitle, setSelectedFileTitle] = useState();\n const [toast, setToast] = useState<IToast | null>(null);\n\n const { getRootProps, getInputProps, isDragActive } = useDropzone({\n onDropAccepted: (newFiles) => {\n setFiles([\n ...files,\n ...newFiles.map((file) => ({\n file,\n isPrivate: false,\n checkboxDisabled: false,\n status: \"pending\",\n uploadProgress: 0,\n fileSize: file.size,\n fileName: file.name,\n fileType: file.type,\n location: \"\",\n message: \"\",\n })),\n ]);\n setIsDragOver(false);\n },\n onDragEnter: () => {\n setIsDragOver(true);\n },\n onDragLeave: () => {\n setIsDragOver(false);\n },\n noClick: true,\n noKeyboard: true,\n multiple: multiple,\n accept: accept ? convertAcceptObject(accept) : accept,\n });\n\n const fileInputRef = useRef<HTMLInputElement>(null);\n\n useEffect(() => {\n const driveTitles = existingDriveData?.map(item => item['title'])\n setAllDriveData(driveTitles);\n }, [existingDriveData]);\n\n useEffect(() => {\n const handleBeforeUnload = (event: any) => {\n if (isUploading) {\n const message =\n \"Are you sure you want to leave? Your uploads are not complete.\";\n event.returnValue = message; // Standard for most browsers\n return message; // For some older browsers\n }\n };\n if (fileInputRef.current) {\n fileInputRef.current.multiple = multiple;\n }\n\n window.addEventListener(\"beforeunload\", handleBeforeUnload);\n\n return () => {\n // Clean up the event listener when the component unmounts\n window.removeEventListener(\"beforeunload\", handleBeforeUnload);\n };\n }, [isUploading, multiple]);\n\n const getInternetSpeed = () => {\n const customNavigator = navigator as CustomNavigator;\n if (\"connection\" in customNavigator && customNavigator.connection) {\n return customNavigator.connection.downlink;\n } else {\n return null;\n }\n };\n\n function convertAcceptObject(types: string) {\n const accepts = types.split(\",\").map((item) => item.trim());\n const acceptObject = accepts.reduce((acc: any, type: string) => {\n acc[type] = [];\n return acc;\n }, {});\n return acceptObject;\n }\n\n const renderFileIcon = (file: any) => {\n const fileType = file?.type.split(\"/\")[0];\n switch (fileType) {\n case \"image\":\n return (\n <div\n className={\n isDialogMinimized ? \"document-icon-sm\" : \"document-icon-lg\"\n }\n style={{ backgroundColor: \"#FFEBEB\" }}\n >\n <Avatar size={20} src={images.upload.documentPDF}></Avatar>\n </div>\n );\n case \"application\":\n return (\n <div\n className={\n isDialogMinimized ? \"document-icon-sm\" : \"document-icon-lg\"\n }\n style={{ backgroundColor: \"#FFEBEB\" }}\n >\n <Avatar size={20} src={images.upload.documentPDF}></Avatar>\n </div>\n );\n case \"text\":\n return (\n <div\n className={\n isDialogMinimized ? \"document-icon-sm\" : \"document-icon-lg\"\n }\n style={{ backgroundColor: \"#EBF9F2\" }}\n >\n <Avatar size={20} src={images.upload.docFile}></Avatar>\n </div>\n );\n default:\n return (\n <div\n className={\n isDialogMinimized ? \"document-icon-sm\" : \"document-icon-lg\"\n }\n style={{ backgroundColor: \"#EBF9F2\" }}\n >\n <Avatar size={20} src={images.upload.docFile}></Avatar>\n </div>\n );\n }\n };\n\n const BASE_URL = `${import.meta.env.VITE_BACKEND_BASE_URL}/document/v1/file-upload/`;\n\n const handleConfirm = async () => {\n setIsUploading(true);\n // Create a new AbortController for each confirmation\n const controller = new AbortController();\n setAbortController(controller);\n \n const filteredFiles = files.filter((file : any) => file.status !== \"canceled\").length;\n for (let i = 0; i < files.length; i++) {\n if (files[i].uploadProgress === 100 || files[i].status !== \"pending\") {\n continue;\n }\n\n const file = files[i];\n \n const fileSize = file?.fileSize;\n try {\n if (fileSize > 10 * 1024 * 1024) {\n const uploadResponse = await handleMultipartUpload(file, i, controller);\n if (uploadResponse) {\n setTimeout(()=>{fileUploaded(true) } , 1000);\n }\n } else {\n await handleRegularUpload(file, i, controller, filteredFiles);\n }\n } catch (error: any) {\n setFiles((prevFiles) => {\n const updatedFiles = [...prevFiles];\n updatedFiles[i] = {\n ...updatedFiles[i],\n status: \"failed\",\n message: error.message || \"Internal Server Error\",\n };\n return updatedFiles;\n });\n } finally {\n setIsUploading(false);\n }\n }\n };\n\n\n \n\n let tempCount = 0;\n const handleRegularUpload = async (\n file: any,\n index: number,\n controller: any,\n fileCount : number\n ) => {\n try {\n const format = ['docx', 'doc', 'csv', 'pdf', 'xls', 'xlsx', 'vnd.ms-excel', 'excel', 'txt'];\n const mimeType = file?.mimeType || file?.fileType || '';\n\t\t\tconst isValid = format.some(f => mimeType.includes(f));\n \n if (isValid && file?.fileSize && file?.fileSize >= 5242880) {\n return setToast({\n type: 'alert',\n message: 'File size must be within 5 MB!'\n });\n }\n const preSignedUrlsResponse = await fetch(\n `${BASE_URL}?key=${file?.fileName}&partCount=1&mimeType=${file?.fileType}&is_private=${!file?.isPrivate}`,\n {\n headers: {\n \"Content-Type\": \"application/json\",\n \"file-size\": file?.fileSize,\n \"x-token\": authToken,\n },\n signal: controller.signal\n },\n );\n const preSignedUrlsData = await preSignedUrlsResponse.json();\n if (preSignedUrlsData?.status_code == 400) {\n // alert(preSignedUrlsData?.message);\n setToast({\n type: 'alert',\n message: preSignedUrlsData?.message\n });\n return;\n }\n const preSignedUrl = preSignedUrlsData.data?.preSignedData?.presignedUrl;\n const location = preSignedUrlsData.data?.preSignedData?.location;\n const partParams = {\n Body: file?.file.slice(0, file?.fileSize),\n url: preSignedUrl,\n };\n const contentLength = file.fileSize;\n // const maxChunkSize = 1024 * 1024 * 1024; // 10 MB maximum chunk size\n // const chunkSize = Math.min(contentLength * 0.1, maxChunkSize);\n const chunkSize = 1024 * 1024 * 1024 * 1024 // 1MB chunk size\n let bytesUploaded = 0;\n\n while (bytesUploaded < contentLength) {\n const start = bytesUploaded;\n const end = Math.min(bytesUploaded + chunkSize, contentLength);\n\n // Send chunk of the file\n await fetch(partParams.url, {\n method: \"PUT\",\n body: file.file.slice(start, end),\n headers: {\n \"Content-Type\": \"application/octet-stream\",\n },\n });\n\n // Update progress\n bytesUploaded = end;\n const progress = Math.round((bytesUploaded / contentLength) * 100);\n\n setFiles((prevFiles) => {\n const updatedFiles = [...prevFiles];\n updatedFiles[index] = {\n ...updatedFiles[index],\n checkboxDisabled: true,\n status: \"uploading\",\n uploadProgress: progress,\n };\n return updatedFiles;\n });\n }\n \n setFiles((prevFiles) => {\n const updatedFiles = [...prevFiles];\n updatedFiles[index] = {\n ...updatedFiles[index],\n status: \"completed\",\n location ,\n message: \"Uploaded Successfully\",\n };\n tempCount = tempCount + 1;\n \n if(fileCount == tempCount){\n onSubmit(updatedFiles);\n tempCount = 0;\n \n }\n return updatedFiles;\n });\n } catch (error: any) {\n setFiles((prevFiles) => {\n const updatedFiles = [...prevFiles];\n updatedFiles[index] = {\n ...updatedFiles[index],\n status: \"failed\",\n message: error.message || \"Internal Server Error\",\n };\n return updatedFiles;\n });\n }\n \n };\n\n const handleMultipartUpload = async (\n file: any,\n index: number,\n controller: any,\n ) => {\n\n try {\n const partSize =\n (getInternetSpeed() || 10) * 1024 * 1024 < 5 * 1024 * 1024\n ? 5 * 1024 * 1024\n : (getInternetSpeed() || 10) * 1024 * 1024;\n const parts = Math.ceil(file?.fileSize / partSize);\n const preSignedUrlsResponse = await fetch(\n `${BASE_URL}?key=${file?.fileName}&partCount=${parts}&mimeType=${file?.fileType}&is_private=${!file?.isPrivate}`,\n {\n headers: {\n \"Content-Type\": \"application/json\",\n \"file-size\": file?.fileSize,\n \"x-token\": authToken,\n },\n signal: controller.signal,\n },\n );\n const preSignedUrlsData = await preSignedUrlsResponse.json();\n\n if (preSignedUrlsData && preSignedUrlsData?.status_code && preSignedUrlsData?.status_code == 400) {\n setToast({ message: preSignedUrlsData?.message || \"Internal Server Error\", type: \"error\" });\n return null;\n }\n\n const preSignedUrls = preSignedUrlsData.data.preSignedData?.preSignedUrls;\n if (preSignedUrls.length > 0) { \n const uploadId =\n preSignedUrls[0].presignedUrl.match(/uploadId=([^&]+)/)[1];\n for (let i = 0; i < preSignedUrls.length; i++) {\n const partNum = preSignedUrls[i].partNumber;\n const preSignedUrl = preSignedUrls[i].presignedUrl;\n const start = (partNum - 1) * partSize;\n const end = Math.min(start + partSize, file?.fileSize);\n const partParams = {\n Body: file?.file?.slice(start, end),\n url: preSignedUrl,\n };\n await fetch(partParams.url, {\n method: \"PUT\",\n body: partParams.Body,\n headers: {\n \"Content-Type\": \"application/octet-stream\",\n },\n });\n const progress = Math.round(((i + 1) * 100) / parts);\n setFiles((prevFiles) => {\n const updatedFiles = [...prevFiles];\n updatedFiles[index] = {\n ...updatedFiles[index],\n checkboxDisabled: true,\n status: \"uploading\",\n uploadProgress: progress,\n };\n return updatedFiles;\n });\n }\n const markCompleteResponse = await fetch(`${BASE_URL}mark-complete`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"x-token\": authToken,\n },\n body: JSON.stringify({\n fileName: file?.fileName,\n uploadId: uploadId,\n }),\n });\n const markCompleteData = await markCompleteResponse.json();\n const location = markCompleteData?.data?.location;\n setFiles((prevFiles) => {\n const updatedFiles = [...prevFiles];\n updatedFiles[index] = {\n ...updatedFiles[index],\n status: \"completed\",\n location: location,\n message: \"Uploaded Successfully\",\n };\n \n onSubmit(updatedFiles);\n return updatedFiles;\n });\n } else {\n setFiles((prevFiles) => {\n const updatedFiles = [...prevFiles];\n updatedFiles[index] = {\n ...updatedFiles[index],\n status: \"failed\",\n message: \"Did not get pre-signed URLs\",\n };\n return updatedFiles;\n });\n }\n } catch (error: any) {\n setFiles((prevFiles) => {\n const updatedFiles = [...prevFiles];\n updatedFiles[index] = {\n ...updatedFiles[index],\n status: \"failed\",\n message: error.message || \"Internal Server Error\",\n };\n return updatedFiles;\n });\n }\n };\n\n const handleChipClick = () => {\n if (fileInputRef.current) {\n // If multiple is true, set input for multiple files\n if (props.multiple) {\n fileInputRef.current.setAttribute(\"multiple\", \"true\");\n } else {\n // If multiple is false, set input for a single file\n fileInputRef.current.removeAttribute(\"multiple\");\n }\n fileInputRef.current.click();\n }\n };\n\n //checking if the file already exists or not in the drive \n const handleFileChange = (e: any) => {\n \n const selectedFiles = e.target.files;\n \n const fileTitles = Array.from(selectedFiles).map(file => {\n const fileName = file.name;\n const nameWithoutExtension = fileName.substring(0, fileName.lastIndexOf('.')) || fileName;\n return nameWithoutExtension;\n })[0];\n\n setSelectedFileTitle(fileTitles);\n\n setIsConfirmDialogOpen(allDriveData?.includes(fileTitles));\n const newFiles = Array.from(selectedFiles).map((file: any) => ({\n file,\n isPrivate: false,\n checkboxDisabled: false,\n status: \"pending\",\n uploadProgress: 0,\n fileSize: file?.size,\n fileName: file?.name,\n fileType: file?.type,\n location: \"\",\n message: \"\",\n }));\n setFiles((prevFiles: any) => [...prevFiles, ...newFiles]);\n setIsUploading(false);\n \n\n };\n\n const removeFile = (indexToRemove: number) => {\n \n setFiles((prevFiles) =>\n prevFiles.map((file, index) =>\n index === indexToRemove ? { ...file, status: \"canceled\" } : file,\n ),\n );\n\n };\n\n\n\n const toggleIsPrivate = (index: number) => {\n setFiles((prevFiles) =>\n prevFiles.map((item, i) =>\n i === index ? { ...item, isPrivate: !item.isPrivate } : item,\n ),\n );\n };\n\n const toggleCollapse = () => {\n setIsCollapsed((prevIsCollapsed) => !prevIsCollapsed);\n };\n\n const handleMinimizeClick = () => {\n setIsDialogMinimized(!isDialogMinimized);\n isDialogMinimized ? onConfirm() : onClose();\n };\n\n const handleDialogClose = () => {\n if (files.length > 0) {\n if (\n confirm(\n \"Your uploads are not complete. Would you like to cancel all ongoing uploads?\",\n )\n ) {\n // Abort the ongoing requests when the dialog is closed\n abortController.abort();\n if (abortController?.signal?.aborted) {\n onClose();\n }\n setFiles([]);\n }\n } else {\n onClose();\n }\n };\n useEffect(() => {\n open && setFiles([]);\n }, [open]);\n\n const onCloseConfirmPopup = () => {\n setIsConfirmDialogOpen(false);\n }\n\n const onReplace = async () => {\n const baseUrl = `${import.meta.env.VITE_BACKEND_BASE_URL}`;\n const fileId = existingDriveData?.filter(file => file.title === selectedFileTitle)[0].id;\n const headers = {\n \"Content-type\": \"application/json; charset=utf-8\",\n };\n const authToken = localStorage.getItem(auth.storageTokenKeyName) || '';\n headers[\"x-token\"] = authToken;\n await fetch(`${baseUrl}/document/v1/drive/${fileId}`, {\n method: \"DELETE\",\n headers,\n });\n\n onCloseConfirmPopup();\n }\n\n const onKeepBoth = () => {\n onCloseConfirmPopup();\n }\n return (\n <>\n <Dialog open={open} onClose={onClose} className=\"upload\">\n <DialogTitle className=\"upload--head\">\n <Box className=\"upload--title\">\n <Typography\n type=\"s3\"\n ml={1}\n weight=\"medium\"\n color=\"theme.secondary.1000\"\n >\n {title}\n </Typography>\n </Box>\n <div>\n <IconButton disableRipple onClick={handleMinimizeClick}>\n <RemoveIcon />\n </IconButton>\n <IconButton disableRipple onClick={handleDialogClose}>\n <CloseIcon />\n </IconButton>\n </div>\n </DialogTitle>\n <Divider />\n <DialogContent className=\"upload--content\">\n {files.length === 0 ? (\n <div\n className={`upload--fileContent ${isDragActive ? \"drag-active\" : \"\"\n }`}\n >\n <div {...getRootProps()} className=\"drop-view\">\n {!isDragOver ? (\n <>\n <input {...getInputProps()} ref={fileInputRef} />\n <p className=\"upload--text\">\n Drag and Drop files here or upload from\n </p>\n\n <div className=\"device-wrap\">\n <div className=\"select-button\" onClick={handleChipClick}>\n <img src={images.upload.monitor} />\n <Typography type=\"s5\">My Device</Typography>\n <input\n type=\"file\"\n {...getInputProps({ multiple: true })}\n ref={fileInputRef}\n style={{ display: \"none\" }}\n onChange={async () => {\n // handleFileChange(e) ; \n handleConfirm();\n }}\n accept={accept}\n />\n </div>\n <div className=\"select-button\" onClick={handleChipClick}>\n <img src={images.upload.camera} />\n <Typography type=\"s5\">Camera</Typography>\n <input\n type=\"file\"\n {...getInputProps({ multiple: true })}\n ref={fileInputRef}\n style={{ display: \"none\" }}\n onChange={handleFileChange}\n accept={accept}\n />\n </div>\n </div>\n </>\n ) : (\n <div className=\"after-drop\">\n <img src={images.upload.documentUpload} />\n <Typography type=\"s3\">\n Drag & Drop your files here\n </Typography>\n </div>\n )}\n </div>\n </div>\n ) : (\n <div className=\"main-container\">\n <div className=\"body-section\">\n <div className=\"document-section\">\n <div className=\"document-body\">\n {files.map((file: any, index: number) => (\n <div className=\"upload-list\" key={index}>\n <div className=\"document-cover\" key={file?.file?.name}>\n <div className=\"document-name\">\n {renderFileIcon(file?.file)}\n <div className=\"document-title\">\n <div className=\"document-box\">\n <div className=\"document-desc\">\n {file?.file?.name}\n </div>\n <div className=\"document-size\">\n {formatBytes(file?.file?.size)}\n <span\n className={\n file?.status === \"completed\" &&\n file?.message.length > 0\n ? \"success-file\"\n : \"fail-file\"\n }\n >\n {file?.message}\n </span>\n </div>\n </div>\n </div>\n </div>\n <div className=\"document-choices\">\n {file?.status !== \"canceled\" ? (\n <>\n <div className=\"checkbox\">\n <Checkbox\n checked={file?.isPrivate || type == 'public'}\n onChange={() => toggleIsPrivate(index)}\n disabled={file?.checkboxDisabled || type == 'public'}\n />\n <div className=\"checkbox-text\">Public</div>\n </div>\n <div\n className=\"delete-icon\"\n onClick={() => removeFile(index)}\n >\n <Avatar\n size={24}\n src={images.upload.trash}\n ></Avatar>\n </div>\n </>\n ) : (\n <Typography type=\"s4\" className=\"canceled-text\">\n Upload Canceled\n </Typography>\n )}\n </div>\n </div>\n <div className=\"document-progress\">\n {file?.uploadProgress > 0 && (\n <LinearProgress\n color=\"success\"\n variant=\"determinate\"\n value={file?.uploadProgress}\n />\n )}\n </div>\n </div>\n ))}\n </div>\n </div>\n {multiple && (\n <>\n <Chip\n className=\"add-file\"\n variant=\"outlined\"\n type=\"normal\"\n label={\"Add File\"}\n icon={<Add />}\n onClick={handleChipClick}\n />\n <input\n type=\"file\"\n {...getInputProps({ multiple: true })}\n ref={fileInputRef}\n style={{ display: \"none\" }}\n onChange={handleFileChange}\n accept={accept}\n />\n </>\n )}\n </div>\n </div>\n )}\n </DialogContent>\n <Divider />\n <DialogActions className=\"upload--actions\">\n <Button variant=\"text\" onClick={handleDialogClose}>\n Cancel\n </Button>\n <Button\n color=\"secondary\"\n onClick={handleConfirm}\n disabled={!files.length || isUploading}\n >\n Upload\n </Button>\n </DialogActions>\n </Dialog>\n {isDialogMinimized && (\n <div className=\"bottom-corner-box\">\n <div className=\"top-section\">\n <div className=\"top-text\">\n Uploading {files.length} Item{files.length !== 1 ? \"s\" : \"\"}\n </div>\n <div className=\"top-options\">\n <div className=\"btn\" onClick={handleMinimizeClick}>\n <RemoveIcon />\n </div>\n <div className=\"btn\" onClick={toggleCollapse}>\n <div className=\"arrow-btn\">\n {isCollapsed ? <KeyboardArrowUp /> : <KeyboardArrowDown />}\n </div>\n </div>\n <div className=\"btn\" onClick={handleDialogClose}>\n <Clear />\n </div>\n </div>\n </div>\n <div className=\"box-list\">\n {!isCollapsed &&\n files.map((file: any, index: number) => (\n <div className=\"bottom-section\">\n <div className=\"doc-icon\">{renderFileIcon(file?.file)}</div>\n <div className=\"file-detail\">\n <div className=\"file-name\">\n <div className=\"file-text\">\n {file?.file?.name}\n {index}\n </div>\n </div>\n <div className=\"file-status\">\n {file?.status !== \"canceled\" ? (\n <>\n {file.uploadProgress === 0 && (\n <div className=\"avatar-container\">\n <Avatar\n size={20}\n className=\"avatar\"\n src={images.upload.empty}\n ></Avatar>\n <Avatar\n size={20}\n onClick={() => removeFile(index)}\n src={images.upload.close}\n className=\"close-icon\"\n ></Avatar>\n </div>\n )}\n {file?.uploadProgress > 0 &&\n file?.uploadProgress < 100 && (\n <CircularProgress\n color=\"success\"\n variant=\"determinate\"\n value={file?.uploadProgress}\n />\n )}\n {file?.uploadProgress === 100 && (\n <div className=\"avatar-container\">\n <Avatar\n size={20}\n className=\"avatar\"\n src={images.upload.tick}\n ></Avatar>\n <Avatar\n size={20}\n src={images.upload.folder}\n className=\"close-icon\"\n ></Avatar>\n </div>\n )}\n </>\n ) : (\n <Typography type=\"s4\" className=\"canceled-text\">\n Upload Canceled\n </Typography>\n )}\n </div>\n </div>\n </div>\n ))}\n </div>\n </div>\n )}\n {isConfirmDialogOpen && <FileConfirmationDialog title={selectedFileTitle} open={isConfirmDialogOpen} onClose={onCloseConfirmPopup} onReplace={onReplace} onKeepBoth={onKeepBoth} isFile = {true} />}\n\n <Toast\n open={Boolean(toast)}\n type={toast?.type}\n message={toast?.message}\n handleClose={() => setToast(null)}\n anchorOrigin={{ horizontal: 'right', vertical: 'bottom' }}\n />\n </>\n );\n};\n\nexport { Upload };\nexport default Upload;\n"],"names":["type","authToken","RemoveIcon","CloseIcon"],"mappings":"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"}
1
+ {"version":3,"file":"index.esm.js","sources":["../../../../src/components/upload/upload.tsx"],"sourcesContent":["import { useEffect, useRef, useState } from \"react\";\n\nimport CloseIcon from \"@mui/icons-material/Close\";\nimport Typography from \"../typography/typography\";\nimport Box from \"@mui/material/Box\";\nimport LinearProgress from \"@mui/material/LinearProgress\";\nimport \"./upload.scss\";\nimport { useDropzone } from \"react-dropzone\";\nimport Toast from '../toast/toast';\nimport {\n CircularProgress,\n Dialog,\n DialogActions,\n DialogContent,\n DialogTitle,\n Divider,\n IconButton,\n} from \"@mui/material\";\nimport RemoveIcon from \"@mui/icons-material/Remove\";\nimport { Add } from \"@mui/icons-material\";\nimport Button from \"../button/button\";\nimport Checkbox from \"../checkbox/checkbox\";\nimport Avatar from \"../avatar/avatar\";\nimport images from \"../../assets/images\";\nimport Chip from \"../chip/chip\";\nimport { auth } from \"../../constants/auth\";\nimport { KeyboardArrowDown, KeyboardArrowUp, Clear } from \"@mui/icons-material\";\nimport FileConfirmationDialog from \"./file-confirmation\"\n\n\ninterface UploadProps {\n open: boolean;\n title: string;\n multiple?: boolean;\n accept?: string;\n onClose: () => void;\n onConfirm: () => void;\n onSubmit: (files: any[]) => void;\n existingDriveData?: any;\n fileUploaded?: (value: boolean) => void | undefined;\n type: any\n\n\n}\ninterface CustomNavigator extends Navigator {\n connection?: {\n downlink?: number;\n };\n}\nconst formatBytes = (bytes: number, decimals = 2) => {\n if (bytes === 0) return \"0 Bytes\";\n const k = 1024;\n const dm = decimals < 0 ? 0 : decimals;\n const sizes = [\"Bytes\", \"KB\", \"MB\", \"GB\", \"TB\", \"PB\", \"EB\", \"ZB\", \"YB\"];\n const i = Math.floor(Math.log(bytes) / Math.log(k));\n return parseFloat((bytes / Math.pow(k, i)).toFixed(dm)) + \" \" + sizes[i];\n};\n\nconst Upload = (props: UploadProps) => {\n const {\n open,\n title,\n onClose,\n onConfirm,\n accept = \"*\",\n onSubmit,\n multiple = true,\n existingDriveData,\n fileUploaded , \n type\n \n } = props;\n\n const [files, setFiles] = useState<\n {\n file: File;\n isPrivate: boolean;\n checkboxDisabled: boolean;\n status: string;\n uploadProgress: number;\n fileSize: number;\n fileName: string;\n fileType: string;\n location: string;\n message: string;\n }[]\n >([]);\n\n interface IToast {\n type: 'normal' | 'alert';\n message: string;\n }\n const [isUploading, setIsUploading] = useState(false);\n const [isCollapsed, setIsCollapsed] = useState(false);\n const [isDialogMinimized, setIsDialogMinimized] = useState(false);\n const [isDragOver, setIsDragOver] = useState(false);\n const [abortController, setAbortController] = useState(new AbortController());\n const authToken = localStorage.getItem(auth.storageTokenKeyName);\n const [allDriveData, setAllDriveData] = useState();\n const [isConfirmDialogOpen, setIsConfirmDialogOpen] = useState(false);\n const [selectedFileTitle, setSelectedFileTitle] = useState();\n const [toast, setToast] = useState<IToast | null>(null);\n\n const { getRootProps, getInputProps, isDragActive } = useDropzone({\n onDropAccepted: (newFiles) => {\n setFiles([\n ...files,\n ...newFiles.map((file) => ({\n file,\n isPrivate: false,\n checkboxDisabled: false,\n status: \"pending\",\n uploadProgress: 0,\n fileSize: file.size,\n fileName: file.name,\n fileType: file.type,\n location: \"\",\n message: \"\",\n })),\n ]);\n setIsDragOver(false);\n },\n onDragEnter: () => {\n setIsDragOver(true);\n },\n onDragLeave: () => {\n setIsDragOver(false);\n },\n noClick: true,\n noKeyboard: true,\n multiple: multiple,\n accept: accept ? convertAcceptObject(accept) : accept,\n });\n\n const fileInputRef = useRef<HTMLInputElement>(null);\n\n useEffect(() => {\n const driveTitles = existingDriveData?.map(item => item['title'])\n setAllDriveData(driveTitles);\n }, [existingDriveData]);\n\n useEffect(() => {\n const handleBeforeUnload = (event: any) => {\n if (isUploading) {\n const message =\n \"Are you sure you want to leave? Your uploads are not complete.\";\n event.returnValue = message; // Standard for most browsers\n return message; // For some older browsers\n }\n };\n if (fileInputRef.current) {\n fileInputRef.current.multiple = multiple;\n }\n\n window.addEventListener(\"beforeunload\", handleBeforeUnload);\n\n return () => {\n // Clean up the event listener when the component unmounts\n window.removeEventListener(\"beforeunload\", handleBeforeUnload);\n };\n }, [isUploading, multiple]);\n\n const getInternetSpeed = () => {\n const customNavigator = navigator as CustomNavigator;\n if (\"connection\" in customNavigator && customNavigator.connection) {\n return customNavigator.connection.downlink;\n } else {\n return null;\n }\n };\n\n function convertAcceptObject(types: string) {\n const accepts = types.split(\",\").map((item) => item.trim());\n const acceptObject = accepts.reduce((acc: any, type: string) => {\n acc[type] = [];\n return acc;\n }, {});\n return acceptObject;\n }\n\n const renderFileIcon = (file: any) => {\n const fileType = file?.type.split(\"/\")[0];\n switch (fileType) {\n case \"image\":\n return (\n <div\n className={\n isDialogMinimized ? \"document-icon-sm\" : \"document-icon-lg\"\n }\n style={{ backgroundColor: \"#FFEBEB\" }}\n >\n <Avatar size={20} src={images.upload.documentPDF}></Avatar>\n </div>\n );\n case \"application\":\n return (\n <div\n className={\n isDialogMinimized ? \"document-icon-sm\" : \"document-icon-lg\"\n }\n style={{ backgroundColor: \"#FFEBEB\" }}\n >\n <Avatar size={20} src={images.upload.documentPDF}></Avatar>\n </div>\n );\n case \"text\":\n return (\n <div\n className={\n isDialogMinimized ? \"document-icon-sm\" : \"document-icon-lg\"\n }\n style={{ backgroundColor: \"#EBF9F2\" }}\n >\n <Avatar size={20} src={images.upload.docFile}></Avatar>\n </div>\n );\n default:\n return (\n <div\n className={\n isDialogMinimized ? \"document-icon-sm\" : \"document-icon-lg\"\n }\n style={{ backgroundColor: \"#EBF9F2\" }}\n >\n <Avatar size={20} src={images.upload.docFile}></Avatar>\n </div>\n );\n }\n };\n\n const BASE_URL = `${import.meta.env.VITE_BACKEND_BASE_URL}/document/v1/file-upload/`;\n\n const handleConfirm = async () => {\n setIsUploading(true);\n // Create a new AbortController for each confirmation\n const controller = new AbortController();\n setAbortController(controller);\n \n const filteredFiles = files.filter((file : any) => file.status !== \"canceled\").length;\n for (let i = 0; i < files.length; i++) {\n if (files[i].uploadProgress === 100 || files[i].status !== \"pending\") {\n continue;\n }\n\n const file = files[i];\n \n const fileSize = file?.fileSize;\n try {\n if (fileSize > 10 * 1024 * 1024) {\n const uploadResponse = await handleMultipartUpload(file, i, controller);\n if (uploadResponse) {\n setTimeout(()=>{fileUploaded(true) } , 1000);\n }\n } else {\n await handleRegularUpload(file, i, controller, filteredFiles);\n }\n } catch (error: any) {\n setFiles((prevFiles) => {\n const updatedFiles = [...prevFiles];\n updatedFiles[i] = {\n ...updatedFiles[i],\n status: \"failed\",\n message: error.message || \"Internal Server Error\",\n };\n return updatedFiles;\n });\n } finally {\n setIsUploading(false);\n }\n }\n };\n\n\n \n\n let tempCount = 0;\n const handleRegularUpload = async (\n file: any,\n index: number,\n controller: any,\n fileCount : number\n ) => {\n try {\n const format = ['docx', 'doc', 'csv', 'pdf', 'xls', 'xlsx', 'vnd.ms-excel', 'excel', 'txt'];\n const mimeType = file?.mimeType || file?.fileType || '';\n\t\t\tconst isValid = format.some(f => mimeType.includes(f));\n \n if (isValid && file?.fileSize && file?.fileSize >= 5242880) {\n return setToast({\n type: 'alert',\n message: 'File size must be within 5 MB!'\n });\n }\n const preSignedUrlsResponse = await fetch(\n `${BASE_URL}?key=${file?.fileName}&partCount=1&mimeType=${file?.fileType}&is_private=${!file?.isPrivate}`,\n {\n headers: {\n \"Content-Type\": \"application/json\",\n \"file-size\": file?.fileSize,\n \"x-token\": authToken,\n },\n signal: controller.signal\n },\n );\n const preSignedUrlsData = await preSignedUrlsResponse.json();\n if (preSignedUrlsData?.status_code == 400) {\n // alert(preSignedUrlsData?.message);\n setToast({\n type: 'alert',\n message: preSignedUrlsData?.message\n });\n return;\n }\n const preSignedUrl = preSignedUrlsData.data?.preSignedData?.presignedUrl;\n const location = preSignedUrlsData.data?.preSignedData?.location;\n const partParams = {\n Body: file?.file.slice(0, file?.fileSize),\n url: preSignedUrl,\n };\n const contentLength = file.fileSize;\n // const maxChunkSize = 1024 * 1024 * 1024; // 10 MB maximum chunk size\n // const chunkSize = Math.min(contentLength * 0.1, maxChunkSize);\n const chunkSize = 1024 * 1024 * 1024 * 1024 // 1MB chunk size\n let bytesUploaded = 0;\n\n while (bytesUploaded < contentLength) {\n const start = bytesUploaded;\n const end = Math.min(bytesUploaded + chunkSize, contentLength);\n\n // Send chunk of the file\n await fetch(partParams.url, {\n method: \"PUT\",\n body: file.file.slice(start, end),\n headers: {\n \"Content-Type\": \"application/octet-stream\",\n },\n });\n\n // Update progress\n bytesUploaded = end;\n const progress = Math.round((bytesUploaded / contentLength) * 100);\n\n setFiles((prevFiles) => {\n const updatedFiles = [...prevFiles];\n updatedFiles[index] = {\n ...updatedFiles[index],\n checkboxDisabled: true,\n status: \"uploading\",\n uploadProgress: progress,\n };\n return updatedFiles;\n });\n }\n \n setFiles((prevFiles) => {\n const updatedFiles = [...prevFiles];\n updatedFiles[index] = {\n ...updatedFiles[index],\n status: \"completed\",\n location ,\n message: \"Uploaded Successfully\",\n };\n tempCount = tempCount + 1;\n \n if(fileCount == tempCount){\n onSubmit(updatedFiles);\n tempCount = 0;\n \n }\n return updatedFiles;\n });\n } catch (error: any) {\n setFiles((prevFiles) => {\n const updatedFiles = [...prevFiles];\n updatedFiles[index] = {\n ...updatedFiles[index],\n status: \"failed\",\n message: error.message || \"Internal Server Error\",\n };\n return updatedFiles;\n });\n }\n \n };\n\n const handleMultipartUpload = async (\n file: any,\n index: number,\n controller: any,\n ) => {\n\n try {\n const partSize =\n (getInternetSpeed() || 10) * 1024 * 1024 < 5 * 1024 * 1024\n ? 5 * 1024 * 1024\n : (getInternetSpeed() || 10) * 1024 * 1024;\n const parts = Math.ceil(file?.fileSize / partSize);\n const preSignedUrlsResponse = await fetch(\n `${BASE_URL}?key=${file?.fileName}&partCount=${parts}&mimeType=${file?.fileType}&is_private=${!file?.isPrivate}`,\n {\n headers: {\n \"Content-Type\": \"application/json\",\n \"file-size\": file?.fileSize,\n \"x-token\": authToken,\n },\n signal: controller.signal,\n },\n );\n const preSignedUrlsData = await preSignedUrlsResponse.json();\n\n if (preSignedUrlsData && preSignedUrlsData?.status_code && preSignedUrlsData?.status_code == 400) {\n setToast({ message: preSignedUrlsData?.message || \"Internal Server Error\", type: \"error\" });\n return null;\n }\n\n const preSignedUrls = preSignedUrlsData.data.preSignedData?.preSignedUrls;\n if (preSignedUrls.length > 0) { \n const uploadId =\n preSignedUrls[0].presignedUrl.match(/uploadId=([^&]+)/)[1];\n for (let i = 0; i < preSignedUrls.length; i++) {\n const partNum = preSignedUrls[i].partNumber;\n const preSignedUrl = preSignedUrls[i].presignedUrl;\n const start = (partNum - 1) * partSize;\n const end = Math.min(start + partSize, file?.fileSize);\n const partParams = {\n Body: file?.file?.slice(start, end),\n url: preSignedUrl,\n };\n await fetch(partParams.url, {\n method: \"PUT\",\n body: partParams.Body,\n headers: {\n \"Content-Type\": \"application/octet-stream\",\n },\n });\n const progress = Math.round(((i + 1) * 100) / parts);\n setFiles((prevFiles) => {\n const updatedFiles = [...prevFiles];\n updatedFiles[index] = {\n ...updatedFiles[index],\n checkboxDisabled: true,\n status: \"uploading\",\n uploadProgress: progress,\n };\n return updatedFiles;\n });\n }\n const markCompleteResponse = await fetch(`${BASE_URL}mark-complete`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"x-token\": authToken,\n },\n body: JSON.stringify({\n fileName: file?.fileName,\n uploadId: uploadId,\n }),\n });\n const markCompleteData = await markCompleteResponse.json();\n const location = markCompleteData?.data?.location;\n setFiles((prevFiles) => {\n const updatedFiles = [...prevFiles];\n updatedFiles[index] = {\n ...updatedFiles[index],\n status: \"completed\",\n location: location,\n message: \"Uploaded Successfully\",\n };\n \n onSubmit(updatedFiles);\n return updatedFiles;\n });\n } else {\n setFiles((prevFiles) => {\n const updatedFiles = [...prevFiles];\n updatedFiles[index] = {\n ...updatedFiles[index],\n status: \"failed\",\n message: \"Did not get pre-signed URLs\",\n };\n return updatedFiles;\n });\n }\n } catch (error: any) {\n setFiles((prevFiles) => {\n const updatedFiles = [...prevFiles];\n updatedFiles[index] = {\n ...updatedFiles[index],\n status: \"failed\",\n message: error.message || \"Internal Server Error\",\n };\n return updatedFiles;\n });\n }\n };\n\n const handleChipClick = () => {\n if (fileInputRef.current) {\n // If multiple is true, set input for multiple files\n if (props.multiple) {\n fileInputRef.current.setAttribute(\"multiple\", \"true\");\n } else {\n // If multiple is false, set input for a single file\n fileInputRef.current.removeAttribute(\"multiple\");\n }\n fileInputRef.current.click();\n }\n };\n\n //checking if the file already exists or not in the drive \n const handleFileChange = (e: any) => {\n \n const selectedFiles = e.target.files;\n \n const fileTitles = Array.from(selectedFiles).map(file => {\n const fileName = file.name;\n const nameWithoutExtension = fileName.substring(0, fileName.lastIndexOf('.')) || fileName;\n return nameWithoutExtension;\n })[0];\n\n setSelectedFileTitle(fileTitles);\n\n setIsConfirmDialogOpen(allDriveData?.includes(fileTitles));\n const newFiles = Array.from(selectedFiles).map((file: any) => ({\n file,\n isPrivate: false,\n checkboxDisabled: false,\n status: \"pending\",\n uploadProgress: 0,\n fileSize: file?.size,\n fileName: file?.name,\n fileType: file?.type,\n location: \"\",\n message: \"\",\n }));\n setFiles((prevFiles: any) => [...prevFiles, ...newFiles]);\n setIsUploading(false);\n \n\n };\n\n const removeFile = (indexToRemove: number) => {\n \n setFiles((prevFiles) =>\n prevFiles.map((file, index) =>\n index === indexToRemove ? { ...file, status: \"canceled\" } : file,\n ),\n );\n\n };\n\n\n\n const toggleIsPrivate = (index: number) => {\n setFiles((prevFiles) =>\n prevFiles.map((item, i) =>\n i === index ? { ...item, isPrivate: !item.isPrivate } : item,\n ),\n );\n };\n\n const toggleCollapse = () => {\n setIsCollapsed((prevIsCollapsed) => !prevIsCollapsed);\n };\n\n const handleMinimizeClick = () => {\n setIsDialogMinimized(!isDialogMinimized);\n isDialogMinimized ? onConfirm() : onClose();\n };\n\n const handleDialogClose = () => {\n if (files.length > 0) {\n if (\n confirm(\n \"Your uploads are not complete. Would you like to cancel all ongoing uploads?\",\n )\n ) {\n // Abort the ongoing requests when the dialog is closed\n abortController.abort();\n if (abortController?.signal?.aborted) {\n onClose();\n }\n setFiles([]);\n }\n } else {\n onClose();\n }\n };\n useEffect(() => {\n open && setFiles([]);\n }, [open]);\n\n const onCloseConfirmPopup = () => {\n setIsConfirmDialogOpen(false);\n }\n\n const onReplace = async () => {\n const baseUrl = `${import.meta.env.VITE_BACKEND_BASE_URL}`;\n const fileId = existingDriveData?.filter(file => file.title === selectedFileTitle)[0].id;\n const headers = {\n \"Content-type\": \"application/json; charset=utf-8\",\n };\n const authToken = localStorage.getItem(auth.storageTokenKeyName) || '';\n headers[\"x-token\"] = authToken;\n await fetch(`${baseUrl}/document/v1/drive/${fileId}`, {\n method: \"DELETE\",\n headers,\n });\n\n onCloseConfirmPopup();\n }\n\n const onKeepBoth = () => {\n onCloseConfirmPopup();\n }\n return (\n <>\n <Dialog open={open} onClose={onClose} className=\"upload\">\n <DialogTitle className=\"upload--head\">\n <Box className=\"upload--title\">\n <Typography\n type=\"s3\"\n ml={1}\n weight=\"medium\"\n color=\"theme.secondary.1000\"\n >\n {title}\n </Typography>\n </Box>\n <div>\n <IconButton disableRipple onClick={handleMinimizeClick}>\n <RemoveIcon />\n </IconButton>\n <IconButton disableRipple onClick={handleDialogClose}>\n <CloseIcon />\n </IconButton>\n </div>\n </DialogTitle>\n <Divider />\n <DialogContent className=\"upload--content\">\n {files.length === 0 ? (\n <div\n className={`upload--fileContent ${isDragActive ? \"drag-active\" : \"\"\n }`}\n >\n <div {...getRootProps()} className=\"drop-view\">\n {!isDragOver ? (\n <>\n <input {...getInputProps()} ref={fileInputRef} />\n <p className=\"upload--text\">\n Drag and Drop files here or upload from\n </p>\n\n <div className=\"device-wrap\">\n <div className=\"select-button\" onClick={handleChipClick}>\n <img src={images.upload.monitor} />\n <Typography type=\"s5\">My Device</Typography>\n <input\n type=\"file\"\n {...getInputProps({ multiple: true })}\n ref={fileInputRef}\n style={{ display: \"none\" }}\n onChange={async () => {\n // handleFileChange(e) ; \n handleConfirm();\n }}\n accept={accept}\n />\n </div>\n <div className=\"select-button\" onClick={handleChipClick}>\n <img src={images.upload.camera} />\n <Typography type=\"s5\">Camera</Typography>\n <input\n type=\"file\"\n {...getInputProps({ multiple: true })}\n ref={fileInputRef}\n style={{ display: \"none\" }}\n onChange={handleFileChange}\n accept={accept}\n />\n </div>\n </div>\n </>\n ) : (\n <div className=\"after-drop\">\n <img src={images.upload.documentUpload} />\n <Typography type=\"s3\">\n Drag & Drop your files here\n </Typography>\n </div>\n )}\n </div>\n </div>\n ) : (\n <div className=\"main-container\">\n <div className=\"body-section\">\n <div className=\"document-section\">\n <div className=\"document-body\">\n {files.map((file: any, index: number) => (\n <div className=\"upload-list\" key={index}>\n <div className=\"document-cover\" key={file?.file?.name}>\n <div className=\"document-name\">\n {renderFileIcon(file?.file)}\n <div className=\"document-title\">\n <div className=\"document-box\">\n <div className=\"document-desc\">\n {file?.file?.name}\n </div>\n <div className=\"document-size\">\n {formatBytes(file?.file?.size)}\n <span\n className={\n file?.status === \"completed\" &&\n file?.message.length > 0\n ? \"success-file\"\n : \"fail-file\"\n }\n >\n {file?.message}\n </span>\n </div>\n </div>\n </div>\n </div>\n <div className=\"document-choices\">\n {file?.status !== \"canceled\" ? (\n <>\n <div className=\"checkbox\">\n <Checkbox\n checked={file?.isPrivate || type == 'public'}\n onChange={() => toggleIsPrivate(index)}\n disabled={file?.checkboxDisabled || type == 'public'}\n />\n <div className=\"checkbox-text\">Public</div>\n </div>\n <div\n className=\"delete-icon\"\n onClick={() => removeFile(index)}\n >\n <Avatar\n size={24}\n src={images.upload.trash}\n ></Avatar>\n </div>\n </>\n ) : (\n <Typography type=\"s4\" className=\"canceled-text\">\n Upload Canceled\n </Typography>\n )}\n </div>\n </div>\n <div className=\"document-progress\">\n {file?.uploadProgress > 0 && (\n <LinearProgress\n color=\"success\"\n variant=\"determinate\"\n value={file?.uploadProgress}\n />\n )}\n </div>\n </div>\n ))}\n </div>\n </div>\n {multiple && (\n <>\n <Chip\n className=\"add-file\"\n variant=\"outlined\"\n type=\"normal\"\n label={\"Add File\"}\n icon={<Add />}\n onClick={handleChipClick}\n />\n <input\n type=\"file\"\n {...getInputProps({ multiple: true })}\n ref={fileInputRef}\n style={{ display: \"none\" }}\n onChange={handleFileChange}\n accept={accept}\n />\n </>\n )}\n </div>\n </div>\n )}\n </DialogContent>\n <Divider />\n <DialogActions className=\"upload--actions\">\n <Button variant=\"text\" onClick={handleDialogClose}>\n Cancel\n </Button>\n <Button\n color=\"secondary\"\n onClick={handleConfirm}\n disabled={!files.length || isUploading}\n >\n Upload\n </Button>\n </DialogActions>\n </Dialog>\n {isDialogMinimized && (\n <div className=\"bottom-corner-box\">\n <div className=\"top-section\">\n <div className=\"top-text\">\n Uploading {files.length} Item{files.length !== 1 ? \"s\" : \"\"}\n </div>\n <div className=\"top-options\">\n <div className=\"btn\" onClick={handleMinimizeClick}>\n <RemoveIcon />\n </div>\n <div className=\"btn\" onClick={toggleCollapse}>\n <div className=\"arrow-btn\">\n {isCollapsed ? <KeyboardArrowUp /> : <KeyboardArrowDown />}\n </div>\n </div>\n <div className=\"btn\" onClick={handleDialogClose}>\n <Clear />\n </div>\n </div>\n </div>\n <div className=\"box-list\">\n {!isCollapsed &&\n files.map((file: any, index: number) => (\n <div className=\"bottom-section\">\n <div className=\"doc-icon\">{renderFileIcon(file?.file)}</div>\n <div className=\"file-detail\">\n <div className=\"file-name\">\n <div className=\"file-text\">\n {file?.file?.name}\n {index}\n </div>\n </div>\n <div className=\"file-status\">\n {file?.status !== \"canceled\" ? (\n <>\n {file.uploadProgress === 0 && (\n <div className=\"avatar-container\">\n <Avatar\n size={20}\n className=\"avatar\"\n src={images.upload.empty}\n ></Avatar>\n <Avatar\n size={20}\n onClick={() => removeFile(index)}\n src={images.upload.close}\n className=\"close-icon\"\n ></Avatar>\n </div>\n )}\n {file?.uploadProgress > 0 &&\n file?.uploadProgress < 100 && (\n <CircularProgress\n color=\"success\"\n variant=\"determinate\"\n value={file?.uploadProgress}\n />\n )}\n {file?.uploadProgress === 100 && (\n <div className=\"avatar-container\">\n <Avatar\n size={20}\n className=\"avatar\"\n src={images.upload.tick}\n ></Avatar>\n <Avatar\n size={20}\n src={images.upload.folder}\n className=\"close-icon\"\n ></Avatar>\n </div>\n )}\n </>\n ) : (\n <Typography type=\"s4\" className=\"canceled-text\">\n Upload Canceled\n </Typography>\n )}\n </div>\n </div>\n </div>\n ))}\n </div>\n </div>\n )}\n {isConfirmDialogOpen && <FileConfirmationDialog title={selectedFileTitle} open={isConfirmDialogOpen} onClose={onCloseConfirmPopup} onReplace={onReplace} onKeepBoth={onKeepBoth} isFile = {true} />}\n\n <Toast\n open={Boolean(toast)}\n type={toast?.type}\n message={toast?.message}\n handleClose={() => setToast(null)}\n anchorOrigin={{ horizontal: 'right', vertical: 'bottom' }}\n />\n </>\n );\n};\n\nexport { Upload };\nexport default Upload;\n"],"names":["type","authToken","RemoveIcon","CloseIcon"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),s=require("react"),l=,/* empty css */i=;/* empty css */;/* empty css */var a=require("react-dropzone"),t=,/* empty css */n=,/* empty css */o=,/* empty css */r=,/* empty css */d=,/* empty css */c=,/* empty css */u=,/* empty css */m=,/* empty css */p=,/* empty css */v=,/* empty css */x=,/* empty css */h=,/* empty css */g=,/* empty css */j=,/* empty css */f=,/* empty css */y=,/* empty css */N=,/* empty css */b=,/* empty css */C=,/* empty css */k=,/* empty css */S=,/* empty css */D=;/* empty css */const P=(e,s=2)=>{if(0===e)return"0 Bytes";const l=s<0?0:s,i=Math.floor(Math.log(e)/Math.log(1024));return parseFloat((e/Math.pow(1024,i)).toFixed(l))+" "+["Bytes","KB","MB","GB","TB","PB","EB","ZB","YB"][i]},T=T=>{const{open:w,title:q,onClose:z,onConfirm:B,accept:A="*",onSubmit:_,multiple:E=!0,existingDriveData:U,fileUploaded:F,type:I}=T,[M,$]=s.useState([]),[K,L]=s.useState(!1),[R,O]=s.useState(!1),[Y,G]=s.useState(!1),[J,V]=s.useState(!1),[W,Z]=s.useState(new AbortController),H=localStorage.getItem(m.auth.storageTokenKeyName),[Q,X]=s.useState(),[ee,se]=s.useState(!1),[le,ie]=s.useState(),[ae,te]=s.useState(null),{getRootProps:ne,getInputProps:oe,isDragActive:re}=a.useDropzone({onDropAccepted:e=>{$([...M,...e.map(e=>({file:e,isPrivate:!1,checkboxDisabled:!1,status:"pending",uploadProgress:0,fileSize:e.size,fileName:e.name,fileType:e.type,location:"",message:""}))]),V(!1)},onDragEnter:()=>{V(!0)},onDragLeave:()=>{V(!1)},noClick:!0,noKeyboard:!0,multiple:E,accept:A?(ce=A,ce.split(",").map(e=>e.trim()).reduce((e,s)=>(e[s]=[],e),{})):A}),de=s.useRef(null);var ce;s.useEffect(()=>{const e=null==U?void 0:U.map(e=>e.title);X(e)},[U]),s.useEffect(()=>{const e=e=>{if(K){const s="Are you sure you want to leave? Your uploads are not complete.";return e.returnValue=s,s}};return de.current&&(de.current.multiple=E),window.addEventListener("beforeunload",e),()=>{window.removeEventListener("beforeunload",e)}},[K,E]);const ue=()=>{const e=navigator;return"connection"in e&&e.connection?e.connection.downlink:null},me=s=>{switch(null==s?void 0:s.type.split("/")[0]){case"image":case"application":/* @__PURE__ */
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),s=require("react"),l=,/* empty css */i=;/* empty css */;/* empty css */var a=require("react-dropzone"),t=,/* empty css */n=,/* empty css */o=,/* empty css */r=,/* empty css */d=,/* empty css */c=,/* empty css */u=,/* empty css */m=,/* empty css */p=,/* empty css */v=,/* empty css */x=,/* empty css */h=,/* empty css */g=,/* empty css */f=,/* empty css */j=,/* empty css */y=,/* empty css */N=,/* empty css */b=,/* empty css */C=,/* empty css */k=,/* empty css */S=,/* empty css */D=;/* empty css */const P=(e,s=2)=>{if(0===e)return"0 Bytes";const l=s<0?0:s,i=Math.floor(Math.log(e)/Math.log(1024));return parseFloat((e/Math.pow(1024,i)).toFixed(l))+" "+["Bytes","KB","MB","GB","TB","PB","EB","ZB","YB"][i]},T=T=>{const{open:w,title:q,onClose:z,onConfirm:B,accept:A="*",onSubmit:_,multiple:E=!0,existingDriveData:U,fileUploaded:F,type:I}=T,[M,$]=s.useState([]),[K,L]=s.useState(!1),[R,O]=s.useState(!1),[Y,G]=s.useState(!1),[J,V]=s.useState(!1),[W,Z]=s.useState(new AbortController),H=localStorage.getItem(m.auth.storageTokenKeyName),[Q,X]=s.useState(),[ee,se]=s.useState(!1),[le,ie]=s.useState(),[ae,te]=s.useState(null),{getRootProps:ne,getInputProps:oe,isDragActive:re}=a.useDropzone({onDropAccepted:e=>{$([...M,...e.map(e=>({file:e,isPrivate:!1,checkboxDisabled:!1,status:"pending",uploadProgress:0,fileSize:e.size,fileName:e.name,fileType:e.type,location:"",message:""}))]),V(!1)},onDragEnter:()=>{V(!0)},onDragLeave:()=>{V(!1)},noClick:!0,noKeyboard:!0,multiple:E,accept:A?(ce=A,ce.split(",").map(e=>e.trim()).reduce((e,s)=>(e[s]=[],e),{})):A}),de=s.useRef(null);var ce;s.useEffect(()=>{const e=null==U?void 0:U.map(e=>e.title);X(e)},[U]),s.useEffect(()=>{const e=e=>{if(K){const s="Are you sure you want to leave? Your uploads are not complete.";return e.returnValue=s,s}};return de.current&&(de.current.multiple=E),window.addEventListener("beforeunload",e),()=>{window.removeEventListener("beforeunload",e)}},[K,E]);const ue=()=>{const e=navigator;return"connection"in e&&e.connection?e.connection.downlink:null},me=s=>{switch(null==s?void 0:s.type.split("/")[0]){case"image":case"application":/* @__PURE__ */
2
2
  return e.jsx("div",{className:Y?"document-icon-sm":"document-icon-lg",style:{backgroundColor:"#FFEBEB"},children:/* @__PURE__ */e.jsx(d.Avatar,{size:20,src:c.images.upload.documentPDF})});default:/* @__PURE__ */
3
- return e.jsx("div",{className:Y?"document-icon-sm":"document-icon-lg",style:{backgroundColor:"#EBF9F2"},children:/* @__PURE__ */e.jsx(d.Avatar,{size:20,src:c.images.upload.docFile})})}},pe="http://127.0.0.1:4011/document/v1/file-upload/",ve=async()=>{L(!0);const e=new AbortController;Z(e);const s=M.filter(e=>"canceled"!==e.status).length;for(let i=0;i<M.length;i++){if(100===M[i].uploadProgress||"pending"!==M[i].status)continue;const a=M[i],t=null==a?void 0:a.fileSize;try{t>10485760?await ge(a,i,e)&&setTimeout(()=>{F(!0)},1e3):await he(a,i,e,s)}catch(l){$(e=>{const s=[...e];return s[i]={...s[i],status:"failed",message:l.message||"Internal Server Error"},s})}finally{L(!1)}}};let xe=0;const he=async(e,s,l,i)=>{var a,t,n,o;try{const r=["docx","doc","csv","pdf","xls","xlsx","vnd.ms-excel","excel","txt"],d=(null==e?void 0:e.mimeType)||(null==e?void 0:e.fileType)||"";if(r.some(e=>d.includes(e))&&(null==e?void 0:e.fileSize)&&(null==e?void 0:e.fileSize)>=5242880)return te({type:"alert",message:"File size must be within 5 MB!"});const c=await fetch(`${pe}?key=${null==e?void 0:e.fileName}&partCount=1&mimeType=${null==e?void 0:e.fileType}&is_private=${!(null==e?void 0:e.isPrivate)}`,{headers:{"Content-Type":"application/json","file-size":null==e?void 0:e.fileSize,"x-token":H},signal:l.signal}),u=await c.json();if(400==(null==u?void 0:u.status_code))return void te({type:"alert",message:null==u?void 0:u.message});const m=null==(t=null==(a=u.data)?void 0:a.preSignedData)?void 0:t.presignedUrl,p=null==(o=null==(n=u.data)?void 0:n.preSignedData)?void 0:o.location,v={Body:null==e?void 0:e.file.slice(0,null==e?void 0:e.fileSize),url:m},x=e.fileSize,h=1099511627776;let g=0;for(;g<x;){const l=g,i=Math.min(g+h,x);await fetch(v.url,{method:"PUT",body:e.file.slice(l,i),headers:{"Content-Type":"application/octet-stream"}}),g=i;const a=Math.round(g/x*100);$(e=>{const l=[...e];return l[s]={...l[s],checkboxDisabled:!0,status:"uploading",uploadProgress:a},l})}$(e=>{const l=[...e];return l[s]={...l[s],status:"completed",location:p,message:"Uploaded Successfully"},xe+=1,i==xe&&(_(l),xe=0),l})}catch(r){$(e=>{const l=[...e];return l[s]={...l[s],status:"failed",message:r.message||"Internal Server Error"},l})}},ge=async(e,s,l)=>{var i,a,t;try{const n=1024*(ue()||10)*1024<5242880?5242880:1024*(ue()||10)*1024,o=Math.ceil((null==e?void 0:e.fileSize)/n),r=await fetch(`${pe}?key=${null==e?void 0:e.fileName}&partCount=${o}&mimeType=${null==e?void 0:e.fileType}&is_private=${!(null==e?void 0:e.isPrivate)}`,{headers:{"Content-Type":"application/json","file-size":null==e?void 0:e.fileSize,"x-token":H},signal:l.signal}),d=await r.json();if(d&&(null==d?void 0:d.status_code)&&400==(null==d?void 0:d.status_code))return te({message:(null==d?void 0:d.message)||"Internal Server Error",type:"error"}),null;const c=null==(i=d.data.preSignedData)?void 0:i.preSignedUrls;if(c.length>0){const l=c[0].presignedUrl.match(/uploadId=([^&]+)/)[1];for(let t=0;t<c.length;t++){const l=c[t].partNumber,i=c[t].presignedUrl,r=(l-1)*n,d=Math.min(r+n,null==e?void 0:e.fileSize),u={Body:null==(a=null==e?void 0:e.file)?void 0:a.slice(r,d),url:i};await fetch(u.url,{method:"PUT",body:u.Body,headers:{"Content-Type":"application/octet-stream"}});const m=Math.round(100*(t+1)/o);$(e=>{const l=[...e];return l[s]={...l[s],checkboxDisabled:!0,status:"uploading",uploadProgress:m},l})}const i=await fetch(`${pe}mark-complete`,{method:"POST",headers:{"Content-Type":"application/json","x-token":H},body:JSON.stringify({fileName:null==e?void 0:e.fileName,uploadId:l})}),r=await i.json(),d=null==(t=null==r?void 0:r.data)?void 0:t.location;$(e=>{const l=[...e];return l[s]={...l[s],status:"completed",location:d,message:"Uploaded Successfully"},_(l),l})}else $(e=>{const l=[...e];return l[s]={...l[s],status:"failed",message:"Did not get pre-signed URLs"},l})}catch(n){$(e=>{const l=[...e];return l[s]={...l[s],status:"failed",message:n.message||"Internal Server Error"},l})}},je=()=>{de.current&&(T.multiple?de.current.setAttribute("multiple","true"):de.current.removeAttribute("multiple"),de.current.click())},fe=e=>{const s=e.target.files,l=Array.from(s).map(e=>{const s=e.name;return s.substring(0,s.lastIndexOf("."))||s})[0];ie(l),se(null==Q?void 0:Q.includes(l));const i=Array.from(s).map(e=>({file:e,isPrivate:!1,checkboxDisabled:!1,status:"pending",uploadProgress:0,fileSize:null==e?void 0:e.size,fileName:null==e?void 0:e.name,fileType:null==e?void 0:e.type,location:"",message:""}));$(e=>[...e,...i]),L(!1)},ye=e=>{$(s=>s.map((s,l)=>l===e?{...s,status:"canceled"}:s))},Ne=()=>{G(!Y),Y?B():z()},be=()=>{var e;M.length>0?confirm("Your uploads are not complete. Would you like to cancel all ongoing uploads?")&&(W.abort(),(null==(e=null==W?void 0:W.signal)?void 0:e.aborted)&&z(),$([])):z()};s.useEffect(()=>{w&&$([])},[w]);const Ce=()=>{se(!1)};/* @__PURE__ */
3
+ return e.jsx("div",{className:Y?"document-icon-sm":"document-icon-lg",style:{backgroundColor:"#EBF9F2"},children:/* @__PURE__ */e.jsx(d.Avatar,{size:20,src:c.images.upload.docFile})})}},pe="https://apidev.erpforce.co/document/v1/file-upload/",ve=async()=>{L(!0);const e=new AbortController;Z(e);const s=M.filter(e=>"canceled"!==e.status).length;for(let i=0;i<M.length;i++){if(100===M[i].uploadProgress||"pending"!==M[i].status)continue;const a=M[i],t=null==a?void 0:a.fileSize;try{t>10485760?await ge(a,i,e)&&setTimeout(()=>{F(!0)},1e3):await he(a,i,e,s)}catch(l){$(e=>{const s=[...e];return s[i]={...s[i],status:"failed",message:l.message||"Internal Server Error"},s})}finally{L(!1)}}};let xe=0;const he=async(e,s,l,i)=>{var a,t,n,o;try{const r=["docx","doc","csv","pdf","xls","xlsx","vnd.ms-excel","excel","txt"],d=(null==e?void 0:e.mimeType)||(null==e?void 0:e.fileType)||"";if(r.some(e=>d.includes(e))&&(null==e?void 0:e.fileSize)&&(null==e?void 0:e.fileSize)>=5242880)return te({type:"alert",message:"File size must be within 5 MB!"});const c=await fetch(`${pe}?key=${null==e?void 0:e.fileName}&partCount=1&mimeType=${null==e?void 0:e.fileType}&is_private=${!(null==e?void 0:e.isPrivate)}`,{headers:{"Content-Type":"application/json","file-size":null==e?void 0:e.fileSize,"x-token":H},signal:l.signal}),u=await c.json();if(400==(null==u?void 0:u.status_code))return void te({type:"alert",message:null==u?void 0:u.message});const m=null==(t=null==(a=u.data)?void 0:a.preSignedData)?void 0:t.presignedUrl,p=null==(o=null==(n=u.data)?void 0:n.preSignedData)?void 0:o.location,v={Body:null==e?void 0:e.file.slice(0,null==e?void 0:e.fileSize),url:m},x=e.fileSize,h=1099511627776;let g=0;for(;g<x;){const l=g,i=Math.min(g+h,x);await fetch(v.url,{method:"PUT",body:e.file.slice(l,i),headers:{"Content-Type":"application/octet-stream"}}),g=i;const a=Math.round(g/x*100);$(e=>{const l=[...e];return l[s]={...l[s],checkboxDisabled:!0,status:"uploading",uploadProgress:a},l})}$(e=>{const l=[...e];return l[s]={...l[s],status:"completed",location:p,message:"Uploaded Successfully"},xe+=1,i==xe&&(_(l),xe=0),l})}catch(r){$(e=>{const l=[...e];return l[s]={...l[s],status:"failed",message:r.message||"Internal Server Error"},l})}},ge=async(e,s,l)=>{var i,a,t;try{const n=1024*(ue()||10)*1024<5242880?5242880:1024*(ue()||10)*1024,o=Math.ceil((null==e?void 0:e.fileSize)/n),r=await fetch(`${pe}?key=${null==e?void 0:e.fileName}&partCount=${o}&mimeType=${null==e?void 0:e.fileType}&is_private=${!(null==e?void 0:e.isPrivate)}`,{headers:{"Content-Type":"application/json","file-size":null==e?void 0:e.fileSize,"x-token":H},signal:l.signal}),d=await r.json();if(d&&(null==d?void 0:d.status_code)&&400==(null==d?void 0:d.status_code))return te({message:(null==d?void 0:d.message)||"Internal Server Error",type:"error"}),null;const c=null==(i=d.data.preSignedData)?void 0:i.preSignedUrls;if(c.length>0){const l=c[0].presignedUrl.match(/uploadId=([^&]+)/)[1];for(let t=0;t<c.length;t++){const l=c[t].partNumber,i=c[t].presignedUrl,r=(l-1)*n,d=Math.min(r+n,null==e?void 0:e.fileSize),u={Body:null==(a=null==e?void 0:e.file)?void 0:a.slice(r,d),url:i};await fetch(u.url,{method:"PUT",body:u.Body,headers:{"Content-Type":"application/octet-stream"}});const m=Math.round(100*(t+1)/o);$(e=>{const l=[...e];return l[s]={...l[s],checkboxDisabled:!0,status:"uploading",uploadProgress:m},l})}const i=await fetch(`${pe}mark-complete`,{method:"POST",headers:{"Content-Type":"application/json","x-token":H},body:JSON.stringify({fileName:null==e?void 0:e.fileName,uploadId:l})}),r=await i.json(),d=null==(t=null==r?void 0:r.data)?void 0:t.location;$(e=>{const l=[...e];return l[s]={...l[s],status:"completed",location:d,message:"Uploaded Successfully"},_(l),l})}else $(e=>{const l=[...e];return l[s]={...l[s],status:"failed",message:"Did not get pre-signed URLs"},l})}catch(n){$(e=>{const l=[...e];return l[s]={...l[s],status:"failed",message:n.message||"Internal Server Error"},l})}},fe=()=>{de.current&&(T.multiple?de.current.setAttribute("multiple","true"):de.current.removeAttribute("multiple"),de.current.click())},je=e=>{const s=e.target.files,l=Array.from(s).map(e=>{const s=e.name;return s.substring(0,s.lastIndexOf("."))||s})[0];ie(l),se(null==Q?void 0:Q.includes(l));const i=Array.from(s).map(e=>({file:e,isPrivate:!1,checkboxDisabled:!1,status:"pending",uploadProgress:0,fileSize:null==e?void 0:e.size,fileName:null==e?void 0:e.name,fileType:null==e?void 0:e.type,location:"",message:""}));$(e=>[...e,...i]),L(!1)},ye=e=>{$(s=>s.map((s,l)=>l===e?{...s,status:"canceled"}:s))},Ne=()=>{G(!Y),Y?B():z()},be=()=>{var e;M.length>0?confirm("Your uploads are not complete. Would you like to cancel all ongoing uploads?")&&(W.abort(),(null==(e=null==W?void 0:W.signal)?void 0:e.aborted)&&z(),$([])):z()};s.useEffect(()=>{w&&$([])},[w]);const Ce=()=>{se(!1)};/* @__PURE__ */
4
4
  return e.jsxs(e.Fragment,{children:[
5
5
  /* @__PURE__ */e.jsxs(v.default,{open:w,onClose:z,className:"upload",children:[
6
6
  /* @__PURE__ */e.jsxs(x.default,{className:"upload--head",children:[
@@ -8,21 +8,21 @@ return e.jsxs(e.Fragment,{children:[
8
8
  /* @__PURE__ */e.jsxs("div",{children:[
9
9
  /* @__PURE__ */e.jsx(g.default,{disableRipple:!0,onClick:Ne,children:/* @__PURE__ */e.jsx(n.default,{})}),
10
10
  /* @__PURE__ */e.jsx(g.default,{disableRipple:!0,onClick:be,children:/* @__PURE__ */e.jsx(l.default,{})})]})]}),
11
- /* @__PURE__ */e.jsx(j.default,{}),
12
- /* @__PURE__ */e.jsx(f.default,{className:"upload--content",children:0===M.length?/* @__PURE__ */e.jsx("div",{className:"upload--fileContent "+(re?"drag-active":""),children:/* @__PURE__ */e.jsx("div",{...ne(),className:"drop-view",children:J?/* @__PURE__ */e.jsxs("div",{className:"after-drop",children:[
11
+ /* @__PURE__ */e.jsx(f.default,{}),
12
+ /* @__PURE__ */e.jsx(j.default,{className:"upload--content",children:0===M.length?/* @__PURE__ */e.jsx("div",{className:"upload--fileContent "+(re?"drag-active":""),children:/* @__PURE__ */e.jsx("div",{...ne(),className:"drop-view",children:J?/* @__PURE__ */e.jsxs("div",{className:"after-drop",children:[
13
13
  /* @__PURE__ */e.jsx("img",{src:c.images.upload.documentUpload}),
14
14
  /* @__PURE__ */e.jsx(i.Typography,{type:"s3",children:"Drag & Drop your files here"})]}):/* @__PURE__ */e.jsxs(e.Fragment,{children:[
15
15
  /* @__PURE__ */e.jsx("input",{...oe(),ref:de}),
16
16
  /* @__PURE__ */e.jsx("p",{className:"upload--text",children:"Drag and Drop files here or upload from"}),
17
17
  /* @__PURE__ */e.jsxs("div",{className:"device-wrap",children:[
18
- /* @__PURE__ */e.jsxs("div",{className:"select-button",onClick:je,children:[
18
+ /* @__PURE__ */e.jsxs("div",{className:"select-button",onClick:fe,children:[
19
19
  /* @__PURE__ */e.jsx("img",{src:c.images.upload.monitor}),
20
20
  /* @__PURE__ */e.jsx(i.Typography,{type:"s5",children:"My Device"}),
21
21
  /* @__PURE__ */e.jsx("input",{type:"file",...oe({multiple:!0}),ref:de,style:{display:"none"},onChange:async()=>{ve()},accept:A})]}),
22
- /* @__PURE__ */e.jsxs("div",{className:"select-button",onClick:je,children:[
22
+ /* @__PURE__ */e.jsxs("div",{className:"select-button",onClick:fe,children:[
23
23
  /* @__PURE__ */e.jsx("img",{src:c.images.upload.camera}),
24
24
  /* @__PURE__ */e.jsx(i.Typography,{type:"s5",children:"Camera"}),
25
- /* @__PURE__ */e.jsx("input",{type:"file",...oe({multiple:!0}),ref:de,style:{display:"none"},onChange:fe,accept:A})]})]})]})})}):/* @__PURE__ */e.jsx("div",{className:"main-container",children:/* @__PURE__ */e.jsxs("div",{className:"body-section",children:[
25
+ /* @__PURE__ */e.jsx("input",{type:"file",...oe({multiple:!0}),ref:de,style:{display:"none"},onChange:je,accept:A})]})]})]})})}):/* @__PURE__ */e.jsx("div",{className:"main-container",children:/* @__PURE__ */e.jsxs("div",{className:"body-section",children:[
26
26
  /* @__PURE__ */e.jsx("div",{className:"document-section",children:/* @__PURE__ */e.jsx("div",{className:"document-body",children:M.map((s,l)=>{var a,t,n;/* @__PURE__ */
27
27
  return e.jsxs("div",{className:"upload-list",children:[
28
28
  /* @__PURE__ */e.jsxs("div",{className:"document-cover",children:[
@@ -37,9 +37,9 @@ return e.jsxs("div",{className:"upload-list",children:[
37
37
  /* @__PURE__ */e.jsx("div",{className:"checkbox-text",children:"Public"})]}),
38
38
  /* @__PURE__ */e.jsx("div",{className:"delete-icon",onClick:()=>ye(l),children:/* @__PURE__ */e.jsx(d.Avatar,{size:24,src:c.images.upload.trash})})]}):/* @__PURE__ */e.jsx(i.Typography,{type:"s4",className:"canceled-text",children:"Upload Canceled"})})]},null==(n=null==s?void 0:s.file)?void 0:n.name),
39
39
  /* @__PURE__ */e.jsx("div",{className:"document-progress",children:(null==s?void 0:s.uploadProgress)>0&&/* @__PURE__ */e.jsx(y.default,{color:"success",variant:"determinate",value:null==s?void 0:s.uploadProgress})})]},l)})})}),E&&/* @__PURE__ */e.jsxs(e.Fragment,{children:[
40
- /* @__PURE__ */e.jsx(u.Chip,{className:"add-file",variant:"outlined",type:"normal",label:"Add File",icon:/* @__PURE__ */e.jsx(N.default,{}),onClick:je}),
41
- /* @__PURE__ */e.jsx("input",{type:"file",...oe({multiple:!0}),ref:de,style:{display:"none"},onChange:fe,accept:A})]})]})})}),
42
- /* @__PURE__ */e.jsx(j.default,{}),
40
+ /* @__PURE__ */e.jsx(u.Chip,{className:"add-file",variant:"outlined",type:"normal",label:"Add File",icon:/* @__PURE__ */e.jsx(N.default,{}),onClick:fe}),
41
+ /* @__PURE__ */e.jsx("input",{type:"file",...oe({multiple:!0}),ref:de,style:{display:"none"},onChange:je,accept:A})]})]})})}),
42
+ /* @__PURE__ */e.jsx(f.default,{}),
43
43
  /* @__PURE__ */e.jsxs(b.default,{className:"upload--actions",children:[
44
44
  /* @__PURE__ */e.jsx(o.Button,{variant:"text",onClick:be,children:"Cancel"}),
45
45
  /* @__PURE__ */e.jsx(o.Button,{color:"secondary",onClick:ve,disabled:!M.length||K,children:"Upload"})]})]}),Y&&/* @__PURE__ */e.jsxs("div",{className:"bottom-corner-box",children:[
@@ -58,6 +58,6 @@ return e.jsxs("div",{className:"bottom-section",children:[
58
58
  /* @__PURE__ */e.jsx(d.Avatar,{size:20,className:"avatar",src:c.images.upload.empty}),
59
59
  /* @__PURE__ */e.jsx(d.Avatar,{size:20,onClick:()=>ye(l),src:c.images.upload.close,className:"close-icon"})]}),(null==s?void 0:s.uploadProgress)>0&&(null==s?void 0:s.uploadProgress)<100&&/* @__PURE__ */e.jsx(D.default,{color:"success",variant:"determinate",value:null==s?void 0:s.uploadProgress}),100===(null==s?void 0:s.uploadProgress)&&/* @__PURE__ */e.jsxs("div",{className:"avatar-container",children:[
60
60
  /* @__PURE__ */e.jsx(d.Avatar,{size:20,className:"avatar",src:c.images.upload.tick}),
61
- /* @__PURE__ */e.jsx(d.Avatar,{size:20,src:c.images.upload.folder,className:"close-icon"})]})]}):/* @__PURE__ */e.jsx(i.Typography,{type:"s4",className:"canceled-text",children:"Upload Canceled"})})]})]})})})]}),ee&&/* @__PURE__ */e.jsx(p.default,{title:le,open:ee,onClose:Ce,onReplace:async()=>{const e=null==U?void 0:U.filter(e=>e.title===le)[0].id,s={"Content-type":"application/json; charset=utf-8"},l=localStorage.getItem(m.auth.storageTokenKeyName)||"";s["x-token"]=l,await fetch(`http://127.0.0.1:4011/document/v1/drive/${e}`,{method:"DELETE",headers:s}),Ce()},onKeepBoth:()=>{Ce()},isFile:!0}),
61
+ /* @__PURE__ */e.jsx(d.Avatar,{size:20,src:c.images.upload.folder,className:"close-icon"})]})]}):/* @__PURE__ */e.jsx(i.Typography,{type:"s4",className:"canceled-text",children:"Upload Canceled"})})]})]})})})]}),ee&&/* @__PURE__ */e.jsx(p.default,{title:le,open:ee,onClose:Ce,onReplace:async()=>{const e=null==U?void 0:U.filter(e=>e.title===le)[0].id,s={"Content-type":"application/json; charset=utf-8"},l=localStorage.getItem(m.auth.storageTokenKeyName)||"";s["x-token"]=l,await fetch(`https://apidev.erpforce.co/document/v1/drive/${e}`,{method:"DELETE",headers:s}),Ce()},onKeepBoth:()=>{Ce()},isFile:!0}),
62
62
  /* @__PURE__ */e.jsx(t.Toast,{open:Boolean(ae),type:null==ae?void 0:ae.type,message:null==ae?void 0:ae.message,handleClose:()=>te(null),anchorOrigin:{horizontal:"right",vertical:"bottom"}})]})};exports.Upload=T,exports.default=T;
63
63
  //# sourceMappingURL=index.js.map