@erpsquad/common 1.8.5 → 1.8.7

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 (853) hide show
  1. package/dist/_virtual/index/index.esm.js +4 -2
  2. package/dist/_virtual/index/index.esm.js.map +1 -1
  3. package/dist/_virtual/index/index.esm10.js +3 -3
  4. package/dist/_virtual/index/index.esm11.js +3 -3
  5. package/dist/_virtual/index/index.esm2.js +2 -4
  6. package/dist/_virtual/index/index.esm2.js.map +1 -1
  7. package/dist/_virtual/index/index.esm4.js +1 -1
  8. package/dist/_virtual/index/index.esm5.js +3 -3
  9. package/dist/_virtual/index/index.esm6.js +3 -3
  10. package/dist/_virtual/index/index.esm7.js +3 -3
  11. package/dist/_virtual/index/index.esm8.js +3 -3
  12. package/dist/_virtual/index/index.esm9.js +3 -3
  13. package/dist/_virtual/index/index.js +1 -1
  14. package/dist/_virtual/index/index10.js +1 -1
  15. package/dist/_virtual/index/index11.js +1 -1
  16. package/dist/_virtual/index/index2.js +1 -1
  17. package/dist/_virtual/index/index4.js +1 -1
  18. package/dist/_virtual/index/index5.js +1 -1
  19. package/dist/_virtual/index/index6.js +1 -1
  20. package/dist/_virtual/index/index7.js +1 -1
  21. package/dist/_virtual/index/index8.js +1 -1
  22. package/dist/_virtual/index/index9.js +1 -1
  23. package/dist/components/accordion/accordion.d.ts +1 -1
  24. package/dist/components/action-bar/action-bar/index.esm.js +4 -56
  25. package/dist/components/action-bar/action-bar/index.esm.js.map +1 -1
  26. package/dist/components/action-bar/action-bar/index.js +18 -28
  27. package/dist/components/action-bar/action-bar/index.js.map +1 -1
  28. package/dist/components/action-bar/action-bar.d.ts +1 -1
  29. package/dist/components/checkbox/checkbox.d.ts +1 -1
  30. package/dist/components/date-picker/date-picker.d.ts +1 -1
  31. package/dist/components/editor/custom-editor/index.esm.js +1 -1
  32. package/dist/components/editor/custom-editor/index.esm.js.map +1 -1
  33. package/dist/components/editor/custom-editor/index.js +1 -1
  34. package/dist/components/editor/custom-editor/index.js.map +1 -1
  35. package/dist/components/filter/filter/index.esm.js +2 -2
  36. package/dist/components/filter/filter/index.esm.js.map +1 -1
  37. package/dist/components/filter/filter/index.js +6 -6
  38. package/dist/components/filter/filter/index.js.map +1 -1
  39. package/dist/components/footer/footer.d.ts +1 -1
  40. package/dist/components/form-control/form-builder/form-builder-element/media.d.ts +1 -1
  41. package/dist/components/form-control/form-builder/form-builder-element/phone.d.ts +1 -1
  42. package/dist/components/form-control/form-builder/form-builder-element/select.d.ts +1 -1
  43. package/dist/components/form-control/form-builder/form-builder-element/text.d.ts +1 -1
  44. package/dist/components/form-control/form-builder/form-builder-element/time.d.ts +1 -1
  45. package/dist/components/form-control/form-parser/form-switcher.d.ts +1 -1
  46. package/dist/components/header/header/index.esm.js +1 -1
  47. package/dist/components/header/header/index.esm.js.map +1 -1
  48. package/dist/components/header/header/index.js +1 -1
  49. package/dist/components/header/header/index.js.map +1 -1
  50. package/dist/components/header/redux/actionCreator/index.esm.js +1 -1
  51. package/dist/components/header/redux/actionCreator/index.esm.js.map +1 -1
  52. package/dist/components/header/redux/actionCreator/index.js +1 -1
  53. package/dist/components/header/redux/actionCreator/index.js.map +1 -1
  54. package/dist/components/icons/action-arrow.d.ts +3 -3
  55. package/dist/components/icons/add-circle.d.ts +3 -3
  56. package/dist/components/icons/arrow-bidirectional.d.ts +3 -3
  57. package/dist/components/icons/arrow-circle-down.d.ts +3 -3
  58. package/dist/components/icons/arrow-down-three.d.ts +3 -3
  59. package/dist/components/icons/arrow-down-two.d.ts +3 -3
  60. package/dist/components/icons/arrow-down.d.ts +3 -3
  61. package/dist/components/icons/arrow-up-down.d.ts +3 -3
  62. package/dist/components/icons/arrow-up-two.d.ts +3 -3
  63. package/dist/components/icons/assignments.d.ts +3 -3
  64. package/dist/components/icons/blank-circle.d.ts +3 -3
  65. package/dist/components/icons/block-filled.d.ts +3 -3
  66. package/dist/components/icons/calendar-add.d.ts +3 -3
  67. package/dist/components/icons/calendar.d.ts +3 -3
  68. package/dist/components/icons/checkbox-square.d.ts +3 -3
  69. package/dist/components/icons/circular-arrow-setting.d.ts +3 -3
  70. package/dist/components/icons/clock.d.ts +3 -3
  71. package/dist/components/icons/close.d.ts +3 -3
  72. package/dist/components/icons/coin-outline.d.ts +3 -3
  73. package/dist/components/icons/copy.d.ts +3 -3
  74. package/dist/components/icons/coupon.d.ts +3 -3
  75. package/dist/components/icons/cross-hire.d.ts +3 -3
  76. package/dist/components/icons/custom-styled-icon.d.ts +3 -3
  77. package/dist/components/icons/dashboard.d.ts +3 -3
  78. package/dist/components/icons/document-download.d.ts +3 -3
  79. package/dist/components/icons/document.d.ts +3 -3
  80. package/dist/components/icons/dollar-circle-filled.d.ts +3 -3
  81. package/dist/components/icons/dollar-circle.d.ts +3 -3
  82. package/dist/components/icons/edit.d.ts +3 -3
  83. package/dist/components/icons/email.d.ts +3 -3
  84. package/dist/components/icons/export.d.ts +3 -3
  85. package/dist/components/icons/eye-off.d.ts +3 -3
  86. package/dist/components/icons/eye-plus-circle.d.ts +3 -3
  87. package/dist/components/icons/eye.d.ts +3 -3
  88. package/dist/components/icons/filled-circle.d.ts +3 -3
  89. package/dist/components/icons/filter-remove.d.ts +3 -3
  90. package/dist/components/icons/filter.d.ts +3 -3
  91. package/dist/components/icons/folder-save.d.ts +3 -3
  92. package/dist/components/icons/grid.d.ts +3 -3
  93. package/dist/components/icons/hashtag.d.ts +3 -3
  94. package/dist/components/icons/image.d.ts +3 -3
  95. package/dist/components/icons/import.d.ts +3 -3
  96. package/dist/components/icons/info-circle.d.ts +3 -3
  97. package/dist/components/icons/info.d.ts +3 -3
  98. package/dist/components/icons/link-horizontal.d.ts +3 -3
  99. package/dist/components/icons/link.d.ts +3 -3
  100. package/dist/components/icons/location.d.ts +3 -3
  101. package/dist/components/icons/lowest-lead-time.d.ts +3 -3
  102. package/dist/components/icons/lowest-min-qty.d.ts +3 -3
  103. package/dist/components/icons/lowest-price.d.ts +3 -3
  104. package/dist/components/icons/more.d.ts +3 -3
  105. package/dist/components/icons/notification.d.ts +3 -3
  106. package/dist/components/icons/paper-clip.d.ts +3 -3
  107. package/dist/components/icons/paragraph.d.ts +3 -3
  108. package/dist/components/icons/payment-request.d.ts +3 -3
  109. package/dist/components/icons/phone.d.ts +3 -3
  110. package/dist/components/icons/printer.d.ts +3 -3
  111. package/dist/components/icons/process-calendar.d.ts +3 -3
  112. package/dist/components/icons/promotion.d.ts +3 -3
  113. package/dist/components/icons/radio-button.d.ts +3 -3
  114. package/dist/components/icons/receipt-filled.d.ts +3 -3
  115. package/dist/components/icons/receipt-outline.d.ts +3 -3
  116. package/dist/components/icons/receipt.d.ts +3 -3
  117. package/dist/components/icons/refresh-icon.d.ts +3 -3
  118. package/dist/components/icons/replace.d.ts +3 -3
  119. package/dist/components/icons/save.d.ts +3 -3
  120. package/dist/components/icons/search-status.d.ts +3 -3
  121. package/dist/components/icons/search.d.ts +3 -3
  122. package/dist/components/icons/settings-fallback.d.ts +3 -3
  123. package/dist/components/icons/sort-arrow-icon.d.ts +3 -3
  124. package/dist/components/icons/stacked-layer.d.ts +3 -3
  125. package/dist/components/icons/start-filled.d.ts +3 -3
  126. package/dist/components/icons/three-dot-icon.d.ts +3 -3
  127. package/dist/components/icons/tick-circle-filled.d.ts +3 -3
  128. package/dist/components/icons/tick-circle.d.ts +3 -3
  129. package/dist/components/icons/tick-octagon.d.ts +3 -3
  130. package/dist/components/icons/tick.d.ts +3 -3
  131. package/dist/components/icons/toggle-switch.d.ts +3 -3
  132. package/dist/components/icons/trash.d.ts +3 -3
  133. package/dist/components/icons/wave.d.ts +3 -3
  134. package/dist/components/icons/with-out-tick-octagon.d.ts +3 -3
  135. package/dist/components/icons/work-centre.d.ts +3 -3
  136. package/dist/components/index.d.ts +28 -57
  137. package/dist/components/index.esm.js +433 -477
  138. package/dist/components/index.esm.js.map +1 -1
  139. package/dist/components/index.js +1 -1
  140. package/dist/components/inventory-reports-title-bar/redux/actionCreator/index.esm.js +1 -1
  141. package/dist/components/inventory-reports-title-bar/redux/actionCreator/index.esm.js.map +1 -1
  142. package/dist/components/inventory-reports-title-bar/redux/actionCreator/index.js +1 -1
  143. package/dist/components/inventory-reports-title-bar/redux/actionCreator/index.js.map +1 -1
  144. package/dist/components/location-select.d.ts +1 -1
  145. package/dist/components/material-table/material-table/index.esm.js +2 -2
  146. package/dist/components/material-table/material-table/index.js +4 -4
  147. package/dist/components/material-table/material-table.d.ts +1 -1
  148. package/dist/components/phone-input/phone-input.d.ts +1 -1
  149. package/dist/components/radio/radio.d.ts +1 -1
  150. package/dist/components/reports-title-bar/redux/actionCreator/index.esm.js +1 -1
  151. package/dist/components/reports-title-bar/redux/actionCreator/index.esm.js.map +1 -1
  152. package/dist/components/reports-title-bar/redux/actionCreator/index.js +1 -1
  153. package/dist/components/reports-title-bar/redux/actionCreator/index.js.map +1 -1
  154. package/dist/components/select/select.d.ts +1 -1
  155. package/dist/components/share-modal/redux/actionCreator/index.esm.js +1 -1
  156. package/dist/components/share-modal/redux/actionCreator/index.esm.js.map +1 -1
  157. package/dist/components/share-modal/redux/actionCreator/index.js +1 -1
  158. package/dist/components/share-modal/redux/actionCreator/index.js.map +1 -1
  159. package/dist/components/switches/android-12-switch.d.ts +3 -1
  160. package/dist/components/text-field/text-field.d.ts +1 -1
  161. package/dist/components/time-picker/time-picker.d.ts +1 -1
  162. package/dist/components/upload/upload/index.esm.js +2 -2
  163. package/dist/components/upload/upload/index.esm.js.map +1 -1
  164. package/dist/components/upload/upload/index.js +2 -2
  165. package/dist/components/upload/upload/index.js.map +1 -1
  166. package/dist/components/upload-media/upload-media.d.ts +1 -1
  167. package/dist/contexts/AuthContext/index.esm.js +2 -2
  168. package/dist/contexts/AuthContext/index.esm.js.map +1 -1
  169. package/dist/contexts/AuthContext/index.js +1 -1
  170. package/dist/contexts/AuthContext/index.js.map +1 -1
  171. package/dist/contexts/languageContext/index.esm.js +1 -1
  172. package/dist/contexts/languageContext/index.esm.js.map +1 -1
  173. package/dist/contexts/languageContext/index.js +1 -1
  174. package/dist/contexts/languageContext/index.js.map +1 -1
  175. package/dist/contexts/page-context/index.esm.js +1 -4
  176. package/dist/contexts/page-context/index.esm.js.map +1 -1
  177. package/dist/contexts/page-context/index.js +1 -1
  178. package/dist/contexts/page-context/index.js.map +1 -1
  179. package/dist/index.esm.js +549 -561
  180. package/dist/index.esm.js.map +1 -1
  181. package/dist/index.js +1 -1
  182. package/dist/node_modules/@mui/icons-material/esm/Remove/index.esm.js +9 -0
  183. package/dist/node_modules/@mui/icons-material/esm/Remove/index.esm.js.map +1 -0
  184. package/dist/node_modules/@mui/icons-material/esm/Remove/index.js +2 -0
  185. package/dist/node_modules/@mui/icons-material/esm/Remove/index.js.map +1 -0
  186. package/dist/node_modules/@mui/icons-material/utils/createSvgIcon/index.esm.js +1 -1
  187. package/dist/node_modules/@mui/icons-material/utils/createSvgIcon/index.js +1 -1
  188. package/dist/node_modules/@mui/icons-material/utils/createSvgIcon/index.js.map +1 -1
  189. package/dist/node_modules/@mui/system/colorManipulator/index.esm.js +2 -2
  190. package/dist/node_modules/@mui/system/colorManipulator/index.js +1 -1
  191. package/dist/node_modules/@mui/system/colorManipulator/index.js.map +1 -1
  192. package/dist/node_modules/@mui/system/createStyled/index.esm.js +6 -6
  193. package/dist/node_modules/@mui/system/createStyled/index.js +1 -1
  194. package/dist/node_modules/@mui/system/createStyled/index.js.map +1 -1
  195. package/dist/node_modules/@mui/system/useThemeWithoutDefault/index.esm.js +1 -1
  196. package/dist/node_modules/@mui/system/useThemeWithoutDefault/index.js +1 -1
  197. package/dist/node_modules/prop-types/index/index.esm.js +1 -1
  198. package/dist/node_modules/prop-types/index/index.js +1 -1
  199. package/dist/node_modules/prop-types/index/index.js.map +1 -1
  200. package/dist/redux/store/index.esm.js +5 -2
  201. package/dist/redux/store/index.esm.js.map +1 -1
  202. package/dist/redux/store/index.js +1 -1
  203. package/dist/redux/store/index.js.map +1 -1
  204. package/dist/redux/types.d.ts +1 -0
  205. package/dist/style.css +4 -2
  206. package/dist/utils/api/index.esm.js +4 -4
  207. package/dist/utils/api/index.esm.js.map +1 -1
  208. package/dist/utils/api/index.js +1 -1
  209. package/dist/utils/api/index.js.map +1 -1
  210. package/dist/utils/common/index.esm.js +8 -8
  211. package/dist/utils/common/index.esm.js.map +1 -1
  212. package/dist/utils/common/index.js +1 -1
  213. package/dist/utils/common/index.js.map +1 -1
  214. package/dist/utils/common-utility.d.ts +1 -1
  215. package/dist/utils/deformat-text/index.esm.js +7 -0
  216. package/dist/utils/deformat-text/index.esm.js.map +1 -0
  217. package/dist/{_virtual/ArrowDropDown → utils/deformat-text}/index.js +1 -1
  218. package/dist/utils/deformat-text/index.js.map +1 -0
  219. package/dist/utils/form-builder-conversion/index.esm.js +279 -0
  220. package/dist/utils/form-builder-conversion/index.esm.js.map +1 -0
  221. package/dist/utils/form-builder-conversion/index.js +2 -0
  222. package/dist/utils/form-builder-conversion/index.js.map +1 -0
  223. package/dist/views/form-builder/custom-form/index.esm.js +1151 -0
  224. package/dist/views/form-builder/custom-form/index.esm.js.map +1 -0
  225. package/dist/views/form-builder/custom-form/index.js +30 -0
  226. package/dist/views/form-builder/custom-form/index.js.map +1 -0
  227. package/dist/views/form-builder/custom-form.d.ts +7 -0
  228. package/dist/views/form-builder/element-edit-forms/checkbox/index.esm.js +327 -0
  229. package/dist/views/form-builder/element-edit-forms/checkbox/index.esm.js.map +1 -0
  230. package/dist/views/form-builder/element-edit-forms/checkbox/index.js +30 -0
  231. package/dist/views/form-builder/element-edit-forms/checkbox/index.js.map +1 -0
  232. package/dist/views/form-builder/element-edit-forms/checkbox.d.ts +3 -0
  233. package/dist/views/form-builder/element-edit-forms/column-width/index.esm.js +92 -0
  234. package/dist/views/form-builder/element-edit-forms/column-width/index.esm.js.map +1 -0
  235. package/dist/views/form-builder/element-edit-forms/column-width/index.js +4 -0
  236. package/dist/views/form-builder/element-edit-forms/column-width/index.js.map +1 -0
  237. package/dist/views/form-builder/element-edit-forms/column-width.d.ts +3 -0
  238. package/dist/views/form-builder/element-edit-forms/field-select/index.esm.js +89 -0
  239. package/dist/views/form-builder/element-edit-forms/field-select/index.esm.js.map +1 -0
  240. package/dist/views/form-builder/element-edit-forms/field-select/index.js +3 -0
  241. package/dist/views/form-builder/element-edit-forms/field-select/index.js.map +1 -0
  242. package/dist/views/form-builder/element-edit-forms/field-select.d.ts +4 -0
  243. package/dist/views/form-builder/element-edit-forms/index.d.ts +7 -0
  244. package/dist/views/form-builder/element-edit-forms/section/index.esm.js +221 -0
  245. package/dist/views/form-builder/element-edit-forms/section/index.esm.js.map +1 -0
  246. package/dist/views/form-builder/element-edit-forms/section/index.js +15 -0
  247. package/dist/views/form-builder/element-edit-forms/section/index.js.map +1 -0
  248. package/dist/views/form-builder/element-edit-forms/section.d.ts +3 -0
  249. package/dist/views/form-builder/element-edit-forms/select/index.esm.js +318 -0
  250. package/dist/views/form-builder/element-edit-forms/select/index.esm.js.map +1 -0
  251. package/dist/views/form-builder/element-edit-forms/select/index.js +25 -0
  252. package/dist/views/form-builder/element-edit-forms/select/index.js.map +1 -0
  253. package/dist/views/form-builder/element-edit-forms/select.d.ts +33 -0
  254. package/dist/views/form-builder/element-edit-forms/table-form/index.esm.js +111 -0
  255. package/dist/views/form-builder/element-edit-forms/table-form/index.esm.js.map +1 -0
  256. package/dist/views/form-builder/element-edit-forms/table-form/index.js +5 -0
  257. package/dist/views/form-builder/element-edit-forms/table-form/index.js.map +1 -0
  258. package/dist/views/form-builder/element-edit-forms/table-form.d.ts +13 -0
  259. package/dist/views/form-builder/element-edit-forms/text/index.esm.js +559 -0
  260. package/dist/views/form-builder/element-edit-forms/text/index.esm.js.map +1 -0
  261. package/dist/views/form-builder/element-edit-forms/text/index.js +31 -0
  262. package/dist/views/form-builder/element-edit-forms/text/index.js.map +1 -0
  263. package/dist/views/form-builder/element-edit-forms/text.d.ts +12 -0
  264. package/dist/views/form-builder/field_properties/index.esm.js +216 -0
  265. package/dist/views/form-builder/field_properties/index.esm.js.map +1 -0
  266. package/dist/views/form-builder/field_properties/index.js +2 -0
  267. package/dist/views/form-builder/field_properties/index.js.map +1 -0
  268. package/dist/views/form-builder/field_properties.d.ts +99 -0
  269. package/dist/views/form-builder/form-fields/index.esm.js +354 -0
  270. package/dist/views/form-builder/form-fields/index.esm.js.map +1 -0
  271. package/dist/views/form-builder/form-fields/index.js +24 -0
  272. package/dist/views/form-builder/form-fields/index.js.map +1 -0
  273. package/dist/views/form-builder/form-fields.d.ts +46 -0
  274. package/dist/views/form-builder/index/index.esm.js +32 -0
  275. package/dist/views/form-builder/index/index.esm.js.map +1 -0
  276. package/dist/views/form-builder/index/index.js +2 -0
  277. package/dist/views/form-builder/index/index.js.map +1 -0
  278. package/dist/views/form-builder/index.d.ts +33 -0
  279. package/dist/views/form-builder/redux/actionCreator/index.esm.js +41 -0
  280. package/dist/views/form-builder/redux/actionCreator/index.esm.js.map +1 -0
  281. package/dist/views/form-builder/redux/actionCreator/index.js +2 -0
  282. package/dist/views/form-builder/redux/actionCreator/index.js.map +1 -0
  283. package/dist/views/form-builder/redux/actionCreator.d.ts +5 -0
  284. package/dist/views/form-builder/redux/reducer/index.esm.js +96 -0
  285. package/dist/views/form-builder/redux/reducer/index.esm.js.map +1 -0
  286. package/dist/views/form-builder/redux/reducer/index.js +2 -0
  287. package/dist/views/form-builder/redux/reducer/index.js.map +1 -0
  288. package/dist/views/form-builder/redux/state/index.esm.js +23 -0
  289. package/dist/views/form-builder/redux/state/index.esm.js.map +1 -0
  290. package/dist/views/form-builder/redux/state/index.js +2 -0
  291. package/dist/views/form-builder/redux/state/index.js.map +1 -0
  292. package/dist/views/form-builder/redux/state.d.ts +27 -0
  293. package/dist/views/form-builder/types.d.ts +2 -0
  294. package/dist/views/form-builder/utils/common/index.esm.js +285 -0
  295. package/dist/views/form-builder/utils/common/index.esm.js.map +1 -0
  296. package/dist/views/form-builder/utils/common/index.js +2 -0
  297. package/dist/views/form-builder/utils/common/index.js.map +1 -0
  298. package/dist/views/form-builder/utils/common.d.ts +66 -0
  299. package/dist/views/form-builder/utils/index.d.ts +2 -0
  300. package/dist/views/index.esm.js +37 -3
  301. package/dist/views/index.esm.js.map +1 -1
  302. package/dist/views/index.js +1 -1
  303. package/dist/views/template-editor/components/EditorSidebar/index.esm.js +3 -3
  304. package/dist/views/template-editor/components/EditorSidebar/index.esm.js.map +1 -1
  305. package/dist/views/template-editor/components/EditorSidebar/index.js +14 -14
  306. package/dist/views/template-editor/components/EditorSidebar/index.js.map +1 -1
  307. package/dist/views/template-editor/templates/index.esm.js +1 -1
  308. package/dist/views/template-editor/templates/index.esm.js.map +1 -1
  309. package/dist/views/template-editor/templates/index.js +1 -1
  310. package/dist/views/template-editor/templates/index.js.map +1 -1
  311. package/package.json +35 -35
  312. package/CSS_SETUP.md +0 -67
  313. package/QUICK_START.md +0 -34
  314. package/dist/_virtual/ArrowDropDown/index.esm.js +0 -5
  315. package/dist/_virtual/ArrowDropDown/index.esm.js.map +0 -1
  316. package/dist/_virtual/ArrowDropDown/index.js.map +0 -1
  317. package/dist/_virtual/ArrowDropUp/index.esm.js +0 -5
  318. package/dist/_virtual/ArrowDropUp/index.esm.js.map +0 -1
  319. package/dist/_virtual/ArrowDropUp/index.js +0 -2
  320. package/dist/_virtual/ArrowDropUp/index.js.map +0 -1
  321. package/dist/components/Dashboard/dashboard-card/index.esm.js +0 -17
  322. package/dist/components/Dashboard/dashboard-card/index.esm.js.map +0 -1
  323. package/dist/components/Dashboard/dashboard-card/index.js +0 -6
  324. package/dist/components/Dashboard/dashboard-card/index.js.map +0 -1
  325. package/dist/components/Dashboard/dashboard-header/index.esm.js +0 -68
  326. package/dist/components/Dashboard/dashboard-header/index.esm.js.map +0 -1
  327. package/dist/components/Dashboard/dashboard-header/index.js +0 -7
  328. package/dist/components/Dashboard/dashboard-header/index.js.map +0 -1
  329. package/dist/components/activityLog/activity-log/index.esm.js +0 -104
  330. package/dist/components/activityLog/activity-log/index.esm.js.map +0 -1
  331. package/dist/components/activityLog/activity-log/index.js +0 -14
  332. package/dist/components/activityLog/activity-log/index.js.map +0 -1
  333. package/dist/components/charts/ChartLegends/index.esm.js +0 -31
  334. package/dist/components/charts/ChartLegends/index.esm.js.map +0 -1
  335. package/dist/components/charts/ChartLegends/index.js +0 -5
  336. package/dist/components/charts/ChartLegends/index.js.map +0 -1
  337. package/dist/components/charts/areaLinerChart/index.esm.js +0 -110
  338. package/dist/components/charts/areaLinerChart/index.esm.js.map +0 -1
  339. package/dist/components/charts/areaLinerChart/index.js +0 -4
  340. package/dist/components/charts/areaLinerChart/index.js.map +0 -1
  341. package/dist/components/charts/bar-chart/bar-chart/index.esm.js +0 -85
  342. package/dist/components/charts/bar-chart/bar-chart/index.esm.js.map +0 -1
  343. package/dist/components/charts/bar-chart/bar-chart/index.js +0 -2
  344. package/dist/components/charts/bar-chart/bar-chart/index.js.map +0 -1
  345. package/dist/components/charts/barChart/barChart/index.esm.js +0 -147
  346. package/dist/components/charts/barChart/barChart/index.esm.js.map +0 -1
  347. package/dist/components/charts/barChart/barChart/index.js +0 -2
  348. package/dist/components/charts/barChart/barChart/index.js.map +0 -1
  349. package/dist/components/charts/barLineChart/barLinechart/index.esm.js +0 -193
  350. package/dist/components/charts/barLineChart/barLinechart/index.esm.js.map +0 -1
  351. package/dist/components/charts/barLineChart/barLinechart/index.js +0 -11
  352. package/dist/components/charts/barLineChart/barLinechart/index.js.map +0 -1
  353. package/dist/components/charts/donut-chart/donut-chart/index.esm.js +0 -85
  354. package/dist/components/charts/donut-chart/donut-chart/index.esm.js.map +0 -1
  355. package/dist/components/charts/donut-chart/donut-chart/index.js +0 -6
  356. package/dist/components/charts/donut-chart/donut-chart/index.js.map +0 -1
  357. package/dist/components/charts/donutChart/DonutChart/index.esm.js +0 -96
  358. package/dist/components/charts/donutChart/DonutChart/index.esm.js.map +0 -1
  359. package/dist/components/charts/donutChart/DonutChart/index.js +0 -5
  360. package/dist/components/charts/donutChart/DonutChart/index.js.map +0 -1
  361. package/dist/components/charts/groupBarChart/GroupBarChart/index.esm.js +0 -92
  362. package/dist/components/charts/groupBarChart/GroupBarChart/index.esm.js.map +0 -1
  363. package/dist/components/charts/groupBarChart/GroupBarChart/index.js +0 -2
  364. package/dist/components/charts/groupBarChart/GroupBarChart/index.js.map +0 -1
  365. package/dist/components/charts/line-chart/area-lineChart/index.esm.js +0 -55
  366. package/dist/components/charts/line-chart/area-lineChart/index.esm.js.map +0 -1
  367. package/dist/components/charts/line-chart/area-lineChart/index.js +0 -2
  368. package/dist/components/charts/line-chart/area-lineChart/index.js.map +0 -1
  369. package/dist/components/charts/line-chart/line-chart/index.esm.js +0 -108
  370. package/dist/components/charts/line-chart/line-chart/index.esm.js.map +0 -1
  371. package/dist/components/charts/line-chart/line-chart/index.js +0 -2
  372. package/dist/components/charts/line-chart/line-chart/index.js.map +0 -1
  373. package/dist/components/charts/multiLineChart/multi-line-chart/index.esm.js +0 -100
  374. package/dist/components/charts/multiLineChart/multi-line-chart/index.esm.js.map +0 -1
  375. package/dist/components/charts/multiLineChart/multi-line-chart/index.js +0 -2
  376. package/dist/components/charts/multiLineChart/multi-line-chart/index.js.map +0 -1
  377. package/dist/components/grid/custom-grid-card/custom-grid-card/index.esm.js +0 -131
  378. package/dist/components/grid/custom-grid-card/custom-grid-card/index.esm.js.map +0 -1
  379. package/dist/components/grid/custom-grid-card/custom-grid-card/index.js +0 -11
  380. package/dist/components/grid/custom-grid-card/custom-grid-card/index.js.map +0 -1
  381. package/dist/components/grid/grid-card/grid-card/index.esm.js +0 -102
  382. package/dist/components/grid/grid-card/grid-card/index.esm.js.map +0 -1
  383. package/dist/components/grid/grid-card/grid-card/index.js +0 -12
  384. package/dist/components/grid/grid-card/grid-card/index.js.map +0 -1
  385. package/dist/components/grid/grid-wrapper/grid-wrapper/index.esm.js +0 -17
  386. package/dist/components/grid/grid-wrapper/grid-wrapper/index.esm.js.map +0 -1
  387. package/dist/components/grid/grid-wrapper/grid-wrapper/index.js +0 -5
  388. package/dist/components/grid/grid-wrapper/grid-wrapper/index.js.map +0 -1
  389. package/dist/components/mulitline/multiline/index.esm.js +0 -62
  390. package/dist/components/mulitline/multiline/index.esm.js.map +0 -1
  391. package/dist/components/mulitline/multiline/index.js +0 -13
  392. package/dist/components/mulitline/multiline/index.js.map +0 -1
  393. package/dist/components/reports/dynamic-report/dynamic-report/index.esm.js +0 -472
  394. package/dist/components/reports/dynamic-report/dynamic-report/index.esm.js.map +0 -1
  395. package/dist/components/reports/dynamic-report/dynamic-report/index.js +0 -8
  396. package/dist/components/reports/dynamic-report/dynamic-report/index.js.map +0 -1
  397. package/dist/components/reports/dynamic-report/dynamic-rows/index.esm.js +0 -201
  398. package/dist/components/reports/dynamic-report/dynamic-rows/index.esm.js.map +0 -1
  399. package/dist/components/reports/dynamic-report/dynamic-rows/index.js +0 -6
  400. package/dist/components/reports/dynamic-report/dynamic-rows/index.js.map +0 -1
  401. package/dist/components/rfq-response/item-response-details/index.esm.js +0 -91
  402. package/dist/components/rfq-response/item-response-details/index.esm.js.map +0 -1
  403. package/dist/components/rfq-response/item-response-details/index.js +0 -9
  404. package/dist/components/rfq-response/item-response-details/index.js.map +0 -1
  405. package/dist/node_modules/@mui/icons-material/ArrowDropDown/index.esm.js +0 -18
  406. package/dist/node_modules/@mui/icons-material/ArrowDropDown/index.esm.js.map +0 -1
  407. package/dist/node_modules/@mui/icons-material/ArrowDropDown/index.js +0 -2
  408. package/dist/node_modules/@mui/icons-material/ArrowDropDown/index.js.map +0 -1
  409. package/dist/node_modules/@mui/icons-material/ArrowDropUp/index.esm.js +0 -18
  410. package/dist/node_modules/@mui/icons-material/ArrowDropUp/index.esm.js.map +0 -1
  411. package/dist/node_modules/@mui/icons-material/ArrowDropUp/index.js +0 -2
  412. package/dist/node_modules/@mui/icons-material/ArrowDropUp/index.js.map +0 -1
  413. package/dist/node_modules/d3-array/src/ascending/index.esm.js +0 -7
  414. package/dist/node_modules/d3-array/src/ascending/index.esm.js.map +0 -1
  415. package/dist/node_modules/d3-array/src/ascending/index.js +0 -2
  416. package/dist/node_modules/d3-array/src/ascending/index.js.map +0 -1
  417. package/dist/node_modules/d3-array/src/bisect/index.esm.js +0 -11
  418. package/dist/node_modules/d3-array/src/bisect/index.esm.js.map +0 -1
  419. package/dist/node_modules/d3-array/src/bisect/index.js +0 -2
  420. package/dist/node_modules/d3-array/src/bisect/index.js.map +0 -1
  421. package/dist/node_modules/d3-array/src/bisector/index.esm.js +0 -48
  422. package/dist/node_modules/d3-array/src/bisector/index.esm.js.map +0 -1
  423. package/dist/node_modules/d3-array/src/bisector/index.js +0 -2
  424. package/dist/node_modules/d3-array/src/bisector/index.js.map +0 -1
  425. package/dist/node_modules/d3-array/src/descending/index.esm.js +0 -7
  426. package/dist/node_modules/d3-array/src/descending/index.esm.js.map +0 -1
  427. package/dist/node_modules/d3-array/src/descending/index.js +0 -2
  428. package/dist/node_modules/d3-array/src/descending/index.js.map +0 -1
  429. package/dist/node_modules/d3-array/src/max/index.esm.js +0 -22
  430. package/dist/node_modules/d3-array/src/max/index.esm.js.map +0 -1
  431. package/dist/node_modules/d3-array/src/max/index.js +0 -2
  432. package/dist/node_modules/d3-array/src/max/index.js.map +0 -1
  433. package/dist/node_modules/d3-array/src/min/index.esm.js +0 -22
  434. package/dist/node_modules/d3-array/src/min/index.esm.js.map +0 -1
  435. package/dist/node_modules/d3-array/src/min/index.js +0 -2
  436. package/dist/node_modules/d3-array/src/min/index.js.map +0 -1
  437. package/dist/node_modules/d3-array/src/number/index.esm.js +0 -7
  438. package/dist/node_modules/d3-array/src/number/index.esm.js.map +0 -1
  439. package/dist/node_modules/d3-array/src/number/index.js +0 -2
  440. package/dist/node_modules/d3-array/src/number/index.js.map +0 -1
  441. package/dist/node_modules/d3-array/src/range/index.esm.js +0 -12
  442. package/dist/node_modules/d3-array/src/range/index.esm.js.map +0 -1
  443. package/dist/node_modules/d3-array/src/range/index.js +0 -2
  444. package/dist/node_modules/d3-array/src/range/index.js.map +0 -1
  445. package/dist/node_modules/d3-array/src/ticks/index.esm.js +0 -52
  446. package/dist/node_modules/d3-array/src/ticks/index.esm.js.map +0 -1
  447. package/dist/node_modules/d3-array/src/ticks/index.js +0 -2
  448. package/dist/node_modules/d3-array/src/ticks/index.js.map +0 -1
  449. package/dist/node_modules/d3-axis/src/axis/index.esm.js +0 -99
  450. package/dist/node_modules/d3-axis/src/axis/index.esm.js.map +0 -1
  451. package/dist/node_modules/d3-axis/src/axis/index.js +0 -2
  452. package/dist/node_modules/d3-axis/src/axis/index.js.map +0 -1
  453. package/dist/node_modules/d3-axis/src/identity/index.esm.js +0 -7
  454. package/dist/node_modules/d3-axis/src/identity/index.esm.js.map +0 -1
  455. package/dist/node_modules/d3-axis/src/identity/index.js +0 -2
  456. package/dist/node_modules/d3-axis/src/identity/index.js.map +0 -1
  457. package/dist/node_modules/d3-color/src/color/index.esm.js +0 -339
  458. package/dist/node_modules/d3-color/src/color/index.esm.js.map +0 -1
  459. package/dist/node_modules/d3-color/src/color/index.js +0 -2
  460. package/dist/node_modules/d3-color/src/color/index.js.map +0 -1
  461. package/dist/node_modules/d3-color/src/define/index.esm.js +0 -14
  462. package/dist/node_modules/d3-color/src/define/index.esm.js.map +0 -1
  463. package/dist/node_modules/d3-color/src/define/index.js +0 -2
  464. package/dist/node_modules/d3-color/src/define/index.js.map +0 -1
  465. package/dist/node_modules/d3-format/src/defaultLocale/index.esm.js +0 -21
  466. package/dist/node_modules/d3-format/src/defaultLocale/index.esm.js.map +0 -1
  467. package/dist/node_modules/d3-format/src/defaultLocale/index.js +0 -2
  468. package/dist/node_modules/d3-format/src/defaultLocale/index.js.map +0 -1
  469. package/dist/node_modules/d3-format/src/exponent/index.esm.js +0 -8
  470. package/dist/node_modules/d3-format/src/exponent/index.esm.js.map +0 -1
  471. package/dist/node_modules/d3-format/src/exponent/index.js +0 -2
  472. package/dist/node_modules/d3-format/src/exponent/index.js.map +0 -1
  473. package/dist/node_modules/d3-format/src/formatDecimal/index.esm.js +0 -16
  474. package/dist/node_modules/d3-format/src/formatDecimal/index.esm.js.map +0 -1
  475. package/dist/node_modules/d3-format/src/formatDecimal/index.js +0 -2
  476. package/dist/node_modules/d3-format/src/formatDecimal/index.js.map +0 -1
  477. package/dist/node_modules/d3-format/src/formatGroup/index.esm.js +0 -16
  478. package/dist/node_modules/d3-format/src/formatGroup/index.esm.js.map +0 -1
  479. package/dist/node_modules/d3-format/src/formatGroup/index.js +0 -2
  480. package/dist/node_modules/d3-format/src/formatGroup/index.js.map +0 -1
  481. package/dist/node_modules/d3-format/src/formatNumerals/index.esm.js +0 -11
  482. package/dist/node_modules/d3-format/src/formatNumerals/index.esm.js.map +0 -1
  483. package/dist/node_modules/d3-format/src/formatNumerals/index.js +0 -2
  484. package/dist/node_modules/d3-format/src/formatNumerals/index.js.map +0 -1
  485. package/dist/node_modules/d3-format/src/formatPrefixAuto/index.esm.js +0 -13
  486. package/dist/node_modules/d3-format/src/formatPrefixAuto/index.esm.js.map +0 -1
  487. package/dist/node_modules/d3-format/src/formatPrefixAuto/index.js +0 -2
  488. package/dist/node_modules/d3-format/src/formatPrefixAuto/index.js.map +0 -1
  489. package/dist/node_modules/d3-format/src/formatRounded/index.esm.js +0 -11
  490. package/dist/node_modules/d3-format/src/formatRounded/index.esm.js.map +0 -1
  491. package/dist/node_modules/d3-format/src/formatRounded/index.js +0 -2
  492. package/dist/node_modules/d3-format/src/formatRounded/index.js.map +0 -1
  493. package/dist/node_modules/d3-format/src/formatSpecifier/index.esm.js +0 -38
  494. package/dist/node_modules/d3-format/src/formatSpecifier/index.esm.js.map +0 -1
  495. package/dist/node_modules/d3-format/src/formatSpecifier/index.js +0 -2
  496. package/dist/node_modules/d3-format/src/formatSpecifier/index.js.map +0 -1
  497. package/dist/node_modules/d3-format/src/formatTrim/index.esm.js +0 -22
  498. package/dist/node_modules/d3-format/src/formatTrim/index.esm.js.map +0 -1
  499. package/dist/node_modules/d3-format/src/formatTrim/index.js +0 -2
  500. package/dist/node_modules/d3-format/src/formatTrim/index.js.map +0 -1
  501. package/dist/node_modules/d3-format/src/formatTypes/index.esm.js +0 -22
  502. package/dist/node_modules/d3-format/src/formatTypes/index.esm.js.map +0 -1
  503. package/dist/node_modules/d3-format/src/formatTypes/index.js +0 -2
  504. package/dist/node_modules/d3-format/src/formatTypes/index.js.map +0 -1
  505. package/dist/node_modules/d3-format/src/identity/index.esm.js +0 -7
  506. package/dist/node_modules/d3-format/src/identity/index.esm.js.map +0 -1
  507. package/dist/node_modules/d3-format/src/identity/index.js +0 -2
  508. package/dist/node_modules/d3-format/src/identity/index.js.map +0 -1
  509. package/dist/node_modules/d3-format/src/locale/index.esm.js +0 -83
  510. package/dist/node_modules/d3-format/src/locale/index.esm.js.map +0 -1
  511. package/dist/node_modules/d3-format/src/locale/index.js +0 -2
  512. package/dist/node_modules/d3-format/src/locale/index.js.map +0 -1
  513. package/dist/node_modules/d3-format/src/precisionFixed/index.esm.js +0 -8
  514. package/dist/node_modules/d3-format/src/precisionFixed/index.esm.js.map +0 -1
  515. package/dist/node_modules/d3-format/src/precisionFixed/index.js +0 -2
  516. package/dist/node_modules/d3-format/src/precisionFixed/index.js.map +0 -1
  517. package/dist/node_modules/d3-format/src/precisionPrefix/index.esm.js +0 -8
  518. package/dist/node_modules/d3-format/src/precisionPrefix/index.esm.js.map +0 -1
  519. package/dist/node_modules/d3-format/src/precisionPrefix/index.js +0 -2
  520. package/dist/node_modules/d3-format/src/precisionPrefix/index.js.map +0 -1
  521. package/dist/node_modules/d3-format/src/precisionRound/index.esm.js +0 -9
  522. package/dist/node_modules/d3-format/src/precisionRound/index.esm.js.map +0 -1
  523. package/dist/node_modules/d3-format/src/precisionRound/index.js +0 -2
  524. package/dist/node_modules/d3-format/src/precisionRound/index.js.map +0 -1
  525. package/dist/node_modules/d3-interpolate/src/array/index.esm.js +0 -14
  526. package/dist/node_modules/d3-interpolate/src/array/index.esm.js.map +0 -1
  527. package/dist/node_modules/d3-interpolate/src/array/index.js +0 -2
  528. package/dist/node_modules/d3-interpolate/src/array/index.js.map +0 -1
  529. package/dist/node_modules/d3-interpolate/src/color/index.esm.js +0 -25
  530. package/dist/node_modules/d3-interpolate/src/color/index.esm.js.map +0 -1
  531. package/dist/node_modules/d3-interpolate/src/color/index.js +0 -2
  532. package/dist/node_modules/d3-interpolate/src/color/index.js.map +0 -1
  533. package/dist/node_modules/d3-interpolate/src/constant/index.esm.js +0 -5
  534. package/dist/node_modules/d3-interpolate/src/constant/index.esm.js.map +0 -1
  535. package/dist/node_modules/d3-interpolate/src/constant/index.js +0 -2
  536. package/dist/node_modules/d3-interpolate/src/constant/index.js.map +0 -1
  537. package/dist/node_modules/d3-interpolate/src/date/index.esm.js +0 -10
  538. package/dist/node_modules/d3-interpolate/src/date/index.esm.js.map +0 -1
  539. package/dist/node_modules/d3-interpolate/src/date/index.js +0 -2
  540. package/dist/node_modules/d3-interpolate/src/date/index.js.map +0 -1
  541. package/dist/node_modules/d3-interpolate/src/number/index.esm.js +0 -9
  542. package/dist/node_modules/d3-interpolate/src/number/index.esm.js.map +0 -1
  543. package/dist/node_modules/d3-interpolate/src/number/index.js +0 -2
  544. package/dist/node_modules/d3-interpolate/src/number/index.js.map +0 -1
  545. package/dist/node_modules/d3-interpolate/src/numberArray/index.esm.js +0 -16
  546. package/dist/node_modules/d3-interpolate/src/numberArray/index.esm.js.map +0 -1
  547. package/dist/node_modules/d3-interpolate/src/numberArray/index.js +0 -2
  548. package/dist/node_modules/d3-interpolate/src/numberArray/index.js.map +0 -1
  549. package/dist/node_modules/d3-interpolate/src/object/index.esm.js +0 -21
  550. package/dist/node_modules/d3-interpolate/src/object/index.esm.js.map +0 -1
  551. package/dist/node_modules/d3-interpolate/src/object/index.js +0 -2
  552. package/dist/node_modules/d3-interpolate/src/object/index.js.map +0 -1
  553. package/dist/node_modules/d3-interpolate/src/rgb/index.esm.js +0 -21
  554. package/dist/node_modules/d3-interpolate/src/rgb/index.esm.js.map +0 -1
  555. package/dist/node_modules/d3-interpolate/src/rgb/index.js +0 -2
  556. package/dist/node_modules/d3-interpolate/src/rgb/index.js.map +0 -1
  557. package/dist/node_modules/d3-interpolate/src/round/index.esm.js +0 -9
  558. package/dist/node_modules/d3-interpolate/src/round/index.esm.js.map +0 -1
  559. package/dist/node_modules/d3-interpolate/src/round/index.js +0 -2
  560. package/dist/node_modules/d3-interpolate/src/round/index.js.map +0 -1
  561. package/dist/node_modules/d3-interpolate/src/string/index.esm.js +0 -44
  562. package/dist/node_modules/d3-interpolate/src/string/index.esm.js.map +0 -1
  563. package/dist/node_modules/d3-interpolate/src/string/index.js +0 -2
  564. package/dist/node_modules/d3-interpolate/src/string/index.js.map +0 -1
  565. package/dist/node_modules/d3-interpolate/src/value/index.esm.js +0 -17
  566. package/dist/node_modules/d3-interpolate/src/value/index.esm.js.map +0 -1
  567. package/dist/node_modules/d3-interpolate/src/value/index.js +0 -2
  568. package/dist/node_modules/d3-interpolate/src/value/index.js.map +0 -1
  569. package/dist/node_modules/d3-path/src/path/index.esm.js +0 -89
  570. package/dist/node_modules/d3-path/src/path/index.esm.js.map +0 -1
  571. package/dist/node_modules/d3-path/src/path/index.js +0 -2
  572. package/dist/node_modules/d3-path/src/path/index.js.map +0 -1
  573. package/dist/node_modules/d3-scale/src/band/index.esm.js +0 -71
  574. package/dist/node_modules/d3-scale/src/band/index.esm.js.map +0 -1
  575. package/dist/node_modules/d3-scale/src/band/index.js +0 -2
  576. package/dist/node_modules/d3-scale/src/band/index.js.map +0 -1
  577. package/dist/node_modules/d3-scale/src/constant/index.esm.js +0 -9
  578. package/dist/node_modules/d3-scale/src/constant/index.esm.js.map +0 -1
  579. package/dist/node_modules/d3-scale/src/constant/index.js +0 -2
  580. package/dist/node_modules/d3-scale/src/constant/index.js.map +0 -1
  581. package/dist/node_modules/d3-scale/src/continuous/index.esm.js +0 -96
  582. package/dist/node_modules/d3-scale/src/continuous/index.esm.js.map +0 -1
  583. package/dist/node_modules/d3-scale/src/continuous/index.js +0 -2
  584. package/dist/node_modules/d3-scale/src/continuous/index.js.map +0 -1
  585. package/dist/node_modules/d3-scale/src/init/index.esm.js +0 -17
  586. package/dist/node_modules/d3-scale/src/init/index.esm.js.map +0 -1
  587. package/dist/node_modules/d3-scale/src/init/index.js +0 -2
  588. package/dist/node_modules/d3-scale/src/init/index.js.map +0 -1
  589. package/dist/node_modules/d3-scale/src/linear/index.esm.js +0 -62
  590. package/dist/node_modules/d3-scale/src/linear/index.esm.js.map +0 -1
  591. package/dist/node_modules/d3-scale/src/linear/index.js +0 -2
  592. package/dist/node_modules/d3-scale/src/linear/index.js.map +0 -1
  593. package/dist/node_modules/d3-scale/src/number/index.esm.js +0 -7
  594. package/dist/node_modules/d3-scale/src/number/index.esm.js.map +0 -1
  595. package/dist/node_modules/d3-scale/src/number/index.js +0 -2
  596. package/dist/node_modules/d3-scale/src/number/index.js.map +0 -1
  597. package/dist/node_modules/d3-scale/src/ordinal/index.esm.js +0 -39
  598. package/dist/node_modules/d3-scale/src/ordinal/index.esm.js.map +0 -1
  599. package/dist/node_modules/d3-scale/src/ordinal/index.js +0 -2
  600. package/dist/node_modules/d3-scale/src/ordinal/index.js.map +0 -1
  601. package/dist/node_modules/d3-scale/src/tickFormat/index.esm.js +0 -35
  602. package/dist/node_modules/d3-scale/src/tickFormat/index.esm.js.map +0 -1
  603. package/dist/node_modules/d3-scale/src/tickFormat/index.js +0 -2
  604. package/dist/node_modules/d3-scale/src/tickFormat/index.js.map +0 -1
  605. package/dist/node_modules/d3-selection/src/array/index.esm.js +0 -7
  606. package/dist/node_modules/d3-selection/src/array/index.esm.js.map +0 -1
  607. package/dist/node_modules/d3-selection/src/array/index.js +0 -2
  608. package/dist/node_modules/d3-selection/src/array/index.js.map +0 -1
  609. package/dist/node_modules/d3-selection/src/constant/index.esm.js +0 -9
  610. package/dist/node_modules/d3-selection/src/constant/index.esm.js.map +0 -1
  611. package/dist/node_modules/d3-selection/src/constant/index.js +0 -2
  612. package/dist/node_modules/d3-selection/src/constant/index.js.map +0 -1
  613. package/dist/node_modules/d3-selection/src/creator/index.esm.js +0 -21
  614. package/dist/node_modules/d3-selection/src/creator/index.esm.js.map +0 -1
  615. package/dist/node_modules/d3-selection/src/creator/index.js +0 -2
  616. package/dist/node_modules/d3-selection/src/creator/index.js.map +0 -1
  617. package/dist/node_modules/d3-selection/src/matcher/index.esm.js +0 -15
  618. package/dist/node_modules/d3-selection/src/matcher/index.esm.js.map +0 -1
  619. package/dist/node_modules/d3-selection/src/matcher/index.js +0 -2
  620. package/dist/node_modules/d3-selection/src/matcher/index.js.map +0 -1
  621. package/dist/node_modules/d3-selection/src/namespace/index.esm.js +0 -10
  622. package/dist/node_modules/d3-selection/src/namespace/index.esm.js.map +0 -1
  623. package/dist/node_modules/d3-selection/src/namespace/index.js +0 -2
  624. package/dist/node_modules/d3-selection/src/namespace/index.js.map +0 -1
  625. package/dist/node_modules/d3-selection/src/namespaces/index.esm.js +0 -13
  626. package/dist/node_modules/d3-selection/src/namespaces/index.esm.js.map +0 -1
  627. package/dist/node_modules/d3-selection/src/namespaces/index.js +0 -2
  628. package/dist/node_modules/d3-selection/src/namespaces/index.js.map +0 -1
  629. package/dist/node_modules/d3-selection/src/pointer/index.esm.js +0 -23
  630. package/dist/node_modules/d3-selection/src/pointer/index.esm.js.map +0 -1
  631. package/dist/node_modules/d3-selection/src/pointer/index.js +0 -2
  632. package/dist/node_modules/d3-selection/src/pointer/index.js.map +0 -1
  633. package/dist/node_modules/d3-selection/src/select/index.esm.js +0 -8
  634. package/dist/node_modules/d3-selection/src/select/index.esm.js.map +0 -1
  635. package/dist/node_modules/d3-selection/src/select/index.js +0 -2
  636. package/dist/node_modules/d3-selection/src/select/index.js.map +0 -1
  637. package/dist/node_modules/d3-selection/src/selection/append/index.esm.js +0 -11
  638. package/dist/node_modules/d3-selection/src/selection/append/index.esm.js.map +0 -1
  639. package/dist/node_modules/d3-selection/src/selection/append/index.js +0 -2
  640. package/dist/node_modules/d3-selection/src/selection/append/index.js.map +0 -1
  641. package/dist/node_modules/d3-selection/src/selection/attr/index.esm.js +0 -47
  642. package/dist/node_modules/d3-selection/src/selection/attr/index.esm.js.map +0 -1
  643. package/dist/node_modules/d3-selection/src/selection/attr/index.js +0 -2
  644. package/dist/node_modules/d3-selection/src/selection/attr/index.js.map +0 -1
  645. package/dist/node_modules/d3-selection/src/selection/call/index.esm.js +0 -10
  646. package/dist/node_modules/d3-selection/src/selection/call/index.esm.js.map +0 -1
  647. package/dist/node_modules/d3-selection/src/selection/call/index.js +0 -2
  648. package/dist/node_modules/d3-selection/src/selection/call/index.js.map +0 -1
  649. package/dist/node_modules/d3-selection/src/selection/classed/index.esm.js +0 -65
  650. package/dist/node_modules/d3-selection/src/selection/classed/index.esm.js.map +0 -1
  651. package/dist/node_modules/d3-selection/src/selection/classed/index.js +0 -2
  652. package/dist/node_modules/d3-selection/src/selection/classed/index.js.map +0 -1
  653. package/dist/node_modules/d3-selection/src/selection/clone/index.esm.js +0 -15
  654. package/dist/node_modules/d3-selection/src/selection/clone/index.esm.js.map +0 -1
  655. package/dist/node_modules/d3-selection/src/selection/clone/index.js +0 -2
  656. package/dist/node_modules/d3-selection/src/selection/clone/index.js.map +0 -1
  657. package/dist/node_modules/d3-selection/src/selection/data/index.esm.js +0 -77
  658. package/dist/node_modules/d3-selection/src/selection/data/index.esm.js.map +0 -1
  659. package/dist/node_modules/d3-selection/src/selection/data/index.js +0 -2
  660. package/dist/node_modules/d3-selection/src/selection/data/index.js.map +0 -1
  661. package/dist/node_modules/d3-selection/src/selection/datum/index.esm.js +0 -7
  662. package/dist/node_modules/d3-selection/src/selection/datum/index.esm.js.map +0 -1
  663. package/dist/node_modules/d3-selection/src/selection/datum/index.js +0 -2
  664. package/dist/node_modules/d3-selection/src/selection/datum/index.js.map +0 -1
  665. package/dist/node_modules/d3-selection/src/selection/dispatch/index.esm.js +0 -29
  666. package/dist/node_modules/d3-selection/src/selection/dispatch/index.esm.js.map +0 -1
  667. package/dist/node_modules/d3-selection/src/selection/dispatch/index.js +0 -2
  668. package/dist/node_modules/d3-selection/src/selection/dispatch/index.js.map +0 -1
  669. package/dist/node_modules/d3-selection/src/selection/each/index.esm.js +0 -12
  670. package/dist/node_modules/d3-selection/src/selection/each/index.esm.js.map +0 -1
  671. package/dist/node_modules/d3-selection/src/selection/each/index.js +0 -2
  672. package/dist/node_modules/d3-selection/src/selection/each/index.js.map +0 -1
  673. package/dist/node_modules/d3-selection/src/selection/empty/index.esm.js +0 -7
  674. package/dist/node_modules/d3-selection/src/selection/empty/index.esm.js.map +0 -1
  675. package/dist/node_modules/d3-selection/src/selection/empty/index.js +0 -2
  676. package/dist/node_modules/d3-selection/src/selection/empty/index.js.map +0 -1
  677. package/dist/node_modules/d3-selection/src/selection/enter/index.esm.js +0 -32
  678. package/dist/node_modules/d3-selection/src/selection/enter/index.esm.js.map +0 -1
  679. package/dist/node_modules/d3-selection/src/selection/enter/index.js +0 -2
  680. package/dist/node_modules/d3-selection/src/selection/enter/index.js.map +0 -1
  681. package/dist/node_modules/d3-selection/src/selection/exit/index.esm.js +0 -9
  682. package/dist/node_modules/d3-selection/src/selection/exit/index.esm.js.map +0 -1
  683. package/dist/node_modules/d3-selection/src/selection/exit/index.js +0 -2
  684. package/dist/node_modules/d3-selection/src/selection/exit/index.js.map +0 -1
  685. package/dist/node_modules/d3-selection/src/selection/filter/index.esm.js +0 -17
  686. package/dist/node_modules/d3-selection/src/selection/filter/index.esm.js.map +0 -1
  687. package/dist/node_modules/d3-selection/src/selection/filter/index.js +0 -2
  688. package/dist/node_modules/d3-selection/src/selection/filter/index.js.map +0 -1
  689. package/dist/node_modules/d3-selection/src/selection/html/index.esm.js +0 -21
  690. package/dist/node_modules/d3-selection/src/selection/html/index.esm.js.map +0 -1
  691. package/dist/node_modules/d3-selection/src/selection/html/index.js +0 -2
  692. package/dist/node_modules/d3-selection/src/selection/html/index.js.map +0 -1
  693. package/dist/node_modules/d3-selection/src/selection/index/index.esm.js +0 -85
  694. package/dist/node_modules/d3-selection/src/selection/index/index.esm.js.map +0 -1
  695. package/dist/node_modules/d3-selection/src/selection/index/index.js +0 -2
  696. package/dist/node_modules/d3-selection/src/selection/index/index.js.map +0 -1
  697. package/dist/node_modules/d3-selection/src/selection/insert/index.esm.js +0 -15
  698. package/dist/node_modules/d3-selection/src/selection/insert/index.esm.js.map +0 -1
  699. package/dist/node_modules/d3-selection/src/selection/insert/index.js +0 -2
  700. package/dist/node_modules/d3-selection/src/selection/insert/index.js.map +0 -1
  701. package/dist/node_modules/d3-selection/src/selection/iterator/index.esm.js +0 -11
  702. package/dist/node_modules/d3-selection/src/selection/iterator/index.esm.js.map +0 -1
  703. package/dist/node_modules/d3-selection/src/selection/iterator/index.js +0 -2
  704. package/dist/node_modules/d3-selection/src/selection/iterator/index.js.map +0 -1
  705. package/dist/node_modules/d3-selection/src/selection/join/index.esm.js +0 -20
  706. package/dist/node_modules/d3-selection/src/selection/join/index.esm.js.map +0 -1
  707. package/dist/node_modules/d3-selection/src/selection/join/index.js +0 -2
  708. package/dist/node_modules/d3-selection/src/selection/join/index.js.map +0 -1
  709. package/dist/node_modules/d3-selection/src/selection/lower/index.esm.js +0 -10
  710. package/dist/node_modules/d3-selection/src/selection/lower/index.esm.js.map +0 -1
  711. package/dist/node_modules/d3-selection/src/selection/lower/index.js +0 -2
  712. package/dist/node_modules/d3-selection/src/selection/lower/index.js.map +0 -1
  713. package/dist/node_modules/d3-selection/src/selection/merge/index.esm.js +0 -19
  714. package/dist/node_modules/d3-selection/src/selection/merge/index.esm.js.map +0 -1
  715. package/dist/node_modules/d3-selection/src/selection/merge/index.js +0 -2
  716. package/dist/node_modules/d3-selection/src/selection/merge/index.js.map +0 -1
  717. package/dist/node_modules/d3-selection/src/selection/node/index.esm.js +0 -13
  718. package/dist/node_modules/d3-selection/src/selection/node/index.esm.js.map +0 -1
  719. package/dist/node_modules/d3-selection/src/selection/node/index.js +0 -2
  720. package/dist/node_modules/d3-selection/src/selection/node/index.js.map +0 -1
  721. package/dist/node_modules/d3-selection/src/selection/nodes/index.esm.js +0 -7
  722. package/dist/node_modules/d3-selection/src/selection/nodes/index.esm.js.map +0 -1
  723. package/dist/node_modules/d3-selection/src/selection/nodes/index.js +0 -2
  724. package/dist/node_modules/d3-selection/src/selection/nodes/index.js.map +0 -1
  725. package/dist/node_modules/d3-selection/src/selection/on/index.esm.js +0 -65
  726. package/dist/node_modules/d3-selection/src/selection/on/index.esm.js.map +0 -1
  727. package/dist/node_modules/d3-selection/src/selection/on/index.js +0 -2
  728. package/dist/node_modules/d3-selection/src/selection/on/index.js.map +0 -1
  729. package/dist/node_modules/d3-selection/src/selection/order/index.esm.js +0 -15
  730. package/dist/node_modules/d3-selection/src/selection/order/index.esm.js.map +0 -1
  731. package/dist/node_modules/d3-selection/src/selection/order/index.js +0 -2
  732. package/dist/node_modules/d3-selection/src/selection/order/index.js.map +0 -1
  733. package/dist/node_modules/d3-selection/src/selection/property/index.esm.js +0 -24
  734. package/dist/node_modules/d3-selection/src/selection/property/index.esm.js.map +0 -1
  735. package/dist/node_modules/d3-selection/src/selection/property/index.js +0 -2
  736. package/dist/node_modules/d3-selection/src/selection/property/index.js.map +0 -1
  737. package/dist/node_modules/d3-selection/src/selection/raise/index.esm.js +0 -10
  738. package/dist/node_modules/d3-selection/src/selection/raise/index.esm.js.map +0 -1
  739. package/dist/node_modules/d3-selection/src/selection/raise/index.js +0 -2
  740. package/dist/node_modules/d3-selection/src/selection/raise/index.js.map +0 -1
  741. package/dist/node_modules/d3-selection/src/selection/remove/index.esm.js +0 -11
  742. package/dist/node_modules/d3-selection/src/selection/remove/index.esm.js.map +0 -1
  743. package/dist/node_modules/d3-selection/src/selection/remove/index.js +0 -2
  744. package/dist/node_modules/d3-selection/src/selection/remove/index.js.map +0 -1
  745. package/dist/node_modules/d3-selection/src/selection/select/index.esm.js +0 -18
  746. package/dist/node_modules/d3-selection/src/selection/select/index.esm.js.map +0 -1
  747. package/dist/node_modules/d3-selection/src/selection/select/index.js +0 -2
  748. package/dist/node_modules/d3-selection/src/selection/select/index.js.map +0 -1
  749. package/dist/node_modules/d3-selection/src/selection/selectAll/index.esm.js +0 -25
  750. package/dist/node_modules/d3-selection/src/selection/selectAll/index.esm.js.map +0 -1
  751. package/dist/node_modules/d3-selection/src/selection/selectAll/index.js +0 -2
  752. package/dist/node_modules/d3-selection/src/selection/selectAll/index.js.map +0 -1
  753. package/dist/node_modules/d3-selection/src/selection/selectChild/index.esm.js +0 -17
  754. package/dist/node_modules/d3-selection/src/selection/selectChild/index.esm.js.map +0 -1
  755. package/dist/node_modules/d3-selection/src/selection/selectChild/index.js +0 -2
  756. package/dist/node_modules/d3-selection/src/selection/selectChild/index.js.map +0 -1
  757. package/dist/node_modules/d3-selection/src/selection/selectChildren/index.esm.js +0 -17
  758. package/dist/node_modules/d3-selection/src/selection/selectChildren/index.esm.js.map +0 -1
  759. package/dist/node_modules/d3-selection/src/selection/selectChildren/index.js +0 -2
  760. package/dist/node_modules/d3-selection/src/selection/selectChildren/index.js.map +0 -1
  761. package/dist/node_modules/d3-selection/src/selection/size/index.esm.js +0 -9
  762. package/dist/node_modules/d3-selection/src/selection/size/index.esm.js.map +0 -1
  763. package/dist/node_modules/d3-selection/src/selection/size/index.js +0 -2
  764. package/dist/node_modules/d3-selection/src/selection/size/index.js.map +0 -1
  765. package/dist/node_modules/d3-selection/src/selection/sort/index.esm.js +0 -23
  766. package/dist/node_modules/d3-selection/src/selection/sort/index.esm.js.map +0 -1
  767. package/dist/node_modules/d3-selection/src/selection/sort/index.js +0 -2
  768. package/dist/node_modules/d3-selection/src/selection/sort/index.js.map +0 -1
  769. package/dist/node_modules/d3-selection/src/selection/sparse/index.esm.js +0 -7
  770. package/dist/node_modules/d3-selection/src/selection/sparse/index.esm.js.map +0 -1
  771. package/dist/node_modules/d3-selection/src/selection/sparse/index.js +0 -2
  772. package/dist/node_modules/d3-selection/src/selection/sparse/index.js.map +0 -1
  773. package/dist/node_modules/d3-selection/src/selection/style/index.esm.js +0 -29
  774. package/dist/node_modules/d3-selection/src/selection/style/index.esm.js.map +0 -1
  775. package/dist/node_modules/d3-selection/src/selection/style/index.js +0 -2
  776. package/dist/node_modules/d3-selection/src/selection/style/index.js.map +0 -1
  777. package/dist/node_modules/d3-selection/src/selection/text/index.esm.js +0 -21
  778. package/dist/node_modules/d3-selection/src/selection/text/index.esm.js.map +0 -1
  779. package/dist/node_modules/d3-selection/src/selection/text/index.js +0 -2
  780. package/dist/node_modules/d3-selection/src/selection/text/index.js.map +0 -1
  781. package/dist/node_modules/d3-selection/src/selector/index.esm.js +0 -11
  782. package/dist/node_modules/d3-selection/src/selector/index.esm.js.map +0 -1
  783. package/dist/node_modules/d3-selection/src/selector/index.js +0 -2
  784. package/dist/node_modules/d3-selection/src/selector/index.js.map +0 -1
  785. package/dist/node_modules/d3-selection/src/selectorAll/index.esm.js +0 -12
  786. package/dist/node_modules/d3-selection/src/selectorAll/index.esm.js.map +0 -1
  787. package/dist/node_modules/d3-selection/src/selectorAll/index.js +0 -2
  788. package/dist/node_modules/d3-selection/src/selectorAll/index.js.map +0 -1
  789. package/dist/node_modules/d3-selection/src/sourceEvent/index.esm.js +0 -9
  790. package/dist/node_modules/d3-selection/src/sourceEvent/index.esm.js.map +0 -1
  791. package/dist/node_modules/d3-selection/src/sourceEvent/index.js +0 -2
  792. package/dist/node_modules/d3-selection/src/sourceEvent/index.js.map +0 -1
  793. package/dist/node_modules/d3-selection/src/window/index.esm.js +0 -7
  794. package/dist/node_modules/d3-selection/src/window/index.esm.js.map +0 -1
  795. package/dist/node_modules/d3-selection/src/window/index.js +0 -2
  796. package/dist/node_modules/d3-selection/src/window/index.js.map +0 -1
  797. package/dist/node_modules/d3-shape/src/arc/index.esm.js +0 -134
  798. package/dist/node_modules/d3-shape/src/arc/index.esm.js.map +0 -1
  799. package/dist/node_modules/d3-shape/src/arc/index.js +0 -2
  800. package/dist/node_modules/d3-shape/src/arc/index.js.map +0 -1
  801. package/dist/node_modules/d3-shape/src/area/index.esm.js +0 -82
  802. package/dist/node_modules/d3-shape/src/area/index.esm.js.map +0 -1
  803. package/dist/node_modules/d3-shape/src/area/index.js +0 -2
  804. package/dist/node_modules/d3-shape/src/area/index.js.map +0 -1
  805. package/dist/node_modules/d3-shape/src/array/index.esm.js +0 -7
  806. package/dist/node_modules/d3-shape/src/array/index.esm.js.map +0 -1
  807. package/dist/node_modules/d3-shape/src/array/index.js +0 -2
  808. package/dist/node_modules/d3-shape/src/array/index.js.map +0 -1
  809. package/dist/node_modules/d3-shape/src/constant/index.esm.js +0 -9
  810. package/dist/node_modules/d3-shape/src/constant/index.esm.js.map +0 -1
  811. package/dist/node_modules/d3-shape/src/constant/index.js +0 -2
  812. package/dist/node_modules/d3-shape/src/constant/index.js.map +0 -1
  813. package/dist/node_modules/d3-shape/src/curve/linear/index.esm.js +0 -39
  814. package/dist/node_modules/d3-shape/src/curve/linear/index.esm.js.map +0 -1
  815. package/dist/node_modules/d3-shape/src/curve/linear/index.js +0 -2
  816. package/dist/node_modules/d3-shape/src/curve/linear/index.js.map +0 -1
  817. package/dist/node_modules/d3-shape/src/curve/monotone/index.esm.js +0 -76
  818. package/dist/node_modules/d3-shape/src/curve/monotone/index.esm.js.map +0 -1
  819. package/dist/node_modules/d3-shape/src/curve/monotone/index.js +0 -2
  820. package/dist/node_modules/d3-shape/src/curve/monotone/index.js.map +0 -1
  821. package/dist/node_modules/d3-shape/src/descending/index.esm.js +0 -7
  822. package/dist/node_modules/d3-shape/src/descending/index.esm.js.map +0 -1
  823. package/dist/node_modules/d3-shape/src/descending/index.js +0 -2
  824. package/dist/node_modules/d3-shape/src/descending/index.js.map +0 -1
  825. package/dist/node_modules/d3-shape/src/identity/index.esm.js +0 -7
  826. package/dist/node_modules/d3-shape/src/identity/index.esm.js.map +0 -1
  827. package/dist/node_modules/d3-shape/src/identity/index.js +0 -2
  828. package/dist/node_modules/d3-shape/src/identity/index.js.map +0 -1
  829. package/dist/node_modules/d3-shape/src/line/index.esm.js +0 -42
  830. package/dist/node_modules/d3-shape/src/line/index.esm.js.map +0 -1
  831. package/dist/node_modules/d3-shape/src/line/index.js +0 -2
  832. package/dist/node_modules/d3-shape/src/line/index.js.map +0 -1
  833. package/dist/node_modules/d3-shape/src/math/index.esm.js +0 -33
  834. package/dist/node_modules/d3-shape/src/math/index.esm.js.map +0 -1
  835. package/dist/node_modules/d3-shape/src/math/index.js +0 -2
  836. package/dist/node_modules/d3-shape/src/math/index.js.map +0 -1
  837. package/dist/node_modules/d3-shape/src/path/index.esm.js +0 -20
  838. package/dist/node_modules/d3-shape/src/path/index.esm.js.map +0 -1
  839. package/dist/node_modules/d3-shape/src/path/index.js +0 -2
  840. package/dist/node_modules/d3-shape/src/path/index.js.map +0 -1
  841. package/dist/node_modules/d3-shape/src/pie/index.esm.js +0 -56
  842. package/dist/node_modules/d3-shape/src/pie/index.esm.js.map +0 -1
  843. package/dist/node_modules/d3-shape/src/pie/index.js +0 -2
  844. package/dist/node_modules/d3-shape/src/pie/index.js.map +0 -1
  845. package/dist/node_modules/d3-shape/src/point/index.esm.js +0 -11
  846. package/dist/node_modules/d3-shape/src/point/index.esm.js.map +0 -1
  847. package/dist/node_modules/d3-shape/src/point/index.js +0 -2
  848. package/dist/node_modules/d3-shape/src/point/index.js.map +0 -1
  849. package/dist/node_modules/internmap/src/index/index.esm.js +0 -44
  850. package/dist/node_modules/internmap/src/index/index.esm.js.map +0 -1
  851. package/dist/node_modules/internmap/src/index/index.js +0 -2
  852. package/dist/node_modules/internmap/src/index/index.js.map +0 -1
  853. package/dist/redux/store.d.ts +0 -1575
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../src/components/editor/custom-editor.tsx"],"sourcesContent":["/* eslint-disable unused-imports/no-unused-vars */\n/* eslint-disable @typescript-eslint/no-unused-vars */\n// IsolatedEditor.js - This file should ONLY be imported via React.lazy()\nimport React, { useState, useEffect, useMemo, useCallback } from 'react';\nimport \"./custom-editor.css\"\n\n// Import ALL CKEditor dependencies in this file ONLY\n// Do NOT import these anywhere else in your application\nimport { CKEditor } from '@ckeditor/ckeditor5-react';\nimport {\n ClassicEditor,\n Alignment,\n AutoLink,\n Autosave,\n BalloonToolbar,\n BlockQuote,\n BlockToolbar,\n Bold,\n Code,\n CodeBlock,\n Essentials,\n FontBackgroundColor,\n FontColor,\n FontFamily,\n FontSize,\n Heading,\n Highlight,\n HorizontalLine,\n ImageEditing,\n ImageUtils,\n Indent,\n IndentBlock,\n Italic,\n Link,\n Paragraph,\n PlainTableOutput,\n RemoveFormat,\n Strikethrough,\n Subscript,\n Superscript,\n Table,\n TableCaption,\n TableCellProperties,\n TableColumnResize,\n TableProperties,\n TableToolbar,\n Underline,\n GeneralHtmlSupport,\n SourceEditing,\n // Image support\n Image,\n ImageBlock,\n ImageInline,\n ImageToolbar,\n ImageCaption,\n ImageStyle,\n ImageResize,\n ImageInsert,\n ImageInsertViaUrl,\n ImageUpload,\n ImageTextAlternative,\n SimpleUploadAdapter,\n LinkImage,\n ClipboardPipeline,\n AutoImage,\n} from 'ckeditor5';\n\nimport 'ckeditor5/ckeditor5.css';\nimport { postV1Drive } from '../../api-client/api.drive/api';\nimport { getToken, uploadFiles } from '../../utils/common';\n\nconst LICENSE_KEY = 'GPL';\n\n\nclass MyUploadAdapter {\n constructor(loader, uploadFn) {\n // The file loader instance to use during the upload\n this.loader = loader;\n this.uploadFn = uploadFn;\n }\n\n // Starts the upload process\n async upload() {\n const file = await this.loader.file;\n try {\n // 👇 Call your existing function\n const response = await this.uploadFn(file);\n\n // CKEditor expects this format:\n return {\n default: response.url // must return final image URL\n };\n } catch (error) {\n console.error(\"Upload failed\", error);\n throw error;\n }\n }\n\n // Optional abort support\n abort() {\n console.log(\"Upload aborted\");\n }\n}\n\nfunction PasteImageUrlPlugin(editor) {\n const clipboard = editor.plugins.get(ClipboardPipeline);\n\n clipboard.on('inputTransformation', (evt, data) => {\n const content = data.content.getChild(0);\n\n // Check if pasted content is plain text\n if (content && content.is('$textProxy')) {\n const url = content.data.trim();\n\n // Check if it looks like an image URL\n if (url.match(/\\.(jpeg|jpg|gif|png|webp|svg)$/i)) {\n const imageElement = editor.model.change(writer => {\n return writer.createElement('imageBlock', {\n src: url\n });\n });\n\n editor.model.insertContent(imageElement, editor.model.document.selection);\n evt.stop(); // prevent default plain text paste\n }\n }\n });\n}\n\n\n// Create the editor configuration\nconst createEditorConfig = (customConfig = {}) => {\n const defaultConfig = {\n extraPlugins: [ PasteImageUrlPlugin, AutoImage ],\n toolbar: {\n items: [\n 'sourceEditing',\n 'undo',\n 'redo',\n '|',\n 'heading',\n '|',\n 'fontSize',\n 'fontFamily',\n 'fontColor',\n 'fontBackgroundColor',\n '|',\n 'bold',\n 'italic',\n 'underline',\n 'strikethrough',\n 'subscript',\n 'superscript',\n 'code',\n 'removeFormat',\n '|',\n 'horizontalLine',\n 'link',\n 'insertImage', 'uploadImage',\n 'insertTable',\n 'highlight',\n 'blockQuote',\n 'codeBlock',\n '|',\n 'alignment',\n '|',\n 'outdent',\n 'indent',\n ],\n shouldNotGroupWhenFull: false\n },\n plugins: [\n Alignment,\n AutoLink,\n Autosave,\n BalloonToolbar,\n BlockQuote,\n BlockToolbar,\n Bold,\n Code,\n CodeBlock,\n Essentials,\n FontBackgroundColor,\n FontColor,\n FontFamily,\n FontSize,\n Heading,\n Highlight,\n HorizontalLine,\n ImageEditing,\n ImageUtils,\n Indent,\n IndentBlock,\n Italic,\n Link,\n Paragraph,\n PlainTableOutput,\n RemoveFormat,\n Strikethrough,\n Subscript,\n Superscript,\n Table,\n TableCaption,\n TableCellProperties,\n TableColumnResize,\n TableProperties,\n TableToolbar,\n Underline,\n GeneralHtmlSupport,\n SourceEditing,\n Image,\n ImageBlock,\n ImageCaption,\n ImageEditing,\n ImageInline,\n ImageInsert,\n ImageInsertViaUrl,\n ImageResize,\n ImageStyle,\n ImageTextAlternative,\n ImageToolbar,\n ImageUpload,\n ImageUtils,\n SimpleUploadAdapter,\n LinkImage\n ],\n balloonToolbar: ['bold', 'italic', '|', 'link', 'insertImage', 'uploadImage',],\n blockToolbar: [\n 'fontSize',\n 'fontColor',\n 'fontBackgroundColor',\n '|',\n 'bold',\n 'italic',\n '|',\n 'link',\n 'insertImage', 'uploadImage',\n 'insertTable',\n '|',\n 'outdent',\n 'indent'\n ],\n fontFamily: {\n supportAllValues: true\n },\n fontSize: {\n options: [10, 12, 14, 'default', 18, 20, 22],\n supportAllValues: true\n },\n heading: {\n options: [\n {\n model: 'paragraph',\n title: 'Paragraph',\n class: 'ck-heading_paragraph'\n },\n {\n model: 'heading1',\n view: 'h1',\n title: 'Heading 1',\n class: 'ck-heading_heading1'\n },\n {\n model: 'heading2',\n view: 'h2',\n title: 'Heading 2',\n class: 'ck-heading_heading2'\n },\n {\n model: 'heading3',\n view: 'h3',\n title: 'Heading 3',\n class: 'ck-heading_heading3'\n },\n {\n model: 'heading4',\n view: 'h4',\n title: 'Heading 4',\n class: 'ck-heading_heading4'\n }\n ]\n },\n licenseKey: LICENSE_KEY,\n link: {\n addTargetToExternalLinks: true,\n defaultProtocol: 'https://',\n decorators: {\n toggleDownloadable: {\n mode: 'manual',\n label: 'Downloadable',\n attributes: {\n download: 'file',\n }\n }\n }\n },\n menuBar: {\n isVisible: true\n },\n placeholder: 'Type or paste your content here!',\n table: {\n contentToolbar: [\n 'tableColumn', \n 'tableRow', \n 'mergeTableCells', \n 'tableProperties', \n 'tableCellProperties'\n ]\n },\n htmlSupport: {\n allow: [\n {\n name: /.*/,\n attributes: true,\n classes: true,\n styles: true\n }\n ]\n },\n image: {\n toolbar: [\n 'imageTextAlternative',\n 'toggleImageCaption',\n '|',\n 'imageStyle:inline',\n 'imageStyle:wrapText',\n 'imageStyle:breakText',\n '|',\n 'resizeImage',\n '|',\n 'linkImage'\n ],\n styles: {\n options: [\n 'inline',\n 'alignLeft',\n 'alignRight',\n 'alignCenter',\n 'alignBlockLeft',\n 'alignBlockRight',\n 'block',\n 'side'\n ]\n },\n resizeOptions: [\n {\n name: 'resizeImage:original',\n label: 'Original size',\n value: null\n },\n {\n name: 'resizeImage:25',\n label: '25%',\n value: '25'\n },\n {\n name: 'resizeImage:50',\n label: '50%',\n value: '50'\n },\n {\n name: 'resizeImage:75',\n label: '75%',\n value: '75'\n }\n ],\n insert: {\n integrations: ['insertImageViaUrl']\n }\n },\n simpleUpload: {\n uploadUrl: '/api/upload', // your upload API\n headers: {\n Authorization: 'Bearer <token>'\n }\n },\n autosave: {\n save() {\n return new Promise(resolve => {\n setTimeout(resolve, 1000);\n });\n }\n }\n };\n\n return { ...defaultConfig, ...customConfig };\n};\n\nexport default function CustomEditor({\n editorRef,\n data = '',\n handleEditorReady,\n onError,\n config = {},\n ...rest\n}) {\n const [isReady, setIsReady] = useState(false);\n const [error, setError] = useState(null);\n\n useEffect(() => {\n // Small delay to ensure DOM is ready\n const timer = setTimeout(() => setIsReady(true), 100);\n return () => clearTimeout(timer);\n }, []);\n\n const editorConfig = useMemo(() => {\n return createEditorConfig(config);\n }, [config]);\n\n const myUploadFn = async (file) => {\n // 👇 Your existing function here\n const uFiles = await uploadFiles([file], \"document\");\n const payload = {\n ...getToken(),\n \"title\": file?.name.split(\".\")[0],\n \"path\": \"/\",\n \"is_private\": true,\n \"is_directory\": false,\n \"file_size\": file.size,\n \"is_child\": false,\n \"file_extension\": file?.name.split(\".\")[1],\n \"type\": \"image\",\n \"mime_type\": file.type,\n \"url\": `${import.meta.env.VITE_S3_BUCKET_URL}${uFiles[0]}`\n }\n // Replace with your actual API endpoint\n \n // 👇 Call your existing function\n await postV1Drive(payload);\n return { url: payload.url };\n };\n\n const handleReady = useCallback((editor) => {\n try {\n handleEditorReady?.(editor);\n editor.plugins.get('FileRepository').createUploadAdapter = (loader) => {\n return new MyUploadAdapter(loader, myUploadFn);\n };\n } catch (err) {\n console.error('Error in editor ready handler:', err);\n setError(err);\n onError?.(err);\n }\n }, [handleEditorReady, onError]);\n\n const handleError = useCallback((error, { willEditorRestart }) => {\n console.error('CKEditor error:', error);\n if (!willEditorRestart) {\n setError(error);\n onError?.(error);\n }\n }, [onError]);\n\n if (error) {\n return (\n <div style={{\n padding: '20px',\n border: '1px solid #red',\n borderRadius: '4px',\n backgroundColor: '#fff5f5'\n }}>\n <div style={{ color: '#e53e3e', marginBottom: '10px' }}>\n Editor Error: {error.message}\n </div>\n <button \n onClick={() => setError(null)}\n style={{\n padding: '8px 16px',\n backgroundColor: '#3182ce',\n color: 'white',\n border: 'none',\n borderRadius: '4px'\n }}\n >\n Retry\n </button>\n </div>\n );\n }\n\n if (!isReady) {\n return (\n <div style={{\n padding: '20px',\n textAlign: 'center',\n border: '1px solid #dee2e6',\n borderRadius: '4px'\n }}>\n Loading editor...\n </div>\n );\n }\n\n return (\n <div ref={editorRef} className=\"custom-editor-container\">\n <CKEditor \n editor={ClassicEditor} \n config={editorConfig} \n data={data} \n onReady={handleReady}\n onError={handleError}\n {...rest}\n />\n </div>\n );\n}"],"names":["MyUploadAdapter","constructor","loader","uploadFn","this","upload","file","default","url","error","abort","PasteImageUrlPlugin","editor","plugins","get","ClipboardPipeline","on","evt","data","content","getChild","is","trim","match","imageElement","model","change","writer","createElement","src","insertContent","document","selection","stop","editorRef","handleEditorReady","onError","config","rest","isReady","setIsReady","useState","setError","useEffect","timer","setTimeout","clearTimeout","editorConfig","useMemo","customConfig","extraPlugins","AutoImage","toolbar","items","shouldNotGroupWhenFull","Alignment","AutoLink","Autosave","BalloonToolbar","BlockQuote","BlockToolbar","Bold","Code","CodeBlock","Essentials","FontBackgroundColor","FontColor","FontFamily","FontSize","Heading","Highlight","HorizontalLine","ImageEditing","ImageUtils","Indent","IndentBlock","Italic","Link","Paragraph","PlainTableOutput","RemoveFormat","Strikethrough","Subscript","Superscript","Table","TableCaption","TableCellProperties","TableColumnResize","TableProperties","TableToolbar","Underline","GeneralHtmlSupport","SourceEditing","Image","ImageBlock","ImageCaption","ImageInline","ImageInsert","ImageInsertViaUrl","ImageResize","ImageStyle","ImageTextAlternative","ImageToolbar","ImageUpload","SimpleUploadAdapter","LinkImage","balloonToolbar","blockToolbar","fontFamily","supportAllValues","fontSize","options","heading","title","class","view","licenseKey","link","addTargetToExternalLinks","defaultProtocol","decorators","toggleDownloadable","mode","label","attributes","download","menuBar","isVisible","placeholder","table","contentToolbar","htmlSupport","allow","name","classes","styles","image","resizeOptions","value","insert","integrations","simpleUpload","uploadUrl","headers","Authorization","autosave","save","Promise","resolve","createEditorConfig","myUploadFn","async","uFiles","uploadFiles","payload","getToken","split","path","is_private","is_directory","file_size","size","is_child","file_extension","type","mime_type","postV1Drive","handleReady","useCallback","createUploadAdapter","err","handleError","willEditorRestart","jsxs","style","padding","border","borderRadius","backgroundColor","children","color","marginBottom","message","jsx","onClick","ref","className","CKEditor","ClassicEditor","onReady","textAlign"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../../../src/components/editor/custom-editor.tsx"],"sourcesContent":["/* eslint-disable unused-imports/no-unused-vars */\n/* eslint-disable @typescript-eslint/no-unused-vars */\n// IsolatedEditor.js - This file should ONLY be imported via React.lazy()\nimport React, { useState, useEffect, useMemo, useCallback } from 'react';\nimport \"./custom-editor.css\"\n\n// Import ALL CKEditor dependencies in this file ONLY\n// Do NOT import these anywhere else in your application\nimport { CKEditor } from '@ckeditor/ckeditor5-react';\nimport {\n ClassicEditor,\n Alignment,\n AutoLink,\n Autosave,\n BalloonToolbar,\n BlockQuote,\n BlockToolbar,\n Bold,\n Code,\n CodeBlock,\n Essentials,\n FontBackgroundColor,\n FontColor,\n FontFamily,\n FontSize,\n Heading,\n Highlight,\n HorizontalLine,\n ImageEditing,\n ImageUtils,\n Indent,\n IndentBlock,\n Italic,\n Link,\n Paragraph,\n PlainTableOutput,\n RemoveFormat,\n Strikethrough,\n Subscript,\n Superscript,\n Table,\n TableCaption,\n TableCellProperties,\n TableColumnResize,\n TableProperties,\n TableToolbar,\n Underline,\n GeneralHtmlSupport,\n SourceEditing,\n // Image support\n Image,\n ImageBlock,\n ImageInline,\n ImageToolbar,\n ImageCaption,\n ImageStyle,\n ImageResize,\n ImageInsert,\n ImageInsertViaUrl,\n ImageUpload,\n ImageTextAlternative,\n SimpleUploadAdapter,\n LinkImage,\n ClipboardPipeline,\n AutoImage,\n} from 'ckeditor5';\n\nimport 'ckeditor5/ckeditor5.css';\nimport { postV1Drive } from '../../api-client/api.drive/api';\nimport { getToken, uploadFiles } from '../../utils/common';\n\nconst LICENSE_KEY = 'GPL';\n\n\nclass MyUploadAdapter {\n constructor(loader, uploadFn) {\n // The file loader instance to use during the upload\n this.loader = loader;\n this.uploadFn = uploadFn;\n }\n\n // Starts the upload process\n async upload() {\n const file = await this.loader.file;\n try {\n // 👇 Call your existing function\n const response = await this.uploadFn(file);\n\n // CKEditor expects this format:\n return {\n default: response.url // must return final image URL\n };\n } catch (error) {\n console.error(\"Upload failed\", error);\n throw error;\n }\n }\n\n // Optional abort support\n abort() {\n console.log(\"Upload aborted\");\n }\n}\n\nfunction PasteImageUrlPlugin(editor) {\n const clipboard = editor.plugins.get(ClipboardPipeline);\n\n clipboard.on('inputTransformation', (evt, data) => {\n const content = data.content.getChild(0);\n\n // Check if pasted content is plain text\n if (content && content.is('$textProxy')) {\n const url = content.data.trim();\n\n // Check if it looks like an image URL\n if (url.match(/\\.(jpeg|jpg|gif|png|webp|svg)$/i)) {\n const imageElement = editor.model.change(writer => {\n return writer.createElement('imageBlock', {\n src: url\n });\n });\n\n editor.model.insertContent(imageElement, editor.model.document.selection);\n evt.stop(); // prevent default plain text paste\n }\n }\n });\n}\n\n\n// Create the editor configuration\nconst createEditorConfig = (customConfig = {}) => {\n const defaultConfig = {\n extraPlugins: [ PasteImageUrlPlugin, AutoImage ],\n toolbar: {\n items: [\n 'sourceEditing',\n 'undo',\n 'redo',\n '|',\n 'heading',\n '|',\n 'fontSize',\n 'fontFamily',\n 'fontColor',\n 'fontBackgroundColor',\n '|',\n 'bold',\n 'italic',\n 'underline',\n 'strikethrough',\n 'subscript',\n 'superscript',\n 'code',\n 'removeFormat',\n '|',\n 'horizontalLine',\n 'link',\n 'insertImage', 'uploadImage',\n 'insertTable',\n 'highlight',\n 'blockQuote',\n 'codeBlock',\n '|',\n 'alignment',\n '|',\n 'outdent',\n 'indent',\n ],\n shouldNotGroupWhenFull: false\n },\n plugins: [\n Alignment,\n AutoLink,\n Autosave,\n BalloonToolbar,\n BlockQuote,\n BlockToolbar,\n Bold,\n Code,\n CodeBlock,\n Essentials,\n FontBackgroundColor,\n FontColor,\n FontFamily,\n FontSize,\n Heading,\n Highlight,\n HorizontalLine,\n ImageEditing,\n ImageUtils,\n Indent,\n IndentBlock,\n Italic,\n Link,\n Paragraph,\n PlainTableOutput,\n RemoveFormat,\n Strikethrough,\n Subscript,\n Superscript,\n Table,\n TableCaption,\n TableCellProperties,\n TableColumnResize,\n TableProperties,\n TableToolbar,\n Underline,\n GeneralHtmlSupport,\n SourceEditing,\n Image,\n ImageBlock,\n ImageCaption,\n ImageEditing,\n ImageInline,\n ImageInsert,\n ImageInsertViaUrl,\n ImageResize,\n ImageStyle,\n ImageTextAlternative,\n ImageToolbar,\n ImageUpload,\n ImageUtils,\n SimpleUploadAdapter,\n LinkImage\n ],\n balloonToolbar: ['bold', 'italic', '|', 'link', 'insertImage', 'uploadImage',],\n blockToolbar: [\n 'fontSize',\n 'fontColor',\n 'fontBackgroundColor',\n '|',\n 'bold',\n 'italic',\n '|',\n 'link',\n 'insertImage', 'uploadImage',\n 'insertTable',\n '|',\n 'outdent',\n 'indent'\n ],\n fontFamily: {\n supportAllValues: true\n },\n fontSize: {\n options: [10, 12, 14, 'default', 18, 20, 22],\n supportAllValues: true\n },\n heading: {\n options: [\n {\n model: 'paragraph',\n title: 'Paragraph',\n class: 'ck-heading_paragraph'\n },\n {\n model: 'heading1',\n view: 'h1',\n title: 'Heading 1',\n class: 'ck-heading_heading1'\n },\n {\n model: 'heading2',\n view: 'h2',\n title: 'Heading 2',\n class: 'ck-heading_heading2'\n },\n {\n model: 'heading3',\n view: 'h3',\n title: 'Heading 3',\n class: 'ck-heading_heading3'\n },\n {\n model: 'heading4',\n view: 'h4',\n title: 'Heading 4',\n class: 'ck-heading_heading4'\n }\n ]\n },\n licenseKey: LICENSE_KEY,\n link: {\n addTargetToExternalLinks: true,\n defaultProtocol: 'https://',\n decorators: {\n toggleDownloadable: {\n mode: 'manual',\n label: 'Downloadable',\n attributes: {\n download: 'file',\n }\n }\n }\n },\n menuBar: {\n isVisible: true\n },\n placeholder: 'Type or paste your content here!',\n table: {\n contentToolbar: [\n 'tableColumn', \n 'tableRow', \n 'mergeTableCells', \n 'tableProperties', \n 'tableCellProperties'\n ]\n },\n htmlSupport: {\n allow: [\n {\n name: /.*/,\n attributes: true,\n classes: true,\n styles: true\n }\n ]\n },\n image: {\n toolbar: [\n 'imageTextAlternative',\n 'toggleImageCaption',\n '|',\n 'imageStyle:inline',\n 'imageStyle:wrapText',\n 'imageStyle:breakText',\n '|',\n 'resizeImage',\n '|',\n 'linkImage'\n ],\n styles: {\n options: [\n 'inline',\n 'alignLeft',\n 'alignRight',\n 'alignCenter',\n 'alignBlockLeft',\n 'alignBlockRight',\n 'block',\n 'side'\n ]\n },\n resizeOptions: [\n {\n name: 'resizeImage:original',\n label: 'Original size',\n value: null\n },\n {\n name: 'resizeImage:25',\n label: '25%',\n value: '25'\n },\n {\n name: 'resizeImage:50',\n label: '50%',\n value: '50'\n },\n {\n name: 'resizeImage:75',\n label: '75%',\n value: '75'\n }\n ],\n insert: {\n integrations: ['insertImageViaUrl']\n }\n },\n simpleUpload: {\n uploadUrl: '/api/upload', // your upload API\n headers: {\n Authorization: 'Bearer <token>'\n }\n },\n autosave: {\n save() {\n return new Promise(resolve => {\n setTimeout(resolve, 1000);\n });\n }\n }\n };\n\n return { ...defaultConfig, ...customConfig };\n};\n\nexport default function CustomEditor({\n editorRef,\n data = '',\n handleEditorReady,\n onError,\n config = {},\n ...rest\n}) {\n const [isReady, setIsReady] = useState(false);\n const [error, setError] = useState(null);\n\n useEffect(() => {\n // Small delay to ensure DOM is ready\n const timer = setTimeout(() => setIsReady(true), 100);\n return () => clearTimeout(timer);\n }, []);\n\n const editorConfig = useMemo(() => {\n return createEditorConfig(config);\n }, [config]);\n\n const myUploadFn = async (file) => {\n // 👇 Your existing function here\n const uFiles = await uploadFiles([file], \"document\");\n const payload = {\n ...getToken(),\n \"title\": file?.name.split(\".\")[0],\n \"path\": \"/\",\n \"is_private\": true,\n \"is_directory\": false,\n \"file_size\": file.size,\n \"is_child\": false,\n \"file_extension\": file?.name.split(\".\")[1],\n \"type\": \"image\",\n \"mime_type\": file.type,\n \"url\": `${import.meta.env.VITE_S3_BUCKET_URL}${uFiles[0]}`\n }\n // Replace with your actual API endpoint\n \n // 👇 Call your existing function\n await postV1Drive(payload);\n return { url: payload.url };\n };\n\n const handleReady = useCallback((editor) => {\n try {\n handleEditorReady?.(editor);\n editor.plugins.get('FileRepository').createUploadAdapter = (loader) => {\n return new MyUploadAdapter(loader, myUploadFn);\n };\n } catch (err) {\n console.error('Error in editor ready handler:', err);\n setError(err);\n onError?.(err);\n }\n }, [handleEditorReady, onError]);\n\n const handleError = useCallback((error, { willEditorRestart }) => {\n console.error('CKEditor error:', error);\n if (!willEditorRestart) {\n setError(error);\n onError?.(error);\n }\n }, [onError]);\n\n if (error) {\n return (\n <div style={{\n padding: '20px',\n border: '1px solid #red',\n borderRadius: '4px',\n backgroundColor: '#fff5f5'\n }}>\n <div style={{ color: '#e53e3e', marginBottom: '10px' }}>\n Editor Error: {error.message}\n </div>\n <button \n onClick={() => setError(null)}\n style={{\n padding: '8px 16px',\n backgroundColor: '#3182ce',\n color: 'white',\n border: 'none',\n borderRadius: '4px'\n }}\n >\n Retry\n </button>\n </div>\n );\n }\n\n if (!isReady) {\n return (\n <div style={{\n padding: '20px',\n textAlign: 'center',\n border: '1px solid #dee2e6',\n borderRadius: '4px'\n }}>\n Loading editor...\n </div>\n );\n }\n\n return (\n <div ref={editorRef} className=\"custom-editor-container\">\n <CKEditor \n editor={ClassicEditor} \n config={editorConfig} \n data={data} \n onReady={handleReady}\n onError={handleError}\n {...rest}\n />\n </div>\n );\n}"],"names":["MyUploadAdapter","constructor","loader","uploadFn","this","upload","file","default","url","error","abort","PasteImageUrlPlugin","editor","plugins","get","ClipboardPipeline","on","evt","data","content","getChild","is","trim","match","imageElement","model","change","writer","createElement","src","insertContent","document","selection","stop","editorRef","handleEditorReady","onError","config","rest","isReady","setIsReady","useState","setError","useEffect","timer","setTimeout","clearTimeout","editorConfig","useMemo","customConfig","extraPlugins","AutoImage","toolbar","items","shouldNotGroupWhenFull","Alignment","AutoLink","Autosave","BalloonToolbar","BlockQuote","BlockToolbar","Bold","Code","CodeBlock","Essentials","FontBackgroundColor","FontColor","FontFamily","FontSize","Heading","Highlight","HorizontalLine","ImageEditing","ImageUtils","Indent","IndentBlock","Italic","Link","Paragraph","PlainTableOutput","RemoveFormat","Strikethrough","Subscript","Superscript","Table","TableCaption","TableCellProperties","TableColumnResize","TableProperties","TableToolbar","Underline","GeneralHtmlSupport","SourceEditing","Image","ImageBlock","ImageCaption","ImageInline","ImageInsert","ImageInsertViaUrl","ImageResize","ImageStyle","ImageTextAlternative","ImageToolbar","ImageUpload","SimpleUploadAdapter","LinkImage","balloonToolbar","blockToolbar","fontFamily","supportAllValues","fontSize","options","heading","title","class","view","licenseKey","link","addTargetToExternalLinks","defaultProtocol","decorators","toggleDownloadable","mode","label","attributes","download","menuBar","isVisible","placeholder","table","contentToolbar","htmlSupport","allow","name","classes","styles","image","resizeOptions","value","insert","integrations","simpleUpload","uploadUrl","headers","Authorization","autosave","save","Promise","resolve","createEditorConfig","myUploadFn","async","uFiles","uploadFiles","payload","getToken","split","path","is_private","is_directory","file_size","size","is_child","file_extension","type","mime_type","postV1Drive","handleReady","useCallback","createUploadAdapter","err","handleError","willEditorRestart","jsxs","style","padding","border","borderRadius","backgroundColor","children","color","marginBottom","message","jsx","onClick","ref","className","CKEditor","ClassicEditor","onReady","textAlign"],"mappings":"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"}
@@ -30,15 +30,15 @@ import DialogTitle from "../../../node_modules/@mui/material/DialogTitle/DialogT
30
30
  import Box from "../../../node_modules/@mui/material/Box/Box/index.esm.js";
31
31
  import MenuItem from "../../../node_modules/@mui/material/MenuItem/MenuItem/index.esm.js";
32
32
  import IconButton from "../../../node_modules/@mui/material/IconButton/IconButton/index.esm.js";
33
- import { Edit } from "../../icons/edit/index.esm.js";
34
33
  import OutlinedInput from "../../../node_modules/@mui/material/OutlinedInput/OutlinedInput/index.esm.js";
35
34
  import InputAdornment from "../../../node_modules/@mui/material/InputAdornment/InputAdornment/index.esm.js";
36
35
  import Close from "../../../node_modules/@mui/icons-material/esm/Close/index.esm.js";
37
36
  import DialogContent from "../../../node_modules/@mui/material/DialogContent/DialogContent/index.esm.js";
38
37
  import Alert from "../../../node_modules/@mui/material/Alert/Alert/index.esm.js";
39
38
  import DialogActions from "../../../node_modules/@mui/material/DialogActions/DialogActions/index.esm.js";
39
+ import { Edit } from "../../icons/edit/index.esm.js";
40
40
  import { Trash } from "../../icons/trash/index.esm.js";
41
- setBaseUrl(`${"https://apidev.erpforce.co"}/system-feature`);
41
+ setBaseUrl(`${void 0}/system-feature`);
42
42
  const initialQuery = { combinator: "and", rules: [] };
43
43
  const Filter = ({
44
44
  open,
@@ -1 +1 @@
1
- {"version":3,"file":"index.esm.js","sources":["../../../../src/components/filter/filter.tsx"],"sourcesContent":["/* eslint-disable */\nimport { useCallback, useEffect, useMemo, useState } from \"react\";\nimport type { RuleGroupType } from \"react-querybuilder\";\nimport \"react-querybuilder/dist/query-builder.scss\";\nimport { QueryBuilder /* , formatQuery */ } from \"react-querybuilder\";\nimport { QueryBuilderMaterial } from \"@react-querybuilder/material\";\nimport {\n Box,\n IconButton,\n MenuItem,\n Dialog,\n DialogTitle,\n DialogContent,\n DialogActions,\n OutlinedInput,\n InputAdornment,\n Alert,\n} from \"@mui/material\";\nimport \"./filter.scss\";\nimport Select from \"../select/select\";\nimport Typography from \"../typography/typography\";\nimport { Close } from \"@mui/icons-material\";\nimport CombinatorSelect from \"./components/combinator-select\";\nimport RemoveAction from \"./components/remove-action\";\nimport FieldSelect from \"./components/field-select\";\nimport AddFilterButton from \"./components/add-filter\";\nimport AddGroupButton from \"./components/add-group\";\nimport ValueEditor from \"./components/value-editor\";\nimport OperatorSelect from \"./components/operator-select\";\nimport Button from \"../button/button\";\nimport RemoveGroupAction from \"./components/delete-group\";\nimport SearchBar from \"../search-bar/search-bar\";\nimport SaveFilterModal from \"../save-filter-modal/save-filter-modal\";\n\nimport {\n setBaseUrl,\n putV1FilterId,\n deleteV1FilterId,\n} from \"../../api-client/api.system-feature/api\";\nimport type * as Types from \"../../api-client/api.system-feature/api-types\";\nimport { auth } from \"../../constants/auth\";\nimport { generateFields, generateQueryString, getErrorMessage } from \"../../utils/common\";\nimport { usePages } from \"../../hooks/use-pages\";\nimport _ from \"lodash\";\nimport { Edit, Trash } from \"../icons\";\nimport { enqueueSnackbar } from \"notistack\";\nimport { IResources, routeToResourceMap } from \"../../constants/route-page-map\";\nimport { useLocation } from \"react-router-dom\";\nimport { useLanguage } from \"../../hooks/useLangauge\";\n\nsetBaseUrl(`${import.meta.env.VITE_BACKEND_BASE_URL}/system-feature`);\n\ninterface IFilter {\n open: boolean;\n onClose: () => void;\n activeView?: string;\n savedFilters?: SavedFilter[];\n fetchSavedFilters?: () => Promise<void>;\n setFilterBar?: any;\n onSaveFilter?: (query: RuleGroupType) => void;\n onSelectedFilter?: (filterName: string) => void;\n fields: any;\n applyFilter: any\n}\n\ninterface SavedFilter {\n id: string;\n name: string;\n query: RuleGroupType;\n}\n\nconst initialQuery: RuleGroupType = { combinator: \"and\", rules: [] };\n\nconst Filter = ({\n open,\n onClose,\n // activeView,\n savedFilters,\n fetchSavedFilters,\n onSaveFilter,\n onSelectedFilter,\n applyFilter,\n fields = []\n}: IFilter) => {\n const location = useLocation();\n\n const token = localStorage.getItem(auth.storageTokenKeyName);\n const { updatePageInfo, activePage, schemaFields,setActivePage } = usePages()\n\n fields = schemaFields.length ? generateFields(schemaFields) : fields\n const [query, setQuery] = useState<RuleGroupType>(initialQuery);\n const [filteredSavedFilters, setFilteredSavedFilters] = useState<\n SavedFilter[]\n >(savedFilters ?? []);\n const [selectedFilter, setSelectedFilter] = useState<any>(null);\n const [openRenameFilter, setIsOpenRenameFilter] = useState<any>(null);\n const [errorMessage, setErrorMessage] = useState<string | null>(null);\n const {isRtl}=useLanguage();\n const resources: IResources = useMemo(() => routeToResourceMap[location.pathname] || null, [location.pathname])\n\n useEffect(() => {\n savedFilters && setFilteredSavedFilters(savedFilters);\n }, [savedFilters]);\n\n\n const handleApplyFilter = useCallback((clear:boolean = false) => {\n let q = query\n const isInvalid = isDuplicatedFilters(q)\n if(isInvalid){\n setErrorMessage(\"Invalid filter\")\n return\n }\n if(clear) {\n q = initialQuery\n setQuery(q)\n } else {\n const generatedSQLQuery = q ? generateQueryString(q) : q;\n updatePageInfo({ filters: q, filterQueryString: generatedSQLQuery })\n // applyFilter(generatedSQLQuery);\n onClose();\n }\n }, [query, applyFilter, onClose]);\n\n const handleQueryChange = (q: RuleGroupType) => {\n const updatedRules = q.rules.map((rule, i) => ({\n ...rule,\n value: rule.field !== query.rules?.[i]?.field || ['null', 'notNull'].includes(rule.operator) ? \"\" : rule.value\n }));\n let isValid = true;\n let errorMessage = '';\n\n // // Helper function to check for invalid aggregate usage, considering parent combinators\n // const checkForInvalidAggregateUsage = (rules: any[], combinator: string, parentCombinator: string | null): boolean => {\n // let hasAggregateField = false;\n // let hasNonAggregateField = false;\n\n // rules.forEach(rule => {\n // // Check nested groups\n // if (rule.rules) {\n // // If the current group or any parent has an 'OR', pass it down\n // const currentCombinator = combinator === 'or' || parentCombinator === 'or' ? 'or' : combinator;\n // checkForInvalidAggregateUsage(rule.rules, rule.combinator, currentCombinator);\n // } else {\n // // Find the field in the fields array and check if it's an aggregate\n // const field = fields.find((f: any) => f.name === rule.field);\n\n // if (field?.is_aggregate) {\n // hasAggregateField = true;\n // } else {\n // hasNonAggregateField = true;\n // }\n // }\n // });\n\n // // If any parent or current rule uses 'OR' with a mix of aggregate and non-aggregate fields, it's invalid\n // if ((combinator === 'or' || parentCombinator === 'or') && hasAggregateField && hasNonAggregateField) {\n // isValid = false;\n // errorMessage = 'Mixing aggregate and non-aggregate fields in OR conditions may lead to unexpected results.';\n // }\n\n // return isValid;\n // };\n\n // Start checking from the root level (no parent combinator initially)\n \n\n // Always set the query, regardless of validity\n setQuery({...q, rules: updatedRules});\n\n // Set error message if invalid, otherwise clear it\n if (!isValid) {\n setErrorMessage(errorMessage);\n } else {\n setErrorMessage(null);\n }\n\n // Always call onSaveFilter, if it exists\n if (onSaveFilter) {\n onSaveFilter(q);\n }\n };\n\n const handleFilterSwitch = (sf?: any) => {\n if (sf) {\n setSelectedFilter(sf);\n setQuery(sf.query);\n if (onSelectedFilter) {\n onSelectedFilter(sf);\n }\n } else{\n setSelectedFilter(null);\n setQuery(initialQuery);\n if (onSelectedFilter) {\n onSelectedFilter(null);\n }\n }\n };\n\n const handleSearchEvent = (searchText: string) => {\n const filteredFilters = savedFilters?.filter((filter: any) =>\n filter.name.toLowerCase().includes(searchText.toLowerCase())\n );\n if (filteredFilters) {\n setFilteredSavedFilters(filteredFilters);\n }\n };\n\n const handleRenameFilter = async (filterId: string, newName: string) => {\n const putFilterRequest: Types.PutV1FilterIdRequest = {\n \"x-token\": token,\n id: filterId,\n name: newName,\n module: resources?.fieldResource || resources?.pageResource\n };\n\n try {\n await putV1FilterId(putFilterRequest)\n // setSelectedFilter(newName);\n if (fetchSavedFilters) {\n fetchSavedFilters();\n }\n enqueueSnackbar('Filters renamed successfully.')\n } catch (error) {\n let m: string = 'Something went wrong on saving filters'\n\t\t\tif(error instanceof Error) {\n m = getErrorMessage(error.message)\n\t\t\t}\n\t\t\tenqueueSnackbar(m, {variant: 'error'})\n\t\t\treturn false\n }\n return true\n };\n const handleUpdateSelectedFilterQuery = async () => {\n if(selectedFilter) {\n\n const putFilterRequest: Types.PutV1FilterIdRequest = {\n \"x-token\": token,\n id: selectedFilter.id,\n data: query,\n };\n \n putV1FilterId(putFilterRequest)\n .then((response: any) => {\n if (fetchSavedFilters) {\n fetchSavedFilters();\n }\n setActivePage((prev: any) => ({\n ...prev,\n filters:{\n ...prev.filters,\n rules: query.rules,\n combinator: query.combinator,\n name: selectedFilter.name\n \n }\n }));\n })\n .catch((err: any) => enqueueSnackbar(\"Error renaming saved filters:\", {variant:'error'}));\n }\n };\n\n const handleSubmitRename = (name: string) => {\n if (openRenameFilter) {\n return handleRenameFilter(openRenameFilter.id, name);\n }\n };\n\n const handleDeleteFilter = async (filterId: string) => {\n const deleteFilterRequest: Types.DeleteV1FilterIdRequest = {\n \"x-token\": token,\n id: filterId,\n };\n\n deleteV1FilterId(deleteFilterRequest)\n .then((response: any) => {\n setSelectedFilter(null);\n setQuery(initialQuery);\n if (fetchSavedFilters) {\n fetchSavedFilters();\n }\n \n })\n .catch((err: any) => console.log(\"Error deleting saved filters:\", err));\n };\n\n useEffect(() => {\n let q = initialQuery\n if(!_.isEmpty(activePage.filters)) {\n q = activePage.filters\n }\n setQuery(q)\n const selectedFilter = savedFilters?.find((f: any) => f.name === activePage?.filters?.name);\n setSelectedFilter(selectedFilter || null);\n }, [activePage?.filters, savedFilters]);\n\n const isDuplicatedFilters = (rule) => {\n let uniques:string[]=[]\n rule?.rules?.forEach((r: any) => {\n if(uniques.includes(r.field)&& rule.combinator=='and'){\n return true\n }\n uniques.push(r.field)\n })\n return uniques.length !== rule?.rules?.length\n }\n\n\n const isRuleInvalid = (rule: any): boolean => {\n // If it's a group (has nested rules), recurse\n if (Array.isArray(rule.rules)) {\n return rule.rules.length ? rule.rules.some(isRuleInvalid) : !rule.rules.length;\n }\n \n // Otherwise, validate individual rule\n return (\n !rule.field ||\n (_.isEmpty(rule.value) && !['null', 'notNull'].includes(rule.operator))\n );\n };\n \n const disabled = useMemo(() => isRuleInvalid(query) || errorMessage, [query, errorMessage])\n // const disabled = isRuleInvalid(query) || errorMessage;\n\n return (\n <div>\n <Dialog \n open={open} \n onClose={onClose} \n maxWidth='md' \n fullWidth={true} \n PaperProps={{\n sx:{ borderRadius: 2 }\n }}\n >\n <DialogTitle className=\"filter-header\">\n <Typography type=\"s3\" weight=\"medium\" color=\"theme.secondary.1000\">\n Filters\n </Typography>\n <Box gap={1} display={\"flex\"}>\n <Select\n fullWidth\n size=\"small\"\n className=\"filter-dropdown\"\n value={selectedFilter ? selectedFilter.name : \"Saved Filters\"}\n onChange={(event: any) =>{\n const sf = savedFilters?.find(f => f.name == event.target.value)\n handleFilterSwitch(sf)\n }}\n variant=\"outlined\"\n onClose={() => {\n setTimeout(() => {\n handleSearchEvent(\"\")\n }, 500);\n }}\n input={\n selectedFilter ? (\n <OutlinedInput\n label=''\n endAdornment={\n <InputAdornment position='end'>\n <IconButton\n aria-label='clear selection'\n onClick={() => {\n handleFilterSwitch()\n }}\n edge='end'\n sx={{ mr: 1.5 }}\n size='small'>\n <Close sx={{ fontSize: '1rem' }} />\n </IconButton>\n </InputAdornment>\n }\n />\n ) : undefined\n }\n >\n <div className=\"searchbar-box-list\">\n <SearchBar\n placeholder={\"Search Filters\"}\n handleSearch={(e) => handleSearchEvent(e)}\n />\n </div>\n {/* <Typography\n color=\"theme.secondary.1000\"\n type=\"s4\"\n className=\"filter-title\"\n >\n Saved Filters\n </Typography> */}\n {filteredSavedFilters?.map((savedFilter: SavedFilter) => (\n <MenuItem\n key={savedFilter.id}\n value={savedFilter?.name}\n className=\"menu-list\"\n selected={selectedFilter?.name == savedFilter?.name}\n >\n <Typography color=\"theme.secondary.1000\" type=\"s3\">\n {savedFilter?.name}\n </Typography>\n\n <div className=\"icon-list\">\n <IconButton size=\"small\" onClick={(e) => {\n e.preventDefault()\n e.stopPropagation()\n setIsOpenRenameFilter(savedFilter)\n }}>\n <Edit fontSize=\"small\" color={selectedFilter?.name == savedFilter?.name ? \"theme.primary.800\" : 'inherit'}/>\n </IconButton>\n <IconButton size=\"small\" onClick={(e) => {\n e.preventDefault()\n e.stopPropagation()\n handleDeleteFilter(savedFilter.id)\n }} color=\"error\">\n <Trash fontSize=\"small\" color=\"theme.error.600\"/>\n </IconButton>\n </div>\n </MenuItem>\n ))}\n </Select>\n <SaveFilterModal\n open={openRenameFilter !== null}\n onClose={() => setIsOpenRenameFilter(null)}\n handleSubmit={(name) => handleSubmitRename(name)}\n oldName={openRenameFilter?.name}\n />\n <Box>\n <IconButton size=\"small\" onClick={onClose}>\n <Close fontSize=\"small\" />\n </IconButton>\n </Box>\n </Box>\n </DialogTitle>\n <DialogContent className=\"content\">\n {/* Display error message */}\n {errorMessage && (\n <Alert severity=\"error\" sx={{ px:1, pt: 0.5, mb: 1 }}>\n <Typography\n color=\"error\"\n type=\"s4\"\n >\n {errorMessage}\n </Typography>\n </Alert>\n )}\n <QueryBuilderMaterial>\n <QueryBuilder\n fields={fields || []}\n query={query}\n onQueryChange={handleQueryChange}\n showCombinatorsBetweenRules={true}\n controlClassnames={{\n header: \"actions\",\n }}\n controlElements={{\n addRuleAction: AddFilterButton,\n addGroupAction: AddGroupButton,\n combinatorSelector: CombinatorSelect,\n fieldSelector: FieldSelect,\n operatorSelector: OperatorSelect,\n removeRuleAction: RemoveAction,\n valueEditor: ValueEditor,\n removeGroupAction: RemoveGroupAction,\n }}\n />\n <Button\n variant=\"text\"\n className={isRtl?'remove-filters_rtl':'remove-filters'}\n onClick={() => {\n handleApplyFilter(true)\n }}\n disabled={disabled}\n >\n Clear all filters\n </Button>\n </QueryBuilderMaterial>\n </DialogContent>\n <DialogActions className=\"filter-footer\">\n <Box sx={{ display: 'flex', alignItems: 'center', justifyContent:selectedFilter ? 'space-between' : 'flex-end', width:'100%' }}>\n {selectedFilter &&\n <Box>\n <Button onClick={handleUpdateSelectedFilterQuery}> \n Update Seleted filter\n </Button>\n </Box>\n }\n <Box sx={{display: 'flex', gap:1}}>\n <Button className=\"cancel-filter-btn\" onClick={onClose}>\n Cancel\n </Button>\n <Button\n disabled={disabled}\n onClick={() => handleApplyFilter()}\n >\n Apply\n </Button>\n </Box>\n </Box>\n </DialogActions>\n </Dialog>\n </div>\n );\n};\n\nexport default Filter;\n"],"names":["selectedFilter"],"mappings":"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"}
1
+ {"version":3,"file":"index.esm.js","sources":["../../../../src/components/filter/filter.tsx"],"sourcesContent":["/* eslint-disable */\nimport { useCallback, useEffect, useMemo, useState } from \"react\";\nimport type { RuleGroupType } from \"react-querybuilder\";\nimport \"react-querybuilder/dist/query-builder.scss\";\nimport { QueryBuilder /* , formatQuery */ } from \"react-querybuilder\";\nimport { QueryBuilderMaterial } from \"@react-querybuilder/material\";\nimport {\n Box,\n IconButton,\n MenuItem,\n Dialog,\n DialogTitle,\n DialogContent,\n DialogActions,\n OutlinedInput,\n InputAdornment,\n Alert,\n} from \"@mui/material\";\nimport \"./filter.scss\";\nimport Select from \"../select/select\";\nimport Typography from \"../typography/typography\";\nimport { Close } from \"@mui/icons-material\";\nimport CombinatorSelect from \"./components/combinator-select\";\nimport RemoveAction from \"./components/remove-action\";\nimport FieldSelect from \"./components/field-select\";\nimport AddFilterButton from \"./components/add-filter\";\nimport AddGroupButton from \"./components/add-group\";\nimport ValueEditor from \"./components/value-editor\";\nimport OperatorSelect from \"./components/operator-select\";\nimport Button from \"../button/button\";\nimport RemoveGroupAction from \"./components/delete-group\";\nimport SearchBar from \"../search-bar/search-bar\";\nimport SaveFilterModal from \"../save-filter-modal/save-filter-modal\";\n\nimport {\n setBaseUrl,\n putV1FilterId,\n deleteV1FilterId,\n} from \"../../api-client/api.system-feature/api\";\nimport type * as Types from \"../../api-client/api.system-feature/api-types\";\nimport { auth } from \"../../constants/auth\";\nimport { generateFields, generateQueryString, getErrorMessage } from \"../../utils/common\";\nimport { usePages } from \"../../hooks/use-pages\";\nimport _ from \"lodash\";\nimport { Edit, Trash } from \"../icons\";\nimport { enqueueSnackbar } from \"notistack\";\nimport { IResources, routeToResourceMap } from \"../../constants/route-page-map\";\nimport { useLocation } from \"react-router-dom\";\nimport { useLanguage } from \"../../hooks/useLangauge\";\n\nsetBaseUrl(`${import.meta.env.VITE_BACKEND_BASE_URL}/system-feature`);\n\ninterface IFilter {\n open: boolean;\n onClose: () => void;\n activeView?: string;\n savedFilters?: SavedFilter[];\n fetchSavedFilters?: () => Promise<void>;\n setFilterBar?: any;\n onSaveFilter?: (query: RuleGroupType) => void;\n onSelectedFilter?: (filterName: string) => void;\n fields: any;\n applyFilter: any\n}\n\ninterface SavedFilter {\n id: string;\n name: string;\n query: RuleGroupType;\n}\n\nconst initialQuery: RuleGroupType = { combinator: \"and\", rules: [] };\n\nconst Filter = ({\n open,\n onClose,\n // activeView,\n savedFilters,\n fetchSavedFilters,\n onSaveFilter,\n onSelectedFilter,\n applyFilter,\n fields = []\n}: IFilter) => {\n const location = useLocation();\n\n const token = localStorage.getItem(auth.storageTokenKeyName);\n const { updatePageInfo, activePage, schemaFields,setActivePage } = usePages()\n\n fields = schemaFields.length ? generateFields(schemaFields) : fields\n const [query, setQuery] = useState<RuleGroupType>(initialQuery);\n const [filteredSavedFilters, setFilteredSavedFilters] = useState<\n SavedFilter[]\n >(savedFilters ?? []);\n const [selectedFilter, setSelectedFilter] = useState<any>(null);\n const [openRenameFilter, setIsOpenRenameFilter] = useState<any>(null);\n const [errorMessage, setErrorMessage] = useState<string | null>(null);\n const {isRtl}=useLanguage();\n const resources: IResources = useMemo(() => routeToResourceMap[location.pathname] || null, [location.pathname])\n\n useEffect(() => {\n savedFilters && setFilteredSavedFilters(savedFilters);\n }, [savedFilters]);\n\n\n const handleApplyFilter = useCallback((clear:boolean = false) => {\n let q = query\n const isInvalid = isDuplicatedFilters(q)\n if(isInvalid){\n setErrorMessage(\"Invalid filter\")\n return\n }\n if(clear) {\n q = initialQuery\n setQuery(q)\n } else {\n const generatedSQLQuery = q ? generateQueryString(q) : q;\n updatePageInfo({ filters: q, filterQueryString: generatedSQLQuery })\n // applyFilter(generatedSQLQuery);\n onClose();\n }\n }, [query, applyFilter, onClose]);\n\n const handleQueryChange = (q: RuleGroupType) => {\n const updatedRules = q.rules.map((rule, i) => ({\n ...rule,\n value: rule.field !== query.rules?.[i]?.field || ['null', 'notNull'].includes(rule.operator) ? \"\" : rule.value\n }));\n let isValid = true;\n let errorMessage = '';\n\n // // Helper function to check for invalid aggregate usage, considering parent combinators\n // const checkForInvalidAggregateUsage = (rules: any[], combinator: string, parentCombinator: string | null): boolean => {\n // let hasAggregateField = false;\n // let hasNonAggregateField = false;\n\n // rules.forEach(rule => {\n // // Check nested groups\n // if (rule.rules) {\n // // If the current group or any parent has an 'OR', pass it down\n // const currentCombinator = combinator === 'or' || parentCombinator === 'or' ? 'or' : combinator;\n // checkForInvalidAggregateUsage(rule.rules, rule.combinator, currentCombinator);\n // } else {\n // // Find the field in the fields array and check if it's an aggregate\n // const field = fields.find((f: any) => f.name === rule.field);\n\n // if (field?.is_aggregate) {\n // hasAggregateField = true;\n // } else {\n // hasNonAggregateField = true;\n // }\n // }\n // });\n\n // // If any parent or current rule uses 'OR' with a mix of aggregate and non-aggregate fields, it's invalid\n // if ((combinator === 'or' || parentCombinator === 'or') && hasAggregateField && hasNonAggregateField) {\n // isValid = false;\n // errorMessage = 'Mixing aggregate and non-aggregate fields in OR conditions may lead to unexpected results.';\n // }\n\n // return isValid;\n // };\n\n // Start checking from the root level (no parent combinator initially)\n \n\n // Always set the query, regardless of validity\n setQuery({...q, rules: updatedRules});\n\n // Set error message if invalid, otherwise clear it\n if (!isValid) {\n setErrorMessage(errorMessage);\n } else {\n setErrorMessage(null);\n }\n\n // Always call onSaveFilter, if it exists\n if (onSaveFilter) {\n onSaveFilter(q);\n }\n };\n\n const handleFilterSwitch = (sf?: any) => {\n if (sf) {\n setSelectedFilter(sf);\n setQuery(sf.query);\n if (onSelectedFilter) {\n onSelectedFilter(sf);\n }\n } else{\n setSelectedFilter(null);\n setQuery(initialQuery);\n if (onSelectedFilter) {\n onSelectedFilter(null);\n }\n }\n };\n\n const handleSearchEvent = (searchText: string) => {\n const filteredFilters = savedFilters?.filter((filter: any) =>\n filter.name.toLowerCase().includes(searchText.toLowerCase())\n );\n if (filteredFilters) {\n setFilteredSavedFilters(filteredFilters);\n }\n };\n\n const handleRenameFilter = async (filterId: string, newName: string) => {\n const putFilterRequest: Types.PutV1FilterIdRequest = {\n \"x-token\": token,\n id: filterId,\n name: newName,\n module: resources?.fieldResource || resources?.pageResource\n };\n\n try {\n await putV1FilterId(putFilterRequest)\n // setSelectedFilter(newName);\n if (fetchSavedFilters) {\n fetchSavedFilters();\n }\n enqueueSnackbar('Filters renamed successfully.')\n } catch (error) {\n let m: string = 'Something went wrong on saving filters'\n\t\t\tif(error instanceof Error) {\n m = getErrorMessage(error.message)\n\t\t\t}\n\t\t\tenqueueSnackbar(m, {variant: 'error'})\n\t\t\treturn false\n }\n return true\n };\n const handleUpdateSelectedFilterQuery = async () => {\n if(selectedFilter) {\n\n const putFilterRequest: Types.PutV1FilterIdRequest = {\n \"x-token\": token,\n id: selectedFilter.id,\n data: query,\n };\n \n putV1FilterId(putFilterRequest)\n .then((response: any) => {\n if (fetchSavedFilters) {\n fetchSavedFilters();\n }\n setActivePage((prev: any) => ({\n ...prev,\n filters:{\n ...prev.filters,\n rules: query.rules,\n combinator: query.combinator,\n name: selectedFilter.name\n \n }\n }));\n })\n .catch((err: any) => enqueueSnackbar(\"Error renaming saved filters:\", {variant:'error'}));\n }\n };\n\n const handleSubmitRename = (name: string) => {\n if (openRenameFilter) {\n return handleRenameFilter(openRenameFilter.id, name);\n }\n };\n\n const handleDeleteFilter = async (filterId: string) => {\n const deleteFilterRequest: Types.DeleteV1FilterIdRequest = {\n \"x-token\": token,\n id: filterId,\n };\n\n deleteV1FilterId(deleteFilterRequest)\n .then((response: any) => {\n setSelectedFilter(null);\n setQuery(initialQuery);\n if (fetchSavedFilters) {\n fetchSavedFilters();\n }\n \n })\n .catch((err: any) => console.log(\"Error deleting saved filters:\", err));\n };\n\n useEffect(() => {\n let q = initialQuery\n if(!_.isEmpty(activePage.filters)) {\n q = activePage.filters\n }\n setQuery(q)\n const selectedFilter = savedFilters?.find((f: any) => f.name === activePage?.filters?.name);\n setSelectedFilter(selectedFilter || null);\n }, [activePage?.filters, savedFilters]);\n\n const isDuplicatedFilters = (rule) => {\n let uniques:string[]=[]\n rule?.rules?.forEach((r: any) => {\n if(uniques.includes(r.field)&& rule.combinator=='and'){\n return true\n }\n uniques.push(r.field)\n })\n return uniques.length !== rule?.rules?.length\n }\n\n\n const isRuleInvalid = (rule: any): boolean => {\n // If it's a group (has nested rules), recurse\n if (Array.isArray(rule.rules)) {\n return rule.rules.length ? rule.rules.some(isRuleInvalid) : !rule.rules.length;\n }\n \n // Otherwise, validate individual rule\n return (\n !rule.field ||\n (_.isEmpty(rule.value) && !['null', 'notNull'].includes(rule.operator))\n );\n };\n \n const disabled = useMemo(() => isRuleInvalid(query) || errorMessage, [query, errorMessage])\n // const disabled = isRuleInvalid(query) || errorMessage;\n\n return (\n <div>\n <Dialog \n open={open} \n onClose={onClose} \n maxWidth='md' \n fullWidth={true} \n PaperProps={{\n sx:{ borderRadius: 2 }\n }}\n >\n <DialogTitle className=\"filter-header\">\n <Typography type=\"s3\" weight=\"medium\" color=\"theme.secondary.1000\">\n Filters\n </Typography>\n <Box gap={1} display={\"flex\"}>\n <Select\n fullWidth\n size=\"small\"\n className=\"filter-dropdown\"\n value={selectedFilter ? selectedFilter.name : \"Saved Filters\"}\n onChange={(event: any) =>{\n const sf = savedFilters?.find(f => f.name == event.target.value)\n handleFilterSwitch(sf)\n }}\n variant=\"outlined\"\n onClose={() => {\n setTimeout(() => {\n handleSearchEvent(\"\")\n }, 500);\n }}\n input={\n selectedFilter ? (\n <OutlinedInput\n label=''\n endAdornment={\n <InputAdornment position='end'>\n <IconButton\n aria-label='clear selection'\n onClick={() => {\n handleFilterSwitch()\n }}\n edge='end'\n sx={{ mr: 1.5 }}\n size='small'>\n <Close sx={{ fontSize: '1rem' }} />\n </IconButton>\n </InputAdornment>\n }\n />\n ) : undefined\n }\n >\n <div className=\"searchbar-box-list\">\n <SearchBar\n placeholder={\"Search Filters\"}\n handleSearch={(e) => handleSearchEvent(e)}\n />\n </div>\n {/* <Typography\n color=\"theme.secondary.1000\"\n type=\"s4\"\n className=\"filter-title\"\n >\n Saved Filters\n </Typography> */}\n {filteredSavedFilters?.map((savedFilter: SavedFilter) => (\n <MenuItem\n key={savedFilter.id}\n value={savedFilter?.name}\n className=\"menu-list\"\n selected={selectedFilter?.name == savedFilter?.name}\n >\n <Typography color=\"theme.secondary.1000\" type=\"s3\">\n {savedFilter?.name}\n </Typography>\n\n <div className=\"icon-list\">\n <IconButton size=\"small\" onClick={(e) => {\n e.preventDefault()\n e.stopPropagation()\n setIsOpenRenameFilter(savedFilter)\n }}>\n <Edit fontSize=\"small\" color={selectedFilter?.name == savedFilter?.name ? \"theme.primary.800\" : 'inherit'}/>\n </IconButton>\n <IconButton size=\"small\" onClick={(e) => {\n e.preventDefault()\n e.stopPropagation()\n handleDeleteFilter(savedFilter.id)\n }} color=\"error\">\n <Trash fontSize=\"small\" color=\"theme.error.600\"/>\n </IconButton>\n </div>\n </MenuItem>\n ))}\n </Select>\n <SaveFilterModal\n open={openRenameFilter !== null}\n onClose={() => setIsOpenRenameFilter(null)}\n handleSubmit={(name) => handleSubmitRename(name)}\n oldName={openRenameFilter?.name}\n />\n <Box>\n <IconButton size=\"small\" onClick={onClose}>\n <Close fontSize=\"small\" />\n </IconButton>\n </Box>\n </Box>\n </DialogTitle>\n <DialogContent className=\"content\">\n {/* Display error message */}\n {errorMessage && (\n <Alert severity=\"error\" sx={{ px:1, pt: 0.5, mb: 1 }}>\n <Typography\n color=\"error\"\n type=\"s4\"\n >\n {errorMessage}\n </Typography>\n </Alert>\n )}\n <QueryBuilderMaterial>\n <QueryBuilder\n fields={fields || []}\n query={query}\n onQueryChange={handleQueryChange}\n showCombinatorsBetweenRules={true}\n controlClassnames={{\n header: \"actions\",\n }}\n controlElements={{\n addRuleAction: AddFilterButton,\n addGroupAction: AddGroupButton,\n combinatorSelector: CombinatorSelect,\n fieldSelector: FieldSelect,\n operatorSelector: OperatorSelect,\n removeRuleAction: RemoveAction,\n valueEditor: ValueEditor,\n removeGroupAction: RemoveGroupAction,\n }}\n />\n <Button\n variant=\"text\"\n className={isRtl?'remove-filters_rtl':'remove-filters'}\n onClick={() => {\n handleApplyFilter(true)\n }}\n disabled={disabled}\n >\n Clear all filters\n </Button>\n </QueryBuilderMaterial>\n </DialogContent>\n <DialogActions className=\"filter-footer\">\n <Box sx={{ display: 'flex', alignItems: 'center', justifyContent:selectedFilter ? 'space-between' : 'flex-end', width:'100%' }}>\n {selectedFilter &&\n <Box>\n <Button onClick={handleUpdateSelectedFilterQuery}> \n Update Seleted filter\n </Button>\n </Box>\n }\n <Box sx={{display: 'flex', gap:1}}>\n <Button className=\"cancel-filter-btn\" onClick={onClose}>\n Cancel\n </Button>\n <Button\n disabled={disabled}\n onClick={() => handleApplyFilter()}\n >\n Apply\n </Button>\n </Box>\n </Box>\n </DialogActions>\n </Dialog>\n </div>\n );\n};\n\nexport default Filter;\n"],"names":["selectedFilter"],"mappings":"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"}
@@ -1,21 +1,21 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),l=require("react"),r=require("react-querybuilder"),t=;/* empty css */;/* empty css */var i=,/* empty css */n=,/* empty css */s=,/* empty css */a=,/* empty css */o=,/* empty css */u=,/* empty css */d=,/* empty css */c=,/* empty css */m=,/* empty css */f=,/* empty css */x=,/* empty css */p=,/* empty css */h=,/* empty css */j=,/* empty css */v=,/* empty css */g=,/* empty css */q=,/* empty css */y=require("lodash"),b=,/* empty css */S=,/* empty css */C=require("react-router-dom"),k=,/* empty css */_=,/* empty css */A=,/* empty css */I=,/* empty css */F=,/* empty css */N=,/* empty css */w=,/* empty css */E=,/* empty css */D=,/* empty css */z=,/* empty css */P=,/* empty css */T=,/* empty css */B=,/* empty css */M=;/* empty css */function R(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var L=/* @__PURE__ */R(y);j.setBaseUrl("https://apidev.erpforce.co/system-feature");const Q={combinator:"and",rules:[]};exports.default=({open:y,onClose:R,savedFilters:O,fetchSavedFilters:V,onSaveFilter:W,onSelectedFilter:G,applyFilter:U,fields:K=[]})=>{const H=C.useLocation(),J=localStorage.getItem(v.auth.storageTokenKeyName),{updatePageInfo:X,activePage:Y,schemaFields:Z,setActivePage:$}=q.usePages();K=Z.length?g.generateFields(Z):K;const[ee,le]=l.useState(Q),[re,te]=l.useState(O??[]),[ie,ne]=l.useState(null),[se,ae]=l.useState(null),[oe,ue]=l.useState(null),{isRtl:de}=k.useLanguage(),ce=l.useMemo(()=>S.routeToResourceMap[H.pathname]||null,[H.pathname]);l.useEffect(()=>{O&&te(O)},[O]);const me=l.useCallback((e=!1)=>{let l=ee;if(pe(l))ue("Invalid filter");else if(e)l=Q,le(l);else{const e=l?g.generateQueryString(l):l;X({filters:l,filterQueryString:e}),R()}},[ee,U,R]),fe=e=>{e?(ne(e),le(e.query),G&&G(e)):(ne(null),le(Q),G&&G(null))},xe=e=>{const l=null==O?void 0:O.filter(l=>l.name.toLowerCase().includes(e.toLowerCase()));l&&te(l)};l.useEffect(()=>{let e=Q;L.default.isEmpty(Y.filters)||(e=Y.filters),le(e);const l=null==O?void 0:O.find(e=>{var l;return e.name===(null==(l=null==Y?void 0:Y.filters)?void 0:l.name)});ne(l||null)},[null==Y?void 0:Y.filters,O]);const pe=e=>{var l,r;let t=[];return null==(l=null==e?void 0:e.rules)||l.forEach(l=>{if(t.includes(l.field)&&"and"==e.combinator)return!0;t.push(l.field)}),t.length!==(null==(r=null==e?void 0:e.rules)?void 0:r.length)},he=e=>Array.isArray(e.rules)?e.rules.length?e.rules.some(he):!e.rules.length:!e.field||L.default.isEmpty(e.value)&&!["null","notNull"].includes(e.operator),je=l.useMemo(()=>he(ee)||oe,[ee,oe]);/* @__PURE__ */
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),l=require("react"),r=require("react-querybuilder"),t=;/* empty css */;/* empty css */var i=,/* empty css */n=,/* empty css */s=,/* empty css */a=,/* empty css */o=,/* empty css */u=,/* empty css */d=,/* empty css */c=,/* empty css */m=,/* empty css */f=,/* empty css */x=,/* empty css */p=,/* empty css */h=,/* empty css */j=,/* empty css */v=,/* empty css */g=,/* empty css */q=,/* empty css */y=require("lodash"),b=,/* empty css */S=,/* empty css */C=require("react-router-dom"),k=,/* empty css */_=,/* empty css */A=,/* empty css */I=,/* empty css */F=,/* empty css */N=,/* empty css */w=,/* empty css */E=,/* empty css */D=,/* empty css */z=,/* empty css */P=,/* empty css */T=,/* empty css */B=,/* empty css */M=;/* empty css */function R(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var L=/* @__PURE__ */R(y);j.setBaseUrl("undefined/system-feature");const Q={combinator:"and",rules:[]};exports.default=({open:y,onClose:R,savedFilters:O,fetchSavedFilters:V,onSaveFilter:W,onSelectedFilter:G,applyFilter:U,fields:K=[]})=>{const H=C.useLocation(),J=localStorage.getItem(v.auth.storageTokenKeyName),{updatePageInfo:X,activePage:Y,schemaFields:Z,setActivePage:$}=q.usePages();K=Z.length?g.generateFields(Z):K;const[ee,le]=l.useState(Q),[re,te]=l.useState(O??[]),[ie,ne]=l.useState(null),[se,ae]=l.useState(null),[oe,ue]=l.useState(null),{isRtl:de}=k.useLanguage(),ce=l.useMemo(()=>S.routeToResourceMap[H.pathname]||null,[H.pathname]);l.useEffect(()=>{O&&te(O)},[O]);const me=l.useCallback((e=!1)=>{let l=ee;if(pe(l))ue("Invalid filter");else if(e)l=Q,le(l);else{const e=l?g.generateQueryString(l):l;X({filters:l,filterQueryString:e}),R()}},[ee,U,R]),fe=e=>{e?(ne(e),le(e.query),G&&G(e)):(ne(null),le(Q),G&&G(null))},xe=e=>{const l=null==O?void 0:O.filter(l=>l.name.toLowerCase().includes(e.toLowerCase()));l&&te(l)};l.useEffect(()=>{let e=Q;L.default.isEmpty(Y.filters)||(e=Y.filters),le(e);const l=null==O?void 0:O.find(e=>{var l;return e.name===(null==(l=null==Y?void 0:Y.filters)?void 0:l.name)});ne(l||null)},[null==Y?void 0:Y.filters,O]);const pe=e=>{var l,r;let t=[];return null==(l=null==e?void 0:e.rules)||l.forEach(l=>{if(t.includes(l.field)&&"and"==e.combinator)return!0;t.push(l.field)}),t.length!==(null==(r=null==e?void 0:e.rules)?void 0:r.length)},he=e=>Array.isArray(e.rules)?e.rules.length?e.rules.some(he):!e.rules.length:!e.field||L.default.isEmpty(e.value)&&!["null","notNull"].includes(e.operator),je=l.useMemo(()=>he(ee)||oe,[ee,oe]);/* @__PURE__ */
2
2
  return e.jsx("div",{children:/* @__PURE__ */e.jsxs(_.default,{open:y,onClose:R,maxWidth:"md",fullWidth:!0,PaperProps:{sx:{borderRadius:2}},children:[
3
3
  /* @__PURE__ */e.jsxs(A.default,{className:"filter-header",children:[
4
4
  /* @__PURE__ */e.jsx(n.Typography,{type:"s3",weight:"medium",color:"theme.secondary.1000",children:"Filters"}),
5
5
  /* @__PURE__ */e.jsxs(I.default,{gap:1,display:"flex",children:[
6
- /* @__PURE__ */e.jsxs(i.default,{fullWidth:!0,size:"small",className:"filter-dropdown",value:ie?ie.name:"Saved Filters",onChange:e=>{const l=null==O?void 0:O.find(l=>l.name==e.target.value);fe(l)},variant:"outlined",onClose:()=>{setTimeout(()=>{xe("")},500)},input:ie?/* @__PURE__ */e.jsx(E.default,{label:"",endAdornment:/* @__PURE__ */e.jsx(D.default,{position:"end",children:/* @__PURE__ */e.jsx(N.default,{"aria-label":"clear selection",onClick:()=>{fe()},edge:"end",sx:{mr:1.5},size:"small",children:/* @__PURE__ */e.jsx(z.default,{sx:{fontSize:"1rem"}})})})}):void 0,children:[
6
+ /* @__PURE__ */e.jsxs(i.default,{fullWidth:!0,size:"small",className:"filter-dropdown",value:ie?ie.name:"Saved Filters",onChange:e=>{const l=null==O?void 0:O.find(l=>l.name==e.target.value);fe(l)},variant:"outlined",onClose:()=>{setTimeout(()=>{xe("")},500)},input:ie?/* @__PURE__ */e.jsx(w.default,{label:"",endAdornment:/* @__PURE__ */e.jsx(E.default,{position:"end",children:/* @__PURE__ */e.jsx(N.default,{"aria-label":"clear selection",onClick:()=>{fe()},edge:"end",sx:{mr:1.5},size:"small",children:/* @__PURE__ */e.jsx(D.default,{sx:{fontSize:"1rem"}})})})}):void 0,children:[
7
7
  /* @__PURE__ */e.jsx("div",{className:"searchbar-box-list",children:/* @__PURE__ */e.jsx(p.default,{placeholder:"Search Filters",handleSearch:e=>xe(e)})}),null==re?void 0:re.map(l=>/* @__PURE__ */e.jsxs(F.default,{value:null==l?void 0:l.name,className:"menu-list",selected:(null==ie?void 0:ie.name)==(null==l?void 0:l.name),children:[
8
8
  /* @__PURE__ */e.jsx(n.Typography,{color:"theme.secondary.1000",type:"s3",children:null==l?void 0:l.name}),
9
9
  /* @__PURE__ */e.jsxs("div",{className:"icon-list",children:[
10
- /* @__PURE__ */e.jsx(N.default,{size:"small",onClick:e=>{e.preventDefault(),e.stopPropagation(),ae(l)},children:/* @__PURE__ */e.jsx(w.Edit,{fontSize:"small",color:(null==ie?void 0:ie.name)==(null==l?void 0:l.name)?"theme.primary.800":"inherit"})}),
10
+ /* @__PURE__ */e.jsx(N.default,{size:"small",onClick:e=>{e.preventDefault(),e.stopPropagation(),ae(l)},children:/* @__PURE__ */e.jsx(B.Edit,{fontSize:"small",color:(null==ie?void 0:ie.name)==(null==l?void 0:l.name)?"theme.primary.800":"inherit"})}),
11
11
  /* @__PURE__ */e.jsx(N.default,{size:"small",onClick:e=>{e.preventDefault(),e.stopPropagation(),(async e=>{const l={"x-token":J,id:e};j.deleteV1FilterId(l).then(e=>{ne(null),le(Q),V&&V()}).catch(e=>{})})(l.id)},color:"error",children:/* @__PURE__ */e.jsx(M.Trash,{fontSize:"small",color:"theme.error.600"})})]})]},l.id))]}),
12
12
  /* @__PURE__ */e.jsx(h.default,{open:null!==se,onClose:()=>ae(null),handleSubmit:e=>(e=>{if(se)return(async(e,l)=>{const r={"x-token":J,id:e,name:l,module:(null==ce?void 0:ce.fieldResource)||(null==ce?void 0:ce.pageResource)};try{await j.putV1FilterId(r),V&&V(),b.enqueueSnackbar("Filters renamed successfully.")}catch(t){let e="Something went wrong on saving filters";return t instanceof Error&&(e=g.getErrorMessage(t.message)),b.enqueueSnackbar(e,{variant:"error"}),!1}return!0})(se.id,e)})(e),oldName:null==se?void 0:se.name}),
13
- /* @__PURE__ */e.jsx(I.default,{children:/* @__PURE__ */e.jsx(N.default,{size:"small",onClick:R,children:/* @__PURE__ */e.jsx(z.default,{fontSize:"small"})})})]})]}),
14
- /* @__PURE__ */e.jsxs(P.default,{className:"content",children:[oe&&/* @__PURE__ */e.jsx(T.default,{severity:"error",sx:{px:1,pt:.5,mb:1},children:/* @__PURE__ */e.jsx(n.Typography,{color:"error",type:"s4",children:oe})}),
13
+ /* @__PURE__ */e.jsx(I.default,{children:/* @__PURE__ */e.jsx(N.default,{size:"small",onClick:R,children:/* @__PURE__ */e.jsx(D.default,{fontSize:"small"})})})]})]}),
14
+ /* @__PURE__ */e.jsxs(z.default,{className:"content",children:[oe&&/* @__PURE__ */e.jsx(P.default,{severity:"error",sx:{px:1,pt:.5,mb:1},children:/* @__PURE__ */e.jsx(n.Typography,{color:"error",type:"s4",children:oe})}),
15
15
  /* @__PURE__ */e.jsxs(t.QueryBuilderMaterial,{children:[
16
16
  /* @__PURE__ */e.jsx(r.QueryBuilder,{fields:K||[],query:ee,onQueryChange:e=>{const l=e.rules.map((e,l)=>{var r,t;return{...e,value:e.field!==(null==(t=null==(r=ee.rules)?void 0:r[l])?void 0:t.field)||["null","notNull"].includes(e.operator)?"":e.value}});le({...e,rules:l}),ue(null),W&&W(e)},showCombinatorsBetweenRules:!0,controlClassnames:{header:"actions"},controlElements:{addRuleAction:u.default,addGroupAction:d.default,combinatorSelector:s.default,fieldSelector:o.default,operatorSelector:m.default,removeRuleAction:a.default,valueEditor:c.default,removeGroupAction:x.default}}),
17
17
  /* @__PURE__ */e.jsx(f.default,{variant:"text",className:de?"remove-filters_rtl":"remove-filters",onClick:()=>{me(!0)},disabled:je,children:"Clear all filters"})]})]}),
18
- /* @__PURE__ */e.jsx(B.default,{className:"filter-footer",children:/* @__PURE__ */e.jsxs(I.default,{sx:{display:"flex",alignItems:"center",justifyContent:ie?"space-between":"flex-end",width:"100%"},children:[ie&&/* @__PURE__ */e.jsx(I.default,{children:/* @__PURE__ */e.jsx(f.default,{onClick:async()=>{if(ie){const e={"x-token":J,id:ie.id,data:ee};j.putV1FilterId(e).then(e=>{V&&V(),$(e=>({...e,filters:{...e.filters,rules:ee.rules,combinator:ee.combinator,name:ie.name}}))}).catch(e=>b.enqueueSnackbar("Error renaming saved filters:",{variant:"error"}))}},children:"Update Seleted filter"})}),
18
+ /* @__PURE__ */e.jsx(T.default,{className:"filter-footer",children:/* @__PURE__ */e.jsxs(I.default,{sx:{display:"flex",alignItems:"center",justifyContent:ie?"space-between":"flex-end",width:"100%"},children:[ie&&/* @__PURE__ */e.jsx(I.default,{children:/* @__PURE__ */e.jsx(f.default,{onClick:async()=>{if(ie){const e={"x-token":J,id:ie.id,data:ee};j.putV1FilterId(e).then(e=>{V&&V(),$(e=>({...e,filters:{...e.filters,rules:ee.rules,combinator:ee.combinator,name:ie.name}}))}).catch(e=>b.enqueueSnackbar("Error renaming saved filters:",{variant:"error"}))}},children:"Update Seleted filter"})}),
19
19
  /* @__PURE__ */e.jsxs(I.default,{sx:{display:"flex",gap:1},children:[
20
20
  /* @__PURE__ */e.jsx(f.default,{className:"cancel-filter-btn",onClick:R,children:"Cancel"}),
21
21
  /* @__PURE__ */e.jsx(f.default,{disabled:je,onClick:()=>me(),children:"Apply"})]})]})})]})})};
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../src/components/filter/filter.tsx"],"sourcesContent":["/* eslint-disable */\nimport { useCallback, useEffect, useMemo, useState } from \"react\";\nimport type { RuleGroupType } from \"react-querybuilder\";\nimport \"react-querybuilder/dist/query-builder.scss\";\nimport { QueryBuilder /* , formatQuery */ } from \"react-querybuilder\";\nimport { QueryBuilderMaterial } from \"@react-querybuilder/material\";\nimport {\n Box,\n IconButton,\n MenuItem,\n Dialog,\n DialogTitle,\n DialogContent,\n DialogActions,\n OutlinedInput,\n InputAdornment,\n Alert,\n} from \"@mui/material\";\nimport \"./filter.scss\";\nimport Select from \"../select/select\";\nimport Typography from \"../typography/typography\";\nimport { Close } from \"@mui/icons-material\";\nimport CombinatorSelect from \"./components/combinator-select\";\nimport RemoveAction from \"./components/remove-action\";\nimport FieldSelect from \"./components/field-select\";\nimport AddFilterButton from \"./components/add-filter\";\nimport AddGroupButton from \"./components/add-group\";\nimport ValueEditor from \"./components/value-editor\";\nimport OperatorSelect from \"./components/operator-select\";\nimport Button from \"../button/button\";\nimport RemoveGroupAction from \"./components/delete-group\";\nimport SearchBar from \"../search-bar/search-bar\";\nimport SaveFilterModal from \"../save-filter-modal/save-filter-modal\";\n\nimport {\n setBaseUrl,\n putV1FilterId,\n deleteV1FilterId,\n} from \"../../api-client/api.system-feature/api\";\nimport type * as Types from \"../../api-client/api.system-feature/api-types\";\nimport { auth } from \"../../constants/auth\";\nimport { generateFields, generateQueryString, getErrorMessage } from \"../../utils/common\";\nimport { usePages } from \"../../hooks/use-pages\";\nimport _ from \"lodash\";\nimport { Edit, Trash } from \"../icons\";\nimport { enqueueSnackbar } from \"notistack\";\nimport { IResources, routeToResourceMap } from \"../../constants/route-page-map\";\nimport { useLocation } from \"react-router-dom\";\nimport { useLanguage } from \"../../hooks/useLangauge\";\n\nsetBaseUrl(`${import.meta.env.VITE_BACKEND_BASE_URL}/system-feature`);\n\ninterface IFilter {\n open: boolean;\n onClose: () => void;\n activeView?: string;\n savedFilters?: SavedFilter[];\n fetchSavedFilters?: () => Promise<void>;\n setFilterBar?: any;\n onSaveFilter?: (query: RuleGroupType) => void;\n onSelectedFilter?: (filterName: string) => void;\n fields: any;\n applyFilter: any\n}\n\ninterface SavedFilter {\n id: string;\n name: string;\n query: RuleGroupType;\n}\n\nconst initialQuery: RuleGroupType = { combinator: \"and\", rules: [] };\n\nconst Filter = ({\n open,\n onClose,\n // activeView,\n savedFilters,\n fetchSavedFilters,\n onSaveFilter,\n onSelectedFilter,\n applyFilter,\n fields = []\n}: IFilter) => {\n const location = useLocation();\n\n const token = localStorage.getItem(auth.storageTokenKeyName);\n const { updatePageInfo, activePage, schemaFields,setActivePage } = usePages()\n\n fields = schemaFields.length ? generateFields(schemaFields) : fields\n const [query, setQuery] = useState<RuleGroupType>(initialQuery);\n const [filteredSavedFilters, setFilteredSavedFilters] = useState<\n SavedFilter[]\n >(savedFilters ?? []);\n const [selectedFilter, setSelectedFilter] = useState<any>(null);\n const [openRenameFilter, setIsOpenRenameFilter] = useState<any>(null);\n const [errorMessage, setErrorMessage] = useState<string | null>(null);\n const {isRtl}=useLanguage();\n const resources: IResources = useMemo(() => routeToResourceMap[location.pathname] || null, [location.pathname])\n\n useEffect(() => {\n savedFilters && setFilteredSavedFilters(savedFilters);\n }, [savedFilters]);\n\n\n const handleApplyFilter = useCallback((clear:boolean = false) => {\n let q = query\n const isInvalid = isDuplicatedFilters(q)\n if(isInvalid){\n setErrorMessage(\"Invalid filter\")\n return\n }\n if(clear) {\n q = initialQuery\n setQuery(q)\n } else {\n const generatedSQLQuery = q ? generateQueryString(q) : q;\n updatePageInfo({ filters: q, filterQueryString: generatedSQLQuery })\n // applyFilter(generatedSQLQuery);\n onClose();\n }\n }, [query, applyFilter, onClose]);\n\n const handleQueryChange = (q: RuleGroupType) => {\n const updatedRules = q.rules.map((rule, i) => ({\n ...rule,\n value: rule.field !== query.rules?.[i]?.field || ['null', 'notNull'].includes(rule.operator) ? \"\" : rule.value\n }));\n let isValid = true;\n let errorMessage = '';\n\n // // Helper function to check for invalid aggregate usage, considering parent combinators\n // const checkForInvalidAggregateUsage = (rules: any[], combinator: string, parentCombinator: string | null): boolean => {\n // let hasAggregateField = false;\n // let hasNonAggregateField = false;\n\n // rules.forEach(rule => {\n // // Check nested groups\n // if (rule.rules) {\n // // If the current group or any parent has an 'OR', pass it down\n // const currentCombinator = combinator === 'or' || parentCombinator === 'or' ? 'or' : combinator;\n // checkForInvalidAggregateUsage(rule.rules, rule.combinator, currentCombinator);\n // } else {\n // // Find the field in the fields array and check if it's an aggregate\n // const field = fields.find((f: any) => f.name === rule.field);\n\n // if (field?.is_aggregate) {\n // hasAggregateField = true;\n // } else {\n // hasNonAggregateField = true;\n // }\n // }\n // });\n\n // // If any parent or current rule uses 'OR' with a mix of aggregate and non-aggregate fields, it's invalid\n // if ((combinator === 'or' || parentCombinator === 'or') && hasAggregateField && hasNonAggregateField) {\n // isValid = false;\n // errorMessage = 'Mixing aggregate and non-aggregate fields in OR conditions may lead to unexpected results.';\n // }\n\n // return isValid;\n // };\n\n // Start checking from the root level (no parent combinator initially)\n \n\n // Always set the query, regardless of validity\n setQuery({...q, rules: updatedRules});\n\n // Set error message if invalid, otherwise clear it\n if (!isValid) {\n setErrorMessage(errorMessage);\n } else {\n setErrorMessage(null);\n }\n\n // Always call onSaveFilter, if it exists\n if (onSaveFilter) {\n onSaveFilter(q);\n }\n };\n\n const handleFilterSwitch = (sf?: any) => {\n if (sf) {\n setSelectedFilter(sf);\n setQuery(sf.query);\n if (onSelectedFilter) {\n onSelectedFilter(sf);\n }\n } else{\n setSelectedFilter(null);\n setQuery(initialQuery);\n if (onSelectedFilter) {\n onSelectedFilter(null);\n }\n }\n };\n\n const handleSearchEvent = (searchText: string) => {\n const filteredFilters = savedFilters?.filter((filter: any) =>\n filter.name.toLowerCase().includes(searchText.toLowerCase())\n );\n if (filteredFilters) {\n setFilteredSavedFilters(filteredFilters);\n }\n };\n\n const handleRenameFilter = async (filterId: string, newName: string) => {\n const putFilterRequest: Types.PutV1FilterIdRequest = {\n \"x-token\": token,\n id: filterId,\n name: newName,\n module: resources?.fieldResource || resources?.pageResource\n };\n\n try {\n await putV1FilterId(putFilterRequest)\n // setSelectedFilter(newName);\n if (fetchSavedFilters) {\n fetchSavedFilters();\n }\n enqueueSnackbar('Filters renamed successfully.')\n } catch (error) {\n let m: string = 'Something went wrong on saving filters'\n\t\t\tif(error instanceof Error) {\n m = getErrorMessage(error.message)\n\t\t\t}\n\t\t\tenqueueSnackbar(m, {variant: 'error'})\n\t\t\treturn false\n }\n return true\n };\n const handleUpdateSelectedFilterQuery = async () => {\n if(selectedFilter) {\n\n const putFilterRequest: Types.PutV1FilterIdRequest = {\n \"x-token\": token,\n id: selectedFilter.id,\n data: query,\n };\n \n putV1FilterId(putFilterRequest)\n .then((response: any) => {\n if (fetchSavedFilters) {\n fetchSavedFilters();\n }\n setActivePage((prev: any) => ({\n ...prev,\n filters:{\n ...prev.filters,\n rules: query.rules,\n combinator: query.combinator,\n name: selectedFilter.name\n \n }\n }));\n })\n .catch((err: any) => enqueueSnackbar(\"Error renaming saved filters:\", {variant:'error'}));\n }\n };\n\n const handleSubmitRename = (name: string) => {\n if (openRenameFilter) {\n return handleRenameFilter(openRenameFilter.id, name);\n }\n };\n\n const handleDeleteFilter = async (filterId: string) => {\n const deleteFilterRequest: Types.DeleteV1FilterIdRequest = {\n \"x-token\": token,\n id: filterId,\n };\n\n deleteV1FilterId(deleteFilterRequest)\n .then((response: any) => {\n setSelectedFilter(null);\n setQuery(initialQuery);\n if (fetchSavedFilters) {\n fetchSavedFilters();\n }\n \n })\n .catch((err: any) => console.log(\"Error deleting saved filters:\", err));\n };\n\n useEffect(() => {\n let q = initialQuery\n if(!_.isEmpty(activePage.filters)) {\n q = activePage.filters\n }\n setQuery(q)\n const selectedFilter = savedFilters?.find((f: any) => f.name === activePage?.filters?.name);\n setSelectedFilter(selectedFilter || null);\n }, [activePage?.filters, savedFilters]);\n\n const isDuplicatedFilters = (rule) => {\n let uniques:string[]=[]\n rule?.rules?.forEach((r: any) => {\n if(uniques.includes(r.field)&& rule.combinator=='and'){\n return true\n }\n uniques.push(r.field)\n })\n return uniques.length !== rule?.rules?.length\n }\n\n\n const isRuleInvalid = (rule: any): boolean => {\n // If it's a group (has nested rules), recurse\n if (Array.isArray(rule.rules)) {\n return rule.rules.length ? rule.rules.some(isRuleInvalid) : !rule.rules.length;\n }\n \n // Otherwise, validate individual rule\n return (\n !rule.field ||\n (_.isEmpty(rule.value) && !['null', 'notNull'].includes(rule.operator))\n );\n };\n \n const disabled = useMemo(() => isRuleInvalid(query) || errorMessage, [query, errorMessage])\n // const disabled = isRuleInvalid(query) || errorMessage;\n\n return (\n <div>\n <Dialog \n open={open} \n onClose={onClose} \n maxWidth='md' \n fullWidth={true} \n PaperProps={{\n sx:{ borderRadius: 2 }\n }}\n >\n <DialogTitle className=\"filter-header\">\n <Typography type=\"s3\" weight=\"medium\" color=\"theme.secondary.1000\">\n Filters\n </Typography>\n <Box gap={1} display={\"flex\"}>\n <Select\n fullWidth\n size=\"small\"\n className=\"filter-dropdown\"\n value={selectedFilter ? selectedFilter.name : \"Saved Filters\"}\n onChange={(event: any) =>{\n const sf = savedFilters?.find(f => f.name == event.target.value)\n handleFilterSwitch(sf)\n }}\n variant=\"outlined\"\n onClose={() => {\n setTimeout(() => {\n handleSearchEvent(\"\")\n }, 500);\n }}\n input={\n selectedFilter ? (\n <OutlinedInput\n label=''\n endAdornment={\n <InputAdornment position='end'>\n <IconButton\n aria-label='clear selection'\n onClick={() => {\n handleFilterSwitch()\n }}\n edge='end'\n sx={{ mr: 1.5 }}\n size='small'>\n <Close sx={{ fontSize: '1rem' }} />\n </IconButton>\n </InputAdornment>\n }\n />\n ) : undefined\n }\n >\n <div className=\"searchbar-box-list\">\n <SearchBar\n placeholder={\"Search Filters\"}\n handleSearch={(e) => handleSearchEvent(e)}\n />\n </div>\n {/* <Typography\n color=\"theme.secondary.1000\"\n type=\"s4\"\n className=\"filter-title\"\n >\n Saved Filters\n </Typography> */}\n {filteredSavedFilters?.map((savedFilter: SavedFilter) => (\n <MenuItem\n key={savedFilter.id}\n value={savedFilter?.name}\n className=\"menu-list\"\n selected={selectedFilter?.name == savedFilter?.name}\n >\n <Typography color=\"theme.secondary.1000\" type=\"s3\">\n {savedFilter?.name}\n </Typography>\n\n <div className=\"icon-list\">\n <IconButton size=\"small\" onClick={(e) => {\n e.preventDefault()\n e.stopPropagation()\n setIsOpenRenameFilter(savedFilter)\n }}>\n <Edit fontSize=\"small\" color={selectedFilter?.name == savedFilter?.name ? \"theme.primary.800\" : 'inherit'}/>\n </IconButton>\n <IconButton size=\"small\" onClick={(e) => {\n e.preventDefault()\n e.stopPropagation()\n handleDeleteFilter(savedFilter.id)\n }} color=\"error\">\n <Trash fontSize=\"small\" color=\"theme.error.600\"/>\n </IconButton>\n </div>\n </MenuItem>\n ))}\n </Select>\n <SaveFilterModal\n open={openRenameFilter !== null}\n onClose={() => setIsOpenRenameFilter(null)}\n handleSubmit={(name) => handleSubmitRename(name)}\n oldName={openRenameFilter?.name}\n />\n <Box>\n <IconButton size=\"small\" onClick={onClose}>\n <Close fontSize=\"small\" />\n </IconButton>\n </Box>\n </Box>\n </DialogTitle>\n <DialogContent className=\"content\">\n {/* Display error message */}\n {errorMessage && (\n <Alert severity=\"error\" sx={{ px:1, pt: 0.5, mb: 1 }}>\n <Typography\n color=\"error\"\n type=\"s4\"\n >\n {errorMessage}\n </Typography>\n </Alert>\n )}\n <QueryBuilderMaterial>\n <QueryBuilder\n fields={fields || []}\n query={query}\n onQueryChange={handleQueryChange}\n showCombinatorsBetweenRules={true}\n controlClassnames={{\n header: \"actions\",\n }}\n controlElements={{\n addRuleAction: AddFilterButton,\n addGroupAction: AddGroupButton,\n combinatorSelector: CombinatorSelect,\n fieldSelector: FieldSelect,\n operatorSelector: OperatorSelect,\n removeRuleAction: RemoveAction,\n valueEditor: ValueEditor,\n removeGroupAction: RemoveGroupAction,\n }}\n />\n <Button\n variant=\"text\"\n className={isRtl?'remove-filters_rtl':'remove-filters'}\n onClick={() => {\n handleApplyFilter(true)\n }}\n disabled={disabled}\n >\n Clear all filters\n </Button>\n </QueryBuilderMaterial>\n </DialogContent>\n <DialogActions className=\"filter-footer\">\n <Box sx={{ display: 'flex', alignItems: 'center', justifyContent:selectedFilter ? 'space-between' : 'flex-end', width:'100%' }}>\n {selectedFilter &&\n <Box>\n <Button onClick={handleUpdateSelectedFilterQuery}> \n Update Seleted filter\n </Button>\n </Box>\n }\n <Box sx={{display: 'flex', gap:1}}>\n <Button className=\"cancel-filter-btn\" onClick={onClose}>\n Cancel\n </Button>\n <Button\n disabled={disabled}\n onClick={() => handleApplyFilter()}\n >\n Apply\n </Button>\n </Box>\n </Box>\n </DialogActions>\n </Dialog>\n </div>\n );\n};\n\nexport default Filter;\n"],"names":["setBaseUrl","initialQuery","combinator","rules","open","onClose","savedFilters","fetchSavedFilters","onSaveFilter","onSelectedFilter","applyFilter","fields","location","useLocation","token","localStorage","getItem","auth","storageTokenKeyName","updatePageInfo","activePage","schemaFields","setActivePage","usePages","length","generateFields","query","setQuery","useState","filteredSavedFilters","setFilteredSavedFilters","selectedFilter","setSelectedFilter","openRenameFilter","setIsOpenRenameFilter","errorMessage","setErrorMessage","isRtl","useLanguage","resources","useMemo","routeToResourceMap","pathname","useEffect","handleApplyFilter","useCallback","clear","q","isDuplicatedFilters","generatedSQLQuery","generateQueryString","filters","filterQueryString","handleFilterSwitch","sf","handleSearchEvent","searchText","filteredFilters","filter","name","toLowerCase","includes","_","isEmpty","find","f","_a","rule","uniques","forEach","r","field","push","_b","isRuleInvalid","Array","isArray","some","value","operator","disabled","children","jsxs","Dialog","maxWidth","fullWidth","PaperProps","sx","borderRadius","DialogTitle","className","jsx","Typography","type","weight","color","Box","gap","display","Select","size","onChange","event","target","variant","setTimeout","input","OutlinedInput","label","endAdornment","InputAdornment","position","IconButton","onClick","edge","mr","Close","fontSize","SearchBar","placeholder","handleSearch","e","map","savedFilter","MenuItem","selected","preventDefault","stopPropagation","Edit","async","filterId","deleteFilterRequest","id","deleteV1FilterId","then","response","catch","err","handleDeleteFilter","Trash","SaveFilterModal","handleSubmit","newName","putFilterRequest","module","fieldResource","pageResource","putV1FilterId","enqueueSnackbar","error","m","Error","getErrorMessage","message","handleRenameFilter","handleSubmitRename","oldName","DialogContent","Alert","severity","px","pt","mb","QueryBuilderMaterial","QueryBuilder","onQueryChange","updatedRules","i","showCombinatorsBetweenRules","controlClassnames","header","controlElements","addRuleAction","AddFilterButton","addGroupAction","AddGroupButton","combinatorSelector","CombinatorSelect","fieldSelector","FieldSelect","operatorSelector","OperatorSelect","removeRuleAction","RemoveAction","valueEditor","ValueEditor","removeGroupAction","RemoveGroupAction","Button","DialogActions","alignItems","justifyContent","width","data","prev"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../../../src/components/filter/filter.tsx"],"sourcesContent":["/* eslint-disable */\nimport { useCallback, useEffect, useMemo, useState } from \"react\";\nimport type { RuleGroupType } from \"react-querybuilder\";\nimport \"react-querybuilder/dist/query-builder.scss\";\nimport { QueryBuilder /* , formatQuery */ } from \"react-querybuilder\";\nimport { QueryBuilderMaterial } from \"@react-querybuilder/material\";\nimport {\n Box,\n IconButton,\n MenuItem,\n Dialog,\n DialogTitle,\n DialogContent,\n DialogActions,\n OutlinedInput,\n InputAdornment,\n Alert,\n} from \"@mui/material\";\nimport \"./filter.scss\";\nimport Select from \"../select/select\";\nimport Typography from \"../typography/typography\";\nimport { Close } from \"@mui/icons-material\";\nimport CombinatorSelect from \"./components/combinator-select\";\nimport RemoveAction from \"./components/remove-action\";\nimport FieldSelect from \"./components/field-select\";\nimport AddFilterButton from \"./components/add-filter\";\nimport AddGroupButton from \"./components/add-group\";\nimport ValueEditor from \"./components/value-editor\";\nimport OperatorSelect from \"./components/operator-select\";\nimport Button from \"../button/button\";\nimport RemoveGroupAction from \"./components/delete-group\";\nimport SearchBar from \"../search-bar/search-bar\";\nimport SaveFilterModal from \"../save-filter-modal/save-filter-modal\";\n\nimport {\n setBaseUrl,\n putV1FilterId,\n deleteV1FilterId,\n} from \"../../api-client/api.system-feature/api\";\nimport type * as Types from \"../../api-client/api.system-feature/api-types\";\nimport { auth } from \"../../constants/auth\";\nimport { generateFields, generateQueryString, getErrorMessage } from \"../../utils/common\";\nimport { usePages } from \"../../hooks/use-pages\";\nimport _ from \"lodash\";\nimport { Edit, Trash } from \"../icons\";\nimport { enqueueSnackbar } from \"notistack\";\nimport { IResources, routeToResourceMap } from \"../../constants/route-page-map\";\nimport { useLocation } from \"react-router-dom\";\nimport { useLanguage } from \"../../hooks/useLangauge\";\n\nsetBaseUrl(`${import.meta.env.VITE_BACKEND_BASE_URL}/system-feature`);\n\ninterface IFilter {\n open: boolean;\n onClose: () => void;\n activeView?: string;\n savedFilters?: SavedFilter[];\n fetchSavedFilters?: () => Promise<void>;\n setFilterBar?: any;\n onSaveFilter?: (query: RuleGroupType) => void;\n onSelectedFilter?: (filterName: string) => void;\n fields: any;\n applyFilter: any\n}\n\ninterface SavedFilter {\n id: string;\n name: string;\n query: RuleGroupType;\n}\n\nconst initialQuery: RuleGroupType = { combinator: \"and\", rules: [] };\n\nconst Filter = ({\n open,\n onClose,\n // activeView,\n savedFilters,\n fetchSavedFilters,\n onSaveFilter,\n onSelectedFilter,\n applyFilter,\n fields = []\n}: IFilter) => {\n const location = useLocation();\n\n const token = localStorage.getItem(auth.storageTokenKeyName);\n const { updatePageInfo, activePage, schemaFields,setActivePage } = usePages()\n\n fields = schemaFields.length ? generateFields(schemaFields) : fields\n const [query, setQuery] = useState<RuleGroupType>(initialQuery);\n const [filteredSavedFilters, setFilteredSavedFilters] = useState<\n SavedFilter[]\n >(savedFilters ?? []);\n const [selectedFilter, setSelectedFilter] = useState<any>(null);\n const [openRenameFilter, setIsOpenRenameFilter] = useState<any>(null);\n const [errorMessage, setErrorMessage] = useState<string | null>(null);\n const {isRtl}=useLanguage();\n const resources: IResources = useMemo(() => routeToResourceMap[location.pathname] || null, [location.pathname])\n\n useEffect(() => {\n savedFilters && setFilteredSavedFilters(savedFilters);\n }, [savedFilters]);\n\n\n const handleApplyFilter = useCallback((clear:boolean = false) => {\n let q = query\n const isInvalid = isDuplicatedFilters(q)\n if(isInvalid){\n setErrorMessage(\"Invalid filter\")\n return\n }\n if(clear) {\n q = initialQuery\n setQuery(q)\n } else {\n const generatedSQLQuery = q ? generateQueryString(q) : q;\n updatePageInfo({ filters: q, filterQueryString: generatedSQLQuery })\n // applyFilter(generatedSQLQuery);\n onClose();\n }\n }, [query, applyFilter, onClose]);\n\n const handleQueryChange = (q: RuleGroupType) => {\n const updatedRules = q.rules.map((rule, i) => ({\n ...rule,\n value: rule.field !== query.rules?.[i]?.field || ['null', 'notNull'].includes(rule.operator) ? \"\" : rule.value\n }));\n let isValid = true;\n let errorMessage = '';\n\n // // Helper function to check for invalid aggregate usage, considering parent combinators\n // const checkForInvalidAggregateUsage = (rules: any[], combinator: string, parentCombinator: string | null): boolean => {\n // let hasAggregateField = false;\n // let hasNonAggregateField = false;\n\n // rules.forEach(rule => {\n // // Check nested groups\n // if (rule.rules) {\n // // If the current group or any parent has an 'OR', pass it down\n // const currentCombinator = combinator === 'or' || parentCombinator === 'or' ? 'or' : combinator;\n // checkForInvalidAggregateUsage(rule.rules, rule.combinator, currentCombinator);\n // } else {\n // // Find the field in the fields array and check if it's an aggregate\n // const field = fields.find((f: any) => f.name === rule.field);\n\n // if (field?.is_aggregate) {\n // hasAggregateField = true;\n // } else {\n // hasNonAggregateField = true;\n // }\n // }\n // });\n\n // // If any parent or current rule uses 'OR' with a mix of aggregate and non-aggregate fields, it's invalid\n // if ((combinator === 'or' || parentCombinator === 'or') && hasAggregateField && hasNonAggregateField) {\n // isValid = false;\n // errorMessage = 'Mixing aggregate and non-aggregate fields in OR conditions may lead to unexpected results.';\n // }\n\n // return isValid;\n // };\n\n // Start checking from the root level (no parent combinator initially)\n \n\n // Always set the query, regardless of validity\n setQuery({...q, rules: updatedRules});\n\n // Set error message if invalid, otherwise clear it\n if (!isValid) {\n setErrorMessage(errorMessage);\n } else {\n setErrorMessage(null);\n }\n\n // Always call onSaveFilter, if it exists\n if (onSaveFilter) {\n onSaveFilter(q);\n }\n };\n\n const handleFilterSwitch = (sf?: any) => {\n if (sf) {\n setSelectedFilter(sf);\n setQuery(sf.query);\n if (onSelectedFilter) {\n onSelectedFilter(sf);\n }\n } else{\n setSelectedFilter(null);\n setQuery(initialQuery);\n if (onSelectedFilter) {\n onSelectedFilter(null);\n }\n }\n };\n\n const handleSearchEvent = (searchText: string) => {\n const filteredFilters = savedFilters?.filter((filter: any) =>\n filter.name.toLowerCase().includes(searchText.toLowerCase())\n );\n if (filteredFilters) {\n setFilteredSavedFilters(filteredFilters);\n }\n };\n\n const handleRenameFilter = async (filterId: string, newName: string) => {\n const putFilterRequest: Types.PutV1FilterIdRequest = {\n \"x-token\": token,\n id: filterId,\n name: newName,\n module: resources?.fieldResource || resources?.pageResource\n };\n\n try {\n await putV1FilterId(putFilterRequest)\n // setSelectedFilter(newName);\n if (fetchSavedFilters) {\n fetchSavedFilters();\n }\n enqueueSnackbar('Filters renamed successfully.')\n } catch (error) {\n let m: string = 'Something went wrong on saving filters'\n\t\t\tif(error instanceof Error) {\n m = getErrorMessage(error.message)\n\t\t\t}\n\t\t\tenqueueSnackbar(m, {variant: 'error'})\n\t\t\treturn false\n }\n return true\n };\n const handleUpdateSelectedFilterQuery = async () => {\n if(selectedFilter) {\n\n const putFilterRequest: Types.PutV1FilterIdRequest = {\n \"x-token\": token,\n id: selectedFilter.id,\n data: query,\n };\n \n putV1FilterId(putFilterRequest)\n .then((response: any) => {\n if (fetchSavedFilters) {\n fetchSavedFilters();\n }\n setActivePage((prev: any) => ({\n ...prev,\n filters:{\n ...prev.filters,\n rules: query.rules,\n combinator: query.combinator,\n name: selectedFilter.name\n \n }\n }));\n })\n .catch((err: any) => enqueueSnackbar(\"Error renaming saved filters:\", {variant:'error'}));\n }\n };\n\n const handleSubmitRename = (name: string) => {\n if (openRenameFilter) {\n return handleRenameFilter(openRenameFilter.id, name);\n }\n };\n\n const handleDeleteFilter = async (filterId: string) => {\n const deleteFilterRequest: Types.DeleteV1FilterIdRequest = {\n \"x-token\": token,\n id: filterId,\n };\n\n deleteV1FilterId(deleteFilterRequest)\n .then((response: any) => {\n setSelectedFilter(null);\n setQuery(initialQuery);\n if (fetchSavedFilters) {\n fetchSavedFilters();\n }\n \n })\n .catch((err: any) => console.log(\"Error deleting saved filters:\", err));\n };\n\n useEffect(() => {\n let q = initialQuery\n if(!_.isEmpty(activePage.filters)) {\n q = activePage.filters\n }\n setQuery(q)\n const selectedFilter = savedFilters?.find((f: any) => f.name === activePage?.filters?.name);\n setSelectedFilter(selectedFilter || null);\n }, [activePage?.filters, savedFilters]);\n\n const isDuplicatedFilters = (rule) => {\n let uniques:string[]=[]\n rule?.rules?.forEach((r: any) => {\n if(uniques.includes(r.field)&& rule.combinator=='and'){\n return true\n }\n uniques.push(r.field)\n })\n return uniques.length !== rule?.rules?.length\n }\n\n\n const isRuleInvalid = (rule: any): boolean => {\n // If it's a group (has nested rules), recurse\n if (Array.isArray(rule.rules)) {\n return rule.rules.length ? rule.rules.some(isRuleInvalid) : !rule.rules.length;\n }\n \n // Otherwise, validate individual rule\n return (\n !rule.field ||\n (_.isEmpty(rule.value) && !['null', 'notNull'].includes(rule.operator))\n );\n };\n \n const disabled = useMemo(() => isRuleInvalid(query) || errorMessage, [query, errorMessage])\n // const disabled = isRuleInvalid(query) || errorMessage;\n\n return (\n <div>\n <Dialog \n open={open} \n onClose={onClose} \n maxWidth='md' \n fullWidth={true} \n PaperProps={{\n sx:{ borderRadius: 2 }\n }}\n >\n <DialogTitle className=\"filter-header\">\n <Typography type=\"s3\" weight=\"medium\" color=\"theme.secondary.1000\">\n Filters\n </Typography>\n <Box gap={1} display={\"flex\"}>\n <Select\n fullWidth\n size=\"small\"\n className=\"filter-dropdown\"\n value={selectedFilter ? selectedFilter.name : \"Saved Filters\"}\n onChange={(event: any) =>{\n const sf = savedFilters?.find(f => f.name == event.target.value)\n handleFilterSwitch(sf)\n }}\n variant=\"outlined\"\n onClose={() => {\n setTimeout(() => {\n handleSearchEvent(\"\")\n }, 500);\n }}\n input={\n selectedFilter ? (\n <OutlinedInput\n label=''\n endAdornment={\n <InputAdornment position='end'>\n <IconButton\n aria-label='clear selection'\n onClick={() => {\n handleFilterSwitch()\n }}\n edge='end'\n sx={{ mr: 1.5 }}\n size='small'>\n <Close sx={{ fontSize: '1rem' }} />\n </IconButton>\n </InputAdornment>\n }\n />\n ) : undefined\n }\n >\n <div className=\"searchbar-box-list\">\n <SearchBar\n placeholder={\"Search Filters\"}\n handleSearch={(e) => handleSearchEvent(e)}\n />\n </div>\n {/* <Typography\n color=\"theme.secondary.1000\"\n type=\"s4\"\n className=\"filter-title\"\n >\n Saved Filters\n </Typography> */}\n {filteredSavedFilters?.map((savedFilter: SavedFilter) => (\n <MenuItem\n key={savedFilter.id}\n value={savedFilter?.name}\n className=\"menu-list\"\n selected={selectedFilter?.name == savedFilter?.name}\n >\n <Typography color=\"theme.secondary.1000\" type=\"s3\">\n {savedFilter?.name}\n </Typography>\n\n <div className=\"icon-list\">\n <IconButton size=\"small\" onClick={(e) => {\n e.preventDefault()\n e.stopPropagation()\n setIsOpenRenameFilter(savedFilter)\n }}>\n <Edit fontSize=\"small\" color={selectedFilter?.name == savedFilter?.name ? \"theme.primary.800\" : 'inherit'}/>\n </IconButton>\n <IconButton size=\"small\" onClick={(e) => {\n e.preventDefault()\n e.stopPropagation()\n handleDeleteFilter(savedFilter.id)\n }} color=\"error\">\n <Trash fontSize=\"small\" color=\"theme.error.600\"/>\n </IconButton>\n </div>\n </MenuItem>\n ))}\n </Select>\n <SaveFilterModal\n open={openRenameFilter !== null}\n onClose={() => setIsOpenRenameFilter(null)}\n handleSubmit={(name) => handleSubmitRename(name)}\n oldName={openRenameFilter?.name}\n />\n <Box>\n <IconButton size=\"small\" onClick={onClose}>\n <Close fontSize=\"small\" />\n </IconButton>\n </Box>\n </Box>\n </DialogTitle>\n <DialogContent className=\"content\">\n {/* Display error message */}\n {errorMessage && (\n <Alert severity=\"error\" sx={{ px:1, pt: 0.5, mb: 1 }}>\n <Typography\n color=\"error\"\n type=\"s4\"\n >\n {errorMessage}\n </Typography>\n </Alert>\n )}\n <QueryBuilderMaterial>\n <QueryBuilder\n fields={fields || []}\n query={query}\n onQueryChange={handleQueryChange}\n showCombinatorsBetweenRules={true}\n controlClassnames={{\n header: \"actions\",\n }}\n controlElements={{\n addRuleAction: AddFilterButton,\n addGroupAction: AddGroupButton,\n combinatorSelector: CombinatorSelect,\n fieldSelector: FieldSelect,\n operatorSelector: OperatorSelect,\n removeRuleAction: RemoveAction,\n valueEditor: ValueEditor,\n removeGroupAction: RemoveGroupAction,\n }}\n />\n <Button\n variant=\"text\"\n className={isRtl?'remove-filters_rtl':'remove-filters'}\n onClick={() => {\n handleApplyFilter(true)\n }}\n disabled={disabled}\n >\n Clear all filters\n </Button>\n </QueryBuilderMaterial>\n </DialogContent>\n <DialogActions className=\"filter-footer\">\n <Box sx={{ display: 'flex', alignItems: 'center', justifyContent:selectedFilter ? 'space-between' : 'flex-end', width:'100%' }}>\n {selectedFilter &&\n <Box>\n <Button onClick={handleUpdateSelectedFilterQuery}> \n Update Seleted filter\n </Button>\n </Box>\n }\n <Box sx={{display: 'flex', gap:1}}>\n <Button className=\"cancel-filter-btn\" onClick={onClose}>\n Cancel\n </Button>\n <Button\n disabled={disabled}\n onClick={() => handleApplyFilter()}\n >\n Apply\n </Button>\n </Box>\n </Box>\n </DialogActions>\n </Dialog>\n </div>\n );\n};\n\nexport default Filter;\n"],"names":["setBaseUrl","initialQuery","combinator","rules","open","onClose","savedFilters","fetchSavedFilters","onSaveFilter","onSelectedFilter","applyFilter","fields","location","useLocation","token","localStorage","getItem","auth","storageTokenKeyName","updatePageInfo","activePage","schemaFields","setActivePage","usePages","length","generateFields","query","setQuery","useState","filteredSavedFilters","setFilteredSavedFilters","selectedFilter","setSelectedFilter","openRenameFilter","setIsOpenRenameFilter","errorMessage","setErrorMessage","isRtl","useLanguage","resources","useMemo","routeToResourceMap","pathname","useEffect","handleApplyFilter","useCallback","clear","q","isDuplicatedFilters","generatedSQLQuery","generateQueryString","filters","filterQueryString","handleFilterSwitch","sf","handleSearchEvent","searchText","filteredFilters","filter","name","toLowerCase","includes","_","isEmpty","find","f","_a","rule","uniques","forEach","r","field","push","_b","isRuleInvalid","Array","isArray","some","value","operator","disabled","children","jsxs","Dialog","maxWidth","fullWidth","PaperProps","sx","borderRadius","DialogTitle","className","jsx","Typography","type","weight","color","Box","gap","display","Select","size","onChange","event","target","variant","setTimeout","input","OutlinedInput","label","endAdornment","InputAdornment","position","IconButton","onClick","edge","mr","Close","fontSize","SearchBar","placeholder","handleSearch","e","map","savedFilter","MenuItem","selected","preventDefault","stopPropagation","Edit","async","filterId","deleteFilterRequest","id","deleteV1FilterId","then","response","catch","err","handleDeleteFilter","Trash","SaveFilterModal","handleSubmit","newName","putFilterRequest","module","fieldResource","pageResource","putV1FilterId","enqueueSnackbar","error","m","Error","getErrorMessage","message","handleRenameFilter","handleSubmitRename","oldName","DialogContent","Alert","severity","px","pt","mb","QueryBuilderMaterial","QueryBuilder","onQueryChange","updatedRules","i","showCombinatorsBetweenRules","controlClassnames","header","controlElements","addRuleAction","AddFilterButton","addGroupAction","AddGroupButton","combinatorSelector","CombinatorSelect","fieldSelector","FieldSelect","operatorSelector","OperatorSelect","removeRuleAction","RemoveAction","valueEditor","ValueEditor","removeGroupAction","RemoveGroupAction","Button","DialogActions","alignItems","justifyContent","width","data","prev"],"mappings":"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"}
@@ -17,5 +17,5 @@ interface IFooter {
17
17
  isPaginationDisplayed?: boolean;
18
18
  isPageSaving?: boolean;
19
19
  }
20
- declare const Footer: React.MemoExoticComponent<({ pages, setPages, currentPage, setCurrentPage, total, paginationModel, handlePaginationModel, sharedPages, resource, savePageConfiguration, handlePageDelete, enablePages, isPaginationDisplayed, isPageSaving }: IFooter) => import("react/jsx-runtime").JSX.Element>;
20
+ declare const Footer: React.NamedExoticComponent<IFooter>;
21
21
  export default Footer;
@@ -1,4 +1,4 @@
1
1
  import { default as React } from 'react';
2
2
 
3
- declare const DynamicMedia: React.MemoExoticComponent<(props: any) => import("react/jsx-runtime").JSX.Element>;
3
+ declare const DynamicMedia: React.NamedExoticComponent<any>;
4
4
  export default DynamicMedia;
@@ -1,3 +1,3 @@
1
1
 
2
- declare const DynamicPhone: import('react').MemoExoticComponent<(props: any) => import("react/jsx-runtime").JSX.Element>;
2
+ declare const DynamicPhone: import('react').NamedExoticComponent<any>;
3
3
  export default DynamicPhone;
@@ -1,4 +1,4 @@
1
1
  import { default as React } from 'react';
2
2
 
3
- declare const DynamicSelect: React.MemoExoticComponent<(props: any) => import("react/jsx-runtime").JSX.Element>;
3
+ declare const DynamicSelect: React.NamedExoticComponent<any>;
4
4
  export default DynamicSelect;
@@ -1,4 +1,4 @@
1
1
  import { default as React } from 'react';
2
2
 
3
- declare const DynamicInput: React.MemoExoticComponent<(props: any) => import("react/jsx-runtime").JSX.Element>;
3
+ declare const DynamicInput: React.NamedExoticComponent<any>;
4
4
  export default DynamicInput;
@@ -1,4 +1,4 @@
1
1
  import { default as React } from 'react';
2
2
 
3
- declare const DynamicTime: React.MemoExoticComponent<(props: any) => import("react/jsx-runtime").JSX.Element>;
3
+ declare const DynamicTime: React.NamedExoticComponent<any>;
4
4
  export default DynamicTime;
@@ -1,2 +1,2 @@
1
- declare const FormSwitcher: import('react').MemoExoticComponent<({ children, isFormSwitcher, control, fieldArrayName, formSwitcherName, label, resetForm, }: any) => import("react/jsx-runtime").JSX.Element>;
1
+ declare const FormSwitcher: import('react').NamedExoticComponent<any>;
2
2
  export default FormSwitcher;
@@ -287,7 +287,7 @@ function Header(props) {
287
287
  Avatar,
288
288
  {
289
289
  size: 32,
290
- src: (user == null ? void 0 : user.profile_image) ? `${"https://erpforce-dev.s3.eu-west-1.amazonaws.com/"}${user == null ? void 0 : user.profile_image}` : void 0,
290
+ src: (user == null ? void 0 : user.profile_image) ? `${void 0}${user == null ? void 0 : user.profile_image}` : void 0,
291
291
  alt: formatText(user == null ? void 0 : user.full_name),
292
292
  className: "avatar-class"
293
293
  }