@voyantjs/bookings-ui 0.22.0 → 0.24.0

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 +1 @@
1
- {"version":3,"file":"booking-journey.d.ts","sourceRoot":"","sources":["../../../src/journey/components/booking-journey.tsx"],"names":[],"mappings":"AAqCA,OAAO,EACL,KAAK,mBAAmB,EAIzB,MAAM,aAAa,CAAA;AAepB,wBAAgB,cAAc,CAAC,KAAK,EAAE,mBAAmB,GAAG,KAAK,CAAC,YAAY,CA8W7E"}
1
+ {"version":3,"file":"booking-journey.d.ts","sourceRoot":"","sources":["../../../src/journey/components/booking-journey.tsx"],"names":[],"mappings":"AAqCA,OAAO,EACL,KAAK,mBAAmB,EAIzB,MAAM,aAAa,CAAA;AAepB,wBAAgB,cAAc,CAAC,KAAK,EAAE,mBAAmB,GAAG,KAAK,CAAC,YAAY,CAya7E"}
@@ -154,12 +154,52 @@ export function BookingJourney(props) {
154
154
  }, [holdSignature, currentStep]);
155
155
  const canAdvance = canAdvanceFromStep(currentStep, draft, shape, quote.data?.available !== false);
156
156
  const warnings = warningsForStep(currentStep, draft, shape);
157
+ const [isAdvanceGuardPending, setIsAdvanceGuardPending] = useState(false);
158
+ const [advanceGuardError, setAdvanceGuardError] = useState(null);
157
159
  const idx = steps.indexOf(currentStep);
158
160
  const next = steps[idx + 1];
159
161
  const prev = steps[idx - 1];
160
- const advance = () => {
161
- if (!next || !canAdvance)
162
+ const advance = async () => {
163
+ if (!next || !canAdvance || isAdvanceGuardPending)
162
164
  return;
165
+ setAdvanceGuardError(null);
166
+ if (props.onBeforeStepAdvance) {
167
+ setIsAdvanceGuardPending(true);
168
+ try {
169
+ const guardResult = await props.onBeforeStepAdvance({
170
+ currentStep,
171
+ nextStep: next,
172
+ draft,
173
+ pricing: quote.data?.pricing ?? null,
174
+ quoteId: quote.data?.quoteId,
175
+ surface,
176
+ });
177
+ if (guardResult &&
178
+ typeof guardResult === "object" &&
179
+ "draft" in guardResult &&
180
+ guardResult.draft) {
181
+ setDraft(guardResult.draft);
182
+ }
183
+ if (guardResult === false) {
184
+ setAdvanceGuardError("Complete this step before continuing.");
185
+ return;
186
+ }
187
+ if (guardResult &&
188
+ typeof guardResult === "object" &&
189
+ "allow" in guardResult &&
190
+ guardResult.allow === false) {
191
+ setAdvanceGuardError(guardResult.message ?? "Complete this step before continuing.");
192
+ return;
193
+ }
194
+ }
195
+ catch (error) {
196
+ setAdvanceGuardError(error instanceof Error ? error.message : "Unable to continue. Please try again.");
197
+ return;
198
+ }
199
+ finally {
200
+ setIsAdvanceGuardPending(false);
201
+ }
202
+ }
163
203
  setCurrentStep(next);
164
204
  setVisited((s) => new Set(s).add(next));
165
205
  };
@@ -238,12 +278,12 @@ export function BookingJourney(props) {
238
278
  acceptsCard: false,
239
279
  acceptsHold: true,
240
280
  acceptsTicketOnCredit: false,
241
- }, renderProviderStep: props.renderPaymentProviderStep })) : null, currentStep === "review" ? (_jsx(ReviewStep, { draft: draft, setDraft: setDraft, isCommitting: commit.isPending || isHandlingCheckout, onConfirm: onConfirm, renderExtras: props.renderReviewExtras, surface: surface })) : null, warnings.length > 0 ? (_jsx("ul", { className: "space-y-1 rounded 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))) })) : null, _jsxs("div", { className: "flex items-center gap-2", children: [_jsx(Button, { type: "button", variant: "outline", onClick: () => {
281
+ }, renderProviderStep: props.renderPaymentProviderStep })) : null, currentStep === "review" ? (_jsx(ReviewStep, { draft: draft, setDraft: setDraft, isCommitting: commit.isPending || isHandlingCheckout, onConfirm: onConfirm, renderExtras: props.renderReviewExtras, surface: surface })) : null, warnings.length > 0 ? (_jsx("ul", { className: "space-y-1 rounded 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))) })) : null, _jsxs("div", { className: "flex items-center gap-2", children: [_jsx(Button, { type: "button", variant: "outline", disabled: isAdvanceGuardPending, onClick: () => {
242
282
  if (prev)
243
283
  goBack();
244
284
  else
245
285
  props.onCancelled?.();
246
- }, children: "Back" }), next ? (_jsx(Button, { type: "button", onClick: advance, disabled: !canAdvance, className: "ml-auto", children: "Next" })) : null] }), commit.error ? (_jsx("p", { className: "text-destructive text-sm", children: commit.error instanceof Error ? commit.error.message : String(commit.error) })) : null] }), _jsx("aside", { className: "md:sticky md:top-4 md:col-span-3", children: _jsx(PriceSidePanel, { pricing: quote.data?.pricing ?? null, isQuoting: quote.isQuoting, invalidReason: quote.data?.invalidReason, entitySummary: props.entitySummary, currentStep: currentStep, steps: steps, shape: shape, draft: draft, className: props.sidePanelClassName }) })] }), contractConfig ? (_jsx(ContractPreviewDialog, { open: contractDialogOpen, onOpenChange: setContractDialogOpen, previewUrl: contractConfig.previewUrl, acceptLanguage: contractConfig.acceptLanguage, variables: contractVariables, marketingLabel: contractConfig.marketingLabel, termsLabel: contractConfig.termsLabel, onAccept: onContractAccept })) : null] }));
286
+ }, children: "Back" }), next ? (_jsx(Button, { type: "button", onClick: () => void advance(), disabled: !canAdvance || isAdvanceGuardPending, className: "ml-auto", children: isAdvanceGuardPending ? "Checking..." : "Next" })) : null] }), advanceGuardError ? (_jsx("p", { className: "text-destructive text-sm", role: "alert", "aria-live": "polite", children: advanceGuardError })) : null, commit.error ? (_jsx("p", { className: "text-destructive text-sm", children: commit.error instanceof Error ? commit.error.message : String(commit.error) })) : null] }), _jsx("aside", { className: "md:sticky md:top-4 md:col-span-3", children: _jsx(PriceSidePanel, { pricing: quote.data?.pricing ?? null, isQuoting: quote.isQuoting, invalidReason: quote.data?.invalidReason, entitySummary: props.entitySummary, currentStep: currentStep, steps: steps, shape: shape, draft: draft, className: props.sidePanelClassName }) })] }), contractConfig ? (_jsx(ContractPreviewDialog, { open: contractDialogOpen, onOpenChange: setContractDialogOpen, previewUrl: contractConfig.previewUrl, acceptLanguage: contractConfig.acceptLanguage, variables: contractVariables, marketingLabel: contractConfig.marketingLabel, termsLabel: contractConfig.termsLabel, onAccept: onContractAccept })) : null] }));
247
287
  }
248
288
  function isStepVisible(step, shape) {
249
289
  switch (step) {
@@ -14,5 +14,5 @@ export { AccommodationStep, AddonsStep, BillingStep, ConfigureStep, PaymentStep,
14
14
  export { PriceSidePanel } from "./components/side-panel.js";
15
15
  export { StepHeader } from "./components/step-header.js";
16
16
  export { type Draft, emptyDraft, patchBilling, patchConfigure, patchPaxCount, setAccommodation, setAddons, setPayment, setTravelers, totalPax, } from "./lib/draft-state.js";
17
- export { type BookingEntitySummary, type BookingJourneyCheckoutContext, type BookingJourneyProps, type ContractAcceptanceEvent, JOURNEY_STEP_ORDER, type JourneyHeaderState, type JourneyStep, type JourneySurface, type LeadContactPickerProps, type PaymentProviderCapabilities, type PaymentProviderStepRenderProps, type SidePanelState, type TravelerContactPickerProps, } from "./types.js";
17
+ export { type BookingEntitySummary, type BookingJourneyCheckoutContext, type BookingJourneyProps, type BookingJourneyTransitionGuard, type BookingJourneyTransitionGuardContext, type BookingJourneyTransitionGuardResult, type ContractAcceptanceEvent, JOURNEY_STEP_ORDER, type JourneyHeaderState, type JourneyStep, type JourneySurface, type LeadContactPickerProps, type PaymentProviderCapabilities, type PaymentProviderStepRenderProps, type SidePanelState, type TravelerContactPickerProps, } from "./types.js";
18
18
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/journey/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAA;AAChE,OAAO,EACL,KAAK,kBAAkB,EACvB,qBAAqB,EACrB,KAAK,0BAA0B,GAChC,MAAM,yCAAyC,CAAA;AAChD,OAAO,EACL,iBAAiB,EACjB,UAAU,EACV,WAAW,EACX,aAAa,EACb,WAAW,EACX,UAAU,EACV,aAAa,GACd,MAAM,+BAA+B,CAAA;AACtC,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAA;AAC3D,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAA;AACxD,OAAO,EACL,KAAK,KAAK,EACV,UAAU,EACV,YAAY,EACZ,cAAc,EACd,aAAa,EACb,gBAAgB,EAChB,SAAS,EACT,UAAU,EACV,YAAY,EACZ,QAAQ,GACT,MAAM,sBAAsB,CAAA;AAC7B,OAAO,EACL,KAAK,oBAAoB,EACzB,KAAK,6BAA6B,EAClC,KAAK,mBAAmB,EACxB,KAAK,uBAAuB,EAC5B,kBAAkB,EAClB,KAAK,kBAAkB,EACvB,KAAK,WAAW,EAChB,KAAK,cAAc,EACnB,KAAK,sBAAsB,EAC3B,KAAK,2BAA2B,EAChC,KAAK,8BAA8B,EACnC,KAAK,cAAc,EACnB,KAAK,0BAA0B,GAChC,MAAM,YAAY,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/journey/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAA;AAChE,OAAO,EACL,KAAK,kBAAkB,EACvB,qBAAqB,EACrB,KAAK,0BAA0B,GAChC,MAAM,yCAAyC,CAAA;AAChD,OAAO,EACL,iBAAiB,EACjB,UAAU,EACV,WAAW,EACX,aAAa,EACb,WAAW,EACX,UAAU,EACV,aAAa,GACd,MAAM,+BAA+B,CAAA;AACtC,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAA;AAC3D,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAA;AACxD,OAAO,EACL,KAAK,KAAK,EACV,UAAU,EACV,YAAY,EACZ,cAAc,EACd,aAAa,EACb,gBAAgB,EAChB,SAAS,EACT,UAAU,EACV,YAAY,EACZ,QAAQ,GACT,MAAM,sBAAsB,CAAA;AAC7B,OAAO,EACL,KAAK,oBAAoB,EACzB,KAAK,6BAA6B,EAClC,KAAK,mBAAmB,EACxB,KAAK,6BAA6B,EAClC,KAAK,oCAAoC,EACzC,KAAK,mCAAmC,EACxC,KAAK,uBAAuB,EAC5B,kBAAkB,EAClB,KAAK,kBAAkB,EACvB,KAAK,WAAW,EAChB,KAAK,cAAc,EACnB,KAAK,sBAAsB,EAC3B,KAAK,2BAA2B,EAChC,KAAK,8BAA8B,EACnC,KAAK,cAAc,EACnB,KAAK,0BAA0B,GAChC,MAAM,YAAY,CAAA"}
@@ -72,6 +72,20 @@ export interface PaymentProviderStepRenderProps {
72
72
  schedule: BookingDraftV1["payment"]["schedule"];
73
73
  capabilities: PaymentProviderCapabilities;
74
74
  }
75
+ export type BookingJourneyTransitionGuardResult = undefined | boolean | {
76
+ allow: boolean;
77
+ message?: string;
78
+ draft?: BookingDraftV1;
79
+ };
80
+ export interface BookingJourneyTransitionGuardContext {
81
+ currentStep: JourneyStep;
82
+ nextStep: JourneyStep;
83
+ draft: BookingDraftV1;
84
+ pricing: PricingBreakdownV1 | null;
85
+ quoteId?: string;
86
+ surface: "admin" | "public";
87
+ }
88
+ export type BookingJourneyTransitionGuard = (context: BookingJourneyTransitionGuardContext) => BookingJourneyTransitionGuardResult | Promise<BookingJourneyTransitionGuardResult>;
75
89
  export interface BookingJourneyProps {
76
90
  /** What to book. */
77
91
  entityModule: string;
@@ -124,6 +138,13 @@ export interface BookingJourneyProps {
124
138
  * PaymentStep is the canonical implementation. When omitted, the
125
139
  * shell renders a "Hold only — no card collected" stub. */
126
140
  renderPaymentProviderStep?: (props: PaymentProviderStepRenderProps) => ReactNode;
141
+ /**
142
+ * Runs before a forward step transition. Return `false` or
143
+ * `{ allow: false, message }` to keep the current step active and
144
+ * surface an inline navigation error; return `{ allow: true,
145
+ * draft }` to continue with an updated draft snapshot.
146
+ */
147
+ onBeforeStepAdvance?: BookingJourneyTransitionGuard;
127
148
  /** Optional pre/post-step extension slots — useful when a
128
149
  * template wants to inject a custom block (e.g. coupon code
129
150
  * banner, marketing opt-in). */
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/journey/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/journey/types.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@voyantjs/bookings-ui",
3
- "version": "0.22.0",
3
+ "version": "0.24.0",
4
4
  "license": "Apache-2.0",
5
5
  "repository": {
6
6
  "type": "git",
@@ -51,18 +51,18 @@
51
51
  "react-dom": "^19.0.0",
52
52
  "react-hook-form": "^7.60.0",
53
53
  "zod": "^4.3.6",
54
- "@voyantjs/availability-react": "0.22.0",
55
- "@voyantjs/bookings-react": "0.22.0",
56
- "@voyantjs/catalog": "0.22.0",
57
- "@voyantjs/catalog-react": "0.22.0",
58
- "@voyantjs/crm-react": "0.22.0",
59
- "@voyantjs/finance-react": "0.22.0",
60
- "@voyantjs/legal-react": "0.22.0",
61
- "@voyantjs/products-react": "0.22.0",
62
- "@voyantjs/ui": "0.22.0"
54
+ "@voyantjs/availability-react": "0.24.0",
55
+ "@voyantjs/bookings-react": "0.24.0",
56
+ "@voyantjs/catalog": "0.24.0",
57
+ "@voyantjs/catalog-react": "0.24.0",
58
+ "@voyantjs/crm-react": "0.24.0",
59
+ "@voyantjs/finance-react": "0.24.0",
60
+ "@voyantjs/legal-react": "0.24.0",
61
+ "@voyantjs/products-react": "0.24.0",
62
+ "@voyantjs/ui": "0.24.0"
63
63
  },
64
64
  "dependencies": {
65
- "@voyantjs/i18n": "0.22.0"
65
+ "@voyantjs/i18n": "0.24.0"
66
66
  },
67
67
  "devDependencies": {
68
68
  "@tanstack/react-query": "^5.96.2",
@@ -75,16 +75,16 @@
75
75
  "typescript": "^6.0.2",
76
76
  "vitest": "^4.1.2",
77
77
  "zod": "^4.3.6",
78
- "@voyantjs/availability-react": "0.22.0",
79
- "@voyantjs/bookings-react": "0.22.0",
80
- "@voyantjs/catalog": "0.22.0",
81
- "@voyantjs/catalog-react": "0.22.0",
82
- "@voyantjs/crm-react": "0.22.0",
83
- "@voyantjs/finance-react": "0.22.0",
84
- "@voyantjs/legal-react": "0.22.0",
85
- "@voyantjs/products-react": "0.22.0",
78
+ "@voyantjs/availability-react": "0.24.0",
79
+ "@voyantjs/bookings-react": "0.24.0",
80
+ "@voyantjs/catalog": "0.24.0",
81
+ "@voyantjs/catalog-react": "0.24.0",
82
+ "@voyantjs/crm-react": "0.24.0",
83
+ "@voyantjs/finance-react": "0.24.0",
84
+ "@voyantjs/legal-react": "0.24.0",
85
+ "@voyantjs/products-react": "0.24.0",
86
86
  "@voyantjs/voyant-typescript-config": "0.1.0",
87
- "@voyantjs/ui": "0.22.0"
87
+ "@voyantjs/ui": "0.24.0"
88
88
  },
89
89
  "files": [
90
90
  "dist",