@riverbankcms/sdk 0.75.0 → 0.76.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.
- package/README.md +2 -0
- package/dist/{PreviewEditorSidebar-U2IHCBYN.mjs → PreviewEditorSidebar-X2HWXFOL.mjs} +171 -88
- package/dist/{PreviewEditorUI-ZGH2RQNP.mjs → PreviewEditorUI-AQXIXPOH.mjs} +2 -2
- package/dist/SdkPreviewModeRuntime-ZQNDCASH.mjs +8 -0
- package/dist/_dts/api/src/bookingOperations.d.ts +12 -0
- package/dist/_dts/api/src/index.d.ts +1 -1
- package/dist/_dts/api/src/publicExperienceEndpoints.d.ts +11 -3
- package/dist/_dts/block-form/src/blockDraftSaveability.d.ts +0 -1
- package/dist/_dts/block-form/src/client/index.d.ts +1 -1
- package/dist/_dts/block-form/src/manifest/utils.d.ts +24 -0
- package/dist/_dts/blocks/src/client/events.d.ts +3 -1
- package/dist/_dts/blocks/src/contracts/proof-block-islands.d.ts +4 -4
- package/dist/_dts/blocks/src/system/runtime/components/registry.client.d.ts +6 -6
- package/dist/_dts/blocks/src/system/runtime/components/runtime-backed-blocks.d.ts +3 -3
- package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.interactive.d.ts +3 -27
- package/dist/_dts/blocks/src/system/runtime/nodes/booking-runtime-sources.d.ts +163 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration.interactive.d.ts +5 -5
- package/dist/_dts/blocks/src/system/runtime/shared/components/BookingOptionCompactRow.d.ts +29 -0
- package/dist/_dts/blocks/src/system/runtime/shared/components/BookingOptionList.d.ts +13 -0
- package/dist/_dts/blocks/src/system/runtime/shared/components/index.d.ts +4 -0
- package/dist/_dts/blocks/src/system/runtime/shared/index.d.ts +4 -3
- package/dist/_dts/blocks/src/system/runtime/shared/utils/bookingRoute.d.ts +20 -0
- package/dist/_dts/blocks/src/system/runtime/shared/utils/index.d.ts +2 -1
- package/dist/_dts/blocks/src/system/types/link.d.ts +12 -0
- package/dist/_dts/editor-blocks/src/BlockEditor.d.ts +2 -0
- package/dist/_dts/editor-blocks/src/block-editor/BlockCard.d.ts +3 -1
- package/dist/_dts/editor-blocks/src/block-editor/BlockCardHeader.d.ts +3 -1
- package/dist/_dts/editor-blocks/src/block-editor/BlockSettingsModal.d.ts +5 -1
- package/dist/_dts/editor-blocks/src/block-editor/SortableBlockItem.d.ts +2 -0
- package/dist/_dts/editor-blocks/src/block-editor/actionControlMode.d.ts +2 -0
- package/dist/_dts/editor-blocks/src/index.d.ts +1 -1
- package/dist/_dts/preview-next/src/client/preview/themeOverlay.d.ts +21 -3
- package/dist/_dts/sdk/src/components.d.ts +2 -2
- package/dist/_dts/sdk/src/rendering/index.d.ts +2 -2
- package/dist/_dts/sdk/src/rendering/overrideResolution.d.ts +6 -0
- package/dist/_dts/sdk/src/rendering/overrides.d.ts +21 -1
- package/dist/_dts/sdk/src/rendering/server.d.ts +4 -3
- package/dist/_dts/sdk/src/version.d.ts +1 -1
- package/dist/{chunk-GFE74WRD.mjs → chunk-LYI7TEMH.mjs} +188 -90
- package/dist/{chunk-BGMNDF6T.mjs → chunk-Q4OLG66B.mjs} +7 -7
- package/dist/{chunk-RWXQBRQZ.mjs → chunk-TW2Y4RR5.mjs} +69 -14
- package/dist/{chunk-ZSHFGFUG.mjs → chunk-V5VORNEJ.mjs} +1 -1
- package/dist/cli/index.mjs +1 -1
- package/dist/client/{accordion-T2UD2ZTH.mjs → accordion-2YHIBOZH.mjs} +1 -1
- package/dist/client/{bookingForm-GUP75FKN.mjs → bookingForm-35IBDWAS.mjs} +3 -13
- package/dist/client/bookings.mjs +11 -11
- package/dist/client/{carousel-2NQA6V57.mjs → carousel-K6XG7NZQ.mjs} +1 -1
- package/dist/client/{cart-5TFIAFDS.mjs → cart-HCFYUTTU.mjs} +4 -4
- package/dist/client/{checkout-TP4WAHZE.mjs → checkout-J3U4XR7K.mjs} +4 -4
- package/dist/client/{chunk-FU2QRZMX.mjs → chunk-7UOSCYY4.mjs} +71 -24
- package/dist/client/{chunk-ZLMS67RR.mjs → chunk-BOIHIU7E.mjs} +1 -1
- package/dist/client/{chunk-CY2ZTSE5.mjs → chunk-FGUIVT2B.mjs} +1 -1
- package/dist/client/{chunk-WJXXNDSE.mjs → chunk-J227A3CQ.mjs} +1 -1
- package/dist/client/{chunk-NWOUL6JY.mjs → chunk-PFBX3IQL.mjs} +3 -3
- package/dist/client/{chunk-VUAOE3AG.mjs → chunk-SNSWVZEP.mjs} +4 -4
- package/dist/client/client.mjs +2261 -2279
- package/dist/client/{courseRegistration-5DPU6PDY.mjs → courseRegistration-ZBXS7VGI.mjs} +3 -3
- package/dist/client/{eventCalendar-F3GZGTEF.mjs → eventCalendar-EQQZHJBA.mjs} +5 -5
- package/dist/client/{eventCombined-BQOB6QMY.mjs → eventCombined-JCFTGBFQ.mjs} +5 -5
- package/dist/client/{eventDetails-PEM2EJWE.mjs → eventDetails-HLUTQSYY.mjs} +5 -5
- package/dist/client/{eventListing-YMIQPVME.mjs → eventListing-FG4MICVB.mjs} +5 -5
- package/dist/client/{eventRegistration-4I6ZNDUF.mjs → eventRegistration-GUEB7LBT.mjs} +5 -5
- package/dist/client/{form-ZJVAYZ6G.mjs → form-YQEW4YIT.mjs} +1 -1
- package/dist/client/{headerSection-TOT5MGTF.mjs → headerSection-GTR3TTRM.mjs} +2 -2
- package/dist/client/{locationMap-J66NZREU.mjs → locationMap-SPC7VGUH.mjs} +1 -1
- package/dist/client/{newsletterForm-ET2XUMRO.mjs → newsletterForm-4IW5BLID.mjs} +1 -1
- package/dist/client/{productDetail-C2XIH7C5.mjs → productDetail-KP5H2WJO.mjs} +4 -4
- package/dist/client/{productList-T2AZLFTP.mjs → productList-3M3M72XZ.mjs} +4 -4
- package/dist/client/rendering/client.mjs +3132 -3147
- package/dist/client/rendering/islands.mjs +18 -18
- package/dist/client/rendering.mjs +3344 -3354
- package/dist/client/{shop-UZ6IUZXD.mjs → shop-ACQKVGOM.mjs} +4 -4
- package/dist/preview-next/chrome.css +1 -1
- package/dist/preview-next/client/runtime.mjs +3 -3
- package/dist/preview-next/editor-base.css +2 -148
- package/dist/preview-next/editor-chrome.css +179 -0
- package/dist/{sdk-runtime-JCUQM63Y.mjs → sdk-runtime-K7HNB4U2.mjs} +4 -4
- package/dist/server/components.mjs +939 -891
- package/dist/server/index.mjs +1 -1
- package/dist/server/next.mjs +887 -840
- package/dist/server/prebuild.mjs +1 -1
- package/dist/server/rendering/server.mjs +951 -894
- package/dist/server/rendering.mjs +944 -896
- package/dist/server/server.mjs +1 -1
- package/package.json +1 -1
- package/dist/SdkPreviewModeRuntime-MTUGBTLQ.mjs +0 -8
- /package/dist/client/{chunk-2PHQZ666.mjs → chunk-JEZECJ3W.mjs} +0 -0
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { useOptionalPreviewLayout, PreviewQueryProvider } from './chunk-Z7JLNTJR.mjs';
|
|
3
|
-
import { PreviewThemeOverlayProvider, resolveSiteStyleAccess, usePreviewThemeOverlay, createOptimisticActionRunner, resolveStyleConfiguratorInitialSnapshot, createStyleConfiguratorState, syncStyleConfiguratorState, buildSiteChromeLookModels, markApplyFailed, markApplySaved, markApplySaving, planSiteChromeLookSelection, previewHeaderLook, previewFooterLook, cycleSiteChromeLookId, resolvePreviewDashboardSetupHandoff, buildPreviewDashboardSetupUrl, resolvePreviewSetupBannerModel, sanitizeDashboardPath } from './chunk-
|
|
4
|
-
import { resolvePreviewChromeSurface, getPreviewSidebarTab, onPreviewSidebarOpenRequest, getPreviewChromeSurfaceDataProps, PREVIEW_CHROME_THEME_CLASS_NAME, setPreviewSidebarTab, PreviewPageDesignEditorStateProvider, usePreviewPageDesignEditorState, PREVIEW_SURFACE_PARAM } from './chunk-
|
|
5
|
-
import { clientComponentRegistry, deriveLaunchReadiness, DEFAULT_LAUNCH_READINESS_INPUT, planSiteDocument, useEditorUiStore, SiteDocumentLayout, ResizableSplitPane, BlockApiProvider, EditorProvider, getCuratedSiteStyle, compileSiteThemeFromSelections, useEditor, createRoutingHelpers, createSnapshotFromPageRecord, EntryControllerProvider, useEntryEditorController, useEditorUiStoreInstance, surfaceResolutionContextFromTheme, asEditorBlockId, EditableBlockProvider, asDesignBlockId, PageRenderer, ThemeScope, FixedBottomSurface, Button, unwrapResponse, X, ChevronLeft, ChevronRight, RotateCcw, PreviewRichTextEditor, RichText, PreviewTextEditor, Text, Dialog, DialogContent, DialogHeader, DialogTitle, DialogDescription, DialogFooter, buildEditorModelRuntimeFieldsByBlockId, applyCompiledRuntimeFieldsToContent, assertNever2, getBlockDefinition, systemCustomizeFacetDefinitionsForBlock, systemCustomizeFacetAppliesToLayoutVariant, systemCustomizeFacetCurrentValue, systemCustomizeFacetLabelForValue, systemCustomizeFacetNextValue, assertNever } from './chunk-
|
|
3
|
+
import { PreviewThemeOverlayProvider, resolveSiteStyleAccess, usePreviewThemeOverlay, createOptimisticActionRunner, resolveStyleConfiguratorInitialSnapshot, createStyleConfiguratorState, syncStyleConfiguratorState, buildSiteChromeLookModels, markApplyFailed, markApplySaved, markApplySaving, planSiteChromeLookSelection, previewHeaderLook, previewFooterLook, cycleSiteChromeLookId, resolvePreviewDashboardSetupHandoff, buildPreviewDashboardSetupUrl, resolvePreviewSetupBannerModel, sanitizeDashboardPath } from './chunk-TW2Y4RR5.mjs';
|
|
4
|
+
import { resolvePreviewChromeSurface, getPreviewSidebarTab, onPreviewSidebarOpenRequest, getPreviewChromeSurfaceDataProps, PREVIEW_CHROME_THEME_CLASS_NAME, setPreviewSidebarTab, PreviewPageDesignEditorStateProvider, usePreviewPageDesignEditorState, PREVIEW_SURFACE_PARAM } from './chunk-V5VORNEJ.mjs';
|
|
5
|
+
import { clientComponentRegistry, deriveLaunchReadiness, DEFAULT_LAUNCH_READINESS_INPUT, planSiteDocument, useEditorUiStore, SiteDocumentLayout, ResizableSplitPane, BlockApiProvider, EditorProvider, getCuratedSiteStyle, compileSiteThemeFromSelections, useEditor, createRoutingHelpers, createSnapshotFromPageRecord, EntryControllerProvider, useEntryEditorController, useEditorUiStoreInstance, surfaceResolutionContextFromTheme, asEditorBlockId, EditableBlockProvider, asDesignBlockId, PageRenderer, ThemeScope, FixedBottomSurface, Button, unwrapResponse, X, ChevronLeft, ChevronRight, RotateCcw, PreviewRichTextEditor, RichText, PreviewTextEditor, Text, Dialog, DialogContent, DialogHeader, DialogTitle, DialogDescription, DialogFooter, buildEditorModelRuntimeFieldsByBlockId, applyCompiledRuntimeFieldsToContent, assertNever2, getBlockDefinition, systemCustomizeFacetDefinitionsForBlock, systemCustomizeFacetAppliesToLayoutVariant, systemCustomizeFacetCurrentValue, systemCustomizeFacetLabelForValue, systemCustomizeFacetNextValue, assertNever } from './chunk-LYI7TEMH.mjs';
|
|
6
6
|
import { API_ENDPOINTS, createBearerAPIClient, isPreviewRuntimeSessionEditable, DEFAULT_SURFACE_ID, initPreviewAuth, usePreviewAuth, usePreviewAuthFetch, markPreviewAuthExpired, usePreviewToken, parseSurfaceId } from './chunk-VX7B5VAC.mjs';
|
|
7
7
|
import React7, { createContext, useMemo, useState, useEffect, useRef, useCallback, useId, useReducer } from 'react';
|
|
8
8
|
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
@@ -2366,7 +2366,7 @@ function SiteChromeCustomizeProvider({
|
|
|
2366
2366
|
const runner = runnerRef.current;
|
|
2367
2367
|
return () => {
|
|
2368
2368
|
runner.invalidate();
|
|
2369
|
-
setOverrideTheme(null);
|
|
2369
|
+
setOverrideTheme(null, { source: "site-chrome" });
|
|
2370
2370
|
};
|
|
2371
2371
|
}, [setOverrideTheme]);
|
|
2372
2372
|
const lookModels = useMemo(() => {
|
|
@@ -2420,7 +2420,7 @@ function SiteChromeCustomizeProvider({
|
|
|
2420
2420
|
});
|
|
2421
2421
|
void runnerRef.current.run({
|
|
2422
2422
|
optimistic: () => {
|
|
2423
|
-
setOverrideTheme(compiled.theme);
|
|
2423
|
+
setOverrideTheme(compiled.theme, { source: "site-chrome" });
|
|
2424
2424
|
setState((latest) => {
|
|
2425
2425
|
if (!latest) return latest;
|
|
2426
2426
|
return markApplySaving({ ...latest, previewed: nextSnapshot });
|
|
@@ -2532,11 +2532,11 @@ function SiteChromeCustomizeProvider({
|
|
|
2532
2532
|
}
|
|
2533
2533
|
var previewContainerResponsiveEnabled = process.env.NEXT_PUBLIC_ENABLE_PREVIEW_CONTAINER_RESPONSIVE !== "false";
|
|
2534
2534
|
var PreviewEditorSidebar = React7.lazy(async () => {
|
|
2535
|
-
const mod = await import('./PreviewEditorSidebar-
|
|
2535
|
+
const mod = await import('./PreviewEditorSidebar-X2HWXFOL.mjs');
|
|
2536
2536
|
return { default: mod.PreviewEditorSidebar };
|
|
2537
2537
|
});
|
|
2538
2538
|
var PreviewEditorUI = React7.lazy(async () => {
|
|
2539
|
-
const mod = await import('./PreviewEditorUI-
|
|
2539
|
+
const mod = await import('./PreviewEditorUI-AQXIXPOH.mjs');
|
|
2540
2540
|
return { default: mod.PreviewEditorUI };
|
|
2541
2541
|
});
|
|
2542
2542
|
var previewPaneContainmentStyle = {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import { compileSiteThemeFromSelections, footerLookCatalog, headerLookCatalog, footerLookRejectionReasonLabel, headerLookRejectionReasonLabel, writePlanForLookCustomizationCommand, siteStyleIdFromTheme, getCuratedSiteStyle } from './chunk-
|
|
2
|
+
import { compileSiteThemeFromSelections, footerLookCatalog, headerLookCatalog, footerLookRejectionReasonLabel, headerLookRejectionReasonLabel, writePlanForLookCustomizationCommand, siteStyleIdFromTheme, getCuratedSiteStyle } from './chunk-LYI7TEMH.mjs';
|
|
3
3
|
import { createContext, useState, useRef, useCallback, useEffect, useMemo, useContext } from 'react';
|
|
4
4
|
import { jsx } from 'react/jsx-runtime';
|
|
5
5
|
|
|
@@ -368,50 +368,105 @@ function applyRfc6902Patch(base, ops) {
|
|
|
368
368
|
return next;
|
|
369
369
|
}
|
|
370
370
|
var PreviewThemeOverlayContext = createContext(null);
|
|
371
|
+
var NO_THEME_OVERLAY = { kind: "none" };
|
|
371
372
|
function isDebugEnabled() {
|
|
372
373
|
return process.env.NEXT_PUBLIC_AI_ASSISTANT_DEBUG === "1";
|
|
373
374
|
}
|
|
374
375
|
function PreviewThemeOverlayProvider({ baseTheme, children }) {
|
|
375
|
-
const [
|
|
376
|
-
const [overrideTheme, setOverrideTheme] = useState(null);
|
|
376
|
+
const [overlay, setOverlay] = useState(NO_THEME_OVERLAY);
|
|
377
377
|
const previousBaseThemeRef = useRef(null);
|
|
378
|
-
const
|
|
379
|
-
|
|
380
|
-
|
|
378
|
+
const overlayOps = overlay.kind === "patch" ? [...overlay.ops] : null;
|
|
379
|
+
const overlayOpsSource = overlay.kind === "patch" ? overlay.source : null;
|
|
380
|
+
const overrideTheme = overlay.kind === "theme" ? overlay.theme : null;
|
|
381
|
+
const overrideThemeSource = overlay.kind === "theme" ? overlay.source : null;
|
|
382
|
+
const setOverlayOps = useCallback(
|
|
383
|
+
(ops, options) => {
|
|
384
|
+
setOverlay((current) => {
|
|
385
|
+
if (ops === null) {
|
|
386
|
+
if (current.kind !== "patch") return current;
|
|
387
|
+
if (options?.source && current.source !== options.source) return current;
|
|
388
|
+
return NO_THEME_OVERLAY;
|
|
389
|
+
}
|
|
390
|
+
return {
|
|
391
|
+
kind: "patch",
|
|
392
|
+
source: options?.source ?? "unknown",
|
|
393
|
+
ops
|
|
394
|
+
};
|
|
395
|
+
});
|
|
396
|
+
},
|
|
397
|
+
[]
|
|
398
|
+
);
|
|
399
|
+
const setOverrideTheme = useCallback(
|
|
400
|
+
(theme, options) => {
|
|
401
|
+
setOverlay((current) => {
|
|
402
|
+
if (theme === null) {
|
|
403
|
+
if (current.kind !== "theme") return current;
|
|
404
|
+
if (options?.source && current.source !== options.source) return current;
|
|
405
|
+
return NO_THEME_OVERLAY;
|
|
406
|
+
}
|
|
407
|
+
return {
|
|
408
|
+
kind: "theme",
|
|
409
|
+
source: options?.source ?? "unknown",
|
|
410
|
+
theme
|
|
411
|
+
};
|
|
412
|
+
});
|
|
413
|
+
},
|
|
414
|
+
[]
|
|
415
|
+
);
|
|
416
|
+
const clearOverlay = useCallback((options) => {
|
|
417
|
+
setOverlay((current) => {
|
|
418
|
+
const source = options?.source;
|
|
419
|
+
if (current.kind === "none") return current;
|
|
420
|
+
if (source && current.source !== source) return current;
|
|
421
|
+
return NO_THEME_OVERLAY;
|
|
422
|
+
});
|
|
381
423
|
}, []);
|
|
382
424
|
useEffect(() => {
|
|
383
425
|
if (previousBaseThemeRef.current && previousBaseThemeRef.current !== baseTheme) {
|
|
384
|
-
|
|
385
|
-
setOverrideTheme(null);
|
|
426
|
+
setOverlay(NO_THEME_OVERLAY);
|
|
386
427
|
}
|
|
387
428
|
previousBaseThemeRef.current = baseTheme;
|
|
388
429
|
}, [baseTheme]);
|
|
389
430
|
const effectiveTheme = useMemo(() => {
|
|
390
|
-
if (
|
|
391
|
-
if (
|
|
431
|
+
if (overlay.kind === "theme") return overlay.theme;
|
|
432
|
+
if (overlay.kind !== "patch" || overlay.ops.length === 0) return baseTheme;
|
|
392
433
|
try {
|
|
393
|
-
return applyRfc6902Patch(baseTheme,
|
|
434
|
+
return applyRfc6902Patch(baseTheme, [...overlay.ops]);
|
|
394
435
|
} catch (error) {
|
|
395
436
|
if (isDebugEnabled()) {
|
|
396
437
|
console.warn("[preview-theme-overlay] failed to apply theme overlay patch", {
|
|
397
438
|
error: error instanceof Error ? error.message : String(error),
|
|
398
|
-
overlayOps
|
|
439
|
+
overlayOps: overlay.ops
|
|
399
440
|
});
|
|
400
441
|
}
|
|
401
442
|
return baseTheme;
|
|
402
443
|
}
|
|
403
|
-
}, [baseTheme,
|
|
444
|
+
}, [baseTheme, overlay]);
|
|
404
445
|
const value = useMemo(
|
|
405
446
|
() => ({
|
|
406
447
|
baseTheme,
|
|
448
|
+
overlay,
|
|
407
449
|
overlayOps,
|
|
450
|
+
overlayOpsSource,
|
|
408
451
|
setOverlayOps,
|
|
409
452
|
overrideTheme,
|
|
453
|
+
overrideThemeSource,
|
|
410
454
|
setOverrideTheme,
|
|
411
455
|
effectiveTheme,
|
|
412
456
|
clearOverlay
|
|
413
457
|
}),
|
|
414
|
-
[
|
|
458
|
+
[
|
|
459
|
+
baseTheme,
|
|
460
|
+
clearOverlay,
|
|
461
|
+
effectiveTheme,
|
|
462
|
+
overlay,
|
|
463
|
+
overlayOps,
|
|
464
|
+
overlayOpsSource,
|
|
465
|
+
overrideTheme,
|
|
466
|
+
overrideThemeSource,
|
|
467
|
+
setOverlayOps,
|
|
468
|
+
setOverrideTheme
|
|
469
|
+
]
|
|
415
470
|
);
|
|
416
471
|
return /* @__PURE__ */ jsx(PreviewThemeOverlayContext.Provider, { value, children });
|
|
417
472
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import { assertNever2, useOptionalEditorUiStoreInstance, getPageDesignEditorState, PAGE_DESIGN_EDITOR_STATE_FETCH_ERROR_MESSAGE, useDebouncedLatestSave, applyPageDesignEditorAction, asEditorBlockId, asEditorBlockValues, resolvePreviewSidebarTab, systemCustomizeFacetDefinitionForBlock, systemCustomizeFacetRollbackContentPatch, systemCustomizeFacetApplyContentPatch, createHistoryState, redoHistory, undoHistory, pushHistoryEntry, canRedoHistory, canUndoHistory, planPageDesignLayoutLookCompatibility } from './chunk-
|
|
2
|
+
import { assertNever2, useOptionalEditorUiStoreInstance, getPageDesignEditorState, PAGE_DESIGN_EDITOR_STATE_FETCH_ERROR_MESSAGE, useDebouncedLatestSave, applyPageDesignEditorAction, asEditorBlockId, asEditorBlockValues, resolvePreviewSidebarTab, systemCustomizeFacetDefinitionForBlock, systemCustomizeFacetRollbackContentPatch, systemCustomizeFacetApplyContentPatch, createHistoryState, redoHistory, undoHistory, pushHistoryEntry, canRedoHistory, canUndoHistory, planPageDesignLayoutLookCompatibility } from './chunk-LYI7TEMH.mjs';
|
|
3
3
|
import { ApiRequestError, resolveSurfaceDocumentAttributes, SURFACE_DOCUMENT_DATA_ATTRIBUTE, SURFACE_IDS } from './chunk-VX7B5VAC.mjs';
|
|
4
4
|
import { createContext, useState, useRef, useEffect, useMemo, useContext } from 'react';
|
|
5
5
|
import { jsx } from 'react/jsx-runtime';
|
package/dist/cli/index.mjs
CHANGED
|
@@ -54508,7 +54508,7 @@ var SimpleCache = class {
|
|
|
54508
54508
|
};
|
|
54509
54509
|
|
|
54510
54510
|
// src/version.ts
|
|
54511
|
-
var SDK_VERSION = "0.
|
|
54511
|
+
var SDK_VERSION = "0.76.0";
|
|
54512
54512
|
|
|
54513
54513
|
// src/client/error.ts
|
|
54514
54514
|
var RiverbankApiError = class _RiverbankApiError extends Error {
|
|
@@ -1,28 +1,18 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { DiscountCodeSection } from './chunk-OJPZEZU2.mjs';
|
|
3
|
-
import { useDiscountCodeUi, usePolling } from './chunk-
|
|
3
|
+
import { useDiscountCodeUi, usePolling } from './chunk-J227A3CQ.mjs';
|
|
4
4
|
import { SpinnerNode } from './chunk-TQ5MSPDX.mjs';
|
|
5
|
-
import { scrollToBlock, buildCheckoutReturnUrls, formatPrice } from './chunk-
|
|
5
|
+
import { scrollToBlock, buildCheckoutReturnUrls, formatPrice } from './chunk-JEZECJ3W.mjs';
|
|
6
6
|
import { FieldValidationMessage, getFieldValidationControlProps } from './chunk-3DCJ45Z2.mjs';
|
|
7
7
|
import './chunk-3PEDD5KJ.mjs';
|
|
8
8
|
import { isSpamProtectionEnabled, getChallengeUrl, AltchaWidget } from './chunk-YLMKMCSJ.mjs';
|
|
9
9
|
import { BlockApiProvider, useBlockApi, FeedbackMessage } from './chunk-M3L3KYYR.mjs';
|
|
10
10
|
import { mountReactIsland } from './chunk-N7PBWBWQ.mjs';
|
|
11
|
-
import { defineIslandPropsDecoder, resolveBookingSiteId, resolveDefaultBookingServiceId, getBookingRedirectStateFromLocation, deriveBookingFormViewState, getBookingSuccessMessage, resolveAppointmentCheckoutVerificationState, themeButtonClassName, toSelectedCollectionOptionKind, assertNever, prepareBookingSubmission, formatBookingSubmissionPreparationError, resolveBookingPaymentStep, BOOKING_FORM_DATA_RESERVED_KEYS, okWith, err } from './chunk-
|
|
11
|
+
import { defineIslandPropsDecoder, resolveBookingSiteId, resolveDefaultBookingServiceId, getBookingRedirectStateFromLocation, deriveBookingFormViewState, logger, getBookingSuccessMessage, resolveAppointmentCheckoutVerificationState, themeButtonClassName, toSelectedCollectionOptionKind, assertNever, prepareBookingSubmission, formatBookingSubmissionPreparationError, resolveBookingPaymentStep, BOOKING_FORM_DATA_RESERVED_KEYS, okWith, err } from './chunk-7UOSCYY4.mjs';
|
|
12
12
|
import { resolveBookingTimeZoneId, DEFAULT_BOOKING_TIME_ZONE, asFormId, asAppointmentResourceId, asCustomerPassId, asAppointmentServiceId, formatLocalScheduleDate, addLocalScheduleDays, parseBookingLocalDate, resolveFlexibleBalanceInitialPaymentCents, resolveFlexibleBalanceDueAt, getBookingInstalmentDepositRefundability, asPassId, splitAmountWithRemainderInFirst, addIntervalPreservingMonthAnchor, clampConfiguredAmount, getBookingInstalmentPlanIntervalCount, omitZeroAmountFutureRows, formatBookingInstant } from './chunk-PMAIXMAB.mjs';
|
|
13
13
|
import React2, { useRef, useState, useMemo, useReducer, useEffect, useCallback, useLayoutEffect } from 'react';
|
|
14
14
|
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
15
15
|
|
|
16
|
-
// ../logger/src/noop.ts
|
|
17
|
-
var noop = () => {
|
|
18
|
-
};
|
|
19
|
-
var logger = {
|
|
20
|
-
debug: noop,
|
|
21
|
-
info: noop,
|
|
22
|
-
warn: noop,
|
|
23
|
-
error: noop,
|
|
24
|
-
withFields: (_) => logger
|
|
25
|
-
};
|
|
26
16
|
var SuccessMessage = ({
|
|
27
17
|
message,
|
|
28
18
|
resourceName,
|
package/dist/client/bookings.mjs
CHANGED
|
@@ -5797,6 +5797,17 @@ function getBookingSuccessMessage(successMessage) {
|
|
|
5797
5797
|
return successMessage?.trim() || "Your appointment has been booked! Check your email for confirmation.";
|
|
5798
5798
|
}
|
|
5799
5799
|
|
|
5800
|
+
// ../logger/src/noop.ts
|
|
5801
|
+
var noop = () => {
|
|
5802
|
+
};
|
|
5803
|
+
var logger = {
|
|
5804
|
+
debug: noop,
|
|
5805
|
+
info: noop,
|
|
5806
|
+
warn: noop,
|
|
5807
|
+
error: noop,
|
|
5808
|
+
withFields: (_) => logger
|
|
5809
|
+
};
|
|
5810
|
+
|
|
5800
5811
|
// ../theme-core/src/inputs/types.ts
|
|
5801
5812
|
import { z as z6 } from "zod";
|
|
5802
5813
|
var inputSystemSchema = z6.object({
|
|
@@ -6157,17 +6168,6 @@ function FeedbackMessage({
|
|
|
6157
6168
|
// ../blocks/src/system/runtime/nodes/booking-form.client.tsx
|
|
6158
6169
|
import React3, { useRef as useRef7, useState as useState6 } from "react";
|
|
6159
6170
|
|
|
6160
|
-
// ../logger/src/noop.ts
|
|
6161
|
-
var noop = () => {
|
|
6162
|
-
};
|
|
6163
|
-
var logger = {
|
|
6164
|
-
debug: noop,
|
|
6165
|
-
info: noop,
|
|
6166
|
-
warn: noop,
|
|
6167
|
-
error: noop,
|
|
6168
|
-
withFields: (_) => logger
|
|
6169
|
-
};
|
|
6170
|
-
|
|
6171
6171
|
// ../altcha/src/AltchaWidget.tsx
|
|
6172
6172
|
import { useEffect, useRef, useState } from "react";
|
|
6173
6173
|
import { jsx as jsx4 } from "react/jsx-runtime";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { normalizeCarouselProps, CarouselNodeClient } from './chunk-II7O4XN3.mjs';
|
|
2
2
|
import './chunk-RTZ3JKKX.mjs';
|
|
3
3
|
import { mountReactIsland } from './chunk-N7PBWBWQ.mjs';
|
|
4
|
-
import { defineIslandPropsDecoder } from './chunk-
|
|
4
|
+
import { defineIslandPropsDecoder } from './chunk-7UOSCYY4.mjs';
|
|
5
5
|
import './chunk-PMAIXMAB.mjs';
|
|
6
6
|
import { jsx } from 'react/jsx-runtime';
|
|
7
7
|
|
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
import { mountShopBlockIsland, CartClient } from './chunk-
|
|
2
|
-
import './chunk-
|
|
1
|
+
import { mountShopBlockIsland, CartClient } from './chunk-PFBX3IQL.mjs';
|
|
2
|
+
import './chunk-BOIHIU7E.mjs';
|
|
3
3
|
import './chunk-II7O4XN3.mjs';
|
|
4
4
|
import './chunk-I2MMZO53.mjs';
|
|
5
5
|
import './chunk-RTZ3JKKX.mjs';
|
|
6
|
-
import './chunk-
|
|
6
|
+
import './chunk-JEZECJ3W.mjs';
|
|
7
7
|
import './chunk-3DCJ45Z2.mjs';
|
|
8
8
|
import './chunk-3PEDD5KJ.mjs';
|
|
9
9
|
import './chunk-M3L3KYYR.mjs';
|
|
10
10
|
import './chunk-N7PBWBWQ.mjs';
|
|
11
|
-
import { defineIslandPropsDecoder } from './chunk-
|
|
11
|
+
import { defineIslandPropsDecoder } from './chunk-7UOSCYY4.mjs';
|
|
12
12
|
import './chunk-PMAIXMAB.mjs';
|
|
13
13
|
|
|
14
14
|
// src/rendering/islands/enhancers/cart.tsx
|
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
import { mountShopBlockIsland, CheckoutClient } from './chunk-
|
|
2
|
-
import './chunk-
|
|
1
|
+
import { mountShopBlockIsland, CheckoutClient } from './chunk-PFBX3IQL.mjs';
|
|
2
|
+
import './chunk-BOIHIU7E.mjs';
|
|
3
3
|
import './chunk-II7O4XN3.mjs';
|
|
4
4
|
import './chunk-I2MMZO53.mjs';
|
|
5
5
|
import './chunk-RTZ3JKKX.mjs';
|
|
6
|
-
import './chunk-
|
|
6
|
+
import './chunk-JEZECJ3W.mjs';
|
|
7
7
|
import './chunk-3DCJ45Z2.mjs';
|
|
8
8
|
import './chunk-3PEDD5KJ.mjs';
|
|
9
9
|
import './chunk-M3L3KYYR.mjs';
|
|
10
10
|
import './chunk-N7PBWBWQ.mjs';
|
|
11
|
-
import { defineIslandPropsDecoder } from './chunk-
|
|
11
|
+
import { defineIslandPropsDecoder } from './chunk-7UOSCYY4.mjs';
|
|
12
12
|
import './chunk-PMAIXMAB.mjs';
|
|
13
13
|
|
|
14
14
|
// src/rendering/islands/enhancers/checkout.tsx
|
|
@@ -4255,7 +4255,18 @@ function getBookingSuccessMessage(successMessage) {
|
|
|
4255
4255
|
return successMessage?.trim() || "Your appointment has been booked! Check your email for confirmation.";
|
|
4256
4256
|
}
|
|
4257
4257
|
|
|
4258
|
-
// ../
|
|
4258
|
+
// ../logger/src/noop.ts
|
|
4259
|
+
var noop = () => {
|
|
4260
|
+
};
|
|
4261
|
+
var logger = {
|
|
4262
|
+
debug: noop,
|
|
4263
|
+
info: noop,
|
|
4264
|
+
warn: noop,
|
|
4265
|
+
error: noop,
|
|
4266
|
+
withFields: (_) => logger
|
|
4267
|
+
};
|
|
4268
|
+
|
|
4269
|
+
// ../blocks/src/system/runtime/nodes/booking-runtime-sources.ts
|
|
4259
4270
|
var bookingFieldOptionSchema = z.object({
|
|
4260
4271
|
value: z.string(),
|
|
4261
4272
|
label: z.string()
|
|
@@ -4309,6 +4320,8 @@ var bookingSourceFormSchema = z.object({
|
|
|
4309
4320
|
createdAt: z.string(),
|
|
4310
4321
|
updatedAt: z.string()
|
|
4311
4322
|
});
|
|
4323
|
+
|
|
4324
|
+
// ../blocks/src/system/runtime/nodes/booking-form.interactive.ts
|
|
4312
4325
|
var blockBookingPaymentTermsAvailabilitySchema = z.union([
|
|
4313
4326
|
z.object({
|
|
4314
4327
|
kind: z.literal("available"),
|
|
@@ -5601,6 +5614,37 @@ function pickReadableTextColor(background) {
|
|
|
5601
5614
|
return "rgb(var(--tb-onAccent, 255 255 255))";
|
|
5602
5615
|
}
|
|
5603
5616
|
}
|
|
5617
|
+
function BookingOptionCompactRow({
|
|
5618
|
+
option,
|
|
5619
|
+
buttonVariant = "primary"
|
|
5620
|
+
}) {
|
|
5621
|
+
const primaryMeta = option.primaryMeta?.filter((item) => item.length > 0) ?? [];
|
|
5622
|
+
const secondaryMeta = option.secondaryMeta?.filter((item) => item.label.length > 0) ?? [];
|
|
5623
|
+
const buttonClass = themeButtonClassName({ variant: buttonVariant, size: "sm" });
|
|
5624
|
+
return /* @__PURE__ */ jsxs("div", { className: "event-compact-row", children: [
|
|
5625
|
+
/* @__PURE__ */ jsxs("div", { className: "event-compact-row-content", children: [
|
|
5626
|
+
/* @__PURE__ */ jsxs("div", { className: "event-compact-row-top", children: [
|
|
5627
|
+
/* @__PURE__ */ jsx("span", { className: "event-compact-row-title", children: option.title }),
|
|
5628
|
+
primaryMeta.length > 0 && /* @__PURE__ */ jsx("span", { className: "event-compact-row-datetime", children: primaryMeta.join(" \xB7 ") })
|
|
5629
|
+
] }),
|
|
5630
|
+
/* @__PURE__ */ jsxs("div", { className: "event-compact-row-bottom", children: [
|
|
5631
|
+
secondaryMeta.map((item) => /* @__PURE__ */ jsxs(
|
|
5632
|
+
"span",
|
|
5633
|
+
{
|
|
5634
|
+
className: item.className,
|
|
5635
|
+
children: [
|
|
5636
|
+
item.icon,
|
|
5637
|
+
item.label
|
|
5638
|
+
]
|
|
5639
|
+
},
|
|
5640
|
+
item.id ?? `${item.className ?? "meta"}:${item.label}`
|
|
5641
|
+
)),
|
|
5642
|
+
option.priceLabel && /* @__PURE__ */ jsx("span", { className: "event-compact-row-price", children: option.priceLabel })
|
|
5643
|
+
] })
|
|
5644
|
+
] }),
|
|
5645
|
+
option.action.kind === "status" ? /* @__PURE__ */ jsx("span", { className: "event-compact-row-status", children: option.action.label }) : /* @__PURE__ */ jsx("a", { href: option.action.href, className: `${buttonClass} event-compact-row-cta`, children: option.action.label })
|
|
5646
|
+
] });
|
|
5647
|
+
}
|
|
5604
5648
|
var EventCompactRow = ({
|
|
5605
5649
|
event,
|
|
5606
5650
|
buttonVariant = "primary",
|
|
@@ -5612,28 +5656,31 @@ var EventCompactRow = ({
|
|
|
5612
5656
|
const price = formatEventPrice(event);
|
|
5613
5657
|
const teacherLine = formatEventTeacherLine(event);
|
|
5614
5658
|
const cta = resolveEventCta(event, buttonText);
|
|
5615
|
-
const
|
|
5616
|
-
|
|
5617
|
-
|
|
5618
|
-
|
|
5619
|
-
|
|
5620
|
-
|
|
5621
|
-
|
|
5622
|
-
|
|
5623
|
-
|
|
5624
|
-
|
|
5625
|
-
|
|
5626
|
-
|
|
5627
|
-
|
|
5628
|
-
|
|
5629
|
-
|
|
5630
|
-
|
|
5631
|
-
|
|
5632
|
-
|
|
5633
|
-
|
|
5634
|
-
|
|
5635
|
-
|
|
5636
|
-
|
|
5659
|
+
const option = {
|
|
5660
|
+
id: event.occurrenceId ?? event.id,
|
|
5661
|
+
title: event.title,
|
|
5662
|
+
primaryMeta: [formattedDate, formattedTime],
|
|
5663
|
+
secondaryMeta: [
|
|
5664
|
+
...event.venue ? [
|
|
5665
|
+
{
|
|
5666
|
+
id: "venue",
|
|
5667
|
+
label: event.venue.name,
|
|
5668
|
+
icon: /* @__PURE__ */ jsx(MapPinIcon, { className: "rb-shrink-0" }),
|
|
5669
|
+
className: "event-compact-row-venue"
|
|
5670
|
+
}
|
|
5671
|
+
] : [],
|
|
5672
|
+
...teacherLine ? [
|
|
5673
|
+
{
|
|
5674
|
+
id: "teacher",
|
|
5675
|
+
label: teacherLine,
|
|
5676
|
+
className: "event-compact-row-teacher"
|
|
5677
|
+
}
|
|
5678
|
+
] : []
|
|
5679
|
+
],
|
|
5680
|
+
priceLabel: price,
|
|
5681
|
+
action: cta.hidden ? { kind: "status", label: cta.label } : { kind: "action", label: cta.label, href: cta.href }
|
|
5682
|
+
};
|
|
5683
|
+
return /* @__PURE__ */ jsx(BookingOptionCompactRow, { buttonVariant, option });
|
|
5637
5684
|
};
|
|
5638
5685
|
var EmptyState = ({
|
|
5639
5686
|
message = "No upcoming events scheduled.",
|
|
@@ -7614,4 +7661,4 @@ function defineIslandPropsDecoder(kind) {
|
|
|
7614
7661
|
};
|
|
7615
7662
|
}
|
|
7616
7663
|
|
|
7617
|
-
export { BOOKING_FORM_DATA_RESERVED_KEYS, DateTimeTile, EMPTY_COMMERCE_CART_STATE, EmptyState, EventCard, EventCompactRow, MAX_EVENTS_PER_DAY, MONTH_NAMES, addMonths, assertNever, buildCartDisplay, buildEventCalendarListingRender, buildPassCartItem, buildProductCardDisplay, buildProductCartItem, buildProductDetailDisplay, buildTimetableModel, defineIslandPropsDecoder, deriveBookingFormViewState, err, formatBookingSubmissionPreparationError, formatCalendarTitle, formatCommercePrice, formatCoursePriceAmount, formatCoursePriceDisplay, formatDate, formatDateKey, formatEventDateParts, formatEventPrice, formatEventTeacherLine, formatInterval, formatTime, getBookingRedirectStateFromLocation, getBookingSuccessMessage, getCardOrientation, getContainerClass, getEventAvailability, getMonthCalendarDays, getOrderedDayNames, getShopDisplayForItems, getThreeMonthRange, getWeekCalendarDays, groupEventsByDate, isEventContentType, isToday, normalizeEventBlockKind, normalizeIdList, ok, okWith, parseStoredCommerceCartState, prepareBookingSubmission, productItemKey, reduceCommerceCart, resolveAppointmentCheckoutVerificationState, resolveBookingPaymentStep, resolveBookingSiteId, resolveCoursePricingState, resolveDefaultBookingServiceId, themeButtonClassName, toSelectedCollectionOptionKind };
|
|
7664
|
+
export { BOOKING_FORM_DATA_RESERVED_KEYS, DateTimeTile, EMPTY_COMMERCE_CART_STATE, EmptyState, EventCard, EventCompactRow, MAX_EVENTS_PER_DAY, MONTH_NAMES, addMonths, assertNever, buildCartDisplay, buildEventCalendarListingRender, buildPassCartItem, buildProductCardDisplay, buildProductCartItem, buildProductDetailDisplay, buildTimetableModel, defineIslandPropsDecoder, deriveBookingFormViewState, err, formatBookingSubmissionPreparationError, formatCalendarTitle, formatCommercePrice, formatCoursePriceAmount, formatCoursePriceDisplay, formatDate, formatDateKey, formatEventDateParts, formatEventPrice, formatEventTeacherLine, formatInterval, formatTime, getBookingRedirectStateFromLocation, getBookingSuccessMessage, getCardOrientation, getContainerClass, getEventAvailability, getMonthCalendarDays, getOrderedDayNames, getShopDisplayForItems, getThreeMonthRange, getWeekCalendarDays, groupEventsByDate, isEventContentType, isToday, logger, normalizeEventBlockKind, normalizeIdList, ok, okWith, parseStoredCommerceCartState, prepareBookingSubmission, productItemKey, reduceCommerceCart, resolveAppointmentCheckoutVerificationState, resolveBookingPaymentStep, resolveBookingSiteId, resolveCoursePricingState, resolveDefaultBookingServiceId, themeButtonClassName, toSelectedCollectionOptionKind };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { EMPTY_COMMERCE_CART_STATE, parseStoredCommerceCartState, reduceCommerceCart, buildPassCartItem } from './chunk-
|
|
1
|
+
import { EMPTY_COMMERCE_CART_STATE, parseStoredCommerceCartState, reduceCommerceCart, buildPassCartItem } from './chunk-7UOSCYY4.mjs';
|
|
2
2
|
import * as React from 'react';
|
|
3
3
|
|
|
4
4
|
var EMPTY_STATE = EMPTY_COMMERCE_CART_STATE;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { useBlockApi, BlockApiError } from './chunk-M3L3KYYR.mjs';
|
|
3
|
-
import { themeButtonClassName } from './chunk-
|
|
3
|
+
import { themeButtonClassName } from './chunk-7UOSCYY4.mjs';
|
|
4
4
|
import { useState, useSyncExternalStore, useEffect } from 'react';
|
|
5
5
|
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
6
6
|
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import { addPassToCommerceCart, useCommerceCart } from './chunk-
|
|
2
|
+
import { addPassToCommerceCart, useCommerceCart } from './chunk-BOIHIU7E.mjs';
|
|
3
3
|
import { CarouselNodeClient } from './chunk-II7O4XN3.mjs';
|
|
4
4
|
import { isRecord } from './chunk-I2MMZO53.mjs';
|
|
5
|
-
import { createBodyThemePortalRoot, consumeSearchParams, scrollToBlock, TerminalPanel, StateIcon, CheckIcon, CrossIcon, ActionRow, consumeSearchParam, buildCheckoutReturnUrls } from './chunk-
|
|
5
|
+
import { createBodyThemePortalRoot, consumeSearchParams, scrollToBlock, TerminalPanel, StateIcon, CheckIcon, CrossIcon, ActionRow, consumeSearchParam, buildCheckoutReturnUrls } from './chunk-JEZECJ3W.mjs';
|
|
6
6
|
import { ModalShell, resolveDedicatedCheckoutPath } from './chunk-3PEDD5KJ.mjs';
|
|
7
7
|
import { useBlockApi, FeedbackMessage, BlockApiProvider } from './chunk-M3L3KYYR.mjs';
|
|
8
8
|
import { mountReactIsland } from './chunk-N7PBWBWQ.mjs';
|
|
9
|
-
import { themeButtonClassName, formatCommercePrice, formatInterval, getShopDisplayForItems, buildProductDetailDisplay, productItemKey, buildProductCartItem, buildProductCardDisplay, assertNever } from './chunk-
|
|
9
|
+
import { themeButtonClassName, formatCommercePrice, formatInterval, getShopDisplayForItems, buildProductDetailDisplay, productItemKey, buildProductCartItem, buildProductCardDisplay, assertNever } from './chunk-7UOSCYY4.mjs';
|
|
10
10
|
import { getCurrentResolveImageUrlContext, resolveImageUrlWithContext, ImagePresets } from './chunk-PMAIXMAB.mjs';
|
|
11
11
|
import * as React3 from 'react';
|
|
12
12
|
import React3__default, { useState, useRef, useCallback, useEffect } from 'react';
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { LeafletStaticMap } from './chunk-F7LHOKEH.mjs';
|
|
3
|
-
import { MagicLinkForm, useWaitlistClaim } from './chunk-
|
|
3
|
+
import { MagicLinkForm, useWaitlistClaim } from './chunk-FGUIVT2B.mjs';
|
|
4
4
|
import { CreditCard, Ticket, Star, Sparkles } from './chunk-RTZ3JKKX.mjs';
|
|
5
|
-
import { useDiscountCodeUi, usePolling } from './chunk-
|
|
5
|
+
import { useDiscountCodeUi, usePolling } from './chunk-J227A3CQ.mjs';
|
|
6
6
|
import { SpinnerNode } from './chunk-TQ5MSPDX.mjs';
|
|
7
|
-
import { TabBarFragment, logoutPortal, StepIndicator, TerminalPanel, StateIcon, formatPrice, CrossIcon, ClockIcon, consumeSearchParam, LoggedInAsUser, CheckIcon } from './chunk-
|
|
7
|
+
import { TabBarFragment, logoutPortal, StepIndicator, TerminalPanel, StateIcon, formatPrice, CrossIcon, ClockIcon, consumeSearchParam, LoggedInAsUser, CheckIcon } from './chunk-JEZECJ3W.mjs';
|
|
8
8
|
import { getFieldValidationControlProps, FieldValidationMessage } from './chunk-3DCJ45Z2.mjs';
|
|
9
9
|
import { ModalShell } from './chunk-3PEDD5KJ.mjs';
|
|
10
10
|
import { isSpamProtectionEnabled, AltchaWidget, getChallengeUrl } from './chunk-YLMKMCSJ.mjs';
|
|
11
11
|
import { useBlockApi, FeedbackMessage } from './chunk-M3L3KYYR.mjs';
|
|
12
|
-
import { buildEventCalendarListingRender, getWeekCalendarDays, formatCalendarTitle, groupEventsByDate, getOrderedDayNames, getMonthCalendarDays, formatDateKey, themeButtonClassName, normalizeEventBlockKind, EventCompactRow, EmptyState, getContainerClass, getCardOrientation, addMonths, getThreeMonthRange, isToday, MAX_EVENTS_PER_DAY, formatTime, resolveCoursePricingState, formatEventDateParts, formatCoursePriceAmount, DateTimeTile, normalizeIdList, EventCard, buildTimetableModel, formatDate, isEventContentType, formatCoursePriceDisplay, MONTH_NAMES, formatEventPrice, getEventAvailability, formatEventTeacherLine, assertNever } from './chunk-
|
|
12
|
+
import { buildEventCalendarListingRender, getWeekCalendarDays, formatCalendarTitle, groupEventsByDate, getOrderedDayNames, getMonthCalendarDays, formatDateKey, themeButtonClassName, normalizeEventBlockKind, EventCompactRow, EmptyState, getContainerClass, getCardOrientation, addMonths, getThreeMonthRange, isToday, MAX_EVENTS_PER_DAY, formatTime, resolveCoursePricingState, formatEventDateParts, formatCoursePriceAmount, DateTimeTile, normalizeIdList, EventCard, buildTimetableModel, formatDate, isEventContentType, formatCoursePriceDisplay, MONTH_NAMES, formatEventPrice, getEventAvailability, formatEventTeacherLine, assertNever } from './chunk-7UOSCYY4.mjs';
|
|
13
13
|
import { getBookingLocalDateKey, toScheduledBookingDateTime, toBookingTimeZone, formatBookingDateTime, formatBookingDate, formatBookingTime } from './chunk-PMAIXMAB.mjs';
|
|
14
14
|
import { createContext, useId, useMemo, useState, useRef, useEffect, useCallback, useContext, useReducer } from 'react';
|
|
15
15
|
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|