@voyant-travel/bookings-react 0.140.0 → 0.141.1

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 (45) hide show
  1. package/dist/admin/index.d.ts +2 -2
  2. package/dist/extras/hooks/use-slot-extra-manifest-mutation.d.ts +3 -3
  3. package/dist/extras/hooks/use-slot-extra-manifest.d.ts +1 -1
  4. package/dist/extras/query-options.d.ts +4 -4
  5. package/dist/extras/schemas.d.ts +3 -3
  6. package/dist/hooks/use-booking-action-ledger.d.ts +1 -1
  7. package/dist/hooks/use-supplier-status-mutation.d.ts +2 -2
  8. package/dist/hooks/use-supplier-statuses.d.ts +1 -1
  9. package/dist/i18n/en-journey.d.ts +1 -0
  10. package/dist/i18n/en-journey.d.ts.map +1 -1
  11. package/dist/i18n/en-journey.js +1 -0
  12. package/dist/i18n/en.d.ts +1 -0
  13. package/dist/i18n/en.d.ts.map +1 -1
  14. package/dist/i18n/messages-journey.d.ts +1 -0
  15. package/dist/i18n/messages-journey.d.ts.map +1 -1
  16. package/dist/i18n/provider.d.ts +2 -0
  17. package/dist/i18n/provider.d.ts.map +1 -1
  18. package/dist/i18n/ro-journey.d.ts +1 -0
  19. package/dist/i18n/ro-journey.d.ts.map +1 -1
  20. package/dist/i18n/ro-journey.js +1 -0
  21. package/dist/i18n/ro.d.ts +1 -0
  22. package/dist/i18n/ro.d.ts.map +1 -1
  23. package/dist/journey/components/booking-journey-rules.d.ts +1 -0
  24. package/dist/journey/components/booking-journey-rules.d.ts.map +1 -1
  25. package/dist/journey/components/booking-journey-rules.js +20 -2
  26. package/dist/journey/components/booking-journey.d.ts.map +1 -1
  27. package/dist/journey/components/booking-journey.js +3 -3
  28. package/dist/journey/components/journey-steps/billing-step.d.ts +2 -1
  29. package/dist/journey/components/journey-steps/billing-step.d.ts.map +1 -1
  30. package/dist/journey/components/journey-steps/billing-step.js +8 -4
  31. package/dist/journey/components/journey-steps/shared.d.ts +5 -1
  32. package/dist/journey/components/journey-steps/shared.d.ts.map +1 -1
  33. package/dist/journey/components/journey-steps/shared.js +8 -2
  34. package/dist/journey/components/journey-steps/travelers-step.d.ts +2 -1
  35. package/dist/journey/components/journey-steps/travelers-step.d.ts.map +1 -1
  36. package/dist/journey/components/journey-steps/travelers-step.js +8 -4
  37. package/dist/journey/lib/email-validation.d.ts +3 -0
  38. package/dist/journey/lib/email-validation.d.ts.map +1 -0
  39. package/dist/journey/lib/email-validation.js +8 -0
  40. package/dist/query-options.d.ts +4 -4
  41. package/dist/requirements/hooks/use-booking-questions.d.ts +1 -1
  42. package/dist/requirements/query-options.d.ts +4 -4
  43. package/dist/requirements/schemas.d.ts +6 -6
  44. package/dist/schemas.d.ts +6 -6
  45. package/package.json +23 -23
@@ -134,8 +134,8 @@ export declare const bookingDetailTabSchema: z.ZodEnum<{
134
134
  metadata: "metadata";
135
135
  items: "items";
136
136
  travelers: "travelers";
137
- activity: "activity";
138
137
  documents: "documents";
138
+ activity: "activity";
139
139
  finance: "finance";
140
140
  invoices: "invoices";
141
141
  suppliers: "suppliers";
@@ -152,8 +152,8 @@ export declare const bookingDetailSearchSchema: z.ZodObject<{
152
152
  metadata: "metadata";
153
153
  items: "items";
154
154
  travelers: "travelers";
155
- activity: "activity";
156
155
  documents: "documents";
156
+ activity: "activity";
157
157
  finance: "finance";
158
158
  invoices: "invoices";
159
159
  suppliers: "suppliers";
@@ -12,7 +12,7 @@ export declare function useSlotExtraManifestMutation(slotId: string): {
12
12
  productExtraId: string;
13
13
  optionExtraConfigId?: string | null | undefined;
14
14
  status?: "selected" | "cancelled" | "fulfilled" | "no_show" | undefined;
15
- collectionStatus?: "pending" | "not_required" | "collected" | "waived" | "refunded" | undefined;
15
+ collectionStatus?: "not_required" | "pending" | "collected" | "waived" | "refunded" | undefined;
16
16
  collectionCurrency?: string | null | undefined;
17
17
  collectionAmountCents?: number | null | undefined;
18
18
  notes?: string | null | undefined;
@@ -27,7 +27,7 @@ export declare function useSlotExtraManifestMutation(slotId: string): {
27
27
  productExtraId: string;
28
28
  optionExtraConfigId?: string | null | undefined;
29
29
  status?: "selected" | "cancelled" | "fulfilled" | "no_show" | undefined;
30
- collectionStatus?: "pending" | "not_required" | "collected" | "waived" | "refunded" | undefined;
30
+ collectionStatus?: "not_required" | "pending" | "collected" | "waived" | "refunded" | undefined;
31
31
  collectionCurrency?: string | null | undefined;
32
32
  collectionAmountCents?: number | null | undefined;
33
33
  notes?: string | null | undefined;
@@ -39,7 +39,7 @@ export declare function useSlotExtraManifestMutation(slotId: string): {
39
39
  }, Error, {
40
40
  productExtraId: string;
41
41
  travelerIds: string[];
42
- collectionStatus: "pending" | "not_required" | "collected" | "waived" | "refunded";
42
+ collectionStatus: "not_required" | "pending" | "collected" | "waived" | "refunded";
43
43
  collectionCurrency?: string | null | undefined;
44
44
  collectionAmountCents?: number | null | undefined;
45
45
  notes?: string | null | undefined;
@@ -55,7 +55,7 @@ export declare function useSlotExtraManifest(slotId: string | null | undefined,
55
55
  status: "selected" | "cancelled" | "fulfilled" | "no_show";
56
56
  selected: boolean;
57
57
  collectionMode: "cash_on_trip" | "external" | "included" | "none" | "booking_total";
58
- collectionStatus: "pending" | "not_required" | "collected" | "waived" | "refunded";
58
+ collectionStatus: "not_required" | "pending" | "collected" | "waived" | "refunded";
59
59
  collectionCurrency: string | null;
60
60
  collectionAmountCents: number | null;
61
61
  collectedAt: string | null;
@@ -243,7 +243,7 @@ export declare function getSlotExtraManifestQueryOptions(client: FetchWithValida
243
243
  status: "selected" | "cancelled" | "fulfilled" | "no_show";
244
244
  selected: boolean;
245
245
  collectionMode: "cash_on_trip" | "external" | "included" | "none" | "booking_total";
246
- collectionStatus: "pending" | "not_required" | "collected" | "waived" | "refunded";
246
+ collectionStatus: "not_required" | "pending" | "collected" | "waived" | "refunded";
247
247
  collectionCurrency: string | null;
248
248
  collectionAmountCents: number | null;
249
249
  collectedAt: string | null;
@@ -307,7 +307,7 @@ export declare function getSlotExtraManifestQueryOptions(client: FetchWithValida
307
307
  status: "selected" | "cancelled" | "fulfilled" | "no_show";
308
308
  selected: boolean;
309
309
  collectionMode: "cash_on_trip" | "external" | "included" | "none" | "booking_total";
310
- collectionStatus: "pending" | "not_required" | "collected" | "waived" | "refunded";
310
+ collectionStatus: "not_required" | "pending" | "collected" | "waived" | "refunded";
311
311
  collectionCurrency: string | null;
312
312
  collectionAmountCents: number | null;
313
313
  collectedAt: string | null;
@@ -372,7 +372,7 @@ export declare function getSlotExtraManifestQueryOptions(client: FetchWithValida
372
372
  status: "selected" | "cancelled" | "fulfilled" | "no_show";
373
373
  selected: boolean;
374
374
  collectionMode: "cash_on_trip" | "external" | "included" | "none" | "booking_total";
375
- collectionStatus: "pending" | "not_required" | "collected" | "waived" | "refunded";
375
+ collectionStatus: "not_required" | "pending" | "collected" | "waived" | "refunded";
376
376
  collectionCurrency: string | null;
377
377
  collectionAmountCents: number | null;
378
378
  collectedAt: string | null;
@@ -439,7 +439,7 @@ export declare function getSlotExtraManifestQueryOptions(client: FetchWithValida
439
439
  status: "selected" | "cancelled" | "fulfilled" | "no_show";
440
440
  selected: boolean;
441
441
  collectionMode: "cash_on_trip" | "external" | "included" | "none" | "booking_total";
442
- collectionStatus: "pending" | "not_required" | "collected" | "waived" | "refunded";
442
+ collectionStatus: "not_required" | "pending" | "collected" | "waived" | "refunded";
443
443
  collectionCurrency: string | null;
444
444
  collectionAmountCents: number | null;
445
445
  collectedAt: string | null;
@@ -175,8 +175,8 @@ export declare const slotExtraManifestSelectionSchema: z.ZodObject<{
175
175
  booking_total: "booking_total";
176
176
  }>;
177
177
  collectionStatus: z.ZodEnum<{
178
- pending: "pending";
179
178
  not_required: "not_required";
179
+ pending: "pending";
180
180
  collected: "collected";
181
181
  waived: "waived";
182
182
  refunded: "refunded";
@@ -278,8 +278,8 @@ export declare const slotExtraManifestSchema: z.ZodObject<{
278
278
  booking_total: "booking_total";
279
279
  }>;
280
280
  collectionStatus: z.ZodEnum<{
281
- pending: "pending";
282
281
  not_required: "not_required";
282
+ pending: "pending";
283
283
  collected: "collected";
284
284
  waived: "waived";
285
285
  refunded: "refunded";
@@ -383,8 +383,8 @@ export declare const slotExtraManifestResponse: z.ZodObject<{
383
383
  booking_total: "booking_total";
384
384
  }>;
385
385
  collectionStatus: z.ZodEnum<{
386
- pending: "pending";
387
386
  not_required: "not_required";
387
+ pending: "pending";
388
388
  collected: "collected";
389
389
  waived: "waived";
390
390
  refunded: "refunded";
@@ -18,7 +18,7 @@ export declare function useBookingActionLedger(bookingId: string | null | undefi
18
18
  actionVersion: string;
19
19
  actionKind: "reverse" | "read" | "create" | "update" | "delete" | "execute" | "approve" | "reject" | "compensate" | "duplicate";
20
20
  status: "cancelled" | "expired" | "requested" | "awaiting_approval" | "approved" | "denied" | "succeeded" | "failed" | "reversed" | "compensated" | "superseded";
21
- evaluatedRisk: "high" | "low" | "medium" | "critical";
21
+ evaluatedRisk: "low" | "medium" | "high" | "critical";
22
22
  actorType: string | null;
23
23
  principalType: "user" | "api_key" | "agent" | "workflow" | "system";
24
24
  principalId: string;
@@ -16,7 +16,7 @@ export declare function useSupplierStatusMutation(bookingId: string): {
16
16
  bookingId: string;
17
17
  supplierServiceId: string | null;
18
18
  serviceName: string;
19
- status: "pending" | "cancelled" | "confirmed" | "rejected";
19
+ status: "cancelled" | "pending" | "confirmed" | "rejected";
20
20
  supplierReference: string | null;
21
21
  costCurrency: string;
22
22
  costAmountCents: number;
@@ -30,7 +30,7 @@ export declare function useSupplierStatusMutation(bookingId: string): {
30
30
  bookingId: string;
31
31
  supplierServiceId: string | null;
32
32
  serviceName: string;
33
- status: "pending" | "cancelled" | "confirmed" | "rejected";
33
+ status: "cancelled" | "pending" | "confirmed" | "rejected";
34
34
  supplierReference: string | null;
35
35
  costCurrency: string;
36
36
  costAmountCents: number;
@@ -7,7 +7,7 @@ export declare function useSupplierStatuses(bookingId: string | null | undefined
7
7
  bookingId: string;
8
8
  supplierServiceId: string | null;
9
9
  serviceName: string;
10
- status: "pending" | "cancelled" | "confirmed" | "rejected";
10
+ status: "cancelled" | "pending" | "confirmed" | "rejected";
11
11
  supplierReference: string | null;
12
12
  costCurrency: string;
13
13
  costAmountCents: number;
@@ -44,6 +44,7 @@ export declare const bookingsUiEnJourney: {
44
44
  dependencyExcludes: string;
45
45
  dependencyLimitPerMaster: string;
46
46
  dependencyLimitSum: string;
47
+ invalidEmail: string;
47
48
  };
48
49
  warnings: {
49
50
  phoneMissing: string;
@@ -1 +1 @@
1
- {"version":3,"file":"en-journey.d.ts","sourceRoot":"","sources":["../../src/i18n/en-journey.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyPK,CAAA"}
1
+ {"version":3,"file":"en-journey.d.ts","sourceRoot":"","sources":["../../src/i18n/en-journey.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0PK,CAAA"}
@@ -44,6 +44,7 @@ export const bookingsUiEnJourney = {
44
44
  dependencyExcludes: "{dependent} can't be combined with {master}.",
45
45
  dependencyLimitPerMaster: "At most {limit} {dependent} per {master}.",
46
46
  dependencyLimitSum: "At most {limit} {dependent} allowed.",
47
+ invalidEmail: "Enter a valid email address.",
47
48
  },
48
49
  warnings: {
49
50
  phoneMissing: "Phone number not set — useful for last-minute supplier contact.",
package/dist/i18n/en.d.ts CHANGED
@@ -752,6 +752,7 @@ export declare const bookingsUiEn: {
752
752
  dependencyExcludes: string;
753
753
  dependencyLimitPerMaster: string;
754
754
  dependencyLimitSum: string;
755
+ invalidEmail: string;
755
756
  };
756
757
  warnings: {
757
758
  phoneMissing: string;
@@ -1 +1 @@
1
- {"version":3,"file":"en.d.ts","sourceRoot":"","sources":["../../src/i18n/en.ts"],"names":[],"mappings":"AAOA,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAMK,CAAA"}
1
+ {"version":3,"file":"en.d.ts","sourceRoot":"","sources":["../../src/i18n/en.ts"],"names":[],"mappings":"AAOA,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAMK,CAAA"}
@@ -35,6 +35,7 @@ export type BookingsUiJourneyMessages = {
35
35
  dependencyExcludes: string;
36
36
  dependencyLimitPerMaster: string;
37
37
  dependencyLimitSum: string;
38
+ invalidEmail: string;
38
39
  };
39
40
  warnings: {
40
41
  phoneMissing: string;
@@ -1 +1 @@
1
- {"version":3,"file":"messages-journey.d.ts","sourceRoot":"","sources":["../../src/i18n/messages-journey.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"messages-journey.d.ts","sourceRoot":"","sources":["../../src/i18n/messages-journey.ts"],"names":[],"mappings":"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"}
@@ -756,6 +756,7 @@ export declare const bookingsUiMessageDefinitions: {
756
756
  dependencyExcludes: string;
757
757
  dependencyLimitPerMaster: string;
758
758
  dependencyLimitSum: string;
759
+ invalidEmail: string;
759
760
  };
760
761
  warnings: {
761
762
  phoneMissing: string;
@@ -2358,6 +2359,7 @@ export declare const bookingsUiMessageDefinitions: {
2358
2359
  dependencyExcludes: string;
2359
2360
  dependencyLimitPerMaster: string;
2360
2361
  dependencyLimitSum: string;
2362
+ invalidEmail: string;
2361
2363
  };
2362
2364
  warnings: {
2363
2365
  phoneMissing: string;
@@ -1 +1 @@
1
- {"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../src/i18n/provider.tsx"],"names":[],"mappings":"AAEA,OAAO,EAGL,aAAa,EAEb,KAAK,sBAAsB,EAC3B,KAAK,gBAAgB,EAEtB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAGtC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAA;AAKvD,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAGe,CAAA;AAExD,MAAM,MAAM,0BAA0B,GAAG,sBAAsB,CAAC,kBAAkB,CAAC,CAAA;AASnF,wBAAgB,yBAAyB,CAAC,EACxC,MAAM,EACN,SAAS,GACV,EAAE;IACD,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAA;IACjC,SAAS,CAAC,EAAE,0BAA0B,GAAG,IAAI,CAAA;CAC9C,sBAOA;AAED,wBAAgB,iBAAiB,CAAC,EAChC,MAAM,EACN,SAAS,GACV,EAAE;IACD,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAA;IAClC,SAAS,CAAC,EAAE,0BAA0B,GAAG,IAAI,CAAA;CAC9C,GAAG,gBAAgB,CAAC,kBAAkB,CAAC,CASvC;AAED,wBAAgB,0BAA0B,CAAC,EACzC,QAAQ,EACR,MAAM,EACN,SAAS,GACV,EAAE;IACD,QAAQ,EAAE,SAAS,CAAA;IACnB,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAA;IACjC,SAAS,CAAC,EAAE,0BAA0B,GAAG,IAAI,CAAA;CAC9C,+BAWA;AAED,eAAO,MAAM,iBAAiB,4CAA4B,CAAA;AAC1D,eAAO,MAAM,qBAAqB,0BAAgC,CAAA;AAElE,wBAAgB,0BAA0B,yCAEzC;AAED,wBAAgB,8BAA8B,uBAE7C;AAED,OAAO,EAAE,aAAa,EAAE,CAAA"}
1
+ {"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../src/i18n/provider.tsx"],"names":[],"mappings":"AAEA,OAAO,EAGL,aAAa,EAEb,KAAK,sBAAsB,EAC3B,KAAK,gBAAgB,EAEtB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAGtC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAA;AAKvD,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAGe,CAAA;AAExD,MAAM,MAAM,0BAA0B,GAAG,sBAAsB,CAAC,kBAAkB,CAAC,CAAA;AASnF,wBAAgB,yBAAyB,CAAC,EACxC,MAAM,EACN,SAAS,GACV,EAAE;IACD,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAA;IACjC,SAAS,CAAC,EAAE,0BAA0B,GAAG,IAAI,CAAA;CAC9C,sBAOA;AAED,wBAAgB,iBAAiB,CAAC,EAChC,MAAM,EACN,SAAS,GACV,EAAE;IACD,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAA;IAClC,SAAS,CAAC,EAAE,0BAA0B,GAAG,IAAI,CAAA;CAC9C,GAAG,gBAAgB,CAAC,kBAAkB,CAAC,CASvC;AAED,wBAAgB,0BAA0B,CAAC,EACzC,QAAQ,EACR,MAAM,EACN,SAAS,GACV,EAAE;IACD,QAAQ,EAAE,SAAS,CAAA;IACnB,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAA;IACjC,SAAS,CAAC,EAAE,0BAA0B,GAAG,IAAI,CAAA;CAC9C,+BAWA;AAED,eAAO,MAAM,iBAAiB,4CAA4B,CAAA;AAC1D,eAAO,MAAM,qBAAqB,0BAAgC,CAAA;AAElE,wBAAgB,0BAA0B,yCAEzC;AAED,wBAAgB,8BAA8B,uBAE7C;AAED,OAAO,EAAE,aAAa,EAAE,CAAA"}
@@ -44,6 +44,7 @@ export declare const bookingsUiRoJourney: {
44
44
  dependencyExcludes: string;
45
45
  dependencyLimitPerMaster: string;
46
46
  dependencyLimitSum: string;
47
+ invalidEmail: string;
47
48
  };
48
49
  warnings: {
49
50
  phoneMissing: string;
@@ -1 +1 @@
1
- {"version":3,"file":"ro-journey.d.ts","sourceRoot":"","sources":["../../src/i18n/ro-journey.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6PK,CAAA"}
1
+ {"version":3,"file":"ro-journey.d.ts","sourceRoot":"","sources":["../../src/i18n/ro-journey.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8PK,CAAA"}
@@ -44,6 +44,7 @@ export const bookingsUiRoJourney = {
44
44
  dependencyExcludes: "{dependent} nu poate fi combinat cu {master}.",
45
45
  dependencyLimitPerMaster: "Maximum {limit} {dependent} per {master}.",
46
46
  dependencyLimitSum: "Maximum {limit} {dependent} permis.",
47
+ invalidEmail: "Introdu o adresa de email valida.",
47
48
  },
48
49
  warnings: {
49
50
  phoneMissing: "Numarul de telefon lipseste - util pentru contact furnizor in ultimul moment.",
package/dist/i18n/ro.d.ts CHANGED
@@ -752,6 +752,7 @@ export declare const bookingsUiRo: {
752
752
  dependencyExcludes: string;
753
753
  dependencyLimitPerMaster: string;
754
754
  dependencyLimitSum: string;
755
+ invalidEmail: string;
755
756
  };
756
757
  warnings: {
757
758
  phoneMissing: string;
@@ -1 +1 @@
1
- {"version":3,"file":"ro.d.ts","sourceRoot":"","sources":["../../src/i18n/ro.ts"],"names":[],"mappings":"AAOA,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAMK,CAAA"}
1
+ {"version":3,"file":"ro.d.ts","sourceRoot":"","sources":["../../src/i18n/ro.ts"],"names":[],"mappings":"AAOA,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAMK,CAAA"}
@@ -26,6 +26,7 @@ export declare function buildCommitPaymentIntent(draft: Draft): {
26
26
  };
27
27
  export declare function isStepVisible(step: JourneyStep, shape: BookingDraftShape): boolean;
28
28
  export declare function canAdvanceFromStep(step: JourneyStep, draft: Draft, shape: BookingDraftShape, available: boolean): boolean;
29
+ export declare function validationErrorsForStep(step: JourneyStep, draft: Draft, messages: BookingsUiMessages): ReadonlyArray<string>;
29
30
  /**
30
31
  * Completeness for the stacked admin accordion's AUTO-advance — stricter
31
32
  * than `canAdvanceFromStep` so the flow pauses on sections that need a
@@ -1 +1 @@
1
- {"version":3,"file":"booking-journey-rules.d.ts","sourceRoot":"","sources":["../../../src/journey/components/booking-journey-rules.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,iBAAiB,EAOvB,MAAM,6DAA6D,CAAA;AACpE,OAAO,EAAE,KAAK,kBAAkB,EAAiB,MAAM,qBAAqB,CAAA;AAC5E,OAAO,EAAE,KAAK,KAAK,EAAY,MAAM,uBAAuB,CAAA;AAG5D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAE9C;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CA2BtE;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,GAAG,WAAW,GAAG,kBAAkB,CAK7F;AAED;;;;;GAKG;AACH,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,KAAK,GAAG;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CAGvE;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAgClF;AAED,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,WAAW,EACjB,KAAK,EAAE,KAAK,EACZ,KAAK,EAAE,iBAAiB,EACxB,SAAS,EAAE,OAAO,GACjB,OAAO,CA2DT;AAED;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,WAAW,EACjB,KAAK,EAAE,KAAK,EACZ,KAAK,EAAE,iBAAiB,EACxB,SAAS,EAAE,OAAO,GACjB,OAAO,CAeT;AAED;;;;;;;;GAQG;AACH,wBAAgB,eAAe,CAC7B,IAAI,EAAE,WAAW,EACjB,KAAK,EAAE,KAAK,EACZ,KAAK,EAAE,iBAAiB,EACxB,QAAQ,EAAE,kBAAkB,GAC3B,aAAa,CAAC,MAAM,CAAC,CA4DvB;AAMD;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,KAAK,EACZ,YAAY,EAAE,MAAM,EACpB,QAAQ,EAAE,MAAM,GACf,MAAM,GAAG,IAAI,CAMf;AAED,wBAAgB,mBAAmB,IAAI,iBAAiB,CAavD"}
1
+ {"version":3,"file":"booking-journey-rules.d.ts","sourceRoot":"","sources":["../../../src/journey/components/booking-journey-rules.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,iBAAiB,EAOvB,MAAM,6DAA6D,CAAA;AACpE,OAAO,EAAE,KAAK,kBAAkB,EAAiB,MAAM,qBAAqB,CAAA;AAC5E,OAAO,EAAE,KAAK,KAAK,EAAY,MAAM,uBAAuB,CAAA;AAI5D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAE9C;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CA2BtE;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,GAAG,WAAW,GAAG,kBAAkB,CAK7F;AAED;;;;;GAKG;AACH,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,KAAK,GAAG;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CAGvE;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAgClF;AAED,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,WAAW,EACjB,KAAK,EAAE,KAAK,EACZ,KAAK,EAAE,iBAAiB,EACxB,SAAS,EAAE,OAAO,GACjB,OAAO,CAgET;AAED,wBAAgB,uBAAuB,CACrC,IAAI,EAAE,WAAW,EACjB,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,kBAAkB,GAC3B,aAAa,CAAC,MAAM,CAAC,CAevB;AAED;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,WAAW,EACjB,KAAK,EAAE,KAAK,EACZ,KAAK,EAAE,iBAAiB,EACxB,SAAS,EAAE,OAAO,GACjB,OAAO,CAeT;AAED;;;;;;;;GAQG;AACH,wBAAgB,eAAe,CAC7B,IAAI,EAAE,WAAW,EACjB,KAAK,EAAE,KAAK,EACZ,KAAK,EAAE,iBAAiB,EACxB,QAAQ,EAAE,kBAAkB,GAC3B,aAAa,CAAC,MAAM,CAAC,CA4DvB;AAMD;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,KAAK,EACZ,YAAY,EAAE,MAAM,EACpB,QAAQ,EAAE,MAAM,GACf,MAAM,GAAG,IAAI,CAMf;AAED,wBAAgB,mBAAmB,IAAI,iBAAiB,CAavD"}
@@ -1,6 +1,7 @@
1
1
  import { DEFAULT_PAX_BANDS, DEFAULT_PAYMENT_INTENTS, defaultBookingFields, defaultDraftShapeFlags, defaultTravelerFields, paxBandsAllowedTotalFrom, } from "@voyant-travel/catalog-contracts/booking-engine/draft-shape";
2
2
  import { formatMessage } from "../../i18n/index.js";
3
3
  import { totalPax } from "../lib/draft-state.js";
4
+ import { isValidOptionalEmail } from "../lib/email-validation.js";
4
5
  import { evaluatePaxBandDependencies } from "../lib/pax-band-dependencies.js";
5
6
  import { findPaidScheduleRowsMissingPaymentDate } from "../lib/payment-schedule.js";
6
7
  /**
@@ -114,11 +115,12 @@ export function canAdvanceFromStep(step, draft, shape, available) {
114
115
  // collect an individual contact name (and the manual contact inputs are
115
116
  // hidden), so requiring one would lock the step with no way to satisfy it.
116
117
  if (draft.billing.buyerType === "B2B") {
117
- return Boolean(draft.billing.organizationId);
118
+ return (Boolean(draft.billing.organizationId) && isValidOptionalEmail(draft.billing.contact.email));
118
119
  }
119
120
  const c = draft.billing.contact;
120
121
  return (c.firstName.length > 0 &&
121
122
  c.lastName.length > 0 &&
123
+ isValidOptionalEmail(c.email) &&
122
124
  (c.email.length > 0 || Boolean(c.phone?.trim())));
123
125
  }
124
126
  case "travelers": {
@@ -134,7 +136,7 @@ export function canAdvanceFromStep(step, draft, shape, available) {
134
136
  }
135
137
  // Hard-reject only on canonical traveler fields (firstName, lastName);
136
138
  // other required fields surface as warnings, fillable later.
137
- return draft.travelers.every((t) => t.firstName && t.lastName);
139
+ return draft.travelers.every((t) => t.firstName && t.lastName && isValidOptionalEmail(t.email));
138
140
  }
139
141
  case "payment":
140
142
  return findPaidScheduleRowsMissingPaymentDate(draft.paymentSchedules) === null;
@@ -142,6 +144,22 @@ export function canAdvanceFromStep(step, draft, shape, available) {
142
144
  return true;
143
145
  }
144
146
  }
147
+ export function validationErrorsForStep(step, draft, messages) {
148
+ const errors = [];
149
+ switch (step) {
150
+ case "billing":
151
+ if (!isValidOptionalEmail(draft.billing.contact.email)) {
152
+ errors.push(messages.bookingJourney.validation.invalidEmail);
153
+ }
154
+ break;
155
+ case "travelers":
156
+ if (draft.travelers.some((t) => !isValidOptionalEmail(t.email))) {
157
+ errors.push(messages.bookingJourney.validation.invalidEmail);
158
+ }
159
+ break;
160
+ }
161
+ return errors;
162
+ }
145
163
  /**
146
164
  * Completeness for the stacked admin accordion's AUTO-advance — stricter
147
165
  * than `canAdvanceFromStep` so the flow pauses on sections that need a
@@ -1 +1 @@
1
- {"version":3,"file":"booking-journey.d.ts","sourceRoot":"","sources":["../../../src/journey/components/booking-journey.tsx"],"names":[],"mappings":"AAgCA,OAAO,EACL,KAAK,mBAAmB,EAIzB,MAAM,aAAa,CAAA;AA8BpB,wBAAgB,cAAc,CAAC,KAAK,EAAE,mBAAmB,GAAG,KAAK,CAAC,YAAY,CA4wB7E"}
1
+ {"version":3,"file":"booking-journey.d.ts","sourceRoot":"","sources":["../../../src/journey/components/booking-journey.tsx"],"names":[],"mappings":"AAgCA,OAAO,EACL,KAAK,mBAAmB,EAIzB,MAAM,aAAa,CAAA;AA+BpB,wBAAgB,cAAc,CAAC,KAAK,EAAE,mBAAmB,GAAG,KAAK,CAAC,YAAY,CA8wB7E"}
@@ -8,7 +8,7 @@ import { useBookingsUiMessagesOrDefault } from "../../i18n/index.js";
8
8
  import { emptyDraft, totalPax } from "../lib/draft-state.js";
9
9
  import { findPaidScheduleRowsMissingPaymentDate } from "../lib/payment-schedule.js";
10
10
  import { JOURNEY_STEP_ORDER, } from "../types.js";
11
- import { buildCommitParty, buildCommitPaymentIntent, canAdvanceFromStep, defaultMinimalShape, isStepVisible, makeHoldSignature, resolveInitialStatus, stackedStepComplete, warningsForStep, } from "./booking-journey-rules.js";
11
+ import { buildCommitParty, buildCommitPaymentIntent, canAdvanceFromStep, defaultMinimalShape, isStepVisible, makeHoldSignature, resolveInitialStatus, stackedStepComplete, validationErrorsForStep, warningsForStep, } from "./booking-journey-rules.js";
12
12
  import { ConfigureStepSkeleton } from "./configure-step-skeleton.js";
13
13
  import { ContractPreviewDialog } from "./contract-preview-dialog.js";
14
14
  import { AccommodationStep, AddonsStep, BillingStep, DepartureStep, DocumentsStep, FinalizeControls, OptionsStep, PaymentStep, ReviewStep, TravelersStep, } from "./journey-steps.js";
@@ -396,9 +396,9 @@ export function BookingJourney(props) {
396
396
  case "options":
397
397
  return (_jsx(OptionsStep, { draft: draft, setDraft: setDraft, shape: shape, productId: props.entityId, renderUnitsPicker: props.renderUnitsPicker }));
398
398
  case "billing":
399
- return (_jsx(BillingStep, { draft: draft, setDraft: setDraft, shape: shape, renderLeadContactPicker: props.renderLeadContactPicker, renderExtras: billingExtrasSlot, warnings: warningsForStep("billing", draft, shape, messages) }));
399
+ return (_jsx(BillingStep, { draft: draft, setDraft: setDraft, shape: shape, renderLeadContactPicker: props.renderLeadContactPicker, renderExtras: billingExtrasSlot, errors: validationErrorsForStep("billing", draft, messages), warnings: warningsForStep("billing", draft, shape, messages) }));
400
400
  case "travelers":
401
- return (_jsx(TravelersStep, { draft: draft, setDraft: setDraft, shape: shape, renderTravelerContactPicker: props.renderTravelerContactPicker, warnings: warningsForStep("travelers", draft, shape, messages) }));
401
+ return (_jsx(TravelersStep, { draft: draft, setDraft: setDraft, shape: shape, renderTravelerContactPicker: props.renderTravelerContactPicker, errors: validationErrorsForStep("travelers", draft, messages), warnings: warningsForStep("travelers", draft, shape, messages) }));
402
402
  case "accommodation":
403
403
  return _jsx(AccommodationStep, { draft: draft, setDraft: setDraft, shape: shape });
404
404
  case "addons":
@@ -1,8 +1,9 @@
1
1
  import type { LeadContactPickerProps } from "../../types.js";
2
2
  import { type StepCommonProps } from "./shared.js";
3
- export declare function BillingStep({ draft, setDraft, renderLeadContactPicker, renderExtras, warnings, }: StepCommonProps & {
3
+ export declare function BillingStep({ draft, setDraft, renderLeadContactPicker, renderExtras, warnings, errors, }: StepCommonProps & {
4
4
  renderLeadContactPicker?: (props: LeadContactPickerProps) => React.ReactNode;
5
5
  renderExtras?: () => React.ReactNode;
6
6
  warnings?: ReadonlyArray<string>;
7
+ errors?: ReadonlyArray<string>;
7
8
  }): React.ReactElement;
8
9
  //# sourceMappingURL=billing-step.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"billing-step.d.ts","sourceRoot":"","sources":["../../../../src/journey/components/journey-steps/billing-step.tsx"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAA;AAC5D,OAAO,EAAsC,KAAK,eAAe,EAAE,MAAM,aAAa,CAAA;AAMtF,wBAAgB,WAAW,CAAC,EAC1B,KAAK,EACL,QAAQ,EACR,uBAAuB,EACvB,YAAY,EACZ,QAAQ,GACT,EAAE,eAAe,GAAG;IACnB,uBAAuB,CAAC,EAAE,CAAC,KAAK,EAAE,sBAAsB,KAAK,KAAK,CAAC,SAAS,CAAA;IAC5E,YAAY,CAAC,EAAE,MAAM,KAAK,CAAC,SAAS,CAAA;IACpC,QAAQ,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;CACjC,GAAG,KAAK,CAAC,YAAY,CAyOrB"}
1
+ {"version":3,"file":"billing-step.d.ts","sourceRoot":"","sources":["../../../../src/journey/components/journey-steps/billing-step.tsx"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAA;AAC5D,OAAO,EAKL,KAAK,eAAe,EACrB,MAAM,aAAa,CAAA;AAMpB,wBAAgB,WAAW,CAAC,EAC1B,KAAK,EACL,QAAQ,EACR,uBAAuB,EACvB,YAAY,EACZ,QAAQ,EACR,MAAM,GACP,EAAE,eAAe,GAAG;IACnB,uBAAuB,CAAC,EAAE,CAAC,KAAK,EAAE,sBAAsB,KAAK,KAAK,CAAC,SAAS,CAAA;IAC5E,YAAY,CAAC,EAAE,MAAM,KAAK,CAAC,SAAS,CAAA;IACpC,QAAQ,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;IAChC,MAAM,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;CAC/B,GAAG,KAAK,CAAC,YAAY,CA8OrB"}
@@ -7,13 +7,17 @@ import { Label } from "@voyant-travel/ui/components/label";
7
7
  import { RadioGroup, RadioGroupItem } from "@voyant-travel/ui/components/radio-group";
8
8
  import { useBookingsUiMessagesOrDefault } from "../../../i18n/index.js";
9
9
  import { patchBilling, setBillingBuyerType } from "../../lib/draft-state.js";
10
- import { Field, JourneyWarnings, PhoneField } from "./shared.js";
10
+ import { isValidOptionalEmail } from "../../lib/email-validation.js";
11
+ import { Field, JourneyErrors, JourneyWarnings, PhoneField, } from "./shared.js";
11
12
  // ─────────────────────────────────────────────────────────────────
12
13
  // Billing
13
14
  // ─────────────────────────────────────────────────────────────────
14
- export function BillingStep({ draft, setDraft, renderLeadContactPicker, renderExtras, warnings, }) {
15
+ export function BillingStep({ draft, setDraft, renderLeadContactPicker, renderExtras, warnings, errors, }) {
15
16
  const messages = useBookingsUiMessagesOrDefault();
16
17
  const billing = draft.billing;
18
+ const emailError = isValidOptionalEmail(billing.contact.email)
19
+ ? undefined
20
+ : messages.bookingJourney.validation.invalidEmail;
17
21
  // Merge each partial from the picker (person record, org record, address
18
22
  // lookup) into the billing draft without clobbering the other slices.
19
23
  const apply = (next) => {
@@ -50,7 +54,7 @@ export function BillingStep({ draft, setDraft, renderLeadContactPicker, renderEx
50
54
  contact: { ...billing.contact, firstName: v },
51
55
  })) }), _jsx(Field, { id: "bj-billing-lastName", label: messages.bookingJourney.billing.lastName, value: billing.contact.lastName, onChange: (v) => setDraft(patchBilling(draft, {
52
56
  contact: { ...billing.contact, lastName: v },
53
- })) }), _jsx(Field, { id: "bj-billing-email", label: messages.bookingJourney.billing.email, type: "email", value: billing.contact.email, onChange: (v) => setDraft(patchBilling(draft, {
57
+ })) }), _jsx(Field, { id: "bj-billing-email", label: messages.bookingJourney.billing.email, type: "email", value: billing.contact.email, error: emailError, onChange: (v) => setDraft(patchBilling(draft, {
54
58
  contact: { ...billing.contact, email: v },
55
59
  })) }), _jsx(PhoneField, { id: "bj-billing-phone", label: messages.bookingJourney.billing.phone, value: billing.contact.phone ?? "", onChange: (v) => setDraft(patchBilling(draft, {
56
60
  contact: { ...billing.contact, phone: v },
@@ -74,5 +78,5 @@ export function BillingStep({ draft, setDraft, renderLeadContactPicker, renderEx
74
78
  ...(billing.company ?? { name: "" }),
75
79
  vatId: v,
76
80
  },
77
- })) })] })) : null] })), renderExtras ? _jsx("div", { children: renderExtras() }) : null, _jsx(JourneyWarnings, { warnings: warnings })] })] }));
81
+ })) })] })) : null] })), renderExtras ? _jsx("div", { children: renderExtras() }) : null, _jsx(JourneyErrors, { errors: errors }), _jsx(JourneyWarnings, { warnings: warnings })] })] }));
78
82
  }
@@ -22,13 +22,17 @@ export interface StepCommonProps {
22
22
  export declare function JourneyWarnings({ warnings, }: {
23
23
  warnings?: ReadonlyArray<string>;
24
24
  }): React.ReactElement | null;
25
- export declare function Field({ id, label, value, onChange, type, placeholder, }: {
25
+ export declare function JourneyErrors({ errors, }: {
26
+ errors?: ReadonlyArray<string>;
27
+ }): React.ReactElement | null;
28
+ export declare function Field({ id, label, value, onChange, type, placeholder, error, }: {
26
29
  id: string;
27
30
  label: string;
28
31
  value: string;
29
32
  onChange: (v: string) => void;
30
33
  type?: string;
31
34
  placeholder?: string;
35
+ error?: string;
32
36
  }): React.ReactElement;
33
37
  export declare function PhoneField({ id, label, value, onChange, }: {
34
38
  id: string;
@@ -1 +1 @@
1
- {"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../../../src/journey/components/journey-steps/shared.tsx"],"names":[],"mappings":"AAEA;;;GAGG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,6DAA6D,CAAA;AAYpG,OAAO,EAAiB,8BAA8B,EAAE,MAAM,wBAAwB,CAAA;AACtF,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAA;AACrD,OAAO,KAAK,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;AAE5E,kFAAkF;AAClF,MAAM,MAAM,qBAAqB,GAAG,CAAC,KAAK,EAAE,oBAAoB,KAAK,KAAK,CAAC,SAAS,CAAA;AACpF,+EAA+E;AAC/E,MAAM,MAAM,iBAAiB,GAAG,CAAC,KAAK,EAAE,gBAAgB,KAAK,KAAK,CAAC,SAAS,CAAA;AAE5E,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,KAAK,CAAA;IAIZ,QAAQ,EAAE,CAAC,IAAI,EAAE,KAAK,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,KAAK,KAAK,CAAC,KAAK,IAAI,CAAA;IAC1D,KAAK,EAAE,iBAAiB,CAAA;CACzB;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,EAC9B,QAAQ,GACT,EAAE;IACD,QAAQ,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;CACjC,GAAG,KAAK,CAAC,YAAY,GAAG,IAAI,CAS5B;AAED,wBAAgB,KAAK,CAAC,EACpB,EAAE,EACF,KAAK,EACL,KAAK,EACL,QAAQ,EACR,IAAI,EACJ,WAAW,GACZ,EAAE;IACD,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,IAAI,CAAA;IAC7B,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB,GAAG,KAAK,CAAC,YAAY,CAarB;AAED,wBAAgB,UAAU,CAAC,EACzB,EAAE,EACF,KAAK,EACL,KAAK,EACL,QAAQ,GACT,EAAE;IACD,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,IAAI,CAAA;CAC9B,GAAG,KAAK,CAAC,YAAY,CAarB;AAED;;;;;;;;;GASG;AACH,wBAAgB,SAAS,CAAC,EACxB,EAAE,EACF,KAAK,EACL,KAAK,EACL,QAAQ,EACR,KAAgB,GACjB,EAAE;IACD,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,IAAI,CAAA;IAC7B,KAAK,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,UAAU,CAAA;CACvC,GAAG,KAAK,CAAC,YAAY,CAgCrB;AAED,wBAAgB,WAAW,CAAC,EAC1B,EAAE,EACF,KAAK,EACL,KAAK,EACL,OAAO,EACP,QAAQ,GACT,EAAE;IACD,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,aAAa,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;IACxD,QAAQ,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,IAAI,CAAA;CAC9B,GAAG,KAAK,CAAC,YAAY,CAmBrB;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAQrD;AAED,wBAAgB,OAAO,CACrB,GAAG,EAAE,MAAM,GAAG,SAAS,EACvB,GAAG,EAAE,MAAM,GAAG,SAAS,EACvB,QAAQ,EAAE,UAAU,CAAC,OAAO,8BAA8B,CAAC,GAC1D,MAAM,CAkBR;AAGD,wBAAgB,QAAQ,CAAC,CAAC,EAAE,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,MAAM,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,CAYjG;AAED,wBAAgB,WAAW,IAAI,MAAM,CAKpC"}
1
+ {"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../../../src/journey/components/journey-steps/shared.tsx"],"names":[],"mappings":"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"}
@@ -15,8 +15,14 @@ export function JourneyWarnings({ warnings, }) {
15
15
  return null;
16
16
  return (_jsx("ul", { className: "space-y-1 rounded-md border border-amber-300 bg-amber-50 p-3 text-amber-900 text-sm dark:border-amber-700 dark:bg-amber-950 dark:text-amber-100", children: warnings.map((w) => (_jsxs("li", { children: ["\u26A0 ", w] }, w))) }));
17
17
  }
18
- export function Field({ id, label, value, onChange, type, placeholder, }) {
19
- return (_jsxs("div", { className: "space-y-1", children: [_jsx(Label, { htmlFor: id, children: label }), _jsx(Input, { id: id, type: type ?? "text", value: value, placeholder: placeholder, onChange: (e) => onChange(e.target.value) })] }));
18
+ export function JourneyErrors({ errors, }) {
19
+ if (!errors || errors.length === 0)
20
+ return null;
21
+ return (_jsx("ul", { className: "space-y-1 rounded-md border border-destructive/40 bg-destructive/10 p-3 text-destructive text-sm", children: errors.map((error) => (_jsx("li", { children: error }, error))) }));
22
+ }
23
+ export function Field({ id, label, value, onChange, type, placeholder, error, }) {
24
+ const errorId = `${id}-error`;
25
+ return (_jsxs("div", { className: "space-y-1", children: [_jsx(Label, { htmlFor: id, children: label }), _jsx(Input, { id: id, type: type ?? "text", value: value, placeholder: placeholder, "aria-invalid": error ? true : undefined, "aria-describedby": error ? errorId : undefined, onChange: (e) => onChange(e.target.value) }), error ? (_jsx("p", { id: errorId, className: "text-destructive text-xs", role: "alert", children: error })) : null] }));
20
26
  }
21
27
  export function PhoneField({ id, label, value, onChange, }) {
22
28
  return (_jsxs("div", { className: "space-y-1", children: [_jsx(Label, { htmlFor: id, children: label }), _jsx(PhoneInput, { id: id, defaultCountry: "GB", international: true, value: value || undefined, onChange: (v) => onChange(v ? String(v) : "") })] }));
@@ -1,7 +1,8 @@
1
1
  import type { TravelerContactPickerProps } from "../../types.js";
2
2
  import { type StepCommonProps } from "./shared.js";
3
- export declare function TravelersStep({ draft, setDraft, shape, renderTravelerContactPicker, warnings, }: StepCommonProps & {
3
+ export declare function TravelersStep({ draft, setDraft, shape, renderTravelerContactPicker, warnings, errors, }: StepCommonProps & {
4
4
  renderTravelerContactPicker?: (props: TravelerContactPickerProps) => React.ReactNode;
5
5
  warnings?: ReadonlyArray<string>;
6
+ errors?: ReadonlyArray<string>;
6
7
  }): React.ReactElement;
7
8
  //# sourceMappingURL=travelers-step.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"travelers-step.d.ts","sourceRoot":"","sources":["../../../../src/journey/components/journey-steps/travelers-step.tsx"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,gBAAgB,CAAA;AAEhE,OAAO,EAQL,KAAK,eAAe,EACrB,MAAM,aAAa,CAAA;AA+BpB,wBAAgB,aAAa,CAAC,EAC5B,KAAK,EACL,QAAQ,EACR,KAAK,EACL,2BAA2B,EAC3B,QAAQ,GACT,EAAE,eAAe,GAAG;IACnB,2BAA2B,CAAC,EAAE,CAAC,KAAK,EAAE,0BAA0B,KAAK,KAAK,CAAC,SAAS,CAAA;IACpF,QAAQ,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;CACjC,GAAG,KAAK,CAAC,YAAY,CAwGrB"}
1
+ {"version":3,"file":"travelers-step.d.ts","sourceRoot":"","sources":["../../../../src/journey/components/journey-steps/travelers-step.tsx"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,gBAAgB,CAAA;AAEhE,OAAO,EASL,KAAK,eAAe,EACrB,MAAM,aAAa,CAAA;AA+BpB,wBAAgB,aAAa,CAAC,EAC5B,KAAK,EACL,QAAQ,EACR,KAAK,EACL,2BAA2B,EAC3B,QAAQ,EACR,MAAM,GACP,EAAE,eAAe,GAAG;IACnB,2BAA2B,CAAC,EAAE,CAAC,KAAK,EAAE,0BAA0B,KAAK,KAAK,CAAC,SAAS,CAAA;IACpF,QAAQ,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;IAChC,MAAM,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;CAC/B,GAAG,KAAK,CAAC,YAAY,CAyGrB"}
@@ -7,8 +7,9 @@ import { Plus } from "lucide-react";
7
7
  import { useEffect, useRef } from "react";
8
8
  import { formatMessage, useBookingsUiMessagesOrDefault } from "../../../i18n/index.js";
9
9
  import { canCopyBillingContactToTraveler, patchConfigure, setTravelers, totalPax, } from "../../lib/draft-state.js";
10
+ import { isValidOptionalEmail } from "../../lib/email-validation.js";
10
11
  import { PaxDependencyWarnings, PaxValidation } from "./configure-steps.js";
11
- import { computeAge, cryptoRowId, DateField, Field, JourneyWarnings, PhoneField, SelectField, } from "./shared.js";
12
+ import { computeAge, cryptoRowId, DateField, Field, JourneyErrors, JourneyWarnings, PhoneField, SelectField, } from "./shared.js";
12
13
  /** Pax counts are DERIVED from the traveler rows — each row's band is the
13
14
  * source of truth, so the quote always matches who's actually in the list. */
14
15
  function paxFromTravelers(travelers, bands) {
@@ -24,7 +25,7 @@ function paxFromTravelers(travelers, bands) {
24
25
  function applyTravelers(draft, next, bands) {
25
26
  return patchConfigure(setTravelers(draft, next), { pax: paxFromTravelers(next, bands) });
26
27
  }
27
- export function TravelersStep({ draft, setDraft, shape, renderTravelerContactPicker, warnings, }) {
28
+ export function TravelersStep({ draft, setDraft, shape, renderTravelerContactPicker, warnings, errors, }) {
28
29
  const messages = useBookingsUiMessagesOrDefault();
29
30
  const travelers = draft.travelers;
30
31
  const bands = shape.paxBands;
@@ -80,7 +81,7 @@ export function TravelersStep({ draft, setDraft, shape, renderTravelerContactPic
80
81
  setDraft(applyTravelers(draft, next, bands));
81
82
  };
82
83
  return (_jsx(TravelerCard, { idx: idx, traveler: traveler, shape: shape, draft: draft, setDraft: setDraft, renderTravelerContactPicker: renderTravelerContactPicker, apply: apply, showBandSelect: hasBandChoice, onRemove: travelers.length > 1 ? () => removeTraveler(idx) : undefined }, traveler.rowId ?? idx));
83
- }), _jsxs(Button, { type: "button", variant: "outline", size: "sm", onClick: addTraveler, disabled: atMax, className: "w-full", children: [_jsx(Plus, { className: "mr-2 h-4 w-4" }), messages.bookingJourney.travelers.addTraveler] }), _jsx(PaxValidation, { draft: draft, shape: shape }), _jsx(PaxDependencyWarnings, { draft: draft, shape: shape }), _jsx(JourneyWarnings, { warnings: warnings })] })] }));
84
+ }), _jsxs(Button, { type: "button", variant: "outline", size: "sm", onClick: addTraveler, disabled: atMax, className: "w-full", children: [_jsx(Plus, { className: "mr-2 h-4 w-4" }), messages.bookingJourney.travelers.addTraveler] }), _jsx(PaxValidation, { draft: draft, shape: shape }), _jsx(PaxDependencyWarnings, { draft: draft, shape: shape }), _jsx(JourneyErrors, { errors: errors }), _jsx(JourneyWarnings, { warnings: warnings })] })] }));
84
85
  }
85
86
  /**
86
87
  * One traveler block — type (band) selector, name, optional contact, age, and
@@ -106,6 +107,9 @@ function TravelerCard({ idx, traveler, shape, draft, setDraft, renderTravelerCon
106
107
  // documents) always show.
107
108
  const showIdentity = !renderTravelerContactPicker;
108
109
  const gridHasContent = showIdentity || Boolean(dobField) || dynamicFields.length > 0;
110
+ const emailError = isValidOptionalEmail(traveler.email)
111
+ ? undefined
112
+ : messages.bookingJourney.validation.invalidEmail;
109
113
  // Live age from DOB — surfaces in the header so the user gets feedback as
110
114
  // they pick a date.
111
115
  const computedAge = traveler.dateOfBirth ? computeAge(traveler.dateOfBirth) : null;
@@ -166,7 +170,7 @@ function TravelerCard({ idx, traveler, shape, draft, setDraft, renderTravelerCon
166
170
  rowIndex: idx,
167
171
  apply,
168
172
  selectedPersonId: traveler.personId,
169
- }) })) : null, gridHasContent ? (_jsxs("div", { className: "grid grid-cols-1 gap-3 sm:grid-cols-2", children: [showIdentity ? (_jsxs(_Fragment, { children: [_jsx(Field, { id: `bj-trav-${idx}-first`, label: messages.bookingJourney.billing.firstName, value: traveler.firstName, onChange: (v) => patchRow({ firstName: v }) }), _jsx(Field, { id: `bj-trav-${idx}-last`, label: messages.bookingJourney.billing.lastName, value: traveler.lastName, onChange: (v) => patchRow({ lastName: v }) }), applicableFields.some((f) => f.key === "email") ? (_jsx(Field, { id: `bj-trav-${idx}-email`, label: messages.bookingJourney.billing.email, type: "email", value: traveler.email ?? "", onChange: (v) => patchRow({ email: v }) })) : null, phoneField ? (_jsx(PhoneField, { id: `bj-trav-${idx}-phone`,
173
+ }) })) : null, gridHasContent ? (_jsxs("div", { className: "grid grid-cols-1 gap-3 sm:grid-cols-2", children: [showIdentity ? (_jsxs(_Fragment, { children: [_jsx(Field, { id: `bj-trav-${idx}-first`, label: messages.bookingJourney.billing.firstName, value: traveler.firstName, onChange: (v) => patchRow({ firstName: v }) }), _jsx(Field, { id: `bj-trav-${idx}-last`, label: messages.bookingJourney.billing.lastName, value: traveler.lastName, onChange: (v) => patchRow({ lastName: v }) }), applicableFields.some((f) => f.key === "email") ? (_jsx(Field, { id: `bj-trav-${idx}-email`, label: messages.bookingJourney.billing.email, type: "email", value: traveler.email ?? "", error: emailError, onChange: (v) => patchRow({ email: v }) })) : null, phoneField ? (_jsx(PhoneField, { id: `bj-trav-${idx}-phone`,
170
174
  // i18n-literal-ok Required marker appended to a descriptor-supplied field label.
171
175
  label: phoneField.label + (phoneField.required ? " *" : ""), value: traveler.phone ?? "", onChange: (v) => patchRow({ phone: v }) })) : null] })) : null, dobField ? (_jsxs("div", { className: "space-y-1", children: [_jsx(DateField, { id: `bj-trav-${idx}-dob`,
172
176
  // i18n-literal-ok Required marker appended to a descriptor-supplied field label.
@@ -0,0 +1,3 @@
1
+ export declare function isValidEmail(value: string): boolean;
2
+ export declare function isValidOptionalEmail(value: string | null | undefined): boolean;
3
+ //# sourceMappingURL=email-validation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"email-validation.d.ts","sourceRoot":"","sources":["../../../src/journey/lib/email-validation.ts"],"names":[],"mappings":"AAIA,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAEnD;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,OAAO,CAE9E"}
@@ -0,0 +1,8 @@
1
+ import { z } from "zod";
2
+ const emailSchema = z.email();
3
+ export function isValidEmail(value) {
4
+ return emailSchema.safeParse(value).success;
5
+ }
6
+ export function isValidOptionalEmail(value) {
7
+ return !value || isValidEmail(value);
8
+ }
@@ -1505,7 +1505,7 @@ export declare function getSupplierStatusesQueryOptions(client: FetchWithValidat
1505
1505
  bookingId: string;
1506
1506
  supplierServiceId: string | null;
1507
1507
  serviceName: string;
1508
- status: "pending" | "cancelled" | "confirmed" | "rejected";
1508
+ status: "cancelled" | "pending" | "confirmed" | "rejected";
1509
1509
  supplierReference: string | null;
1510
1510
  costCurrency: string;
1511
1511
  costAmountCents: number;
@@ -1520,7 +1520,7 @@ export declare function getSupplierStatusesQueryOptions(client: FetchWithValidat
1520
1520
  bookingId: string;
1521
1521
  supplierServiceId: string | null;
1522
1522
  serviceName: string;
1523
- status: "pending" | "cancelled" | "confirmed" | "rejected";
1523
+ status: "cancelled" | "pending" | "confirmed" | "rejected";
1524
1524
  supplierReference: string | null;
1525
1525
  costCurrency: string;
1526
1526
  costAmountCents: number;
@@ -1536,7 +1536,7 @@ export declare function getSupplierStatusesQueryOptions(client: FetchWithValidat
1536
1536
  bookingId: string;
1537
1537
  supplierServiceId: string | null;
1538
1538
  serviceName: string;
1539
- status: "pending" | "cancelled" | "confirmed" | "rejected";
1539
+ status: "cancelled" | "pending" | "confirmed" | "rejected";
1540
1540
  supplierReference: string | null;
1541
1541
  costCurrency: string;
1542
1542
  costAmountCents: number;
@@ -1554,7 +1554,7 @@ export declare function getSupplierStatusesQueryOptions(client: FetchWithValidat
1554
1554
  bookingId: string;
1555
1555
  supplierServiceId: string | null;
1556
1556
  serviceName: string;
1557
- status: "pending" | "cancelled" | "confirmed" | "rejected";
1557
+ status: "cancelled" | "pending" | "confirmed" | "rejected";
1558
1558
  supplierReference: string | null;
1559
1559
  costCurrency: string;
1560
1560
  costAmountCents: number;
@@ -10,7 +10,7 @@ export declare function useBookingQuestions(options?: UseBookingQuestionsOptions
10
10
  label: string;
11
11
  description: string | null;
12
12
  target: "extra" | "service" | "traveler" | "booking" | "lead_traveler" | "booker";
13
- fieldType: "number" | "boolean" | "date" | "other" | "file" | "email" | "phone" | "textarea" | "text" | "single_select" | "multi_select" | "datetime" | "country";
13
+ fieldType: "number" | "boolean" | "date" | "other" | "file" | "email" | "phone" | "textarea" | "text" | "country" | "datetime" | "single_select" | "multi_select";
14
14
  placeholder: string | null;
15
15
  helpText: string | null;
16
16
  isRequired: boolean;
@@ -132,7 +132,7 @@ export declare function getBookingQuestionsQueryOptions(client: FetchWithValidat
132
132
  label: string;
133
133
  description: string | null;
134
134
  target: "extra" | "service" | "traveler" | "booking" | "lead_traveler" | "booker";
135
- fieldType: "number" | "boolean" | "date" | "other" | "file" | "email" | "phone" | "textarea" | "text" | "single_select" | "multi_select" | "datetime" | "country";
135
+ fieldType: "number" | "boolean" | "date" | "other" | "file" | "email" | "phone" | "textarea" | "text" | "country" | "datetime" | "single_select" | "multi_select";
136
136
  placeholder: string | null;
137
137
  helpText: string | null;
138
138
  isRequired: boolean;
@@ -150,7 +150,7 @@ export declare function getBookingQuestionsQueryOptions(client: FetchWithValidat
150
150
  label: string;
151
151
  description: string | null;
152
152
  target: "extra" | "service" | "traveler" | "booking" | "lead_traveler" | "booker";
153
- fieldType: "number" | "boolean" | "date" | "other" | "file" | "email" | "phone" | "textarea" | "text" | "single_select" | "multi_select" | "datetime" | "country";
153
+ fieldType: "number" | "boolean" | "date" | "other" | "file" | "email" | "phone" | "textarea" | "text" | "country" | "datetime" | "single_select" | "multi_select";
154
154
  placeholder: string | null;
155
155
  helpText: string | null;
156
156
  isRequired: boolean;
@@ -169,7 +169,7 @@ export declare function getBookingQuestionsQueryOptions(client: FetchWithValidat
169
169
  label: string;
170
170
  description: string | null;
171
171
  target: "extra" | "service" | "traveler" | "booking" | "lead_traveler" | "booker";
172
- fieldType: "number" | "boolean" | "date" | "other" | "file" | "email" | "phone" | "textarea" | "text" | "single_select" | "multi_select" | "datetime" | "country";
172
+ fieldType: "number" | "boolean" | "date" | "other" | "file" | "email" | "phone" | "textarea" | "text" | "country" | "datetime" | "single_select" | "multi_select";
173
173
  placeholder: string | null;
174
174
  helpText: string | null;
175
175
  isRequired: boolean;
@@ -190,7 +190,7 @@ export declare function getBookingQuestionsQueryOptions(client: FetchWithValidat
190
190
  label: string;
191
191
  description: string | null;
192
192
  target: "extra" | "service" | "traveler" | "booking" | "lead_traveler" | "booker";
193
- fieldType: "number" | "boolean" | "date" | "other" | "file" | "email" | "phone" | "textarea" | "text" | "single_select" | "multi_select" | "datetime" | "country";
193
+ fieldType: "number" | "boolean" | "date" | "other" | "file" | "email" | "phone" | "textarea" | "text" | "country" | "datetime" | "single_select" | "multi_select";
194
194
  placeholder: string | null;
195
195
  helpText: string | null;
196
196
  isRequired: boolean;
@@ -26,10 +26,10 @@ export declare const questionFieldTypeSchema: z.ZodEnum<{
26
26
  phone: "phone";
27
27
  textarea: "textarea";
28
28
  text: "text";
29
+ country: "country";
30
+ datetime: "datetime";
29
31
  single_select: "single_select";
30
32
  multi_select: "multi_select";
31
- datetime: "datetime";
32
- country: "country";
33
33
  }>;
34
34
  export declare const bookingQuestionSchema: z.ZodObject<{
35
35
  id: z.ZodString;
@@ -55,10 +55,10 @@ export declare const bookingQuestionSchema: z.ZodObject<{
55
55
  phone: "phone";
56
56
  textarea: "textarea";
57
57
  text: "text";
58
+ country: "country";
59
+ datetime: "datetime";
58
60
  single_select: "single_select";
59
61
  multi_select: "multi_select";
60
- datetime: "datetime";
61
- country: "country";
62
62
  }>;
63
63
  placeholder: z.ZodNullable<z.ZodString>;
64
64
  helpText: z.ZodNullable<z.ZodString>;
@@ -166,10 +166,10 @@ export declare const bookingQuestionListResponse: z.ZodObject<{
166
166
  phone: "phone";
167
167
  textarea: "textarea";
168
168
  text: "text";
169
+ country: "country";
170
+ datetime: "datetime";
169
171
  single_select: "single_select";
170
172
  multi_select: "multi_select";
171
- datetime: "datetime";
172
- country: "country";
173
173
  }>;
174
174
  placeholder: z.ZodNullable<z.ZodString>;
175
175
  helpText: z.ZodNullable<z.ZodString>;
package/dist/schemas.d.ts CHANGED
@@ -22,8 +22,8 @@ export declare const bookingStatusSchema: z.ZodEnum<{
22
22
  }>;
23
23
  export type BookingStatus = z.infer<typeof bookingStatusSchema>;
24
24
  export declare const supplierConfirmationStatusSchema: z.ZodEnum<{
25
- pending: "pending";
26
25
  cancelled: "cancelled";
26
+ pending: "pending";
27
27
  confirmed: "confirmed";
28
28
  rejected: "rejected";
29
29
  }>;
@@ -277,8 +277,8 @@ export declare const bookingSupplierStatusRecordSchema: z.ZodObject<{
277
277
  supplierServiceId: z.ZodNullable<z.ZodString>;
278
278
  serviceName: z.ZodString;
279
279
  status: z.ZodEnum<{
280
- pending: "pending";
281
280
  cancelled: "cancelled";
281
+ pending: "pending";
282
282
  confirmed: "confirmed";
283
283
  rejected: "rejected";
284
284
  }>;
@@ -1699,8 +1699,8 @@ export declare const bookingSupplierStatusesResponse: z.ZodObject<{
1699
1699
  supplierServiceId: z.ZodNullable<z.ZodString>;
1700
1700
  serviceName: z.ZodString;
1701
1701
  status: z.ZodEnum<{
1702
- pending: "pending";
1703
1702
  cancelled: "cancelled";
1703
+ pending: "pending";
1704
1704
  confirmed: "confirmed";
1705
1705
  rejected: "rejected";
1706
1706
  }>;
@@ -2244,9 +2244,9 @@ export declare const bookingActionLedgerStatusSchema: z.ZodEnum<{
2244
2244
  superseded: "superseded";
2245
2245
  }>;
2246
2246
  export declare const bookingActionLedgerRiskSchema: z.ZodEnum<{
2247
- high: "high";
2248
2247
  low: "low";
2249
2248
  medium: "medium";
2249
+ high: "high";
2250
2250
  critical: "critical";
2251
2251
  }>;
2252
2252
  export declare const bookingActionLedgerPrincipalTypeSchema: z.ZodEnum<{
@@ -2287,9 +2287,9 @@ export declare const bookingActionLedgerEntrySchema: z.ZodObject<{
2287
2287
  superseded: "superseded";
2288
2288
  }>;
2289
2289
  evaluatedRisk: z.ZodEnum<{
2290
- high: "high";
2291
2290
  low: "low";
2292
2291
  medium: "medium";
2292
+ high: "high";
2293
2293
  critical: "critical";
2294
2294
  }>;
2295
2295
  actorType: z.ZodNullable<z.ZodString>;
@@ -2377,9 +2377,9 @@ export declare const bookingActionLedgerListResponse: z.ZodObject<{
2377
2377
  superseded: "superseded";
2378
2378
  }>;
2379
2379
  evaluatedRisk: z.ZodEnum<{
2380
- high: "high";
2381
2380
  low: "low";
2382
2381
  medium: "medium";
2382
+ high: "high";
2383
2383
  critical: "critical";
2384
2384
  }>;
2385
2385
  actorType: z.ZodNullable<z.ZodString>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@voyant-travel/bookings-react",
3
- "version": "0.140.0",
3
+ "version": "0.141.1",
4
4
  "license": "Apache-2.0",
5
5
  "repository": {
6
6
  "type": "git",
@@ -146,17 +146,17 @@
146
146
  "react-hook-form": "^7.80.0",
147
147
  "zod": "^4.0.0",
148
148
  "@voyant-travel/admin": "^0.116.0",
149
- "@voyant-travel/bookings": "^0.140.0",
150
- "@voyant-travel/catalog-react": "^0.138.0",
151
- "@voyant-travel/distribution-react": "^0.130.0",
152
- "@voyant-travel/relationships-react": "^0.140.0",
153
- "@voyant-travel/finance-react": "^0.140.0",
154
- "@voyant-travel/identity-react": "^0.140.0",
155
- "@voyant-travel/legal-react": "^0.140.0",
156
- "@voyant-travel/commerce-react": "^0.22.0",
157
- "@voyant-travel/inventory-react": "^0.22.0",
149
+ "@voyant-travel/bookings": "^0.141.1",
150
+ "@voyant-travel/distribution-react": "^0.131.0",
151
+ "@voyant-travel/relationships-react": "^0.141.0",
152
+ "@voyant-travel/catalog-react": "^0.139.0",
153
+ "@voyant-travel/finance-react": "^0.141.0",
154
+ "@voyant-travel/identity-react": "^0.141.0",
155
+ "@voyant-travel/legal-react": "^0.141.0",
156
+ "@voyant-travel/commerce-react": "^0.23.0",
157
+ "@voyant-travel/inventory-react": "^0.23.0",
158
158
  "@voyant-travel/ui": "^0.108.10",
159
- "@voyant-travel/operations-react": "^0.21.0"
159
+ "@voyant-travel/operations-react": "^0.22.0"
160
160
  },
161
161
  "peerDependenciesMeta": {
162
162
  "@tanstack/react-table": {
@@ -204,7 +204,7 @@
204
204
  },
205
205
  "dependencies": {
206
206
  "sonner": "^2.0.7",
207
- "@voyant-travel/catalog-contracts": "^0.108.1",
207
+ "@voyant-travel/catalog-contracts": "^0.108.2",
208
208
  "@voyant-travel/i18n": "^0.110.0",
209
209
  "@voyant-travel/react": "^0.104.1",
210
210
  "@voyant-travel/types": "^0.107.0"
@@ -223,19 +223,19 @@
223
223
  "vitest": "^4.1.9",
224
224
  "zod": "^4.4.3",
225
225
  "@voyant-travel/admin": "^0.116.0",
226
- "@voyant-travel/bookings": "^0.140.0",
227
- "@voyant-travel/catalog-react": "^0.138.0",
228
- "@voyant-travel/distribution-react": "^0.130.0",
229
- "@voyant-travel/relationships-react": "^0.140.0",
230
- "@voyant-travel/finance-react": "^0.140.0",
231
- "@voyant-travel/identity-react": "^0.140.0",
232
- "@voyant-travel/legal-react": "^0.140.0",
233
- "@voyant-travel/commerce-react": "^0.22.0",
234
- "@voyant-travel/inventory-react": "^0.22.0",
226
+ "@voyant-travel/bookings": "^0.141.1",
227
+ "@voyant-travel/catalog-react": "^0.139.0",
228
+ "@voyant-travel/relationships-react": "^0.141.0",
229
+ "@voyant-travel/distribution-react": "^0.131.0",
230
+ "@voyant-travel/legal-react": "^0.141.0",
231
+ "@voyant-travel/identity-react": "^0.141.0",
232
+ "@voyant-travel/inventory-react": "^0.23.0",
235
233
  "@voyant-travel/react": "^0.104.1",
236
- "@voyant-travel/ui": "^0.108.10",
234
+ "@voyant-travel/commerce-react": "^0.23.0",
235
+ "@voyant-travel/finance-react": "^0.141.0",
237
236
  "@voyant-travel/voyant-typescript-config": "^0.1.0",
238
- "@voyant-travel/operations-react": "^0.21.0"
237
+ "@voyant-travel/ui": "^0.108.10",
238
+ "@voyant-travel/operations-react": "^0.22.0"
239
239
  },
240
240
  "files": [
241
241
  "dist",