@timardex/cluemart-shared 1.2.82 → 1.2.84

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.
@@ -324,20 +324,22 @@ var emailOptionalSchema = yup.string().nullable().notRequired().transform(
324
324
  ).label("Email");
325
325
  var mobileRegex = /^02\d{7,9}$/;
326
326
  var landlineRegex = /^(0(3|4|6|7|9)[0-9]{7})$/;
327
+ var mobilePhoneSchema = yup.string().label("Mobile Phone").nullable().notRequired().test(
328
+ "mobile-phone",
329
+ "Mobile must start with 02 and be 9\u201311 digits",
330
+ (value) => !value || mobileRegex.test(value)
331
+ // skip empty values
332
+ );
333
+ var landlinePhoneSchema = yup.string().label("Landline Phone").nullable().notRequired().test(
334
+ "landline-phone",
335
+ "Landline must start with 03, 04, 06, 07, or 09 (not 090) and have 7 digits after area code",
336
+ (value) => !value || landlineRegex.test(value)
337
+ // skip empty values
338
+ );
327
339
  var contactDetailsSchema = yup.object({
328
340
  email: emailOptionalSchema,
329
- mobilePhone: yup.string().label("Mobile Phone").nullable().notRequired().test(
330
- "mobile-phone",
331
- "Mobile must start with 02 and be 9\u201311 digits",
332
- (value) => !value || mobileRegex.test(value)
333
- // skip empty values
334
- ),
335
- landlinePhone: yup.string().label("Landline Phone").nullable().notRequired().test(
336
- "landline-phone",
337
- "Landline must start with 03, 04, 06, 07, or 09 (not 090) and have 7 digits after area code",
338
- (value) => !value || landlineRegex.test(value)
339
- // skip empty values
340
- )
341
+ mobilePhone: mobilePhoneSchema,
342
+ landlinePhone: landlinePhoneSchema
341
343
  }).nullable().default(void 0);
342
344
  var endDateNotInPastTest = yup.string().test("not-in-past", "End date cannot be in the past", (value) => {
343
345
  const now = (0, import_dayjs2.default)();
@@ -661,21 +663,107 @@ var validateVerificationTokenSchema = yup5.object().shape({
661
663
 
662
664
  // src/yupSchema/tester.ts
663
665
  var yup6 = __toESM(require("yup"));
664
- var testerSchema = yup6.object().shape({
665
- approved: yup6.boolean().required("Approval status is required"),
666
- categories: yup6.array().nullable().when("resourceType", {
667
- is: "vendor" /* VENDOR */,
668
- then: () => categorySchema.min(1, "Category list must contain at least one item").required("Categories required"),
669
- // eslint-disable-next-line sort-keys
670
- otherwise: () => yup6.array().nullable().notRequired()
666
+
667
+ // src/types/tester.ts
668
+ var OrganizedMarketCount = /* @__PURE__ */ ((OrganizedMarketCount2) => {
669
+ OrganizedMarketCount2["ONE"] = "1";
670
+ OrganizedMarketCount2["TWO_TO_THREE"] = "2-3";
671
+ OrganizedMarketCount2["FOUR_TO_FIVE"] = "4-5";
672
+ OrganizedMarketCount2["MORE_THAN_FIVE"] = "more_than_5";
673
+ return OrganizedMarketCount2;
674
+ })(OrganizedMarketCount || {});
675
+ var VendorSellingFrequency = /* @__PURE__ */ ((VendorSellingFrequency2) => {
676
+ VendorSellingFrequency2["TWICE_A_WEEK"] = "2-3_times_a_week";
677
+ VendorSellingFrequency2["ONCE_A_WEEK"] = "once_a_week";
678
+ VendorSellingFrequency2["ONE_TO_TWO_TIMES_A_MONTH"] = "1-2_times_a_month";
679
+ VendorSellingFrequency2["LESS_OFTEN"] = "less_often";
680
+ return VendorSellingFrequency2;
681
+ })(VendorSellingFrequency || {});
682
+ var OrganizerMarketFrequency = /* @__PURE__ */ ((OrganizerMarketFrequency2) => {
683
+ OrganizerMarketFrequency2["WEEKLY"] = "weekly";
684
+ OrganizerMarketFrequency2["FORTNIGHTLY"] = "fortnightly";
685
+ OrganizerMarketFrequency2["MONTHLY"] = "monthly";
686
+ OrganizerMarketFrequency2["SEASONAL"] = "seasonal";
687
+ return OrganizerMarketFrequency2;
688
+ })(OrganizerMarketFrequency || {});
689
+
690
+ // src/yupSchema/tester.ts
691
+ var testerVendorSchema = yup6.object().shape({
692
+ categories: categorySchema,
693
+ marketsAttended: yup6.array().of(
694
+ yup6.object().shape({
695
+ city: yup6.string().trim().required("City is required"),
696
+ name: yup6.string().trim().required("Market name is required")
697
+ })
698
+ ).min(1, "At least one market must be provided").required("Markets attended are required"),
699
+ productsOrServices: yup6.string().trim().required("Products or services description is required"),
700
+ questionary: yup6.object().shape({
701
+ appearInVideoIntroduction: yup6.boolean().required("Appear in video introduction is required"),
702
+ applyToAtLeastOneMarket: yup6.boolean().required("Apply to at least one market commitment is required"),
703
+ completeFeedbackQuestionnaire: yup6.boolean().required("Complete feedback questionnaire commitment is required"),
704
+ excitementAboutApp: yup6.string().trim().required("Excitement about app is required"),
705
+ sendPhotoForSocialMedia: yup6.boolean().required("Send photo for social media is required"),
706
+ socialMediaFeatureReason: yup6.string().trim().optional(),
707
+ testingPeriodConcerns: yup6.string().trim().optional(),
708
+ tryVisitorFeatures: yup6.boolean().required("Try visitor features commitment is required"),
709
+ uploadStallProfileFirstWeek: yup6.boolean().required("Upload stall profile first week commitment is required"),
710
+ usefulnessExpectations: yup6.string().trim().required("Usefulness expectations is required")
671
711
  }),
672
- companyName: yup6.string().required("Company name is required"),
712
+ sellingFrequency: yup6.mixed().oneOf(
713
+ Object.values(VendorSellingFrequency),
714
+ "Please select a valid selling frequency"
715
+ ).required("Selling frequency is required"),
716
+ yearlySellingApprox: yup6.number().label("Yearly Selling Approx").min(0, "Yearly selling approximate must be at least 0").integer("Yearly selling approximate must be a whole number").required("Yearly selling approximate is required").test("no-leading-zeros", "", noLeadingZeros("Yearly selling approximate"))
717
+ });
718
+ var testerEventSchema = yup6.object().shape({
719
+ allowMarketingAppearance: yup6.boolean().required("Allow marketing appearance is required"),
720
+ completeFinalQuestionnaire: yup6.boolean().required("Complete final questionnaire commitment is required"),
721
+ dailyCoordinationNeeds: yup6.string().trim().required("Daily coordination needs is required"),
722
+ interestedInCharityInitiative: yup6.boolean().required("Interest in charity initiative is required"),
723
+ inviteAtLeastFiveStallholders: yup6.boolean().required("Invite at least five stallholders commitment is required"),
724
+ manageApplicationsAndCommunication: yup6.boolean().required("Manage applications and communication commitment is required"),
725
+ markets: yup6.array().of(
726
+ yup6.object().shape({
727
+ averageStallCount: yup6.number().label("Average Stall Count").min(1, "Average stall count must be at least 1").integer("Average stall count must be a whole number").required("Average stall count is required").test("no-leading-zeros", "", noLeadingZeros("Average stall count")),
728
+ cityOrVenue: yup6.string().trim().required("City or venue is required"),
729
+ frequency: yup6.mixed().oneOf(
730
+ Object.values(OrganizerMarketFrequency),
731
+ "Please select a valid frequency"
732
+ ).required("Frequency is required"),
733
+ name: yup6.string().trim().required("Market name is required")
734
+ })
735
+ ).min(1, "At least one market must be provided").required("Markets are required"),
736
+ organizedMarketCount: yup6.mixed().oneOf(
737
+ Object.values(OrganizedMarketCount),
738
+ "Please select a valid market count"
739
+ ).required("Organized market count is required"),
740
+ organizerExpectations: yup6.string().trim().required("Organizer expectations is required"),
741
+ registerMarketsFirstWeek: yup6.boolean().required("Register markets first week commitment is required")
742
+ });
743
+ var testerSchema = yup6.object().shape({
744
+ businessName: yup6.string().required("Business name is required"),
673
745
  email: emailRequiredSchema,
746
+ event: yup6.object().when("resourceType", {
747
+ is: (resourceType) => resourceType === "event" /* EVENT */,
748
+ otherwise: (schema) => schema.nullable().optional(),
749
+ then: () => testerEventSchema.required("Event information is required")
750
+ }),
674
751
  firstName: yup6.string().required("First name is required"),
675
752
  lastName: yup6.string().required("Last name is required"),
753
+ mobilePhone: yup6.string().label("Mobile Phone").required("Mobile phone is required").test(
754
+ "mobile-phone",
755
+ "Mobile must start with 02 and be 9\u201311 digits",
756
+ (value) => !value || mobileRegex.test(value)
757
+ // skip empty values
758
+ ),
676
759
  osType: yup6.mixed().oneOf(Object.values(EnumOSPlatform), "Please select Android or iOS device").required("OS Type is required"),
677
760
  region: yup6.string().required("Region is required"),
678
- resourceType: yup6.mixed().oneOf(Object.values(EnumResourceType), "Please select Event or Vendor").required("Resource Type is required")
761
+ resourceType: yup6.mixed().oneOf(Object.values(EnumResourceType), "Please select Event or Vendor").required("Resource Type is required"),
762
+ vendor: yup6.object().when("resourceType", {
763
+ is: (resourceType) => resourceType === "vendor" /* VENDOR */,
764
+ otherwise: (schema) => schema.nullable().optional(),
765
+ then: () => testerVendorSchema.required("Vendor information is required")
766
+ })
679
767
  });
680
768
 
681
769
  // src/yupSchema/ad.ts
@@ -1469,15 +1557,16 @@ var import_yup11 = require("@hookform/resolvers/yup");
1469
1557
  var import_react = __toESM(require("react"));
1470
1558
  var import_react_hook_form11 = require("react-hook-form");
1471
1559
  var defaultValues7 = {
1472
- approved: false,
1473
- categories: null,
1474
- companyName: "",
1560
+ businessName: "",
1475
1561
  email: "",
1562
+ event: null,
1476
1563
  firstName: "",
1477
1564
  lastName: "",
1565
+ mobilePhone: "",
1478
1566
  osType: "",
1479
1567
  region: "",
1480
- resourceType: ""
1568
+ resourceType: "",
1569
+ vendor: null
1481
1570
  };
1482
1571
  function useTesterForm(data) {
1483
1572
  const {
@@ -1495,43 +1584,46 @@ function useTesterForm(data) {
1495
1584
  import_react.default.useEffect(() => {
1496
1585
  if (data) {
1497
1586
  reset({
1498
- approved: data.approved,
1499
- categories: data.categories,
1500
- companyName: data.companyName,
1587
+ businessName: data.businessName,
1501
1588
  email: data.email,
1589
+ event: data.event,
1502
1590
  firstName: data.firstName,
1503
1591
  lastName: data.lastName,
1592
+ mobilePhone: data.mobilePhone,
1504
1593
  osType: data.osType,
1505
1594
  region: data.region,
1506
- resourceType: data.resourceType
1595
+ resourceType: data.resourceType,
1596
+ vendor: data.vendor
1507
1597
  });
1508
1598
  } else {
1509
1599
  reset(defaultValues7);
1510
1600
  }
1511
1601
  }, [data]);
1512
1602
  const {
1513
- approved,
1514
- categories,
1515
- companyName,
1603
+ businessName,
1516
1604
  email,
1605
+ event,
1517
1606
  firstName,
1518
1607
  lastName,
1608
+ mobilePhone,
1519
1609
  osType,
1520
1610
  region,
1521
- resourceType
1611
+ resourceType,
1612
+ vendor
1522
1613
  } = getValues();
1523
1614
  return {
1524
1615
  control,
1525
1616
  fields: {
1526
- approved,
1527
- categories,
1528
- companyName,
1617
+ businessName,
1529
1618
  email,
1619
+ event,
1530
1620
  firstName,
1531
1621
  lastName,
1622
+ mobilePhone,
1532
1623
  osType,
1533
1624
  region,
1534
- resourceType
1625
+ resourceType,
1626
+ vendor
1535
1627
  },
1536
1628
  formState: { errors },
1537
1629
  handleSubmit,