@riverbankcms/sdk 0.148.0 → 0.149.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.
Files changed (154) hide show
  1. package/README.md +1 -1
  2. package/dist/{PreviewEditorSidebar-DvEPG3Z2.mjs → PreviewEditorSidebar-DBKln68M.mjs} +103 -66
  3. package/dist/{PreviewEditorUI-D6eb6fkx.mjs → PreviewEditorUI-DpRX4Mum.mjs} +3 -6
  4. package/dist/{PreviewQueryProvider-5znTyJuz.mjs → PreviewQueryProvider-C0mndwHB.mjs} +3 -3
  5. package/dist/{SdkPreviewModeRuntime-DJ6utQ_R.mjs → SdkPreviewModeRuntime-DJPmPY-r.mjs} +95 -67
  6. package/dist/{SiteChromeCustomizeContext-CFJYh6vo.mjs → SiteChromeCustomizeContext-JYA0cJ_Z.mjs} +982 -734
  7. package/dist/_dts/api/src/bookingConfig.d.ts +33 -48
  8. package/dist/_dts/api/src/bookingManagementEndpoints.d.ts +2 -6
  9. package/dist/_dts/api/src/bookingOperations.d.ts +5 -7
  10. package/dist/_dts/api/src/bookingRecords.d.ts +15 -11
  11. package/dist/_dts/api/src/bookingRefundOutcomes.d.ts +5 -5
  12. package/dist/_dts/api/src/clientErrorReporting.d.ts +11 -0
  13. package/dist/_dts/api/src/commercePortalEndpoints.d.ts +0 -2
  14. package/dist/_dts/api/src/common/cancellation.d.ts +23 -0
  15. package/dist/_dts/api/src/customerMembershipOutcomes.d.ts +1 -1
  16. package/dist/_dts/api/src/endpoints.d.ts +2 -10
  17. package/dist/_dts/api/src/eventManagementContracts.d.ts +4 -7
  18. package/dist/_dts/api/src/index.d.ts +3 -3
  19. package/dist/_dts/api/src/publicAppointmentBookingContracts.d.ts +2 -2
  20. package/dist/_dts/api/src/publicExperience/commerceEndpoints.d.ts +2 -29
  21. package/dist/_dts/api/src/request.d.ts +1 -1
  22. package/dist/_dts/api/src/sdk-event-upsert.d.ts +1 -1
  23. package/dist/_dts/api/src/sdkPullEventContracts.d.ts +1 -1
  24. package/dist/_dts/api/src/siteOperations.d.ts +6 -2
  25. package/dist/_dts/blocks/src/contracts/index.d.ts +1 -1
  26. package/dist/_dts/blocks/src/contracts/non-block-islands.d.ts +2 -2
  27. package/dist/_dts/blocks/src/contracts/proof-block-islands.d.ts +38 -10
  28. package/dist/_dts/blocks/src/portal/types.d.ts +9 -6
  29. package/dist/_dts/blocks/src/system/blocks/events/shared/schemas.d.ts +24 -24
  30. package/dist/_dts/blocks/src/system/blocks/events/shared/types.d.ts +1 -1
  31. package/dist/_dts/blocks/src/system/blocks/shared/bookingPaymentTerms.d.ts +84 -160
  32. package/dist/_dts/blocks/src/system/blocks/shop.d.ts +2 -2
  33. package/dist/_dts/blocks/src/system/blocks/shop.shared.d.ts +31 -4
  34. package/dist/_dts/blocks/src/system/runtime/api/types/appointments.d.ts +2 -2
  35. package/dist/_dts/blocks/src/system/runtime/api/types/core.d.ts +3 -1
  36. package/dist/_dts/blocks/src/system/runtime/components/registry.client.d.ts +48 -6
  37. package/dist/_dts/blocks/src/system/runtime/components/runtime-backed-blocks.d.ts +24 -3
  38. package/dist/_dts/blocks/src/system/runtime/hooks/useBookingNowIso.d.ts +8 -0
  39. package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.state.d.ts +2 -1
  40. package/dist/_dts/blocks/src/system/runtime/nodes/commerce/shared/display.d.ts +9 -2
  41. package/dist/_dts/blocks/src/system/runtime/nodes/event-details/presentation.d.ts +14 -2
  42. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/PaymentSelectionStep.d.ts +2 -0
  43. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/eventPaymentOptions.d.ts +3 -3
  44. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventRegistrationWizard.d.ts +4 -0
  45. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/eventCollectionContract.d.ts +24 -24
  46. package/dist/_dts/blocks/src/system/runtime/nodes/shop.interactive.d.ts +41 -6
  47. package/dist/_dts/blocks/src/system/runtime/shared/bookingPaymentOptions.d.ts +7 -2
  48. package/dist/_dts/commerce/src/purchase/bookingPaymentSelection.d.ts +54 -0
  49. package/dist/_dts/commerce/src/purchase/checkoutCommitPlan.d.ts +58 -13
  50. package/dist/_dts/commerce/src/purchase/checkoutErrorCodes.d.ts +1 -1
  51. package/dist/_dts/commerce/src/purchase/checkoutPaymentPlanPlanning.d.ts +16 -21
  52. package/dist/_dts/commerce/src/purchase/checkoutPaymentTerms.d.ts +23 -40
  53. package/dist/_dts/commerce/src/purchase/checkoutSessionMetadata.d.ts +2 -2
  54. package/dist/_dts/commerce/src/purchase/checkoutStripeSessionPlanning.d.ts +5 -4
  55. package/dist/_dts/commerce/src/purchase/index.d.ts +1 -3
  56. package/dist/_dts/commerce/src/purchase/membershipOrderItemMetadata.d.ts +4 -0
  57. package/dist/_dts/commerce/src/purchase/oneTimeCheckoutPlanning.d.ts +9 -4
  58. package/dist/_dts/commerce/src/purchase/orderInstalmentClosure.d.ts +13 -1
  59. package/dist/_dts/commerce/src/purchase/orderInstalmentLifecycle.d.ts +5 -0
  60. package/dist/_dts/commerce/src/purchase/orderItemMetadata.d.ts +3 -1
  61. package/dist/_dts/commerce/src/purchase/orderTypes.d.ts +7 -1
  62. package/dist/_dts/commerce/src/purchase/refundRailSplit.d.ts +1 -1
  63. package/dist/_dts/commerce/src/purchase/stateTransitions.d.ts +2 -2
  64. package/dist/_dts/commerce/src/purchase/stripeMinimumCharge.d.ts +6 -0
  65. package/dist/_dts/commerce/src/purchase/types.d.ts +2 -1
  66. package/dist/_dts/content-editor/src/controller/editLeaseHandover.d.ts +30 -0
  67. package/dist/_dts/content-editor/src/lib/browserStorage.d.ts +5 -0
  68. package/dist/_dts/core/src/booking-flexible-balance.d.ts +2 -2
  69. package/dist/_dts/core/src/booking-instalment-deposit.d.ts +20 -0
  70. package/dist/_dts/core/src/booking-live-payment-terms.d.ts +72 -0
  71. package/dist/_dts/core/src/booking-payment-options.d.ts +24 -0
  72. package/dist/_dts/core/src/booking-payment-schemas.d.ts +522 -0
  73. package/dist/_dts/core/src/branded.d.ts +3 -0
  74. package/dist/_dts/core/src/edit-lease.d.ts +5 -0
  75. package/dist/_dts/core/src/index.d.ts +3 -0
  76. package/dist/_dts/db/src/generated/supabase/database.types.d.ts +297 -36
  77. package/dist/_dts/media-editor/src/MediaPickerDialog.d.ts +3 -1
  78. package/dist/_dts/media-editor/src/MediaPickerMiniDialog.d.ts +10 -0
  79. package/dist/_dts/media-editor/src/index.d.ts +2 -0
  80. package/dist/_dts/preview-next/src/client/preview/PreviewEntryControllerProvider.d.ts +0 -1
  81. package/dist/_dts/preview-next/src/client/preview/PreviewShell.d.ts +1 -1
  82. package/dist/_dts/preview-next/src/client/previewAuthStore.d.ts +7 -0
  83. package/dist/_dts/preview-next/src/constants.d.ts +4 -0
  84. package/dist/_dts/preview-next/src/keepAlive.d.ts +1 -0
  85. package/dist/_dts/sdk/src/rendering/islands/types.d.ts +2 -12
  86. package/dist/_dts/sdk/src/version.d.ts +1 -1
  87. package/dist/_dts/theme-core/src/site-styles/pageDesignIntent.d.ts +0 -5
  88. package/dist/_dts/ui/src/color-picker.d.ts +1 -1
  89. package/dist/_dts/ui/src/palette/useHexDraft.d.ts +7 -0
  90. package/dist/client/{BookingMailingListNote-CzRt2dF_.mjs → BookingMailingListNote-Cr3EeTP5.mjs} +408 -69
  91. package/dist/client/{DemoBookingPortalAccess-mxqwap3f.mjs → DemoBookingPortalAccess-BFGB1Fay.mjs} +2 -2
  92. package/dist/client/{EventCombined.client-CDb11igO.mjs → EventCombined.client-DKYV0_ft.mjs} +6 -6
  93. package/dist/client/{EventListing.client-EgYhzKPa.mjs → EventListing.client-B9UIcEYc.mjs} +2 -2
  94. package/dist/client/{LeafletStaticMap-gtmtaA2b.mjs → LeafletStaticMap-CFLPkP0K.mjs} +1 -1
  95. package/dist/client/{TerminalPanel-DvNUP5ot.mjs → TerminalPanel-JjmgxEsR.mjs} +1 -1
  96. package/dist/client/{ThemedButton-C7CeUJjW.mjs → ThemedButton-CKV1Jh2m.mjs} +1 -1
  97. package/dist/client/{accordion-kjvt49rA.mjs → accordion-DXWIfT3T.mjs} +1 -1
  98. package/dist/client/{bookingForm-pbRZordh.mjs → bookingForm-CjZgHNvv.mjs} +11 -8
  99. package/dist/client/bookings.mjs +424 -320
  100. package/dist/client/{carousel-f4Zbmicv.mjs → carousel-DSLikmvZ.mjs} +1 -1
  101. package/dist/client/{cart-DO20An50.mjs → cart-HDjWReFt.mjs} +3 -3
  102. package/dist/client/{checkout-Du5amDR_.mjs → checkout-CUvRZA3W.mjs} +3 -3
  103. package/dist/client/client.mjs +963 -866
  104. package/dist/client/{context-eW97E945.mjs → context-DFmaZa-Q.mjs} +1 -1
  105. package/dist/client/{dates-jPCirRea.mjs → dates-BBep1JnF.mjs} +2 -2
  106. package/dist/client/{eventCalendar-C2M-iE4j.mjs → eventCalendar-zEobhxo4.mjs} +9 -9
  107. package/dist/client/{eventCombined-W6ns3LHg.mjs → eventCombined-Dp7bz5k-.mjs} +4 -4
  108. package/dist/client/{eventDetails-CR-GT0f0.mjs → eventDetails-FE-zqTt7.mjs} +4 -4
  109. package/dist/client/{eventListing-BK8AfYZz.mjs → eventListing-BMt5snal.mjs} +4 -4
  110. package/dist/client/{eventRegistration-BJSd4KUu.mjs → eventRegistration-O6ZxHfOb.mjs} +67 -342
  111. package/dist/client/{form-BvpfbQaT.mjs → form-DFa1D8vt.mjs} +3 -3
  112. package/dist/client/{headerSection-I5sUQ8x-.mjs → headerSection-CmjHLR-N.mjs} +3 -3
  113. package/dist/client/hooks.mjs +160 -129
  114. package/dist/client/{locationMap-BLvwf9_f.mjs → locationMap-BXKP_lGh.mjs} +3 -3
  115. package/dist/client/{newsletterForm-DrQ2weE8.mjs → newsletterForm-CU-HmxGx.mjs} +3 -3
  116. package/dist/client/{pricing-BES87mrR.mjs → pricing-KEAEsibq.mjs} +1 -1
  117. package/dist/client/{productDetail-Url9jcc5.mjs → productDetail-Ckp7MGnt.mjs} +3 -3
  118. package/dist/client/{productList-DE7ngEZJ.mjs → productList-D91V0sYa.mjs} +3 -3
  119. package/dist/client/{propsDecoder-D1OtGXDV.mjs → propsDecoder-DZd6RJeA.mjs} +155 -77
  120. package/dist/client/rendering/client.mjs +3356 -3192
  121. package/dist/client/rendering/islands.mjs +17 -17
  122. package/dist/client/rendering.mjs +956 -841
  123. package/dist/client/{routeIslandApiConfig-BG9Y-SHg.mjs → routeIslandApiConfig-E1EkhhYY.mjs} +1 -1
  124. package/dist/client/{shop-CJkuySJ3.mjs → shop-4F2jLQPI.mjs} +12 -13
  125. package/dist/client/{shop-commerce-4rKj5n9h.mjs → shop-commerce-BbfCJjB3.mjs} +6 -6
  126. package/dist/client/{shop-commerce-store-Bxm75Pg6.mjs → shop-commerce-store-vicweP2K.mjs} +1 -1
  127. package/dist/client/{shopShared-DpoQDWfz.mjs → shopShared-DlONJt0T.mjs} +4 -4
  128. package/dist/client/{useEventFilters-D8HliSqR.mjs → useEventFilters-COYyL3m7.mjs} +6 -6
  129. package/dist/preview-next/before-render.mjs +15 -22
  130. package/dist/preview-next/client/runtime.mjs +4 -4
  131. package/dist/preview-next/constants.mjs +5 -1
  132. package/dist/preview-next/index.mjs +5 -1
  133. package/dist/preview-next/keepAlive.mjs +149 -82
  134. package/dist/preview-next/middleware.mjs +15 -22
  135. package/dist/{previewAuthStore-BXXF3hhW.mjs → previewAuthStore-BBmV7UsW.mjs} +49 -29
  136. package/dist/{sdk-runtime-C2a05WjL.mjs → sdk-runtime-CwvFFjB-.mjs} +2 -2
  137. package/dist/{separator-CuNhBAhS.mjs → separator-ByL72zUT.mjs} +1 -1
  138. package/dist/server/components.mjs +167 -131
  139. package/dist/server/config-validation.mjs +160 -129
  140. package/dist/server/config.mjs +160 -129
  141. package/dist/server/data.mjs +160 -129
  142. package/dist/server/index.mjs +20 -27
  143. package/dist/server/next.mjs +174 -156
  144. package/dist/server/page-converter.mjs +145 -65
  145. package/dist/server/prebuild.mjs +1 -1
  146. package/dist/server/rendering/server.mjs +169 -131
  147. package/dist/server/rendering.mjs +167 -131
  148. package/dist/server/routing.mjs +165 -118
  149. package/dist/server/server.mjs +167 -154
  150. package/package.json +1 -1
  151. package/dist/_dts/api/src/bookingPaymentTermSchemas.d.ts +0 -123
  152. package/dist/_dts/commerce/src/purchase/checkoutPaymentTermPlanning.d.ts +0 -10
  153. package/dist/_dts/commerce/src/purchase/checkoutValidatedItemPlanning.d.ts +0 -55
  154. package/dist/_dts/commerce/src/purchase/orderInstalmentPayoff.d.ts +0 -24
@@ -343,6 +343,16 @@ function isRecord$13(value) {
343
343
  return typeof value === "object" && value !== null && !Array.isArray(value);
344
344
  }
345
345
  //#endregion
346
+ //#region ../core/src/booking-payment-options.ts
347
+ /** Automatic instalments and a flexible balance cannot share one booking offer. */
348
+ function validateBookingPaymentOptionKinds(kinds) {
349
+ if (kinds.length === 0) return err("no_options");
350
+ const uniqueKinds = new Set(kinds);
351
+ if (uniqueKinds.size !== kinds.length) return err("duplicate_kind");
352
+ if (uniqueKinds.has("instalment_plan") && uniqueKinds.has("flexible_balance")) return err("incompatible_collection_options");
353
+ return ok(void 0);
354
+ }
355
+ //#endregion
346
356
  //#region ../core/src/booking-time-zone.ts
347
357
  const TIME_ZONE_VALIDITY_CACHE_LIMIT = 100;
348
358
  const timeZoneValidityCache = /* @__PURE__ */ new Map();
@@ -8095,68 +8105,115 @@ const RichTextDocSchema = z.object({
8095
8105
  content: z.array(TipTapNodeSchema)
8096
8106
  }).strict();
8097
8107
  //#endregion
8098
- //#region ../blocks/src/system/blocks/shared/bookingPaymentTerms.ts
8099
- const bookingDepositRefundPolicySchema$1 = z.enum(["refundable", "non_refundable"]);
8100
- const bookingInstalmentPlanSchema$1 = z.union([
8101
- z.object({
8102
- kind: z.literal("deposit_plus_one_remainder"),
8103
- depositAmountCents: z.number().int().min(0),
8104
- depositRefundability: bookingDepositRefundPolicySchema$1,
8105
- remainderDueCount: z.number().int().positive(),
8106
- intervalUnit: z.enum([
8107
- "day",
8108
- "week",
8109
- "month"
8110
- ])
8111
- }),
8112
- z.object({
8113
- kind: z.literal("deposit_plus_scheduled_instalments"),
8114
- depositAmountCents: z.number().int().min(0),
8115
- depositRefundability: bookingDepositRefundPolicySchema$1,
8116
- instalmentCount: z.number().int().positive(),
8117
- intervalCount: z.number().int().positive(),
8118
- intervalUnit: z.enum([
8119
- "day",
8120
- "week",
8121
- "month"
8122
- ])
8123
- }),
8124
- z.object({
8125
- kind: z.literal("equal_scheduled_instalments"),
8126
- instalmentCount: z.number().int().positive(),
8127
- intervalCount: z.number().int().positive(),
8128
- intervalUnit: z.enum([
8129
- "day",
8130
- "week",
8131
- "month"
8132
- ])
8133
- })
8108
+ //#region ../core/src/booking-payment-schemas.ts
8109
+ const stripObject = (shape) => z.object(shape);
8110
+ const strictObject = (shape) => z.strictObject(shape);
8111
+ const depositRefundPolicySchema = z.enum(["refundable", "non_refundable"]);
8112
+ const intervalUnitSchema = z.enum([
8113
+ "day",
8114
+ "week",
8115
+ "month"
8134
8116
  ]);
8135
- const bookingFlexibleBalanceDueDateRuleSchema$1 = z.union([z.object({
8136
- kind: z.literal("relative_to_start_date"),
8137
- daysBeforeStart: z.number().int().positive()
8138
- }), z.object({
8139
- kind: z.literal("fixed_calendar_date"),
8140
- dueAt: z.string().datetime()
8141
- })]);
8142
- const bookingFlexibleBalanceConfigSchema$1 = z.object({
8143
- upfrontAmountCents: z.number().int().min(0),
8144
- dueDateRule: bookingFlexibleBalanceDueDateRuleSchema$1,
8145
- depositRefundability: bookingDepositRefundPolicySchema$1
8146
- });
8147
- const blockBookingPaymentCollectionOptionSchema = z.union([
8148
- z.object({ kind: z.literal("upfront") }),
8149
- z.object({ kind: z.literal("deferred_manual") }),
8150
- z.object({
8151
- kind: z.literal("instalment_plan"),
8152
- plan: bookingInstalmentPlanSchema$1
8153
- }),
8154
- z.object({
8155
- kind: z.literal("flexible_balance"),
8156
- config: bookingFlexibleBalanceConfigSchema$1
8157
- })
8158
- ]);
8159
- const blockBookingPaymentTermsSchema = z.object({ allowedOptions: z.array(blockBookingPaymentCollectionOptionSchema).min(1) });
8117
+ const nonNegativeIntegerSchema = z.number().int().nonnegative();
8118
+ const positiveIntegerSchema = z.number().int().positive();
8119
+ function createInstalmentPlanSchema(object) {
8120
+ return z.discriminatedUnion("kind", [
8121
+ object({
8122
+ kind: z.literal("deposit_plus_one_remainder"),
8123
+ depositAmountCents: nonNegativeIntegerSchema,
8124
+ depositRefundability: depositRefundPolicySchema,
8125
+ remainderDueCount: positiveIntegerSchema,
8126
+ intervalUnit: intervalUnitSchema
8127
+ }),
8128
+ object({
8129
+ kind: z.literal("deposit_plus_scheduled_instalments"),
8130
+ depositAmountCents: nonNegativeIntegerSchema,
8131
+ depositRefundability: depositRefundPolicySchema,
8132
+ instalmentCount: positiveIntegerSchema,
8133
+ intervalCount: positiveIntegerSchema,
8134
+ intervalUnit: intervalUnitSchema
8135
+ }),
8136
+ object({
8137
+ kind: z.literal("equal_scheduled_instalments"),
8138
+ instalmentCount: positiveIntegerSchema,
8139
+ intervalCount: positiveIntegerSchema,
8140
+ intervalUnit: intervalUnitSchema
8141
+ })
8142
+ ]);
8143
+ }
8144
+ function createFlexibleBalanceSchemas(object) {
8145
+ const dueDateRule = z.discriminatedUnion("kind", [object({
8146
+ kind: z.literal("relative_to_start_date"),
8147
+ daysBeforeStart: positiveIntegerSchema
8148
+ }), object({
8149
+ kind: z.literal("fixed_calendar_date"),
8150
+ dueAt: z.string().datetime()
8151
+ })]);
8152
+ return {
8153
+ dueDateRule,
8154
+ config: object({
8155
+ upfrontAmountCents: nonNegativeIntegerSchema,
8156
+ dueDateRule,
8157
+ depositRefundability: depositRefundPolicySchema
8158
+ })
8159
+ };
8160
+ }
8161
+ const paymentOptionKindsMessages = {
8162
+ no_options: "Choose at least one way for customers to pay.",
8163
+ duplicate_kind: "Choose each payment option only once.",
8164
+ incompatible_collection_options: "Offer instalments or a deposit with the rest paid later, but not both."
8165
+ };
8166
+ function buildBookingPaymentOptionSchemas(object) {
8167
+ const instalmentPlan = createInstalmentPlanSchema(object);
8168
+ const flexibleBalance = createFlexibleBalanceSchemas(object);
8169
+ const paymentCollectionOption = z.discriminatedUnion("kind", [
8170
+ object({ kind: z.literal("upfront") }),
8171
+ object({ kind: z.literal("deferred_manual") }),
8172
+ object({
8173
+ kind: z.literal("instalment_plan"),
8174
+ plan: instalmentPlan
8175
+ }),
8176
+ object({
8177
+ kind: z.literal("flexible_balance"),
8178
+ config: flexibleBalance.config
8179
+ })
8180
+ ]);
8181
+ const paymentTerms = object({ allowedOptions: z.array(paymentCollectionOption) }).superRefine(({ allowedOptions }, ctx) => {
8182
+ const result = validateBookingPaymentOptionKinds(allowedOptions.map(({ kind }) => kind));
8183
+ if (!result.ok) ctx.addIssue({
8184
+ code: "custom",
8185
+ path: ["allowedOptions"],
8186
+ message: paymentOptionKindsMessages[result.error]
8187
+ });
8188
+ });
8189
+ const paymentOptionsChoice = z.discriminatedUnion("source", [z.strictObject({ source: z.literal("default") }), z.strictObject({
8190
+ source: z.literal("custom"),
8191
+ paymentTerms
8192
+ })]);
8193
+ return {
8194
+ depositRefundPolicy: depositRefundPolicySchema,
8195
+ instalmentPlan,
8196
+ flexibleBalanceDueDateRule: flexibleBalance.dueDateRule,
8197
+ flexibleBalanceConfig: flexibleBalance.config,
8198
+ paymentCollectionOption,
8199
+ paymentTerms,
8200
+ paymentOptionsChoice
8201
+ };
8202
+ }
8203
+ function createBookingPaymentOptionSchemas(mode) {
8204
+ return mode === "strict" ? buildBookingPaymentOptionSchemas(strictObject) : buildBookingPaymentOptionSchemas(stripObject);
8205
+ }
8206
+ const bookingPaymentOptionSchemas = createBookingPaymentOptionSchemas("strip");
8207
+ bookingPaymentOptionSchemas.depositRefundPolicy;
8208
+ bookingPaymentOptionSchemas.instalmentPlan;
8209
+ bookingPaymentOptionSchemas.flexibleBalanceDueDateRule;
8210
+ bookingPaymentOptionSchemas.flexibleBalanceConfig;
8211
+ bookingPaymentOptionSchemas.paymentCollectionOption;
8212
+ const bookingPaymentTermsSchema = bookingPaymentOptionSchemas.paymentTerms;
8213
+ bookingPaymentOptionSchemas.paymentOptionsChoice;
8214
+ //#endregion
8215
+ //#region ../blocks/src/system/blocks/shared/bookingPaymentTerms.ts
8216
+ const blockBookingPaymentTermsSchema = bookingPaymentTermsSchema;
8160
8217
  //#endregion
8161
8218
  //#region ../blocks/src/system/blocks/shared/bookingConsent.ts
8162
8219
  const blockBookingConsentSchema = z.object({
@@ -11392,7 +11449,8 @@ const CLIENT_ERROR_REPORT_LIMITS = {
11392
11449
  stack: 8e3,
11393
11450
  digest: 128,
11394
11451
  componentStack: 8e3,
11395
- sourceLocation: 1024
11452
+ sourceLocation: 1024,
11453
+ navigationAgeMs: 6e4
11396
11454
  };
11397
11455
  const clientErrorEventSchema = z.enum([
11398
11456
  "dashboard:route-error",
@@ -11409,7 +11467,17 @@ z.object({
11409
11467
  stack: z.string().max(CLIENT_ERROR_REPORT_LIMITS.stack).nullable(),
11410
11468
  digest: z.string().max(CLIENT_ERROR_REPORT_LIMITS.digest).nullable(),
11411
11469
  componentStack: z.string().max(CLIENT_ERROR_REPORT_LIMITS.componentStack).nullable(),
11412
- sourceLocation: z.string().max(CLIENT_ERROR_REPORT_LIMITS.sourceLocation).nullable()
11470
+ sourceLocation: z.string().max(CLIENT_ERROR_REPORT_LIMITS.sourceLocation).nullable(),
11471
+ navigation: z.object({
11472
+ fromPathname: z.string().regex(/^\/[^?#]*$/).max(CLIENT_ERROR_REPORT_LIMITS.pathname),
11473
+ toPathname: z.string().regex(/^\/[^?#]*$/).max(CLIENT_ERROR_REPORT_LIMITS.pathname),
11474
+ type: z.enum([
11475
+ "push",
11476
+ "replace",
11477
+ "traverse"
11478
+ ]),
11479
+ ageMs: z.number().int().min(0).max(CLIENT_ERROR_REPORT_LIMITS.navigationAgeMs)
11480
+ }).strict().nullable().optional()
11413
11481
  }).strict();
11414
11482
  ({
11415
11483
  ...SITE_LIFECYCLE_ENDPOINT_DEFINITIONS,
@@ -29947,7 +30015,7 @@ const publicPassProductCollectionSchema = z.object({ passes: z.array(publicPassP
29947
30015
  /**
29948
30016
  * Public membership product for shop display
29949
30017
  */
29950
- const publicMembershipProductSchema = z.object({
30018
+ const publicMembershipProductFields = {
29951
30019
  id: z.string(),
29952
30020
  name: z.string(),
29953
30021
  description: z.string().nullable(),
@@ -29956,7 +30024,16 @@ const publicMembershipProductSchema = z.object({
29956
30024
  billingInterval: z.enum(["month", "year"]),
29957
30025
  eligibleCategoryIds: z.array(z.string()),
29958
30026
  eligibleCategoryNames: z.array(z.string())
30027
+ };
30028
+ const purchasablePublicMembershipProductSchema = z.object({
30029
+ ...publicMembershipProductFields,
30030
+ purchaseAvailability: z.literal("purchasable")
29959
30031
  });
30032
+ const publicMembershipProductSchema = z.discriminatedUnion("purchaseAvailability", [purchasablePublicMembershipProductSchema, z.object({
30033
+ ...publicMembershipProductFields,
30034
+ purchaseAvailability: z.literal("display_only"),
30035
+ unavailabilityReason: z.literal("online_payments_unavailable")
30036
+ })]);
29960
30037
  const publicMembershipProductCollectionSchema = z.object({ memberships: z.array(publicMembershipProductSchema) });
29961
30038
  //#endregion
29962
30039
  //#region ../blocks/src/system/blocks/event-registration.shared.ts
@@ -35753,7 +35830,7 @@ function buildPassesMembershipsDisplay(options) {
35753
35830
  product: pass
35754
35831
  } : {
35755
35832
  kind: "unavailable",
35756
- label: "Online purchasing coming soon."
35833
+ label: "Online purchasing is unavailable."
35757
35834
  }
35758
35835
  };
35759
35836
  });
@@ -35763,7 +35840,14 @@ function buildPassesMembershipsDisplay(options) {
35763
35840
  description: options.showDescriptions ? membership.description : null,
35764
35841
  priceLabel: formatCommercePrice(membership.price, membership.currency),
35765
35842
  intervalLabel: formatInterval(membership.billingInterval),
35766
- actionLabel: options.membershipActionLabel
35843
+ action: membership.purchaseAvailability === "purchasable" ? {
35844
+ kind: "purchase",
35845
+ label: options.membershipActionLabel,
35846
+ product: membership
35847
+ } : {
35848
+ kind: "unavailable",
35849
+ label: "Online purchasing is unavailable."
35850
+ }
35767
35851
  }));
35768
35852
  return {
35769
35853
  kind: "passes-memberships",
@@ -35983,7 +36067,14 @@ const membershipCardDisplaySchema = z.object({
35983
36067
  description: z.string().nullable(),
35984
36068
  priceLabel: z.string(),
35985
36069
  intervalLabel: z.string(),
35986
- actionLabel: z.string()
36070
+ action: z.discriminatedUnion("kind", [z.object({
36071
+ kind: z.literal("purchase"),
36072
+ label: z.string(),
36073
+ product: purchasablePublicMembershipProductSchema
36074
+ }), z.object({
36075
+ kind: z.literal("unavailable"),
36076
+ label: z.string()
36077
+ })])
35987
36078
  });
35988
36079
  const passesMembershipsDisplaySchema = z.object({
35989
36080
  kind: z.literal("passes-memberships"),
@@ -40818,6 +40909,7 @@ const CANONICAL_REFUND_PLANNER_ERROR_CODES = [
40818
40909
  "refund_failed"
40819
40910
  ];
40820
40911
  const CANONICAL_ADMIN_REFUND_FAILURE_CODES = [
40912
+ "refund_blocked_by_live_payment_terms",
40821
40913
  ...CANONICAL_REFUND_PLANNER_ERROR_CODES,
40822
40914
  "payment_intent_not_found",
40823
40915
  "stripe_error",
@@ -40833,6 +40925,7 @@ const CANONICAL_ADMIN_REFUND_FAILURE_CODES = [
40833
40925
  //#endregion
40834
40926
  //#region ../api/src/bookingRefundOutcomes.ts
40835
40927
  const STANDARD_LINE_ITEM_REFUND_INVALID_CODES = [
40928
+ "refund_blocked_by_live_payment_terms",
40836
40929
  "missing_amount",
40837
40930
  "invalid_amount",
40838
40931
  "amount_exceeds_remaining",
@@ -41222,68 +41315,6 @@ function parsePublicProductCategorySelector(value) {
41222
41315
  }
41223
41316
  z.enum(["public", "unlisted"], { error: "visibility must be 'public' or 'unlisted'" });
41224
41317
  //#endregion
41225
- //#region ../api/src/bookingPaymentTermSchemas.ts
41226
- const bookingDepositRefundPolicySchema = z.enum(["refundable", "non_refundable"]);
41227
- const bookingInstalmentPlanSchema = z.discriminatedUnion("kind", [
41228
- z.object({
41229
- kind: z.literal("deposit_plus_one_remainder"),
41230
- depositAmountCents: z.number().int().nonnegative(),
41231
- depositRefundability: bookingDepositRefundPolicySchema,
41232
- remainderDueCount: z.number().int().positive(),
41233
- intervalUnit: z.enum([
41234
- "day",
41235
- "week",
41236
- "month"
41237
- ])
41238
- }),
41239
- z.object({
41240
- kind: z.literal("deposit_plus_scheduled_instalments"),
41241
- depositAmountCents: z.number().int().nonnegative(),
41242
- depositRefundability: bookingDepositRefundPolicySchema,
41243
- instalmentCount: z.number().int().positive(),
41244
- intervalCount: z.number().int().positive(),
41245
- intervalUnit: z.enum([
41246
- "day",
41247
- "week",
41248
- "month"
41249
- ])
41250
- }),
41251
- z.object({
41252
- kind: z.literal("equal_scheduled_instalments"),
41253
- instalmentCount: z.number().int().positive(),
41254
- intervalCount: z.number().int().positive(),
41255
- intervalUnit: z.enum([
41256
- "day",
41257
- "week",
41258
- "month"
41259
- ])
41260
- })
41261
- ]);
41262
- const bookingFlexibleBalanceDueDateRuleSchema = z.discriminatedUnion("kind", [z.object({
41263
- kind: z.literal("relative_to_start_date"),
41264
- daysBeforeStart: z.number().int().positive()
41265
- }), z.object({
41266
- kind: z.literal("fixed_calendar_date"),
41267
- dueAt: z.string().datetime()
41268
- })]);
41269
- const bookingFlexibleBalanceConfigSchema = z.object({
41270
- upfrontAmountCents: z.number().int().nonnegative(),
41271
- dueDateRule: bookingFlexibleBalanceDueDateRuleSchema,
41272
- depositRefundability: bookingDepositRefundPolicySchema
41273
- });
41274
- z.discriminatedUnion("kind", [
41275
- z.object({ kind: z.literal("upfront") }),
41276
- z.object({ kind: z.literal("deferred_manual") }),
41277
- z.object({
41278
- kind: z.literal("instalment_plan"),
41279
- plan: bookingInstalmentPlanSchema
41280
- }),
41281
- z.object({
41282
- kind: z.literal("flexible_balance"),
41283
- config: bookingFlexibleBalanceConfigSchema
41284
- })
41285
- ]);
41286
- //#endregion
41287
41318
  //#region ../api/src/aiPlayground.ts
41288
41319
  /**
41289
41320
  * RFC-6902 JSON Patch Operations
@@ -2769,7 +2769,8 @@ const CLIENT_ERROR_REPORT_LIMITS = {
2769
2769
  stack: 8e3,
2770
2770
  digest: 128,
2771
2771
  componentStack: 8e3,
2772
- sourceLocation: 1024
2772
+ sourceLocation: 1024,
2773
+ navigationAgeMs: 6e4
2773
2774
  };
2774
2775
  const clientErrorEventSchema = z.enum([
2775
2776
  "dashboard:route-error",
@@ -2786,7 +2787,17 @@ z.object({
2786
2787
  stack: z.string().max(CLIENT_ERROR_REPORT_LIMITS.stack).nullable(),
2787
2788
  digest: z.string().max(CLIENT_ERROR_REPORT_LIMITS.digest).nullable(),
2788
2789
  componentStack: z.string().max(CLIENT_ERROR_REPORT_LIMITS.componentStack).nullable(),
2789
- sourceLocation: z.string().max(CLIENT_ERROR_REPORT_LIMITS.sourceLocation).nullable()
2790
+ sourceLocation: z.string().max(CLIENT_ERROR_REPORT_LIMITS.sourceLocation).nullable(),
2791
+ navigation: z.object({
2792
+ fromPathname: z.string().regex(/^\/[^?#]*$/).max(CLIENT_ERROR_REPORT_LIMITS.pathname),
2793
+ toPathname: z.string().regex(/^\/[^?#]*$/).max(CLIENT_ERROR_REPORT_LIMITS.pathname),
2794
+ type: z.enum([
2795
+ "push",
2796
+ "replace",
2797
+ "traverse"
2798
+ ]),
2799
+ ageMs: z.number().int().min(0).max(CLIENT_ERROR_REPORT_LIMITS.navigationAgeMs)
2800
+ }).strict().nullable().optional()
2790
2801
  }).strict();
2791
2802
  const API_ENDPOINTS$1 = {
2792
2803
  ...SITE_LIFECYCLE_ENDPOINT_DEFINITIONS,
@@ -6543,24 +6554,6 @@ const API_ENDPOINTS$1 = {
6543
6554
  "server:internal_error"
6544
6555
  ]
6545
6556
  },
6546
- syncBookingPassWithStripe: {
6547
- path: "/sites/{siteId}/bookings/passes/{passId}/sync-stripe",
6548
- method: "POST",
6549
- tags: [
6550
- "site-{siteId}",
6551
- "passes-{siteId}",
6552
- "pass-{passId}"
6553
- ],
6554
- auth: "user",
6555
- responseKind: "json",
6556
- errors: [
6557
- "validation:invalid_input",
6558
- "auth:forbidden",
6559
- "resource:not_found",
6560
- "resource:conflict",
6561
- "server:internal_error"
6562
- ]
6563
- },
6564
6557
  refundCustomerPass: {
6565
6558
  path: "/sites/{siteId}/bookings/customer-passes/{customerPassId}/refund",
6566
6559
  method: "POST",
@@ -8024,7 +8017,7 @@ const API_ENDPOINTS$1 = {
8024
8017
  ]
8025
8018
  },
8026
8019
  cancelFlexibleBalanceBookingDueToNonPayment: {
8027
- path: "/sites/{siteId}/shop/orders/{orderId}/items/{orderItemId}/flexible-balance/cancel-due-to-non-payment",
8020
+ path: "/sites/{siteId}/shop/orders/{orderId}/flexible-balance/cancel-due-to-non-payment",
8028
8021
  method: "POST",
8029
8022
  auth: "user",
8030
8023
  responseKind: "json",
@@ -8035,7 +8028,7 @@ const API_ENDPOINTS$1 = {
8035
8028
  ]
8036
8029
  },
8037
8030
  reopenFlexibleBalanceBookingAfterNonPaymentCancellation: {
8038
- path: "/sites/{siteId}/shop/orders/{orderId}/items/{orderItemId}/flexible-balance/reopen",
8031
+ path: "/sites/{siteId}/shop/orders/{orderId}/flexible-balance/reopen",
8039
8032
  method: "POST",
8040
8033
  auth: "user",
8041
8034
  responseKind: "json",
@@ -8540,14 +8533,14 @@ async function parseSuccessResponse(endpoint, response, config) {
8540
8533
  default: return buildSuccessEnvelope(void 0, requestId);
8541
8534
  }
8542
8535
  }
8543
- function createRawCMSClient(headers = {}, baseUrl) {
8536
+ function createRawCMSClient(getHeaders = () => ({}), baseUrl) {
8544
8537
  return ({ endpoint, body, params, options = {} }) => {
8545
8538
  const plan = buildApiRequestPlan({
8546
8539
  endpoint,
8547
8540
  body,
8548
8541
  params,
8549
8542
  options,
8550
- headers,
8543
+ headers: getHeaders(),
8551
8544
  baseUrl: normalizeCmsApiBaseUrl(baseUrl ?? resolveApiBaseUrl()),
8552
8545
  sdkVersion
8553
8546
  });
@@ -8653,13 +8646,13 @@ function createParsedClient(rawClient) {
8653
8646
  };
8654
8647
  }
8655
8648
  function createCMSClient(headers = {}, baseUrl) {
8656
- return createParsedClient(createRawCMSClient(headers, baseUrl));
8649
+ return createParsedClient(createRawCMSClient(() => headers, baseUrl));
8657
8650
  }
8658
8651
  function createInternalAPIClient(baseUrl) {
8659
8652
  return createCMSClient({}, baseUrl);
8660
8653
  }
8661
8654
  function createBearerAPIClient(token, baseUrl) {
8662
- return createCMSClient({ Authorization: `Bearer ${token}` }, baseUrl);
8655
+ return createParsedClient(createRawCMSClient(() => ({ Authorization: `Bearer ${typeof token === "function" ? token() : token}` }), baseUrl));
8663
8656
  }
8664
8657
  //#endregion
8665
8658
  //#region src/client/cache.ts
@@ -8773,7 +8766,7 @@ var SimpleCache = class {
8773
8766
  * 1. This constant
8774
8767
  * 2. The "version" field in package.json
8775
8768
  */
8776
- const SDK_VERSION = "0.148.0";
8769
+ const SDK_VERSION = "0.149.0";
8777
8770
  //#endregion
8778
8771
  //#region src/client/error.ts
8779
8772
  let _Symbol$for;