@atomsolution/sdk-merchant 1.0.0

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 (159) hide show
  1. package/README.md +93 -0
  2. package/dist/App.d.ts +3 -0
  3. package/dist/assets/locales/en/common.json.d.ts +18 -0
  4. package/dist/assets/locales/en/digistore-id.json.d.ts +32 -0
  5. package/dist/assets/locales/en/download-sample.json.d.ts +59 -0
  6. package/dist/assets/locales/en/file.json.d.ts +48 -0
  7. package/dist/assets/locales/en/form.json.d.ts +85 -0
  8. package/dist/assets/locales/en/merchant-batch-create-form.json.d.ts +92 -0
  9. package/dist/assets/locales/en/table.json.d.ts +36 -0
  10. package/dist/assets/locales/vi/common.json.d.ts +18 -0
  11. package/dist/assets/locales/vi/digistore-id.json.d.ts +32 -0
  12. package/dist/assets/locales/vi/download-sample.json.d.ts +59 -0
  13. package/dist/assets/locales/vi/file.json.d.ts +48 -0
  14. package/dist/assets/locales/vi/form.json.d.ts +85 -0
  15. package/dist/assets/locales/vi/merchant-batch-create-form.json.d.ts +92 -0
  16. package/dist/assets/locales/vi/table.json.d.ts +35 -0
  17. package/dist/bvbLogo.png +0 -0
  18. package/dist/components/MerchantBatchCreateForm/DownloadSampleFile.d.ts +1 -0
  19. package/dist/components/MerchantBatchCreateForm/FileUpload/fileUploadButton.d.ts +6 -0
  20. package/dist/components/MerchantBatchCreateForm/FileUpload/sheetDropDown.d.ts +7 -0
  21. package/dist/components/MerchantBatchCreateForm/Layout/Layout.d.ts +12 -0
  22. package/dist/components/MerchantBatchCreateForm/ProductInfoPreview/ProductPreviewTable/CategoryCell.d.ts +8 -0
  23. package/dist/components/MerchantBatchCreateForm/ProductInfoPreview/ProductPreviewTable/UploadImageCell.d.ts +9 -0
  24. package/dist/components/MerchantBatchCreateForm/ProductInfoPreview/ProductPreviewTable/index.d.ts +8 -0
  25. package/dist/components/MerchantBatchCreateForm/ProductInfoPreview/index.d.ts +2 -0
  26. package/dist/components/MerchantBatchCreateForm/fieldMappingPopup.d.ts +8 -0
  27. package/dist/components/MerchantBatchCreateForm/fileUploadTab.d.ts +1 -0
  28. package/dist/components/MerchantBatchCreateForm/hook/useFileValidator.d.ts +8 -0
  29. package/dist/components/MerchantBatchCreateForm/index.d.ts +1 -0
  30. package/dist/components/MerchantBatchCreateForm/mergeAndCheckData.d.ts +1 -0
  31. package/dist/components/MerchantBatchCreateForm/modals/CreateProductConfirmModal.d.ts +10 -0
  32. package/dist/components/MerchantBatchCreateForm/modals/CreateProductSuccessModal.d.ts +12 -0
  33. package/dist/components/MerchantBatchCreateForm/modals/DeleteImageConfirmModal.d.ts +8 -0
  34. package/dist/components/MerchantBatchCreateForm/modals/UpdateProductModal/CategoriesInput/index.d.ts +9 -0
  35. package/dist/components/MerchantBatchCreateForm/modals/UpdateProductModal/UnitSelect/UnitSelectUI/DropdownContent/ActionButtons.d.ts +7 -0
  36. package/dist/components/MerchantBatchCreateForm/modals/UpdateProductModal/UnitSelect/UnitSelectUI/DropdownContent/AddOptionComponent.d.ts +13 -0
  37. package/dist/components/MerchantBatchCreateForm/modals/UpdateProductModal/UnitSelect/UnitSelectUI/DropdownContent/OptionItem/EditOptionComponent.d.ts +14 -0
  38. package/dist/components/MerchantBatchCreateForm/modals/UpdateProductModal/UnitSelect/UnitSelectUI/DropdownContent/OptionItem/index.d.ts +18 -0
  39. package/dist/components/MerchantBatchCreateForm/modals/UpdateProductModal/UnitSelect/UnitSelectUI/DropdownContent/SelectButton.d.ts +11 -0
  40. package/dist/components/MerchantBatchCreateForm/modals/UpdateProductModal/UnitSelect/UnitSelectUI/DropdownContent/index.d.ts +22 -0
  41. package/dist/components/MerchantBatchCreateForm/modals/UpdateProductModal/UnitSelect/UnitSelectUI/index.d.ts +4 -0
  42. package/dist/components/MerchantBatchCreateForm/modals/UpdateProductModal/UnitSelect/UnitSelectUI/utils/LocalStorage.d.ts +6 -0
  43. package/dist/components/MerchantBatchCreateForm/modals/UpdateProductModal/UnitSelect/UnitSelectUI/utils/validation.d.ts +7 -0
  44. package/dist/components/MerchantBatchCreateForm/modals/UpdateProductModal/UnitSelect/index.d.ts +10 -0
  45. package/dist/components/MerchantBatchCreateForm/modals/UpdateProductModal/UploadImage.d.ts +12 -0
  46. package/dist/components/MerchantBatchCreateForm/modals/UpdateProductModal/index.d.ts +16 -0
  47. package/dist/components/MerchantBatchCreateForm/store/useMappingStore.d.ts +9 -0
  48. package/dist/components/MerchantBatchCreateForm/store/useUploadStore.d.ts +27 -0
  49. package/dist/components/MerchantBatchCreateForm/utils/download.d.ts +4 -0
  50. package/dist/components/MerchantBatchCreateForm/utils/upload.d.ts +5 -0
  51. package/dist/components/MerchantEdit/AddressFields.d.ts +16 -0
  52. package/dist/components/MerchantEdit/FileUpload.d.ts +13 -0
  53. package/dist/components/MerchantEdit/Header.d.ts +9 -0
  54. package/dist/components/MerchantEdit/UserTypeForm.d.ts +22 -0
  55. package/dist/components/MerchantEdit/index.d.ts +10 -0
  56. package/dist/components/MerchantRegistrationForm/AddressFields.d.ts +16 -0
  57. package/dist/components/MerchantRegistrationForm/FileUpload.d.ts +12 -0
  58. package/dist/components/MerchantRegistrationForm/Header.d.ts +9 -0
  59. package/dist/components/MerchantRegistrationForm/IndustrySelect.d.ts +8 -0
  60. package/dist/components/MerchantRegistrationForm/MerchantRegistrationForm.d.ts +37 -0
  61. package/dist/components/MerchantRegistrationForm/UserTypeForm.d.ts +21 -0
  62. package/dist/components/MerchantTable/index.d.ts +11 -0
  63. package/dist/components/MerchantTable/merchantTableAction.d.ts +8 -0
  64. package/dist/components/MerchantTable/merchantTableFilter.d.ts +16 -0
  65. package/dist/components/MerchantTable/merchantTableHeader.d.ts +6 -0
  66. package/dist/components/MerchantView/AddressFields.d.ts +16 -0
  67. package/dist/components/MerchantView/FileUpload.d.ts +13 -0
  68. package/dist/components/MerchantView/Header.d.ts +9 -0
  69. package/dist/components/MerchantView/UserTypeForm.d.ts +22 -0
  70. package/dist/components/MerchantView/index.d.ts +10 -0
  71. package/dist/components/NewAccountCreate/FormHeader.d.ts +8 -0
  72. package/dist/components/NewAccountCreate/Icon.d.ts +6 -0
  73. package/dist/components/NewAccountCreate/InputField.d.ts +21 -0
  74. package/dist/components/NewAccountCreate/PasswordRequirements.d.ts +6 -0
  75. package/dist/components/NewAccountCreate/RequirementItem.d.ts +6 -0
  76. package/dist/components/NewAccountCreate/SubmitButton.d.ts +11 -0
  77. package/dist/components/NewAccountCreate/index.d.ts +8 -0
  78. package/dist/components/NewAccountCreate/types.d.ts +7 -0
  79. package/dist/components/common/button.d.ts +11 -0
  80. package/dist/components/common/custom-toast/index.d.ts +6 -0
  81. package/dist/components/common/dataTable/dataTable.d.ts +25 -0
  82. package/dist/components/common/dataTable/pagination.d.ts +14 -0
  83. package/dist/components/common/dataTable/statusBadge.d.ts +9 -0
  84. package/dist/components/common/dataTable/tableBody.d.ts +8 -0
  85. package/dist/components/common/dataTable/tableHeader.d.ts +6 -0
  86. package/dist/components/common/dataTable/tableSkeleton.d.ts +7 -0
  87. package/dist/components/common/datePicker.d.ts +10 -0
  88. package/dist/components/common/dropdownMenu.d.ts +27 -0
  89. package/dist/components/common/dropdownMenuAbsolute.d.ts +4 -0
  90. package/dist/components/common/form/error-message.d.ts +14 -0
  91. package/dist/components/common/input.d.ts +3 -0
  92. package/dist/components/common/label.d.ts +6 -0
  93. package/dist/components/common/modals/ConfirmModal.d.ts +13 -0
  94. package/dist/components/common/modals/ExitConfirmGuard.d.ts +11 -0
  95. package/dist/components/common/modals/WrapModal.d.ts +9 -0
  96. package/dist/components/common/number-input.d.ts +5 -0
  97. package/dist/components/ui/button.d.ts +12 -0
  98. package/dist/components/ui/confirmModal.d.ts +10 -0
  99. package/dist/components/ui/error-modal.d.ts +8 -0
  100. package/dist/components/ui/input.d.ts +18 -0
  101. package/dist/components/ui/success-modal.d.ts +8 -0
  102. package/dist/configs/portalAxiosClient.d.ts +2 -0
  103. package/dist/configs/wesapAxiosClient.d.ts +2 -0
  104. package/dist/constants/merchant-batch-create-form.constant.d.ts +4 -0
  105. package/dist/fonts/inter/Inter_18pt-Bold.ttf +0 -0
  106. package/dist/fonts/inter/Inter_18pt-Medium.ttf +0 -0
  107. package/dist/fonts/inter/Inter_18pt-Regular.ttf +0 -0
  108. package/dist/fonts/inter/Inter_18pt-SemiBold.ttf +0 -0
  109. package/dist/hooks/use-address.d.ts +9 -0
  110. package/dist/hooks/use-create-merchant.d.ts +20 -0
  111. package/dist/hooks/use-edit-merchant.d.ts +20 -0
  112. package/dist/hooks/use-media-query.d.ts +1 -0
  113. package/dist/hooks/use-merchant-table.d.ts +13 -0
  114. package/dist/hooks/use-translation.d.ts +10 -0
  115. package/dist/hooks/useClickOutside.d.ts +3 -0
  116. package/dist/hooks/useDebounce.d.ts +1 -0
  117. package/dist/hooks/useMCCList.d.ts +6 -0
  118. package/dist/hooks/useMerchantDetail.d.ts +8 -0
  119. package/dist/hooks/usePasswordValidation.d.ts +9 -0
  120. package/dist/index.cjs +73887 -0
  121. package/dist/index.cjs.map +1 -0
  122. package/dist/index.d.ts +11 -0
  123. package/dist/index.esm.js +73871 -0
  124. package/dist/index.esm.js.map +1 -0
  125. package/dist/main.d.ts +0 -0
  126. package/dist/provider/index.d.ts +5 -0
  127. package/dist/provider/toast-provider.d.ts +2 -0
  128. package/dist/services/MCCList.d.ts +2 -0
  129. package/dist/services/addressService.d.ts +10 -0
  130. package/dist/services/create-products.service.d.ts +6 -0
  131. package/dist/services/createDigistoreAccountService.d.ts +7 -0
  132. package/dist/services/editFormService.d.ts +5 -0
  133. package/dist/services/merchantFormService.d.ts +5 -0
  134. package/dist/services/merchantService.d.ts +3 -0
  135. package/dist/store/use-external-config.store.d.ts +10 -0
  136. package/dist/store/use-portal-api-config.store.d.ts +8 -0
  137. package/dist/store/use-unsaved-changes.store.d.ts +11 -0
  138. package/dist/store/use-wesap-api-config.store.d.ts +10 -0
  139. package/dist/style.css +2971 -0
  140. package/dist/types/MCCList.d.ts +5 -0
  141. package/dist/types/addressType.d.ts +17 -0
  142. package/dist/types/formData.d.ts +58 -0
  143. package/dist/types/global.d.ts +3 -0
  144. package/dist/types/merchant-batch-create-form/product-info-preview.d.ts +45 -0
  145. package/dist/types/merchant-batch-create-form/sheet-product-validation.d.ts +10 -0
  146. package/dist/types/merchant-batch-create-form/table.d.ts +1 -0
  147. package/dist/types/merchant-batch-create-form/unit-select.d.ts +14 -0
  148. package/dist/types/merchantDetail.d.ts +30 -0
  149. package/dist/types/merchantTableData.d.ts +16 -0
  150. package/dist/types/user.d.ts +23 -0
  151. package/dist/utils/commonFunctions.d.ts +2 -0
  152. package/dist/utils/datetime.d.ts +8 -0
  153. package/dist/utils/form.d.ts +1 -0
  154. package/dist/utils/mapLicenseData.d.ts +25 -0
  155. package/dist/utils/merchantTableData.d.ts +3 -0
  156. package/dist/utils/tokenManager.d.ts +2 -0
  157. package/dist/utils/translations.d.ts +685 -0
  158. package/dist/vite.svg +1 -0
  159. package/package.json +90 -0
@@ -0,0 +1,85 @@
1
+ declare const _default: {
2
+ "object": "Đối tượng",
3
+ "merchantInfo": "Thông tin Merchant cần giới thiệu",
4
+ "taxCode": "Mã số thuế",
5
+ "shortName": "Tên viết tắt/Thương hiệu *",
6
+ "householdName": "Tên hộ kinh doanh *",
7
+ "referralCode": "Mã đối tác giới thiệu",
8
+ "phone": "Số điện thoại",
9
+ "businessLicense": "Giấy phép kinh doanh *",
10
+ "uploadFile": "Tải tệp lên",
11
+ "email": "Email",
12
+ "businessName": "Tên hộ kinh doanh *",
13
+ "profile_detail": "Chi tiết hồ sơ",
14
+ "profile_list": "Danh sách hồ sơ",
15
+ "draft": "Bản nháp",
16
+ "pending": "Chờ duyệt",
17
+ "processing": "Đang xử lý",
18
+ "done": "Hoàn tất",
19
+ "rejected": "Từ chối",
20
+ "individual": "Cá nhân",
21
+ "household": "Hộ kinh doanh",
22
+ "business": "Doanh nghiệp",
23
+ "merchant_info": "Thông tin Merchant cần giới thiệu",
24
+ "merchant_info_description": "Vui lòng cung cấp thông tin chi tiết về Merchant mới. Bằng việc giới thiệu Merchant, tôi đồng ý cung cấp dữ liệu Merchant và chấp nhận Thỏa thuận người sử dụng dịch vụ của BVBank.",
25
+ "merchant_profile": "Hồ sơ Merchant",
26
+ "add_new_profile": "Thêm mới hồ sơ",
27
+ "uploaded_file": "Tệp đã tải lên",
28
+ "upload_icon": "Biểu tượng tải lên",
29
+ "upload_file": "Tải tệp lên",
30
+ "file_format_info": "(PDF, PNG, JPEG – tối đa 5MB)",
31
+ "upload_button": "Tải tệp",
32
+ "remove_file": "Xóa tệp",
33
+ "address": "Địa chỉ",
34
+ "country": "Quốc gia",
35
+ "city": "Tỉnh/Thành phố",
36
+ "district": "Quận/Huyện",
37
+ "ward": "Phường/Xã",
38
+ "street": "Đường",
39
+ "not_selected": "Chưa chọn",
40
+ "not_entered": "Chưa nhập địa chỉ",
41
+ "tax_code": "Mã số thuế",
42
+ "full_name": "Họ và tên",
43
+ "phone_number": "Số điện thoại",
44
+ "industry": "Ngành nghề",
45
+ "referral_code": "Mã đối tác giới thiệu",
46
+ "household_business_name": "Tên hộ kinh doanh",
47
+ "short_name_brand": "Tên viết tắt/Thương hiệu",
48
+ "business_license": "Giấy phép kinh doanh",
49
+ "tax_document": "Giấy phép thuế",
50
+ "enterprise_name": "Tên doanh nghiệp",
51
+ "representative": "Người đại diện",
52
+ "business_registration_number": "Mã số doanh nghiệp",
53
+ "required_field_error": "Trường này là bắt buộc",
54
+ "invalid_email_error": "Email không hợp lệ",
55
+ "invalid_phone_number_error": "Số điện thoại không hợp lệ",
56
+ "business_license_required_error": "Cần tải lên giấy phép kinh doanh",
57
+ "tax_document_required_error": "Cần tải lên giấy phép thuế",
58
+ "form_validation_error": "Vui lòng điền đầy đủ thông tin bắt buộc và kiểm tra các lỗi",
59
+ "file_upload_required_error": "Vui lòng tải lên đầy đủ giấy phép kinh doanh và giấy phép thuế",
60
+ "submit_error": "Đã xảy ra lỗi khi gửi dữ liệu",
61
+ "update_error": "Lỗi khi cập nhật nhà cung cấp",
62
+ "business_license_success_msg": "Đã điền dữ liệu từ giấy phép kinh doanh",
63
+ "business_license_error_msg": "Không thể đọc file giấy phép kinh doanh. Hãy thử ảnh rõ hơn.",
64
+ "business_license_empty_data_msg": "Không tìm thấy dữ liệu hợp lệ từ giấy phép kinh doanh",
65
+ "business_license_overwrite_modal_title": "Ghi đè dữ liệu từ giấy phép kinh doanh?",
66
+ "tax_document_success_msg": "Đã điền dữ liệu từ giấy tờ thuế",
67
+ "tax_document_error_msg": "Không thể đọc file giấy tờ thuế. Hãy thử ảnh rõ hơn.",
68
+ "tax_document_empty_data_msg": "Không tìm thấy dữ liệu hợp lệ từ giấy tờ thuế",
69
+ "tax_document_overwrite_modal_title": "Ghi đè dữ liệu từ giấy tờ thuế?",
70
+ "overwrite_data": "Ghi đè dữ liệu?",
71
+ "overwrite_data_description": "Một số trường đã có dữ liệu. Bạn có muốn ghi đè bằng thông tin nhận diện được từ tài liệu?",
72
+ "submit_profile": "Nộp hồ sơ",
73
+ "update_profile": "Cập nhật hồ sơ",
74
+ "select_industry": "Chọn ngành nghề",
75
+ "loading_industries": "Đang tải danh sách ngành nghề...",
76
+ "success_announcement": "Bạn đã nộp thành công",
77
+ "error_occur": "Có lỗi đã xảy ra",
78
+ "close": "Đóng",
79
+ "success_form": "Vui lòng chờ xét duyệt",
80
+ "yes": "Có",
81
+ "no": "Không"
82
+ }
83
+ ;
84
+
85
+ export default _default;
@@ -0,0 +1,92 @@
1
+ declare const _default: {
2
+ "merge_validate_data_title": "Ghép trường & Kiểm tra dữ liệu",
3
+ "merge_limit_description": "Mỗi lượt tải lên danh sách chỉ được tối đa 01 tệp và tối đa 100 dòng thông tin (sản phẩm).\nTrường hợp danh sách có nhiều hơn số dòng thông tin quy định, hệ thống sẽ lấy theo thứ tự dòng thông tin số 1 đến dòng thông tin số 100 (không bao gồm tiêu đề).",
4
+ "merge_validate_data_description": "Xem trước dữ liệu từ file .xlsx. Ghép từng cột trong file với trường của hệ thống để tiếp tục tạo sản phẩm.",
5
+ "upload_information_description1": "Bạn đang tải lên",
6
+ "upload_information_description2": "thông tin mới từ tệp",
7
+ "sheet": "trang tính",
8
+ "create_product_button": "Tạo sản phẩm",
9
+ "image": "Hình ảnh sản phẩm",
10
+ "no_image": "Không có ảnh",
11
+ "name": "Tên sản phẩm",
12
+ "code": "Mã sản phẩm",
13
+ "price_vat": "Giá",
14
+ "category": "Danh mục sản phẩm",
15
+ "unit": "Đơn vị tính",
16
+ "not_available": "Chưa có",
17
+ "note": "Ghi chú",
18
+ "valid_info": "Thông tin hợp lệ",
19
+ "actions": "Hành động",
20
+ "edit": "Sửa",
21
+ "delete": "Xóa",
22
+ "external_duplicate_code": "Mã sản phẩm đã tồn tại trên hệ thống",
23
+ "external_duplicate_name": "Tên sản phẩm đã tồn tại trên hệ thống",
24
+ "internal_duplicate_code": "Mã sản phẩm bị trùng lặp trong tập dữ liệu",
25
+ "internal_duplicate_name": "Tên sản phẩm bị trùng lặp trong tập dữ liệu",
26
+ "confirm_create_title": "Xác nhận tạo mới sản phẩm",
27
+ "confirm_create_description_1": "Bạn đang thực hiện tạo mới",
28
+ "confirm_create_description_2": "trong danh sách tải lên. Thông tin sản phẩm có thể được chỉnh sửa sau khi hệ thống hoàn thành tác vụ.",
29
+ "success_title": "Hoàn thành tạo sản phẩm",
30
+ "created_success": "Tạo thành công",
31
+ "created_failed": "Tạo thất bại",
32
+ "success_description": "Chọn tải xuống để xem chi tiết trạng thái tạo sản phẩm. Thông tin này sẽ không được lưu và không thể xem lại sau khi thoát tác vụ này.",
33
+ "cancel": "Hủy",
34
+ "close": "Đóng",
35
+ "download": "Tải xuống",
36
+ "export_failed_filename": "danh_sach_san_pham_tao_that_bai",
37
+ "edit_product_title": "Chỉnh sửa sản phẩm",
38
+ "price_vat_full": "Giá bán",
39
+ "update": "Cập nhật",
40
+ "add": "Thêm",
41
+ "enter_new_option": "Nhập tùy chọn mới...",
42
+ "no_options": "Chưa có tùy chọn nào",
43
+ "select_unit": "Chọn đơn vị tính",
44
+ "img_invalid_url": "Không lấy được thông tin hình ảnh",
45
+ "img_invalid_size": "Hình ảnh chọn không hợp lệ",
46
+ "img_invalid_extension": "Hình ảnh chọn không hợp lệ",
47
+ "toast_upload_image_success": "Tải ảnh lên thành công",
48
+ "upload_image": "Tải ảnh",
49
+
50
+ "unit_required": "Đơn vị tính không được bỏ trống",
51
+
52
+ "toast_success_title": "Thành công",
53
+ "toast_error_title": "Lỗi",
54
+ "toast_create_products_success": "Tạo danh sách sản phẩm thành công",
55
+ "toast_create_products_failed": "Tạo danh sách sản phẩm thất bại",
56
+ "toast_update_product_success": "Cập nhật sản phẩm thành công",
57
+ "export_col_code": "Mã sản phẩm",
58
+ "export_col_img": "Hình ảnh",
59
+ "export_col_name": "Tên sản phẩm",
60
+ "export_col_unit": "Đơn vị tính",
61
+ "export_col_price": "Giá",
62
+ "export_col_category": "Danh mục sản phẩm",
63
+ "export_col_status": "Trạng thái",
64
+ "export_status_success": "Thành công",
65
+ "export_status_failed": "Thất bại",
66
+ "export_filename_created_product": "taosanpham",
67
+ "export_header_created_time": "Thời gian tạo trên hệ thống Digistore",
68
+ "unit_exists": "Đơn vị tính đã tồn tại",
69
+ "toast_validate_products_failed": "Xác thực danh sách sản phẩm từ hệ thống thất bại",
70
+ "enter_category_name": "Nhập tên danh mục",
71
+ "name_must_be_string": "Tên sản phẩm phải là chuỗi",
72
+ "name_required": "Tên sản phẩm không được bỏ trống",
73
+ "name_invalid": "Tên sản phẩm không hợp lệ",
74
+ "unit_must_be_string": "Đơn vị tính phải là chuỗi",
75
+ "unit_invalid": "Đơn vị tính không hợp lệ",
76
+ "code_must_be_string": "Mã sản phẩm phải là chuỗi",
77
+ "code_required": "Mã sản phẩm không được bỏ trống",
78
+ "code_invalid": "Mã sản phẩm không hợp lệ",
79
+ "code_min": "Mã sản phẩm phải có ít nhất 2 ký tự",
80
+ "code_max": "Mã sản phẩm không được vượt quá 20 ký tự",
81
+ "code_invalid_chars": "Mã sản phẩm chỉ được chứa chữ, số, dấu gạch ngang (-), gạch dưới (_), không chứa khoảng trắng",
82
+ "price_required": "Giá sản phẩm không được bỏ trống",
83
+ "price_invalid": "Giá sản phẩm không hợp lệ",
84
+ "category_must_be_string": "Danh mục sản phẩm phải là chuỗi",
85
+ "category_invalid": "Danh mục sản phẩm không hợp lệ",
86
+ "toast_delete_image_success": "Xóa ảnh thành công",
87
+ "delete_image_confirm_title": "Xác nhận xóa ảnh",
88
+ "delete_image_confirm_description": "Bạn có chắc chắn muốn xoá hình ảnh của sản phẩm không?"
89
+ }
90
+ ;
91
+
92
+ export default _default;
@@ -0,0 +1,35 @@
1
+ declare const _default: {
2
+ "submitDate": "Ngày nộp",
3
+ "object": "Đối tượng",
4
+ "status": "Trạng thái",
5
+ "search": "Tìm kiếm",
6
+ "addNew": "Thêm mới",
7
+ "reset": "Đặt lại",
8
+ "apply": "Áp dụng",
9
+ "no": "STT",
10
+ "name": "Tên",
11
+ "industry": "Ngành nghề",
12
+ "brand": "Thương hiệu",
13
+ "businessCode": "Mã số Doanh Nghiệp",
14
+ "rejectNote": "Reject Note",
15
+ "action": "Hành động",
16
+ "rowCount": "Số dòng",
17
+ "subject": "Đối tượng",
18
+ "all": "Tất cả",
19
+ "searchPlaceholder": "Nhập tên, số điện thoại,... để tìm kiếm",
20
+ "merchantProfile": "Hồ sơ Merchant",
21
+ "profileList": "Danh sách hồ sơ",
22
+ "numRows": "Số dòng",
23
+ "DONE": "Hoàn tất",
24
+ "DRAFT": "Bản nháp",
25
+ "PROCESSING": "Đang xử lý",
26
+ "PENDING APPROVAL": "Đang xét duyệt",
27
+ "REJECTED": "Từ chối",
28
+ "BUSINESS": "Doanh nghiệp",
29
+ "PERSONAL": "Cá nhân",
30
+ "HOUSEHOLD": "Hộ kinh doanh",
31
+ "select_date_range": "Chọn khoảng thời gian"
32
+ }
33
+ ;
34
+
35
+ export default _default;
Binary file
@@ -0,0 +1 @@
1
+ export default function DownloadSampleFile(): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,6 @@
1
+ interface FileUploadButtonProps {
2
+ isUploading: boolean;
3
+ setIsUploading: (value: boolean) => void;
4
+ }
5
+ export default function FileUploadButton({ isUploading, setIsUploading, }: FileUploadButtonProps): import("react/jsx-runtime").JSX.Element;
6
+ export {};
@@ -0,0 +1,7 @@
1
+ interface SheetDropdownProps {
2
+ sheetNames: string[];
3
+ selectedSheet: string;
4
+ onSelect: (name: string) => void;
5
+ }
6
+ export default function SheetDropdown({ sheetNames, selectedSheet, onSelect, }: SheetDropdownProps): import("react/jsx-runtime").JSX.Element;
7
+ export {};
@@ -0,0 +1,12 @@
1
+ import { ReactNode } from 'react';
2
+ export interface TabItem {
3
+ key: string;
4
+ label: string;
5
+ content: ReactNode;
6
+ }
7
+ interface TabLayoutProps {
8
+ tabs: TabItem[];
9
+ defaultTab?: string;
10
+ }
11
+ export default function Layout({ tabs, defaultTab }: TabLayoutProps): import("react/jsx-runtime").JSX.Element;
12
+ export {};
@@ -0,0 +1,8 @@
1
+ import { CategoryColor } from '../../../../types/merchant-batch-create-form/table';
2
+ import { default as React } from 'react';
3
+ type Props = {
4
+ color: CategoryColor;
5
+ children?: React.ReactNode;
6
+ };
7
+ declare const CategoryCell: ({ color, children }: Props) => import("react/jsx-runtime").JSX.Element;
8
+ export default CategoryCell;
@@ -0,0 +1,9 @@
1
+ import { default as React } from 'react';
2
+ import { ProductPreview } from '../../../../types/merchant-batch-create-form/product-info-preview';
3
+ type Props = {
4
+ img?: string | null;
5
+ productIndex: number;
6
+ setProductsTableData: React.Dispatch<React.SetStateAction<ProductPreview[]>>;
7
+ };
8
+ declare const UploadImageCell: React.FC<Props>;
9
+ export default UploadImageCell;
@@ -0,0 +1,8 @@
1
+ import { ProductPreview } from '../../../../types/merchant-batch-create-form/product-info-preview';
2
+ import { default as React } from 'react';
3
+ type Props = {
4
+ checkedProducts: ProductPreview[];
5
+ setCheckedProducts: React.Dispatch<React.SetStateAction<ProductPreview[]>>;
6
+ };
7
+ declare const ProductPreviewTable: ({ checkedProducts, setCheckedProducts, }: Props) => import("react/jsx-runtime").JSX.Element;
8
+ export default ProductPreviewTable;
@@ -0,0 +1,2 @@
1
+ declare const ProductInfoPreview: () => import("react/jsx-runtime").JSX.Element;
2
+ export default ProductInfoPreview;
@@ -0,0 +1,8 @@
1
+ interface FieldMappingPopoverProps {
2
+ sheetHeaders: string[];
3
+ mappings: Record<string, string>;
4
+ defaultMappings: Record<string, string>;
5
+ onChange?: (mappings: Record<string, string>) => void;
6
+ }
7
+ export default function FieldMappingPopup({ sheetHeaders, mappings, defaultMappings, onChange, }: FieldMappingPopoverProps): import("react/jsx-runtime").JSX.Element;
8
+ export {};
@@ -0,0 +1 @@
1
+ export default function FileUploadTab(): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,8 @@
1
+ export declare function useFileValidator(): {
2
+ validateFile: (file: File) => Promise<{
3
+ valid: boolean;
4
+ sheetNames: string[];
5
+ }>;
6
+ error: string;
7
+ setError: import('react').Dispatch<import('react').SetStateAction<string>>;
8
+ };
@@ -0,0 +1 @@
1
+ export declare const MerchantBatchCreateForm: ({}: {}) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1 @@
1
+ export default function MergeAndCheckData(): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,10 @@
1
+ import { CreatedProductResponse, ProductPreview } from '../../../types/merchant-batch-create-form/product-info-preview';
2
+ type Props = {
3
+ checkedProducts: ProductPreview[];
4
+ numCheckedProducts: string;
5
+ open: boolean;
6
+ onClose: () => void;
7
+ onSuccess: (data: CreatedProductResponse) => void;
8
+ };
9
+ declare const CreateProductConfirmModal: ({ checkedProducts, numCheckedProducts, open, onClose, onSuccess, }: Props) => import("react/jsx-runtime").JSX.Element;
10
+ export default CreateProductConfirmModal;
@@ -0,0 +1,12 @@
1
+ import { CreatedProductResponse, ProductPreview } from '../../../types/merchant-batch-create-form/product-info-preview';
2
+ type Props = {
3
+ createdProductsResult: CreatedProductResponse | null;
4
+ checkedProducts: ProductPreview[];
5
+ disable?: boolean;
6
+ cancelText?: string;
7
+ confirmText?: string;
8
+ open: boolean;
9
+ onClose: () => void;
10
+ };
11
+ declare const CreateProductSuccessModal: ({ createdProductsResult, checkedProducts, disable, open, onClose: handleClose, }: Props) => import("react/jsx-runtime").JSX.Element;
12
+ export default CreateProductSuccessModal;
@@ -0,0 +1,8 @@
1
+ import { default as React } from 'react';
2
+ type Props = {
3
+ open: boolean;
4
+ onClose: () => void;
5
+ onConfirm: () => void;
6
+ };
7
+ declare const DeleteImageConfirmModal: React.FC<Props>;
8
+ export default DeleteImageConfirmModal;
@@ -0,0 +1,9 @@
1
+ import { ProductPreview } from '../../../../../types/merchant-batch-create-form/product-info-preview';
2
+ import { Control, FieldErrors, UseFormRegister } from 'react-hook-form';
3
+ type Props = {
4
+ register: UseFormRegister<ProductPreview>;
5
+ control: Control<ProductPreview>;
6
+ errors?: FieldErrors<ProductPreview>;
7
+ };
8
+ declare const CategoriesInput: ({ control, register, errors }: Props) => import("react/jsx-runtime").JSX.Element;
9
+ export default CategoriesInput;
@@ -0,0 +1,7 @@
1
+ import { default as React } from 'react';
2
+ interface ActionButtonsProps {
3
+ onConfirm: () => void;
4
+ onCancel: () => void;
5
+ }
6
+ export declare const ActionButtons: React.FC<ActionButtonsProps>;
7
+ export {};
@@ -0,0 +1,13 @@
1
+ import { default as React } from 'react';
2
+ interface AddOptionComponentProps {
3
+ isAdding: boolean;
4
+ onStartAdding: () => void;
5
+ onAddOption: (value: string) => void;
6
+ onCancel: () => void;
7
+ validateUnit: (unit: string) => {
8
+ isValid: boolean;
9
+ error: string;
10
+ };
11
+ }
12
+ export declare const AddOptionComponent: React.FC<AddOptionComponentProps>;
13
+ export {};
@@ -0,0 +1,14 @@
1
+ import { default as React } from 'react';
2
+ import { Option } from '../../../../../../../../types/merchant-batch-create-form/unit-select';
3
+ interface EditOptionComponentProps {
4
+ option: Option;
5
+ editValue: string;
6
+ onEdit: (id: string, newValue: string) => void;
7
+ onCancel: () => void;
8
+ validateUnit: (unit: string) => {
9
+ isValid: boolean;
10
+ error: string;
11
+ };
12
+ }
13
+ export declare const EditOptionComponent: React.FC<EditOptionComponentProps>;
14
+ export {};
@@ -0,0 +1,18 @@
1
+ import { default as React } from 'react';
2
+ import { Option } from '../../../../../../../../types/merchant-batch-create-form/unit-select';
3
+ interface OptionItemProps {
4
+ option: Option;
5
+ isEditing: boolean;
6
+ editValue: string;
7
+ onSelect: (value: string) => void;
8
+ onStartEdit: (option: Option) => void;
9
+ onEdit: (id: string, newValue: string) => void;
10
+ onCancelEdit: () => void;
11
+ onDelete: (id: string) => void;
12
+ validateUnit: (unit: string) => {
13
+ isValid: boolean;
14
+ error: string;
15
+ };
16
+ }
17
+ export declare const OptionItem: React.FC<OptionItemProps>;
18
+ export {};
@@ -0,0 +1,11 @@
1
+ import { default as React } from 'react';
2
+ import { Option } from '../../../../../../../types/merchant-batch-create-form/unit-select';
3
+ interface SelectButtonProps {
4
+ tempValueUI?: string;
5
+ selectedOption?: Option;
6
+ placeholder: string;
7
+ isOpen: boolean;
8
+ onClick: () => void;
9
+ }
10
+ export declare const SelectButton: React.FC<SelectButtonProps>;
11
+ export {};
@@ -0,0 +1,22 @@
1
+ import { default as React } from 'react';
2
+ import { Option } from '../../../../../../../types/merchant-batch-create-form/unit-select';
3
+ interface DropdownContentProps {
4
+ options: Option[];
5
+ isAdding: boolean;
6
+ editingId: string | null;
7
+ editValue: string;
8
+ onStartAdding: () => void;
9
+ onAddOption: (value: string) => void;
10
+ onCancelAdd: () => void;
11
+ onSelectOption: (value: string) => void;
12
+ onStartEdit: (option: Option) => void;
13
+ onEdit: (id: string, newValue: string) => void;
14
+ onCancelEdit: () => void;
15
+ onDelete: (id: string) => void;
16
+ validateUnit: (unit: string) => {
17
+ isValid: boolean;
18
+ error: string;
19
+ };
20
+ }
21
+ export declare const DropdownContent: React.FC<DropdownContentProps>;
22
+ export {};
@@ -0,0 +1,4 @@
1
+ import { default as React } from 'react';
2
+ import { EditableSelectProps } from '../../../../../../types/merchant-batch-create-form/unit-select';
3
+ declare const UnitSelectUI: React.FC<EditableSelectProps>;
4
+ export default UnitSelectUI;
@@ -0,0 +1,6 @@
1
+ export declare const LocalStorage: () => {
2
+ addToStorage: (unit: string) => void;
3
+ updateInStorage: (oldUnit: string, newUnit: string) => void;
4
+ removeFromStorage: (unit: string) => void;
5
+ getStoredUnits: () => string[];
6
+ };
@@ -0,0 +1,7 @@
1
+ import { Option } from '../../../../../../../types/merchant-batch-create-form/unit-select';
2
+ export declare const validateUnitOption: (options: Option[]) => {
3
+ validateUnit: (unit: string) => {
4
+ isValid: boolean;
5
+ error: string;
6
+ };
7
+ };
@@ -0,0 +1,10 @@
1
+ import { default as React, Dispatch, FC } from 'react';
2
+ import { Option } from '../../../../../types/merchant-batch-create-form/unit-select';
3
+ type Props = {
4
+ defaultValue?: string;
5
+ unitOptions: Option[];
6
+ setUnitOptions: Dispatch<React.SetStateAction<Option[]>>;
7
+ onSelectOption?: (value: string) => void;
8
+ };
9
+ declare const UnitSelect: FC<Props>;
10
+ export default UnitSelect;
@@ -0,0 +1,12 @@
1
+ import { FieldErrors, FieldName, FieldValues } from 'react-hook-form';
2
+ import { FieldValuesFromFieldErrors } from '@hookform/error-message';
3
+ import { NestedKeyOf } from '../../../../types/global';
4
+ type Props<T extends FieldValues> = {
5
+ img?: string;
6
+ errors: FieldErrors<T>;
7
+ name: NestedKeyOf<T> & FieldName<FieldValuesFromFieldErrors<T>>;
8
+ onFileChange?: (file: File) => void;
9
+ onDeleteImage?: () => void;
10
+ };
11
+ declare const UploadImage: <T extends FieldValues>({ img, errors, name, onFileChange, onDeleteImage, }: Props<T>) => import("react/jsx-runtime").JSX.Element;
12
+ export default UploadImage;
@@ -0,0 +1,16 @@
1
+ import { default as React } from 'react';
2
+ import { ProductPreview } from '../../../../types/merchant-batch-create-form/product-info-preview';
3
+ type Props = {
4
+ disable?: boolean;
5
+ cancelText?: string;
6
+ confirmText?: string;
7
+ open: boolean;
8
+ onClose: () => void;
9
+ product: (ProductPreview & {
10
+ index: number;
11
+ }) | null;
12
+ productsTableData: ProductPreview[];
13
+ setProductsTableData: React.Dispatch<React.SetStateAction<ProductPreview[]>>;
14
+ };
15
+ declare const UpdateProductModal: ({ product, disable, open, onClose, productsTableData, setProductsTableData, }: Props) => import("react/jsx-runtime").JSX.Element;
16
+ export default UpdateProductModal;
@@ -0,0 +1,9 @@
1
+ interface MappingState {
2
+ mappings: Record<string, string>;
3
+ defaultMappings: Record<string, string>;
4
+ setMappings: (m: Record<string, string>) => void;
5
+ setDefaultMappings: (m: Record<string, string>) => void;
6
+ resetMappings: () => void;
7
+ }
8
+ export declare const useMappingStore: import('zustand').UseBoundStore<MappingState, import('zustand').StoreApi<MappingState>>;
9
+ export {};
@@ -0,0 +1,27 @@
1
+ export interface ProductPreview {
2
+ name: string;
3
+ code: string;
4
+ price: number | null;
5
+ category: string;
6
+ unit: string;
7
+ note: string;
8
+ }
9
+ interface UploadState {
10
+ uploadedFile: File | null;
11
+ sheetNames: string[];
12
+ selectedSheet: string;
13
+ sheetData: any[][];
14
+ sheetMappingData: ProductPreview[];
15
+ isCheckData: boolean;
16
+ isMappingData: boolean;
17
+ setIsMappingData: (value: boolean) => void;
18
+ setIsCheckData: (value: boolean) => void;
19
+ setSheetMappingData: (data: ProductPreview[]) => void;
20
+ setUploadedFile: (file: File | null) => void;
21
+ setSheetNames: (names: string[]) => void;
22
+ setSelectedSheet: (name: string) => void;
23
+ setSheetData: (data: any[]) => void;
24
+ reset: () => void;
25
+ }
26
+ export declare const useUploadStore: import('zustand').UseBoundStore<UploadState, import('zustand').StoreApi<UploadState>>;
27
+ export {};
@@ -0,0 +1,4 @@
1
+ export declare const isGoogleDriveLink: (url: string) => boolean;
2
+ export declare const extractDriveFileId: (url: string) => string | null;
3
+ export declare function fetchAndUpload(fileId: string, item: any): Promise<any>;
4
+ export declare function processSheetData(sheetMappingData: any[]): Promise<any[]>;
@@ -0,0 +1,5 @@
1
+ export declare const uploadImage: (file: File) => Promise<{
2
+ error: boolean;
3
+ message: string;
4
+ result: any;
5
+ }>;
@@ -0,0 +1,16 @@
1
+ import { default as React } from 'react';
2
+ interface MerchantFormData {
3
+ country: string;
4
+ city: string;
5
+ district: string;
6
+ ward: string;
7
+ address: string;
8
+ }
9
+ interface AddressFieldsProps {
10
+ formData: MerchantFormData;
11
+ onInputChange: (field: keyof MerchantFormData, value: string) => void;
12
+ errors?: Partial<Record<keyof MerchantFormData, string>>;
13
+ lang?: "vi" | "en";
14
+ }
15
+ export declare const AddressFields: React.FC<AddressFieldsProps>;
16
+ export {};
@@ -0,0 +1,13 @@
1
+ import { default as React } from 'react';
2
+ import { ILicenseData } from 'ocr-upload-reader';
3
+ interface FileUploadProps {
4
+ label: string;
5
+ file: File | null;
6
+ onChange: (event: React.ChangeEvent<HTMLInputElement>) => void;
7
+ onParsedData?: (data: ILicenseData) => void;
8
+ onRemoveFile?: () => void;
9
+ disabled?: boolean;
10
+ lang?: "vi" | "en";
11
+ }
12
+ export declare const FileUpload: React.FC<FileUploadProps>;
13
+ export {};
@@ -0,0 +1,9 @@
1
+ interface MerchantHeaderProps {
2
+ title?: string;
3
+ subtitle?: string;
4
+ statusLabel?: string;
5
+ statusType?: "draft" | "pending" | "approved" | "rejected" | null;
6
+ lang: "vi" | "en";
7
+ }
8
+ export default function MerchantHeader({ title, subtitle, statusLabel, statusType, lang, }: MerchantHeaderProps): import("react/jsx-runtime").JSX.Element;
9
+ export {};