@timardex/cluemart-shared 1.2.81 → 1.2.83

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.
@@ -1,6 +1,6 @@
1
1
  import { L as LocationType, h as VendorFormData, i as CreateVendorFormData, j as VendorInfoFormData, k as CreateVendorInfoFormData, l as EventFormData, m as CreateEventFormData, n as EventInfoFormData, o as CreateEventInfoFormData, p as UserFormData, q as CreateUserFormData, B as BaseResourceTypeFormData } from '../global-BYQMdxtO.js';
2
2
  import { C as CreateLoginFormData, a as CreateRegisterFormData, b as CreateRequestPasswordResetFormData, c as CreateValidateVerificationTokenFormData, d as CreateResetPasswordFormData, e as ContactUsFormData, f as CreateContactUsFormData } from '../auth-D0FKzjLe.js';
3
- import { a as PartnerFormData, b as TesterFormData, C as CreateTesterFormData, c as AdFormData, d as CreateAdFormData, e as CreatePartnerFormData } from '../ad-DO7Bc9PE.js';
3
+ import { a as PartnerFormData, b as TesterFormData, C as CreateTesterFormData, c as AdFormData, d as CreateAdFormData, e as CreatePartnerFormData } from '../ad-CqM1Bzc5.js';
4
4
  import 'react-hook-form';
5
5
  import '../enums/index.js';
6
6
 
@@ -2,8 +2,11 @@ import {
2
2
  EnumAdShowOn,
3
3
  EnumAdStatus,
4
4
  EnumAdStyle,
5
- EnumAdType
6
- } from "../chunk-ILRVLTWY.mjs";
5
+ EnumAdType,
6
+ OrganizedMarketCount,
7
+ OrganizerMarketFrequency,
8
+ VendorSellingFrequency
9
+ } from "../chunk-ZQCAF7JE.mjs";
7
10
  import {
8
11
  dateFormat,
9
12
  normalizeUrl,
@@ -140,20 +143,22 @@ var emailOptionalSchema = yup.string().nullable().notRequired().transform(
140
143
  ).label("Email");
141
144
  var mobileRegex = /^02\d{7,9}$/;
142
145
  var landlineRegex = /^(0(3|4|6|7|9)[0-9]{7})$/;
146
+ var mobilePhoneSchema = yup.string().label("Mobile Phone").nullable().notRequired().test(
147
+ "mobile-phone",
148
+ "Mobile must start with 02 and be 9\u201311 digits",
149
+ (value) => !value || mobileRegex.test(value)
150
+ // skip empty values
151
+ );
152
+ var landlinePhoneSchema = yup.string().label("Landline Phone").nullable().notRequired().test(
153
+ "landline-phone",
154
+ "Landline must start with 03, 04, 06, 07, or 09 (not 090) and have 7 digits after area code",
155
+ (value) => !value || landlineRegex.test(value)
156
+ // skip empty values
157
+ );
143
158
  var contactDetailsSchema = yup.object({
144
159
  email: emailOptionalSchema,
145
- mobilePhone: yup.string().label("Mobile Phone").nullable().notRequired().test(
146
- "mobile-phone",
147
- "Mobile must start with 02 and be 9\u201311 digits",
148
- (value) => !value || mobileRegex.test(value)
149
- // skip empty values
150
- ),
151
- landlinePhone: yup.string().label("Landline Phone").nullable().notRequired().test(
152
- "landline-phone",
153
- "Landline must start with 03, 04, 06, 07, or 09 (not 090) and have 7 digits after area code",
154
- (value) => !value || landlineRegex.test(value)
155
- // skip empty values
156
- )
160
+ mobilePhone: mobilePhoneSchema,
161
+ landlinePhone: landlinePhoneSchema
157
162
  }).nullable().default(void 0);
158
163
  var endDateNotInPastTest = yup.string().test("not-in-past", "End date cannot be in the past", (value) => {
159
164
  const now = dayjs();
@@ -477,21 +482,83 @@ var validateVerificationTokenSchema = yup5.object().shape({
477
482
 
478
483
  // src/yupSchema/tester.ts
479
484
  import * as yup6 from "yup";
485
+ var testerVendorSchema = yup6.object().shape({
486
+ categories: categorySchema,
487
+ marketsAttended: yup6.array().of(
488
+ yup6.object().shape({
489
+ city: yup6.string().trim().required("City is required"),
490
+ name: yup6.string().trim().required("Market name is required")
491
+ })
492
+ ).min(1, "At least one market must be provided").required("Markets attended are required"),
493
+ productsOrServices: yup6.string().trim().required("Products or services description is required"),
494
+ questionary: yup6.object().shape({
495
+ appearInVideoIntroduction: yup6.boolean().required("Appear in video introduction is required"),
496
+ applyToAtLeastOneMarket: yup6.boolean().required("Apply to at least one market commitment is required"),
497
+ completeFeedbackQuestionnaire: yup6.boolean().required("Complete feedback questionnaire commitment is required"),
498
+ excitementAboutApp: yup6.string().trim().required("Excitement about app is required"),
499
+ sendPhotoForSocialMedia: yup6.boolean().required("Send photo for social media is required"),
500
+ socialMediaFeatureReason: yup6.string().trim().optional(),
501
+ testingPeriodConcerns: yup6.string().trim().optional(),
502
+ tryVisitorFeatures: yup6.boolean().required("Try visitor features commitment is required"),
503
+ uploadStallProfileFirstWeek: yup6.boolean().required("Upload stall profile first week commitment is required"),
504
+ usefulnessExpectations: yup6.string().trim().required("Usefulness expectations is required")
505
+ }),
506
+ sellingFrequency: yup6.mixed().oneOf(
507
+ Object.values(VendorSellingFrequency),
508
+ "Please select a valid selling frequency"
509
+ ).required("Selling frequency is required"),
510
+ 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"))
511
+ });
512
+ var testerEventSchema = yup6.object().shape({
513
+ allowMarketingAppearance: yup6.boolean().required("Allow marketing appearance is required"),
514
+ completeFinalQuestionnaire: yup6.boolean().required("Complete final questionnaire commitment is required"),
515
+ dailyCoordinationNeeds: yup6.string().trim().required("Daily coordination needs is required"),
516
+ interestedInCharityInitiative: yup6.boolean().required("Interest in charity initiative is required"),
517
+ inviteAtLeastFiveStallholders: yup6.boolean().required("Invite at least five stallholders commitment is required"),
518
+ manageApplicationsAndCommunication: yup6.boolean().required("Manage applications and communication commitment is required"),
519
+ markets: yup6.array().of(
520
+ yup6.object().shape({
521
+ 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")),
522
+ cityOrVenue: yup6.string().trim().required("City or venue is required"),
523
+ frequency: yup6.mixed().oneOf(
524
+ Object.values(OrganizerMarketFrequency),
525
+ "Please select a valid frequency"
526
+ ).required("Frequency is required"),
527
+ name: yup6.string().trim().required("Market name is required")
528
+ })
529
+ ).min(1, "At least one market must be provided").required("Markets are required"),
530
+ organizedMarketCount: yup6.mixed().oneOf(
531
+ Object.values(OrganizedMarketCount),
532
+ "Please select a valid market count"
533
+ ).required("Organized market count is required"),
534
+ organizerExpectations: yup6.string().trim().required("Organizer expectations is required"),
535
+ registerMarketsFirstWeek: yup6.boolean().required("Register markets first week commitment is required")
536
+ });
480
537
  var testerSchema = yup6.object().shape({
481
538
  approved: yup6.boolean().required("Approval status is required"),
482
- categories: yup6.array().nullable().when("resourceType", {
483
- is: "vendor" /* VENDOR */,
484
- then: () => categorySchema.min(1, "Category list must contain at least one item").required("Categories required"),
485
- // eslint-disable-next-line sort-keys
486
- otherwise: () => yup6.array().nullable().notRequired()
487
- }),
488
- companyName: yup6.string().required("Company name is required"),
539
+ businessName: yup6.string().required("Business name is required"),
489
540
  email: emailRequiredSchema,
541
+ event: yup6.object().when("resourceType", {
542
+ is: (resourceType) => resourceType === "event" /* EVENT */,
543
+ otherwise: (schema) => schema.nullable().optional(),
544
+ then: () => testerEventSchema.required("Event information is required")
545
+ }),
490
546
  firstName: yup6.string().required("First name is required"),
491
547
  lastName: yup6.string().required("Last name is required"),
548
+ mobilePhone: yup6.string().label("Mobile Phone").required("Mobile phone is required").test(
549
+ "mobile-phone",
550
+ "Mobile must start with 02 and be 9\u201311 digits",
551
+ (value) => !value || mobileRegex.test(value)
552
+ // skip empty values
553
+ ),
492
554
  osType: yup6.mixed().oneOf(Object.values(EnumOSPlatform), "Please select Android or iOS device").required("OS Type is required"),
493
555
  region: yup6.string().required("Region is required"),
494
- resourceType: yup6.mixed().oneOf(Object.values(EnumResourceType), "Please select Event or Vendor").required("Resource Type is required")
556
+ resourceType: yup6.mixed().oneOf(Object.values(EnumResourceType), "Please select Event or Vendor").required("Resource Type is required"),
557
+ vendor: yup6.object().when("resourceType", {
558
+ is: (resourceType) => resourceType === "vendor" /* VENDOR */,
559
+ otherwise: (schema) => schema.nullable().optional(),
560
+ then: () => testerVendorSchema.required("Vendor information is required")
561
+ })
495
562
  });
496
563
 
497
564
  // src/yupSchema/ad.ts
@@ -1259,14 +1326,16 @@ import React6 from "react";
1259
1326
  import { useForm as useForm11 } from "react-hook-form";
1260
1327
  var defaultValues7 = {
1261
1328
  approved: false,
1262
- categories: null,
1263
- companyName: "",
1329
+ businessName: "",
1264
1330
  email: "",
1331
+ event: null,
1265
1332
  firstName: "",
1266
1333
  lastName: "",
1334
+ mobilePhone: "",
1267
1335
  osType: "",
1268
1336
  region: "",
1269
- resourceType: ""
1337
+ resourceType: "",
1338
+ vendor: null
1270
1339
  };
1271
1340
  function useTesterForm(data) {
1272
1341
  const {
@@ -1285,14 +1354,16 @@ function useTesterForm(data) {
1285
1354
  if (data) {
1286
1355
  reset({
1287
1356
  approved: data.approved,
1288
- categories: data.categories,
1289
- companyName: data.companyName,
1357
+ businessName: data.businessName,
1290
1358
  email: data.email,
1359
+ event: data.event,
1291
1360
  firstName: data.firstName,
1292
1361
  lastName: data.lastName,
1362
+ mobilePhone: data.mobilePhone,
1293
1363
  osType: data.osType,
1294
1364
  region: data.region,
1295
- resourceType: data.resourceType
1365
+ resourceType: data.resourceType,
1366
+ vendor: data.vendor
1296
1367
  });
1297
1368
  } else {
1298
1369
  reset(defaultValues7);
@@ -1300,27 +1371,31 @@ function useTesterForm(data) {
1300
1371
  }, [data]);
1301
1372
  const {
1302
1373
  approved,
1303
- categories,
1304
- companyName,
1374
+ businessName,
1305
1375
  email,
1376
+ event,
1306
1377
  firstName,
1307
1378
  lastName,
1379
+ mobilePhone,
1308
1380
  osType,
1309
1381
  region,
1310
- resourceType
1382
+ resourceType,
1383
+ vendor
1311
1384
  } = getValues();
1312
1385
  return {
1313
1386
  control,
1314
1387
  fields: {
1315
1388
  approved,
1316
- categories,
1317
- companyName,
1389
+ businessName,
1318
1390
  email,
1391
+ event,
1319
1392
  firstName,
1320
1393
  lastName,
1394
+ mobilePhone,
1321
1395
  osType,
1322
1396
  region,
1323
- resourceType
1397
+ resourceType,
1398
+ vendor
1324
1399
  },
1325
1400
  formState: { errors },
1326
1401
  handleSubmit,