@erpsquad/common 1.8.27 → 1.8.29

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 (321) hide show
  1. package/dist/_virtual/ArrowBack/index.esm.js +5 -0
  2. package/dist/_virtual/ArrowBack/index.esm.js.map +1 -0
  3. package/dist/_virtual/ArrowBack/index.js +2 -0
  4. package/dist/_virtual/ArrowBack/index.js.map +1 -0
  5. package/dist/_virtual/ArrowForward/index.esm.js +5 -0
  6. package/dist/_virtual/ArrowForward/index.esm.js.map +1 -0
  7. package/dist/_virtual/ArrowForward/index.js +2 -0
  8. package/dist/_virtual/ArrowForward/index.js.map +1 -0
  9. package/dist/_virtual/IndeterminateCheckBox/index.esm.js +5 -0
  10. package/dist/_virtual/IndeterminateCheckBox/index.esm.js.map +1 -0
  11. package/dist/_virtual/IndeterminateCheckBox/index.js +2 -0
  12. package/dist/_virtual/IndeterminateCheckBox/index.js.map +1 -0
  13. package/dist/_virtual/NorthEast/index.esm.js +5 -0
  14. package/dist/_virtual/NorthEast/index.esm.js.map +1 -0
  15. package/dist/_virtual/NorthEast/index.js +2 -0
  16. package/dist/_virtual/NorthEast/index.js.map +1 -0
  17. package/dist/_virtual/Visibility/index.esm.js +5 -0
  18. package/dist/_virtual/Visibility/index.esm.js.map +1 -0
  19. package/dist/_virtual/Visibility/index.js +2 -0
  20. package/dist/_virtual/Visibility/index.js.map +1 -0
  21. package/dist/_virtual/index/index.esm.js +2 -4
  22. package/dist/_virtual/index/index.esm.js.map +1 -1
  23. package/dist/_virtual/index/index.esm2.js +4 -2
  24. package/dist/_virtual/index/index.esm2.js.map +1 -1
  25. package/dist/_virtual/index/index.js +1 -1
  26. package/dist/_virtual/index/index2.js +1 -1
  27. package/dist/components/accordion/accordion.d.ts +1 -1
  28. package/dist/components/action-bar/action-bar/index.esm.js +1 -1
  29. package/dist/components/action-bar/action-bar/index.esm.js.map +1 -1
  30. package/dist/components/action-bar/action-bar/index.js +1 -1
  31. package/dist/components/action-bar/action-bar/index.js.map +1 -1
  32. package/dist/components/action-bar/action-bar.d.ts +1 -1
  33. package/dist/components/charts/line-chart/area-line-chart/index.esm.js +40 -0
  34. package/dist/components/charts/line-chart/area-line-chart/index.esm.js.map +1 -0
  35. package/dist/components/charts/line-chart/area-line-chart/index.js +2 -0
  36. package/dist/components/charts/line-chart/area-line-chart/index.js.map +1 -0
  37. package/dist/components/checkbox/checkbox.d.ts +1 -1
  38. package/dist/components/date-picker/date-picker.d.ts +1 -1
  39. package/dist/components/editor/custom-editor/index.esm.js +1 -1
  40. package/dist/components/editor/custom-editor/index.esm.js.map +1 -1
  41. package/dist/components/editor/custom-editor/index.js +1 -1
  42. package/dist/components/editor/custom-editor/index.js.map +1 -1
  43. package/dist/components/filter/fields/index.esm.js +180 -0
  44. package/dist/components/filter/fields/index.esm.js.map +1 -0
  45. package/dist/components/filter/fields/index.js +2 -0
  46. package/dist/components/filter/fields/index.js.map +1 -0
  47. package/dist/components/filter/filter/index.esm.js +1 -1
  48. package/dist/components/filter/filter/index.esm.js.map +1 -1
  49. package/dist/components/filter/filter/index.js +1 -1
  50. package/dist/components/filter/filter/index.js.map +1 -1
  51. package/dist/components/footer/footer.d.ts +1 -1
  52. package/dist/components/form-control/form-builder/form-builder-element/media.d.ts +1 -1
  53. package/dist/components/form-control/form-builder/form-builder-element/phone.d.ts +1 -1
  54. package/dist/components/form-control/form-builder/form-builder-element/select.d.ts +1 -1
  55. package/dist/components/form-control/form-builder/form-builder-element/text.d.ts +1 -1
  56. package/dist/components/form-control/form-builder/form-builder-element/time.d.ts +1 -1
  57. package/dist/components/form-control/form-parser/form-switcher.d.ts +1 -1
  58. package/dist/components/header/header/index.esm.js +1 -1
  59. package/dist/components/header/header/index.esm.js.map +1 -1
  60. package/dist/components/header/header/index.js +1 -1
  61. package/dist/components/header/header/index.js.map +1 -1
  62. package/dist/components/header/redux/actionCreator/index.esm.js +1 -1
  63. package/dist/components/header/redux/actionCreator/index.esm.js.map +1 -1
  64. package/dist/components/header/redux/actionCreator/index.js +1 -1
  65. package/dist/components/header/redux/actionCreator/index.js.map +1 -1
  66. package/dist/components/icons/action-arrow.d.ts +3 -3
  67. package/dist/components/icons/add-circle.d.ts +3 -3
  68. package/dist/components/icons/arrow-bidirectional.d.ts +3 -3
  69. package/dist/components/icons/arrow-circle-down.d.ts +3 -3
  70. package/dist/components/icons/arrow-down-three.d.ts +3 -3
  71. package/dist/components/icons/arrow-down-two.d.ts +3 -3
  72. package/dist/components/icons/arrow-down.d.ts +3 -3
  73. package/dist/components/icons/arrow-up-down.d.ts +3 -3
  74. package/dist/components/icons/arrow-up-two.d.ts +3 -3
  75. package/dist/components/icons/assignments.d.ts +3 -3
  76. package/dist/components/icons/blank-circle.d.ts +3 -3
  77. package/dist/components/icons/block-filled.d.ts +3 -3
  78. package/dist/components/icons/calendar-add.d.ts +3 -3
  79. package/dist/components/icons/calendar.d.ts +3 -3
  80. package/dist/components/icons/checkbox-square.d.ts +3 -3
  81. package/dist/components/icons/circular-arrow-setting.d.ts +3 -3
  82. package/dist/components/icons/clock.d.ts +3 -3
  83. package/dist/components/icons/close.d.ts +3 -3
  84. package/dist/components/icons/coin-outline.d.ts +3 -3
  85. package/dist/components/icons/copy.d.ts +3 -3
  86. package/dist/components/icons/coupon.d.ts +3 -3
  87. package/dist/components/icons/cross-hire.d.ts +3 -3
  88. package/dist/components/icons/custom-styled-icon.d.ts +3 -3
  89. package/dist/components/icons/dashboard.d.ts +3 -3
  90. package/dist/components/icons/document-download.d.ts +3 -3
  91. package/dist/components/icons/document.d.ts +3 -3
  92. package/dist/components/icons/dollar-circle-filled.d.ts +3 -3
  93. package/dist/components/icons/dollar-circle.d.ts +3 -3
  94. package/dist/components/icons/edit.d.ts +3 -3
  95. package/dist/components/icons/email.d.ts +3 -3
  96. package/dist/components/icons/export.d.ts +3 -3
  97. package/dist/components/icons/eye-off.d.ts +3 -3
  98. package/dist/components/icons/eye-plus-circle.d.ts +3 -3
  99. package/dist/components/icons/eye.d.ts +3 -3
  100. package/dist/components/icons/filled-circle.d.ts +3 -3
  101. package/dist/components/icons/filter-remove.d.ts +3 -3
  102. package/dist/components/icons/filter.d.ts +3 -3
  103. package/dist/components/icons/folder-save.d.ts +3 -3
  104. package/dist/components/icons/grid.d.ts +3 -3
  105. package/dist/components/icons/hashtag.d.ts +3 -3
  106. package/dist/components/icons/image.d.ts +3 -3
  107. package/dist/components/icons/import.d.ts +3 -3
  108. package/dist/components/icons/info-circle.d.ts +3 -3
  109. package/dist/components/icons/info.d.ts +3 -3
  110. package/dist/components/icons/link-horizontal.d.ts +3 -3
  111. package/dist/components/icons/link.d.ts +3 -3
  112. package/dist/components/icons/location.d.ts +3 -3
  113. package/dist/components/icons/lowest-lead-time.d.ts +3 -3
  114. package/dist/components/icons/lowest-min-qty.d.ts +3 -3
  115. package/dist/components/icons/lowest-price.d.ts +3 -3
  116. package/dist/components/icons/more.d.ts +3 -3
  117. package/dist/components/icons/notification.d.ts +3 -3
  118. package/dist/components/icons/paper-clip.d.ts +3 -3
  119. package/dist/components/icons/paragraph.d.ts +3 -3
  120. package/dist/components/icons/payment-request.d.ts +3 -3
  121. package/dist/components/icons/phone.d.ts +3 -3
  122. package/dist/components/icons/printer.d.ts +3 -3
  123. package/dist/components/icons/process-calendar.d.ts +3 -3
  124. package/dist/components/icons/promotion.d.ts +3 -3
  125. package/dist/components/icons/radio-button.d.ts +3 -3
  126. package/dist/components/icons/receipt-filled.d.ts +3 -3
  127. package/dist/components/icons/receipt-outline.d.ts +3 -3
  128. package/dist/components/icons/receipt.d.ts +3 -3
  129. package/dist/components/icons/refresh-icon.d.ts +3 -3
  130. package/dist/components/icons/replace.d.ts +3 -3
  131. package/dist/components/icons/save.d.ts +3 -3
  132. package/dist/components/icons/search-status.d.ts +3 -3
  133. package/dist/components/icons/search.d.ts +3 -3
  134. package/dist/components/icons/settings-fallback.d.ts +3 -3
  135. package/dist/components/icons/sort-arrow-icon.d.ts +3 -3
  136. package/dist/components/icons/stacked-layer.d.ts +3 -3
  137. package/dist/components/icons/start-filled.d.ts +3 -3
  138. package/dist/components/icons/three-dot-icon.d.ts +3 -3
  139. package/dist/components/icons/tick-circle-filled.d.ts +3 -3
  140. package/dist/components/icons/tick-circle.d.ts +3 -3
  141. package/dist/components/icons/tick-octagon.d.ts +3 -3
  142. package/dist/components/icons/tick.d.ts +3 -3
  143. package/dist/components/icons/toggle-switch.d.ts +3 -3
  144. package/dist/components/icons/trash.d.ts +3 -3
  145. package/dist/components/icons/wave.d.ts +3 -3
  146. package/dist/components/icons/with-out-tick-octagon.d.ts +3 -3
  147. package/dist/components/icons/work-centre.d.ts +3 -3
  148. package/dist/components/index.d.ts +2 -1
  149. package/dist/components/index.esm.js +435 -429
  150. package/dist/components/index.esm.js.map +1 -1
  151. package/dist/components/index.js +1 -1
  152. package/dist/components/inventory-reports-title-bar/redux/actionCreator/index.esm.js +1 -1
  153. package/dist/components/inventory-reports-title-bar/redux/actionCreator/index.esm.js.map +1 -1
  154. package/dist/components/inventory-reports-title-bar/redux/actionCreator/index.js +1 -1
  155. package/dist/components/inventory-reports-title-bar/redux/actionCreator/index.js.map +1 -1
  156. package/dist/components/location-select.d.ts +1 -1
  157. package/dist/components/material-editable-table/aggregation-fns/index.d.ts +13 -0
  158. package/dist/components/material-editable-table/components/default-aggregation.d.ts +9 -0
  159. package/dist/components/material-editable-table/components/header-cell.d.ts +5 -0
  160. package/dist/components/material-editable-table/components/inline-edit-fields/index.esm.js +312 -0
  161. package/dist/components/material-editable-table/components/inline-edit-fields/index.esm.js.map +1 -0
  162. package/dist/components/material-editable-table/components/inline-edit-fields/index.js +4 -0
  163. package/dist/components/material-editable-table/components/inline-edit-fields/index.js.map +1 -0
  164. package/dist/components/material-editable-table/components/inline-edit-fields.d.ts +17 -0
  165. package/dist/components/material-editable-table/components/number-aggregation.d.ts +9 -0
  166. package/dist/components/material-editable-table/material-editable-table/index.esm.js +1164 -0
  167. package/dist/components/material-editable-table/material-editable-table/index.esm.js.map +1 -0
  168. package/dist/components/material-editable-table/material-editable-table/index.js +28 -0
  169. package/dist/components/material-editable-table/material-editable-table/index.js.map +1 -0
  170. package/dist/components/material-editable-table/material-editable-table.d.ts +40 -0
  171. package/dist/components/material-table/aggregation-fns/index/index.esm.js +10 -0
  172. package/dist/components/material-table/aggregation-fns/index/index.esm.js.map +1 -1
  173. package/dist/components/material-table/aggregation-fns/index/index.js +1 -1
  174. package/dist/components/material-table/aggregation-fns/index/index.js.map +1 -1
  175. package/dist/components/material-table/components/number-aggregation/index.esm.js +133 -0
  176. package/dist/components/material-table/components/number-aggregation/index.esm.js.map +1 -0
  177. package/dist/components/material-table/components/number-aggregation/index.js +5 -0
  178. package/dist/components/material-table/components/number-aggregation/index.js.map +1 -0
  179. package/dist/components/material-table/material-table.d.ts +1 -1
  180. package/dist/components/phone-input/phone-input.d.ts +1 -1
  181. package/dist/components/radio/radio.d.ts +1 -1
  182. package/dist/components/reports-title-bar/redux/actionCreator/index.esm.js +1 -1
  183. package/dist/components/reports-title-bar/redux/actionCreator/index.esm.js.map +1 -1
  184. package/dist/components/reports-title-bar/redux/actionCreator/index.js +1 -1
  185. package/dist/components/reports-title-bar/redux/actionCreator/index.js.map +1 -1
  186. package/dist/components/select/select.d.ts +1 -1
  187. package/dist/components/share-modal/redux/actionCreator/index.esm.js +1 -1
  188. package/dist/components/share-modal/redux/actionCreator/index.esm.js.map +1 -1
  189. package/dist/components/share-modal/redux/actionCreator/index.js +1 -1
  190. package/dist/components/share-modal/redux/actionCreator/index.js.map +1 -1
  191. package/dist/components/switches/android-12-switch.d.ts +1 -3
  192. package/dist/components/text-field/text-field.d.ts +1 -1
  193. package/dist/components/time-picker/time-picker.d.ts +1 -1
  194. package/dist/components/upload/upload/index.esm.js +2 -2
  195. package/dist/components/upload/upload/index.esm.js.map +1 -1
  196. package/dist/components/upload/upload/index.js +2 -2
  197. package/dist/components/upload/upload/index.js.map +1 -1
  198. package/dist/components/upload-media/upload-media.d.ts +1 -1
  199. package/dist/contexts/AuthContext/index.esm.js +2 -2
  200. package/dist/contexts/AuthContext/index.esm.js.map +1 -1
  201. package/dist/contexts/AuthContext/index.js +1 -1
  202. package/dist/contexts/AuthContext/index.js.map +1 -1
  203. package/dist/contexts/languageContext/index.esm.js +1 -1
  204. package/dist/contexts/languageContext/index.esm.js.map +1 -1
  205. package/dist/contexts/languageContext/index.js +1 -1
  206. package/dist/contexts/languageContext/index.js.map +1 -1
  207. package/dist/index.esm.js +533 -521
  208. package/dist/index.esm.js.map +1 -1
  209. package/dist/index.js +1 -1
  210. package/dist/node_modules/@glideapps/glide-data-grid/dist/js/index/index.esm.js +32 -0
  211. package/dist/node_modules/@glideapps/glide-data-grid/dist/js/index/index.esm.js.map +1 -1
  212. package/dist/node_modules/@glideapps/glide-data-grid/dist/js/index/index.js +36 -36
  213. package/dist/node_modules/@glideapps/glide-data-grid/dist/js/index/index.js.map +1 -1
  214. package/dist/node_modules/@mui/icons-material/ArrowBack/index.esm.js +18 -0
  215. package/dist/node_modules/@mui/icons-material/ArrowBack/index.esm.js.map +1 -0
  216. package/dist/node_modules/@mui/icons-material/ArrowBack/index.js +2 -0
  217. package/dist/node_modules/@mui/icons-material/ArrowBack/index.js.map +1 -0
  218. package/dist/node_modules/@mui/icons-material/ArrowForward/index.esm.js +18 -0
  219. package/dist/node_modules/@mui/icons-material/ArrowForward/index.esm.js.map +1 -0
  220. package/dist/node_modules/@mui/icons-material/ArrowForward/index.js +2 -0
  221. package/dist/node_modules/@mui/icons-material/ArrowForward/index.js.map +1 -0
  222. package/dist/node_modules/@mui/icons-material/IndeterminateCheckBox/index.esm.js +18 -0
  223. package/dist/node_modules/@mui/icons-material/IndeterminateCheckBox/index.esm.js.map +1 -0
  224. package/dist/node_modules/@mui/icons-material/IndeterminateCheckBox/index.js +2 -0
  225. package/dist/node_modules/@mui/icons-material/IndeterminateCheckBox/index.js.map +1 -0
  226. package/dist/node_modules/@mui/icons-material/NorthEast/index.esm.js +18 -0
  227. package/dist/node_modules/@mui/icons-material/NorthEast/index.esm.js.map +1 -0
  228. package/dist/node_modules/@mui/icons-material/NorthEast/index.js +2 -0
  229. package/dist/node_modules/@mui/icons-material/NorthEast/index.js.map +1 -0
  230. package/dist/node_modules/@mui/icons-material/Visibility/index.esm.js +18 -0
  231. package/dist/node_modules/@mui/icons-material/Visibility/index.esm.js.map +1 -0
  232. package/dist/node_modules/@mui/icons-material/Visibility/index.js +2 -0
  233. package/dist/node_modules/@mui/icons-material/Visibility/index.js.map +1 -0
  234. package/dist/node_modules/@mui/icons-material/utils/createSvgIcon/index.esm.js +1 -1
  235. package/dist/node_modules/@mui/icons-material/utils/createSvgIcon/index.js +1 -1
  236. package/dist/node_modules/@mui/icons-material/utils/createSvgIcon/index.js.map +1 -1
  237. package/dist/node_modules/prop-types/index/index.esm.js +1 -1
  238. package/dist/node_modules/prop-types/index/index.js +1 -1
  239. package/dist/node_modules/prop-types/index/index.js.map +1 -1
  240. package/dist/style.css +2 -0
  241. package/dist/utils/api/index.esm.js +4 -4
  242. package/dist/utils/api/index.esm.js.map +1 -1
  243. package/dist/utils/api/index.js +1 -1
  244. package/dist/utils/api/index.js.map +1 -1
  245. package/dist/utils/common/index.esm.js +8 -8
  246. package/dist/utils/common/index.esm.js.map +1 -1
  247. package/dist/utils/common/index.js +1 -1
  248. package/dist/utils/common/index.js.map +1 -1
  249. package/dist/utils/common-utility.d.ts +1 -1
  250. package/dist/utils/fileSize/index.esm.js +22 -0
  251. package/dist/utils/fileSize/index.esm.js.map +1 -0
  252. package/dist/utils/fileSize/index.js +2 -0
  253. package/dist/utils/fileSize/index.js.map +1 -0
  254. package/dist/utils/index.d.ts +2 -1
  255. package/dist/utils/index.esm.js +54 -50
  256. package/dist/utils/index.esm.js.map +1 -1
  257. package/dist/utils/index.js +1 -1
  258. package/dist/views/beforeAuth/components/activity-tag-data/activity-tag-data/index.esm.js +48 -0
  259. package/dist/views/beforeAuth/components/activity-tag-data/activity-tag-data/index.esm.js.map +1 -0
  260. package/dist/views/beforeAuth/components/activity-tag-data/activity-tag-data/index.js +2 -0
  261. package/dist/views/beforeAuth/components/activity-tag-data/activity-tag-data/index.js.map +1 -0
  262. package/dist/views/beforeAuth/components/calendar-data/calendar-data/index.esm.js +50 -0
  263. package/dist/views/beforeAuth/components/calendar-data/calendar-data/index.esm.js.map +1 -0
  264. package/dist/views/beforeAuth/components/calendar-data/calendar-data/index.js +2 -0
  265. package/dist/views/beforeAuth/components/calendar-data/calendar-data/index.js.map +1 -0
  266. package/dist/views/beforeAuth/components/gantt-data/gantt-data/index.esm.js +57 -0
  267. package/dist/views/beforeAuth/components/gantt-data/gantt-data/index.esm.js.map +1 -0
  268. package/dist/views/beforeAuth/components/gantt-data/gantt-data/index.js +2 -0
  269. package/dist/views/beforeAuth/components/gantt-data/gantt-data/index.js.map +1 -0
  270. package/dist/views/beforeAuth/components/grid-data/grid-data/index.esm.js +41 -0
  271. package/dist/views/beforeAuth/components/grid-data/grid-data/index.esm.js.map +1 -0
  272. package/dist/views/beforeAuth/components/grid-data/grid-data/index.js +2 -0
  273. package/dist/views/beforeAuth/components/grid-data/grid-data/index.js.map +1 -0
  274. package/dist/views/beforeAuth/components/index/index.esm.js +1144 -0
  275. package/dist/views/beforeAuth/components/index/index.esm.js.map +1 -0
  276. package/dist/views/beforeAuth/components/index/index.js +206 -0
  277. package/dist/views/beforeAuth/components/index/index.js.map +1 -0
  278. package/dist/views/beforeAuth/components/kanbann-content/kanbann-raw/index.esm.js +72 -0
  279. package/dist/views/beforeAuth/components/kanbann-content/kanbann-raw/index.esm.js.map +1 -0
  280. package/dist/views/beforeAuth/components/kanbann-content/kanbann-raw/index.js +2 -0
  281. package/dist/views/beforeAuth/components/kanbann-content/kanbann-raw/index.js.map +1 -0
  282. package/dist/views/beforeAuth/components/list-content/column-raw/index.esm.js +54 -0
  283. package/dist/views/beforeAuth/components/list-content/column-raw/index.esm.js.map +1 -0
  284. package/dist/views/beforeAuth/components/list-content/column-raw/index.js +2 -0
  285. package/dist/views/beforeAuth/components/list-content/column-raw/index.js.map +1 -0
  286. package/dist/views/beforeAuth/components/list-content/list-data/index.esm.js +61 -0
  287. package/dist/views/beforeAuth/components/list-content/list-data/index.esm.js.map +1 -0
  288. package/dist/views/beforeAuth/components/list-content/list-data/index.js +2 -0
  289. package/dist/views/beforeAuth/components/list-content/list-data/index.js.map +1 -0
  290. package/dist/views/beforeAuth/components/multiline-data/multiline-data/index.esm.js +21 -0
  291. package/dist/views/beforeAuth/components/multiline-data/multiline-data/index.esm.js.map +1 -0
  292. package/dist/views/beforeAuth/components/multiline-data/multiline-data/index.js +2 -0
  293. package/dist/views/beforeAuth/components/multiline-data/multiline-data/index.js.map +1 -0
  294. package/dist/views/beforeAuth/components/tabs-data/tabs-data/index.esm.js +21 -0
  295. package/dist/views/beforeAuth/components/tabs-data/tabs-data/index.esm.js.map +1 -0
  296. package/dist/views/beforeAuth/components/tabs-data/tabs-data/index.js +2 -0
  297. package/dist/views/beforeAuth/components/tabs-data/tabs-data/index.js.map +1 -0
  298. package/dist/views/beforeAuth/components/user-dropdown-data/user-dropdown-data/index.esm.js +306 -0
  299. package/dist/views/beforeAuth/components/user-dropdown-data/user-dropdown-data/index.esm.js.map +1 -0
  300. package/dist/views/beforeAuth/components/user-dropdown-data/user-dropdown-data/index.js +2 -0
  301. package/dist/views/beforeAuth/components/user-dropdown-data/user-dropdown-data/index.js.map +1 -0
  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/form-builder/redux/reducer/index.esm.js +8 -0
  307. package/dist/views/form-builder/redux/reducer/index.esm.js.map +1 -1
  308. package/dist/views/form-builder/redux/reducer/index.js +1 -1
  309. package/dist/views/form-builder/redux/reducer/index.js.map +1 -1
  310. package/dist/views/index.esm.js +2 -0
  311. package/dist/views/index.esm.js.map +1 -1
  312. package/dist/views/index.js +1 -1
  313. package/dist/views/template-editor/components/EditorSidebar/index.esm.js +3 -3
  314. package/dist/views/template-editor/components/EditorSidebar/index.esm.js.map +1 -1
  315. package/dist/views/template-editor/components/EditorSidebar/index.js +14 -14
  316. package/dist/views/template-editor/components/EditorSidebar/index.js.map +1 -1
  317. package/dist/views/template-editor/templates/index.esm.js +1 -1
  318. package/dist/views/template-editor/templates/index.esm.js.map +1 -1
  319. package/dist/views/template-editor/templates/index.js +1 -1
  320. package/dist/views/template-editor/templates/index.js.map +1 -1
  321. package/package.json +2 -3
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../../src/components/material-table/aggregation-fns/index.ts"],"sourcesContent":["import _ from 'lodash';\nimport { MRT_RowData } from 'material-react-table';\n\nconst average = (data: MRT_RowData[], column: string) => {\n\tconst sum = data.reduce(\n\t\t(acc: number, row) => acc + Number(extractNumber(row[column])),\n\t\t0\n\t);\n\tconst count = data.length;\n\treturn !isNaN(sum) ? `${_.round(sum / count,2)}` : '-';\n};\n\nconst extractNumber = (inputString: any) => {\n\t// Use a regular expression to match the numeric part, including decimals\n\tif (typeof inputString === 'string') {\n\t\tconst match = inputString.match(/[\\d,]+(\\.\\d{1,2})?/);\n\t\treturn match ? match[0] : 0;\n\t}\n\treturn inputString;\n};\nconst sum = (data: MRT_RowData[], column: string) => {\n\tconst sum = data.reduce(\n\t\t(acc: number, row) => acc + Number(extractNumber(row[column])),\n\t\t0\n\t);\n\treturn !isNaN(sum) ? `${_.round(sum,2)}` : '-';\n};\n\nconst max = (data: MRT_RowData[], column: string) => {\n\tconst maxVal = Math.max(...data.map((row) => Number(row[column])));\n\treturn `${maxVal}`;\n};\n\nconst countEmpty = (data: MRT_RowData[], column: string) => {\n\tconst empty = data?.filter((d) => {\n\t\tconst value = _.get(d, column); \n\t\treturn isNaN(Number(value)) \n\t\t\t? Boolean(!_.size(value)) \n\t\t\t: Boolean(!Number(value))\n\t}\n\t);\n\treturn `${empty.length}`;\n};\n\nconst percentageEmpty = (data: MRT_RowData[], column: string) => {\n\tconst empty = data?.filter((d) => {\n\t\tconst value = _.get(d, column); \n\t\treturn isNaN(Number(value))\n\t\t\t? Boolean(!_.size(value))\n\t\t\t: Boolean(!Number(value))\n\t}\n\t);\n\tconst percentage = (empty.length / data.length) * 100;\n\n\treturn `${_.round(percentage,2)}%`;\n};\n\nconst percentageFull = (data: MRT_RowData[], column: string) => {\n\tconst full = data?.filter((d) => {\n\t\tconst value = _.get(d, column); \n\t\treturn isNaN(Number(value))\n\t\t\t? Boolean(_.size(value))\n\t\t\t: Boolean(Number(value))\n\t}\n\t);\n\tconst percentage = (full.length / data.length) * 100;\n\n\treturn `${_.round(percentage,2)}%`;\n};\n\nconst countFull = (data: MRT_RowData[], column: string) => {\n\tconst full = data?.filter((d) => {\n\t\tconst value = _.get(d, column); \n\t\treturn isNaN(Number(value))\n\t\t\t? Boolean(_.size(value))\n\t\t\t: Boolean(Number(value))\n\t}\n\t);\n\treturn `${full.length}`;\n};\n\nconst none = () => {\n\treturn null;\n};\n\nconst min = (data: MRT_RowData[], column: string) => {\n\tconst minValue = Math.min(...data.map((row) => Number(row[column])));\n\treturn `${minValue}`;\n};\n\nexport const aggregationFns = {\n\tnone,\n\tmin,\n\tmax,\n\tsum,\n\taverage,\n\tcountEmpty,\n\tcountFull,\n\tpercentageEmpty,\n\tpercentageFull\n};\n"],"names":["extractNumber","inputString","match","aggregationFns","none","sum","data","column","reduce","acc","row","Number","isNaN","_","round","average","count","length","countEmpty","filter","d","value","get","Boolean","size","countFull","percentageEmpty","percentage","percentageFull"],"mappings":"sLAGA,MASMA,EAAiBC,IAEtB,GAA2B,iBAAhBA,EAA0B,CACpC,MAAMC,EAAQD,EAAYC,MAAM,sBAChC,OAAOA,EAAQA,EAAM,GAAK,CAC3B,CACA,OAAOD,GAwEKE,EAAiB,CAC7BC,KAVY,IACL,KAYPC,IA1EW,CAACC,EAAqBC,KACjC,MAAMF,EAAMC,EAAKE,OAChB,CAACC,EAAaC,IAAQD,EAAME,OAAOX,EAAcU,EAAIH,KACrD,GAED,OAAQK,MAAMP,GAA6B,IAAtB,GAAGQ,EAAAA,QAAEC,MAAMT,EAAI,MAsEpCU,QA5Fe,CAACT,EAAqBC,KACrC,MAAMF,EAAMC,EAAKE,OAChB,CAACC,EAAaC,IAAQD,EAAME,OAAOX,EAAcU,EAAIH,KACrD,GAEKS,EAAQV,EAAKW,OACnB,OAAQL,MAAMP,GAAqC,IAA9B,GAAGQ,EAAAA,QAAEC,MAAMT,EAAMW,EAAM,MAuF5CE,WA/DkB,CAACZ,EAAqBC,IAQjC,IAPO,MAAAD,OAAA,EAAAA,EAAMa,OAAQC,IAC3B,MAAMC,EAAQR,EAAAA,QAAES,IAAIF,EAAGb,GACvB,OAAOK,MAAMD,OAAOU,IACjBE,SAASV,EAAAA,QAAEW,KAAKH,IAChBE,SAASZ,OAAOU,OAGJJ,SAwDhBQ,UA3BiB,CAACnB,EAAqBC,IAQhC,IAPM,MAAAD,OAAA,EAAAA,EAAMa,OAAQC,IAC1B,MAAMC,EAAQR,EAAAA,QAAES,IAAIF,EAAGb,GACvB,OAAOK,MAAMD,OAAOU,IACjBE,QAAQV,EAAAA,QAAEW,KAAKH,IACfE,QAAQZ,OAAOU,OAGJJ,SAoBfS,gBAtDuB,CAACpB,EAAqBC,KAC7C,MAOMoB,GAPQ,MAAArB,OAAA,EAAAA,EAAMa,OAAQC,IAC3B,MAAMC,EAAQR,EAAAA,QAAES,IAAIF,EAAGb,GACvB,OAAOK,MAAMD,OAAOU,IACjBE,SAASV,EAAAA,QAAEW,KAAKH,IAChBE,SAASZ,OAAOU,OAGMJ,OAASX,EAAKW,OAAU,IAElD,MAAO,GAAGJ,EAAAA,QAAEC,MAAMa,EAAW,OA6C7BC,eA1CsB,CAACtB,EAAqBC,KAC5C,MAOMoB,GAPO,MAAArB,OAAA,EAAAA,EAAMa,OAAQC,IAC1B,MAAMC,EAAQR,EAAAA,QAAES,IAAIF,EAAGb,GACvB,OAAOK,MAAMD,OAAOU,IACjBE,QAAQV,EAAAA,QAAEW,KAAKH,IACfE,QAAQZ,OAAOU,OAGMJ,OAASX,EAAKW,OAAU,IAEjD,MAAO,GAAGJ,EAAAA,QAAEC,MAAMa,EAAW"}
1
+ {"version":3,"file":"index.js","sources":["../../../../../src/components/material-table/aggregation-fns/index.ts"],"sourcesContent":["import _ from 'lodash';\nimport { MRT_RowData } from 'material-react-table';\n\nconst average = (data: MRT_RowData[], column: string) => {\n\tconst sum = data.reduce(\n\t\t(acc: number, row) => acc + Number(extractNumber(row[column])),\n\t\t0\n\t);\n\tconst count = data.length;\n\treturn !isNaN(sum) ? `${_.round(sum / count,2)}` : '-';\n};\n\nconst extractNumber = (inputString: any) => {\n\t// Use a regular expression to match the numeric part, including decimals\n\tif (typeof inputString === 'string') {\n\t\tconst match = inputString.match(/[\\d,]+(\\.\\d{1,2})?/);\n\t\treturn match ? match[0] : 0;\n\t}\n\treturn inputString;\n};\nconst sum = (data: MRT_RowData[], column: string) => {\n\tconst sum = data.reduce(\n\t\t(acc: number, row) => acc + Number(extractNumber(row[column])),\n\t\t0\n\t);\n\treturn !isNaN(sum) ? `${_.round(sum,2)}` : '-';\n};\n\nconst max = (data: MRT_RowData[], column: string) => {\n\tconst maxVal = Math.max(...data.map((row) => Number(row[column])));\n\treturn `${maxVal}`;\n};\n\nconst countEmpty = (data: MRT_RowData[], column: string) => {\n\tconst empty = data?.filter((d) => {\n\t\tconst value = _.get(d, column); \n\t\treturn isNaN(Number(value)) \n\t\t\t? Boolean(!_.size(value)) \n\t\t\t: Boolean(!Number(value))\n\t}\n\t);\n\treturn `${empty.length}`;\n};\n\nconst percentageEmpty = (data: MRT_RowData[], column: string) => {\n\tconst empty = data?.filter((d) => {\n\t\tconst value = _.get(d, column); \n\t\treturn isNaN(Number(value))\n\t\t\t? Boolean(!_.size(value))\n\t\t\t: Boolean(!Number(value))\n\t}\n\t);\n\tconst percentage = (empty.length / data.length) * 100;\n\n\treturn `${_.round(percentage,2)}%`;\n};\n\nconst percentageFull = (data: MRT_RowData[], column: string) => {\n\tconst full = data?.filter((d) => {\n\t\tconst value = _.get(d, column); \n\t\treturn isNaN(Number(value))\n\t\t\t? Boolean(_.size(value))\n\t\t\t: Boolean(Number(value))\n\t}\n\t);\n\tconst percentage = (full.length / data.length) * 100;\n\n\treturn `${_.round(percentage,2)}%`;\n};\n\nconst countFull = (data: MRT_RowData[], column: string) => {\n\tconst full = data?.filter((d) => {\n\t\tconst value = _.get(d, column); \n\t\treturn isNaN(Number(value))\n\t\t\t? Boolean(_.size(value))\n\t\t\t: Boolean(Number(value))\n\t}\n\t);\n\treturn `${full.length}`;\n};\n\nconst none = () => {\n\treturn null;\n};\n\nconst min = (data: MRT_RowData[], column: string) => {\n\tconst minValue = Math.min(...data.map((row) => Number(row[column])));\n\treturn `${minValue}`;\n};\n\nexport const aggregationFns = {\n\tnone,\n\tmin,\n\tmax,\n\tsum,\n\taverage,\n\tcountEmpty,\n\tcountFull,\n\tpercentageEmpty,\n\tpercentageFull\n};\n"],"names":["extractNumber","inputString","match","aggregationFns","none","min","data","column","Math","map","row","Number","max","sum","reduce","acc","isNaN","_","round","average","count","length","countEmpty","filter","d","value","get","Boolean","size","countFull","percentageEmpty","percentage","percentageFull"],"mappings":"sLAGA,MASMA,EAAiBC,IAEtB,GAA2B,iBAAhBA,EAA0B,CACpC,MAAMC,EAAQD,EAAYC,MAAM,sBAChC,OAAOA,EAAQA,EAAM,GAAK,CAC3B,CACA,OAAOD,GAwEKE,EAAiB,CAC7BC,KAVY,IACL,KAUPC,IAPW,CAACC,EAAqBC,IAE1B,GADUC,KAAKH,OAAOC,EAAKG,IAAKC,GAAQC,OAAOD,EAAIH,QAO1DK,IAjEW,CAACN,EAAqBC,IAE1B,GADQC,KAAKI,OAAON,EAAKG,IAAKC,GAAQC,OAAOD,EAAIH,QAiExDM,IA1EW,CAACP,EAAqBC,KACjC,MAAMM,EAAMP,EAAKQ,OAChB,CAACC,EAAaL,IAAQK,EAAMJ,OAAOX,EAAcU,EAAIH,KACrD,GAED,OAAQS,MAAMH,GAA6B,IAAtB,GAAGI,EAAAA,QAAEC,MAAML,EAAI,MAsEpCM,QA5Fe,CAACb,EAAqBC,KACrC,MAAMM,EAAMP,EAAKQ,OAChB,CAACC,EAAaL,IAAQK,EAAMJ,OAAOX,EAAcU,EAAIH,KACrD,GAEKa,EAAQd,EAAKe,OACnB,OAAQL,MAAMH,GAAqC,IAA9B,GAAGI,EAAAA,QAAEC,MAAML,EAAMO,EAAM,MAuF5CE,WA/DkB,CAAChB,EAAqBC,IAQjC,IAPO,MAAAD,OAAA,EAAAA,EAAMiB,OAAQC,IAC3B,MAAMC,EAAQR,EAAAA,QAAES,IAAIF,EAAGjB,GACvB,OAAOS,MAAML,OAAOc,IACjBE,SAASV,EAAAA,QAAEW,KAAKH,IAChBE,SAAShB,OAAOc,OAGJJ,SAwDhBQ,UA3BiB,CAACvB,EAAqBC,IAQhC,IAPM,MAAAD,OAAA,EAAAA,EAAMiB,OAAQC,IAC1B,MAAMC,EAAQR,EAAAA,QAAES,IAAIF,EAAGjB,GACvB,OAAOS,MAAML,OAAOc,IACjBE,QAAQV,EAAAA,QAAEW,KAAKH,IACfE,QAAQhB,OAAOc,OAGJJ,SAoBfS,gBAtDuB,CAACxB,EAAqBC,KAC7C,MAOMwB,GAPQ,MAAAzB,OAAA,EAAAA,EAAMiB,OAAQC,IAC3B,MAAMC,EAAQR,EAAAA,QAAES,IAAIF,EAAGjB,GACvB,OAAOS,MAAML,OAAOc,IACjBE,SAASV,EAAAA,QAAEW,KAAKH,IAChBE,SAAShB,OAAOc,OAGMJ,OAASf,EAAKe,OAAU,IAElD,MAAO,GAAGJ,EAAAA,QAAEC,MAAMa,EAAW,OA6C7BC,eA1CsB,CAAC1B,EAAqBC,KAC5C,MAOMwB,GAPO,MAAAzB,OAAA,EAAAA,EAAMiB,OAAQC,IAC1B,MAAMC,EAAQR,EAAAA,QAAES,IAAIF,EAAGjB,GACvB,OAAOS,MAAML,OAAOc,IACjBE,QAAQV,EAAAA,QAAEW,KAAKH,IACfE,QAAQhB,OAAOc,OAGMJ,OAASf,EAAKe,OAAU,IAEjD,MAAO,GAAGJ,EAAAA,QAAEC,MAAMa,EAAW"}
@@ -0,0 +1,133 @@
1
+ import { jsxs, Fragment, jsx } from "react/jsx-runtime";
2
+ import React__default, { useEffect } from "react";
3
+ import { aggregationFns } from "../../aggregation-fns/index/index.esm.js";
4
+ import { Typography } from "../../../typography/typography/index.esm.js";
5
+ import Menu from "../../../menu/menu/index.esm.js";
6
+ import MenuItem from "../../../../node_modules/@mui/material/MenuItem/MenuItem/index.esm.js";
7
+ const allAggregations = [
8
+ {
9
+ label: "Average",
10
+ value: "avg"
11
+ },
12
+ {
13
+ label: "Sum",
14
+ value: "sum"
15
+ },
16
+ {
17
+ label: "Min",
18
+ value: "min"
19
+ },
20
+ {
21
+ label: "Max",
22
+ value: "max"
23
+ },
24
+ {
25
+ label: "Count Empty",
26
+ value: "count_empty"
27
+ },
28
+ {
29
+ label: "Count Full",
30
+ value: "count_full"
31
+ },
32
+ {
33
+ label: "Percentage Full",
34
+ value: "percentage_full"
35
+ },
36
+ {
37
+ label: "Percentage Empty",
38
+ value: "percentage_empty"
39
+ },
40
+ {
41
+ label: "None",
42
+ value: "none"
43
+ }
44
+ ];
45
+ const nonNumberAggregations = [
46
+ {
47
+ label: "Count Empty",
48
+ value: "count_empty"
49
+ },
50
+ {
51
+ label: "Count Full",
52
+ value: "count_full"
53
+ },
54
+ {
55
+ label: "Percentage Full",
56
+ value: "percentage_full"
57
+ },
58
+ {
59
+ label: "Percentage Empty",
60
+ value: "percentage_empty"
61
+ },
62
+ {
63
+ label: "None",
64
+ value: "none"
65
+ }
66
+ ];
67
+ const aggregationFnsLookup = {
68
+ avg: aggregationFns.average,
69
+ sum: aggregationFns.sum,
70
+ max: aggregationFns.max,
71
+ count_empty: aggregationFns.countEmpty,
72
+ count_full: aggregationFns.countFull,
73
+ percentage_empty: aggregationFns.percentageEmpty,
74
+ percentage_full: aggregationFns.percentageFull,
75
+ min: aggregationFns.min,
76
+ none: aggregationFns.none
77
+ };
78
+ const NumberAggregation = ({ data, column, type }) => {
79
+ const [selectedType, setSelectedType] = React__default.useState("none");
80
+ const [anchorEl, setAnchorEl] = React__default.useState(null);
81
+ const [calculatedValue, setCalculatedValue] = React__default.useState();
82
+ const open = Boolean(anchorEl);
83
+ const handleClick = (event) => {
84
+ setAnchorEl(event.currentTarget);
85
+ };
86
+ const handleClose = () => {
87
+ setAnchorEl(null);
88
+ };
89
+ const handleAggregationType = (val) => {
90
+ setSelectedType(val);
91
+ handleClose();
92
+ };
93
+ useEffect(() => {
94
+ const func = aggregationFnsLookup[selectedType];
95
+ setCalculatedValue(func(data, column));
96
+ }, [selectedType, column, data]);
97
+ const aggregations = type === "number" ? allAggregations : nonNumberAggregations;
98
+ return /* @__PURE__ */ jsxs(Fragment, { children: [
99
+ /* @__PURE__ */ jsx(
100
+ Typography,
101
+ {
102
+ onClick: handleClick,
103
+ sx: { cursor: "pointer" },
104
+ type: "s4",
105
+ weight: "normal",
106
+ color: calculatedValue ? "theme.secondary.1000" : "theme.secondary.500",
107
+ children: calculatedValue || "+ Add Calculation"
108
+ }
109
+ ),
110
+ /* @__PURE__ */ jsx(
111
+ Menu,
112
+ {
113
+ id: "basic-menu",
114
+ anchorEl,
115
+ open,
116
+ onClose: handleClose,
117
+ children: aggregations == null ? void 0 : aggregations.map((aggr) => /* @__PURE__ */ jsx(
118
+ MenuItem,
119
+ {
120
+ selected: selectedType == (aggr == null ? void 0 : aggr.value),
121
+ onClick: () => handleAggregationType(aggr == null ? void 0 : aggr.value),
122
+ children: /* @__PURE__ */ jsx(Typography, { color: "theme.secondary.1000", type: "s4", children: aggr == null ? void 0 : aggr.label })
123
+ },
124
+ aggr.value
125
+ ))
126
+ }
127
+ )
128
+ ] });
129
+ };
130
+ export {
131
+ NumberAggregation as default
132
+ };
133
+ //# sourceMappingURL=index.esm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.esm.js","sources":["../../../../../src/components/material-table/components/number-aggregation.tsx"],"sourcesContent":["import React, { useEffect } from \"react\";\nimport { aggregationFns } from \"../aggregation-fns\";\nimport Typography from \"../../typography/typography\";\nimport { MenuItem } from \"@mui/material\";\nimport Menu from \"../../menu/menu\";\nimport { MRT_RowData } from \"material-react-table\";\n\ntype aggregationType =\n | \"none\"\n | \"avg\"\n | \"min\"\n | \"max\"\n | \"count_empty\"\n | \"count_full\"\n | \"sum\"\n | \"percentage_empty\"\n | \"percentage_full\";\n\ninterface IAggregation {\n label: string;\n value: aggregationType;\n}\n\nconst allAggregations: IAggregation[] = [\n {\n label: \"Average\",\n value: \"avg\",\n },\n {\n label: \"Sum\",\n value: \"sum\",\n },\n {\n label: \"Min\",\n value: \"min\",\n },\n {\n label: \"Max\",\n value: \"max\",\n },\n {\n label: \"Count Empty\",\n value: \"count_empty\",\n },\n {\n label: \"Count Full\",\n value: \"count_full\",\n },\n {\n label: \"Percentage Full\",\n value: \"percentage_full\",\n },\n {\n label: \"Percentage Empty\",\n value: \"percentage_empty\",\n },\n {\n label: \"None\",\n value: \"none\",\n },\n];\n\nconst nonNumberAggregations: IAggregation[] = [\n {\n label: \"Count Empty\",\n value: \"count_empty\",\n },\n {\n label: \"Count Full\",\n value: \"count_full\",\n },\n {\n label: \"Percentage Full\",\n value: \"percentage_full\",\n },\n {\n label: \"Percentage Empty\",\n value: \"percentage_empty\",\n },\n {\n label: \"None\",\n value: \"none\",\n },\n];\n\nconst aggregationFnsLookup = {\n avg: aggregationFns.average,\n sum: aggregationFns.sum,\n max: aggregationFns.max,\n count_empty: aggregationFns.countEmpty,\n count_full: aggregationFns.countFull,\n percentage_empty: aggregationFns.percentageEmpty,\n percentage_full: aggregationFns.percentageFull,\n min: aggregationFns.min,\n none: aggregationFns.none,\n};\n\ninterface INumberAggregation {\n data: MRT_RowData[];\n column: string;\n type?: string;\n}\n\nconst NumberAggregation = ({ data, column, type }: INumberAggregation) => {\n const [selectedType, setSelectedType] =\n React.useState<aggregationType>(\"none\");\n const [anchorEl, setAnchorEl] = React.useState<null | HTMLElement>(null);\n const [calculatedValue, setCalculatedValue] = React.useState<string | null>();\n const open = Boolean(anchorEl);\n\n const handleClick = (event: React.MouseEvent<HTMLButtonElement>) => {\n setAnchorEl(event.currentTarget);\n };\n\n const handleClose = () => {\n setAnchorEl(null);\n };\n\n const handleAggregationType = (val: aggregationType) => {\n setSelectedType(val);\n handleClose();\n };\n\n useEffect(() => {\n const func = aggregationFnsLookup[selectedType];\n setCalculatedValue(func(data, column));\n }, [selectedType, column, data]);\n\n const aggregations =\n type === \"number\" ? allAggregations : nonNumberAggregations;\n\n return (\n <>\n <Typography\n onClick={handleClick}\n sx={{ cursor: \"pointer\" }}\n type=\"s4\"\n weight=\"normal\"\n color={calculatedValue ? \"theme.secondary.1000\" : \"theme.secondary.500\"}\n >\n {calculatedValue || \"+ Add Calculation\"}\n </Typography>\n <Menu\n id=\"basic-menu\"\n anchorEl={anchorEl}\n open={open}\n onClose={handleClose}\n >\n {aggregations?.map((aggr) => (\n <MenuItem\n key={aggr.value}\n selected={selectedType == aggr?.value}\n onClick={() => handleAggregationType(aggr?.value)}\n >\n <Typography color=\"theme.secondary.1000\" type=\"s4\">\n {aggr?.label}\n </Typography>\n </MenuItem>\n ))}\n </Menu>\n </>\n );\n};\n\nexport default NumberAggregation;\n"],"names":["React"],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),l=require("react"),a=require("../../aggregation-fns/index/index.js"),n=require("../../../typography/typography/index.js"),t=require("../../../menu/menu/index.js"),u=require("../../../../node_modules/@mui/material/MenuItem/MenuItem/index.js");function r(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var o=/* @__PURE__ */r(l);const g=[{label:"Average",value:"avg"},{label:"Sum",value:"sum"},{label:"Min",value:"min"},{label:"Max",value:"max"},{label:"Count Empty",value:"count_empty"},{label:"Count Full",value:"count_full"},{label:"Percentage Full",value:"percentage_full"},{label:"Percentage Empty",value:"percentage_empty"},{label:"None",value:"none"}],c=[{label:"Count Empty",value:"count_empty"},{label:"Count Full",value:"count_full"},{label:"Percentage Full",value:"percentage_full"},{label:"Percentage Empty",value:"percentage_empty"},{label:"None",value:"none"}],i={avg:a.aggregationFns.average,sum:a.aggregationFns.sum,max:a.aggregationFns.max,count_empty:a.aggregationFns.countEmpty,count_full:a.aggregationFns.countFull,percentage_empty:a.aggregationFns.percentageEmpty,percentage_full:a.aggregationFns.percentageFull,min:a.aggregationFns.min,none:a.aggregationFns.none};exports.default=({data:a,column:r,type:s})=>{const[m,p]=o.default.useState("none"),[d,v]=o.default.useState(null),[y,f]=o.default.useState(),b=Boolean(d),x=()=>{v(null)};l.useEffect(()=>{f((0,i[m])(a,r))},[m,r,a]);const F="number"===s?g:c;/* @__PURE__ */
2
+ return e.jsxs(e.Fragment,{children:[
3
+ /* @__PURE__ */e.jsx(n.Typography,{onClick:e=>{v(e.currentTarget)},sx:{cursor:"pointer"},type:"s4",weight:"normal",color:y?"theme.secondary.1000":"theme.secondary.500",children:y||"+ Add Calculation"}),
4
+ /* @__PURE__ */e.jsx(t.default,{id:"basic-menu",anchorEl:d,open:b,onClose:x,children:null==F?void 0:F.map(l=>/* @__PURE__ */e.jsx(u.default,{selected:m==(null==l?void 0:l.value),onClick:()=>{return e=null==l?void 0:l.value,p(e),void x();var e},children:/* @__PURE__ */e.jsx(n.Typography,{color:"theme.secondary.1000",type:"s4",children:null==l?void 0:l.label})},l.value))})]})};
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../../../../../src/components/material-table/components/number-aggregation.tsx"],"sourcesContent":["import React, { useEffect } from \"react\";\nimport { aggregationFns } from \"../aggregation-fns\";\nimport Typography from \"../../typography/typography\";\nimport { MenuItem } from \"@mui/material\";\nimport Menu from \"../../menu/menu\";\nimport { MRT_RowData } from \"material-react-table\";\n\ntype aggregationType =\n | \"none\"\n | \"avg\"\n | \"min\"\n | \"max\"\n | \"count_empty\"\n | \"count_full\"\n | \"sum\"\n | \"percentage_empty\"\n | \"percentage_full\";\n\ninterface IAggregation {\n label: string;\n value: aggregationType;\n}\n\nconst allAggregations: IAggregation[] = [\n {\n label: \"Average\",\n value: \"avg\",\n },\n {\n label: \"Sum\",\n value: \"sum\",\n },\n {\n label: \"Min\",\n value: \"min\",\n },\n {\n label: \"Max\",\n value: \"max\",\n },\n {\n label: \"Count Empty\",\n value: \"count_empty\",\n },\n {\n label: \"Count Full\",\n value: \"count_full\",\n },\n {\n label: \"Percentage Full\",\n value: \"percentage_full\",\n },\n {\n label: \"Percentage Empty\",\n value: \"percentage_empty\",\n },\n {\n label: \"None\",\n value: \"none\",\n },\n];\n\nconst nonNumberAggregations: IAggregation[] = [\n {\n label: \"Count Empty\",\n value: \"count_empty\",\n },\n {\n label: \"Count Full\",\n value: \"count_full\",\n },\n {\n label: \"Percentage Full\",\n value: \"percentage_full\",\n },\n {\n label: \"Percentage Empty\",\n value: \"percentage_empty\",\n },\n {\n label: \"None\",\n value: \"none\",\n },\n];\n\nconst aggregationFnsLookup = {\n avg: aggregationFns.average,\n sum: aggregationFns.sum,\n max: aggregationFns.max,\n count_empty: aggregationFns.countEmpty,\n count_full: aggregationFns.countFull,\n percentage_empty: aggregationFns.percentageEmpty,\n percentage_full: aggregationFns.percentageFull,\n min: aggregationFns.min,\n none: aggregationFns.none,\n};\n\ninterface INumberAggregation {\n data: MRT_RowData[];\n column: string;\n type?: string;\n}\n\nconst NumberAggregation = ({ data, column, type }: INumberAggregation) => {\n const [selectedType, setSelectedType] =\n React.useState<aggregationType>(\"none\");\n const [anchorEl, setAnchorEl] = React.useState<null | HTMLElement>(null);\n const [calculatedValue, setCalculatedValue] = React.useState<string | null>();\n const open = Boolean(anchorEl);\n\n const handleClick = (event: React.MouseEvent<HTMLButtonElement>) => {\n setAnchorEl(event.currentTarget);\n };\n\n const handleClose = () => {\n setAnchorEl(null);\n };\n\n const handleAggregationType = (val: aggregationType) => {\n setSelectedType(val);\n handleClose();\n };\n\n useEffect(() => {\n const func = aggregationFnsLookup[selectedType];\n setCalculatedValue(func(data, column));\n }, [selectedType, column, data]);\n\n const aggregations =\n type === \"number\" ? allAggregations : nonNumberAggregations;\n\n return (\n <>\n <Typography\n onClick={handleClick}\n sx={{ cursor: \"pointer\" }}\n type=\"s4\"\n weight=\"normal\"\n color={calculatedValue ? \"theme.secondary.1000\" : \"theme.secondary.500\"}\n >\n {calculatedValue || \"+ Add Calculation\"}\n </Typography>\n <Menu\n id=\"basic-menu\"\n anchorEl={anchorEl}\n open={open}\n onClose={handleClose}\n >\n {aggregations?.map((aggr) => (\n <MenuItem\n key={aggr.value}\n selected={selectedType == aggr?.value}\n onClick={() => handleAggregationType(aggr?.value)}\n >\n <Typography color=\"theme.secondary.1000\" type=\"s4\">\n {aggr?.label}\n </Typography>\n </MenuItem>\n ))}\n </Menu>\n </>\n );\n};\n\nexport default NumberAggregation;\n"],"names":["allAggregations","label","value","nonNumberAggregations","aggregationFnsLookup","avg","aggregationFns","average","sum","max","count_empty","countEmpty","count_full","countFull","percentage_empty","percentageEmpty","percentage_full","percentageFull","min","none","data","column","type","selectedType","setSelectedType","React","useState","anchorEl","setAnchorEl","calculatedValue","setCalculatedValue","open","Boolean","handleClose","useEffect","func","aggregations","jsxs","Fragment","children","jsx","Typography","onClick","event","currentTarget","sx","cursor","weight","color","Menu","id","onClose","map","aggr","MenuItem","selected","handleAggregationType","val"],"mappings":"2bAuBA,MAAMA,EAAkC,CACtC,CACEC,MAAO,UACPC,MAAO,OAET,CACED,MAAO,MACPC,MAAO,OAET,CACED,MAAO,MACPC,MAAO,OAET,CACED,MAAO,MACPC,MAAO,OAET,CACED,MAAO,cACPC,MAAO,eAET,CACED,MAAO,aACPC,MAAO,cAET,CACED,MAAO,kBACPC,MAAO,mBAET,CACED,MAAO,mBACPC,MAAO,oBAET,CACED,MAAO,OACPC,MAAO,SAILC,EAAwC,CAC5C,CACEF,MAAO,cACPC,MAAO,eAET,CACED,MAAO,aACPC,MAAO,cAET,CACED,MAAO,kBACPC,MAAO,mBAET,CACED,MAAO,mBACPC,MAAO,oBAET,CACED,MAAO,OACPC,MAAO,SAILE,EAAuB,CAC3BC,IAAKC,EAAAA,eAAeC,QACpBC,IAAKF,EAAAA,eAAeE,IACpBC,IAAKH,EAAAA,eAAeG,IACpBC,YAAaJ,EAAAA,eAAeK,WAC5BC,WAAYN,EAAAA,eAAeO,UAC3BC,iBAAkBR,EAAAA,eAAeS,gBACjCC,gBAAiBV,EAAAA,eAAeW,eAChCC,IAAKZ,EAAAA,eAAeY,IACpBC,KAAMb,EAAAA,eAAea,sBASG,EAAGC,OAAMC,SAAQC,WACzC,MAAOC,EAAcC,GACnBC,EAAAA,QAAMC,SAA0B,SAC3BC,EAAUC,GAAeH,EAAAA,QAAMC,SAA6B,OAC5DG,EAAiBC,GAAsBL,EAAAA,QAAMC,WAC9CK,EAAOC,QAAQL,GAMfM,EAAc,KAClBL,EAAY,OAQdM,EAAAA,UAAU,KAERJ,GAAmBK,EADN/B,EAAqBmB,IACVH,EAAMC,KAC7B,CAACE,EAAcF,EAAQD,IAE1B,MAAMgB,EACK,WAATd,EAAoBtB,EAAkBG;AAExC,OACEkC,EAAAA,KAAAC,WAAA,CACEC,SAAA;eAAAC,EAAAA,IAACC,EAAAA,WAAA,CACCC,QAxBeC,IACnBf,EAAYe,EAAMC,gBAwBdC,GAAI,CAAEC,OAAQ,WACdxB,KAAK,KACLyB,OAAO,SACPC,MAAOnB,EAAkB,uBAAyB,sBAEjDU,SAAAV,GAAmB;eAEtBW,EAAAA,IAACS,EAAAA,QAAA,CACCC,GAAG,aACHvB,WACAI,OACAoB,QAASlB,EAERM,SAAA,MAAAH,OAAA,EAAAA,EAAcgB,IAAKC,kBAClBb,EAAAA,IAACc,EAAAA,QAAA,CAECC,SAAUhC,IAAgB,MAAA8B,OAAA,EAAAA,EAAMnD,OAChCwC,QAAS,KAAMc,OAlCMC,EAkCgB,MAAAJ,OAAA,EAAAA,EAAMnD,MAjCnDsB,EAAgBiC,QAChBxB,IAF4B,IAACwB,GAoCrBlB,8BAACE,aAAA,CAAWO,MAAM,uBAAuB1B,KAAK,KAC3CiB,0BAAMtC,SALJoD,EAAKnD"}
@@ -77,5 +77,5 @@ interface MaterialTablePropsType {
77
77
  handleColumnResizing?: (sizes: MRT_ColumnSizingState) => void;
78
78
  columnSizes?: MRT_ColumnSizingState;
79
79
  }
80
- declare const MaterialTable: React.NamedExoticComponent<MaterialTablePropsType>;
80
+ declare const MaterialTable: React.MemoExoticComponent<({ enablePagination, rows, columns, totalPages, paginationModel, columnOrder, updateData, handleColumnOrdering, enableEditing, enableColumnDragging, states, rowActionMenu, destructiveActionMenu, disableDefaultActionColumn, enableRowSelection, defaultActionColumnItems, enableBottomToolbar, SetSelectedRowId, isResetRow, onCreateRow, onEditRow, onDeleteRow, editDisplayMode, enableRowCreate, onChangeRowField, onSelectRow, enableColumnResizing, selectedRowIds, onColumnVisibility, onSortingChange, getSelectedData, disabledDefaultActionColumnIcon, enableAddCustomField, enableRowDragging, handleColumnResizing, columnSizes, ...rest }: MaterialTablePropsType) => import("react/jsx-runtime").JSX.Element>;
81
81
  export default MaterialTable;
@@ -15,5 +15,5 @@ interface IPhoneInput {
15
15
  helperText?: string;
16
16
  isInlineEditing?: boolean;
17
17
  }
18
- declare const PhoneInput: import('react').NamedExoticComponent<IPhoneInput>;
18
+ declare const PhoneInput: import('react').MemoExoticComponent<({ name, error, dataName, dataPosition, label, required, placeholder, default_value, onChange, disabled, setCountryCodeField, helperText, isInlineEditing, ...rest }: IPhoneInput) => import("react/jsx-runtime").JSX.Element>;
19
19
  export default PhoneInput;
@@ -1,4 +1,4 @@
1
1
  import { RadioProps } from '@mui/material';
2
2
 
3
- declare const Radio: import('react').NamedExoticComponent<RadioProps>;
3
+ declare const Radio: import('react').MemoExoticComponent<(props: RadioProps) => import("react/jsx-runtime").JSX.Element>;
4
4
  export default Radio;
@@ -1,7 +1,7 @@
1
1
  import { createAsyncThunk } from "@reduxjs/toolkit";
2
2
  import { getToken } from "../../../../utils/common/index.esm.js";
3
3
  import { getV1Company, setBaseUrl } from "../../../../api-client/api.rbac/api/index.esm.js";
4
- setBaseUrl(`${void 0}/rbac`);
4
+ setBaseUrl(`${"https://apidev.erpforce.co"}/rbac`);
5
5
  const fetchCompanies = createAsyncThunk(
6
6
  "reports-title/fetchCompanies",
7
7
  async () => {
@@ -1 +1 @@
1
- {"version":3,"file":"index.esm.js","sources":["../../../../../src/components/reports-title-bar/redux/actionCreator.ts"],"sourcesContent":["import { createAsyncThunk } from \"@reduxjs/toolkit\";\nimport { getToken } from '../../../utils/common';\nimport {\n getV1Company,\n setBaseUrl,\n} from \"../../../api-client/api.rbac/api\";\n\nsetBaseUrl(`${import.meta.env.VITE_BACKEND_BASE_URL}/rbac`);\n\n\n\nexport const fetchCompanies = createAsyncThunk(\n \"reports-title/fetchCompanies\",\n async () => {\n const response = await getV1Company({ ...getToken() });\n return response;\n }\n);\n"],"names":[],"mappings":";;;AAOA,WAAW,GAAG,MAAA,OAA4C;AAInD,MAAM,iBAAiB;AAAA,EAC5B;AAAA,EACA,YAAY;AACV,UAAM,WAAW,MAAM,aAAa,EAAE,GAAG,SAAA,GAAY;AACrD,WAAO;AAAA,EACT;AACF;"}
1
+ {"version":3,"file":"index.esm.js","sources":["../../../../../src/components/reports-title-bar/redux/actionCreator.ts"],"sourcesContent":["import { createAsyncThunk } from \"@reduxjs/toolkit\";\nimport { getToken } from '../../../utils/common';\nimport {\n getV1Company,\n setBaseUrl,\n} from \"../../../api-client/api.rbac/api\";\n\nsetBaseUrl(`${import.meta.env.VITE_BACKEND_BASE_URL}/rbac`);\n\n\n\nexport const fetchCompanies = createAsyncThunk(\n \"reports-title/fetchCompanies\",\n async () => {\n const response = await getV1Company({ ...getToken() });\n return response;\n }\n);\n"],"names":[],"mappings":";;;AAOA,WAAW,GAAG,4BAAqC,OAAO;AAInD,MAAM,iBAAiB;AAAA,EAC5B;AAAA,EACA,YAAY;AACV,UAAM,WAAW,MAAM,aAAa,EAAE,GAAG,SAAA,GAAY;AACrD,WAAO;AAAA,EACT;AACF;"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@reduxjs/toolkit"),t=require("../../../../utils/common/index.js"),r=require("../../../../api-client/api.rbac/api/index.js");r.setBaseUrl("undefined/rbac");const i=e.createAsyncThunk("reports-title/fetchCompanies",async()=>await r.getV1Company({...t.getToken()}));exports.fetchCompanies=i;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@reduxjs/toolkit"),t=require("../../../../utils/common/index.js"),r=require("../../../../api-client/api.rbac/api/index.js");r.setBaseUrl("https://apidev.erpforce.co/rbac");const i=e.createAsyncThunk("reports-title/fetchCompanies",async()=>await r.getV1Company({...t.getToken()}));exports.fetchCompanies=i;
2
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../../src/components/reports-title-bar/redux/actionCreator.ts"],"sourcesContent":["import { createAsyncThunk } from \"@reduxjs/toolkit\";\nimport { getToken } from '../../../utils/common';\nimport {\n getV1Company,\n setBaseUrl,\n} from \"../../../api-client/api.rbac/api\";\n\nsetBaseUrl(`${import.meta.env.VITE_BACKEND_BASE_URL}/rbac`);\n\n\n\nexport const fetchCompanies = createAsyncThunk(\n \"reports-title/fetchCompanies\",\n async () => {\n const response = await getV1Company({ ...getToken() });\n return response;\n }\n);\n"],"names":["setBaseUrl","fetchCompanies","createAsyncThunk","async","getV1Company","getToken"],"mappings":"+MAOAA,EAAAA,WAAW,kBAIJ,MAAMC,EAAiBC,EAAAA,iBAC5B,+BACAC,eACyBC,EAAAA,aAAa,IAAKC,EAAAA"}
1
+ {"version":3,"file":"index.js","sources":["../../../../../src/components/reports-title-bar/redux/actionCreator.ts"],"sourcesContent":["import { createAsyncThunk } from \"@reduxjs/toolkit\";\nimport { getToken } from '../../../utils/common';\nimport {\n getV1Company,\n setBaseUrl,\n} from \"../../../api-client/api.rbac/api\";\n\nsetBaseUrl(`${import.meta.env.VITE_BACKEND_BASE_URL}/rbac`);\n\n\n\nexport const fetchCompanies = createAsyncThunk(\n \"reports-title/fetchCompanies\",\n async () => {\n const response = await getV1Company({ ...getToken() });\n return response;\n }\n);\n"],"names":["setBaseUrl","fetchCompanies","createAsyncThunk","async","getV1Company","getToken"],"mappings":"+MAOAA,EAAAA,WAAW,mCAIJ,MAAMC,EAAiBC,EAAAA,iBAC5B,+BACAC,eACyBC,EAAAA,aAAa,IAAKC,EAAAA"}
@@ -1,3 +1,3 @@
1
1
 
2
- declare const Select: import('react').NamedExoticComponent<any>;
2
+ declare const Select: import('react').MemoExoticComponent<(props: any) => import("react/jsx-runtime").JSX.Element>;
3
3
  export default Select;
@@ -2,7 +2,7 @@ import { createAsyncThunk } from "@reduxjs/toolkit";
2
2
  import { setBaseUrl } from "../../../../api-client/api.rbac/api/index.esm.js";
3
3
  import { getV1PagesUserList, postV1PagesShare } from "../../../../api-client/api.system-feature/api/index.esm.js";
4
4
  import { getToken } from "../../../../utils/common/index.esm.js";
5
- setBaseUrl(`${void 0}/rbac`);
5
+ setBaseUrl(`${"https://apidev.erpforce.co"}/rbac`);
6
6
  const getAllUserAndDepartmentDropdown = createAsyncThunk(
7
7
  "share/getUser",
8
8
  async () => {
@@ -1 +1 @@
1
- {"version":3,"file":"index.esm.js","sources":["../../../../../src/components/share-modal/redux/actionCreator.ts"],"sourcesContent":["import { createAsyncThunk } from \"@reduxjs/toolkit\";\nimport { setRoleURL } from \"../../../utils/server\";\nimport {\n getV1PagesUserList,\n postV1PagesShare,\n} from \"../../../api-client/api.system-feature/api\";\nimport { getToken } from '../../../utils/common';\n\n\n\nsetRoleURL(`${import.meta.env.VITE_BACKEND_BASE_URL}/rbac`);\n\nexport const getAllUserAndDepartmentDropdown = createAsyncThunk(\n \"share/getUser\",\n async () => {\n const response = await getV1PagesUserList({ ...getToken() });\n return response;\n },\n);\n\nexport const sharePage = createAsyncThunk(\n \"share/sharePage\",\n async (data: any) => {\n const response = await postV1PagesShare({ ...getToken(), data });\n return response;\n },\n);\n"],"names":["setRoleURL"],"mappings":";;;;AAUAA,WAAW,GAAG,MAAA,OAA4C;AAEnD,MAAM,kCAAkC;AAAA,EAC7C;AAAA,EACA,YAAY;AACV,UAAM,WAAW,MAAM,mBAAmB,EAAE,GAAG,SAAA,GAAY;AAC3D,WAAO;AAAA,EACT;AACF;AAEO,MAAM,YAAY;AAAA,EACvB;AAAA,EACA,OAAO,SAAc;AACnB,UAAM,WAAW,MAAM,iBAAiB,EAAE,GAAG,SAAA,GAAY,MAAM;AAC/D,WAAO;AAAA,EACT;AACF;"}
1
+ {"version":3,"file":"index.esm.js","sources":["../../../../../src/components/share-modal/redux/actionCreator.ts"],"sourcesContent":["import { createAsyncThunk } from \"@reduxjs/toolkit\";\nimport { setRoleURL } from \"../../../utils/server\";\nimport {\n getV1PagesUserList,\n postV1PagesShare,\n} from \"../../../api-client/api.system-feature/api\";\nimport { getToken } from '../../../utils/common';\n\n\n\nsetRoleURL(`${import.meta.env.VITE_BACKEND_BASE_URL}/rbac`);\n\nexport const getAllUserAndDepartmentDropdown = createAsyncThunk(\n \"share/getUser\",\n async () => {\n const response = await getV1PagesUserList({ ...getToken() });\n return response;\n },\n);\n\nexport const sharePage = createAsyncThunk(\n \"share/sharePage\",\n async (data: any) => {\n const response = await postV1PagesShare({ ...getToken(), data });\n return response;\n },\n);\n"],"names":["setRoleURL"],"mappings":";;;;AAUAA,WAAW,GAAG,4BAAqC,OAAO;AAEnD,MAAM,kCAAkC;AAAA,EAC7C;AAAA,EACA,YAAY;AACV,UAAM,WAAW,MAAM,mBAAmB,EAAE,GAAG,SAAA,GAAY;AAC3D,WAAO;AAAA,EACT;AACF;AAEO,MAAM,YAAY;AAAA,EACvB;AAAA,EACA,OAAO,SAAc;AACnB,UAAM,WAAW,MAAM,iBAAiB,EAAE,GAAG,SAAA,GAAY,MAAM;AAC/D,WAAO;AAAA,EACT;AACF;"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@reduxjs/toolkit"),a=require("../../../../api-client/api.rbac/api/index.js"),r=require("../../../../api-client/api.system-feature/api/index.js"),s=require("../../../../utils/common/index.js");a.setBaseUrl("undefined/rbac");const t=e.createAsyncThunk("share/getUser",async()=>await r.getV1PagesUserList({...s.getToken()})),i=e.createAsyncThunk("share/sharePage",async e=>await r.postV1PagesShare({...s.getToken(),data:e}));exports.getAllUserAndDepartmentDropdown=t,exports.sharePage=i;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@reduxjs/toolkit"),r=require("../../../../api-client/api.rbac/api/index.js"),a=require("../../../../api-client/api.system-feature/api/index.js"),s=require("../../../../utils/common/index.js");r.setBaseUrl("https://apidev.erpforce.co/rbac");const t=e.createAsyncThunk("share/getUser",async()=>await a.getV1PagesUserList({...s.getToken()})),i=e.createAsyncThunk("share/sharePage",async e=>await a.postV1PagesShare({...s.getToken(),data:e}));exports.getAllUserAndDepartmentDropdown=t,exports.sharePage=i;
2
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../../src/components/share-modal/redux/actionCreator.ts"],"sourcesContent":["import { createAsyncThunk } from \"@reduxjs/toolkit\";\nimport { setRoleURL } from \"../../../utils/server\";\nimport {\n getV1PagesUserList,\n postV1PagesShare,\n} from \"../../../api-client/api.system-feature/api\";\nimport { getToken } from '../../../utils/common';\n\n\n\nsetRoleURL(`${import.meta.env.VITE_BACKEND_BASE_URL}/rbac`);\n\nexport const getAllUserAndDepartmentDropdown = createAsyncThunk(\n \"share/getUser\",\n async () => {\n const response = await getV1PagesUserList({ ...getToken() });\n return response;\n },\n);\n\nexport const sharePage = createAsyncThunk(\n \"share/sharePage\",\n async (data: any) => {\n const response = await postV1PagesShare({ ...getToken(), data });\n return response;\n },\n);\n"],"names":["setRoleURL","getAllUserAndDepartmentDropdown","createAsyncThunk","async","getV1PagesUserList","getToken","sharePage","data","postV1PagesShare"],"mappings":"mRAUAA,EAAAA,WAAW,kBAEJ,MAAMC,EAAkCC,EAAAA,iBAC7C,gBACAC,eACyBC,EAAAA,mBAAmB,IAAKC,EAAAA,cAKtCC,EAAYJ,EAAAA,iBACvB,kBACAC,MAAOI,SACkBC,EAAAA,iBAAiB,IAAKH,EAAAA,WAAYE"}
1
+ {"version":3,"file":"index.js","sources":["../../../../../src/components/share-modal/redux/actionCreator.ts"],"sourcesContent":["import { createAsyncThunk } from \"@reduxjs/toolkit\";\nimport { setRoleURL } from \"../../../utils/server\";\nimport {\n getV1PagesUserList,\n postV1PagesShare,\n} from \"../../../api-client/api.system-feature/api\";\nimport { getToken } from '../../../utils/common';\n\n\n\nsetRoleURL(`${import.meta.env.VITE_BACKEND_BASE_URL}/rbac`);\n\nexport const getAllUserAndDepartmentDropdown = createAsyncThunk(\n \"share/getUser\",\n async () => {\n const response = await getV1PagesUserList({ ...getToken() });\n return response;\n },\n);\n\nexport const sharePage = createAsyncThunk(\n \"share/sharePage\",\n async (data: any) => {\n const response = await postV1PagesShare({ ...getToken(), data });\n return response;\n },\n);\n"],"names":["setRoleURL","getAllUserAndDepartmentDropdown","createAsyncThunk","async","getV1PagesUserList","getToken","sharePage","data","postV1PagesShare"],"mappings":"mRAUAA,EAAAA,WAAW,mCAEJ,MAAMC,EAAkCC,EAAAA,iBAC7C,gBACAC,eACyBC,EAAAA,mBAAmB,IAAKC,EAAAA,cAKtCC,EAAYJ,EAAAA,iBACvB,kBACAC,MAAOI,SACkBC,EAAAA,iBAAiB,IAAKH,EAAAA,WAAYE"}
@@ -1,4 +1,2 @@
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 default Android12Switch;
@@ -1,3 +1,3 @@
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 default TextField;
@@ -12,5 +12,5 @@ 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 default TimePicker;
@@ -166,7 +166,7 @@ const Upload = (props) => {
166
166
  );
167
167
  }
168
168
  };
169
- const BASE_URL = `${void 0}/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 = `${void 0}`;
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 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 default Upload;\n"],"names":["type","authToken","RemoveIcon","CloseIcon"],"mappings":"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"}