@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.
package/dist/index.cjs CHANGED
@@ -55,11 +55,14 @@ __export(index_exports, {
55
55
  EnumUserRole: () => EnumUserRole,
56
56
  EnumVendorType: () => EnumVendorType,
57
57
  ImageTypeEnum: () => ImageTypeEnum,
58
+ OrganizedMarketCount: () => OrganizedMarketCount,
59
+ OrganizerMarketFrequency: () => OrganizerMarketFrequency,
58
60
  SAVED_EMAIL_KEY: () => SAVED_EMAIL_KEY,
59
61
  SAVED_PASSWORD_KEY: () => SAVED_PASSWORD_KEY,
60
62
  SAVED_REFRESH_TOKEN_KEY: () => SAVED_REFRESH_TOKEN_KEY,
61
63
  SAVED_TOKEN_KEY: () => SAVED_TOKEN_KEY,
62
64
  USER_STORAGE_KEY: () => USER_STORAGE_KEY,
65
+ VendorSellingFrequency: () => VendorSellingFrequency,
63
66
  availableCategories: () => availableCategories,
64
67
  availableRegionOptions: () => availableRegionOptions,
65
68
  availableRegionTypes: () => availableRegionTypes,
@@ -2304,6 +2307,12 @@ var socialMediaFields = socialMedia.map((link) => ({
2304
2307
 
2305
2308
  // src/formFields/testers.ts
2306
2309
  var testersFields = [
2310
+ {
2311
+ helperText: "Enter your business name *",
2312
+ keyboardType: "default",
2313
+ name: "businessName",
2314
+ placeholder: "Business Name"
2315
+ },
2307
2316
  {
2308
2317
  helperText: "Enter first name *",
2309
2318
  keyboardType: "default",
@@ -2321,10 +2330,10 @@ var testersFields = [
2321
2330
  helperText: "Enter email address *"
2322
2331
  },
2323
2332
  {
2324
- helperText: "Enter your company name *",
2325
- keyboardType: "default",
2326
- name: "companyName",
2327
- placeholder: "Company Name"
2333
+ helperText: "Enter your mobile phone number *",
2334
+ keyboardType: "phone-pad",
2335
+ name: "mobilePhone",
2336
+ placeholder: "Mobile Phone Number *"
2328
2337
  }
2329
2338
  ];
2330
2339
 
@@ -4360,25 +4369,76 @@ var import_client38 = require("@apollo/client");
4360
4369
 
4361
4370
  // src/graphql/queries/tester.ts
4362
4371
  var import_client37 = require("@apollo/client");
4372
+ var TESTER_VENDOR_FIELDS_FRAGMENT = import_client37.gql`
4373
+ fragment TesterVendorFields on TesterVendorType {
4374
+ categories {
4375
+ ...CategoryFields
4376
+ }
4377
+ productsOrServices
4378
+ marketsAttended {
4379
+ name
4380
+ city
4381
+ }
4382
+ sellingFrequency
4383
+ yearlySellingApprox
4384
+ questionary {
4385
+ uploadStallProfileFirstWeek
4386
+ applyToAtLeastOneMarket
4387
+ tryVisitorFeatures
4388
+ completeFeedbackQuestionnaire
4389
+ sendPhotoForSocialMedia
4390
+ appearInVideoIntroduction
4391
+ socialMediaFeatureReason
4392
+ excitementAboutApp
4393
+ usefulnessExpectations
4394
+ testingPeriodConcerns
4395
+ }
4396
+ }
4397
+ ${CATEGORY_FIELDS_FRAGMENT}
4398
+ `;
4399
+ var TESTER_EVENT_FIELDS_FRAGMENT = import_client37.gql`
4400
+ fragment TesterEventFields on TesterEventType {
4401
+ organizedMarketCount
4402
+ markets {
4403
+ name
4404
+ cityOrVenue
4405
+ frequency
4406
+ averageStallCount
4407
+ }
4408
+ registerMarketsFirstWeek
4409
+ inviteAtLeastFiveStallholders
4410
+ manageApplicationsAndCommunication
4411
+ completeFinalQuestionnaire
4412
+ allowMarketingAppearance
4413
+ organizerExpectations
4414
+ dailyCoordinationNeeds
4415
+ interestedInCharityInitiative
4416
+ }
4417
+ `;
4363
4418
  var TESTER_FIELDS_FRAGMENT = import_client37.gql`
4364
4419
  fragment TesterFields on TesterType {
4365
4420
  _id
4366
4421
  active
4367
4422
  approved
4368
- categories {
4369
- ...CategoryFields
4370
- }
4371
- companyName
4423
+ businessName
4372
4424
  createdAt
4373
4425
  email
4374
4426
  firstName
4375
4427
  lastName
4428
+ mobilePhone
4376
4429
  osType
4377
4430
  region
4378
4431
  resourceType
4379
4432
  updatedAt
4433
+ vendor {
4434
+ ...TesterVendorFields
4435
+ }
4436
+ event {
4437
+ ...TesterEventFields
4438
+ }
4380
4439
  }
4381
- ${CATEGORY_FIELDS_FRAGMENT}
4440
+ ${TESTER_VENDOR_FIELDS_FRAGMENT}
4441
+ ${TESTER_EVENT_FIELDS_FRAGMENT}
4382
4442
  `;
4383
4443
  var GET_TESTERS = import_client37.gql`
4384
4444
  query getTesters {
@@ -5298,20 +5358,22 @@ var emailOptionalSchema = yup.string().nullable().notRequired().transform(
5298
5358
  ).label("Email");
5299
5359
  var mobileRegex = /^02\d{7,9}$/;
5300
5360
  var landlineRegex = /^(0(3|4|6|7|9)[0-9]{7})$/;
5361
+ var mobilePhoneSchema = yup.string().label("Mobile Phone").nullable().notRequired().test(
5362
+ "mobile-phone",
5363
+ "Mobile must start with 02 and be 9\u201311 digits",
5364
+ (value) => !value || mobileRegex.test(value)
5365
+ // skip empty values
5366
+ );
5367
+ var landlinePhoneSchema = yup.string().label("Landline Phone").nullable().notRequired().test(
5368
+ "landline-phone",
5369
+ "Landline must start with 03, 04, 06, 07, or 09 (not 090) and have 7 digits after area code",
5370
+ (value) => !value || landlineRegex.test(value)
5371
+ // skip empty values
5372
+ );
5301
5373
  var contactDetailsSchema = yup.object({
5302
5374
  email: emailOptionalSchema,
5303
- mobilePhone: yup.string().label("Mobile Phone").nullable().notRequired().test(
5304
- "mobile-phone",
5305
- "Mobile must start with 02 and be 9\u201311 digits",
5306
- (value) => !value || mobileRegex.test(value)
5307
- // skip empty values
5308
- ),
5309
- landlinePhone: yup.string().label("Landline Phone").nullable().notRequired().test(
5310
- "landline-phone",
5311
- "Landline must start with 03, 04, 06, 07, or 09 (not 090) and have 7 digits after area code",
5312
- (value) => !value || landlineRegex.test(value)
5313
- // skip empty values
5314
- )
5375
+ mobilePhone: mobilePhoneSchema,
5376
+ landlinePhone: landlinePhoneSchema
5315
5377
  }).nullable().default(void 0);
5316
5378
  var endDateNotInPastTest = yup.string().test("not-in-past", "End date cannot be in the past", (value) => {
5317
5379
  const now = (0, import_dayjs2.default)();
@@ -5635,21 +5697,107 @@ var validateVerificationTokenSchema = yup5.object().shape({
5635
5697
 
5636
5698
  // src/yupSchema/tester.ts
5637
5699
  var yup6 = __toESM(require("yup"));
5638
- var testerSchema = yup6.object().shape({
5639
- approved: yup6.boolean().required("Approval status is required"),
5640
- categories: yup6.array().nullable().when("resourceType", {
5641
- is: "vendor" /* VENDOR */,
5642
- then: () => categorySchema.min(1, "Category list must contain at least one item").required("Categories required"),
5643
- // eslint-disable-next-line sort-keys
5644
- otherwise: () => yup6.array().nullable().notRequired()
5700
+
5701
+ // src/types/tester.ts
5702
+ var OrganizedMarketCount = /* @__PURE__ */ ((OrganizedMarketCount2) => {
5703
+ OrganizedMarketCount2["ONE"] = "1";
5704
+ OrganizedMarketCount2["TWO_TO_THREE"] = "2-3";
5705
+ OrganizedMarketCount2["FOUR_TO_FIVE"] = "4-5";
5706
+ OrganizedMarketCount2["MORE_THAN_FIVE"] = "more_than_5";
5707
+ return OrganizedMarketCount2;
5708
+ })(OrganizedMarketCount || {});
5709
+ var VendorSellingFrequency = /* @__PURE__ */ ((VendorSellingFrequency2) => {
5710
+ VendorSellingFrequency2["TWICE_A_WEEK"] = "2-3_times_a_week";
5711
+ VendorSellingFrequency2["ONCE_A_WEEK"] = "once_a_week";
5712
+ VendorSellingFrequency2["ONE_TO_TWO_TIMES_A_MONTH"] = "1-2_times_a_month";
5713
+ VendorSellingFrequency2["LESS_OFTEN"] = "less_often";
5714
+ return VendorSellingFrequency2;
5715
+ })(VendorSellingFrequency || {});
5716
+ var OrganizerMarketFrequency = /* @__PURE__ */ ((OrganizerMarketFrequency2) => {
5717
+ OrganizerMarketFrequency2["WEEKLY"] = "weekly";
5718
+ OrganizerMarketFrequency2["FORTNIGHTLY"] = "fortnightly";
5719
+ OrganizerMarketFrequency2["MONTHLY"] = "monthly";
5720
+ OrganizerMarketFrequency2["SEASONAL"] = "seasonal";
5721
+ return OrganizerMarketFrequency2;
5722
+ })(OrganizerMarketFrequency || {});
5723
+
5724
+ // src/yupSchema/tester.ts
5725
+ var testerVendorSchema = yup6.object().shape({
5726
+ categories: categorySchema,
5727
+ marketsAttended: yup6.array().of(
5728
+ yup6.object().shape({
5729
+ city: yup6.string().trim().required("City is required"),
5730
+ name: yup6.string().trim().required("Market name is required")
5731
+ })
5732
+ ).min(1, "At least one market must be provided").required("Markets attended are required"),
5733
+ productsOrServices: yup6.string().trim().required("Products or services description is required"),
5734
+ questionary: yup6.object().shape({
5735
+ appearInVideoIntroduction: yup6.boolean().required("Appear in video introduction is required"),
5736
+ applyToAtLeastOneMarket: yup6.boolean().required("Apply to at least one market commitment is required"),
5737
+ completeFeedbackQuestionnaire: yup6.boolean().required("Complete feedback questionnaire commitment is required"),
5738
+ excitementAboutApp: yup6.string().trim().required("Excitement about app is required"),
5739
+ sendPhotoForSocialMedia: yup6.boolean().required("Send photo for social media is required"),
5740
+ socialMediaFeatureReason: yup6.string().trim().optional(),
5741
+ testingPeriodConcerns: yup6.string().trim().optional(),
5742
+ tryVisitorFeatures: yup6.boolean().required("Try visitor features commitment is required"),
5743
+ uploadStallProfileFirstWeek: yup6.boolean().required("Upload stall profile first week commitment is required"),
5744
+ usefulnessExpectations: yup6.string().trim().required("Usefulness expectations is required")
5645
5745
  }),
5646
- companyName: yup6.string().required("Company name is required"),
5746
+ sellingFrequency: yup6.mixed().oneOf(
5747
+ Object.values(VendorSellingFrequency),
5748
+ "Please select a valid selling frequency"
5749
+ ).required("Selling frequency is required"),
5750
+ 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"))
5751
+ });
5752
+ var testerEventSchema = yup6.object().shape({
5753
+ allowMarketingAppearance: yup6.boolean().required("Allow marketing appearance is required"),
5754
+ completeFinalQuestionnaire: yup6.boolean().required("Complete final questionnaire commitment is required"),
5755
+ dailyCoordinationNeeds: yup6.string().trim().required("Daily coordination needs is required"),
5756
+ interestedInCharityInitiative: yup6.boolean().required("Interest in charity initiative is required"),
5757
+ inviteAtLeastFiveStallholders: yup6.boolean().required("Invite at least five stallholders commitment is required"),
5758
+ manageApplicationsAndCommunication: yup6.boolean().required("Manage applications and communication commitment is required"),
5759
+ markets: yup6.array().of(
5760
+ yup6.object().shape({
5761
+ 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")),
5762
+ cityOrVenue: yup6.string().trim().required("City or venue is required"),
5763
+ frequency: yup6.mixed().oneOf(
5764
+ Object.values(OrganizerMarketFrequency),
5765
+ "Please select a valid frequency"
5766
+ ).required("Frequency is required"),
5767
+ name: yup6.string().trim().required("Market name is required")
5768
+ })
5769
+ ).min(1, "At least one market must be provided").required("Markets are required"),
5770
+ organizedMarketCount: yup6.mixed().oneOf(
5771
+ Object.values(OrganizedMarketCount),
5772
+ "Please select a valid market count"
5773
+ ).required("Organized market count is required"),
5774
+ organizerExpectations: yup6.string().trim().required("Organizer expectations is required"),
5775
+ registerMarketsFirstWeek: yup6.boolean().required("Register markets first week commitment is required")
5776
+ });
5777
+ var testerSchema = yup6.object().shape({
5778
+ businessName: yup6.string().required("Business name is required"),
5647
5779
  email: emailRequiredSchema,
5780
+ event: yup6.object().when("resourceType", {
5781
+ is: (resourceType) => resourceType === "event" /* EVENT */,
5782
+ otherwise: (schema) => schema.nullable().optional(),
5783
+ then: () => testerEventSchema.required("Event information is required")
5784
+ }),
5648
5785
  firstName: yup6.string().required("First name is required"),
5649
5786
  lastName: yup6.string().required("Last name is required"),
5787
+ mobilePhone: yup6.string().label("Mobile Phone").required("Mobile phone is required").test(
5788
+ "mobile-phone",
5789
+ "Mobile must start with 02 and be 9\u201311 digits",
5790
+ (value) => !value || mobileRegex.test(value)
5791
+ // skip empty values
5792
+ ),
5650
5793
  osType: yup6.mixed().oneOf(Object.values(EnumOSPlatform), "Please select Android or iOS device").required("OS Type is required"),
5651
5794
  region: yup6.string().required("Region is required"),
5652
- resourceType: yup6.mixed().oneOf(Object.values(EnumResourceType), "Please select Event or Vendor").required("Resource Type is required")
5795
+ resourceType: yup6.mixed().oneOf(Object.values(EnumResourceType), "Please select Event or Vendor").required("Resource Type is required"),
5796
+ vendor: yup6.object().when("resourceType", {
5797
+ is: (resourceType) => resourceType === "vendor" /* VENDOR */,
5798
+ otherwise: (schema) => schema.nullable().optional(),
5799
+ then: () => testerVendorSchema.required("Vendor information is required")
5800
+ })
5653
5801
  });
5654
5802
 
5655
5803
  // src/yupSchema/ad.ts
@@ -6443,15 +6591,16 @@ var import_yup11 = require("@hookform/resolvers/yup");
6443
6591
  var import_react = __toESM(require("react"));
6444
6592
  var import_react_hook_form11 = require("react-hook-form");
6445
6593
  var defaultValues7 = {
6446
- approved: false,
6447
- categories: null,
6448
- companyName: "",
6594
+ businessName: "",
6449
6595
  email: "",
6596
+ event: null,
6450
6597
  firstName: "",
6451
6598
  lastName: "",
6599
+ mobilePhone: "",
6452
6600
  osType: "",
6453
6601
  region: "",
6454
- resourceType: ""
6602
+ resourceType: "",
6603
+ vendor: null
6455
6604
  };
6456
6605
  function useTesterForm(data) {
6457
6606
  const {
@@ -6469,43 +6618,46 @@ function useTesterForm(data) {
6469
6618
  import_react.default.useEffect(() => {
6470
6619
  if (data) {
6471
6620
  reset({
6472
- approved: data.approved,
6473
- categories: data.categories,
6474
- companyName: data.companyName,
6621
+ businessName: data.businessName,
6475
6622
  email: data.email,
6623
+ event: data.event,
6476
6624
  firstName: data.firstName,
6477
6625
  lastName: data.lastName,
6626
+ mobilePhone: data.mobilePhone,
6478
6627
  osType: data.osType,
6479
6628
  region: data.region,
6480
- resourceType: data.resourceType
6629
+ resourceType: data.resourceType,
6630
+ vendor: data.vendor
6481
6631
  });
6482
6632
  } else {
6483
6633
  reset(defaultValues7);
6484
6634
  }
6485
6635
  }, [data]);
6486
6636
  const {
6487
- approved,
6488
- categories,
6489
- companyName,
6637
+ businessName,
6490
6638
  email,
6639
+ event,
6491
6640
  firstName,
6492
6641
  lastName,
6642
+ mobilePhone,
6493
6643
  osType,
6494
6644
  region,
6495
- resourceType
6645
+ resourceType,
6646
+ vendor
6496
6647
  } = getValues();
6497
6648
  return {
6498
6649
  control,
6499
6650
  fields: {
6500
- approved,
6501
- categories,
6502
- companyName,
6651
+ businessName,
6503
6652
  email,
6653
+ event,
6504
6654
  firstName,
6505
6655
  lastName,
6656
+ mobilePhone,
6506
6657
  osType,
6507
6658
  region,
6508
- resourceType
6659
+ resourceType,
6660
+ vendor
6509
6661
  },
6510
6662
  formState: { errors },
6511
6663
  handleSubmit,
@@ -6855,11 +7007,14 @@ var EnumActivity = /* @__PURE__ */ ((EnumActivity2) => {
6855
7007
  EnumUserRole,
6856
7008
  EnumVendorType,
6857
7009
  ImageTypeEnum,
7010
+ OrganizedMarketCount,
7011
+ OrganizerMarketFrequency,
6858
7012
  SAVED_EMAIL_KEY,
6859
7013
  SAVED_PASSWORD_KEY,
6860
7014
  SAVED_REFRESH_TOKEN_KEY,
6861
7015
  SAVED_TOKEN_KEY,
6862
7016
  USER_STORAGE_KEY,
7017
+ VendorSellingFrequency,
6863
7018
  availableCategories,
6864
7019
  availableRegionOptions,
6865
7020
  availableRegionTypes,