pihr-ui-kit 0.0.1

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 (508) hide show
  1. package/README.md +138 -0
  2. package/dist/assets/icons/ApprovalPaperWithSeal.js +32 -0
  3. package/dist/assets/icons/ApprovalPaperWithSeal.js.map +1 -0
  4. package/dist/assets/icons/CheckIconCircleGreen.js +40 -0
  5. package/dist/assets/icons/CheckIconCircleGreen.js.map +1 -0
  6. package/dist/assets/icons/CrossIconCircleRed.js +40 -0
  7. package/dist/assets/icons/CrossIconCircleRed.js.map +1 -0
  8. package/dist/assets/icons/RejectionPaperWithSeal.js +39 -0
  9. package/dist/assets/icons/RejectionPaperWithSeal.js.map +1 -0
  10. package/dist/assets/icons/attachIcon.js +23 -0
  11. package/dist/assets/icons/attachIcon.js.map +1 -0
  12. package/dist/assets/icons/bookmarkIcon.js +26 -0
  13. package/dist/assets/icons/bookmarkIcon.js.map +1 -0
  14. package/dist/assets/icons/bulbIcon.js +28 -0
  15. package/dist/assets/icons/bulbIcon.js.map +1 -0
  16. package/dist/assets/icons/calendar.js +98 -0
  17. package/dist/assets/icons/calendar.js.map +1 -0
  18. package/dist/assets/icons/checkboxIcon.js +31 -0
  19. package/dist/assets/icons/checkboxIcon.js.map +1 -0
  20. package/dist/assets/icons/chevronDownIcon.js +29 -0
  21. package/dist/assets/icons/chevronDownIcon.js.map +1 -0
  22. package/dist/assets/icons/chevronRightIcon.js +27 -0
  23. package/dist/assets/icons/chevronRightIcon.js.map +1 -0
  24. package/dist/assets/icons/confirmIcon.js +41 -0
  25. package/dist/assets/icons/confirmIcon.js.map +1 -0
  26. package/dist/assets/icons/deleteIcon.js +26 -0
  27. package/dist/assets/icons/deleteIcon.js.map +1 -0
  28. package/dist/assets/icons/deleteIconV1.js +51 -0
  29. package/dist/assets/icons/deleteIconV1.js.map +1 -0
  30. package/dist/assets/icons/deleteIconV2.js +28 -0
  31. package/dist/assets/icons/deleteIconV2.js.map +1 -0
  32. package/dist/assets/icons/deleteModalIcon.js +51 -0
  33. package/dist/assets/icons/deleteModalIcon.js.map +1 -0
  34. package/dist/assets/icons/downloadIcon.js +54 -0
  35. package/dist/assets/icons/downloadIcon.js.map +1 -0
  36. package/dist/assets/icons/editIconLatest.js +45 -0
  37. package/dist/assets/icons/editIconLatest.js.map +1 -0
  38. package/dist/assets/icons/editIconv2.js +45 -0
  39. package/dist/assets/icons/editIconv2.js.map +1 -0
  40. package/dist/assets/icons/heartIcon.js +27 -0
  41. package/dist/assets/icons/heartIcon.js.map +1 -0
  42. package/dist/assets/icons/leftArrow.js +25 -0
  43. package/dist/assets/icons/leftArrow.js.map +1 -0
  44. package/dist/assets/icons/noDataAmount.js +465 -0
  45. package/dist/assets/icons/noDataAmount.js.map +1 -0
  46. package/dist/assets/icons/noDataAttendanceSummery.js +465 -0
  47. package/dist/assets/icons/noDataAttendanceSummery.js.map +1 -0
  48. package/dist/assets/icons/noDataFoundImg.js +999 -0
  49. package/dist/assets/icons/noDataFoundImg.js.map +1 -0
  50. package/dist/assets/icons/noDataLeaveCalendar.js +472 -0
  51. package/dist/assets/icons/noDataLeaveCalendar.js.map +1 -0
  52. package/dist/assets/icons/noDataMainDashboard.js +469 -0
  53. package/dist/assets/icons/noDataMainDashboard.js.map +1 -0
  54. package/dist/assets/icons/noDataNotice.js +1004 -0
  55. package/dist/assets/icons/noDataNotice.js.map +1 -0
  56. package/dist/assets/icons/noDataQuickView.js +529 -0
  57. package/dist/assets/icons/noDataQuickView.js.map +1 -0
  58. package/dist/assets/icons/plusIcon.js +38 -0
  59. package/dist/assets/icons/plusIcon.js.map +1 -0
  60. package/dist/assets/icons/rightArrowIcon.js +26 -0
  61. package/dist/assets/icons/rightArrowIcon.js.map +1 -0
  62. package/dist/assets/icons/searchIcon.js +26 -0
  63. package/dist/assets/icons/searchIcon.js.map +1 -0
  64. package/dist/assets/icons/tooltipInfoIcon.js +26 -0
  65. package/dist/assets/icons/tooltipInfoIcon.js.map +1 -0
  66. package/dist/assets/icons/warningIcon.js +23 -0
  67. package/dist/assets/icons/warningIcon.js.map +1 -0
  68. package/dist/assets/icons/widgetIcon.js +85 -0
  69. package/dist/assets/icons/widgetIcon.js.map +1 -0
  70. package/dist/assets/icons/xIcon.js +27 -0
  71. package/dist/assets/icons/xIcon.js.map +1 -0
  72. package/dist/components/auth/WithPermission.js +14 -0
  73. package/dist/components/auth/WithPermission.js.map +1 -0
  74. package/dist/components/common/NoDataFound/index.js +59 -0
  75. package/dist/components/common/NoDataFound/index.js.map +1 -0
  76. package/dist/components/common/banner/index.js +47 -0
  77. package/dist/components/common/banner/index.js.map +1 -0
  78. package/dist/components/common/button/CancelBtn.js +26 -0
  79. package/dist/components/common/button/CancelBtn.js.map +1 -0
  80. package/dist/components/common/button/PrimaryBtn.js +26 -0
  81. package/dist/components/common/button/PrimaryBtn.js.map +1 -0
  82. package/dist/components/common/button/SaveBtn.js +26 -0
  83. package/dist/components/common/button/SaveBtn.js.map +1 -0
  84. package/dist/components/common/button/actionEdit.js +23 -0
  85. package/dist/components/common/button/actionEdit.js.map +1 -0
  86. package/dist/components/common/button/addNew.js +32 -0
  87. package/dist/components/common/button/addNew.js.map +1 -0
  88. package/dist/components/common/button/blueCancel.js +26 -0
  89. package/dist/components/common/button/blueCancel.js.map +1 -0
  90. package/dist/components/common/button/blueSave.js +24 -0
  91. package/dist/components/common/button/blueSave.js.map +1 -0
  92. package/dist/components/common/button/iconButton.js +67 -0
  93. package/dist/components/common/button/iconButton.js.map +1 -0
  94. package/dist/components/common/button/index.js +47 -0
  95. package/dist/components/common/button/index.js.map +1 -0
  96. package/dist/components/common/button/lightButton.js +16 -0
  97. package/dist/components/common/button/lightButton.js.map +1 -0
  98. package/dist/components/common/button/secondaryOutlinedButton.js +25 -0
  99. package/dist/components/common/button/secondaryOutlinedButton.js.map +1 -0
  100. package/dist/components/common/buttons/CancelBtn.js +26 -0
  101. package/dist/components/common/buttons/CancelBtn.js.map +1 -0
  102. package/dist/components/common/cards/employeeCard.js +18 -0
  103. package/dist/components/common/cards/employeeCard.js.map +1 -0
  104. package/dist/components/common/confirmModal/deleteConfirmationModal.js +31 -0
  105. package/dist/components/common/confirmModal/deleteConfirmationModal.js.map +1 -0
  106. package/dist/components/common/confirmModal/index.js +53 -0
  107. package/dist/components/common/confirmModal/index.js.map +1 -0
  108. package/dist/components/common/delete/index.js +93 -0
  109. package/dist/components/common/delete/index.js.map +1 -0
  110. package/dist/components/common/dropDownIndicator/index.js +9 -0
  111. package/dist/components/common/dropDownIndicator/index.js.map +1 -0
  112. package/dist/components/common/input/contactInput.js +19 -0
  113. package/dist/components/common/input/contactInput.js.map +1 -0
  114. package/dist/components/common/input/customInput.js +101 -0
  115. package/dist/components/common/input/customInput.js.map +1 -0
  116. package/dist/components/common/input/indeterminateCheckBox.js +39 -0
  117. package/dist/components/common/input/indeterminateCheckBox.js.map +1 -0
  118. package/dist/components/common/input/numberInput.js +21 -0
  119. package/dist/components/common/input/numberInput.js.map +1 -0
  120. package/dist/components/common/input/radioButton.js +26 -0
  121. package/dist/components/common/input/radioButton.js.map +1 -0
  122. package/dist/components/common/input/searchbox.js +26 -0
  123. package/dist/components/common/input/searchbox.js.map +1 -0
  124. package/dist/components/common/label/truncateLabel.js +32 -0
  125. package/dist/components/common/label/truncateLabel.js.map +1 -0
  126. package/dist/components/common/modalWrapper/approve/index.js +88 -0
  127. package/dist/components/common/modalWrapper/approve/index.js.map +1 -0
  128. package/dist/components/common/modalWrapper/deleteModalWrapper.js +64 -0
  129. package/dist/components/common/modalWrapper/deleteModalWrapper.js.map +1 -0
  130. package/dist/components/common/modalWrapper/reject/index.js +88 -0
  131. package/dist/components/common/modalWrapper/reject/index.js.map +1 -0
  132. package/dist/components/common/pagination/index.js +65 -0
  133. package/dist/components/common/pagination/index.js.map +1 -0
  134. package/dist/components/common/pagination/pageLink.js +31 -0
  135. package/dist/components/common/pagination/pageLink.js.map +1 -0
  136. package/dist/components/common/tooltip/infoTooltip.js +21 -0
  137. package/dist/components/common/tooltip/infoTooltip.js.map +1 -0
  138. package/dist/components/common/userHelpTips/index.js +36 -0
  139. package/dist/components/common/userHelpTips/index.js.map +1 -0
  140. package/dist/components/dsl/DslTable/components/DeleteEntityModal.js +33 -0
  141. package/dist/components/dsl/DslTable/components/DeleteEntityModal.js.map +1 -0
  142. package/dist/components/dsl/DslTable/factories/ActionFactories.js +79 -0
  143. package/dist/components/dsl/DslTable/factories/ActionFactories.js.map +1 -0
  144. package/dist/components/errors/emptyLoadingFallback.js +7 -0
  145. package/dist/components/errors/emptyLoadingFallback.js.map +1 -0
  146. package/dist/components/errors/errorFallback.js +30 -0
  147. package/dist/components/errors/errorFallback.js.map +1 -0
  148. package/dist/components/formGenerator/components/modalWrapper.js +42 -0
  149. package/dist/components/formGenerator/components/modalWrapper.js.map +1 -0
  150. package/dist/components/formGenerator/constants.js +42 -0
  151. package/dist/components/formGenerator/constants.js.map +1 -0
  152. package/dist/components/formGenerator/helpers/index.js +267 -0
  153. package/dist/components/formGenerator/helpers/index.js.map +1 -0
  154. package/dist/components/formGenerator/hooks/useFormGenerator.js +30 -0
  155. package/dist/components/formGenerator/hooks/useFormGenerator.js.map +1 -0
  156. package/dist/components/formGenerator/index.js +148 -0
  157. package/dist/components/formGenerator/index.js.map +1 -0
  158. package/dist/components/formGenerator/layouts/footer.js +65 -0
  159. package/dist/components/formGenerator/layouts/footer.js.map +1 -0
  160. package/dist/components/formGenerator/layouts/formLayout.js +118 -0
  161. package/dist/components/formGenerator/layouts/formLayout.js.map +1 -0
  162. package/dist/components/formGenerator/renderer/FieldDispatcher.js +48 -0
  163. package/dist/components/formGenerator/renderer/FieldDispatcher.js.map +1 -0
  164. package/dist/components/formGenerator/renderer/fieldRenderer.js +15 -0
  165. package/dist/components/formGenerator/renderer/fieldRenderer.js.map +1 -0
  166. package/dist/components/formGenerator/renderer/fields/attachments/multiAttachment.js +165 -0
  167. package/dist/components/formGenerator/renderer/fields/attachments/multiAttachment.js.map +1 -0
  168. package/dist/components/formGenerator/renderer/fields/attachments/singleAttachment.js +125 -0
  169. package/dist/components/formGenerator/renderer/fields/attachments/singleAttachment.js.map +1 -0
  170. package/dist/components/formGenerator/renderer/fields/checkboxField.js +24 -0
  171. package/dist/components/formGenerator/renderer/fields/checkboxField.js.map +1 -0
  172. package/dist/components/formGenerator/renderer/fields/datePickerField.js +29 -0
  173. package/dist/components/formGenerator/renderer/fields/datePickerField.js.map +1 -0
  174. package/dist/components/formGenerator/renderer/fields/datePickerRangeField.js +30 -0
  175. package/dist/components/formGenerator/renderer/fields/datePickerRangeField.js.map +1 -0
  176. package/dist/components/formGenerator/renderer/fields/employeeSelect.js +153 -0
  177. package/dist/components/formGenerator/renderer/fields/employeeSelect.js.map +1 -0
  178. package/dist/components/formGenerator/renderer/fields/employeeSelectField.js +24 -0
  179. package/dist/components/formGenerator/renderer/fields/employeeSelectField.js.map +1 -0
  180. package/dist/components/formGenerator/renderer/fields/inputField.js +30 -0
  181. package/dist/components/formGenerator/renderer/fields/inputField.js.map +1 -0
  182. package/dist/components/formGenerator/renderer/fields/multiAttachmentField.js +28 -0
  183. package/dist/components/formGenerator/renderer/fields/multiAttachmentField.js.map +1 -0
  184. package/dist/components/formGenerator/renderer/fields/radioField.js +25 -0
  185. package/dist/components/formGenerator/renderer/fields/radioField.js.map +1 -0
  186. package/dist/components/formGenerator/renderer/fields/radioGroup.js +58 -0
  187. package/dist/components/formGenerator/renderer/fields/radioGroup.js.map +1 -0
  188. package/dist/components/formGenerator/renderer/fields/select/BaseSelect.js +73 -0
  189. package/dist/components/formGenerator/renderer/fields/select/BaseSelect.js.map +1 -0
  190. package/dist/components/formGenerator/renderer/fields/select/index.js +58 -0
  191. package/dist/components/formGenerator/renderer/fields/select/index.js.map +1 -0
  192. package/dist/components/formGenerator/renderer/fields/singleAttachmentField.js +23 -0
  193. package/dist/components/formGenerator/renderer/fields/singleAttachmentField.js.map +1 -0
  194. package/dist/components/formGenerator/renderer/fields/textareaField.js +24 -0
  195. package/dist/components/formGenerator/renderer/fields/textareaField.js.map +1 -0
  196. package/dist/components/formGenerator/renderer/fields/utils.js +11 -0
  197. package/dist/components/formGenerator/renderer/fields/utils.js.map +1 -0
  198. package/dist/components/hookform/hookFormItem.js +36 -0
  199. package/dist/components/hookform/hookFormItem.js.map +1 -0
  200. package/dist/components/ui/customDatePicker.js +109 -0
  201. package/dist/components/ui/customDatePicker.js.map +1 -0
  202. package/dist/components/ui/customRangeDatePicker.js +91 -0
  203. package/dist/components/ui/customRangeDatePicker.js.map +1 -0
  204. package/dist/components/ui/table.js +84 -0
  205. package/dist/components/ui/table.js.map +1 -0
  206. package/dist/components/ui/toggle.js +37 -0
  207. package/dist/components/ui/toggle.js.map +1 -0
  208. package/dist/i18n/index.js +19 -0
  209. package/dist/i18n/index.js.map +1 -0
  210. package/dist/images/no-profile-image.jpg +0 -0
  211. package/dist/images/pihr_logo.png +0 -0
  212. package/dist/index.css.js +5 -0
  213. package/dist/index.css.js.map +1 -0
  214. package/dist/index.js +122 -0
  215. package/dist/index.js.map +1 -0
  216. package/dist/libs/index.js +9 -0
  217. package/dist/libs/index.js.map +1 -0
  218. package/dist/noDataAmount-2e25098d.cjs +2 -0
  219. package/dist/noDataAmount-2e25098d.cjs.map +1 -0
  220. package/dist/noDataAttendanceSummery-2e25098d.cjs +2 -0
  221. package/dist/noDataAttendanceSummery-2e25098d.cjs.map +1 -0
  222. package/dist/noDataFoundImg-52407d7f.cjs +2 -0
  223. package/dist/noDataFoundImg-52407d7f.cjs.map +1 -0
  224. package/dist/noDataLeaveCalendar-caba7e5b.cjs +2 -0
  225. package/dist/noDataLeaveCalendar-caba7e5b.cjs.map +1 -0
  226. package/dist/noDataMainDashboard-15368fc3.cjs +2 -0
  227. package/dist/noDataMainDashboard-15368fc3.cjs.map +1 -0
  228. package/dist/noDataNotice-90d39b08.cjs +2 -0
  229. package/dist/noDataNotice-90d39b08.cjs.map +1 -0
  230. package/dist/noDataQuickView-4780683b.cjs +2 -0
  231. package/dist/noDataQuickView-4780683b.cjs.map +1 -0
  232. package/dist/not-found.svg +1 -0
  233. package/dist/pihr-ui-kit.cjs.js +4 -0
  234. package/dist/pihr-ui-kit.cjs.js.map +1 -0
  235. package/dist/services/employeeService.js +23 -0
  236. package/dist/services/employeeService.js.map +1 -0
  237. package/dist/services/httpService.js +15 -0
  238. package/dist/services/httpService.js.map +1 -0
  239. package/dist/stats.html +4949 -0
  240. package/dist/style.css +1 -0
  241. package/dist/types/App.d.ts +2 -0
  242. package/dist/types/assets/icons/ApprovalPaperWithSeal.d.ts +3 -0
  243. package/dist/types/assets/icons/CheckIconCircleGreen.d.ts +3 -0
  244. package/dist/types/assets/icons/CrossIconCircleRed.d.ts +3 -0
  245. package/dist/types/assets/icons/ExcelFileIcon.d.ts +2 -0
  246. package/dist/types/assets/icons/RejectionPaperWithSeal.d.ts +3 -0
  247. package/dist/types/assets/icons/addIcon.d.ts +3 -0
  248. package/dist/types/assets/icons/attachIcon.d.ts +4 -0
  249. package/dist/types/assets/icons/bookmarkIcon.d.ts +4 -0
  250. package/dist/types/assets/icons/bulbIcon.d.ts +3 -0
  251. package/dist/types/assets/icons/calendar.d.ts +3 -0
  252. package/dist/types/assets/icons/checkboxIcon.d.ts +1 -0
  253. package/dist/types/assets/icons/chevronDownIcon.d.ts +4 -0
  254. package/dist/types/assets/icons/chevronRightIcon.d.ts +4 -0
  255. package/dist/types/assets/icons/close.d.ts +2 -0
  256. package/dist/types/assets/icons/confirmIcon.d.ts +3 -0
  257. package/dist/types/assets/icons/cross.d.ts +3 -0
  258. package/dist/types/assets/icons/deleteIcon.d.ts +4 -0
  259. package/dist/types/assets/icons/deleteIconV1.d.ts +6 -0
  260. package/dist/types/assets/icons/deleteIconV2.d.ts +3 -0
  261. package/dist/types/assets/icons/deleteIconV4.d.ts +3 -0
  262. package/dist/types/assets/icons/deleteModalIcon.d.ts +6 -0
  263. package/dist/types/assets/icons/downloadIcon.d.ts +4 -0
  264. package/dist/types/assets/icons/downloadIconV2.d.ts +4 -0
  265. package/dist/types/assets/icons/editIconLatest.d.ts +3 -0
  266. package/dist/types/assets/icons/editIconv2.d.ts +3 -0
  267. package/dist/types/assets/icons/file-pdf.d.ts +2 -0
  268. package/dist/types/assets/icons/heartIcon.d.ts +4 -0
  269. package/dist/types/assets/icons/index.d.ts +11 -0
  270. package/dist/types/assets/icons/language.d.ts +2 -0
  271. package/dist/types/assets/icons/leftArrow.d.ts +2 -0
  272. package/dist/types/assets/icons/leftArrowIcon.d.ts +5 -0
  273. package/dist/types/assets/icons/noDataAmount.d.ts +2 -0
  274. package/dist/types/assets/icons/noDataAttendanceSummery.d.ts +2 -0
  275. package/dist/types/assets/icons/noDataFoundImg.d.ts +2 -0
  276. package/dist/types/assets/icons/noDataLeaveCalendar.d.ts +2 -0
  277. package/dist/types/assets/icons/noDataMainDashboard.d.ts +2 -0
  278. package/dist/types/assets/icons/noDataNotice.d.ts +2 -0
  279. package/dist/types/assets/icons/noDataQuickView.d.ts +2 -0
  280. package/dist/types/assets/icons/plusIcon.d.ts +3 -0
  281. package/dist/types/assets/icons/rightArrowIcon.d.ts +5 -0
  282. package/dist/types/assets/icons/rtl.d.ts +2 -0
  283. package/dist/types/assets/icons/searchIcon.d.ts +5 -0
  284. package/dist/types/assets/icons/tooltipInfoIcon.d.ts +3 -0
  285. package/dist/types/assets/icons/topSheet.d.ts +2 -0
  286. package/dist/types/assets/icons/verticalDots.d.ts +6 -0
  287. package/dist/types/assets/icons/warningIcon.d.ts +5 -0
  288. package/dist/types/assets/icons/widgetIcon.d.ts +2 -0
  289. package/dist/types/assets/icons/xIcon.d.ts +2 -0
  290. package/dist/types/components/auth/WithPermission.d.ts +7 -0
  291. package/dist/types/components/common/NoDataFound/index.d.ts +4 -0
  292. package/dist/types/components/common/appButton/index.d.ts +14 -0
  293. package/dist/types/components/common/banner/index.d.ts +11 -0
  294. package/dist/types/components/common/button/CancelBtn.d.ts +13 -0
  295. package/dist/types/components/common/button/PrimaryBtn.d.ts +13 -0
  296. package/dist/types/components/common/button/SaveBtn.d.ts +13 -0
  297. package/dist/types/components/common/button/actionEdit.d.ts +7 -0
  298. package/dist/types/components/common/button/addNew.d.ts +7 -0
  299. package/dist/types/components/common/button/blueCancel.d.ts +7 -0
  300. package/dist/types/components/common/button/blueSave.d.ts +7 -0
  301. package/dist/types/components/common/button/iconButton.d.ts +13 -0
  302. package/dist/types/components/common/button/index.d.ts +14 -0
  303. package/dist/types/components/common/button/lightButton.d.ts +8 -0
  304. package/dist/types/components/common/button/secondaryOutlinedButton.d.ts +9 -0
  305. package/dist/types/components/common/buttons/CancelBtn.d.ts +13 -0
  306. package/dist/types/components/common/buttons/blueSave.d.ts +7 -0
  307. package/dist/types/components/common/cards/employeeCard.d.ts +7 -0
  308. package/dist/types/components/common/checkbox.d.ts +10 -0
  309. package/dist/types/components/common/colorPicker/index.d.ts +4 -0
  310. package/dist/types/components/common/confirmModal/deleteConfirmationModal.d.ts +7 -0
  311. package/dist/types/components/common/confirmModal/deleteModalWrapper.d.ts +10 -0
  312. package/dist/types/components/common/confirmModal/index.d.ts +9 -0
  313. package/dist/types/components/common/delete/index.d.ts +15 -0
  314. package/dist/types/components/common/dropDownIndicator/index.d.ts +4 -0
  315. package/dist/types/components/common/dropdown/index.d.ts +24 -0
  316. package/dist/types/components/common/errorMessage/index.d.ts +9 -0
  317. package/dist/types/components/common/expandableText.d.ts +7 -0
  318. package/dist/types/components/common/input/contactInput.d.ts +14 -0
  319. package/dist/types/components/common/input/customInput.d.ts +29 -0
  320. package/dist/types/components/common/input/indeterminateCheckBox.d.ts +4 -0
  321. package/dist/types/components/common/input/numberInput.d.ts +6 -0
  322. package/dist/types/components/common/input/radioButton.d.ts +11 -0
  323. package/dist/types/components/common/input/searchbox.d.ts +10 -0
  324. package/dist/types/components/common/label/truncateLabel.d.ts +10 -0
  325. package/dist/types/components/common/modal/createUpdate/createUpdateModalFooter.d.ts +7 -0
  326. package/dist/types/components/common/modal/createUpdate/createUpdateModalWrapper.d.ts +9 -0
  327. package/dist/types/components/common/modal/modalHeader.d.ts +8 -0
  328. package/dist/types/components/common/modalWrapper/approve/index.d.ts +14 -0
  329. package/dist/types/components/common/modalWrapper/deleteModalWrapper.d.ts +10 -0
  330. package/dist/types/components/common/modalWrapper/reject/index.d.ts +14 -0
  331. package/dist/types/components/common/pagination/index.d.ts +8 -0
  332. package/dist/types/components/common/pagination/pageLink.d.ts +6 -0
  333. package/dist/types/components/common/reportComponent/filterItems/Checkbox.d.ts +14 -0
  334. package/dist/types/components/common/reportComponent/filterItems/CheckboxGroup.d.ts +16 -0
  335. package/dist/types/components/common/reportComponent/filterItems/Date.d.ts +17 -0
  336. package/dist/types/components/common/reportComponent/filterItems/DateRange.d.ts +22 -0
  337. package/dist/types/components/common/reportComponent/filterItems/Input.d.ts +17 -0
  338. package/dist/types/components/common/reportComponent/filterItems/InputRange.d.ts +16 -0
  339. package/dist/types/components/common/reportComponent/filterItems/ParentChildCheckboxGroup.d.ts +25 -0
  340. package/dist/types/components/common/reportComponent/filterItems/RadioButtons.d.ts +16 -0
  341. package/dist/types/components/common/reportComponent/filterItems/Select.d.ts +31 -0
  342. package/dist/types/components/common/reportComponent/filterItems/TimeRange.d.ts +15 -0
  343. package/dist/types/components/common/reportComponent/index.d.ts +27 -0
  344. package/dist/types/components/common/reportComponent/utils.d.ts +62 -0
  345. package/dist/types/components/common/singleAttachmentInput.d.ts +21 -0
  346. package/dist/types/components/common/switch/switch.d.ts +9 -0
  347. package/dist/types/components/common/table/asyncTable.d.ts +7 -0
  348. package/dist/types/components/common/table/cells/bodyCell.d.ts +7 -0
  349. package/dist/types/components/common/table/cells/headerCell.d.ts +7 -0
  350. package/dist/types/components/common/table/cells/tableColumnBody.d.ts +7 -0
  351. package/dist/types/components/common/table/cells/tableColumnHeader.d.ts +7 -0
  352. package/dist/types/components/common/table/simpleTable.d.ts +15 -0
  353. package/dist/types/components/common/table/vkTable.d.ts +24 -0
  354. package/dist/types/components/common/tooltip/infoTooltip.d.ts +6 -0
  355. package/dist/types/components/common/userHelpTips/index.d.ts +11 -0
  356. package/dist/types/components/common/wrapper/index.d.ts +3 -0
  357. package/dist/types/components/dsl/DslTable/DslTable.d.ts +4 -0
  358. package/dist/types/components/dsl/DslTable/DslTableLayout.d.ts +1 -0
  359. package/dist/types/components/dsl/DslTable/components/ActionRenderer.d.ts +10 -0
  360. package/dist/types/components/dsl/DslTable/components/DeleteEntityModal.d.ts +10 -0
  361. package/dist/types/components/dsl/DslTable/components/ModalManager.d.ts +1 -0
  362. package/dist/types/components/dsl/DslTable/core/context/DslTableContext.d.ts +64 -0
  363. package/dist/types/components/dsl/DslTable/core/context/DslTableProvider.d.ts +6 -0
  364. package/dist/types/components/dsl/DslTable/core/utils/configs.d.ts +11 -0
  365. package/dist/types/components/dsl/DslTable/core/utils/index.d.ts +3 -0
  366. package/dist/types/components/dsl/DslTable/factories/ActionFactories.d.ts +63 -0
  367. package/dist/types/components/dsl/DslTable/factories/index.d.ts +1 -0
  368. package/dist/types/components/dsl/DslTable/features/Table/TableRenderer.d.ts +1 -0
  369. package/dist/types/components/dsl/DslTable/features/Table/columns/components/ColumnRenderers.d.ts +30 -0
  370. package/dist/types/components/dsl/DslTable/features/Table/columns/components/RowActionsRenderer.d.ts +10 -0
  371. package/dist/types/components/dsl/DslTable/features/Table/columns/components/TableBodyWrapper.d.ts +6 -0
  372. package/dist/types/components/dsl/DslTable/features/Table/columns/index.d.ts +1 -0
  373. package/dist/types/components/dsl/DslTable/features/Table/columns/utils/columnUtils.d.ts +46 -0
  374. package/dist/types/components/dsl/DslTable/features/Topbar/TopbarRenderer.d.ts +1 -0
  375. package/dist/types/components/dsl/DslTable/features/Topbar/components/filters/FilterItems.d.ts +21 -0
  376. package/dist/types/components/dsl/DslTable/features/Topbar/components/filters/SelectFilterItem.d.ts +10 -0
  377. package/dist/types/components/dsl/DslTable/features/Topbar/components/renderers/ActionsRenderer.d.ts +7 -0
  378. package/dist/types/components/dsl/DslTable/features/Topbar/components/renderers/BulkActionsRenderer.d.ts +7 -0
  379. package/dist/types/components/dsl/DslTable/features/Topbar/components/renderers/FiltersRenderer.d.ts +7 -0
  380. package/dist/types/components/dsl/DslTable/features/Topbar/components/renderers/SearchRenderer.d.ts +16 -0
  381. package/dist/types/components/dsl/DslTable/features/Topbar/hooks/useTopbarLogic.d.ts +8 -0
  382. package/dist/types/components/dsl/DslTable/index.d.ts +3 -0
  383. package/dist/types/components/dsl/DslTable/types/actions.d.ts +103 -0
  384. package/dist/types/components/dsl/DslTable/types/base.d.ts +58 -0
  385. package/dist/types/components/dsl/DslTable/types/dsl.d.ts +71 -0
  386. package/dist/types/components/dsl/DslTable/types/index.d.ts +5 -0
  387. package/dist/types/components/dsl/DslTable/types/table.d.ts +167 -0
  388. package/dist/types/components/dsl/DslTable/types/topbar.d.ts +167 -0
  389. package/dist/types/components/dsl/DslTable/types/utils.d.ts +11 -0
  390. package/dist/types/components/errors/emptyLoadingFallback.d.ts +2 -0
  391. package/dist/types/components/errors/errorFallback.d.ts +6 -0
  392. package/dist/types/components/formGenerator/components/modalWrapper.d.ts +10 -0
  393. package/dist/types/components/formGenerator/constants.d.ts +53 -0
  394. package/dist/types/components/formGenerator/helpers/index.d.ts +34 -0
  395. package/dist/types/components/formGenerator/hooks/useFormGenerator.d.ts +18 -0
  396. package/dist/types/components/formGenerator/index.d.ts +3 -0
  397. package/dist/types/components/formGenerator/layouts/footer.d.ts +10 -0
  398. package/dist/types/components/formGenerator/layouts/formLayout.d.ts +11 -0
  399. package/dist/types/components/formGenerator/renderer/FieldDispatcher.d.ts +4 -0
  400. package/dist/types/components/formGenerator/renderer/fieldRenderer.d.ts +4 -0
  401. package/dist/types/components/formGenerator/renderer/fields/attachments/multiAttachment.d.ts +23 -0
  402. package/dist/types/components/formGenerator/renderer/fields/attachments/singleAttachment.d.ts +26 -0
  403. package/dist/types/components/formGenerator/renderer/fields/checkboxField.d.ts +2 -0
  404. package/dist/types/components/formGenerator/renderer/fields/datePickerField.d.ts +2 -0
  405. package/dist/types/components/formGenerator/renderer/fields/datePickerRangeField.d.ts +2 -0
  406. package/dist/types/components/formGenerator/renderer/fields/employeeSelect.d.ts +18 -0
  407. package/dist/types/components/formGenerator/renderer/fields/employeeSelectField.d.ts +2 -0
  408. package/dist/types/components/formGenerator/renderer/fields/inputField.d.ts +2 -0
  409. package/dist/types/components/formGenerator/renderer/fields/multiAttachmentField.d.ts +2 -0
  410. package/dist/types/components/formGenerator/renderer/fields/radioField.d.ts +2 -0
  411. package/dist/types/components/formGenerator/renderer/fields/radioGroup.d.ts +18 -0
  412. package/dist/types/components/formGenerator/renderer/fields/select/BaseSelect.d.ts +22 -0
  413. package/dist/types/components/formGenerator/renderer/fields/select/index.d.ts +9 -0
  414. package/dist/types/components/formGenerator/renderer/fields/singleAttachmentField.d.ts +2 -0
  415. package/dist/types/components/formGenerator/renderer/fields/textareaField.d.ts +2 -0
  416. package/dist/types/components/formGenerator/renderer/fields/utils.d.ts +3 -0
  417. package/dist/types/components/formGenerator/renderer/types.d.ts +1 -0
  418. package/dist/types/components/formGenerator/types/common.d.ts +105 -0
  419. package/dist/types/components/formGenerator/types/fields.d.ts +238 -0
  420. package/dist/types/components/formGenerator/types/index.d.ts +95 -0
  421. package/dist/types/components/formGenerator/types/layout.d.ts +73 -0
  422. package/dist/types/components/hookform/hookFormItem.d.ts +9 -0
  423. package/dist/types/components/layout/status/paymentDue.d.ts +6 -0
  424. package/dist/types/components/routes/protectedRoute.d.ts +6 -0
  425. package/dist/types/components/table/dataTable/components/overlays/loadingOverlay.d.ts +7 -0
  426. package/dist/types/components/table/dataTable/components/overlays/notFoundOverlay.d.ts +7 -0
  427. package/dist/types/components/table/dataTable/components/pagination/index.d.ts +15 -0
  428. package/dist/types/components/table/dataTable/components/pagination/paginationButton.d.ts +6 -0
  429. package/dist/types/components/table/dataTable/components/pagination/usePagination.d.ts +12 -0
  430. package/dist/types/components/table/dataTable/components/tableViews/standardTable.d.ts +6 -0
  431. package/dist/types/components/table/dataTable/components/tableViews/virtualTable.d.ts +6 -0
  432. package/dist/types/components/table/dataTable/index.d.ts +32 -0
  433. package/dist/types/components/table/dataTable/types.d.ts +19 -0
  434. package/dist/types/components/ui/customDatePicker.d.ts +28 -0
  435. package/dist/types/components/ui/customRangeDatePicker.d.ts +32 -0
  436. package/dist/types/components/ui/loading/emptyLoadingFallback.d.ts +2 -0
  437. package/dist/types/components/ui/loading/loadingFallback.d.ts +2 -0
  438. package/dist/types/components/ui/status.d.ts +9 -0
  439. package/dist/types/components/ui/table.d.ts +28 -0
  440. package/dist/types/components/ui/toggle.d.ts +9 -0
  441. package/dist/types/hooks/useCurrentPage.d.ts +2 -0
  442. package/dist/types/hooks/useDebounce.d.ts +2 -0
  443. package/dist/types/hooks/useOnClickOutside.d.ts +2 -0
  444. package/dist/types/hooks/useOnClickOutsideRef.d.ts +2 -0
  445. package/dist/types/hooks/usePagination.d.ts +2 -0
  446. package/dist/types/hooks/useWhyDidYouUpdate.d.ts +2 -0
  447. package/dist/types/i18n/index.d.ts +2 -0
  448. package/dist/types/index.d.ts +50 -0
  449. package/dist/types/libs/index.d.ts +2 -0
  450. package/dist/types/main.d.ts +2 -0
  451. package/dist/types/services/employeeService.d.ts +11 -0
  452. package/dist/types/services/httpService.d.ts +11 -0
  453. package/dist/types/services/reportService.d.ts +4 -0
  454. package/dist/types/types/common.d.ts +11 -0
  455. package/dist/types/types/menu.d.ts +26 -0
  456. package/dist/types/utils/asyncTableStyles.d.ts +19 -0
  457. package/dist/types/utils/auth-helpers.d.ts +9 -0
  458. package/dist/types/utils/cn/index.d.ts +2 -0
  459. package/dist/types/utils/compareObjects.d.ts +1 -0
  460. package/dist/types/utils/constants.d.ts +17 -0
  461. package/dist/types/utils/cookie.d.ts +1 -0
  462. package/dist/types/utils/data.d.ts +6 -0
  463. package/dist/types/utils/dataStructures/trie.d.ts +6 -0
  464. package/dist/types/utils/date.d.ts +16 -0
  465. package/dist/types/utils/debounce.d.ts +1 -0
  466. package/dist/types/utils/helpers.d.ts +5 -0
  467. package/dist/types/utils/index.d.ts +3 -0
  468. package/dist/types/utils/local-storage.d.ts +4 -0
  469. package/dist/types/utils/pagination-helper.d.ts +1 -0
  470. package/dist/types/utils/report-endpoint.d.ts +86 -0
  471. package/dist/types/utils/screenInfo.d.ts +1 -0
  472. package/dist/types/utils/selectStyles.d.ts +6 -0
  473. package/dist/types/utils/toast-helpers.d.ts +3 -0
  474. package/dist/types/utils/translation-helpers.d.ts +4 -0
  475. package/dist/utils/asyncTableStyles.js +35 -0
  476. package/dist/utils/asyncTableStyles.js.map +1 -0
  477. package/dist/utils/auth-helpers.js +107 -0
  478. package/dist/utils/auth-helpers.js.map +1 -0
  479. package/dist/utils/constants.js +5 -0
  480. package/dist/utils/constants.js.map +1 -0
  481. package/dist/utils/dataStructures/trie.js +38 -0
  482. package/dist/utils/dataStructures/trie.js.map +1 -0
  483. package/dist/utils/date.js +42 -0
  484. package/dist/utils/date.js.map +1 -0
  485. package/dist/utils/debounce.js +14 -0
  486. package/dist/utils/debounce.js.map +1 -0
  487. package/dist/utils/helpers.js +9 -0
  488. package/dist/utils/helpers.js.map +1 -0
  489. package/dist/utils/index.js +17 -0
  490. package/dist/utils/index.js.map +1 -0
  491. package/dist/utils/local-storage.js +20 -0
  492. package/dist/utils/local-storage.js.map +1 -0
  493. package/dist/utils/pagination-helper.js +43 -0
  494. package/dist/utils/pagination-helper.js.map +1 -0
  495. package/dist/utils/report-endpoint.js +90 -0
  496. package/dist/utils/report-endpoint.js.map +1 -0
  497. package/dist/utils/screenInfo.js +25 -0
  498. package/dist/utils/screenInfo.js.map +1 -0
  499. package/dist/utils/selectStyles.js +10 -0
  500. package/dist/utils/selectStyles.js.map +1 -0
  501. package/dist/utils/toast-helpers.js +9 -0
  502. package/dist/utils/toast-helpers.js.map +1 -0
  503. package/dist/utils/translation-helpers.js +9 -0
  504. package/dist/utils/translation-helpers.js.map +1 -0
  505. package/dist/vite.svg +1 -0
  506. package/dist/widgetIcon-f87570b7.cjs +2 -0
  507. package/dist/widgetIcon-f87570b7.cjs.map +1 -0
  508. package/package.json +132 -0
@@ -0,0 +1,42 @@
1
+ const E = {
2
+ CREATE: "create",
3
+ UPDATE: "update"
4
+ }, e = {
5
+ ON_MODAL: "onModal",
6
+ ON_PAGE: "onPage"
7
+ }, t = {
8
+ TEXT: "text",
9
+ NUMBER: "number",
10
+ PASSWORD: "password",
11
+ EMAIL: "email",
12
+ TEXTAREA: "textarea",
13
+ SELECT: "select",
14
+ MULTISELECT: "multiselect",
15
+ EMPLOYEE_SELECT: "employeeSelect",
16
+ EMPLOYEE_MULTI_SELECT: "employeeMultiSelect",
17
+ DATE: "date",
18
+ DATE_RANGE: "dateRange",
19
+ CHECKBOX: "checkbox",
20
+ RADIO: "radio",
21
+ SINGLE_ATTACHMENT: "singleAttachment",
22
+ MULTI_ATTACHMENT: "multiAttachment",
23
+ CUSTOM: "custom"
24
+ }, T = {
25
+ JSON: "json",
26
+ FORM_DATA: "formData"
27
+ }, A = {
28
+ ID: "id",
29
+ LABEL: "label",
30
+ VALUE: "value",
31
+ TEXT: "text",
32
+ ATTACHMENT_DETAIL: "attachment_detail",
33
+ DELETED_FILES: "deleted_files"
34
+ };
35
+ export {
36
+ A as DEFAULT_FIELD_KEYS,
37
+ t as FORM_FIELD_TYPES,
38
+ E as FORM_MODES,
39
+ T as FORM_PAYLOAD_TYPES,
40
+ e as FORM_PLACEMENTS
41
+ };
42
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sources":["../../../src/components/formGenerator/constants.ts"],"sourcesContent":["/**\n * Form modes supported by FormGenerator.\n */\nexport const FORM_MODES = {\n CREATE: \"create\",\n UPDATE: \"update\",\n} as const;\n\n/**\n * Form placement options.\n */\nexport const FORM_PLACEMENTS = {\n ON_MODAL: \"onModal\",\n ON_PAGE: \"onPage\",\n} as const;\n\n/**\n * Form field types supported by FormGenerator.\n */\nexport const FORM_FIELD_TYPES = {\n TEXT: \"text\",\n NUMBER: \"number\",\n PASSWORD: \"password\",\n EMAIL: \"email\",\n TEXTAREA: \"textarea\",\n SELECT: \"select\",\n MULTISELECT: \"multiselect\",\n EMPLOYEE_SELECT: \"employeeSelect\",\n EMPLOYEE_MULTI_SELECT: \"employeeMultiSelect\",\n DATE: \"date\",\n DATE_RANGE: \"dateRange\",\n CHECKBOX: \"checkbox\",\n RADIO: \"radio\",\n SINGLE_ATTACHMENT: \"singleAttachment\",\n MULTI_ATTACHMENT: \"multiAttachment\",\n CUSTOM: \"custom\",\n} as const;\n\n/**\n * Payload formats for form submission.\n */\nexport const FORM_PAYLOAD_TYPES = {\n JSON: \"json\",\n FORM_DATA: \"formData\",\n} as const;\n\n/**\n * Default field keys and values used across FormGenerator.\n */\nexport const DEFAULT_FIELD_KEYS = {\n ID: \"id\",\n LABEL: \"label\",\n VALUE: \"value\",\n TEXT: \"text\",\n ATTACHMENT_DETAIL: \"attachment_detail\",\n DELETED_FILES: \"deleted_files\",\n} as const;\n"],"names":["FORM_MODES","FORM_PLACEMENTS","FORM_FIELD_TYPES","FORM_PAYLOAD_TYPES","DEFAULT_FIELD_KEYS"],"mappings":"AAGO,MAAMA,IAAa;AAAA,EACxB,QAAQ;AAAA,EACR,QAAQ;AACV,GAKaC,IAAkB;AAAA,EAC7B,UAAU;AAAA,EACV,SAAS;AACX,GAKaC,IAAmB;AAAA,EAC9B,MAAM;AAAA,EACN,QAAQ;AAAA,EACR,UAAU;AAAA,EACV,OAAO;AAAA,EACP,UAAU;AAAA,EACV,QAAQ;AAAA,EACR,aAAa;AAAA,EACb,iBAAiB;AAAA,EACjB,uBAAuB;AAAA,EACvB,MAAM;AAAA,EACN,YAAY;AAAA,EACZ,UAAU;AAAA,EACV,OAAO;AAAA,EACP,mBAAmB;AAAA,EACnB,kBAAkB;AAAA,EAClB,QAAQ;AACV,GAKaC,IAAqB;AAAA,EAChC,MAAM;AAAA,EACN,WAAW;AACb,GAKaC,IAAqB;AAAA,EAChC,IAAI;AAAA,EACJ,OAAO;AAAA,EACP,OAAO;AAAA,EACP,MAAM;AAAA,EACN,mBAAmB;AAAA,EACnB,eAAe;AACjB;"}
@@ -0,0 +1,267 @@
1
+ import { parseDate as f, stringifyDate as M } from "../../../utils/date.js";
2
+ import { FORM_FIELD_TYPES as o, FORM_PAYLOAD_TYPES as E, DEFAULT_FIELD_KEYS as d } from "../constants.js";
3
+ import { getCookie as u } from "typescript-cookie";
4
+ function P(l) {
5
+ const s = {};
6
+ return l.forEach((c) => {
7
+ switch (c.type) {
8
+ case o.TEXT:
9
+ case o.TEXTAREA:
10
+ case o.PASSWORD:
11
+ case o.EMAIL:
12
+ s[c.name] = "";
13
+ break;
14
+ case o.NUMBER:
15
+ s[c.name] = void 0;
16
+ break;
17
+ case o.DATE:
18
+ case o.DATE_RANGE:
19
+ s[c.name] = null;
20
+ break;
21
+ case o.SELECT:
22
+ case o.MULTISELECT:
23
+ case o.EMPLOYEE_SELECT:
24
+ case o.EMPLOYEE_MULTI_SELECT:
25
+ s[c.name] = null;
26
+ break;
27
+ case o.CHECKBOX:
28
+ s[c.name] = !1;
29
+ break;
30
+ default:
31
+ s[c.name] = void 0;
32
+ }
33
+ }), s;
34
+ }
35
+ const R = (l, s) => {
36
+ if (l == null) {
37
+ if (s === o.CHECKBOX)
38
+ return !1;
39
+ if (s === o.NUMBER)
40
+ return;
41
+ if (s === o.DATE || s === o.SELECT || s === o.MULTISELECT || s === o.EMPLOYEE_SELECT || s === o.EMPLOYEE_MULTI_SELECT)
42
+ return null;
43
+ if (s === o.TEXT || s === o.TEXTAREA || s === o.PASSWORD || s === o.EMAIL)
44
+ return "";
45
+ if (s === o.DATE_RANGE)
46
+ return null;
47
+ if (s === o.MULTI_ATTACHMENT)
48
+ return [];
49
+ if (s === o.SINGLE_ATTACHMENT)
50
+ return null;
51
+ if (s === o.CUSTOM)
52
+ return;
53
+ }
54
+ switch (s) {
55
+ case o.DATE:
56
+ return typeof l == "string" && l ? f(l, u("langfmt")) : l || void 0;
57
+ case o.CHECKBOX:
58
+ return !!l;
59
+ case o.NUMBER:
60
+ return l == null ? void 0 : l.toString();
61
+ default:
62
+ return l;
63
+ }
64
+ }, C = (l, s) => {
65
+ var c, i;
66
+ if (l == null)
67
+ return l;
68
+ switch (s) {
69
+ case o.DATE:
70
+ return M(l, u("langfmt"));
71
+ case o.SELECT:
72
+ case o.EMPLOYEE_SELECT:
73
+ return (l == null ? void 0 : l.value) ?? l;
74
+ case o.MULTISELECT:
75
+ return ((c = l == null ? void 0 : l.map((r) => r == null ? void 0 : r.value)) == null ? void 0 : c.join(",")) ?? l;
76
+ case o.EMPLOYEE_MULTI_SELECT:
77
+ return ((i = l == null ? void 0 : l.map((r) => r == null ? void 0 : r.value)) == null ? void 0 : i.join(",")) ?? l;
78
+ case o.CHECKBOX:
79
+ return !!l;
80
+ case o.NUMBER:
81
+ return Number(l);
82
+ default:
83
+ return l;
84
+ }
85
+ }, A = (l, s) => l.transformToApi ? l.transformToApi(s) : C(s, l.type), D = (l, s, c, i, r) => {
86
+ const p = c.filter((t) => t instanceof File);
87
+ console.log("files", p);
88
+ const g = c.filter((t) => !(t instanceof File));
89
+ console.log("non file attachments", g), p.forEach((t) => {
90
+ l.append(s, t);
91
+ });
92
+ const n = r == null ? void 0 : r.syncConfig, a = i == null ? void 0 : i[(n == null ? void 0 : n.attachmentsFieldName) ?? d.ATTACHMENT_DETAIL];
93
+ if (Array.isArray(a)) {
94
+ const t = (n == null ? void 0 : n.attachmentIdFieldName) ?? d.ID, T = (n == null ? void 0 : n.payloadFieldNameForDeleted) ?? d.DELETED_FILES;
95
+ a.forEach((m) => {
96
+ !g.some(
97
+ (L) => m[t] === L.id
98
+ ) && l.append(T, m[t]);
99
+ });
100
+ }
101
+ }, _ = ({
102
+ data: l,
103
+ fields: s,
104
+ excludeFromPayload: c = [],
105
+ record: i,
106
+ globalTransform: r,
107
+ recordId: p,
108
+ recordIdField: g
109
+ }) => {
110
+ const n = new FormData();
111
+ return s.forEach((a) => {
112
+ if (c.includes(a.name))
113
+ return;
114
+ const t = A(a, l[a.name]);
115
+ t != null && (a.type === o.MULTI_ATTACHMENT && Array.isArray(t) ? D(
116
+ n,
117
+ a.name,
118
+ t,
119
+ i,
120
+ a
121
+ ) : n.append(a.name, t));
122
+ }), p && n.append(g, p), r ? r(l, n) : n;
123
+ }, S = ({
124
+ data: l,
125
+ fields: s,
126
+ excludeFromPayload: c = [],
127
+ globalTransform: i,
128
+ recordId: r,
129
+ recordIdField: p
130
+ }) => {
131
+ const g = {};
132
+ return s.forEach((n) => {
133
+ if (c.includes(n.name))
134
+ return;
135
+ const a = A(n, l[n.name]);
136
+ a !== void 0 && (g[n.name] = a);
137
+ }), r && (g[p] = r), i ? i(l, g) : g;
138
+ }, h = ({
139
+ data: l,
140
+ fields: s,
141
+ excludeFromPayload: c = [],
142
+ payloadType: i = E.JSON,
143
+ globalTransform: r,
144
+ record: p,
145
+ recordId: g,
146
+ recordIdField: n = d.ID
147
+ }) => {
148
+ const a = {
149
+ data: l,
150
+ fields: s,
151
+ excludeFromPayload: c,
152
+ globalTransform: r,
153
+ record: p,
154
+ recordId: g,
155
+ recordIdField: n
156
+ };
157
+ return i === E.FORM_DATA ? _(a) : S(a);
158
+ }, e = {
159
+ "grid-cols-1": "grid-cols-1",
160
+ "grid-cols-2": "grid-cols-2",
161
+ "grid-cols-3": "grid-cols-3",
162
+ "grid-cols-4": "grid-cols-4",
163
+ "grid-cols-5": "grid-cols-5",
164
+ "grid-cols-6": "grid-cols-6",
165
+ "grid-cols-12": "grid-cols-12",
166
+ "sm:grid-cols-1": "sm:grid-cols-1",
167
+ "sm:grid-cols-2": "sm:grid-cols-2",
168
+ "sm:grid-cols-3": "sm:grid-cols-3",
169
+ "sm:grid-cols-4": "sm:grid-cols-4",
170
+ "sm:grid-cols-5": "sm:grid-cols-5",
171
+ "sm:grid-cols-6": "sm:grid-cols-6",
172
+ "sm:grid-cols-12": "sm:grid-cols-12",
173
+ "md:grid-cols-1": "md:grid-cols-1",
174
+ "md:grid-cols-2": "md:grid-cols-2",
175
+ "md:grid-cols-3": "md:grid-cols-3",
176
+ "md:grid-cols-4": "md:grid-cols-4",
177
+ "md:grid-cols-5": "md:grid-cols-5",
178
+ "md:grid-cols-6": "md:grid-cols-6",
179
+ "md:grid-cols-12": "md:grid-cols-12",
180
+ "lg:grid-cols-1": "lg:grid-cols-1",
181
+ "lg:grid-cols-2": "lg:grid-cols-2",
182
+ "lg:grid-cols-3": "lg:grid-cols-3",
183
+ "lg:grid-cols-4": "lg:grid-cols-4",
184
+ "lg:grid-cols-5": "lg:grid-cols-5",
185
+ "lg:grid-cols-6": "lg:grid-cols-6",
186
+ "lg:grid-cols-12": "lg:grid-cols-12",
187
+ "xl:grid-cols-1": "xl:grid-cols-1",
188
+ "xl:grid-cols-2": "xl:grid-cols-2",
189
+ "xl:grid-cols-3": "xl:grid-cols-3",
190
+ "xl:grid-cols-4": "xl:grid-cols-4",
191
+ "xl:grid-cols-5": "xl:grid-cols-5",
192
+ "xl:grid-cols-6": "xl:grid-cols-6",
193
+ "xl:grid-cols-12": "xl:grid-cols-12",
194
+ "2xl:grid-cols-1": "2xl:grid-cols-1",
195
+ "2xl:grid-cols-2": "2xl:grid-cols-2",
196
+ "2xl:grid-cols-3": "2xl:grid-cols-3",
197
+ "2xl:grid-cols-4": "2xl:grid-cols-4",
198
+ "2xl:grid-cols-5": "2xl:grid-cols-5",
199
+ "2xl:grid-cols-6": "2xl:grid-cols-6",
200
+ "2xl:grid-cols-12": "2xl:grid-cols-12"
201
+ }, x = {
202
+ "col-span-1": "col-span-1",
203
+ "col-span-2": "col-span-2",
204
+ "col-span-3": "col-span-3",
205
+ "col-span-4": "col-span-4",
206
+ "col-span-5": "col-span-5",
207
+ "col-span-6": "col-span-6",
208
+ "col-span-12": "col-span-12",
209
+ "col-span-full": "col-span-full",
210
+ "sm:col-span-1": "sm:col-span-1",
211
+ "sm:col-span-2": "sm:col-span-2",
212
+ "sm:col-span-3": "sm:col-span-3",
213
+ "sm:col-span-4": "sm:col-span-4",
214
+ "sm:col-span-5": "sm:col-span-5",
215
+ "sm:col-span-6": "sm:col-span-6",
216
+ "sm:col-span-12": "sm:col-span-12",
217
+ "sm:col-span-full": "sm:col-span-full",
218
+ "md:col-span-1": "md:col-span-1",
219
+ "md:col-span-2": "md:col-span-2",
220
+ "md:col-span-3": "md:col-span-3",
221
+ "md:col-span-4": "md:col-span-4",
222
+ "md:col-span-5": "md:col-span-5",
223
+ "md:col-span-6": "md:col-span-6",
224
+ "md:col-span-12": "md:col-span-12",
225
+ "md:col-span-full": "md:col-span-full",
226
+ "lg:col-span-1": "lg:col-span-1",
227
+ "lg:col-span-2": "lg:col-span-2",
228
+ "lg:col-span-3": "lg:col-span-3",
229
+ "lg:col-span-4": "lg:col-span-4",
230
+ "lg:col-span-5": "lg:col-span-5",
231
+ "lg:col-span-6": "lg:col-span-6",
232
+ "lg:col-span-12": "lg:col-span-12",
233
+ "lg:col-span-full": "lg:col-span-full",
234
+ "xl:col-span-1": "xl:col-span-1",
235
+ "xl:col-span-2": "xl:col-span-2",
236
+ "xl:col-span-3": "xl:col-span-3",
237
+ "xl:col-span-4": "xl:col-span-4",
238
+ "xl:col-span-5": "xl:col-span-5",
239
+ "xl:col-span-6": "xl:col-span-6",
240
+ "xl:col-span-12": "xl:col-span-12",
241
+ "xl:col-span-full": "xl:col-span-full",
242
+ "2xl:col-span-1": "2xl:col-span-1",
243
+ "2xl:col-span-2": "2xl:col-span-2",
244
+ "2xl:col-span-3": "2xl:col-span-3",
245
+ "2xl:col-span-4": "2xl:col-span-4",
246
+ "2xl:col-span-5": "2xl:col-span-5",
247
+ "2xl:col-span-6": "2xl:col-span-6",
248
+ "2xl:col-span-12": "2xl:col-span-12",
249
+ "2xl:col-span-full": "2xl:col-span-full"
250
+ };
251
+ function U(l) {
252
+ return l ? typeof l == "number" ? e[`grid-cols-${l}`] : Object.entries(l).map(([c, i]) => e[`${c}:grid-cols-${i}`]).join(" ") : "grid-cols-1";
253
+ }
254
+ function b(l) {
255
+ return typeof l == "number" ? x[`col-span-${l}`] : Object.entries(l).map(([s, c]) => x[`${s}:col-span-${c}`]).join(" ");
256
+ }
257
+ export {
258
+ x as COL_SPAN_MAP,
259
+ e as GRID_COLS_MAP,
260
+ h as buildPayload,
261
+ R as defaultTransformFromApi,
262
+ C as defaultTransformToApi,
263
+ P as getEmptyValues,
264
+ b as toColSpanClasses,
265
+ U as toGridCols
266
+ };
267
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../../../../src/components/formGenerator/helpers/index.ts"],"sourcesContent":["import { parseDate, stringifyDate } from \"@/utils/date\";\nimport { BaseField, SelectField, MultiAttachmentField } from \"../types\";\nimport { Breakpoints } from \"../types/layout\";\nimport { FieldValues, Path } from \"react-hook-form\";\nimport {\n FORM_FIELD_TYPES,\n FORM_PAYLOAD_TYPES,\n DEFAULT_FIELD_KEYS,\n} from \"../constants\";\nimport { getCookie } from \"typescript-cookie\";\n\nexport function getEmptyValues<T extends FieldValues>(\n fields: BaseField<T>[],\n): T {\n const values = {} as T;\n fields.forEach((field) => {\n switch (field.type) {\n case FORM_FIELD_TYPES.TEXT:\n case FORM_FIELD_TYPES.TEXTAREA:\n case FORM_FIELD_TYPES.PASSWORD:\n case FORM_FIELD_TYPES.EMAIL:\n values[field.name] = \"\" as any;\n break;\n case FORM_FIELD_TYPES.NUMBER:\n values[field.name] = undefined as any;\n break;\n case FORM_FIELD_TYPES.DATE:\n case FORM_FIELD_TYPES.DATE_RANGE:\n values[field.name] = null as any;\n break;\n case FORM_FIELD_TYPES.SELECT:\n case FORM_FIELD_TYPES.MULTISELECT:\n case FORM_FIELD_TYPES.EMPLOYEE_SELECT:\n case FORM_FIELD_TYPES.EMPLOYEE_MULTI_SELECT:\n values[field.name] = null as any;\n break;\n case FORM_FIELD_TYPES.CHECKBOX:\n values[field.name] = false as any;\n break;\n default:\n values[field.name] = undefined as any;\n }\n });\n return values;\n}\n\nexport const defaultTransformFromApi = (value: unknown, fieldType: string) => {\n if (value === undefined || value === null) {\n if (fieldType === FORM_FIELD_TYPES.CHECKBOX) return false;\n if (fieldType === FORM_FIELD_TYPES.NUMBER) return undefined;\n if (fieldType === FORM_FIELD_TYPES.DATE) return null;\n if (fieldType === FORM_FIELD_TYPES.SELECT) return null;\n if (fieldType === FORM_FIELD_TYPES.MULTISELECT) return null;\n if (fieldType === FORM_FIELD_TYPES.EMPLOYEE_SELECT) return null;\n if (fieldType === FORM_FIELD_TYPES.EMPLOYEE_MULTI_SELECT) return null;\n if (fieldType === FORM_FIELD_TYPES.TEXT) return \"\";\n if (fieldType === FORM_FIELD_TYPES.TEXTAREA) return \"\";\n if (fieldType === FORM_FIELD_TYPES.PASSWORD) return \"\";\n if (fieldType === FORM_FIELD_TYPES.EMAIL) return \"\";\n if (fieldType === FORM_FIELD_TYPES.DATE_RANGE) return null;\n if (fieldType === FORM_FIELD_TYPES.MULTI_ATTACHMENT) return [];\n if (fieldType === FORM_FIELD_TYPES.SINGLE_ATTACHMENT) return null;\n if (fieldType === FORM_FIELD_TYPES.CUSTOM) return undefined;\n }\n\n switch (fieldType) {\n case FORM_FIELD_TYPES.DATE:\n return typeof value === \"string\" && value\n ? parseDate(value, getCookie(\"langfmt\"))\n : value\n ? value\n : undefined;\n\n case FORM_FIELD_TYPES.CHECKBOX:\n return Boolean(value);\n case FORM_FIELD_TYPES.NUMBER:\n return value?.toString();\n default:\n return value;\n }\n};\n\nexport const defaultTransformToApi = (value: any, fieldType: string) => {\n if (value === undefined || value === null) return value;\n\n switch (fieldType) {\n case FORM_FIELD_TYPES.DATE:\n return stringifyDate(value, getCookie(\"langfmt\"));\n\n case FORM_FIELD_TYPES.SELECT:\n case FORM_FIELD_TYPES.EMPLOYEE_SELECT:\n return value?.value ?? value;\n case FORM_FIELD_TYPES.MULTISELECT:\n return value?.map((v: any) => v?.value)?.join(\",\") ?? value;\n case FORM_FIELD_TYPES.EMPLOYEE_MULTI_SELECT:\n return value?.map((v: any) => v?.value)?.join(\",\") ?? value;\n case FORM_FIELD_TYPES.CHECKBOX:\n return Boolean(value);\n\n case FORM_FIELD_TYPES.NUMBER:\n return Number(value);\n\n default:\n return value;\n }\n};\n\nconst transformFieldValue = <T extends FieldValues>(\n field: BaseField<T>,\n value: any,\n) => {\n if (field.transformToApi) {\n return field.transformToApi(value);\n }\n return defaultTransformToApi(value, field.type);\n};\n\nconst appendMultiAttachmentToFormData = (\n formData: FormData,\n fieldName: string,\n value: any[],\n record?: Record<string, any>,\n field?: MultiAttachmentField<any>,\n) => {\n const files = value.filter((v) => v instanceof File);\n console.log(\"files\", files);\n const nonFileAttachments = value.filter((v) => !(v instanceof File));\n console.log(\"non file attachments\", nonFileAttachments);\n files.forEach((file) => {\n formData.append(fieldName, file);\n });\n\n const syncConfig = field?.syncConfig;\n const attachmentsFromRecord =\n record?.[\n syncConfig?.attachmentsFieldName ?? DEFAULT_FIELD_KEYS.ATTACHMENT_DETAIL\n ];\n\n if (Array.isArray(attachmentsFromRecord)) {\n const attachmentIdKey =\n syncConfig?.attachmentIdFieldName ?? DEFAULT_FIELD_KEYS.ID;\n const deletedFilesField =\n syncConfig?.payloadFieldNameForDeleted ??\n DEFAULT_FIELD_KEYS.DELETED_FILES;\n\n attachmentsFromRecord.forEach((attachment) => {\n const isDeleted = !nonFileAttachments.some(\n (a) => attachment[attachmentIdKey] === a.id,\n );\n if (isDeleted) {\n formData.append(deletedFilesField, attachment[attachmentIdKey]);\n }\n });\n }\n};\n\nconst buildFormDataPayload = <T extends FieldValues>({\n data,\n fields,\n excludeFromPayload = [],\n record,\n globalTransform,\n recordId,\n recordIdField,\n}: any) => {\n const formData = new FormData();\n fields.forEach((field: BaseField<T>) => {\n if (excludeFromPayload.includes(field.name)) return;\n const value = transformFieldValue(field, (data as any)[field.name]);\n if (value === undefined || value === null) return;\n\n if (\n field.type === FORM_FIELD_TYPES.MULTI_ATTACHMENT &&\n Array.isArray(value)\n ) {\n appendMultiAttachmentToFormData(\n formData,\n field.name,\n value,\n record,\n field as MultiAttachmentField<T>,\n );\n } else {\n formData.append(field.name as string, value);\n }\n });\n\n if (recordId) {\n formData.append(recordIdField, recordId);\n }\n\n return globalTransform ? globalTransform(data, formData) : formData;\n};\n\nconst buildJsonPayload = <T extends FieldValues>({\n data,\n fields,\n excludeFromPayload = [],\n globalTransform,\n recordId,\n recordIdField,\n}: any) => {\n const jsonPayload: Record<string, any> = {};\n\n fields.forEach((field: BaseField<T>) => {\n if (excludeFromPayload.includes(field.name)) return;\n\n const value = transformFieldValue(field, (data as any)[field.name]);\n if (value !== undefined) {\n jsonPayload[field.name as string] = value;\n }\n });\n\n if (recordId) {\n jsonPayload[recordIdField] = recordId;\n }\n\n return globalTransform ? globalTransform(data, jsonPayload) : jsonPayload;\n};\n\nexport const buildPayload = <T extends FieldValues>({\n data,\n fields,\n excludeFromPayload = [],\n payloadType = FORM_PAYLOAD_TYPES.JSON,\n globalTransform,\n record,\n recordId,\n recordIdField = DEFAULT_FIELD_KEYS.ID,\n}: {\n data: T;\n fields: BaseField<T>[];\n excludeFromPayload?: Path<T>[];\n payloadType?:\n | typeof FORM_PAYLOAD_TYPES.JSON\n | typeof FORM_PAYLOAD_TYPES.FORM_DATA;\n globalTransform?: (\n data: T,\n payload: Record<string, any> | FormData,\n ) => Record<string, any> | FormData;\n record?: Record<string, any>;\n recordId?: any;\n recordIdField?: string;\n}) => {\n const config = {\n data,\n fields,\n excludeFromPayload,\n globalTransform,\n record,\n recordId,\n recordIdField,\n };\n\n return payloadType === FORM_PAYLOAD_TYPES.FORM_DATA\n ? buildFormDataPayload(config)\n : buildJsonPayload(config);\n};\n\nexport function isDropdownField(field: BaseField<any>): boolean {\n return (\n [\n FORM_FIELD_TYPES.SELECT,\n FORM_FIELD_TYPES.MULTISELECT,\n FORM_FIELD_TYPES.EMPLOYEE_SELECT,\n FORM_FIELD_TYPES.EMPLOYEE_MULTI_SELECT,\n ] as string[]\n ).includes(field.type);\n}\nexport function isEmployeeSelectField(\n field: BaseField<any>,\n): field is SelectField<any> {\n return ([FORM_FIELD_TYPES.EMPLOYEE_SELECT] as string[]).includes(field.type);\n}\nexport function isDropdownFieldType(\n field: BaseField<any>,\n): field is SelectField<any> {\n return isDropdownField(field);\n}\n\nexport type SelectOptionProps = { label: string; value: any };\nexport type TTextOption = { text: string; value: any };\n\nexport function getNestedValue(obj: any, key: string): any {\n return key.split(\".\").reduce((acc, k) => acc?.[k], obj);\n}\nexport function normalizeDropdownOptions(\n data: any[] = [],\n field: SelectField<any>,\n): SelectOptionProps[] {\n if (field.serverSideProps?.labelKey || field.serverSideProps?.valueKey) {\n const labelKey =\n field.serverSideProps?.labelKey ?? DEFAULT_FIELD_KEYS.LABEL;\n const valueKey =\n field.serverSideProps?.valueKey ?? DEFAULT_FIELD_KEYS.VALUE;\n return data.map((item) => ({\n label: getNestedValue(item, labelKey),\n value: getNestedValue(item, valueKey),\n }));\n }\n\n if (\n data.length &&\n DEFAULT_FIELD_KEYS.TEXT in data[0] &&\n DEFAULT_FIELD_KEYS.VALUE in data[0]\n ) {\n return data.map(({ text, value }: TTextOption) => ({ label: text, value }));\n }\n\n if (\n data.length &&\n DEFAULT_FIELD_KEYS.LABEL in data[0] &&\n DEFAULT_FIELD_KEYS.VALUE in data[0]\n ) {\n return data as SelectOptionProps[];\n }\n\n return data.map((item) =>\n typeof item === \"string\"\n ? { label: item, value: item }\n : {\n label: String(\n item[DEFAULT_FIELD_KEYS.LABEL] ??\n item[DEFAULT_FIELD_KEYS.VALUE] ??\n item,\n ),\n value: item[DEFAULT_FIELD_KEYS.VALUE] ?? item,\n },\n );\n}\n\nexport const GRID_COLS_MAP: Record<string, string> = {\n \"grid-cols-1\": \"grid-cols-1\",\n \"grid-cols-2\": \"grid-cols-2\",\n \"grid-cols-3\": \"grid-cols-3\",\n \"grid-cols-4\": \"grid-cols-4\",\n \"grid-cols-5\": \"grid-cols-5\",\n \"grid-cols-6\": \"grid-cols-6\",\n \"grid-cols-12\": \"grid-cols-12\",\n\n \"sm:grid-cols-1\": \"sm:grid-cols-1\",\n \"sm:grid-cols-2\": \"sm:grid-cols-2\",\n \"sm:grid-cols-3\": \"sm:grid-cols-3\",\n \"sm:grid-cols-4\": \"sm:grid-cols-4\",\n \"sm:grid-cols-5\": \"sm:grid-cols-5\",\n \"sm:grid-cols-6\": \"sm:grid-cols-6\",\n \"sm:grid-cols-12\": \"sm:grid-cols-12\",\n\n \"md:grid-cols-1\": \"md:grid-cols-1\",\n \"md:grid-cols-2\": \"md:grid-cols-2\",\n \"md:grid-cols-3\": \"md:grid-cols-3\",\n \"md:grid-cols-4\": \"md:grid-cols-4\",\n \"md:grid-cols-5\": \"md:grid-cols-5\",\n \"md:grid-cols-6\": \"md:grid-cols-6\",\n \"md:grid-cols-12\": \"md:grid-cols-12\",\n\n \"lg:grid-cols-1\": \"lg:grid-cols-1\",\n \"lg:grid-cols-2\": \"lg:grid-cols-2\",\n \"lg:grid-cols-3\": \"lg:grid-cols-3\",\n \"lg:grid-cols-4\": \"lg:grid-cols-4\",\n \"lg:grid-cols-5\": \"lg:grid-cols-5\",\n \"lg:grid-cols-6\": \"lg:grid-cols-6\",\n \"lg:grid-cols-12\": \"lg:grid-cols-12\",\n\n \"xl:grid-cols-1\": \"xl:grid-cols-1\",\n \"xl:grid-cols-2\": \"xl:grid-cols-2\",\n \"xl:grid-cols-3\": \"xl:grid-cols-3\",\n \"xl:grid-cols-4\": \"xl:grid-cols-4\",\n \"xl:grid-cols-5\": \"xl:grid-cols-5\",\n \"xl:grid-cols-6\": \"xl:grid-cols-6\",\n \"xl:grid-cols-12\": \"xl:grid-cols-12\",\n\n \"2xl:grid-cols-1\": \"2xl:grid-cols-1\",\n \"2xl:grid-cols-2\": \"2xl:grid-cols-2\",\n \"2xl:grid-cols-3\": \"2xl:grid-cols-3\",\n \"2xl:grid-cols-4\": \"2xl:grid-cols-4\",\n \"2xl:grid-cols-5\": \"2xl:grid-cols-5\",\n \"2xl:grid-cols-6\": \"2xl:grid-cols-6\",\n \"2xl:grid-cols-12\": \"2xl:grid-cols-12\",\n};\n\nexport const COL_SPAN_MAP: Record<string, string> = {\n \"col-span-1\": \"col-span-1\",\n \"col-span-2\": \"col-span-2\",\n \"col-span-3\": \"col-span-3\",\n \"col-span-4\": \"col-span-4\",\n \"col-span-5\": \"col-span-5\",\n \"col-span-6\": \"col-span-6\",\n \"col-span-12\": \"col-span-12\",\n \"col-span-full\": \"col-span-full\",\n\n \"sm:col-span-1\": \"sm:col-span-1\",\n \"sm:col-span-2\": \"sm:col-span-2\",\n \"sm:col-span-3\": \"sm:col-span-3\",\n \"sm:col-span-4\": \"sm:col-span-4\",\n \"sm:col-span-5\": \"sm:col-span-5\",\n \"sm:col-span-6\": \"sm:col-span-6\",\n \"sm:col-span-12\": \"sm:col-span-12\",\n \"sm:col-span-full\": \"sm:col-span-full\",\n\n \"md:col-span-1\": \"md:col-span-1\",\n \"md:col-span-2\": \"md:col-span-2\",\n \"md:col-span-3\": \"md:col-span-3\",\n \"md:col-span-4\": \"md:col-span-4\",\n \"md:col-span-5\": \"md:col-span-5\",\n \"md:col-span-6\": \"md:col-span-6\",\n \"md:col-span-12\": \"md:col-span-12\",\n \"md:col-span-full\": \"md:col-span-full\",\n\n \"lg:col-span-1\": \"lg:col-span-1\",\n \"lg:col-span-2\": \"lg:col-span-2\",\n \"lg:col-span-3\": \"lg:col-span-3\",\n \"lg:col-span-4\": \"lg:col-span-4\",\n \"lg:col-span-5\": \"lg:col-span-5\",\n \"lg:col-span-6\": \"lg:col-span-6\",\n \"lg:col-span-12\": \"lg:col-span-12\",\n \"lg:col-span-full\": \"lg:col-span-full\",\n\n \"xl:col-span-1\": \"xl:col-span-1\",\n \"xl:col-span-2\": \"xl:col-span-2\",\n \"xl:col-span-3\": \"xl:col-span-3\",\n \"xl:col-span-4\": \"xl:col-span-4\",\n \"xl:col-span-5\": \"xl:col-span-5\",\n \"xl:col-span-6\": \"xl:col-span-6\",\n \"xl:col-span-12\": \"xl:col-span-12\",\n \"xl:col-span-full\": \"xl:col-span-full\",\n\n \"2xl:col-span-1\": \"2xl:col-span-1\",\n \"2xl:col-span-2\": \"2xl:col-span-2\",\n \"2xl:col-span-3\": \"2xl:col-span-3\",\n \"2xl:col-span-4\": \"2xl:col-span-4\",\n \"2xl:col-span-5\": \"2xl:col-span-5\",\n \"2xl:col-span-6\": \"2xl:col-span-6\",\n \"2xl:col-span-12\": \"2xl:col-span-12\",\n \"2xl:col-span-full\": \"2xl:col-span-full\",\n};\n\nexport function toGridCols(grid?: number | Breakpoints): string {\n if (!grid) return \"grid-cols-1\";\n if (typeof grid === \"number\") return GRID_COLS_MAP[`grid-cols-${grid}`];\n const clsNames = Object.entries(grid)\n .map(([bp, value]) => GRID_COLS_MAP[`${bp}:grid-cols-${value}`])\n .join(\" \");\n return clsNames;\n}\n\nexport function toColSpanClasses(colSpan: number | Breakpoints): string {\n if (typeof colSpan === \"number\") return COL_SPAN_MAP[`col-span-${colSpan}`];\n\n return Object.entries(colSpan)\n .map(([bp, value]) => COL_SPAN_MAP[`${bp}:col-span-${value}`])\n .join(\" \");\n}\n"],"names":["getEmptyValues","fields","values","field","FORM_FIELD_TYPES","defaultTransformFromApi","value","fieldType","parseDate","getCookie","defaultTransformToApi","stringifyDate","_a","v","_b","transformFieldValue","appendMultiAttachmentToFormData","formData","fieldName","record","files","nonFileAttachments","file","syncConfig","attachmentsFromRecord","DEFAULT_FIELD_KEYS","attachmentIdKey","deletedFilesField","attachment","a","buildFormDataPayload","data","excludeFromPayload","globalTransform","recordId","recordIdField","buildJsonPayload","jsonPayload","buildPayload","payloadType","FORM_PAYLOAD_TYPES","config","GRID_COLS_MAP","COL_SPAN_MAP","toGridCols","grid","bp","toColSpanClasses","colSpan"],"mappings":"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"}
@@ -0,0 +1,30 @@
1
+ import { useForm as D } from "react-hook-form";
2
+ import { useEffect as E } from "react";
3
+ import { defaultTransformFromApi as g } from "../helpers/index.js";
4
+ import { FORM_MODES as f } from "../constants.js";
5
+ import { zodResolver as p } from "@hookform/resolvers/zod";
6
+ function V(s) {
7
+ var d;
8
+ const { schema: u, mode: i, initialData: A, fields: F } = s, c = D({
9
+ resolver: p(u),
10
+ defaultValues: A
11
+ }), t = i === f.UPDATE ? s.updateConfig : null, o = ((d = t == null ? void 0 : t.getQuery) == null ? void 0 : d.call(t, t.id, { skip: !t.id })) ?? null, e = o == null ? void 0 : o.data, l = i === f.UPDATE && (o == null ? void 0 : o.isLoading);
12
+ return E(() => {
13
+ if (l || !e)
14
+ return;
15
+ const a = i === f.UPDATE && "transformFromApiGlobal" in s ? s.transformFromApiGlobal : void 0, v = (a == null ? void 0 : a(e)) ?? e;
16
+ F.forEach((n) => {
17
+ const m = v[n.name];
18
+ let r;
19
+ console.log("raw value", m, a), n.transformFromApi ? r = n.transformFromApi(m) : a ? r = m : (console.log("default transform"), r = g(m, n.type)), r !== void 0 && c.setValue(n.name, r);
20
+ });
21
+ }, [l, o == null ? void 0 : o.data]), {
22
+ form: c,
23
+ record: (o == null ? void 0 : o.data) ?? {},
24
+ loading: l
25
+ };
26
+ }
27
+ export {
28
+ V as useFormGenerator
29
+ };
30
+ //# sourceMappingURL=useFormGenerator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useFormGenerator.js","sources":["../../../../src/components/formGenerator/hooks/useFormGenerator.tsx"],"sourcesContent":["import { useForm, Path, DefaultValues } from \"react-hook-form\";\nimport { useEffect } from \"react\";\nimport { ZodSchema } from \"zod\";\nimport { BaseField, RecordUpdateConfig } from \"../types\";\nimport { defaultTransformFromApi } from \"../helpers\";\nimport { FormSchema } from \"../types/common\";\nimport { FORM_MODES } from \"../constants\";\nimport { zodResolver } from \"@hookform/resolvers/zod\";\n\ntype UseFormGeneratorProps<S extends FormSchema, R> = {\n schema: ZodSchema<S>;\n mode: typeof FORM_MODES.CREATE | typeof FORM_MODES.UPDATE;\n fields: BaseField<S>[];\n initialData?: S;\n updateConfig?: RecordUpdateConfig<R>;\n\n transformFromApiGlobal?: (record: R) => S;\n};\n\nexport function useFormGenerator<S extends FormSchema, R>(\n props: UseFormGeneratorProps<S, R>,\n) {\n const { schema, mode, initialData, fields } = props;\n const form = useForm<S>({\n resolver: zodResolver(schema as any),\n defaultValues: initialData as DefaultValues<S>,\n });\n\n const updateConfig = mode === FORM_MODES.UPDATE ? props.updateConfig : null;\n\n const recordQuery =\n updateConfig?.getQuery?.(updateConfig.id, { skip: !updateConfig.id }) ??\n null;\n\n const recordData = recordQuery?.data;\n const recordLoading = mode === FORM_MODES.UPDATE && recordQuery?.isLoading;\n const isLoading = recordLoading;\n\n useEffect(() => {\n if (isLoading) return;\n if (!recordData) return;\n\n const globalTransform =\n mode === FORM_MODES.UPDATE && \"transformFromApiGlobal\" in props\n ? props.transformFromApiGlobal\n : undefined;\n\n // Apply a global transformation if provided, otherwise keep original data\n const transformedRecord = globalTransform?.(recordData) ?? recordData;\n\n fields.forEach((field) => {\n const rawValue = (transformedRecord as Record<string, unknown>)[\n field.name\n ];\n\n // Determine the final value for this field\n let value;\n console.log(\"raw value\", rawValue, globalTransform);\n if (field.transformFromApi) {\n value = field.transformFromApi(rawValue);\n } else if (!globalTransform) {\n console.log(\"default transform\");\n value = defaultTransformFromApi(rawValue, field.type);\n } else {\n // Otherwise, just use the raw value\n value = rawValue;\n }\n\n if (value !== undefined) {\n form.setValue(field.name as Path<S>, value as any);\n }\n });\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [isLoading, recordQuery?.data]);\n\n return {\n form,\n record: (recordQuery?.data ?? {}) as Record<string, unknown>,\n loading: isLoading,\n };\n}\n"],"names":["useFormGenerator","props","schema","mode","initialData","fields","form","useForm","zodResolver","updateConfig","FORM_MODES","recordQuery","_a","recordData","isLoading","useEffect","globalTransform","transformedRecord","field","rawValue","value","defaultTransformFromApi"],"mappings":";;;;;AAmBO,SAASA,EACdC,GACA;;AACA,QAAM,EAAE,QAAAC,GAAQ,MAAAC,GAAM,aAAAC,GAAa,QAAAC,MAAWJ,GACxCK,IAAOC,EAAW;AAAA,IACtB,UAAUC,EAAYN,CAAa;AAAA,IACnC,eAAeE;AAAA,EAAA,CAChB,GAEKK,IAAeN,MAASO,EAAW,SAAST,EAAM,eAAe,MAEjEU,MACJC,IAAAH,KAAA,gBAAAA,EAAc,aAAd,gBAAAG,EAAA,KAAAH,GAAyBA,EAAa,IAAI,EAAE,MAAM,CAACA,EAAa,GAAI,OACpE,MAEII,IAAaF,KAAA,gBAAAA,EAAa,MAE1BG,IADgBX,MAASO,EAAW,WAAUC,KAAA,gBAAAA,EAAa;AAGjE,SAAAI,EAAU,MAAM;AAEd,QADID,KACA,CAACD;AAAY;AAEjB,UAAMG,IACJb,MAASO,EAAW,UAAU,4BAA4BT,IACtDA,EAAM,yBACN,QAGAgB,KAAoBD,KAAA,gBAAAA,EAAkBH,OAAeA;AAEpD,IAAAR,EAAA,QAAQ,CAACa,MAAU;AAClB,YAAAC,IAAYF,EAChBC,EAAM,IACR;AAGI,UAAAE;AACI,cAAA,IAAI,aAAaD,GAAUH,CAAe,GAC9CE,EAAM,mBACAE,IAAAF,EAAM,iBAAiBC,CAAQ,IAC7BH,IAKFI,IAAAD,KAJR,QAAQ,IAAI,mBAAmB,GACvBC,IAAAC,EAAwBF,GAAUD,EAAM,IAAI,IAMlDE,MAAU,UACPd,EAAA,SAASY,EAAM,MAAiBE,CAAY;AAAA,IACnD,CACD;AAAA,EAGA,GAAA,CAACN,GAAWH,KAAA,gBAAAA,EAAa,IAAI,CAAC,GAE1B;AAAA,IACL,MAAAL;AAAA,IACA,SAASK,KAAA,gBAAAA,EAAa,SAAQ,CAAC;AAAA,IAC/B,SAASG;AAAA,EAAA;AAEb;"}
@@ -0,0 +1,148 @@
1
+ import { jsx as u, jsxs as S } from "react/jsx-runtime";
2
+ import { FormProvider as K } from "react-hook-form";
3
+ import { useFormGenerator as Q } from "./hooks/useFormGenerator.js";
4
+ import { toast as h } from "sonner";
5
+ import W from "./layouts/formLayout.js";
6
+ import { buildPayload as X, getEmptyValues as Y } from "./helpers/index.js";
7
+ import { Spinner as Z } from "@vivakits/react-components";
8
+ import $ from "./layouts/footer.js";
9
+ import { cn as ee } from "../../libs/index.js";
10
+ import { FORM_MODES as n, FORM_PLACEMENTS as _ } from "./constants.js";
11
+ function ue(s) {
12
+ const {
13
+ schema: U,
14
+ fields: d,
15
+ layout: N,
16
+ onSubmit: b,
17
+ onSuccess: f,
18
+ onError: y,
19
+ onCancel: R,
20
+ initialData: V,
21
+ excludeFromPayload: G,
22
+ transformToApiGlobal: O,
23
+ payloadType: k,
24
+ placement: v,
25
+ footer: E,
26
+ styles: g
27
+ } = s, r = s.mode ?? n.CREATE, { form: m, record: I, loading: z } = Q({
28
+ schema: U,
29
+ mode: r,
30
+ initialData: V,
31
+ fields: d,
32
+ updateConfig: r === n.UPDATE ? s.updateConfig : void 0,
33
+ transformFromApiGlobal: r === n.UPDATE ? s.transformFromApiGlobal : void 0
34
+ });
35
+ console.log(m.formState.errors), console.log("values", m.getValues());
36
+ const [F, { isLoading: q }] = r === n.CREATE && s.createMutation ? s.createMutation() : [null, { isLoading: !1 }], [j, { isLoading: B }] = r === n.UPDATE && s.updateMutation ? s.updateMutation() : [null, { isLoading: !1 }], H = z || (q || B), T = async (J) => {
37
+ var M, C, D, P, w, x, L;
38
+ try {
39
+ const t = X({
40
+ data: J,
41
+ fields: d,
42
+ excludeFromPayload: G,
43
+ payloadType: k,
44
+ globalTransform: O ? (e, a) => O(e, a) : void 0,
45
+ record: I,
46
+ recordId: r === n.UPDATE ? (M = s.updateConfig) == null ? void 0 : M.id : void 0,
47
+ recordIdField: r === n.UPDATE ? (C = s.updateConfig) == null ? void 0 : C.idField : void 0
48
+ });
49
+ if (r === n.CREATE && F) {
50
+ const e = await ((P = (D = F(t)).unwrap) == null ? void 0 : P.call(D)) ?? await F(t), a = e && typeof e == "object" && e !== null ? (() => {
51
+ let l;
52
+ if ("message" in e) {
53
+ const o = e.message;
54
+ typeof o == "string" && (l = o);
55
+ }
56
+ const i = { message: l };
57
+ if (e && typeof e == "object") {
58
+ const o = Object.entries(e);
59
+ for (const [c, A] of o)
60
+ c !== "message" && (i[c] = A);
61
+ }
62
+ return i;
63
+ })() : { message: void 0 };
64
+ h.success(a.message ?? "Created successfully"), f == null || f(e);
65
+ } else if (r === n.UPDATE && j) {
66
+ const e = await ((x = (w = j(t)).unwrap) == null ? void 0 : x.call(w)) ?? await j(t), a = e && typeof e == "object" && e !== null ? (() => {
67
+ let l;
68
+ if ("message" in e) {
69
+ const o = e.message;
70
+ typeof o == "string" && (l = o);
71
+ }
72
+ const i = { message: l };
73
+ if (e && typeof e == "object") {
74
+ const o = Object.entries(e);
75
+ for (const [c, A] of o)
76
+ c !== "message" && (i[c] = A);
77
+ }
78
+ return i;
79
+ })() : { message: void 0 };
80
+ h.success(a.message ?? "Updated successfully"), f == null || f(e);
81
+ }
82
+ if (await ((e, a) => {
83
+ b == null || b(e, a);
84
+ })(t, r), r === n.CREATE) {
85
+ const e = Y(d);
86
+ m.reset(e);
87
+ }
88
+ } catch (t) {
89
+ console.error("Error submitting the form:", t);
90
+ const p = t && typeof t == "object" && t !== null && "data" in t ? (() => {
91
+ const e = t.data;
92
+ let a;
93
+ if (e && typeof e == "object" && e !== null && "error_message" in e) {
94
+ const i = e.error_message;
95
+ a = { error_message: typeof i == "string" ? i : void 0 };
96
+ }
97
+ const l = { data: a };
98
+ if (t && typeof t == "object") {
99
+ const i = Object.entries(t);
100
+ for (const [o, c] of i)
101
+ o !== "data" && (l[o] = c);
102
+ }
103
+ return l;
104
+ })() : null;
105
+ h.error(((L = p == null ? void 0 : p.data) == null ? void 0 : L.error_message) ?? "Error submitting the form"), y == null || y(t);
106
+ }
107
+ };
108
+ return /* @__PURE__ */ u(K, { ...m, children: /* @__PURE__ */ S("form", { onSubmit: m.handleSubmit(T), children: [
109
+ /* @__PURE__ */ S(
110
+ "div",
111
+ {
112
+ className: ee(
113
+ "px-5 py-2 my-2 text-start ",
114
+ v === _.ON_MODAL && "overflow-y-auto max-h-[80vh]",
115
+ g == null ? void 0 : g.wrapperClassName
116
+ ),
117
+ children: [
118
+ H && /* @__PURE__ */ u("div", { className: "absolute inset-0 z-10 flex items-center justify-center h-320 bg-white/70", children: /* @__PURE__ */ u(Z, {}) }),
119
+ /* @__PURE__ */ u(
120
+ W,
121
+ {
122
+ fields: d,
123
+ layout: N,
124
+ styles: g,
125
+ placement: v
126
+ }
127
+ )
128
+ ]
129
+ }
130
+ ),
131
+ /* @__PURE__ */ u(
132
+ $,
133
+ {
134
+ placement: v ?? _.ON_MODAL,
135
+ ctx: {
136
+ onSubmit: m.handleSubmit(T),
137
+ onCancel: R,
138
+ form: m
139
+ },
140
+ customFooter: E == null ? void 0 : E.customFooter
141
+ }
142
+ )
143
+ ] }) });
144
+ }
145
+ export {
146
+ ue as FormGenerator
147
+ };
148
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../../../src/components/formGenerator/index.tsx"],"sourcesContent":["import { FormProvider } from \"react-hook-form\";\nimport { FormGeneratorProps } from \"./types\";\nimport { useFormGenerator } from \"./hooks/useFormGenerator\";\nimport { toast } from \"sonner\";\nimport FormLayout from \"./layouts/formLayout\";\nimport { buildPayload, getEmptyValues } from \"./helpers\";\nimport { Spinner } from \"@vivakits/react-components\";\nimport FormFooter from \"./layouts/footer\";\nimport { cn } from \"@/libs\";\nimport { FormSchema } from \"./types/common\";\nimport { FORM_MODES, FORM_PLACEMENTS } from \"./constants\";\n\nexport function FormGenerator<S extends FormSchema, P, R>(\n props: FormGeneratorProps<S, P, R>,\n) {\n const {\n schema,\n fields,\n layout,\n onSubmit,\n onSuccess,\n onError,\n onCancel,\n initialData,\n excludeFromPayload,\n transformToApiGlobal,\n payloadType,\n placement,\n footer,\n styles,\n } = props;\n\n const mode = props.mode ?? FORM_MODES.CREATE;\n\n const { form, record, loading } = useFormGenerator<S, R>({\n schema,\n mode,\n initialData,\n fields,\n updateConfig: mode === FORM_MODES.UPDATE ? props.updateConfig : undefined,\n transformFromApiGlobal:\n mode === FORM_MODES.UPDATE ? props.transformFromApiGlobal : undefined,\n });\n\n console.log(form.formState.errors);\n console.log(\"values\", form.getValues());\n\n const [createFn, { isLoading: creating }] =\n mode === FORM_MODES.CREATE && props.createMutation\n ? props.createMutation()\n : [null, { isLoading: false }];\n\n const [updateFn, { isLoading: updating }] =\n mode === FORM_MODES.UPDATE && props.updateMutation\n ? props.updateMutation()\n : [null, { isLoading: false }];\n\n const isSubmitting = creating || updating;\n const totalLoading = loading || isSubmitting;\n\n const handleSubmit = async (data: S) => {\n try {\n const finalPayload = buildPayload({\n data,\n fields,\n excludeFromPayload,\n payloadType,\n globalTransform: transformToApiGlobal\n ? (data: S, payload: FormData | Record<string, unknown>) => {\n // payload is FormData | Record<string, unknown>, transformToApiGlobal expects P\n // Since P is a generic type that could be FormData or Record<string, unknown>,\n // we pass payload directly and the function will handle the conversion\n const result = transformToApiGlobal(data, payload as P);\n // result is P, which needs to be returned as FormData | Record<string, unknown>\n // Since P extends FormData | Record<string, unknown>, we can return it directly\n return result as FormData | Record<string, unknown>;\n }\n : undefined,\n record,\n recordId:\n mode === FORM_MODES.UPDATE ? props.updateConfig?.id : undefined,\n recordIdField:\n mode === FORM_MODES.UPDATE ? props.updateConfig?.idField : undefined,\n });\n if (mode === FORM_MODES.CREATE && createFn) {\n const res =\n (await createFn(finalPayload).unwrap?.()) ??\n (await createFn(finalPayload));\n const response =\n res && typeof res === \"object\" && res !== null\n ? (() => {\n // res is an object, extract message property safely using type guards\n let message: string | undefined = undefined;\n if (\"message\" in res) {\n const messageValue = (res as { message?: unknown }).message;\n if (typeof messageValue === \"string\") {\n message = messageValue;\n }\n }\n // Create response object by copying properties\n const responseObj: {\n message?: string;\n [key: string]: unknown;\n } = { message };\n if (res && typeof res === \"object\") {\n // Copy properties from res to responseObj without using 'as' in the loop\n const entries = Object.entries(res);\n for (const [key, value] of entries) {\n if (key !== \"message\") {\n responseObj[key] = value;\n }\n }\n }\n return responseObj;\n })()\n : { message: undefined };\n toast.success(response.message ?? \"Created successfully\");\n onSuccess?.(res);\n } else if (mode === FORM_MODES.UPDATE && updateFn) {\n const res =\n (await updateFn(finalPayload).unwrap?.()) ??\n (await updateFn(finalPayload));\n const response =\n res && typeof res === \"object\" && res !== null\n ? (() => {\n // res is an object, extract message property safely using type guards\n let message: string | undefined = undefined;\n if (\"message\" in res) {\n const messageValue = (res as { message?: unknown }).message;\n if (typeof messageValue === \"string\") {\n message = messageValue;\n }\n }\n // Create response object by copying properties\n const responseObj: {\n message?: string;\n [key: string]: unknown;\n } = { message };\n if (res && typeof res === \"object\") {\n // Copy properties from res to responseObj without using 'as' in the loop\n const entries = Object.entries(res);\n for (const [key, value] of entries) {\n if (key !== \"message\") {\n responseObj[key] = value;\n }\n }\n }\n return responseObj;\n })()\n : { message: undefined };\n toast.success(response.message ?? \"Updated successfully\");\n onSuccess?.(res);\n }\n // finalPayload is FormData | Record<string, unknown>, onSubmit expects P\n // We use a helper function to bridge the types without 'as' assertion\n const callOnSubmit = (\n payload: FormData | Record<string, unknown>,\n submitMode: \"create\" | \"update\",\n ) => {\n onSubmit?.(payload as P, submitMode);\n };\n await callOnSubmit(finalPayload, mode);\n\n if (mode === FORM_MODES.CREATE) {\n const emptyValues = getEmptyValues<S>(fields);\n form.reset(emptyValues);\n }\n } catch (err) {\n console.error(\"Error submitting the form:\", err);\n const error =\n err && typeof err === \"object\" && err !== null && \"data\" in err\n ? (() => {\n // err is an object with data property, extract error_message safely using type guards\n const errData = (err as { data?: unknown }).data;\n let errorData: { error_message?: string } | undefined = undefined;\n if (\n errData &&\n typeof errData === \"object\" &&\n errData !== null &&\n \"error_message\" in errData\n ) {\n const errorMessageValue = (\n errData as { error_message?: unknown }\n ).error_message;\n const errorMessage =\n typeof errorMessageValue === \"string\"\n ? errorMessageValue\n : undefined;\n errorData = { error_message: errorMessage };\n }\n // Create error object by copying properties\n const errorObj: {\n data?: { error_message?: string };\n [key: string]: unknown;\n } = { data: errorData };\n if (err && typeof err === \"object\") {\n // Copy properties from err to errorObj without using 'as' in the loop\n const entries = Object.entries(err);\n for (const [key, value] of entries) {\n if (key !== \"data\") {\n errorObj[key] = value;\n }\n }\n }\n return errorObj;\n })()\n : null;\n toast.error(error?.data?.error_message ?? \"Error submitting the form\");\n onError?.(err);\n }\n };\n\n return (\n <FormProvider {...form}>\n <form onSubmit={form.handleSubmit(handleSubmit as any)}>\n <div\n className={cn(\n \"px-5 py-2 my-2 text-start \",\n placement === FORM_PLACEMENTS.ON_MODAL &&\n \"overflow-y-auto max-h-[80vh]\",\n styles?.wrapperClassName,\n )}\n >\n {totalLoading && (\n <div className=\"absolute inset-0 z-10 flex items-center justify-center h-320 bg-white/70\">\n <Spinner />\n </div>\n )}\n <FormLayout\n fields={fields}\n layout={layout}\n styles={styles}\n placement={placement}\n />\n </div>\n <FormFooter<S>\n placement={placement ?? FORM_PLACEMENTS.ON_MODAL}\n ctx={{\n onSubmit: form.handleSubmit(handleSubmit as any),\n onCancel,\n form: form,\n }}\n customFooter={footer?.customFooter}\n />\n </form>\n </FormProvider>\n );\n}\n"],"names":["FormGenerator","props","schema","fields","layout","onSubmit","onSuccess","onError","onCancel","initialData","excludeFromPayload","transformToApiGlobal","payloadType","placement","footer","styles","mode","FORM_MODES","form","record","loading","useFormGenerator","createFn","creating","updateFn","updating","totalLoading","handleSubmit","data","finalPayload","buildPayload","payload","_a","_b","res","_d","_c","response","message","messageValue","responseObj","entries","key","value","toast","_f","_e","submitMode","emptyValues","getEmptyValues","err","error","errData","errorData","errorMessageValue","errorObj","_g","jsx","FormProvider","jsxs","cn","FORM_PLACEMENTS","Spinner","FormLayout","FormFooter"],"mappings":"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"}
@@ -0,0 +1,65 @@
1
+ import { jsx as t, Fragment as f, jsxs as u } from "react/jsx-runtime";
2
+ import c from "../../common/buttons/CancelBtn.js";
3
+ import { useTranslation as x } from "react-i18next";
4
+ import { cn as s } from "../../../libs/index.js";
5
+ import { FORM_PLACEMENTS as a } from "../constants.js";
6
+ import d from "../../common/button/SaveBtn.js";
7
+ function N({
8
+ placement: n,
9
+ ctx: r,
10
+ customFooter: l,
11
+ footerWrapperClassName: o
12
+ }) {
13
+ const { t: i } = x();
14
+ if (l)
15
+ return /* @__PURE__ */ t(f, { children: l(r) });
16
+ const { onSubmit: m, onCancel: e } = r;
17
+ return n === a.ON_MODAL ? /* @__PURE__ */ u(
18
+ "div",
19
+ {
20
+ className: s(
21
+ "flex justify-end gap-5 shadow-[0px_0px_3px_0px_#1018281A] rounded-b-lg py-3 px-5 inset-0",
22
+ o
23
+ ),
24
+ children: [
25
+ e && /* @__PURE__ */ t(
26
+ c,
27
+ {
28
+ title: i("CANCEL", "Cancel"),
29
+ handleAction: () => e == null ? void 0 : e()
30
+ }
31
+ ),
32
+ /* @__PURE__ */ t(
33
+ d,
34
+ {
35
+ type: "submit",
36
+ title: i("SAVE", "Save"),
37
+ handleAction: (p) => {
38
+ p.preventDefault(), m();
39
+ }
40
+ }
41
+ )
42
+ ]
43
+ }
44
+ ) : n === a.ON_PAGE ? /* @__PURE__ */ t(f, { children: /* @__PURE__ */ t(
45
+ "div",
46
+ {
47
+ className: s(
48
+ "fixed left-0 bottom-0 bg-white h-[60px] w-full flex items-center justify-end",
49
+ o
50
+ ),
51
+ children: /* @__PURE__ */ t(
52
+ d,
53
+ {
54
+ handleAction: m,
55
+ className: "!text-sm !px-5 !py-2 rtl:!ml-5 ltr:!mr-5",
56
+ title: i("SAVE", "Save")
57
+ }
58
+ )
59
+ }
60
+ ) }) : null;
61
+ }
62
+ export {
63
+ N as default
64
+ };
65
+ //# sourceMappingURL=footer.js.map