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,30 @@
1
+ import { jsx as m } from "react/jsx-runtime";
2
+ import s from "../../../hookform/hookFormItem.js";
3
+ import { cn as f } from "../../../../libs/index.js";
4
+ import h from "../../../ui/customRangeDatePicker.js";
5
+ import { useFormContext as d } from "react-hook-form";
6
+ import { FORM_PLACEMENTS as g } from "../../constants.js";
7
+ const _ = ({
8
+ field: e,
9
+ placement: r
10
+ }) => {
11
+ const t = d(), n = r === g.ON_MODAL, o = t.watch(e.name), a = (o == null ? void 0 : o[0]) ?? void 0, i = (o == null ? void 0 : o[1]) ?? void 0;
12
+ return /* @__PURE__ */ m(s, { name: e.name, children: /* @__PURE__ */ m(
13
+ h,
14
+ {
15
+ startDate: a,
16
+ endDate: i,
17
+ onChange: ([c, p]) => {
18
+ t.setValue(e.name, [c, p]);
19
+ },
20
+ datePickerClassName: f(
21
+ n ? "employee_form-field-height" : "employee_form-field-height-page"
22
+ ),
23
+ ...e.props
24
+ }
25
+ ) });
26
+ };
27
+ export {
28
+ _ as DatePickerRangeField
29
+ };
30
+ //# sourceMappingURL=datePickerRangeField.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"datePickerRangeField.js","sources":["../../../../../src/components/formGenerator/renderer/fields/datePickerRangeField.tsx"],"sourcesContent":["import HookFormItem from \"@/components/hookform/hookFormItem\";\nimport { cn } from \"@/libs\";\nimport CustomRangeDatePicker from \"@/components/ui/customRangeDatePicker\";\nimport { useFormContext } from \"react-hook-form\";\nimport {\n FieldComponentProps,\n DateRangeFieldConfig,\n FormSchema,\n} from \"../../types\";\nimport { FORM_PLACEMENTS } from \"../../constants\";\n\nexport const DatePickerRangeField = <T extends FormSchema>({\n field,\n placement,\n}: FieldComponentProps<T, DateRangeFieldConfig<T>>) => {\n const form = useFormContext<T>();\n const isModal = placement === FORM_PLACEMENTS.ON_MODAL;\n const values = form.watch(field.name);\n const startDate = values?.[0] ?? undefined;\n const endDate = values?.[1] ?? undefined;\n return (\n <HookFormItem name={field.name}>\n <CustomRangeDatePicker\n startDate={startDate}\n endDate={endDate}\n onChange={([start, end]: [Date | null, Date | null]) => {\n form.setValue(field.name, [start, end] as any);\n }}\n datePickerClassName={cn(\n isModal\n ? \"employee_form-field-height\"\n : \"employee_form-field-height-page\",\n )}\n {...field.props}\n />\n </HookFormItem>\n );\n};\n"],"names":["DatePickerRangeField","field","placement","form","useFormContext","isModal","FORM_PLACEMENTS","values","startDate","endDate","jsx","HookFormItem","CustomRangeDatePicker","start","end","cn"],"mappings":";;;;;;AAWO,MAAMA,IAAuB,CAAuB;AAAA,EACzD,OAAAC;AAAA,EACA,WAAAC;AACF,MAAuD;AACrD,QAAMC,IAAOC,KACPC,IAAUH,MAAcI,EAAgB,UACxCC,IAASJ,EAAK,MAAMF,EAAM,IAAI,GAC9BO,KAAYD,KAAA,gBAAAA,EAAS,OAAM,QAC3BE,KAAUF,KAAA,gBAAAA,EAAS,OAAM;AAC/B,SACG,gBAAAG,EAAAC,GAAA,EAAa,MAAMV,EAAM,MACxB,UAAA,gBAAAS;AAAA,IAACE;AAAA,IAAA;AAAA,MACC,WAAAJ;AAAA,MACA,SAAAC;AAAA,MACA,UAAU,CAAC,CAACI,GAAOC,CAAG,MAAkC;AACtD,QAAAX,EAAK,SAASF,EAAM,MAAM,CAACY,GAAOC,CAAG,CAAQ;AAAA,MAC/C;AAAA,MACA,qBAAqBC;AAAA,QACnBV,IACI,+BACA;AAAA,MACN;AAAA,MACC,GAAGJ,EAAM;AAAA,IAAA;AAAA,EAEd,EAAA,CAAA;AAEJ;"}
@@ -0,0 +1,153 @@
1
+ import { jsx as c, jsxs as L } from "react/jsx-runtime";
2
+ import Z, { useState as u, useRef as T, useCallback as b, useEffect as g } from "react";
3
+ import { VKSelect as $ } from "@vivakits/react-components";
4
+ import { cn as P } from "../../../../libs/index.js";
5
+ import { useSearchParams as v } from "react-router-dom";
6
+ import { useLazyGetEmployeeSearchDropdownQuery as B } from "../../../../services/employeeService.js";
7
+ import { Trie as A } from "../../../../utils/dataStructures/trie.js";
8
+ import { useFormContext as J } from "react-hook-form";
9
+ import { useTranslation as W } from "react-i18next";
10
+ import { toast as q } from "sonner";
11
+ import { SelectStyles as ee } from "../../../../utils/selectStyles.js";
12
+ import te from "../../../common/dropDownIndicator/index.js";
13
+ import { debounce as oe } from "../../../../utils/debounce.js";
14
+ const O = 30, I = 3, re = (s) => s.map(({ text: o, id: e, branch: a, employee_image: d, code: p }) => ({
15
+ label: o,
16
+ value: String(e),
17
+ node: /* @__PURE__ */ c(
18
+ ae,
19
+ {
20
+ branch_name: a,
21
+ employee_name: o,
22
+ employee_code: p,
23
+ image_path: d
24
+ }
25
+ ),
26
+ code: p
27
+ })), se = (s, o) => s.filter(
28
+ (e) => ["label", "code"].some(
29
+ (a) => (e[a] ?? "").toLowerCase().includes(o.toLowerCase())
30
+ )
31
+ ), M = Z.forwardRef(
32
+ ({
33
+ name: s,
34
+ wing_id: o,
35
+ value: e,
36
+ onChange: a,
37
+ hasError: d,
38
+ errorMessage: p,
39
+ isRequired: R,
40
+ className: F,
41
+ label: D,
42
+ labelClassName: j,
43
+ disabled: H,
44
+ placeholder: Y,
45
+ placement: V
46
+ }, G) => {
47
+ const { t: i } = W(["common"]), [Q] = v(), f = o || Q.get("wing_id"), [_, k] = u(!1), [S, { isFetching: z }] = B(), [w, x] = u(""), [N, E] = u([]), h = T(new A()), C = T(null), l = b(
48
+ async (t, r) => {
49
+ var m;
50
+ try {
51
+ const n = await S({
52
+ query_data: t,
53
+ employee_id: r,
54
+ wing_id: f || void 0
55
+ }).unwrap(), y = re(n || []);
56
+ return E(y.slice(0, O)), t && y.length < O && (h.current.insert(t), C.current = t), y;
57
+ } catch (n) {
58
+ return q.error(
59
+ ((m = n == null ? void 0 : n.data) == null ? void 0 : m.error_message) ?? i(
60
+ "FAILED_TO_FETCH_EMPLOYEE_DATA",
61
+ "Failed to fetch employee data"
62
+ )
63
+ ), [];
64
+ }
65
+ },
66
+ [f, S, i]
67
+ ), K = b(
68
+ oe(async (t) => {
69
+ const r = t.trim().toLowerCase();
70
+ if (r.length < I) {
71
+ E([]), C.current = null;
72
+ return;
73
+ }
74
+ const n = h.current.isExists(r) || r;
75
+ await l(n, void 0);
76
+ }, 400),
77
+ [l]
78
+ );
79
+ g(() => {
80
+ l("", void 0);
81
+ }, [l]), g(() => {
82
+ x(""), E([]), h.current = new A();
83
+ }, [f]);
84
+ const U = J();
85
+ g(() => {
86
+ e && typeof e != "object" && !_ && (async () => {
87
+ const r = (await l("", String(e))).find((m) => m.value == String(e));
88
+ r && U.setValue(s, r), k(!0);
89
+ })();
90
+ }, [e, N, _]);
91
+ const X = typeof e == "object" && (e == null ? void 0 : e.value);
92
+ return /* @__PURE__ */ c(
93
+ $,
94
+ {
95
+ ref: G,
96
+ className: P(
97
+ "w-full bg-white",
98
+ V === "onModal" ? "employee_form-field-height text-gray-900" : "employee_form-field-height-page text-gray-950",
99
+ F
100
+ ),
101
+ isSearchable: !0,
102
+ isAsyncSearchable: !0,
103
+ isLoading: z,
104
+ isDisabled: H,
105
+ showValueNode: !0,
106
+ showCancel: !!X,
107
+ isRequired: R,
108
+ value: e,
109
+ label: D || i("EMPLOYEE", "Employee"),
110
+ labelClassName: P("text-gray-750 font-medium text-xs", j),
111
+ placeholder: Y || i("SELECT_EMPLOYEE", "Select Employee"),
112
+ noOptionsMessage: w.length < I ? i(
113
+ "PLEASE_ENTER_AT_LEAST_3_CHARACTERS",
114
+ "Please enter at least 3 characters"
115
+ ) : i("NO_EMPLOYEE_FOUND", "No Employee Found"),
116
+ options: se(N, w),
117
+ onChange: a,
118
+ onInputChange: (t) => {
119
+ x(t), K(t);
120
+ },
121
+ hasError: d,
122
+ errorMessage: p,
123
+ styles: { ...ee, error: "px-1" },
124
+ dropdownIndicator: /* @__PURE__ */ c(te, {})
125
+ }
126
+ );
127
+ }
128
+ );
129
+ M.displayName = "EmployeeSelect";
130
+ const _e = M, ae = ({
131
+ image_path: s,
132
+ employee_name: o,
133
+ branch_name: e,
134
+ employee_code: a
135
+ }) => /* @__PURE__ */ L("div", { className: "flex items-center gap-2 p-1", children: [
136
+ /* @__PURE__ */ c(
137
+ "img",
138
+ {
139
+ src: s,
140
+ alt: o,
141
+ className: "employee_image-wrapper"
142
+ }
143
+ ),
144
+ /* @__PURE__ */ L("div", { className: "flex flex-col", children: [
145
+ /* @__PURE__ */ c("div", { className: "font-medium text-gray-900", children: o }),
146
+ /* @__PURE__ */ c("div", { className: "text-gray-500", children: e }),
147
+ /* @__PURE__ */ c("div", { className: "text-gray-500", children: a })
148
+ ] })
149
+ ] });
150
+ export {
151
+ _e as default
152
+ };
153
+ //# sourceMappingURL=employeeSelect.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"employeeSelect.js","sources":["../../../../../src/components/formGenerator/renderer/fields/employeeSelect.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useRef, useState } from \"react\";\nimport { VKSelect, SelectOptionProps } from \"@vivakits/react-components\";\nimport { cn } from \"@/libs\";\nimport { useSearchParams } from \"react-router-dom\";\nimport { useLazyGetEmployeeSearchDropdownQuery } from \"@/services/employeeService\";\nimport { Trie } from \"@/utils/dataStructures/trie\";\nimport { useFormContext } from \"react-hook-form\";\nimport { useTranslation } from \"react-i18next\";\nimport { toast } from \"sonner\";\nimport { SelectStyles } from \"@/utils/selectStyles\";\nimport DropdownIndicator from \"@/components/common/dropDownIndicator\";\nimport { debounce } from \"@/utils/debounce\";\n\nconst MAX_ITEM_SIZE = 30;\nconst MIN_SEARCH_LENGTH = 3;\n\nconst formatEmployeeOptions = (data: any[]): SelectOptionProps[] =>\n data.map(({ text, id, branch, employee_image, code }) => ({\n label: text,\n value: String(id),\n node: (\n <EmployeeNode\n branch_name={branch}\n employee_name={text}\n employee_code={code}\n image_path={employee_image}\n />\n ),\n code,\n }));\n\nconst filterOptions = (options: any[], searchText: string) =>\n options.filter((opt) =>\n [\"label\", \"code\"].some((key) =>\n (opt[key] ?? \"\").toLowerCase().includes(searchText.toLowerCase()),\n ),\n );\n\nconst EmployeeSelect = React.forwardRef<\n any,\n {\n name: string;\n wing_id?: string | number;\n value?: SelectOptionProps | string | number | null;\n onChange: (value: SelectOptionProps | SelectOptionProps[]) => void;\n hasError?: boolean;\n errorMessage?: string;\n isRequired?: boolean;\n className?: string;\n label?: string;\n labelClassName?: string;\n disabled?: boolean;\n placeholder?: string;\n placement?: \"onModal\" | \"onPage\";\n }\n>(\n (\n {\n name,\n wing_id,\n value,\n onChange,\n hasError,\n errorMessage,\n isRequired,\n className,\n label,\n labelClassName,\n disabled,\n placeholder,\n placement,\n },\n ref,\n ) => {\n const { t } = useTranslation([\"common\"]);\n const [searchParams] = useSearchParams();\n const wingId = wing_id || searchParams.get(\"wing_id\");\n const [isPopulated, setIsPopulated] = useState(false);\n const [getEmployees, { isFetching }] =\n useLazyGetEmployeeSearchDropdownQuery();\n\n const [searchText, setSearchText] = useState(\"\");\n const [options, setOptions] = useState<SelectOptionProps[]>([]);\n const trieRef = useRef(new Trie());\n const lastSearchRef = useRef<string | null>(null);\n\n const fetchEmployees = useCallback(\n async (query: string, employee_id: string | undefined) => {\n try {\n const data = await getEmployees({\n query_data: query,\n employee_id,\n wing_id: wingId || undefined,\n }).unwrap();\n\n const formatted = formatEmployeeOptions(data || []);\n setOptions(formatted.slice(0, MAX_ITEM_SIZE));\n\n if (query && formatted.length < MAX_ITEM_SIZE) {\n trieRef.current.insert(query);\n lastSearchRef.current = query;\n }\n\n return formatted;\n } catch (err: any) {\n toast.error(\n err?.data?.error_message ??\n t(\n \"FAILED_TO_FETCH_EMPLOYEE_DATA\",\n \"Failed to fetch employee data\",\n ),\n );\n return [];\n }\n },\n [wingId, getEmployees, t],\n );\n\n /** 🔹 Debounced search handler */\n // eslint-disable-next-line react-hooks/exhaustive-deps\n const handleSearch = useCallback(\n debounce(async (text: string) => {\n const query = text.trim().toLowerCase();\n\n if (query.length < MIN_SEARCH_LENGTH) {\n setOptions([]);\n lastSearchRef.current = null;\n return;\n }\n\n const cachedPrefix = trieRef.current.isExists(query);\n const effectiveQuery = cachedPrefix || query;\n\n await fetchEmployees(effectiveQuery, undefined);\n }, 400),\n [fetchEmployees],\n );\n\n useEffect(() => {\n fetchEmployees(\"\", undefined);\n }, [fetchEmployees]);\n\n useEffect(() => {\n setSearchText(\"\");\n setOptions([]);\n trieRef.current = new Trie();\n }, [wingId]);\n\n const form = useFormContext();\n\n useEffect(() => {\n if (value && typeof value !== \"object\" && !isPopulated) {\n (async () => {\n const result = await fetchEmployees(\"\", String(value));\n const found = result.find((opt) => opt.value == String(value));\n found && form.setValue(name, found);\n setIsPopulated(true);\n })();\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [value, options, isPopulated]);\n\n const showCancel = typeof value === \"object\" && (value as any)?.value;\n return (\n <VKSelect\n ref={ref}\n className={cn(\n \"w-full bg-white\",\n placement === \"onModal\"\n ? \"employee_form-field-height text-gray-900\"\n : \"employee_form-field-height-page text-gray-950\",\n className,\n )}\n isSearchable\n isAsyncSearchable\n isLoading={isFetching}\n isDisabled={disabled}\n showValueNode\n showCancel={!!showCancel}\n isRequired={isRequired}\n value={value as SelectOptionProps}\n label={label || t(\"EMPLOYEE\", \"Employee\")}\n labelClassName={cn(\"text-gray-750 font-medium text-xs\", labelClassName)}\n placeholder={placeholder || t(\"SELECT_EMPLOYEE\", \"Select Employee\")}\n noOptionsMessage={\n searchText.length < MIN_SEARCH_LENGTH\n ? t(\n \"PLEASE_ENTER_AT_LEAST_3_CHARACTERS\",\n \"Please enter at least 3 characters\",\n )\n : t(\"NO_EMPLOYEE_FOUND\", \"No Employee Found\")\n }\n options={filterOptions(options, searchText)}\n onChange={onChange}\n onInputChange={(val: string) => {\n setSearchText(val);\n handleSearch(val);\n }}\n hasError={hasError}\n errorMessage={errorMessage}\n styles={{ ...SelectStyles, error: \"px-1\" }}\n dropdownIndicator={<DropdownIndicator />}\n />\n );\n },\n);\n\nEmployeeSelect.displayName = \"EmployeeSelect\";\nexport default EmployeeSelect;\n\nconst EmployeeNode = ({\n image_path,\n employee_name,\n branch_name,\n employee_code,\n}: {\n image_path: string;\n employee_name: string;\n branch_name: string;\n employee_code: string;\n}) => (\n <div className=\"flex items-center gap-2 p-1\">\n <img\n src={image_path}\n alt={employee_name}\n className=\"employee_image-wrapper\"\n />\n <div className=\"flex flex-col\">\n <div className=\"font-medium text-gray-900\">{employee_name}</div>\n <div className=\"text-gray-500\">{branch_name}</div>\n <div className=\"text-gray-500\">{employee_code}</div>\n </div>\n </div>\n);\n"],"names":["MAX_ITEM_SIZE","MIN_SEARCH_LENGTH","formatEmployeeOptions","data","text","id","branch","employee_image","code","jsx","EmployeeNode","filterOptions","options","searchText","opt","key","EmployeeSelect","React","name","wing_id","value","onChange","hasError","errorMessage","isRequired","className","label","labelClassName","disabled","placeholder","placement","ref","t","useTranslation","searchParams","useSearchParams","wingId","isPopulated","setIsPopulated","useState","getEmployees","isFetching","useLazyGetEmployeeSearchDropdownQuery","setSearchText","setOptions","trieRef","useRef","Trie","lastSearchRef","fetchEmployees","useCallback","query","employee_id","formatted","err","toast","_a","handleSearch","debounce","effectiveQuery","useEffect","form","useFormContext","found","showCancel","VKSelect","cn","val","SelectStyles","DropdownIndicator","EmployeeSelect$1","image_path","employee_name","branch_name","employee_code","jsxs"],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ import { jsx as r } from "react/jsx-runtime";
2
+ import n from "../../../hookform/hookFormItem.js";
3
+ import p from "./employeeSelect.js";
4
+ const c = ({
5
+ field: e,
6
+ placement: m
7
+ }) => {
8
+ var o;
9
+ return /* @__PURE__ */ r(n, { name: e.name, children: /* @__PURE__ */ r(
10
+ p,
11
+ {
12
+ name: e.name,
13
+ placement: m,
14
+ onChange: ((o = e.props) == null ? void 0 : o.onChange) ?? (() => {
15
+ }),
16
+ isRequired: e.required,
17
+ ...e.props
18
+ }
19
+ ) });
20
+ };
21
+ export {
22
+ c as EmployeeSelectField
23
+ };
24
+ //# sourceMappingURL=employeeSelectField.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"employeeSelectField.js","sources":["../../../../../src/components/formGenerator/renderer/fields/employeeSelectField.tsx"],"sourcesContent":["import HookFormItem from \"@/components/hookform/hookFormItem\";\nimport EmployeeSelect from \"./employeeSelect\";\nimport {\n FieldComponentProps,\n SelectFieldConfig,\n FormSchema,\n} from \"../../types\";\n\nexport const EmployeeSelectField = <T extends FormSchema>({\n field,\n placement,\n}: FieldComponentProps<T, SelectFieldConfig<T>>) => {\n return (\n <HookFormItem name={field.name}>\n <EmployeeSelect\n name={field.name}\n placement={placement}\n onChange={field.props?.onChange ?? (() => {})}\n isRequired={field.required}\n {...field.props}\n />\n </HookFormItem>\n );\n};\n"],"names":["EmployeeSelectField","field","placement","jsx","HookFormItem","EmployeeSelect","_a"],"mappings":";;;AAQO,MAAMA,IAAsB,CAAuB;AAAA,EACxD,OAAAC;AAAA,EACA,WAAAC;AACF,MAAoD;;AAClD,SACG,gBAAAC,EAAAC,GAAA,EAAa,MAAMH,EAAM,MACxB,UAAA,gBAAAE;AAAA,IAACE;AAAA,IAAA;AAAA,MACC,MAAMJ,EAAM;AAAA,MACZ,WAAAC;AAAA,MACA,YAAUI,IAAAL,EAAM,UAAN,gBAAAK,EAAa,cAAa,MAAM;AAAA,MAAA;AAAA,MAC1C,YAAYL,EAAM;AAAA,MACjB,GAAGA,EAAM;AAAA,IAAA;AAAA,EAEd,EAAA,CAAA;AAEJ;"}
@@ -0,0 +1,30 @@
1
+ import { jsx as o } from "react/jsx-runtime";
2
+ import { Input as t } from "@vivakits/react-components";
3
+ import p from "../../../hookform/hookFormItem.js";
4
+ import { cn as l } from "../../../../libs/index.js";
5
+ import { FORM_PLACEMENTS as a } from "../../constants.js";
6
+ const u = ({
7
+ field: e,
8
+ placement: r
9
+ }) => {
10
+ const m = r === a.ON_MODAL;
11
+ return /* @__PURE__ */ o(p, { name: e.name, children: /* @__PURE__ */ o(
12
+ t,
13
+ {
14
+ label: e.label,
15
+ type: e.type,
16
+ placeholder: e.placeholder,
17
+ isRequired: e.required,
18
+ labelClassName: "text-gray-750 font-medium text-xs",
19
+ className: l(
20
+ "w-full bg-white",
21
+ m ? "employee_form-field-height" : "employee_form-field-height-page"
22
+ ),
23
+ ...e.props
24
+ }
25
+ ) });
26
+ };
27
+ export {
28
+ u as InputField
29
+ };
30
+ //# sourceMappingURL=inputField.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"inputField.js","sources":["../../../../../src/components/formGenerator/renderer/fields/inputField.tsx"],"sourcesContent":["import { Input } from \"@vivakits/react-components\";\nimport HookFormItem from \"@/components/hookform/hookFormItem\";\nimport { cn } from \"@/libs\";\nimport { FieldComponentProps, InputFieldConfig, FormSchema } from \"../../types\";\nimport { FORM_PLACEMENTS } from \"../../constants\";\n\nexport const InputField = <T extends FormSchema>({\n field,\n placement,\n}: FieldComponentProps<T, InputFieldConfig<T>>) => {\n const isModal = placement === FORM_PLACEMENTS.ON_MODAL;\n return (\n <HookFormItem name={field.name}>\n <Input\n label={field.label}\n type={field.type as any}\n placeholder={field.placeholder}\n isRequired={field.required}\n labelClassName=\"text-gray-750 font-medium text-xs\"\n className={cn(\n \"w-full bg-white\",\n isModal\n ? \"employee_form-field-height\"\n : \"employee_form-field-height-page\",\n )}\n {...field.props}\n />\n </HookFormItem>\n );\n};\n"],"names":["InputField","field","placement","isModal","FORM_PLACEMENTS","jsx","HookFormItem","Input","cn"],"mappings":";;;;;AAMO,MAAMA,IAAa,CAAuB;AAAA,EAC/C,OAAAC;AAAA,EACA,WAAAC;AACF,MAAmD;AAC3C,QAAAC,IAAUD,MAAcE,EAAgB;AAC9C,SACG,gBAAAC,EAAAC,GAAA,EAAa,MAAML,EAAM,MACxB,UAAA,gBAAAI;AAAA,IAACE;AAAA,IAAA;AAAA,MACC,OAAON,EAAM;AAAA,MACb,MAAMA,EAAM;AAAA,MACZ,aAAaA,EAAM;AAAA,MACnB,YAAYA,EAAM;AAAA,MAClB,gBAAe;AAAA,MACf,WAAWO;AAAA,QACT;AAAA,QACAL,IACI,+BACA;AAAA,MACN;AAAA,MACC,GAAGF,EAAM;AAAA,IAAA;AAAA,EAEd,EAAA,CAAA;AAEJ;"}
@@ -0,0 +1,28 @@
1
+ import { jsx as o } from "react/jsx-runtime";
2
+ import { useFormContext as u } from "react-hook-form";
3
+ import h from "../../../hookform/hookFormItem.js";
4
+ import l from "./attachments/multiAttachment.js";
5
+ const d = ({
6
+ field: t
7
+ }) => {
8
+ const { setValue: e, watch: r } = u(), m = r(t.name), n = (a) => {
9
+ e(t.name, a, {
10
+ shouldValidate: !0,
11
+ shouldDirty: !0,
12
+ shouldTouch: !0
13
+ });
14
+ };
15
+ return /* @__PURE__ */ o(h, { name: t.name, children: /* @__PURE__ */ o(
16
+ l,
17
+ {
18
+ label: t.label,
19
+ value: m,
20
+ onChange: n,
21
+ ...t.props
22
+ }
23
+ ) });
24
+ };
25
+ export {
26
+ d as MultiAttachmentField
27
+ };
28
+ //# sourceMappingURL=multiAttachmentField.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"multiAttachmentField.js","sources":["../../../../../src/components/formGenerator/renderer/fields/multiAttachmentField.tsx"],"sourcesContent":["import { useFormContext } from \"react-hook-form\";\nimport HookFormItem from \"@/components/hookform/hookFormItem\";\nimport MultiAttachment from \"./attachments/multiAttachment\";\nimport {\n FieldComponentProps,\n MultiAttachmentFieldConfig,\n FormSchema,\n} from \"../../types\";\n\nexport const MultiAttachmentField = <T extends FormSchema>({\n field,\n}: FieldComponentProps<T, MultiAttachmentFieldConfig<T>>) => {\n const { setValue, watch } = useFormContext<T>();\n const value = watch(field.name);\n\n const handleChange = (newValue: any[]) => {\n setValue(field.name, newValue as any, {\n shouldValidate: true,\n shouldDirty: true,\n shouldTouch: true,\n });\n };\n\n return (\n <HookFormItem name={field.name}>\n <MultiAttachment\n label={field.label}\n value={value}\n onChange={handleChange}\n {...field.props}\n />\n </HookFormItem>\n );\n};\n"],"names":["MultiAttachmentField","field","setValue","watch","useFormContext","value","handleChange","newValue","jsx","HookFormItem","MultiAttachment"],"mappings":";;;;AASO,MAAMA,IAAuB,CAAuB;AAAA,EACzD,OAAAC;AACF,MAA6D;AAC3D,QAAM,EAAE,UAAAC,GAAU,OAAAC,EAAM,IAAIC,EAAkB,GACxCC,IAAQF,EAAMF,EAAM,IAAI,GAExBK,IAAe,CAACC,MAAoB;AAC/B,IAAAL,EAAAD,EAAM,MAAMM,GAAiB;AAAA,MACpC,gBAAgB;AAAA,MAChB,aAAa;AAAA,MACb,aAAa;AAAA,IAAA,CACd;AAAA,EAAA;AAGH,SACG,gBAAAC,EAAAC,GAAA,EAAa,MAAMR,EAAM,MACxB,UAAA,gBAAAO;AAAA,IAACE;AAAA,IAAA;AAAA,MACC,OAAOT,EAAM;AAAA,MACb,OAAAI;AAAA,MACA,UAAUC;AAAA,MACT,GAAGL,EAAM;AAAA,IAAA;AAAA,EAEd,EAAA,CAAA;AAEJ;"}
@@ -0,0 +1,25 @@
1
+ import { jsx as m } from "react/jsx-runtime";
2
+ import n from "../../../hookform/hookFormItem.js";
3
+ import { RadioGroup as t } from "./radioGroup.js";
4
+ import { useFormContext as a } from "react-hook-form";
5
+ const c = ({
6
+ field: o
7
+ }) => {
8
+ const r = a();
9
+ return /* @__PURE__ */ m(n, { name: o.name, children: /* @__PURE__ */ m(
10
+ t,
11
+ {
12
+ name: o.name,
13
+ label: o.label,
14
+ value: r.watch(o.name),
15
+ onChange: (e) => r.setValue(o.name, e),
16
+ options: o.options,
17
+ isRequired: o.required,
18
+ ...o.props
19
+ }
20
+ ) });
21
+ };
22
+ export {
23
+ c as RadioField
24
+ };
25
+ //# sourceMappingURL=radioField.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"radioField.js","sources":["../../../../../src/components/formGenerator/renderer/fields/radioField.tsx"],"sourcesContent":["import HookFormItem from \"@/components/hookform/hookFormItem\";\nimport { RadioGroup } from \"./radioGroup\";\nimport { useFormContext } from \"react-hook-form\";\nimport { FieldComponentProps, RadioFieldConfig, FormSchema } from \"../../types\";\n\nexport const RadioField = <T extends FormSchema>({\n field,\n}: FieldComponentProps<T, RadioFieldConfig<T>>) => {\n const form = useFormContext<T>();\n return (\n <HookFormItem name={field.name}>\n <RadioGroup\n name={field.name}\n label={field.label}\n value={form.watch(field.name)}\n onChange={(val: any) => form.setValue(field.name, val)}\n options={field.options}\n isRequired={field.required}\n {...field.props}\n />\n </HookFormItem>\n );\n};\n"],"names":["RadioField","field","form","useFormContext","jsx","HookFormItem","RadioGroup","val"],"mappings":";;;;AAKO,MAAMA,IAAa,CAAuB;AAAA,EAC/C,OAAAC;AACF,MAAmD;AACjD,QAAMC,IAAOC;AACb,SACG,gBAAAC,EAAAC,GAAA,EAAa,MAAMJ,EAAM,MACxB,UAAA,gBAAAG;AAAA,IAACE;AAAA,IAAA;AAAA,MACC,MAAML,EAAM;AAAA,MACZ,OAAOA,EAAM;AAAA,MACb,OAAOC,EAAK,MAAMD,EAAM,IAAI;AAAA,MAC5B,UAAU,CAACM,MAAaL,EAAK,SAASD,EAAM,MAAMM,CAAG;AAAA,MACrD,SAASN,EAAM;AAAA,MACf,YAAYA,EAAM;AAAA,MACjB,GAAGA,EAAM;AAAA,IAAA;AAAA,EAEd,EAAA,CAAA;AAEJ;"}
@@ -0,0 +1,58 @@
1
+ import { jsxs as m, jsx as a } from "react/jsx-runtime";
2
+ import { forwardRef as g } from "react";
3
+ import { cn as r } from "../../../../libs/index.js";
4
+ import { VKRadioButton as y } from "@vivakits/react-components";
5
+ const R = g(
6
+ ({
7
+ name: s = "nameless-radio-group",
8
+ label: l,
9
+ value: d,
10
+ onChange: o,
11
+ options: t,
12
+ wrapperClassName: c,
13
+ labelClassName: i,
14
+ radioButtonClassName: n,
15
+ isRequired: p = !1,
16
+ ...u
17
+ }, x) => {
18
+ const { errorClassName: f, hasError: N, errorMessage: h, ...v } = u;
19
+ return /* @__PURE__ */ m("div", { ref: x, className: r("flex flex-col", c), children: [
20
+ l && /* @__PURE__ */ m(
21
+ "div",
22
+ {
23
+ className: r(
24
+ "text-gray-750 font-medium text-xs mb-3",
25
+ i
26
+ ),
27
+ children: [
28
+ l,
29
+ p && /* @__PURE__ */ a("span", { className: "text-red-500", children: "*" })
30
+ ]
31
+ }
32
+ ),
33
+ /* @__PURE__ */ a("div", { className: "flex gap-5 mb-5", children: t.map((e) => /* @__PURE__ */ a(
34
+ y,
35
+ {
36
+ name: s,
37
+ id: `${s}-${e.value}`,
38
+ value: e.value,
39
+ selectedValue: String(d),
40
+ onChange: () => o(e.value),
41
+ className: r(
42
+ "employee_radio-button-className",
43
+ n
44
+ ),
45
+ ...v,
46
+ children: /* @__PURE__ */ a("span", { className: "text-gray-500", children: e.label })
47
+ },
48
+ e.value
49
+ )) }),
50
+ N && /* @__PURE__ */ a("p", { className: r("text-red-500", f), children: h })
51
+ ] });
52
+ }
53
+ );
54
+ R.displayName = "RadioGroup";
55
+ export {
56
+ R as RadioGroup
57
+ };
58
+ //# sourceMappingURL=radioGroup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"radioGroup.js","sources":["../../../../../src/components/formGenerator/renderer/fields/radioGroup.tsx"],"sourcesContent":["import { forwardRef } from \"react\";\nimport { cn } from \"@/libs\";\nimport { VKRadioButton } from \"@vivakits/react-components\";\n\ninterface RadioOption {\n value: string | number;\n label: string;\n}\n\ninterface RadioGroupProps {\n name?: string;\n label?: string;\n value?: string | number;\n onChange: (value: string | number) => void;\n options: RadioOption[];\n wrapperClassName?: string;\n labelClassName?: string;\n radioButtonClassName?: string;\n isRequired?: boolean;\n}\n\nexport const RadioGroup = forwardRef<HTMLDivElement, RadioGroupProps>(\n (\n {\n name = \"nameless-radio-group\",\n label,\n value,\n onChange,\n options,\n wrapperClassName,\n labelClassName,\n radioButtonClassName,\n isRequired = false,\n ...rest\n },\n ref,\n ) => {\n const { errorClassName, hasError, errorMessage, ...props } = rest as {\n [key: string]: any;\n };\n return (\n <div ref={ref} className={cn(\"flex flex-col\", wrapperClassName)}>\n {label && (\n <div\n className={cn(\n \"text-gray-750 font-medium text-xs mb-3\",\n labelClassName,\n )}\n >\n {label}\n {isRequired && <span className=\"text-red-500\">*</span>}\n </div>\n )}\n\n <div className=\"flex gap-5 mb-5\">\n {options.map((option) => (\n <VKRadioButton\n key={option.value}\n name={name}\n id={`${name}-${option.value}`}\n value={option.value}\n selectedValue={String(value)}\n onChange={() => onChange(option.value)}\n className={cn(\n \"employee_radio-button-className\",\n radioButtonClassName,\n )}\n {...props}\n >\n <span className=\"text-gray-500\">{option.label}</span>\n </VKRadioButton>\n ))}\n </div>\n {hasError && (\n <p className={cn(\"text-red-500\", errorClassName)}>{errorMessage}</p>\n )}\n </div>\n );\n },\n);\n\nRadioGroup.displayName = \"RadioGroup\";\n"],"names":["RadioGroup","forwardRef","name","label","value","onChange","options","wrapperClassName","labelClassName","radioButtonClassName","isRequired","rest","ref","errorClassName","hasError","errorMessage","props","cn","jsxs","jsx","option","VKRadioButton"],"mappings":";;;;AAqBO,MAAMA,IAAaC;AAAA,EACxB,CACE;AAAA,IACE,MAAAC,IAAO;AAAA,IACP,OAAAC;AAAA,IACA,OAAAC;AAAA,IACA,UAAAC;AAAA,IACA,SAAAC;AAAA,IACA,kBAAAC;AAAA,IACA,gBAAAC;AAAA,IACA,sBAAAC;AAAA,IACA,YAAAC,IAAa;AAAA,IACb,GAAGC;AAAA,KAELC,MACG;AACH,UAAM,EAAE,gBAAAC,GAAgB,UAAAC,GAAU,cAAAC,GAAc,GAAGC,EAAU,IAAAL;AAG7D,6BACG,OAAI,EAAA,KAAAC,GAAU,WAAWK,EAAG,iBAAiBV,CAAgB,GAC3D,UAAA;AAAA,MACCJ,KAAA,gBAAAe;AAAA,QAAC;AAAA,QAAA;AAAA,UACC,WAAWD;AAAA,YACT;AAAA,YACAT;AAAA,UACF;AAAA,UAEC,UAAA;AAAA,YAAAL;AAAA,YACAO,KAAc,gBAAAS,EAAC,QAAK,EAAA,WAAU,gBAAe,UAAC,KAAA;AAAA,UAAA;AAAA,QAAA;AAAA,MACjD;AAAA,wBAGD,OAAI,EAAA,WAAU,mBACZ,UAAQb,EAAA,IAAI,CAACc,MACZ,gBAAAD;AAAA,QAACE;AAAA,QAAA;AAAA,UAEC,MAAAnB;AAAA,UACA,IAAI,GAAGA,CAAI,IAAIkB,EAAO,KAAK;AAAA,UAC3B,OAAOA,EAAO;AAAA,UACd,eAAe,OAAOhB,CAAK;AAAA,UAC3B,UAAU,MAAMC,EAASe,EAAO,KAAK;AAAA,UACrC,WAAWH;AAAA,YACT;AAAA,YACAR;AAAA,UACF;AAAA,UACC,GAAGO;AAAA,UAEJ,UAAC,gBAAAG,EAAA,QAAA,EAAK,WAAU,iBAAiB,YAAO,OAAM;AAAA,QAAA;AAAA,QAZzCC,EAAO;AAAA,MAcf,CAAA,GACH;AAAA,MACCN,uBACE,KAAE,EAAA,WAAWG,EAAG,gBAAgBJ,CAAc,GAAI,UAAaE,GAAA;AAAA,IAEpE,EAAA,CAAA;AAAA,EAEJ;AACF;AAEAf,EAAW,cAAc;"}
@@ -0,0 +1,73 @@
1
+ import { jsx as l } from "react/jsx-runtime";
2
+ import { Select as _ } from "@vivakits/react-components";
3
+ import { useFormContext as j } from "react-hook-form";
4
+ import { forwardRef as I, useMemo as P, useEffect as B } from "react";
5
+ import { resolveMultiOptionValue as D, resolveOptionValue as F } from "../utils.js";
6
+ import { cn as J } from "../../../../../libs/index.js";
7
+ import { useTranslation as T } from "react-i18next";
8
+ import E from "../../../../common/dropDownIndicator/index.js";
9
+ const M = I(
10
+ ({
11
+ label: u,
12
+ name: i,
13
+ options: o,
14
+ isLoading: y,
15
+ isClearable: g,
16
+ isRequired: p,
17
+ isSearchable: h = !0,
18
+ isMultiple: n,
19
+ placeholder: d,
20
+ props: N,
21
+ onChange: c,
22
+ query: w,
23
+ value: s,
24
+ className: x,
25
+ styles: b,
26
+ placement: O,
27
+ ...f
28
+ }, S) => {
29
+ const { t: v } = T(["common"]), t = j(), A = t == null ? void 0 : t.watch(i), e = s !== void 0 ? s : A, a = typeof e == "number" || typeof e == "string" || Array.isArray(e) && e.some((m) => typeof m != "object"), r = P(() => a && o.length > 0 ? n ? D(e, o) : F(e, o) : e, [e, o, a, n]);
30
+ B(() => {
31
+ a && o.length > 0 && r && JSON.stringify(r) !== JSON.stringify(e) && (t == null || t.setValue(i, r));
32
+ }, [r, e, o, a, t, i]);
33
+ const C = g && (n ? Array.isArray(e) && e.length > 0 : typeof e == "object" && !!(e != null && e.value)), V = (m) => {
34
+ typeof f.onChange == "function" && f.onChange(m), c == null || c(m, {
35
+ form: t,
36
+ query: w
37
+ });
38
+ };
39
+ return /* @__PURE__ */ l(
40
+ _,
41
+ {
42
+ ...N,
43
+ ...f,
44
+ ref: S,
45
+ value: r,
46
+ label: u,
47
+ placeholder: d,
48
+ options: o,
49
+ isLoading: y,
50
+ isRequired: p,
51
+ isSearchable: h,
52
+ isMultiple: n,
53
+ menuPlacement: "bottom",
54
+ showCancel: C,
55
+ dropdownIndicator: /* @__PURE__ */ l(E, {}),
56
+ noOptionsMessage: v("NO_OPTIONS_FOUND", "No options found"),
57
+ className: J(
58
+ "w-full !bg-white",
59
+ x,
60
+ O === "onModal" ? "employee_form-field-height text-gray-900" : "employee_form-field-height-page text-gray-950"
61
+ ),
62
+ onChange: V,
63
+ labelClassName: "text-gray-750 font-medium text-xs",
64
+ styles: b
65
+ }
66
+ );
67
+ }
68
+ );
69
+ M.displayName = "BaseSelect";
70
+ export {
71
+ M as BaseSelect
72
+ };
73
+ //# sourceMappingURL=BaseSelect.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BaseSelect.js","sources":["../../../../../../src/components/formGenerator/renderer/fields/select/BaseSelect.tsx"],"sourcesContent":["import { Select, SelectOptionProps } from \"@vivakits/react-components\";\nimport { FieldValues, useFormContext } from \"react-hook-form\";\nimport { forwardRef, useEffect, useMemo } from \"react\";\nimport { resolveMultiOptionValue, resolveOptionValue } from \"../utils\";\nimport { cn } from \"@/libs\";\nimport { useTranslation } from \"react-i18next\";\nimport DropdownIndicator from \"@/components/common/dropDownIndicator\";\n\nexport interface BaseSelectProps {\n label: string;\n name: string;\n options: SelectOptionProps[];\n isLoading?: boolean;\n isClearable?: boolean;\n isRequired?: boolean;\n isSearchable?: boolean;\n isMultiple?: boolean;\n placeholder?: string;\n props?: Record<string, any>;\n onChange?: any; // Generic onChange to handle both DSL and RHF\n query?: any;\n value?: any;\n onBlur?: any;\n className?: string;\n styles?: any;\n placement?: \"onModal\" | \"onPage\";\n}\n\nexport const BaseSelect = forwardRef<any, BaseSelectProps>(\n (\n {\n label,\n name,\n options,\n isLoading,\n isClearable,\n isRequired,\n isSearchable = true,\n isMultiple,\n placeholder,\n props,\n onChange: dslOnChange,\n query,\n value: rhfValue,\n className,\n styles,\n placement,\n ...rest\n },\n ref,\n ) => {\n const { t } = useTranslation([\"common\"]);\n const form = useFormContext<FieldValues>();\n\n // Use injected value from Controller if available, otherwise watch\n const watchValue = form?.watch(name as any);\n const value = rhfValue !== undefined ? rhfValue : watchValue;\n\n const isPrimitive =\n typeof value === \"number\" ||\n typeof value === \"string\" ||\n (Array.isArray(value) && value.some((v) => typeof v !== \"object\"));\n\n const selectValue = useMemo(() => {\n if (isPrimitive && options.length > 0) {\n return isMultiple\n ? resolveMultiOptionValue(value as any, options)\n : resolveOptionValue(value as any, options);\n }\n return value;\n }, [value, options, isPrimitive, isMultiple]);\n\n useEffect(() => {\n if (\n isPrimitive &&\n options.length > 0 &&\n selectValue &&\n JSON.stringify(selectValue) !== JSON.stringify(value)\n ) {\n form?.setValue(name as any, selectValue as any);\n }\n }, [selectValue, value, options, isPrimitive, form, name]);\n\n const showCancel =\n isClearable &&\n (isMultiple\n ? Array.isArray(value) && value.length > 0\n : typeof value === \"object\" && !!(value as any)?.value);\n\n const handleOnChange = (val: any) => {\n // 1. Call standard RHF onChange if we are in a Controller\n if (typeof (rest as any).onChange === \"function\") {\n (rest as any).onChange(val);\n }\n\n // 2. Call DSL onChange if provided\n dslOnChange?.(val, {\n form,\n query,\n });\n };\n\n return (\n <Select\n {...props}\n {...rest}\n ref={ref}\n value={selectValue as any}\n label={label}\n placeholder={placeholder}\n options={options}\n isLoading={isLoading}\n isRequired={isRequired}\n isSearchable={isSearchable}\n isMultiple={isMultiple}\n menuPlacement=\"bottom\"\n showCancel={showCancel}\n dropdownIndicator={<DropdownIndicator />}\n noOptionsMessage={t(\"NO_OPTIONS_FOUND\", \"No options found\")}\n className={cn(\n \"w-full !bg-white\",\n className,\n placement === \"onModal\"\n ? \"employee_form-field-height text-gray-900\"\n : \"employee_form-field-height-page text-gray-950\",\n )}\n onChange={handleOnChange as any}\n labelClassName=\"text-gray-750 font-medium text-xs\"\n styles={styles}\n />\n );\n },\n);\n\nBaseSelect.displayName = \"BaseSelect\";\n"],"names":["BaseSelect","forwardRef","label","name","options","isLoading","isClearable","isRequired","isSearchable","isMultiple","placeholder","props","dslOnChange","query","rhfValue","className","styles","placement","rest","ref","t","useTranslation","form","useFormContext","watchValue","value","isPrimitive","v","selectValue","useMemo","resolveMultiOptionValue","resolveOptionValue","useEffect","showCancel","handleOnChange","val","jsx","Select","DropdownIndicator","cn"],"mappings":";;;;;;;;AA4BO,MAAMA,IAAaC;AAAA,EACxB,CACE;AAAA,IACE,OAAAC;AAAA,IACA,MAAAC;AAAA,IACA,SAAAC;AAAA,IACA,WAAAC;AAAA,IACA,aAAAC;AAAA,IACA,YAAAC;AAAA,IACA,cAAAC,IAAe;AAAA,IACf,YAAAC;AAAA,IACA,aAAAC;AAAA,IACA,OAAAC;AAAA,IACA,UAAUC;AAAA,IACV,OAAAC;AAAA,IACA,OAAOC;AAAA,IACP,WAAAC;AAAA,IACA,QAAAC;AAAA,IACA,WAAAC;AAAA,IACA,GAAGC;AAAA,KAELC,MACG;AACH,UAAM,EAAE,GAAAC,EAAE,IAAIC,EAAe,CAAC,QAAQ,CAAC,GACjCC,IAAOC,KAGPC,IAAaF,KAAA,gBAAAA,EAAM,MAAMnB,IACzBsB,IAAQX,MAAa,SAAYA,IAAWU,GAE5CE,IACJ,OAAOD,KAAU,YACjB,OAAOA,KAAU,YAChB,MAAM,QAAQA,CAAK,KAAKA,EAAM,KAAK,CAACE,MAAM,OAAOA,KAAM,QAAQ,GAE5DC,IAAcC,EAAQ,MACtBH,KAAetB,EAAQ,SAAS,IAC3BK,IACHqB,EAAwBL,GAAcrB,CAAO,IAC7C2B,EAAmBN,GAAcrB,CAAO,IAEvCqB,GACN,CAACA,GAAOrB,GAASsB,GAAajB,CAAU,CAAC;AAE5C,IAAAuB,EAAU,MAAM;AACd,MACEN,KACAtB,EAAQ,SAAS,KACjBwB,KACA,KAAK,UAAUA,CAAW,MAAM,KAAK,UAAUH,CAAK,MAE9CH,KAAA,QAAAA,EAAA,SAASnB,GAAayB;AAAA,IAC9B,GACC,CAACA,GAAaH,GAAOrB,GAASsB,GAAaJ,GAAMnB,CAAI,CAAC;AAEzD,UAAM8B,IACJ3B,MACCG,IACG,MAAM,QAAQgB,CAAK,KAAKA,EAAM,SAAS,IACvC,OAAOA,KAAU,YAAY,CAAC,EAAEA,KAAA,QAAAA,EAAe,SAE/CS,IAAiB,CAACC,MAAa;AAE/B,MAAA,OAAQjB,EAAa,YAAa,cACnCA,EAAa,SAASiB,CAAG,GAI5BvB,KAAA,QAAAA,EAAcuB,GAAK;AAAA,QACjB,MAAAb;AAAA,QACA,OAAAT;AAAA,MAAA;AAAA,IACD;AAID,WAAA,gBAAAuB;AAAA,MAACC;AAAA,MAAA;AAAA,QACE,GAAG1B;AAAA,QACH,GAAGO;AAAA,QACJ,KAAAC;AAAA,QACA,OAAOS;AAAA,QACP,OAAA1B;AAAA,QACA,aAAAQ;AAAA,QACA,SAAAN;AAAA,QACA,WAAAC;AAAA,QACA,YAAAE;AAAA,QACA,cAAAC;AAAA,QACA,YAAAC;AAAA,QACA,eAAc;AAAA,QACd,YAAAwB;AAAA,QACA,qCAAoBK,GAAkB,EAAA;AAAA,QACtC,kBAAkBlB,EAAE,oBAAoB,kBAAkB;AAAA,QAC1D,WAAWmB;AAAA,UACT;AAAA,UACAxB;AAAA,UACAE,MAAc,YACV,6CACA;AAAA,QACN;AAAA,QACA,UAAUiB;AAAA,QACV,gBAAe;AAAA,QACf,QAAAlB;AAAA,MAAA;AAAA,IAAA;AAAA,EAGN;AACF;AAEAhB,EAAW,cAAc;"}
@@ -0,0 +1,58 @@
1
+ import { jsx as E } from "react/jsx-runtime";
2
+ import { useMemo as a } from "react";
3
+ import { useFormContext as I } from "react-hook-form";
4
+ import _ from "../../../../hookform/hookFormItem.js";
5
+ import { BaseSelect as k } from "./BaseSelect.js";
6
+ import { FORM_FIELD_TYPES as b } from "../../../constants.js";
7
+ const H = ({
8
+ field: S,
9
+ placement: L
10
+ }) => {
11
+ const {
12
+ label: M,
13
+ name: c,
14
+ serverSideProps: t,
15
+ isClearable: q,
16
+ required: x,
17
+ placeholder: C,
18
+ props: F,
19
+ onChange: O,
20
+ options: m = [],
21
+ isSearchable: P = !0,
22
+ type: u
23
+ } = S, T = u === b.MULTISELECT || u === b.EMPLOYEE_MULTI_SELECT, f = I(), s = a(() => ({ form: f }), [f]), {
24
+ getOptionsQuery: n,
25
+ getOptionsParams: r,
26
+ skip: i,
27
+ labelKey: d = "label",
28
+ valueKey: l = "value",
29
+ mapOptions: p
30
+ } = t || {}, y = a(() => t ? typeof r == "function" ? r(s) : r ?? {} : {}, [s, r, t]), g = n == null ? void 0 : n(y, {
31
+ skip: typeof i == "function" ? i(s) : i ?? !1
32
+ }), { data: e, isLoading: h } = g || {}, v = a(() => t ? p ? p(e ?? []) : (Array.isArray(e) ? e : (e == null ? void 0 : e.data) || []).map((o) => ({
33
+ label: o[d] ?? o.text ?? o.label ?? String(o[l]),
34
+ value: o[l]
35
+ })) : m, [e, p, d, l, m, t]);
36
+ return /* @__PURE__ */ E(_, { name: c, children: /* @__PURE__ */ E(
37
+ k,
38
+ {
39
+ label: M ?? "",
40
+ name: c,
41
+ options: v,
42
+ isLoading: h,
43
+ isClearable: q,
44
+ isRequired: x,
45
+ isSearchable: P,
46
+ isMultiple: T,
47
+ placeholder: C,
48
+ props: F,
49
+ onChange: O,
50
+ query: y,
51
+ placement: L
52
+ }
53
+ ) });
54
+ };
55
+ export {
56
+ H as UnifiedSelectField
57
+ };
58
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../../../../../../src/components/formGenerator/renderer/fields/select/index.tsx"],"sourcesContent":["import { useMemo } from \"react\";\nimport { useFormContext } from \"react-hook-form\";\nimport HookFormItem from \"@/components/hookform/hookFormItem\";\nimport { BaseSelect } from \"./BaseSelect\";\nimport {\n FieldComponentProps,\n SelectFieldConfig,\n FormSchema,\n FieldCtx,\n} from \"../../../types\";\nimport { FORM_FIELD_TYPES } from \"../../../constants\";\n\n/**\n * A unified select field that handles:\n * - Static options\n * - Server-side options (fetching via RTK Query)\n * - Single and multi-select modes\n * - Context-aware parameter passing\n */\nexport const UnifiedSelectField = <T extends FormSchema>({\n field,\n placement,\n}: FieldComponentProps<T, SelectFieldConfig<T>>) => {\n const {\n label,\n name,\n serverSideProps,\n isClearable,\n required,\n placeholder,\n props: fieldProps,\n onChange,\n options: staticOptions = [],\n isSearchable = true,\n type,\n } = field;\n\n const isMultiple =\n type === FORM_FIELD_TYPES.MULTISELECT ||\n type === FORM_FIELD_TYPES.EMPLOYEE_MULTI_SELECT;\n const form = useFormContext<T>();\n const ctx: FieldCtx<T> = useMemo(() => ({ form }), [form]);\n\n // Server-side logic extraction\n const {\n getOptionsQuery,\n getOptionsParams,\n skip,\n labelKey = \"label\",\n valueKey = \"value\",\n mapOptions,\n } = serverSideProps || {};\n\n // Resolve query arguments based on context\n const queryArgs = useMemo(() => {\n if (!serverSideProps) return {};\n return typeof getOptionsParams === \"function\"\n ? getOptionsParams(ctx)\n : getOptionsParams ?? {};\n }, [ctx, getOptionsParams, serverSideProps]);\n\n // Execute RTK Query if configured\n const query = getOptionsQuery?.(queryArgs, {\n skip: typeof skip === \"function\" ? skip(ctx) : skip ?? false,\n });\n\n const { data, isLoading } = query || {};\n\n // Map data to standardized options format\n const selectOptions = useMemo(() => {\n if (serverSideProps) {\n if (mapOptions) return mapOptions(data ?? []);\n const list = Array.isArray(data) ? data : (data as any)?.data || [];\n return list.map((r: any) => ({\n label: r[labelKey] ?? r.text ?? r.label ?? String(r[valueKey]),\n value: r[valueKey],\n }));\n }\n return staticOptions;\n }, [data, mapOptions, labelKey, valueKey, staticOptions, serverSideProps]);\n\n const content = (\n <BaseSelect\n label={label ?? \"\"}\n name={name}\n options={selectOptions as any}\n isLoading={isLoading}\n isClearable={isClearable}\n isRequired={required}\n isSearchable={isSearchable}\n isMultiple={isMultiple}\n placeholder={placeholder}\n props={fieldProps}\n onChange={onChange}\n query={queryArgs}\n placement={placement}\n />\n );\n\n return <HookFormItem name={name as any}>{content}</HookFormItem>;\n};\n"],"names":["UnifiedSelectField","field","placement","label","name","serverSideProps","isClearable","required","placeholder","fieldProps","onChange","staticOptions","isSearchable","type","isMultiple","FORM_FIELD_TYPES","form","useFormContext","ctx","useMemo","getOptionsQuery","getOptionsParams","skip","labelKey","valueKey","mapOptions","queryArgs","query","data","isLoading","selectOptions","r","jsx","HookFormItem","BaseSelect"],"mappings":";;;;;;AAmBO,MAAMA,IAAqB,CAAuB;AAAA,EACvD,OAAAC;AAAA,EACA,WAAAC;AACF,MAAoD;AAC5C,QAAA;AAAA,IACJ,OAAAC;AAAA,IACA,MAAAC;AAAA,IACA,iBAAAC;AAAA,IACA,aAAAC;AAAA,IACA,UAAAC;AAAA,IACA,aAAAC;AAAA,IACA,OAAOC;AAAA,IACP,UAAAC;AAAA,IACA,SAASC,IAAgB,CAAC;AAAA,IAC1B,cAAAC,IAAe;AAAA,IACf,MAAAC;AAAA,EACE,IAAAZ,GAEEa,IACJD,MAASE,EAAiB,eAC1BF,MAASE,EAAiB,uBACtBC,IAAOC,KACPC,IAAmBC,EAAQ,OAAO,EAAE,MAAAH,MAAS,CAACA,CAAI,CAAC,GAGnD;AAAA,IACJ,iBAAAI;AAAA,IACA,kBAAAC;AAAA,IACA,MAAAC;AAAA,IACA,UAAAC,IAAW;AAAA,IACX,UAAAC,IAAW;AAAA,IACX,YAAAC;AAAA,EAAA,IACEpB,KAAmB,CAAA,GAGjBqB,IAAYP,EAAQ,MACnBd,IACE,OAAOgB,KAAqB,aAC/BA,EAAiBH,CAAG,IACpBG,KAAoB,KAHK,IAI5B,CAACH,GAAKG,GAAkBhB,CAAe,CAAC,GAGrCsB,IAAQP,KAAA,gBAAAA,EAAkBM,GAAW;AAAA,IACzC,MAAM,OAAOJ,KAAS,aAAaA,EAAKJ,CAAG,IAAII,KAAQ;AAAA,EAAA,IAGnD,EAAE,MAAAM,GAAM,WAAAC,MAAcF,KAAS,CAAA,GAG/BG,IAAgBX,EAAQ,MACxBd,IACEoB,IAAmBA,EAAWG,KAAQ,CAAA,CAAE,KAC/B,MAAM,QAAQA,CAAI,IAAIA,KAAQA,KAAA,gBAAAA,EAAc,SAAQ,IACrD,IAAI,CAACG,OAAY;AAAA,IAC3B,OAAOA,EAAER,CAAQ,KAAKQ,EAAE,QAAQA,EAAE,SAAS,OAAOA,EAAEP,CAAQ,CAAC;AAAA,IAC7D,OAAOO,EAAEP,CAAQ;AAAA,EACjB,EAAA,IAEGb,GACN,CAACiB,GAAMH,GAAYF,GAAUC,GAAUb,GAAeN,CAAe,CAAC;AAoBlE,SAAA,gBAAA2B,EAACC,GAAa,EAAA,MAAA7B,GAAoB,UAjBvC,gBAAA4B;AAAA,IAACE;AAAA,IAAA;AAAA,MACC,OAAO/B,KAAS;AAAA,MAChB,MAAAC;AAAA,MACA,SAAS0B;AAAA,MACT,WAAAD;AAAA,MACA,aAAAvB;AAAA,MACA,YAAYC;AAAA,MACZ,cAAAK;AAAA,MACA,YAAAE;AAAA,MACA,aAAAN;AAAA,MACA,OAAOC;AAAA,MACP,UAAAC;AAAA,MACA,OAAOgB;AAAA,MACP,WAAAxB;AAAA,IAAA;AAAA,EAAA,EAI6C,CAAA;AACnD;"}
@@ -0,0 +1,23 @@
1
+ import { jsx as r } from "react/jsx-runtime";
2
+ import { useFormContext as m } from "react-hook-form";
3
+ import n from "../../../hookform/hookFormItem.js";
4
+ import a from "./attachments/singleAttachment.js";
5
+ const u = ({
6
+ field: e
7
+ }) => {
8
+ const o = m();
9
+ return /* @__PURE__ */ r(n, { name: e.name, children: /* @__PURE__ */ r(
10
+ a,
11
+ {
12
+ label: e.label,
13
+ value: o.watch(e.name),
14
+ onChange: (t) => o.setValue(e.name, t),
15
+ isRequired: e.required,
16
+ ...e.props
17
+ }
18
+ ) });
19
+ };
20
+ export {
21
+ u as SingleAttachmentField
22
+ };
23
+ //# sourceMappingURL=singleAttachmentField.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"singleAttachmentField.js","sources":["../../../../../src/components/formGenerator/renderer/fields/singleAttachmentField.tsx"],"sourcesContent":["import { useFormContext } from \"react-hook-form\";\nimport HookFormItem from \"@/components/hookform/hookFormItem\";\nimport SingleAttachment from \"./attachments/singleAttachment\";\nimport {\n FieldComponentProps,\n SingleAttachmentFieldConfig,\n FormSchema,\n} from \"../../types\";\n\nexport const SingleAttachmentField = <T extends FormSchema>({\n field,\n}: FieldComponentProps<T, SingleAttachmentFieldConfig<T>>) => {\n const form = useFormContext<T>();\n return (\n <HookFormItem name={field.name}>\n <SingleAttachment\n label={field.label}\n value={form.watch(field.name)}\n onChange={(file) => form.setValue(field.name, file as any)}\n isRequired={field.required}\n {...field.props}\n />\n </HookFormItem>\n );\n};\n"],"names":["SingleAttachmentField","field","form","useFormContext","jsx","HookFormItem","SingleAttachment","file"],"mappings":";;;;AASO,MAAMA,IAAwB,CAAuB;AAAA,EAC1D,OAAAC;AACF,MAA8D;AAC5D,QAAMC,IAAOC;AACb,SACG,gBAAAC,EAAAC,GAAA,EAAa,MAAMJ,EAAM,MACxB,UAAA,gBAAAG;AAAA,IAACE;AAAA,IAAA;AAAA,MACC,OAAOL,EAAM;AAAA,MACb,OAAOC,EAAK,MAAMD,EAAM,IAAI;AAAA,MAC5B,UAAU,CAACM,MAASL,EAAK,SAASD,EAAM,MAAMM,CAAW;AAAA,MACzD,YAAYN,EAAM;AAAA,MACjB,GAAGA,EAAM;AAAA,IAAA;AAAA,EAEd,EAAA,CAAA;AAEJ;"}
@@ -0,0 +1,24 @@
1
+ import { jsx as r } from "react/jsx-runtime";
2
+ import o from "../../../hookform/hookFormItem.js";
3
+ import { Textarea as a } from "@vivakits/react-components";
4
+ import { useTranslation as m } from "react-i18next";
5
+ const p = ({
6
+ field: e
7
+ }) => {
8
+ const { t } = m(["common"]);
9
+ return /* @__PURE__ */ r(o, { name: e.name, children: /* @__PURE__ */ r(
10
+ a,
11
+ {
12
+ label: e.label,
13
+ placeholder: e.placeholder || t("WRITE_HERE", "Write here"),
14
+ isRequired: e.required,
15
+ labelClassName: "text-gray-750 font-medium text-xs ltr:text-left rtl:text-right",
16
+ className: "w-full bg-white !rounded-lg",
17
+ ...e.props
18
+ }
19
+ ) });
20
+ };
21
+ export {
22
+ p as TextareaField
23
+ };
24
+ //# sourceMappingURL=textareaField.js.map