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.
- package/README.md +138 -0
- package/dist/assets/icons/ApprovalPaperWithSeal.js +32 -0
- package/dist/assets/icons/ApprovalPaperWithSeal.js.map +1 -0
- package/dist/assets/icons/CheckIconCircleGreen.js +40 -0
- package/dist/assets/icons/CheckIconCircleGreen.js.map +1 -0
- package/dist/assets/icons/CrossIconCircleRed.js +40 -0
- package/dist/assets/icons/CrossIconCircleRed.js.map +1 -0
- package/dist/assets/icons/RejectionPaperWithSeal.js +39 -0
- package/dist/assets/icons/RejectionPaperWithSeal.js.map +1 -0
- package/dist/assets/icons/attachIcon.js +23 -0
- package/dist/assets/icons/attachIcon.js.map +1 -0
- package/dist/assets/icons/bookmarkIcon.js +26 -0
- package/dist/assets/icons/bookmarkIcon.js.map +1 -0
- package/dist/assets/icons/bulbIcon.js +28 -0
- package/dist/assets/icons/bulbIcon.js.map +1 -0
- package/dist/assets/icons/calendar.js +98 -0
- package/dist/assets/icons/calendar.js.map +1 -0
- package/dist/assets/icons/checkboxIcon.js +31 -0
- package/dist/assets/icons/checkboxIcon.js.map +1 -0
- package/dist/assets/icons/chevronDownIcon.js +29 -0
- package/dist/assets/icons/chevronDownIcon.js.map +1 -0
- package/dist/assets/icons/chevronRightIcon.js +27 -0
- package/dist/assets/icons/chevronRightIcon.js.map +1 -0
- package/dist/assets/icons/confirmIcon.js +41 -0
- package/dist/assets/icons/confirmIcon.js.map +1 -0
- package/dist/assets/icons/deleteIcon.js +26 -0
- package/dist/assets/icons/deleteIcon.js.map +1 -0
- package/dist/assets/icons/deleteIconV1.js +51 -0
- package/dist/assets/icons/deleteIconV1.js.map +1 -0
- package/dist/assets/icons/deleteIconV2.js +28 -0
- package/dist/assets/icons/deleteIconV2.js.map +1 -0
- package/dist/assets/icons/deleteModalIcon.js +51 -0
- package/dist/assets/icons/deleteModalIcon.js.map +1 -0
- package/dist/assets/icons/downloadIcon.js +54 -0
- package/dist/assets/icons/downloadIcon.js.map +1 -0
- package/dist/assets/icons/editIconLatest.js +45 -0
- package/dist/assets/icons/editIconLatest.js.map +1 -0
- package/dist/assets/icons/editIconv2.js +45 -0
- package/dist/assets/icons/editIconv2.js.map +1 -0
- package/dist/assets/icons/heartIcon.js +27 -0
- package/dist/assets/icons/heartIcon.js.map +1 -0
- package/dist/assets/icons/leftArrow.js +25 -0
- package/dist/assets/icons/leftArrow.js.map +1 -0
- package/dist/assets/icons/noDataAmount.js +465 -0
- package/dist/assets/icons/noDataAmount.js.map +1 -0
- package/dist/assets/icons/noDataAttendanceSummery.js +465 -0
- package/dist/assets/icons/noDataAttendanceSummery.js.map +1 -0
- package/dist/assets/icons/noDataFoundImg.js +999 -0
- package/dist/assets/icons/noDataFoundImg.js.map +1 -0
- package/dist/assets/icons/noDataLeaveCalendar.js +472 -0
- package/dist/assets/icons/noDataLeaveCalendar.js.map +1 -0
- package/dist/assets/icons/noDataMainDashboard.js +469 -0
- package/dist/assets/icons/noDataMainDashboard.js.map +1 -0
- package/dist/assets/icons/noDataNotice.js +1004 -0
- package/dist/assets/icons/noDataNotice.js.map +1 -0
- package/dist/assets/icons/noDataQuickView.js +529 -0
- package/dist/assets/icons/noDataQuickView.js.map +1 -0
- package/dist/assets/icons/plusIcon.js +38 -0
- package/dist/assets/icons/plusIcon.js.map +1 -0
- package/dist/assets/icons/rightArrowIcon.js +26 -0
- package/dist/assets/icons/rightArrowIcon.js.map +1 -0
- package/dist/assets/icons/searchIcon.js +26 -0
- package/dist/assets/icons/searchIcon.js.map +1 -0
- package/dist/assets/icons/tooltipInfoIcon.js +26 -0
- package/dist/assets/icons/tooltipInfoIcon.js.map +1 -0
- package/dist/assets/icons/warningIcon.js +23 -0
- package/dist/assets/icons/warningIcon.js.map +1 -0
- package/dist/assets/icons/widgetIcon.js +85 -0
- package/dist/assets/icons/widgetIcon.js.map +1 -0
- package/dist/assets/icons/xIcon.js +27 -0
- package/dist/assets/icons/xIcon.js.map +1 -0
- package/dist/components/auth/WithPermission.js +14 -0
- package/dist/components/auth/WithPermission.js.map +1 -0
- package/dist/components/common/NoDataFound/index.js +59 -0
- package/dist/components/common/NoDataFound/index.js.map +1 -0
- package/dist/components/common/banner/index.js +47 -0
- package/dist/components/common/banner/index.js.map +1 -0
- package/dist/components/common/button/CancelBtn.js +26 -0
- package/dist/components/common/button/CancelBtn.js.map +1 -0
- package/dist/components/common/button/PrimaryBtn.js +26 -0
- package/dist/components/common/button/PrimaryBtn.js.map +1 -0
- package/dist/components/common/button/SaveBtn.js +26 -0
- package/dist/components/common/button/SaveBtn.js.map +1 -0
- package/dist/components/common/button/actionEdit.js +23 -0
- package/dist/components/common/button/actionEdit.js.map +1 -0
- package/dist/components/common/button/addNew.js +32 -0
- package/dist/components/common/button/addNew.js.map +1 -0
- package/dist/components/common/button/blueCancel.js +26 -0
- package/dist/components/common/button/blueCancel.js.map +1 -0
- package/dist/components/common/button/blueSave.js +24 -0
- package/dist/components/common/button/blueSave.js.map +1 -0
- package/dist/components/common/button/iconButton.js +67 -0
- package/dist/components/common/button/iconButton.js.map +1 -0
- package/dist/components/common/button/index.js +47 -0
- package/dist/components/common/button/index.js.map +1 -0
- package/dist/components/common/button/lightButton.js +16 -0
- package/dist/components/common/button/lightButton.js.map +1 -0
- package/dist/components/common/button/secondaryOutlinedButton.js +25 -0
- package/dist/components/common/button/secondaryOutlinedButton.js.map +1 -0
- package/dist/components/common/buttons/CancelBtn.js +26 -0
- package/dist/components/common/buttons/CancelBtn.js.map +1 -0
- package/dist/components/common/cards/employeeCard.js +18 -0
- package/dist/components/common/cards/employeeCard.js.map +1 -0
- package/dist/components/common/confirmModal/deleteConfirmationModal.js +31 -0
- package/dist/components/common/confirmModal/deleteConfirmationModal.js.map +1 -0
- package/dist/components/common/confirmModal/index.js +53 -0
- package/dist/components/common/confirmModal/index.js.map +1 -0
- package/dist/components/common/delete/index.js +93 -0
- package/dist/components/common/delete/index.js.map +1 -0
- package/dist/components/common/dropDownIndicator/index.js +9 -0
- package/dist/components/common/dropDownIndicator/index.js.map +1 -0
- package/dist/components/common/input/contactInput.js +19 -0
- package/dist/components/common/input/contactInput.js.map +1 -0
- package/dist/components/common/input/customInput.js +101 -0
- package/dist/components/common/input/customInput.js.map +1 -0
- package/dist/components/common/input/indeterminateCheckBox.js +39 -0
- package/dist/components/common/input/indeterminateCheckBox.js.map +1 -0
- package/dist/components/common/input/numberInput.js +21 -0
- package/dist/components/common/input/numberInput.js.map +1 -0
- package/dist/components/common/input/radioButton.js +26 -0
- package/dist/components/common/input/radioButton.js.map +1 -0
- package/dist/components/common/input/searchbox.js +26 -0
- package/dist/components/common/input/searchbox.js.map +1 -0
- package/dist/components/common/label/truncateLabel.js +32 -0
- package/dist/components/common/label/truncateLabel.js.map +1 -0
- package/dist/components/common/modalWrapper/approve/index.js +88 -0
- package/dist/components/common/modalWrapper/approve/index.js.map +1 -0
- package/dist/components/common/modalWrapper/deleteModalWrapper.js +64 -0
- package/dist/components/common/modalWrapper/deleteModalWrapper.js.map +1 -0
- package/dist/components/common/modalWrapper/reject/index.js +88 -0
- package/dist/components/common/modalWrapper/reject/index.js.map +1 -0
- package/dist/components/common/pagination/index.js +65 -0
- package/dist/components/common/pagination/index.js.map +1 -0
- package/dist/components/common/pagination/pageLink.js +31 -0
- package/dist/components/common/pagination/pageLink.js.map +1 -0
- package/dist/components/common/tooltip/infoTooltip.js +21 -0
- package/dist/components/common/tooltip/infoTooltip.js.map +1 -0
- package/dist/components/common/userHelpTips/index.js +36 -0
- package/dist/components/common/userHelpTips/index.js.map +1 -0
- package/dist/components/dsl/DslTable/components/DeleteEntityModal.js +33 -0
- package/dist/components/dsl/DslTable/components/DeleteEntityModal.js.map +1 -0
- package/dist/components/dsl/DslTable/factories/ActionFactories.js +79 -0
- package/dist/components/dsl/DslTable/factories/ActionFactories.js.map +1 -0
- package/dist/components/errors/emptyLoadingFallback.js +7 -0
- package/dist/components/errors/emptyLoadingFallback.js.map +1 -0
- package/dist/components/errors/errorFallback.js +30 -0
- package/dist/components/errors/errorFallback.js.map +1 -0
- package/dist/components/formGenerator/components/modalWrapper.js +42 -0
- package/dist/components/formGenerator/components/modalWrapper.js.map +1 -0
- package/dist/components/formGenerator/constants.js +42 -0
- package/dist/components/formGenerator/constants.js.map +1 -0
- package/dist/components/formGenerator/helpers/index.js +267 -0
- package/dist/components/formGenerator/helpers/index.js.map +1 -0
- package/dist/components/formGenerator/hooks/useFormGenerator.js +30 -0
- package/dist/components/formGenerator/hooks/useFormGenerator.js.map +1 -0
- package/dist/components/formGenerator/index.js +148 -0
- package/dist/components/formGenerator/index.js.map +1 -0
- package/dist/components/formGenerator/layouts/footer.js +65 -0
- package/dist/components/formGenerator/layouts/footer.js.map +1 -0
- package/dist/components/formGenerator/layouts/formLayout.js +118 -0
- package/dist/components/formGenerator/layouts/formLayout.js.map +1 -0
- package/dist/components/formGenerator/renderer/FieldDispatcher.js +48 -0
- package/dist/components/formGenerator/renderer/FieldDispatcher.js.map +1 -0
- package/dist/components/formGenerator/renderer/fieldRenderer.js +15 -0
- package/dist/components/formGenerator/renderer/fieldRenderer.js.map +1 -0
- package/dist/components/formGenerator/renderer/fields/attachments/multiAttachment.js +165 -0
- package/dist/components/formGenerator/renderer/fields/attachments/multiAttachment.js.map +1 -0
- package/dist/components/formGenerator/renderer/fields/attachments/singleAttachment.js +125 -0
- package/dist/components/formGenerator/renderer/fields/attachments/singleAttachment.js.map +1 -0
- package/dist/components/formGenerator/renderer/fields/checkboxField.js +24 -0
- package/dist/components/formGenerator/renderer/fields/checkboxField.js.map +1 -0
- package/dist/components/formGenerator/renderer/fields/datePickerField.js +29 -0
- package/dist/components/formGenerator/renderer/fields/datePickerField.js.map +1 -0
- package/dist/components/formGenerator/renderer/fields/datePickerRangeField.js +30 -0
- package/dist/components/formGenerator/renderer/fields/datePickerRangeField.js.map +1 -0
- package/dist/components/formGenerator/renderer/fields/employeeSelect.js +153 -0
- package/dist/components/formGenerator/renderer/fields/employeeSelect.js.map +1 -0
- package/dist/components/formGenerator/renderer/fields/employeeSelectField.js +24 -0
- package/dist/components/formGenerator/renderer/fields/employeeSelectField.js.map +1 -0
- package/dist/components/formGenerator/renderer/fields/inputField.js +30 -0
- package/dist/components/formGenerator/renderer/fields/inputField.js.map +1 -0
- package/dist/components/formGenerator/renderer/fields/multiAttachmentField.js +28 -0
- package/dist/components/formGenerator/renderer/fields/multiAttachmentField.js.map +1 -0
- package/dist/components/formGenerator/renderer/fields/radioField.js +25 -0
- package/dist/components/formGenerator/renderer/fields/radioField.js.map +1 -0
- package/dist/components/formGenerator/renderer/fields/radioGroup.js +58 -0
- package/dist/components/formGenerator/renderer/fields/radioGroup.js.map +1 -0
- package/dist/components/formGenerator/renderer/fields/select/BaseSelect.js +73 -0
- package/dist/components/formGenerator/renderer/fields/select/BaseSelect.js.map +1 -0
- package/dist/components/formGenerator/renderer/fields/select/index.js +58 -0
- package/dist/components/formGenerator/renderer/fields/select/index.js.map +1 -0
- package/dist/components/formGenerator/renderer/fields/singleAttachmentField.js +23 -0
- package/dist/components/formGenerator/renderer/fields/singleAttachmentField.js.map +1 -0
- package/dist/components/formGenerator/renderer/fields/textareaField.js +24 -0
- package/dist/components/formGenerator/renderer/fields/textareaField.js.map +1 -0
- package/dist/components/formGenerator/renderer/fields/utils.js +11 -0
- package/dist/components/formGenerator/renderer/fields/utils.js.map +1 -0
- package/dist/components/hookform/hookFormItem.js +36 -0
- package/dist/components/hookform/hookFormItem.js.map +1 -0
- package/dist/components/ui/customDatePicker.js +109 -0
- package/dist/components/ui/customDatePicker.js.map +1 -0
- package/dist/components/ui/customRangeDatePicker.js +91 -0
- package/dist/components/ui/customRangeDatePicker.js.map +1 -0
- package/dist/components/ui/table.js +84 -0
- package/dist/components/ui/table.js.map +1 -0
- package/dist/components/ui/toggle.js +37 -0
- package/dist/components/ui/toggle.js.map +1 -0
- package/dist/i18n/index.js +19 -0
- package/dist/i18n/index.js.map +1 -0
- package/dist/images/no-profile-image.jpg +0 -0
- package/dist/images/pihr_logo.png +0 -0
- package/dist/index.css.js +5 -0
- package/dist/index.css.js.map +1 -0
- package/dist/index.js +122 -0
- package/dist/index.js.map +1 -0
- package/dist/libs/index.js +9 -0
- package/dist/libs/index.js.map +1 -0
- package/dist/noDataAmount-2e25098d.cjs +2 -0
- package/dist/noDataAmount-2e25098d.cjs.map +1 -0
- package/dist/noDataAttendanceSummery-2e25098d.cjs +2 -0
- package/dist/noDataAttendanceSummery-2e25098d.cjs.map +1 -0
- package/dist/noDataFoundImg-52407d7f.cjs +2 -0
- package/dist/noDataFoundImg-52407d7f.cjs.map +1 -0
- package/dist/noDataLeaveCalendar-caba7e5b.cjs +2 -0
- package/dist/noDataLeaveCalendar-caba7e5b.cjs.map +1 -0
- package/dist/noDataMainDashboard-15368fc3.cjs +2 -0
- package/dist/noDataMainDashboard-15368fc3.cjs.map +1 -0
- package/dist/noDataNotice-90d39b08.cjs +2 -0
- package/dist/noDataNotice-90d39b08.cjs.map +1 -0
- package/dist/noDataQuickView-4780683b.cjs +2 -0
- package/dist/noDataQuickView-4780683b.cjs.map +1 -0
- package/dist/not-found.svg +1 -0
- package/dist/pihr-ui-kit.cjs.js +4 -0
- package/dist/pihr-ui-kit.cjs.js.map +1 -0
- package/dist/services/employeeService.js +23 -0
- package/dist/services/employeeService.js.map +1 -0
- package/dist/services/httpService.js +15 -0
- package/dist/services/httpService.js.map +1 -0
- package/dist/stats.html +4949 -0
- package/dist/style.css +1 -0
- package/dist/types/App.d.ts +2 -0
- package/dist/types/assets/icons/ApprovalPaperWithSeal.d.ts +3 -0
- package/dist/types/assets/icons/CheckIconCircleGreen.d.ts +3 -0
- package/dist/types/assets/icons/CrossIconCircleRed.d.ts +3 -0
- package/dist/types/assets/icons/ExcelFileIcon.d.ts +2 -0
- package/dist/types/assets/icons/RejectionPaperWithSeal.d.ts +3 -0
- package/dist/types/assets/icons/addIcon.d.ts +3 -0
- package/dist/types/assets/icons/attachIcon.d.ts +4 -0
- package/dist/types/assets/icons/bookmarkIcon.d.ts +4 -0
- package/dist/types/assets/icons/bulbIcon.d.ts +3 -0
- package/dist/types/assets/icons/calendar.d.ts +3 -0
- package/dist/types/assets/icons/checkboxIcon.d.ts +1 -0
- package/dist/types/assets/icons/chevronDownIcon.d.ts +4 -0
- package/dist/types/assets/icons/chevronRightIcon.d.ts +4 -0
- package/dist/types/assets/icons/close.d.ts +2 -0
- package/dist/types/assets/icons/confirmIcon.d.ts +3 -0
- package/dist/types/assets/icons/cross.d.ts +3 -0
- package/dist/types/assets/icons/deleteIcon.d.ts +4 -0
- package/dist/types/assets/icons/deleteIconV1.d.ts +6 -0
- package/dist/types/assets/icons/deleteIconV2.d.ts +3 -0
- package/dist/types/assets/icons/deleteIconV4.d.ts +3 -0
- package/dist/types/assets/icons/deleteModalIcon.d.ts +6 -0
- package/dist/types/assets/icons/downloadIcon.d.ts +4 -0
- package/dist/types/assets/icons/downloadIconV2.d.ts +4 -0
- package/dist/types/assets/icons/editIconLatest.d.ts +3 -0
- package/dist/types/assets/icons/editIconv2.d.ts +3 -0
- package/dist/types/assets/icons/file-pdf.d.ts +2 -0
- package/dist/types/assets/icons/heartIcon.d.ts +4 -0
- package/dist/types/assets/icons/index.d.ts +11 -0
- package/dist/types/assets/icons/language.d.ts +2 -0
- package/dist/types/assets/icons/leftArrow.d.ts +2 -0
- package/dist/types/assets/icons/leftArrowIcon.d.ts +5 -0
- package/dist/types/assets/icons/noDataAmount.d.ts +2 -0
- package/dist/types/assets/icons/noDataAttendanceSummery.d.ts +2 -0
- package/dist/types/assets/icons/noDataFoundImg.d.ts +2 -0
- package/dist/types/assets/icons/noDataLeaveCalendar.d.ts +2 -0
- package/dist/types/assets/icons/noDataMainDashboard.d.ts +2 -0
- package/dist/types/assets/icons/noDataNotice.d.ts +2 -0
- package/dist/types/assets/icons/noDataQuickView.d.ts +2 -0
- package/dist/types/assets/icons/plusIcon.d.ts +3 -0
- package/dist/types/assets/icons/rightArrowIcon.d.ts +5 -0
- package/dist/types/assets/icons/rtl.d.ts +2 -0
- package/dist/types/assets/icons/searchIcon.d.ts +5 -0
- package/dist/types/assets/icons/tooltipInfoIcon.d.ts +3 -0
- package/dist/types/assets/icons/topSheet.d.ts +2 -0
- package/dist/types/assets/icons/verticalDots.d.ts +6 -0
- package/dist/types/assets/icons/warningIcon.d.ts +5 -0
- package/dist/types/assets/icons/widgetIcon.d.ts +2 -0
- package/dist/types/assets/icons/xIcon.d.ts +2 -0
- package/dist/types/components/auth/WithPermission.d.ts +7 -0
- package/dist/types/components/common/NoDataFound/index.d.ts +4 -0
- package/dist/types/components/common/appButton/index.d.ts +14 -0
- package/dist/types/components/common/banner/index.d.ts +11 -0
- package/dist/types/components/common/button/CancelBtn.d.ts +13 -0
- package/dist/types/components/common/button/PrimaryBtn.d.ts +13 -0
- package/dist/types/components/common/button/SaveBtn.d.ts +13 -0
- package/dist/types/components/common/button/actionEdit.d.ts +7 -0
- package/dist/types/components/common/button/addNew.d.ts +7 -0
- package/dist/types/components/common/button/blueCancel.d.ts +7 -0
- package/dist/types/components/common/button/blueSave.d.ts +7 -0
- package/dist/types/components/common/button/iconButton.d.ts +13 -0
- package/dist/types/components/common/button/index.d.ts +14 -0
- package/dist/types/components/common/button/lightButton.d.ts +8 -0
- package/dist/types/components/common/button/secondaryOutlinedButton.d.ts +9 -0
- package/dist/types/components/common/buttons/CancelBtn.d.ts +13 -0
- package/dist/types/components/common/buttons/blueSave.d.ts +7 -0
- package/dist/types/components/common/cards/employeeCard.d.ts +7 -0
- package/dist/types/components/common/checkbox.d.ts +10 -0
- package/dist/types/components/common/colorPicker/index.d.ts +4 -0
- package/dist/types/components/common/confirmModal/deleteConfirmationModal.d.ts +7 -0
- package/dist/types/components/common/confirmModal/deleteModalWrapper.d.ts +10 -0
- package/dist/types/components/common/confirmModal/index.d.ts +9 -0
- package/dist/types/components/common/delete/index.d.ts +15 -0
- package/dist/types/components/common/dropDownIndicator/index.d.ts +4 -0
- package/dist/types/components/common/dropdown/index.d.ts +24 -0
- package/dist/types/components/common/errorMessage/index.d.ts +9 -0
- package/dist/types/components/common/expandableText.d.ts +7 -0
- package/dist/types/components/common/input/contactInput.d.ts +14 -0
- package/dist/types/components/common/input/customInput.d.ts +29 -0
- package/dist/types/components/common/input/indeterminateCheckBox.d.ts +4 -0
- package/dist/types/components/common/input/numberInput.d.ts +6 -0
- package/dist/types/components/common/input/radioButton.d.ts +11 -0
- package/dist/types/components/common/input/searchbox.d.ts +10 -0
- package/dist/types/components/common/label/truncateLabel.d.ts +10 -0
- package/dist/types/components/common/modal/createUpdate/createUpdateModalFooter.d.ts +7 -0
- package/dist/types/components/common/modal/createUpdate/createUpdateModalWrapper.d.ts +9 -0
- package/dist/types/components/common/modal/modalHeader.d.ts +8 -0
- package/dist/types/components/common/modalWrapper/approve/index.d.ts +14 -0
- package/dist/types/components/common/modalWrapper/deleteModalWrapper.d.ts +10 -0
- package/dist/types/components/common/modalWrapper/reject/index.d.ts +14 -0
- package/dist/types/components/common/pagination/index.d.ts +8 -0
- package/dist/types/components/common/pagination/pageLink.d.ts +6 -0
- package/dist/types/components/common/reportComponent/filterItems/Checkbox.d.ts +14 -0
- package/dist/types/components/common/reportComponent/filterItems/CheckboxGroup.d.ts +16 -0
- package/dist/types/components/common/reportComponent/filterItems/Date.d.ts +17 -0
- package/dist/types/components/common/reportComponent/filterItems/DateRange.d.ts +22 -0
- package/dist/types/components/common/reportComponent/filterItems/Input.d.ts +17 -0
- package/dist/types/components/common/reportComponent/filterItems/InputRange.d.ts +16 -0
- package/dist/types/components/common/reportComponent/filterItems/ParentChildCheckboxGroup.d.ts +25 -0
- package/dist/types/components/common/reportComponent/filterItems/RadioButtons.d.ts +16 -0
- package/dist/types/components/common/reportComponent/filterItems/Select.d.ts +31 -0
- package/dist/types/components/common/reportComponent/filterItems/TimeRange.d.ts +15 -0
- package/dist/types/components/common/reportComponent/index.d.ts +27 -0
- package/dist/types/components/common/reportComponent/utils.d.ts +62 -0
- package/dist/types/components/common/singleAttachmentInput.d.ts +21 -0
- package/dist/types/components/common/switch/switch.d.ts +9 -0
- package/dist/types/components/common/table/asyncTable.d.ts +7 -0
- package/dist/types/components/common/table/cells/bodyCell.d.ts +7 -0
- package/dist/types/components/common/table/cells/headerCell.d.ts +7 -0
- package/dist/types/components/common/table/cells/tableColumnBody.d.ts +7 -0
- package/dist/types/components/common/table/cells/tableColumnHeader.d.ts +7 -0
- package/dist/types/components/common/table/simpleTable.d.ts +15 -0
- package/dist/types/components/common/table/vkTable.d.ts +24 -0
- package/dist/types/components/common/tooltip/infoTooltip.d.ts +6 -0
- package/dist/types/components/common/userHelpTips/index.d.ts +11 -0
- package/dist/types/components/common/wrapper/index.d.ts +3 -0
- package/dist/types/components/dsl/DslTable/DslTable.d.ts +4 -0
- package/dist/types/components/dsl/DslTable/DslTableLayout.d.ts +1 -0
- package/dist/types/components/dsl/DslTable/components/ActionRenderer.d.ts +10 -0
- package/dist/types/components/dsl/DslTable/components/DeleteEntityModal.d.ts +10 -0
- package/dist/types/components/dsl/DslTable/components/ModalManager.d.ts +1 -0
- package/dist/types/components/dsl/DslTable/core/context/DslTableContext.d.ts +64 -0
- package/dist/types/components/dsl/DslTable/core/context/DslTableProvider.d.ts +6 -0
- package/dist/types/components/dsl/DslTable/core/utils/configs.d.ts +11 -0
- package/dist/types/components/dsl/DslTable/core/utils/index.d.ts +3 -0
- package/dist/types/components/dsl/DslTable/factories/ActionFactories.d.ts +63 -0
- package/dist/types/components/dsl/DslTable/factories/index.d.ts +1 -0
- package/dist/types/components/dsl/DslTable/features/Table/TableRenderer.d.ts +1 -0
- package/dist/types/components/dsl/DslTable/features/Table/columns/components/ColumnRenderers.d.ts +30 -0
- package/dist/types/components/dsl/DslTable/features/Table/columns/components/RowActionsRenderer.d.ts +10 -0
- package/dist/types/components/dsl/DslTable/features/Table/columns/components/TableBodyWrapper.d.ts +6 -0
- package/dist/types/components/dsl/DslTable/features/Table/columns/index.d.ts +1 -0
- package/dist/types/components/dsl/DslTable/features/Table/columns/utils/columnUtils.d.ts +46 -0
- package/dist/types/components/dsl/DslTable/features/Topbar/TopbarRenderer.d.ts +1 -0
- package/dist/types/components/dsl/DslTable/features/Topbar/components/filters/FilterItems.d.ts +21 -0
- package/dist/types/components/dsl/DslTable/features/Topbar/components/filters/SelectFilterItem.d.ts +10 -0
- package/dist/types/components/dsl/DslTable/features/Topbar/components/renderers/ActionsRenderer.d.ts +7 -0
- package/dist/types/components/dsl/DslTable/features/Topbar/components/renderers/BulkActionsRenderer.d.ts +7 -0
- package/dist/types/components/dsl/DslTable/features/Topbar/components/renderers/FiltersRenderer.d.ts +7 -0
- package/dist/types/components/dsl/DslTable/features/Topbar/components/renderers/SearchRenderer.d.ts +16 -0
- package/dist/types/components/dsl/DslTable/features/Topbar/hooks/useTopbarLogic.d.ts +8 -0
- package/dist/types/components/dsl/DslTable/index.d.ts +3 -0
- package/dist/types/components/dsl/DslTable/types/actions.d.ts +103 -0
- package/dist/types/components/dsl/DslTable/types/base.d.ts +58 -0
- package/dist/types/components/dsl/DslTable/types/dsl.d.ts +71 -0
- package/dist/types/components/dsl/DslTable/types/index.d.ts +5 -0
- package/dist/types/components/dsl/DslTable/types/table.d.ts +167 -0
- package/dist/types/components/dsl/DslTable/types/topbar.d.ts +167 -0
- package/dist/types/components/dsl/DslTable/types/utils.d.ts +11 -0
- package/dist/types/components/errors/emptyLoadingFallback.d.ts +2 -0
- package/dist/types/components/errors/errorFallback.d.ts +6 -0
- package/dist/types/components/formGenerator/components/modalWrapper.d.ts +10 -0
- package/dist/types/components/formGenerator/constants.d.ts +53 -0
- package/dist/types/components/formGenerator/helpers/index.d.ts +34 -0
- package/dist/types/components/formGenerator/hooks/useFormGenerator.d.ts +18 -0
- package/dist/types/components/formGenerator/index.d.ts +3 -0
- package/dist/types/components/formGenerator/layouts/footer.d.ts +10 -0
- package/dist/types/components/formGenerator/layouts/formLayout.d.ts +11 -0
- package/dist/types/components/formGenerator/renderer/FieldDispatcher.d.ts +4 -0
- package/dist/types/components/formGenerator/renderer/fieldRenderer.d.ts +4 -0
- package/dist/types/components/formGenerator/renderer/fields/attachments/multiAttachment.d.ts +23 -0
- package/dist/types/components/formGenerator/renderer/fields/attachments/singleAttachment.d.ts +26 -0
- package/dist/types/components/formGenerator/renderer/fields/checkboxField.d.ts +2 -0
- package/dist/types/components/formGenerator/renderer/fields/datePickerField.d.ts +2 -0
- package/dist/types/components/formGenerator/renderer/fields/datePickerRangeField.d.ts +2 -0
- package/dist/types/components/formGenerator/renderer/fields/employeeSelect.d.ts +18 -0
- package/dist/types/components/formGenerator/renderer/fields/employeeSelectField.d.ts +2 -0
- package/dist/types/components/formGenerator/renderer/fields/inputField.d.ts +2 -0
- package/dist/types/components/formGenerator/renderer/fields/multiAttachmentField.d.ts +2 -0
- package/dist/types/components/formGenerator/renderer/fields/radioField.d.ts +2 -0
- package/dist/types/components/formGenerator/renderer/fields/radioGroup.d.ts +18 -0
- package/dist/types/components/formGenerator/renderer/fields/select/BaseSelect.d.ts +22 -0
- package/dist/types/components/formGenerator/renderer/fields/select/index.d.ts +9 -0
- package/dist/types/components/formGenerator/renderer/fields/singleAttachmentField.d.ts +2 -0
- package/dist/types/components/formGenerator/renderer/fields/textareaField.d.ts +2 -0
- package/dist/types/components/formGenerator/renderer/fields/utils.d.ts +3 -0
- package/dist/types/components/formGenerator/renderer/types.d.ts +1 -0
- package/dist/types/components/formGenerator/types/common.d.ts +105 -0
- package/dist/types/components/formGenerator/types/fields.d.ts +238 -0
- package/dist/types/components/formGenerator/types/index.d.ts +95 -0
- package/dist/types/components/formGenerator/types/layout.d.ts +73 -0
- package/dist/types/components/hookform/hookFormItem.d.ts +9 -0
- package/dist/types/components/layout/status/paymentDue.d.ts +6 -0
- package/dist/types/components/routes/protectedRoute.d.ts +6 -0
- package/dist/types/components/table/dataTable/components/overlays/loadingOverlay.d.ts +7 -0
- package/dist/types/components/table/dataTable/components/overlays/notFoundOverlay.d.ts +7 -0
- package/dist/types/components/table/dataTable/components/pagination/index.d.ts +15 -0
- package/dist/types/components/table/dataTable/components/pagination/paginationButton.d.ts +6 -0
- package/dist/types/components/table/dataTable/components/pagination/usePagination.d.ts +12 -0
- package/dist/types/components/table/dataTable/components/tableViews/standardTable.d.ts +6 -0
- package/dist/types/components/table/dataTable/components/tableViews/virtualTable.d.ts +6 -0
- package/dist/types/components/table/dataTable/index.d.ts +32 -0
- package/dist/types/components/table/dataTable/types.d.ts +19 -0
- package/dist/types/components/ui/customDatePicker.d.ts +28 -0
- package/dist/types/components/ui/customRangeDatePicker.d.ts +32 -0
- package/dist/types/components/ui/loading/emptyLoadingFallback.d.ts +2 -0
- package/dist/types/components/ui/loading/loadingFallback.d.ts +2 -0
- package/dist/types/components/ui/status.d.ts +9 -0
- package/dist/types/components/ui/table.d.ts +28 -0
- package/dist/types/components/ui/toggle.d.ts +9 -0
- package/dist/types/hooks/useCurrentPage.d.ts +2 -0
- package/dist/types/hooks/useDebounce.d.ts +2 -0
- package/dist/types/hooks/useOnClickOutside.d.ts +2 -0
- package/dist/types/hooks/useOnClickOutsideRef.d.ts +2 -0
- package/dist/types/hooks/usePagination.d.ts +2 -0
- package/dist/types/hooks/useWhyDidYouUpdate.d.ts +2 -0
- package/dist/types/i18n/index.d.ts +2 -0
- package/dist/types/index.d.ts +50 -0
- package/dist/types/libs/index.d.ts +2 -0
- package/dist/types/main.d.ts +2 -0
- package/dist/types/services/employeeService.d.ts +11 -0
- package/dist/types/services/httpService.d.ts +11 -0
- package/dist/types/services/reportService.d.ts +4 -0
- package/dist/types/types/common.d.ts +11 -0
- package/dist/types/types/menu.d.ts +26 -0
- package/dist/types/utils/asyncTableStyles.d.ts +19 -0
- package/dist/types/utils/auth-helpers.d.ts +9 -0
- package/dist/types/utils/cn/index.d.ts +2 -0
- package/dist/types/utils/compareObjects.d.ts +1 -0
- package/dist/types/utils/constants.d.ts +17 -0
- package/dist/types/utils/cookie.d.ts +1 -0
- package/dist/types/utils/data.d.ts +6 -0
- package/dist/types/utils/dataStructures/trie.d.ts +6 -0
- package/dist/types/utils/date.d.ts +16 -0
- package/dist/types/utils/debounce.d.ts +1 -0
- package/dist/types/utils/helpers.d.ts +5 -0
- package/dist/types/utils/index.d.ts +3 -0
- package/dist/types/utils/local-storage.d.ts +4 -0
- package/dist/types/utils/pagination-helper.d.ts +1 -0
- package/dist/types/utils/report-endpoint.d.ts +86 -0
- package/dist/types/utils/screenInfo.d.ts +1 -0
- package/dist/types/utils/selectStyles.d.ts +6 -0
- package/dist/types/utils/toast-helpers.d.ts +3 -0
- package/dist/types/utils/translation-helpers.d.ts +4 -0
- package/dist/utils/asyncTableStyles.js +35 -0
- package/dist/utils/asyncTableStyles.js.map +1 -0
- package/dist/utils/auth-helpers.js +107 -0
- package/dist/utils/auth-helpers.js.map +1 -0
- package/dist/utils/constants.js +5 -0
- package/dist/utils/constants.js.map +1 -0
- package/dist/utils/dataStructures/trie.js +38 -0
- package/dist/utils/dataStructures/trie.js.map +1 -0
- package/dist/utils/date.js +42 -0
- package/dist/utils/date.js.map +1 -0
- package/dist/utils/debounce.js +14 -0
- package/dist/utils/debounce.js.map +1 -0
- package/dist/utils/helpers.js +9 -0
- package/dist/utils/helpers.js.map +1 -0
- package/dist/utils/index.js +17 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/utils/local-storage.js +20 -0
- package/dist/utils/local-storage.js.map +1 -0
- package/dist/utils/pagination-helper.js +43 -0
- package/dist/utils/pagination-helper.js.map +1 -0
- package/dist/utils/report-endpoint.js +90 -0
- package/dist/utils/report-endpoint.js.map +1 -0
- package/dist/utils/screenInfo.js +25 -0
- package/dist/utils/screenInfo.js.map +1 -0
- package/dist/utils/selectStyles.js +10 -0
- package/dist/utils/selectStyles.js.map +1 -0
- package/dist/utils/toast-helpers.js +9 -0
- package/dist/utils/toast-helpers.js.map +1 -0
- package/dist/utils/translation-helpers.js +9 -0
- package/dist/utils/translation-helpers.js.map +1 -0
- package/dist/vite.svg +1 -0
- package/dist/widgetIcon-f87570b7.cjs +2 -0
- package/dist/widgetIcon-f87570b7.cjs.map +1 -0
- 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
|