@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.
@@ -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-DG_7LBAs.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-3EEPXFDG.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,82 @@ var validateVerificationTokenSchema = yup5.object().shape({
477
482
 
478
483
  // src/yupSchema/tester.ts
479
484
  import * as yup6 from "yup";
480
- var testerSchema = yup6.object().shape({
481
- 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()
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")
487
505
  }),
488
- companyName: yup6.string().required("Company name is required"),
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
+ });
537
+ var testerSchema = yup6.object().shape({
538
+ businessName: yup6.string().required("Business name is required"),
489
539
  email: emailRequiredSchema,
540
+ event: yup6.object().when("resourceType", {
541
+ is: (resourceType) => resourceType === "event" /* EVENT */,
542
+ otherwise: (schema) => schema.nullable().optional(),
543
+ then: () => testerEventSchema.required("Event information is required")
544
+ }),
490
545
  firstName: yup6.string().required("First name is required"),
491
546
  lastName: yup6.string().required("Last name is required"),
547
+ mobilePhone: yup6.string().label("Mobile Phone").required("Mobile phone is required").test(
548
+ "mobile-phone",
549
+ "Mobile must start with 02 and be 9\u201311 digits",
550
+ (value) => !value || mobileRegex.test(value)
551
+ // skip empty values
552
+ ),
492
553
  osType: yup6.mixed().oneOf(Object.values(EnumOSPlatform), "Please select Android or iOS device").required("OS Type is required"),
493
554
  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")
555
+ resourceType: yup6.mixed().oneOf(Object.values(EnumResourceType), "Please select Event or Vendor").required("Resource Type is required"),
556
+ vendor: yup6.object().when("resourceType", {
557
+ is: (resourceType) => resourceType === "vendor" /* VENDOR */,
558
+ otherwise: (schema) => schema.nullable().optional(),
559
+ then: () => testerVendorSchema.required("Vendor information is required")
560
+ })
495
561
  });
496
562
 
497
563
  // src/yupSchema/ad.ts
@@ -1258,15 +1324,16 @@ import { yupResolver as yupResolver11 } from "@hookform/resolvers/yup";
1258
1324
  import React6 from "react";
1259
1325
  import { useForm as useForm11 } from "react-hook-form";
1260
1326
  var defaultValues7 = {
1261
- approved: false,
1262
- categories: null,
1263
- companyName: "",
1327
+ businessName: "",
1264
1328
  email: "",
1329
+ event: null,
1265
1330
  firstName: "",
1266
1331
  lastName: "",
1332
+ mobilePhone: "",
1267
1333
  osType: "",
1268
1334
  region: "",
1269
- resourceType: ""
1335
+ resourceType: "",
1336
+ vendor: null
1270
1337
  };
1271
1338
  function useTesterForm(data) {
1272
1339
  const {
@@ -1284,43 +1351,46 @@ function useTesterForm(data) {
1284
1351
  React6.useEffect(() => {
1285
1352
  if (data) {
1286
1353
  reset({
1287
- approved: data.approved,
1288
- categories: data.categories,
1289
- companyName: data.companyName,
1354
+ businessName: data.businessName,
1290
1355
  email: data.email,
1356
+ event: data.event,
1291
1357
  firstName: data.firstName,
1292
1358
  lastName: data.lastName,
1359
+ mobilePhone: data.mobilePhone,
1293
1360
  osType: data.osType,
1294
1361
  region: data.region,
1295
- resourceType: data.resourceType
1362
+ resourceType: data.resourceType,
1363
+ vendor: data.vendor
1296
1364
  });
1297
1365
  } else {
1298
1366
  reset(defaultValues7);
1299
1367
  }
1300
1368
  }, [data]);
1301
1369
  const {
1302
- approved,
1303
- categories,
1304
- companyName,
1370
+ businessName,
1305
1371
  email,
1372
+ event,
1306
1373
  firstName,
1307
1374
  lastName,
1375
+ mobilePhone,
1308
1376
  osType,
1309
1377
  region,
1310
- resourceType
1378
+ resourceType,
1379
+ vendor
1311
1380
  } = getValues();
1312
1381
  return {
1313
1382
  control,
1314
1383
  fields: {
1315
- approved,
1316
- categories,
1317
- companyName,
1384
+ businessName,
1318
1385
  email,
1386
+ event,
1319
1387
  firstName,
1320
1388
  lastName,
1389
+ mobilePhone,
1321
1390
  osType,
1322
1391
  region,
1323
- resourceType
1392
+ resourceType,
1393
+ vendor
1324
1394
  },
1325
1395
  formState: { errors },
1326
1396
  handleSubmit,