@timardex/cluemart-shared 1.7.21 → 1.7.23

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 (59) hide show
  1. package/dist/{ad-03NrHP3C.d.ts → ad-BZcVngc3.d.ts} +2 -2
  2. package/dist/{ad-CplXHfPk.d.mts → ad-DChdPAkx.d.mts} +2 -2
  3. package/dist/{affiliate-BLSH2QdJ.d.ts → affiliate-BM1h7pwc.d.ts} +2 -2
  4. package/dist/{affiliate-hXxPpl_S.d.mts → affiliate-C1EG9HbN.d.mts} +2 -2
  5. package/dist/auth/index.cjs +3 -0
  6. package/dist/auth/index.cjs.map +1 -1
  7. package/dist/auth/index.d.mts +3 -3
  8. package/dist/auth/index.d.ts +3 -3
  9. package/dist/auth/index.mjs +1 -1
  10. package/dist/{chunk-Y3YFLYN4.mjs → chunk-3VDFBRRK.mjs} +4 -1
  11. package/dist/chunk-3VDFBRRK.mjs.map +1 -0
  12. package/dist/{chunk-LBEJECG3.mjs → chunk-BEN24YAH.mjs} +26 -2
  13. package/dist/chunk-BEN24YAH.mjs.map +1 -0
  14. package/dist/{chunk-2QB6MIL2.mjs → chunk-LZQG3BQM.mjs} +2 -2
  15. package/dist/{contactUs-C13TqaIf.d.mts → contactUs-KVN1Iw60.d.mts} +1 -1
  16. package/dist/{contactUs-Cr4itlk6.d.ts → contactUs-l3ciX1_d.d.ts} +1 -1
  17. package/dist/coupon-BSiDzp4T.d.mts +39 -0
  18. package/dist/coupon-IFOTRBJR.d.ts +39 -0
  19. package/dist/formFields/index.d.mts +1 -1
  20. package/dist/formFields/index.d.ts +1 -1
  21. package/dist/formFields/index.mjs +1 -1
  22. package/dist/{global-8HQMiqbS.d.mts → global-BrnExI9t.d.mts} +5 -2
  23. package/dist/{global-DGrr26NH.d.ts → global-D8aPAI5b.d.ts} +5 -2
  24. package/dist/graphql/index.cjs +3 -0
  25. package/dist/graphql/index.cjs.map +1 -1
  26. package/dist/graphql/index.d.mts +5 -5
  27. package/dist/graphql/index.d.ts +5 -5
  28. package/dist/graphql/index.mjs +2 -2
  29. package/dist/hooks/index.cjs +128 -25
  30. package/dist/hooks/index.cjs.map +1 -1
  31. package/dist/hooks/index.d.mts +15 -6
  32. package/dist/hooks/index.d.ts +15 -6
  33. package/dist/hooks/index.mjs +127 -28
  34. package/dist/hooks/index.mjs.map +1 -1
  35. package/dist/index.cjs +28 -0
  36. package/dist/index.cjs.map +1 -1
  37. package/dist/index.d.mts +43 -3
  38. package/dist/index.d.ts +43 -3
  39. package/dist/index.mjs +27 -0
  40. package/dist/index.mjs.map +1 -1
  41. package/dist/map/index.d.mts +1 -1
  42. package/dist/map/index.d.ts +1 -1
  43. package/dist/{resourceActivities-BkC-3bF2.d.ts → resourceActivities-DIXjrgOD.d.ts} +1 -1
  44. package/dist/{resourceActivities-CowKiCCb.d.mts → resourceActivities-DuftR4Ts.d.mts} +1 -1
  45. package/dist/sharing/index.d.mts +1 -1
  46. package/dist/sharing/index.d.ts +1 -1
  47. package/dist/types/index.d.mts +7 -7
  48. package/dist/types/index.d.ts +7 -7
  49. package/dist/{user-CpWRig6p.d.ts → user-BY5AtgYc.d.ts} +1 -1
  50. package/dist/{user-DiJffpnd.d.mts → user-CjYZ7tJ4.d.mts} +1 -1
  51. package/dist/utils/index.cjs +25 -0
  52. package/dist/utils/index.cjs.map +1 -1
  53. package/dist/utils/index.d.mts +7 -4
  54. package/dist/utils/index.d.ts +7 -4
  55. package/dist/utils/index.mjs +3 -1
  56. package/package.json +1 -1
  57. package/dist/chunk-LBEJECG3.mjs.map +0 -1
  58. package/dist/chunk-Y3YFLYN4.mjs.map +0 -1
  59. /package/dist/{chunk-2QB6MIL2.mjs.map → chunk-LZQG3BQM.mjs.map} +0 -0
@@ -1,8 +1,9 @@
1
- import { L as LocationType, o as VendorFormData, p as CreateVendorFormData, q as VendorInfoFormData, r as CreateVendorInfoFormData, s as UnregisteredVendorFormData, t as CreateUnregisteredVendorFormData, u as EventFormData, v as CreateEventFormData, w as EventInfoFormData, x as CreateEventInfoFormData, B as BaseResourceTypeFormData, y as PostFormData, z as CreatePostFormData } from '../global-8HQMiqbS.mjs';
2
- import { U as UserFormData, C as CreateUserFormData } from '../user-DiJffpnd.mjs';
3
- import { C as CreateLoginFormData, d as CreateRegisterFormData, e as CreateRequestPasswordResetFormData, f as CreateValidateVerificationTokenFormData, g as CreateResetPasswordFormData, h as PartnerFormData, i as AdFormData, j as CreateAdFormState, k as CreatePartnerFormData, l as AppSettingsFormData, m as CreateAppSettingsFormData, n as SchoolFormData, o as CreateSchoolFormData } from '../ad-CplXHfPk.mjs';
4
- import { a as AffiliateFormData, A as AffiliateType, C as CreateAffiliateFormData } from '../affiliate-hXxPpl_S.mjs';
5
- import { C as ContactUsFormData, a as CreateContactUsFormData } from '../contactUs-C13TqaIf.mjs';
1
+ import { L as LocationType, o as VendorFormData, p as CreateVendorFormData, q as VendorInfoFormData, r as CreateVendorInfoFormData, s as UnregisteredVendorFormData, t as CreateUnregisteredVendorFormData, u as EventFormData, v as CreateEventFormData, w as EventInfoFormData, x as CreateEventInfoFormData, B as BaseResourceTypeFormData, y as PostFormData, z as CreatePostFormData } from '../global-BrnExI9t.mjs';
2
+ import { U as UserFormData, C as CreateUserFormData } from '../user-CjYZ7tJ4.mjs';
3
+ import { C as CreateLoginFormData, d as CreateRegisterFormData, e as CreateRequestPasswordResetFormData, f as CreateValidateVerificationTokenFormData, g as CreateResetPasswordFormData, h as PartnerFormData, i as AdFormData, j as CreateAdFormState, k as CreatePartnerFormData, l as AppSettingsFormData, m as CreateAppSettingsFormData, n as SchoolFormData, o as CreateSchoolFormData } from '../ad-DChdPAkx.mjs';
4
+ import { a as AffiliateFormData, A as AffiliateType, C as CreateAffiliateFormData } from '../affiliate-C1EG9HbN.mjs';
5
+ import { C as ContactUsFormData, a as CreateContactUsFormData } from '../contactUs-KVN1Iw60.mjs';
6
+ import { P as ProductCouponFormData, C as CreateProductCouponFormData } from '../coupon-BSiDzp4T.mjs';
6
7
  import 'react-hook-form';
7
8
  import '../enums/index.mjs';
8
9
  import '../images/index.mjs';
@@ -116,4 +117,12 @@ declare function useSchoolForm(data?: SchoolFormData): CreateSchoolFormData;
116
117
 
117
118
  declare function useAffiliateForm(data: AffiliateFormData): CreateAffiliateFormData;
118
119
 
119
- export { type PlacePrediction, defaultAffiliateFormValues, defaultEventFormValues, defaultEventInfoFormValues, defaultLocation, defaultPartnerFormValues, defaultUnregisteredVendorFormValues, defaultVendorFormValues, defaultVendorInfoFormValues, globalDefaultValues, mapAffiliateToFormData, mapBaseResourceTypeToFormData, useAdForm, useAffiliateForm, useAppSettingsForm, useContactUsForm, useEventForm, useEventInfoForm, useLocationSearch, useLoginForm, usePartnerForm, usePostForm, useRegisterForm, useRequestPasswordResetForm, useResetPasswordForm, useSchoolForm, useUnregisteredVendorForm, useUserForm, useValidateVerificationTokenForm, useVendorForm, useVendorInfoForm };
120
+ /**
121
+ * Custom hook to manage the coupon form state and validation.
122
+ *
123
+ * @param {ProductCouponFormData} data - The initial form data.
124
+ * @returns {CreateProductCouponFormData} - The form methods and state.
125
+ */
126
+ declare function useCouponForm(data?: ProductCouponFormData): CreateProductCouponFormData;
127
+
128
+ export { type PlacePrediction, defaultAffiliateFormValues, defaultEventFormValues, defaultEventInfoFormValues, defaultLocation, defaultPartnerFormValues, defaultUnregisteredVendorFormValues, defaultVendorFormValues, defaultVendorInfoFormValues, globalDefaultValues, mapAffiliateToFormData, mapBaseResourceTypeToFormData, useAdForm, useAffiliateForm, useAppSettingsForm, useContactUsForm, useCouponForm, useEventForm, useEventInfoForm, useLocationSearch, useLoginForm, usePartnerForm, usePostForm, useRegisterForm, useRequestPasswordResetForm, useResetPasswordForm, useSchoolForm, useUnregisteredVendorForm, useUserForm, useValidateVerificationTokenForm, useVendorForm, useVendorInfoForm };
@@ -1,8 +1,9 @@
1
- import { L as LocationType, o as VendorFormData, p as CreateVendorFormData, q as VendorInfoFormData, r as CreateVendorInfoFormData, s as UnregisteredVendorFormData, t as CreateUnregisteredVendorFormData, u as EventFormData, v as CreateEventFormData, w as EventInfoFormData, x as CreateEventInfoFormData, B as BaseResourceTypeFormData, y as PostFormData, z as CreatePostFormData } from '../global-DGrr26NH.js';
2
- import { U as UserFormData, C as CreateUserFormData } from '../user-CpWRig6p.js';
3
- import { C as CreateLoginFormData, d as CreateRegisterFormData, e as CreateRequestPasswordResetFormData, f as CreateValidateVerificationTokenFormData, g as CreateResetPasswordFormData, h as PartnerFormData, i as AdFormData, j as CreateAdFormState, k as CreatePartnerFormData, l as AppSettingsFormData, m as CreateAppSettingsFormData, n as SchoolFormData, o as CreateSchoolFormData } from '../ad-03NrHP3C.js';
4
- import { a as AffiliateFormData, A as AffiliateType, C as CreateAffiliateFormData } from '../affiliate-BLSH2QdJ.js';
5
- import { C as ContactUsFormData, a as CreateContactUsFormData } from '../contactUs-Cr4itlk6.js';
1
+ import { L as LocationType, o as VendorFormData, p as CreateVendorFormData, q as VendorInfoFormData, r as CreateVendorInfoFormData, s as UnregisteredVendorFormData, t as CreateUnregisteredVendorFormData, u as EventFormData, v as CreateEventFormData, w as EventInfoFormData, x as CreateEventInfoFormData, B as BaseResourceTypeFormData, y as PostFormData, z as CreatePostFormData } from '../global-D8aPAI5b.js';
2
+ import { U as UserFormData, C as CreateUserFormData } from '../user-BY5AtgYc.js';
3
+ import { C as CreateLoginFormData, d as CreateRegisterFormData, e as CreateRequestPasswordResetFormData, f as CreateValidateVerificationTokenFormData, g as CreateResetPasswordFormData, h as PartnerFormData, i as AdFormData, j as CreateAdFormState, k as CreatePartnerFormData, l as AppSettingsFormData, m as CreateAppSettingsFormData, n as SchoolFormData, o as CreateSchoolFormData } from '../ad-BZcVngc3.js';
4
+ import { a as AffiliateFormData, A as AffiliateType, C as CreateAffiliateFormData } from '../affiliate-BM1h7pwc.js';
5
+ import { C as ContactUsFormData, a as CreateContactUsFormData } from '../contactUs-l3ciX1_d.js';
6
+ import { P as ProductCouponFormData, C as CreateProductCouponFormData } from '../coupon-IFOTRBJR.js';
6
7
  import 'react-hook-form';
7
8
  import '../enums/index.js';
8
9
  import '../images/index.js';
@@ -116,4 +117,12 @@ declare function useSchoolForm(data?: SchoolFormData): CreateSchoolFormData;
116
117
 
117
118
  declare function useAffiliateForm(data: AffiliateFormData): CreateAffiliateFormData;
118
119
 
119
- export { type PlacePrediction, defaultAffiliateFormValues, defaultEventFormValues, defaultEventInfoFormValues, defaultLocation, defaultPartnerFormValues, defaultUnregisteredVendorFormValues, defaultVendorFormValues, defaultVendorInfoFormValues, globalDefaultValues, mapAffiliateToFormData, mapBaseResourceTypeToFormData, useAdForm, useAffiliateForm, useAppSettingsForm, useContactUsForm, useEventForm, useEventInfoForm, useLocationSearch, useLoginForm, usePartnerForm, usePostForm, useRegisterForm, useRequestPasswordResetForm, useResetPasswordForm, useSchoolForm, useUnregisteredVendorForm, useUserForm, useValidateVerificationTokenForm, useVendorForm, useVendorInfoForm };
120
+ /**
121
+ * Custom hook to manage the coupon form state and validation.
122
+ *
123
+ * @param {ProductCouponFormData} data - The initial form data.
124
+ * @returns {CreateProductCouponFormData} - The form methods and state.
125
+ */
126
+ declare function useCouponForm(data?: ProductCouponFormData): CreateProductCouponFormData;
127
+
128
+ export { type PlacePrediction, defaultAffiliateFormValues, defaultEventFormValues, defaultEventInfoFormValues, defaultLocation, defaultPartnerFormValues, defaultUnregisteredVendorFormValues, defaultVendorFormValues, defaultVendorInfoFormValues, globalDefaultValues, mapAffiliateToFormData, mapBaseResourceTypeToFormData, useAdForm, useAffiliateForm, useAppSettingsForm, useContactUsForm, useCouponForm, useEventForm, useEventInfoForm, useLocationSearch, useLoginForm, usePartnerForm, usePostForm, useRegisterForm, useRequestPasswordResetForm, useResetPasswordForm, useSchoolForm, useUnregisteredVendorForm, useUserForm, useValidateVerificationTokenForm, useVendorForm, useVendorInfoForm };
@@ -7,7 +7,7 @@ import {
7
7
  SCHOOL_MIN_STUDENT_COUNT,
8
8
  isValidIrdNumber,
9
9
  normalizeUrl
10
- } from "../chunk-LBEJECG3.mjs";
10
+ } from "../chunk-BEN24YAH.mjs";
11
11
  import {
12
12
  dateFormat,
13
13
  timeFormat
@@ -23,8 +23,8 @@ import {
23
23
  } from "../chunk-ILILH7E2.mjs";
24
24
  import "../chunk-RAYUJODN.mjs";
25
25
  import "../chunk-DQ7ZHIXW.mjs";
26
- import "../chunk-2QB6MIL2.mjs";
27
- import "../chunk-Y3YFLYN4.mjs";
26
+ import "../chunk-LZQG3BQM.mjs";
27
+ import "../chunk-3VDFBRRK.mjs";
28
28
  import {
29
29
  EnumEventDateStatus,
30
30
  EnumEventType,
@@ -445,8 +445,8 @@ var vendorSchema = globalResourceSchema.shape({
445
445
  });
446
446
  var unregisteredVendorSchema = yup3.object().shape({
447
447
  categoryIds: yup3.array().of(yup3.string().defined()).min(1, "Category list must contain at least one item").required("Categories are required"),
448
- dateTime: yup3.array().of(dateTimeSchema).min(1, "DateTime list must contain at least one item").required("DateTime is required"),
449
- email: emailOptionalSchema,
448
+ dateTime: yup3.array().of(dateTimeSchema).min(1, "Select at least one event date").required("DateTime is required"),
449
+ email: emailRequiredSchema,
450
450
  inviterId: yup3.string().required("Inviter ID is required"),
451
451
  name: yup3.string().label("Stallholder Name").trim().min(3, "Name must be at least 3 characters").required("Name is required"),
452
452
  region: yup3.string().label("Region").required("Region is required")
@@ -673,6 +673,38 @@ var appSettingsSchema = yup9.object({
673
673
  minimumRedeemableAffiliatePoints: yup9.number().label("Minimum Redeemable Affiliate Points").min(0, "Minimum Redeemable Affiliate Points must be greater than 0").required("Minimum Redeemable Affiliate Points is required")
674
674
  });
675
675
 
676
+ // src/yupSchema/coupon.ts
677
+ import * as yup10 from "yup";
678
+ var couponOptionSchema = yup10.object().shape({
679
+ buy: yup10.number().transform((_, originalValue) => toOptionalNumber(originalValue)).label("Buy").typeError("Buy must be a number").integer("Buy must be a whole number").min(1, "Buy must be at least 1").required("Buy is required"),
680
+ get: yup10.number().transform((_, originalValue) => toOptionalNumber(originalValue)).label("Get").typeError("Get must be a number").integer("Get must be a whole number").min(1, "Get must be at least 1").required("Get is required"),
681
+ unit: yup10.string().label("Unit").trim().required("Unit is required")
682
+ });
683
+ var couponSchema = yup10.object().shape({
684
+ couponDescription: yup10.string().label("Description").trim().required("Description is required"),
685
+ couponOption: couponOptionSchema,
686
+ endDate: yup10.date().label("End Date").typeError("End date is required").required("End date is required").test("is-future-date", "End date must be in the future", (value) => {
687
+ if (!value) return false;
688
+ return new Date(value) > /* @__PURE__ */ new Date();
689
+ }).when("startDate", {
690
+ is: (val) => !!val,
691
+ then: (schema) => schema.test(
692
+ "is-after-start",
693
+ "End date must be after start date",
694
+ function(value) {
695
+ const { startDate } = this.parent;
696
+ if (!value || !startDate) return false;
697
+ return new Date(value) > new Date(startDate);
698
+ }
699
+ )
700
+ }),
701
+ participantProductId: yup10.string().label("Participant Product").trim().required("Participant product is required"),
702
+ startDate: yup10.date().label("Start Date").typeError("Start date is required").required("Start date is required").test("is-future-date", "Start date must be in the future", (value) => {
703
+ if (!value) return false;
704
+ return new Date(value) > /* @__PURE__ */ new Date();
705
+ })
706
+ });
707
+
676
708
  // src/hooks/utils.ts
677
709
  var defaultLocation = {
678
710
  city: "",
@@ -760,7 +792,7 @@ var defaultVendorFormValues = {
760
792
  var defaultUnregisteredVendorFormValues = {
761
793
  categoryIds: [],
762
794
  dateTime: [],
763
- email: null,
795
+ email: "",
764
796
  inviterId: "",
765
797
  name: "",
766
798
  region: ""
@@ -1500,12 +1532,12 @@ import React7 from "react";
1500
1532
  import { useForm as useForm12 } from "react-hook-form";
1501
1533
 
1502
1534
  // src/yupSchema/contactUs.ts
1503
- import * as yup10 from "yup";
1504
- var contactUsSchema = yup10.object().shape({
1535
+ import * as yup11 from "yup";
1536
+ var contactUsSchema = yup11.object().shape({
1505
1537
  email: emailRequiredSchema,
1506
- firstName: yup10.string().label("First Name").required("First name is required"),
1507
- lastName: yup10.string().label("Last Name").required("Last name is required"),
1508
- message: yup10.string().label("Message").required("Message is required")
1538
+ firstName: yup11.string().label("First Name").required("First name is required"),
1539
+ lastName: yup11.string().label("Last Name").required("Last name is required"),
1540
+ message: yup11.string().label("Message").required("Message is required")
1509
1541
  });
1510
1542
 
1511
1543
  // src/hooks/useContactUsForm.ts
@@ -1847,15 +1879,15 @@ import { useEffect as useEffect8 } from "react";
1847
1879
  import { useForm as useForm17 } from "react-hook-form";
1848
1880
 
1849
1881
  // src/yupSchema/school.ts
1850
- import * as yup11 from "yup";
1851
- var schoolSchema = yup11.object().shape({
1852
- active: yup11.boolean().required("Active is required"),
1882
+ import * as yup12 from "yup";
1883
+ var schoolSchema = yup12.object().shape({
1884
+ active: yup12.boolean().required("Active is required"),
1853
1885
  contactDetails: contactDetailsSchema,
1854
1886
  location: locationSchema,
1855
- name: yup11.string().trim().required("Name is required"),
1856
- region: yup11.string().trim().required("Region is required"),
1857
- socialMedia: yup11.array().of(socialMediaSchema).nullable().default(null),
1858
- studentCount: yup11.number().transform((_, originalValue) => toOptionalNumber(originalValue)).label("Student Count").nullable().typeError("Student count must be a number").min(
1887
+ name: yup12.string().trim().required("Name is required"),
1888
+ region: yup12.string().trim().required("Region is required"),
1889
+ socialMedia: yup12.array().of(socialMediaSchema).nullable().default(null),
1890
+ studentCount: yup12.number().transform((_, originalValue) => toOptionalNumber(originalValue)).label("Student Count").nullable().typeError("Student count must be a number").min(
1859
1891
  SCHOOL_MIN_STUDENT_COUNT,
1860
1892
  `Student count must be at least ${SCHOOL_MIN_STUDENT_COUNT}`
1861
1893
  ).required("Student count is required").test("no-leading-zeros", "", noLeadingZeros("Student Count"))
@@ -1950,29 +1982,29 @@ import { useEffect as useEffect9 } from "react";
1950
1982
  import { useForm as useForm18 } from "react-hook-form";
1951
1983
 
1952
1984
  // src/yupSchema/affiliate.ts
1953
- import * as yup12 from "yup";
1954
- var affiliateContactDetailsSchema = yup12.object({
1955
- mobilePhone: yup12.string().trim().required("Mobile phone is required").test(
1985
+ import * as yup13 from "yup";
1986
+ var affiliateContactDetailsSchema = yup13.object({
1987
+ mobilePhone: yup13.string().trim().required("Mobile phone is required").test(
1956
1988
  "mobile-phone",
1957
1989
  "Mobile must start with 02 and be 9\u201311 digits",
1958
1990
  (value) => mobileRegex.test(value)
1959
1991
  )
1960
1992
  });
1961
- var bankAccountDetailsSchema = yup12.object({
1962
- accountHolderName: yup12.string().required("Account holder name is required"),
1963
- accountNumber: yup12.string().required("Account number is required for bank transfer").matches(
1993
+ var bankAccountDetailsSchema = yup13.object({
1994
+ accountHolderName: yup13.string().required("Account holder name is required"),
1995
+ accountNumber: yup13.string().required("Account number is required for bank transfer").matches(
1964
1996
  nzBankAccountRegex,
1965
1997
  "Account number must be in format: XX-XXXX-XXXXXXX-XX"
1966
1998
  ).trim()
1967
1999
  });
1968
- var affiliateSchema = yup12.object().shape({
2000
+ var affiliateSchema = yup13.object().shape({
1969
2001
  bankAccountDetails: bankAccountDetailsSchema.required(
1970
2002
  "Bank account details are required"
1971
2003
  ),
1972
2004
  contactDetails: affiliateContactDetailsSchema.required(
1973
2005
  "Contact details are required"
1974
2006
  ),
1975
- irdNumber: yup12.string().trim().required("IRD number is required").matches(
2007
+ irdNumber: yup13.string().trim().required("IRD number is required").matches(
1976
2008
  nzIrdNumberRegex,
1977
2009
  "IRD number must be in format: XXX-XXX-XX or XXX-XXX-XXX"
1978
2010
  ).test(
@@ -1981,11 +2013,11 @@ var affiliateSchema = yup12.object().shape({
1981
2013
  (value) => !!value && isValidIrdNumber(value)
1982
2014
  ),
1983
2015
  location: locationSchema.required("Location is required"),
1984
- participantType: yup12.mixed().oneOf(
2016
+ participantType: yup13.mixed().oneOf(
1985
2017
  Object.values(EnumAffiliateParticipantType),
1986
2018
  "Please select a valid participant type"
1987
2019
  ).required("Participant type is required"),
1988
- socialMedia: yup12.array().of(socialMediaSchema).nullable().default(null)
2020
+ socialMedia: yup13.array().of(socialMediaSchema).nullable().default(null)
1989
2021
  });
1990
2022
 
1991
2023
  // src/hooks/useAffiliateForm.ts
@@ -2045,6 +2077,72 @@ function useAffiliateForm(data) {
2045
2077
  watch
2046
2078
  };
2047
2079
  }
2080
+
2081
+ // src/hooks/useCouponForm.tsx
2082
+ import { yupResolver as yupResolver19 } from "@hookform/resolvers/yup";
2083
+ import * as React12 from "react";
2084
+ import { useForm as useForm19 } from "react-hook-form";
2085
+ var defaultValues11 = {
2086
+ couponDescription: "",
2087
+ couponOption: {
2088
+ buy: 0,
2089
+ get: 0,
2090
+ unit: ""
2091
+ },
2092
+ endDate: /* @__PURE__ */ new Date(),
2093
+ participantProductId: "",
2094
+ startDate: /* @__PURE__ */ new Date()
2095
+ };
2096
+ function useCouponForm(data) {
2097
+ const {
2098
+ control,
2099
+ formState,
2100
+ getValues,
2101
+ handleSubmit,
2102
+ reset,
2103
+ setValue,
2104
+ watch
2105
+ } = useForm19({
2106
+ defaultValues: defaultValues11,
2107
+ resolver: yupResolver19(couponSchema)
2108
+ });
2109
+ React12.useEffect(() => {
2110
+ if (data) {
2111
+ reset({
2112
+ couponDescription: data.couponDescription,
2113
+ couponOption: data.couponOption,
2114
+ endDate: data.endDate,
2115
+ participantProductId: data.participantProductId,
2116
+ startDate: data.startDate
2117
+ });
2118
+ } else {
2119
+ reset(defaultValues11);
2120
+ }
2121
+ }, [data]);
2122
+ const {
2123
+ couponDescription,
2124
+ couponOption,
2125
+ endDate,
2126
+ participantProductId,
2127
+ startDate
2128
+ } = getValues();
2129
+ return {
2130
+ control,
2131
+ fields: {
2132
+ couponDescription,
2133
+ couponOption,
2134
+ endDate,
2135
+ participantProductId,
2136
+ startDate
2137
+ },
2138
+ formState,
2139
+ getValues,
2140
+ handleSubmit,
2141
+ reset,
2142
+ setValue,
2143
+ watch
2144
+ };
2145
+ }
2048
2146
  export {
2049
2147
  defaultAffiliateFormValues,
2050
2148
  defaultEventFormValues,
@@ -2061,6 +2159,7 @@ export {
2061
2159
  useAffiliateForm,
2062
2160
  useAppSettingsForm,
2063
2161
  useContactUsForm,
2162
+ useCouponForm,
2064
2163
  useEventForm,
2065
2164
  useEventInfoForm,
2066
2165
  useLocationSearch,