@riverbankcms/sdk 0.78.0 → 0.78.2
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.
- package/README.md +45 -43
- package/dist/{PreviewEditorSidebar-RIKFQ72L.mjs → PreviewEditorSidebar-4DXLYX2V.mjs} +29 -21
- package/dist/{PreviewEditorUI-XO7TUWKK.mjs → PreviewEditorUI-CS5P4N3P.mjs} +4 -4
- package/dist/SdkPreviewModeRuntime-IJDHTW4W.mjs +8 -0
- package/dist/_dts/ai/src/contracts/proposals.d.ts +36 -0
- package/dist/_dts/api/src/contentRuntime.d.ts +1 -0
- package/dist/_dts/api/src/endpoints.d.ts +9 -0
- package/dist/_dts/api/src/index.d.ts +3 -3
- package/dist/_dts/api/src/public/types.d.ts +1 -1
- package/dist/_dts/api/src/request.d.ts +3 -11
- package/dist/_dts/api/src/sdkConfig/contracts.d.ts +1 -0
- package/dist/_dts/api/src/sdkContracts.d.ts +7 -1
- package/dist/_dts/api/src/siteManagementEndpoints.d.ts +10 -0
- package/dist/_dts/api/src/sitePlatformEndpoints.d.ts +1 -0
- package/dist/_dts/api/src/siteRuntimeEndpoints.d.ts +15 -19
- package/dist/_dts/api/src/types.d.ts +11 -26
- package/dist/_dts/block-form/src/fields/types.d.ts +6 -0
- package/dist/_dts/block-form/src/widgets/RepeaterField/components/RepeaterList.d.ts +3 -2
- package/dist/_dts/block-form/src/widgets/RepeaterField/components/RepeaterRow.d.ts +6 -3
- package/dist/_dts/block-form/src/widgets/RepeaterField/components/RepeaterRowActions.d.ts +8 -3
- package/dist/_dts/block-form/src/widgets/RepeaterField/hooks/index.d.ts +1 -1
- package/dist/_dts/block-form/src/widgets/RepeaterField/hooks/useLinearRepeaterDnd.d.ts +1 -0
- package/dist/_dts/block-form/src/widgets/RepeaterField/hooks/useRepeaterPointerDragCapability.d.ts +1 -0
- package/dist/_dts/block-form/src/widgets/RepeaterField/hooks/useResolvedItemLabel.d.ts +7 -0
- package/dist/_dts/block-form/src/widgets/RepeaterField/utils/buildSummary.d.ts +1 -0
- package/dist/_dts/block-form/src/widgets/RepeaterField/utils/index.d.ts +3 -1
- package/dist/_dts/block-form/src/widgets/RepeaterField/utils/repeaterDndDomain.d.ts +1 -1
- package/dist/_dts/block-form/src/widgets/RepeaterField/utils/repeaterLabelSource.d.ts +15 -0
- package/dist/_dts/block-form/src/widgets/RepeaterField/utils/repeaterRowActionsDomain.d.ts +50 -0
- package/dist/_dts/blocks/src/system/blocks/appointment-booking.d.ts +591 -0
- package/dist/_dts/blocks/src/system/blocks/blog-listing.d.ts +591 -0
- package/dist/_dts/blocks/src/system/blocks/cart.d.ts +591 -0
- package/dist/_dts/blocks/src/system/blocks/checkout.d.ts +591 -0
- package/dist/_dts/blocks/src/system/blocks/collection.d.ts +591 -0
- package/dist/_dts/blocks/src/system/blocks/faq.d.ts +591 -0
- package/dist/_dts/blocks/src/system/blocks/gifting.d.ts +591 -0
- package/dist/_dts/blocks/src/system/blocks/location-map.d.ts +2 -0
- package/dist/_dts/blocks/src/system/blocks/media-text.d.ts +47 -0
- package/dist/_dts/blocks/src/system/blocks/product-detail.d.ts +591 -0
- package/dist/_dts/blocks/src/system/blocks/product-list.d.ts +591 -0
- package/dist/_dts/blocks/src/system/blocks/shop.d.ts +591 -0
- package/dist/_dts/blocks/src/system/blocks/team-members.d.ts +3 -0
- package/dist/_dts/blocks/src/system/manifest/schema.d.ts +164 -0
- package/dist/_dts/blocks/src/system/runtime/hooks/useHeadlessBookingFlow.state.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.headless.state.d.ts +1 -1
- package/dist/_dts/content-editor/src/index.d.ts +1 -1
- package/dist/_dts/content-editor/src/ui/editorSnapshot.d.ts +2 -2
- package/dist/_dts/content-model/src/content-types/schema.d.ts +14 -0
- package/dist/_dts/content-model/src/templates/bindingTypeCompatibility.d.ts +3 -1
- package/dist/_dts/content-model/src/templates/bindingValidation.d.ts +10 -4
- package/dist/_dts/content-model/src/templates/fieldPaths.d.ts +20 -0
- package/dist/_dts/content-model/src/templates/manifestAdapter.d.ts +5 -2
- package/dist/_dts/core/src/branded.d.ts +108 -85
- package/dist/_dts/core/src/csv-types.d.ts +2 -2
- package/dist/_dts/core/src/editor-state.d.ts +7 -7
- package/dist/_dts/core/src/participants.d.ts +2 -2
- package/dist/_dts/db/src/generated/supabase/database.types.d.ts +11 -0
- package/dist/_dts/editor-blocks/src/blockPayload.d.ts +1 -1
- package/dist/_dts/media-editor/src/MediaEditor.d.ts +3 -1
- package/dist/_dts/media-editor/src/MediaPreview.d.ts +3 -1
- package/dist/_dts/media-editor/src/fieldUi.d.ts +5 -0
- package/dist/_dts/media-editor/src/index.d.ts +1 -1
- package/dist/_dts/sdk/src/cli/commands/push/consts.d.ts +1 -1
- package/dist/_dts/sdk/src/cli/commands/push/metadata.d.ts +2 -0
- package/dist/_dts/sdk/src/cli/commands/push/stale.d.ts +3 -3
- package/dist/_dts/sdk/src/cli/commands/push-execute.d.ts +7 -0
- package/dist/_dts/sdk/src/cli/commands/push.d.ts +2 -0
- package/dist/_dts/sdk/src/cli/content/reader.d.ts +13 -0
- package/dist/_dts/sdk/src/cli/content/writer.d.ts +2 -1
- package/dist/_dts/sdk/src/cli/helpers.d.ts +2 -0
- package/dist/_dts/sdk/src/cli/site-commands/commandKeys.d.ts +6 -6
- package/dist/_dts/sdk/src/cli/site-commands/commandRuntime.d.ts +5 -0
- package/dist/_dts/sdk/src/cli/site-commands/commandSurfaceDispatch.d.ts +4 -0
- package/dist/_dts/sdk/src/cli/site-commands/pageCommands.d.ts +5 -2
- package/dist/_dts/sdk/src/cli/site-commands/pushExecution.d.ts +10 -1
- package/dist/_dts/sdk/src/cli/site-commands/pushExecutionTypes.d.ts +1 -1
- package/dist/_dts/sdk/src/client/management/types.d.ts +6 -0
- package/dist/_dts/sdk/src/client/types.d.ts +2 -2
- package/dist/_dts/sdk/src/config/content-types.d.ts +7 -0
- package/dist/_dts/sdk/src/config/field-definitions.d.ts +2 -0
- package/dist/_dts/sdk/src/version.d.ts +1 -1
- package/dist/_dts/site-commands/src/commands.d.ts +3 -0
- package/dist/{altcha-B5XGSXP5.mjs → altcha-EKUEQ4RP.mjs} +1 -1
- package/dist/{chunk-NIDXI46P.mjs → chunk-4QEGTLK6.mjs} +1 -1
- package/dist/{chunk-TXDES5P2.mjs → chunk-6HYXHRAI.mjs} +5 -5
- package/dist/{chunk-SVMMM2NA.mjs → chunk-CR5HKAGU.mjs} +24 -5
- package/dist/{chunk-OECWLDHN.mjs → chunk-MCRQMPET.mjs} +1030 -588
- package/dist/{chunk-SXOLGNMX.mjs → chunk-OKMBEAXY.mjs} +1 -1
- package/dist/{chunk-XGB3TDIC.mjs → chunk-R7POPVJR.mjs} +2 -8
- package/dist/{chunk-F7RTCZYN.mjs → chunk-RGTOD4AJ.mjs} +20 -14
- package/dist/cli/index.mjs +681 -225
- package/dist/cli/init-docs/content/cli-reference.md +3 -2
- package/dist/cli/init-docs/content/content-management.md +2 -2
- package/dist/cli/init-docs/content/workflow-preview-mode.md +68 -2
- package/dist/client/{accordion-EVDEOUPR.mjs → accordion-PLYNJIIM.mjs} +2 -2
- package/dist/client/analytics.mjs +1 -1
- package/dist/client/{bookingForm-DIHBLC64.mjs → bookingForm-BXAP6AO7.mjs} +55 -48
- package/dist/client/bookings.mjs +62 -55
- package/dist/client/{carousel-FEBQHIWI.mjs → carousel-TRBXDHGF.mjs} +3 -3
- package/dist/client/{cart-7CKSXAE4.mjs → cart-Z7H3HJRS.mjs} +7 -7
- package/dist/client/{checkout-WKYCANLV.mjs → checkout-WAFCUBIX.mjs} +7 -7
- package/dist/client/{chunk-OFMSCGNY.mjs → chunk-75OUS5MT.mjs} +2 -2
- package/dist/client/{chunk-IVNCUVAV.mjs → chunk-AUJ5DBZJ.mjs} +18 -18
- package/dist/client/{chunk-36WJCERQ.mjs → chunk-CE7IBGVW.mjs} +3 -1
- package/dist/client/{chunk-RZDWX7QW.mjs → chunk-CWGTG37I.mjs} +1 -1
- package/dist/client/{chunk-YDSEG6GZ.mjs → chunk-DNRGY432.mjs} +2 -2
- package/dist/client/{chunk-RV6FX7UH.mjs → chunk-FUXW6VW2.mjs} +9 -9
- package/dist/client/{chunk-65F47D7Y.mjs → chunk-JGXPTEI2.mjs} +43 -36
- package/dist/client/{chunk-GUK2FPXQ.mjs → chunk-JRDUHZCT.mjs} +37 -15
- package/dist/client/{chunk-VPPMNXCF.mjs → chunk-UVQEJJTN.mjs} +2 -2
- package/dist/client/{chunk-F7LHOKEH.mjs → chunk-XSV6KW4D.mjs} +1 -1
- package/dist/client/{chunk-PD6NBCEY.mjs → chunk-ZFHRN6W2.mjs} +1 -1
- package/dist/client/{chunk-2SAVKN2M.mjs → chunk-ZI3LLBPZ.mjs} +2 -2
- package/dist/client/client.mjs +249 -160
- package/dist/client/{courseRegistration-5QF2PHKM.mjs → courseRegistration-AHFQHWIJ.mjs} +10 -10
- package/dist/client/{eventCalendar-4ZOSETDU.mjs → eventCalendar-LDXTV5R7.mjs} +9 -9
- package/dist/client/{eventCombined-WQGU7JUX.mjs → eventCombined-A4JGTNJO.mjs} +9 -9
- package/dist/client/{eventDetails-AYWVUJ5Y.mjs → eventDetails-4YXTZ7EG.mjs} +9 -9
- package/dist/client/{eventListing-NT7C6UT5.mjs → eventListing-P72TPFFM.mjs} +9 -9
- package/dist/client/{eventRegistration-OH24F4ZJ.mjs → eventRegistration-LSYJHGMT.mjs} +9 -9
- package/dist/client/{form-7L42SRBB.mjs → form-AOPYOKOW.mjs} +6 -3
- package/dist/client/{headerSection-OZRZNZ52.mjs → headerSection-5TFYDFVQ.mjs} +3 -3
- package/dist/client/hooks.mjs +78 -48
- package/dist/client/{locationMap-ZBXRPQ7C.mjs → locationMap-QSZ3ZVAZ.mjs} +3 -3
- package/dist/client/{newsletterForm-SNAGFF2I.mjs → newsletterForm-KTRHZY52.mjs} +2 -2
- package/dist/client/{productDetail-I46BOFGV.mjs → productDetail-N4E775RG.mjs} +7 -7
- package/dist/client/{productList-BOYHTYI6.mjs → productList-UGUQ2S45.mjs} +7 -7
- package/dist/client/rendering/client.mjs +173 -131
- package/dist/client/rendering/islands.mjs +19 -19
- package/dist/client/rendering.mjs +230 -150
- package/dist/client/{shop-XTXPZTKR.mjs → shop-VHSZEEQ2.mjs} +7 -7
- package/dist/preview-next/before-render.mjs +10 -1
- package/dist/preview-next/client/runtime.mjs +6 -6
- package/dist/preview-next/middleware.mjs +10 -1
- package/dist/preview-next/tailwind-sources.css +1 -0
- package/dist/sdk-runtime-WHPJEF5G.mjs +8 -0
- package/dist/server/components.mjs +101 -54
- package/dist/server/config-template-validation.mjs +221 -15
- package/dist/server/config-validation.mjs +76 -42
- package/dist/server/config.mjs +76 -42
- package/dist/server/data.mjs +77 -47
- package/dist/server/index.mjs +31 -10
- package/dist/server/next.mjs +133 -71
- package/dist/server/page-converter.mjs +60 -40
- package/dist/server/prebuild.mjs +1 -1
- package/dist/server/rendering/server.mjs +107 -60
- package/dist/server/rendering.mjs +111 -61
- package/dist/server/routing.mjs +93 -63
- package/dist/server/server.mjs +102 -57
- package/package.json +1 -1
- package/dist/SdkPreviewModeRuntime-LAGYMPNF.mjs +0 -8
- package/dist/sdk-runtime-ZJLKC6DR.mjs +0 -8
|
@@ -2783,20 +2783,33 @@ var init_sanitizeHref = __esm({
|
|
|
2783
2783
|
}
|
|
2784
2784
|
});
|
|
2785
2785
|
|
|
2786
|
+
// ../core/src/result.ts
|
|
2787
|
+
function ok(value) {
|
|
2788
|
+
return { ok: true, value };
|
|
2789
|
+
}
|
|
2790
|
+
function err(error) {
|
|
2791
|
+
return { ok: false, error };
|
|
2792
|
+
}
|
|
2793
|
+
var init_result = __esm({
|
|
2794
|
+
"../core/src/result.ts"() {
|
|
2795
|
+
"use strict";
|
|
2796
|
+
}
|
|
2797
|
+
});
|
|
2798
|
+
|
|
2786
2799
|
// ../core/src/branded.ts
|
|
2787
|
-
var
|
|
2800
|
+
var unsafeAsMediaAssetId, unsafeAsStorageBucketName, unsafeAsPositiveByteCount, unsafeAsPositiveSeconds, unsafeAsFormId, unsafeAsPassId, unsafeAsCustomerPassId, unsafeAsAppointmentServiceId, unsafeAsAppointmentResourceId;
|
|
2788
2801
|
var init_branded = __esm({
|
|
2789
2802
|
"../core/src/branded.ts"() {
|
|
2790
2803
|
"use strict";
|
|
2791
|
-
|
|
2792
|
-
|
|
2804
|
+
unsafeAsMediaAssetId = (id) => id;
|
|
2805
|
+
unsafeAsStorageBucketName = (value) => value;
|
|
2793
2806
|
unsafeAsPositiveByteCount = (value) => value;
|
|
2794
2807
|
unsafeAsPositiveSeconds = (value) => value;
|
|
2795
|
-
|
|
2796
|
-
|
|
2797
|
-
|
|
2798
|
-
|
|
2799
|
-
|
|
2808
|
+
unsafeAsFormId = (id) => id;
|
|
2809
|
+
unsafeAsPassId = (id) => id;
|
|
2810
|
+
unsafeAsCustomerPassId = (id) => id;
|
|
2811
|
+
unsafeAsAppointmentServiceId = (id) => id;
|
|
2812
|
+
unsafeAsAppointmentResourceId = (id) => id;
|
|
2800
2813
|
}
|
|
2801
2814
|
});
|
|
2802
2815
|
|
|
@@ -3021,19 +3034,6 @@ var init_booking_instalments = __esm({
|
|
|
3021
3034
|
}
|
|
3022
3035
|
});
|
|
3023
3036
|
|
|
3024
|
-
// ../core/src/result.ts
|
|
3025
|
-
function ok(value) {
|
|
3026
|
-
return { ok: true, value };
|
|
3027
|
-
}
|
|
3028
|
-
function err(error) {
|
|
3029
|
-
return { ok: false, error };
|
|
3030
|
-
}
|
|
3031
|
-
var init_result = __esm({
|
|
3032
|
-
"../core/src/result.ts"() {
|
|
3033
|
-
"use strict";
|
|
3034
|
-
}
|
|
3035
|
-
});
|
|
3036
|
-
|
|
3037
3037
|
// ../core/src/booking-date-time.ts
|
|
3038
3038
|
function isValidTimeZone(timeZone) {
|
|
3039
3039
|
try {
|
|
@@ -3641,15 +3641,15 @@ var init_fileStorage = __esm({
|
|
|
3641
3641
|
"use strict";
|
|
3642
3642
|
init_src();
|
|
3643
3643
|
FILE_STORAGE_BUCKETS = {
|
|
3644
|
-
publicSite:
|
|
3645
|
-
privateSite:
|
|
3646
|
-
temporary:
|
|
3644
|
+
publicSite: unsafeAsStorageBucketName("media"),
|
|
3645
|
+
privateSite: unsafeAsStorageBucketName("site-files-private"),
|
|
3646
|
+
temporary: unsafeAsStorageBucketName("temp-uploads")
|
|
3647
3647
|
};
|
|
3648
3648
|
PUBLIC_SITE_FILE_STORAGE_BUCKETS = [
|
|
3649
3649
|
FILE_STORAGE_BUCKETS.publicSite,
|
|
3650
3650
|
// Existing site logo and font uploads predate the unified file buckets.
|
|
3651
|
-
|
|
3652
|
-
|
|
3651
|
+
unsafeAsStorageBucketName("site-assets"),
|
|
3652
|
+
unsafeAsStorageBucketName("site-fonts")
|
|
3653
3653
|
];
|
|
3654
3654
|
PRIVATE_SITE_FILE_BUCKET_MIME_TYPES = [
|
|
3655
3655
|
"application/pdf",
|
|
@@ -4150,14 +4150,14 @@ function rotateNormalizedPoint(point, rotation) {
|
|
|
4150
4150
|
const x = point.x;
|
|
4151
4151
|
const y = point.y;
|
|
4152
4152
|
switch (rotation) {
|
|
4153
|
+
case 0:
|
|
4154
|
+
return { x, y };
|
|
4153
4155
|
case 90:
|
|
4154
4156
|
return { x: 1 - y, y: x };
|
|
4155
4157
|
case 180:
|
|
4156
4158
|
return { x: 1 - x, y: 1 - y };
|
|
4157
4159
|
case 270:
|
|
4158
4160
|
return { x: y, y: 1 - x };
|
|
4159
|
-
default:
|
|
4160
|
-
return { x, y };
|
|
4161
4161
|
}
|
|
4162
4162
|
}
|
|
4163
4163
|
var init_rotation = __esm({
|
|
@@ -4825,7 +4825,7 @@ function getProxyImageUrl(value, options, transformAspectRatio, resolved) {
|
|
|
4825
4825
|
if (!shouldUseExplicitRectProxy(value, options, resolvedTransform, sourceWidth, sourceHeight)) return void 0;
|
|
4826
4826
|
const params = buildProxyTransformParams(options, resolvedTransform);
|
|
4827
4827
|
const proxyBasePath = getImageProxyBasePath();
|
|
4828
|
-
const proxyUrl = getImageUrl({ id:
|
|
4828
|
+
const proxyUrl = getImageUrl({ id: unsafeAsMediaAssetId(value.assetId) }, params, proxyBasePath);
|
|
4829
4829
|
debugMediaNodeLog("resolve:proxy-img", { assetId: value.assetId, params, proxyBasePath, proxyUrl });
|
|
4830
4830
|
return proxyUrl;
|
|
4831
4831
|
}
|
|
@@ -6733,6 +6733,8 @@ var init_types6 = __esm({
|
|
|
6733
6733
|
import { jsx as jsx19, jsxs as jsxs6 } from "react/jsx-runtime";
|
|
6734
6734
|
function resolveColorStyle(color) {
|
|
6735
6735
|
switch (color) {
|
|
6736
|
+
case void 0:
|
|
6737
|
+
return void 0;
|
|
6736
6738
|
case "inherit":
|
|
6737
6739
|
return { color: "inherit" };
|
|
6738
6740
|
case "foreground":
|
|
@@ -10234,10 +10236,10 @@ function normalizeEventCategoryIds(value) {
|
|
|
10234
10236
|
if (Array.isArray(value)) {
|
|
10235
10237
|
return normalizeIdList(
|
|
10236
10238
|
value.filter((entry) => typeof entry === "string")
|
|
10237
|
-
).map(
|
|
10239
|
+
).map(unsafeAsEventCategoryId);
|
|
10238
10240
|
}
|
|
10239
10241
|
if (typeof value === "string") {
|
|
10240
|
-
return normalizeIdList(value.split(",")).map(
|
|
10242
|
+
return normalizeIdList(value.split(",")).map(unsafeAsEventCategoryId);
|
|
10241
10243
|
}
|
|
10242
10244
|
return [];
|
|
10243
10245
|
}
|
|
@@ -10250,7 +10252,7 @@ function normalizeEventVenueId(value) {
|
|
|
10250
10252
|
return null;
|
|
10251
10253
|
}
|
|
10252
10254
|
const trimmed = value.trim();
|
|
10253
|
-
return trimmed ?
|
|
10255
|
+
return trimmed ? unsafeAsVenueId(trimmed) : null;
|
|
10254
10256
|
}
|
|
10255
10257
|
function normalizeEventStaffMemberId(value) {
|
|
10256
10258
|
if (typeof value !== "string") {
|
|
@@ -10259,7 +10261,7 @@ function normalizeEventStaffMemberId(value) {
|
|
|
10259
10261
|
const trimmed = value.trim();
|
|
10260
10262
|
return trimmed ? trimmed : null;
|
|
10261
10263
|
}
|
|
10262
|
-
var eventBlockKindValues, eventSurfacePresetValues, eventSurfaceScopeValues, eventScheduleScopeValues,
|
|
10264
|
+
var eventBlockKindValues, eventSurfacePresetValues, eventSurfaceScopeValues, eventScheduleScopeValues, unsafeAsEventCategoryId, unsafeAsVenueId;
|
|
10263
10265
|
var init_filtering = __esm({
|
|
10264
10266
|
"../blocks/src/system/blocks/events/shared/filtering.ts"() {
|
|
10265
10267
|
"use strict";
|
|
@@ -10278,8 +10280,8 @@ var init_filtering = __esm({
|
|
|
10278
10280
|
"custom"
|
|
10279
10281
|
];
|
|
10280
10282
|
eventScheduleScopeValues = ["any", "recurring", "oneOff"];
|
|
10281
|
-
|
|
10282
|
-
|
|
10283
|
+
unsafeAsEventCategoryId = (value) => value;
|
|
10284
|
+
unsafeAsVenueId = (value) => value;
|
|
10283
10285
|
}
|
|
10284
10286
|
});
|
|
10285
10287
|
|
|
@@ -16071,6 +16073,8 @@ var init_schema3 = __esm({
|
|
|
16071
16073
|
mediaPickerAutoOpen: z28.boolean().optional(),
|
|
16072
16074
|
showMediaPreview: z28.boolean().optional(),
|
|
16073
16075
|
showMediaOverlayActions: z28.boolean().optional(),
|
|
16076
|
+
mediaPreviewMaxWidth: z28.enum(["xs", "sm", "md", "none"]).optional(),
|
|
16077
|
+
preventMediaPreviewUpscale: z28.boolean().optional(),
|
|
16074
16078
|
mediaDelivery: mediaDeliverySchema.optional(),
|
|
16075
16079
|
mediaDeliveryByVariant: z28.record(z28.string(), mediaDeliverySchema).optional(),
|
|
16076
16080
|
// Optional input hints for validators/widgets
|
|
@@ -16320,6 +16324,9 @@ var init_schema3 = __esm({
|
|
|
16320
16324
|
type: z28.literal("repeater"),
|
|
16321
16325
|
itemLabel: z28.string().default("Item"),
|
|
16322
16326
|
itemLabelSource: z28.string().optional(),
|
|
16327
|
+
showSummary: z28.boolean().optional(),
|
|
16328
|
+
summaryFields: z28.string().array().optional(),
|
|
16329
|
+
summaryMaxChars: z28.number().int().positive().optional(),
|
|
16323
16330
|
minItems: z28.number().int().min(0).default(0),
|
|
16324
16331
|
maxItems: z28.number().int().positive().optional(),
|
|
16325
16332
|
// Monomorphic mode
|
|
@@ -16644,47 +16651,48 @@ function validateFieldDefinitions(fields, fragmentId) {
|
|
|
16644
16651
|
function prefixFieldId(field, scope) {
|
|
16645
16652
|
const cloned = cloneFieldDefinition2(field);
|
|
16646
16653
|
cloned.id = `${scope}.${field.id}`;
|
|
16647
|
-
|
|
16654
|
+
const defaultValue = cloned.defaultValue;
|
|
16655
|
+
cloned.defaultValue = cloneUnknown(defaultValue);
|
|
16648
16656
|
cloned.visibleRoles = cloned.visibleRoles ? [...cloned.visibleRoles] : void 0;
|
|
16649
16657
|
cloned.ui = cloneUnknown(cloned.ui);
|
|
16650
16658
|
return cloned;
|
|
16651
16659
|
}
|
|
16652
16660
|
function cloneFieldDefinition2(field) {
|
|
16653
|
-
|
|
16654
|
-
|
|
16655
|
-
|
|
16656
|
-
|
|
16657
|
-
|
|
16658
|
-
|
|
16659
|
-
|
|
16660
|
-
|
|
16661
|
-
|
|
16662
|
-
|
|
16663
|
-
|
|
16664
|
-
|
|
16665
|
-
|
|
16666
|
-
|
|
16667
|
-
|
|
16668
|
-
|
|
16669
|
-
|
|
16670
|
-
return {
|
|
16671
|
-
...field,
|
|
16672
|
-
schema: {
|
|
16673
|
-
fields: field.schema.fields.map(cloneFieldDefinition2)
|
|
16674
|
-
}
|
|
16675
|
-
};
|
|
16676
|
-
}
|
|
16677
|
-
return { ...field };
|
|
16678
|
-
case "group":
|
|
16661
|
+
if (field.type === "repeater") {
|
|
16662
|
+
if (field.polymorphic && field.itemTypes) {
|
|
16663
|
+
return {
|
|
16664
|
+
...field,
|
|
16665
|
+
polymorphic: true,
|
|
16666
|
+
itemTypes: Object.fromEntries(
|
|
16667
|
+
Object.entries(field.itemTypes).map(([key, itemType]) => [
|
|
16668
|
+
key,
|
|
16669
|
+
{
|
|
16670
|
+
...itemType,
|
|
16671
|
+
fields: itemType.fields.map(cloneFieldDefinition2)
|
|
16672
|
+
}
|
|
16673
|
+
])
|
|
16674
|
+
)
|
|
16675
|
+
};
|
|
16676
|
+
}
|
|
16677
|
+
if (field.schema) {
|
|
16679
16678
|
return {
|
|
16680
16679
|
...field,
|
|
16681
16680
|
schema: {
|
|
16682
16681
|
fields: field.schema.fields.map(cloneFieldDefinition2)
|
|
16683
16682
|
}
|
|
16684
16683
|
};
|
|
16685
|
-
|
|
16686
|
-
|
|
16684
|
+
}
|
|
16685
|
+
return { ...field };
|
|
16686
|
+
}
|
|
16687
|
+
if (field.type === "group") {
|
|
16688
|
+
return {
|
|
16689
|
+
...field,
|
|
16690
|
+
schema: {
|
|
16691
|
+
fields: field.schema.fields.map(cloneFieldDefinition2)
|
|
16692
|
+
}
|
|
16693
|
+
};
|
|
16687
16694
|
}
|
|
16695
|
+
return { ...field };
|
|
16688
16696
|
}
|
|
16689
16697
|
function cloneUnknown(value) {
|
|
16690
16698
|
if (value == null || typeof value !== "object") {
|
|
@@ -19431,7 +19439,8 @@ function createBlockManifestWithContentShape(config, _contentShape) {
|
|
|
19431
19439
|
return createBlockManifest(config);
|
|
19432
19440
|
}
|
|
19433
19441
|
function normalizeBlockLayout(layout) {
|
|
19434
|
-
|
|
19442
|
+
const rawLayout = layout;
|
|
19443
|
+
return Array.isArray(rawLayout) ? rawLayout : rawLayout;
|
|
19435
19444
|
}
|
|
19436
19445
|
function deriveComponentName(id) {
|
|
19437
19446
|
const base = id.replace(/^block\./, "");
|
|
@@ -25047,7 +25056,7 @@ function useAvailableDates({
|
|
|
25047
25056
|
const endDate = formatLocalScheduleDate(
|
|
25048
25057
|
addLocalScheduleDays(parseBookingLocalDate(today), initialDays)
|
|
25049
25058
|
);
|
|
25050
|
-
fetchDates(today, endDate, false);
|
|
25059
|
+
void fetchDates(today, endDate, false);
|
|
25051
25060
|
}, [serviceId, fetchDates, initialDays]);
|
|
25052
25061
|
useVisibleTabPolling({
|
|
25053
25062
|
enabled: Boolean(serviceId && loadedRange),
|
|
@@ -25067,7 +25076,7 @@ function useAvailableDates({
|
|
|
25067
25076
|
BOOKING_FETCH_CHUNK_DAYS
|
|
25068
25077
|
)
|
|
25069
25078
|
);
|
|
25070
|
-
fetchDates(start, end, true);
|
|
25079
|
+
void fetchDates(start, end, true);
|
|
25071
25080
|
}, [fetchDates, isLoading]);
|
|
25072
25081
|
return {
|
|
25073
25082
|
availableDates,
|
|
@@ -25140,7 +25149,7 @@ function useAvailableSlots({
|
|
|
25140
25149
|
setSlots(
|
|
25141
25150
|
result.slots.map((slot) => ({
|
|
25142
25151
|
...slot,
|
|
25143
|
-
resourceId:
|
|
25152
|
+
resourceId: unsafeAsAppointmentResourceId(slot.resourceId)
|
|
25144
25153
|
}))
|
|
25145
25154
|
);
|
|
25146
25155
|
setHasLoaded(true);
|
|
@@ -25337,7 +25346,7 @@ function useDiscountCodeUi(options) {
|
|
|
25337
25346
|
if (!cancelled) setDiscountsAvailableLoading(false);
|
|
25338
25347
|
}
|
|
25339
25348
|
}
|
|
25340
|
-
checkDiscountAvailability();
|
|
25349
|
+
void checkDiscountAvailability();
|
|
25341
25350
|
return () => {
|
|
25342
25351
|
cancelled = true;
|
|
25343
25352
|
};
|
|
@@ -25714,13 +25723,13 @@ function toOptionalBrandedId(value, brand) {
|
|
|
25714
25723
|
return trimmed ? brand(trimmed) : void 0;
|
|
25715
25724
|
}
|
|
25716
25725
|
function toOptionalAppointmentServiceId(value) {
|
|
25717
|
-
return toOptionalBrandedId(value,
|
|
25726
|
+
return toOptionalBrandedId(value, unsafeAsAppointmentServiceId);
|
|
25718
25727
|
}
|
|
25719
25728
|
function toOptionalAppointmentResourceId(value) {
|
|
25720
|
-
return toOptionalBrandedId(value,
|
|
25729
|
+
return toOptionalBrandedId(value, unsafeAsAppointmentResourceId);
|
|
25721
25730
|
}
|
|
25722
25731
|
function toOptionalCustomerPassId(value) {
|
|
25723
|
-
return toOptionalBrandedId(value,
|
|
25732
|
+
return toOptionalBrandedId(value, unsafeAsCustomerPassId);
|
|
25724
25733
|
}
|
|
25725
25734
|
function isBookingFieldValue(value) {
|
|
25726
25735
|
return value === null || typeof value === "string" || typeof value === "number" || typeof value === "boolean" || Array.isArray(value) && value.every((item) => typeof item === "string");
|
|
@@ -25874,7 +25883,7 @@ function toBookingSlotView(slot) {
|
|
|
25874
25883
|
key: `${slot.startAt}|${slot.endAt}|${slot.resourceId}`,
|
|
25875
25884
|
startAt: slot.startAt,
|
|
25876
25885
|
endAt: slot.endAt,
|
|
25877
|
-
resourceId:
|
|
25886
|
+
resourceId: unsafeAsAppointmentResourceId(slot.resourceId),
|
|
25878
25887
|
...slot.resourceName ? { resourceName: slot.resourceName } : {},
|
|
25879
25888
|
...slot.label ? { label: slot.label } : {}
|
|
25880
25889
|
};
|
|
@@ -25996,31 +26005,30 @@ function validateBookingField(field, value) {
|
|
|
25996
26005
|
}
|
|
25997
26006
|
if (isBlankFieldValue(value)) return null;
|
|
25998
26007
|
const strValue = typeof value === "string" ? value : String(value);
|
|
25999
|
-
|
|
26000
|
-
|
|
26001
|
-
|
|
26002
|
-
|
|
26003
|
-
|
|
26004
|
-
|
|
26005
|
-
return null;
|
|
26006
|
-
} catch {
|
|
26007
|
-
return "Please enter a valid URL";
|
|
26008
|
-
}
|
|
26009
|
-
case "tel":
|
|
26010
|
-
return /^[+\d\s\-()]+$/.test(strValue) ? null : "Please enter a valid phone number";
|
|
26011
|
-
case "number": {
|
|
26012
|
-
const num = Number(value);
|
|
26013
|
-
if (Number.isNaN(num)) return "Please enter a valid number";
|
|
26014
|
-
if (field.min !== void 0 && num < field.min) {
|
|
26015
|
-
return `Value must be at least ${field.min}`;
|
|
26016
|
-
}
|
|
26017
|
-
if (field.max !== void 0 && num > field.max) {
|
|
26018
|
-
return `Value must be at most ${field.max}`;
|
|
26019
|
-
}
|
|
26008
|
+
if (field.type === "email") {
|
|
26009
|
+
return /^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(strValue) ? null : "Please enter a valid email address";
|
|
26010
|
+
}
|
|
26011
|
+
if (field.type === "url") {
|
|
26012
|
+
try {
|
|
26013
|
+
new URL(strValue);
|
|
26020
26014
|
return null;
|
|
26015
|
+
} catch {
|
|
26016
|
+
return "Please enter a valid URL";
|
|
26021
26017
|
}
|
|
26022
|
-
|
|
26023
|
-
|
|
26018
|
+
}
|
|
26019
|
+
if (field.type === "tel") {
|
|
26020
|
+
return /^[+\d\s\-()]+$/.test(strValue) ? null : "Please enter a valid phone number";
|
|
26021
|
+
}
|
|
26022
|
+
if (field.type === "number") {
|
|
26023
|
+
const num = Number(value);
|
|
26024
|
+
if (Number.isNaN(num)) return "Please enter a valid number";
|
|
26025
|
+
if (field.min !== void 0 && num < field.min) {
|
|
26026
|
+
return `Value must be at least ${field.min}`;
|
|
26027
|
+
}
|
|
26028
|
+
if (field.max !== void 0 && num > field.max) {
|
|
26029
|
+
return `Value must be at most ${field.max}`;
|
|
26030
|
+
}
|
|
26031
|
+
return null;
|
|
26024
26032
|
}
|
|
26025
26033
|
if (typeof value === "string") {
|
|
26026
26034
|
if (field.minLength && value.length < field.minLength) {
|
|
@@ -26120,7 +26128,7 @@ function buildBookingAvailabilityQuery(input) {
|
|
|
26120
26128
|
}
|
|
26121
26129
|
function deriveBookingFieldViews(input) {
|
|
26122
26130
|
return (input.form?.schema?.fields ?? []).map((field) => {
|
|
26123
|
-
const fieldId =
|
|
26131
|
+
const fieldId = unsafeAsBookingFieldId(field.id);
|
|
26124
26132
|
const inputId = `${input.idPrefix}-${fieldId}`;
|
|
26125
26133
|
const helpTextId = field.helpText ? `${inputId}-help` : null;
|
|
26126
26134
|
const fieldValue = input.values[field.id] ?? null;
|
|
@@ -26277,8 +26285,8 @@ function resolveAppointmentPackagesModel(input) {
|
|
|
26277
26285
|
function toHeadlessEligibleAppointmentPackage(appointmentPackage) {
|
|
26278
26286
|
return {
|
|
26279
26287
|
...appointmentPackage,
|
|
26280
|
-
customerPassId:
|
|
26281
|
-
passId:
|
|
26288
|
+
customerPassId: unsafeAsCustomerPassId(appointmentPackage.customerPassId),
|
|
26289
|
+
passId: unsafeAsPassId(appointmentPackage.passId)
|
|
26282
26290
|
};
|
|
26283
26291
|
}
|
|
26284
26292
|
function resolveHeadlessBookingStatus(input) {
|
|
@@ -26334,14 +26342,14 @@ function omitRecordKey(record, key) {
|
|
|
26334
26342
|
const { [key]: _removed, ...rest } = record;
|
|
26335
26343
|
return rest;
|
|
26336
26344
|
}
|
|
26337
|
-
var
|
|
26345
|
+
var unsafeAsBookingFieldId;
|
|
26338
26346
|
var init_booking_form_headless_state = __esm({
|
|
26339
26347
|
"../blocks/src/system/runtime/nodes/booking-form.headless.state.ts"() {
|
|
26340
26348
|
"use strict";
|
|
26341
26349
|
init_src();
|
|
26342
26350
|
init_dist();
|
|
26343
26351
|
init_booking_form_state();
|
|
26344
|
-
|
|
26352
|
+
unsafeAsBookingFieldId = (id) => id;
|
|
26345
26353
|
}
|
|
26346
26354
|
});
|
|
26347
26355
|
|
|
@@ -26365,7 +26373,7 @@ import React5, {
|
|
|
26365
26373
|
} from "react";
|
|
26366
26374
|
function useHeadlessBookingFlow(options) {
|
|
26367
26375
|
const viewerTimeZone = options.viewerTimeZone ?? getRuntimeTimeZone();
|
|
26368
|
-
const formKey =
|
|
26376
|
+
const formKey = unsafeAsFormId(options.formId);
|
|
26369
26377
|
const defaultServiceId = toOptionalAppointmentServiceId(
|
|
26370
26378
|
options.initialServiceId ?? resolveDefaultBookingServiceId(options.form, options.services) ?? void 0
|
|
26371
26379
|
);
|
|
@@ -26531,7 +26539,7 @@ function useHeadlessBookingFlow(options) {
|
|
|
26531
26539
|
setResourcesState({
|
|
26532
26540
|
tag: "loaded",
|
|
26533
26541
|
value: (result.options ?? []).map((option) => ({
|
|
26534
|
-
id:
|
|
26542
|
+
id: unsafeAsAppointmentResourceId(option.id),
|
|
26535
26543
|
label: option.label
|
|
26536
26544
|
}))
|
|
26537
26545
|
});
|
|
@@ -26747,11 +26755,11 @@ function useHeadlessBookingFlow(options) {
|
|
|
26747
26755
|
() => ({
|
|
26748
26756
|
selectService: (serviceId) => dispatch({
|
|
26749
26757
|
type: "service-selected",
|
|
26750
|
-
serviceId:
|
|
26758
|
+
serviceId: unsafeAsAppointmentServiceId(serviceId)
|
|
26751
26759
|
}),
|
|
26752
26760
|
selectResource: (resourceId) => dispatch({
|
|
26753
26761
|
type: "resource-selected",
|
|
26754
|
-
resourceId: resourceId ?
|
|
26762
|
+
resourceId: resourceId ? unsafeAsAppointmentResourceId(resourceId) : null
|
|
26755
26763
|
}),
|
|
26756
26764
|
selectDate: (date) => dispatch({ type: "date-selected", date }),
|
|
26757
26765
|
selectSlot: (slot) => dispatch({
|
|
@@ -26760,14 +26768,14 @@ function useHeadlessBookingFlow(options) {
|
|
|
26760
26768
|
}),
|
|
26761
26769
|
updateField: (fieldId, value) => dispatch({
|
|
26762
26770
|
type: "field-updated",
|
|
26763
|
-
fieldId:
|
|
26771
|
+
fieldId: unsafeAsBookingFieldId(fieldId),
|
|
26764
26772
|
value
|
|
26765
26773
|
}),
|
|
26766
|
-
markFieldTouched: (fieldId) => dispatch({ type: "field-touched", fieldId:
|
|
26774
|
+
markFieldTouched: (fieldId) => dispatch({ type: "field-touched", fieldId: unsafeAsBookingFieldId(fieldId) }),
|
|
26767
26775
|
selectPaymentOption: (kind) => dispatch({ type: "payment-option-selected", kind }),
|
|
26768
26776
|
selectAppointmentPackage: (packageId) => dispatch({
|
|
26769
26777
|
type: "appointment-package-selected",
|
|
26770
|
-
packageId: packageId ?
|
|
26778
|
+
packageId: packageId ? unsafeAsCustomerPassId(packageId) : null
|
|
26771
26779
|
}),
|
|
26772
26780
|
setDiscountCode: (code) => {
|
|
26773
26781
|
dispatch({ type: "discount-code-changed", code });
|
|
@@ -27127,7 +27135,7 @@ function usePolling(config) {
|
|
|
27127
27135
|
timeoutRef.current = setTimeout(doPoll, pollInterval);
|
|
27128
27136
|
}
|
|
27129
27137
|
};
|
|
27130
|
-
doPoll();
|
|
27138
|
+
void doPoll();
|
|
27131
27139
|
}, [poll]);
|
|
27132
27140
|
useEffect7(() => {
|
|
27133
27141
|
if (!config) {
|
|
@@ -28011,7 +28019,7 @@ function DefaultFieldInput({
|
|
|
28011
28019
|
] }, option.value)) });
|
|
28012
28020
|
case "checkbox":
|
|
28013
28021
|
if (field.field.options && field.field.options.length > 1) {
|
|
28014
|
-
const checkedValues =
|
|
28022
|
+
const checkedValues = toStringArray(value);
|
|
28015
28023
|
return /* @__PURE__ */ jsx58("div", { className: "rb-space-y-2", children: field.field.options.map((option) => /* @__PURE__ */ jsxs42("label", { className: "rb-flex rb-items-center rb-gap-2 rb-cursor-pointer", children: [
|
|
28016
28024
|
/* @__PURE__ */ jsx58(
|
|
28017
28025
|
"input",
|
|
@@ -28106,7 +28114,10 @@ function DefaultFieldInput({
|
|
|
28106
28114
|
className: "form-input"
|
|
28107
28115
|
}
|
|
28108
28116
|
);
|
|
28109
|
-
|
|
28117
|
+
case "text":
|
|
28118
|
+
case "email":
|
|
28119
|
+
case "tel":
|
|
28120
|
+
case "url":
|
|
28110
28121
|
return /* @__PURE__ */ jsx58(
|
|
28111
28122
|
"input",
|
|
28112
28123
|
{
|
|
@@ -28123,6 +28134,9 @@ function DefaultFieldInput({
|
|
|
28123
28134
|
);
|
|
28124
28135
|
}
|
|
28125
28136
|
}
|
|
28137
|
+
function toStringArray(value) {
|
|
28138
|
+
return Array.isArray(value) ? value.filter((item) => typeof item === "string") : [];
|
|
28139
|
+
}
|
|
28126
28140
|
function DefaultBookingDiscount({
|
|
28127
28141
|
booking
|
|
28128
28142
|
}) {
|
|
@@ -28214,7 +28228,7 @@ function collapseHeadlessSlotsForDisplay(input) {
|
|
|
28214
28228
|
visibleSlots.push({
|
|
28215
28229
|
startAt: slot.startAt,
|
|
28216
28230
|
endAt: slot.endAt,
|
|
28217
|
-
resourceId:
|
|
28231
|
+
resourceId: unsafeAsAppointmentResourceId(slot.resourceId)
|
|
28218
28232
|
});
|
|
28219
28233
|
}
|
|
28220
28234
|
return visibleSlots;
|
|
@@ -29539,7 +29553,7 @@ function usePortalAuth() {
|
|
|
29539
29553
|
setProfile(null);
|
|
29540
29554
|
}
|
|
29541
29555
|
}
|
|
29542
|
-
checkPortalAuth();
|
|
29556
|
+
void checkPortalAuth();
|
|
29543
29557
|
return () => {
|
|
29544
29558
|
cancelled = true;
|
|
29545
29559
|
};
|
|
@@ -29603,7 +29617,7 @@ function useEligibility(params) {
|
|
|
29603
29617
|
});
|
|
29604
29618
|
}
|
|
29605
29619
|
}
|
|
29606
|
-
fetchEligibility();
|
|
29620
|
+
void fetchEligibility();
|
|
29607
29621
|
return () => {
|
|
29608
29622
|
cancelled = true;
|
|
29609
29623
|
};
|
|
@@ -29648,7 +29662,7 @@ function useExistingEventRegistration({
|
|
|
29648
29662
|
dispatch({ type: "resolved", registration: null });
|
|
29649
29663
|
}
|
|
29650
29664
|
}
|
|
29651
|
-
fetchExistingRegistration();
|
|
29665
|
+
void fetchExistingRegistration();
|
|
29652
29666
|
return () => {
|
|
29653
29667
|
cancelled = true;
|
|
29654
29668
|
};
|
|
@@ -30896,6 +30910,14 @@ function EventRegistrationWizardContent(props2) {
|
|
|
30896
30910
|
const { wizard } = props2;
|
|
30897
30911
|
const showSpamProtection = props2.showSpamProtection ?? isSpamProtectionEnabled();
|
|
30898
30912
|
switch (wizard.step) {
|
|
30913
|
+
case "error":
|
|
30914
|
+
case "success":
|
|
30915
|
+
case "submitting":
|
|
30916
|
+
case "redirecting":
|
|
30917
|
+
case "verifying-payment":
|
|
30918
|
+
case "verifying-timeout":
|
|
30919
|
+
case "payment-failed":
|
|
30920
|
+
return null;
|
|
30899
30921
|
case "select-event":
|
|
30900
30922
|
return /* @__PURE__ */ jsx84(
|
|
30901
30923
|
EventSelectionStep,
|
|
@@ -31045,6 +31067,14 @@ function EventRegistrationWizardActions(props2) {
|
|
|
31045
31067
|
return wizard.eventRequiresPayment ? "Continue to Payment" : props2.buttonText;
|
|
31046
31068
|
};
|
|
31047
31069
|
switch (wizard.step) {
|
|
31070
|
+
case "error":
|
|
31071
|
+
case "success":
|
|
31072
|
+
case "submitting":
|
|
31073
|
+
case "redirecting":
|
|
31074
|
+
case "verifying-payment":
|
|
31075
|
+
case "verifying-timeout":
|
|
31076
|
+
case "payment-failed":
|
|
31077
|
+
return null;
|
|
31048
31078
|
case "select-event":
|
|
31049
31079
|
return null;
|
|
31050
31080
|
case "select-tickets": {
|
|
@@ -31096,10 +31126,10 @@ function EventRegistrationWizardActions(props2) {
|
|
|
31096
31126
|
const handlePaymentContinue = () => {
|
|
31097
31127
|
if (!selection.method) return;
|
|
31098
31128
|
if (selection.method === "free") {
|
|
31099
|
-
wizard.handlePaymentSelect("free");
|
|
31129
|
+
void wizard.handlePaymentSelect("free");
|
|
31100
31130
|
return;
|
|
31101
31131
|
}
|
|
31102
|
-
wizard.handlePaymentSelect(
|
|
31132
|
+
void wizard.handlePaymentSelect(
|
|
31103
31133
|
selection.method,
|
|
31104
31134
|
selection.passId ?? selection.bundlePassId,
|
|
31105
31135
|
selection.membershipId ?? selection.bundleMembershipId
|
|
@@ -31332,7 +31362,7 @@ function useWaitlistClaim() {
|
|
|
31332
31362
|
}
|
|
31333
31363
|
}
|
|
31334
31364
|
}
|
|
31335
|
-
resolveClaim();
|
|
31365
|
+
void resolveClaim();
|
|
31336
31366
|
return () => {
|
|
31337
31367
|
cancelled = true;
|
|
31338
31368
|
};
|
|
@@ -32358,7 +32388,13 @@ function EventRegistrationWizard(props2) {
|
|
|
32358
32388
|
return "Details";
|
|
32359
32389
|
case "select-payment":
|
|
32360
32390
|
return "Payment";
|
|
32361
|
-
|
|
32391
|
+
case "error":
|
|
32392
|
+
case "success":
|
|
32393
|
+
case "submitting":
|
|
32394
|
+
case "redirecting":
|
|
32395
|
+
case "verifying-payment":
|
|
32396
|
+
case "verifying-timeout":
|
|
32397
|
+
case "payment-failed":
|
|
32362
32398
|
return "";
|
|
32363
32399
|
}
|
|
32364
32400
|
});
|
|
@@ -33443,7 +33479,7 @@ function useCourseRegistrationWizard(props2) {
|
|
|
33443
33479
|
setPortalAuthState("unauthenticated");
|
|
33444
33480
|
}
|
|
33445
33481
|
}
|
|
33446
|
-
checkPortalAuth();
|
|
33482
|
+
void checkPortalAuth();
|
|
33447
33483
|
return () => {
|
|
33448
33484
|
cancelled = true;
|
|
33449
33485
|
};
|
|
@@ -33528,7 +33564,7 @@ function useCourseRegistrationWizard(props2) {
|
|
|
33528
33564
|
if (!cancelled) setEligibilityLoading(false);
|
|
33529
33565
|
}
|
|
33530
33566
|
}
|
|
33531
|
-
fetchEligibility();
|
|
33567
|
+
void fetchEligibility();
|
|
33532
33568
|
return () => {
|
|
33533
33569
|
cancelled = true;
|
|
33534
33570
|
};
|
|
@@ -33587,7 +33623,7 @@ function useCourseRegistrationWizard(props2) {
|
|
|
33587
33623
|
await new Promise((r2) => setTimeout(r2, 1500));
|
|
33588
33624
|
}
|
|
33589
33625
|
}
|
|
33590
|
-
verifyAfterCheckout();
|
|
33626
|
+
void verifyAfterCheckout();
|
|
33591
33627
|
return () => {
|
|
33592
33628
|
cancelled = true;
|
|
33593
33629
|
};
|
|
@@ -33856,7 +33892,7 @@ function useCourseRegistrationWizard(props2) {
|
|
|
33856
33892
|
if (!cancelled) setDiscountsAvailableLoading(false);
|
|
33857
33893
|
}
|
|
33858
33894
|
}
|
|
33859
|
-
checkDiscountAvailability();
|
|
33895
|
+
void checkDiscountAvailability();
|
|
33860
33896
|
return () => {
|
|
33861
33897
|
cancelled = true;
|
|
33862
33898
|
};
|
|
@@ -34119,7 +34155,7 @@ function CourseRegistrationWizard(props2) {
|
|
|
34119
34155
|
className: "cr-form",
|
|
34120
34156
|
onSubmit: (e) => {
|
|
34121
34157
|
e.preventDefault();
|
|
34122
|
-
handleSubmit();
|
|
34158
|
+
void handleSubmit();
|
|
34123
34159
|
},
|
|
34124
34160
|
children: [
|
|
34125
34161
|
/* @__PURE__ */ jsx102(
|
|
@@ -34569,7 +34605,7 @@ var init_LeafletStaticMap = __esm({
|
|
|
34569
34605
|
}
|
|
34570
34606
|
}
|
|
34571
34607
|
}
|
|
34572
|
-
initMap();
|
|
34608
|
+
void initMap();
|
|
34573
34609
|
return () => {
|
|
34574
34610
|
mounted = false;
|
|
34575
34611
|
if (mapRef.current) {
|
|
@@ -35517,10 +35553,10 @@ function PassesMembershipsController({ render }) {
|
|
|
35517
35553
|
});
|
|
35518
35554
|
const handleFormSubmit = useCallback9((event) => {
|
|
35519
35555
|
event.preventDefault();
|
|
35520
|
-
submitCheckout(false);
|
|
35556
|
+
void submitCheckout(false);
|
|
35521
35557
|
}, [submitCheckout]);
|
|
35522
35558
|
const handleConfirmDuplicate = useCallback9(() => {
|
|
35523
|
-
submitCheckout(true);
|
|
35559
|
+
void submitCheckout(true);
|
|
35524
35560
|
}, [submitCheckout]);
|
|
35525
35561
|
return /* @__PURE__ */ jsxs76(Fragment20, { children: [
|
|
35526
35562
|
/* @__PURE__ */ jsx108("div", { ref: shopRootRef, children: /* @__PURE__ */ jsx108(
|
|
@@ -38075,7 +38111,7 @@ function useCartDiscountUiState(api, plan) {
|
|
|
38075
38111
|
}
|
|
38076
38112
|
}
|
|
38077
38113
|
}
|
|
38078
|
-
loadCartDiscountAvailability();
|
|
38114
|
+
void loadCartDiscountAvailability();
|
|
38079
38115
|
return () => {
|
|
38080
38116
|
cancelled = true;
|
|
38081
38117
|
};
|
|
@@ -40443,7 +40479,7 @@ function useCalendarEvents({
|
|
|
40443
40479
|
);
|
|
40444
40480
|
if (unloadedMonths.length > 0) {
|
|
40445
40481
|
const range = getThreeMonthRange(date);
|
|
40446
|
-
fetchEventsForRange(range.from, range.to, unloadedMonths);
|
|
40482
|
+
void fetchEventsForRange(range.from, range.to, unloadedMonths);
|
|
40447
40483
|
}
|
|
40448
40484
|
}, [preloadMonths, fetchEventsForRange]);
|
|
40449
40485
|
useEffect32(() => {
|
|
@@ -41979,6 +42015,9 @@ var init_useFormSubmission = __esm({
|
|
|
41979
42015
|
// ../blocks/src/system/runtime/nodes/form.client.tsx
|
|
41980
42016
|
import { useState as useState31 } from "react";
|
|
41981
42017
|
import { jsx as jsx144, jsxs as jsxs93 } from "react/jsx-runtime";
|
|
42018
|
+
function isUnknownArray(value) {
|
|
42019
|
+
return Array.isArray(value);
|
|
42020
|
+
}
|
|
41982
42021
|
var FormNodeClient;
|
|
41983
42022
|
var init_form_client = __esm({
|
|
41984
42023
|
"../blocks/src/system/runtime/nodes/form.client.tsx"() {
|
|
@@ -42104,7 +42143,7 @@ var init_form_client = __esm({
|
|
|
42104
42143
|
if (key === "company" || key === "altcha-solution") continue;
|
|
42105
42144
|
if (key in data) {
|
|
42106
42145
|
const existing = data[key];
|
|
42107
|
-
data[key] =
|
|
42146
|
+
data[key] = isUnknownArray(existing) ? [...existing, fieldValue] : [existing, fieldValue];
|
|
42108
42147
|
} else {
|
|
42109
42148
|
data[key] = fieldValue;
|
|
42110
42149
|
}
|
|
@@ -48939,6 +48978,8 @@ function resolveGiftingPurchaseNotice(search, defaultSuccessMessage) {
|
|
|
48939
48978
|
const params = new URLSearchParams(search);
|
|
48940
48979
|
const gifting2 = params.get("gifting");
|
|
48941
48980
|
switch (gifting2) {
|
|
48981
|
+
case null:
|
|
48982
|
+
return null;
|
|
48942
48983
|
case "success":
|
|
48943
48984
|
return { kind: "success", message: defaultSuccessMessage };
|
|
48944
48985
|
case "cancelled":
|
|
@@ -50542,11 +50583,12 @@ function buildRenderFromLooseProps(runtime, mode, props2) {
|
|
|
50542
50583
|
};
|
|
50543
50584
|
}
|
|
50544
50585
|
function withRuntimeBackedEnvelope(source, runtime, render) {
|
|
50545
|
-
|
|
50586
|
+
const envelope = {
|
|
50546
50587
|
...source,
|
|
50547
50588
|
renderKind: runtime.kind,
|
|
50548
50589
|
render
|
|
50549
50590
|
};
|
|
50591
|
+
return envelope;
|
|
50550
50592
|
}
|
|
50551
50593
|
function normalizeLegacyInteractiveRenderProps(runtime, mode, props2) {
|
|
50552
50594
|
const source = props2;
|