@riverbankcms/sdk 0.60.6 → 0.60.7
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/dist/_dts/api/src/appointmentSetup.d.ts +2 -2
- package/dist/_dts/api/src/bookingConfig.d.ts +6 -0
- package/dist/_dts/api/src/bookingManagementEndpoints.d.ts +45 -3
- package/dist/_dts/api/src/bookingOperations.d.ts +40 -3
- package/dist/_dts/api/src/courses.d.ts +1 -5
- package/dist/_dts/api/src/endpoints.d.ts +80 -1
- package/dist/_dts/api/src/index.d.ts +3 -2
- package/dist/_dts/api/src/navigation/contracts.d.ts +9 -9
- package/dist/_dts/api/src/public/endpoints.d.ts +1 -1
- package/dist/_dts/api/src/publicExperienceEndpoints.d.ts +15 -1
- package/dist/_dts/api/src/resources.d.ts +1 -1
- package/dist/_dts/api/src/siteBanner.d.ts +8 -8
- package/dist/_dts/api/src/siteOnboarding.d.ts +1 -0
- package/dist/_dts/api/src/teamMembers.d.ts +27 -0
- package/dist/_dts/blocks/src/system/blocks/courses/shared/schemas.d.ts +35 -29
- package/dist/_dts/blocks/src/system/blocks/courses/shared/types.d.ts +1 -5
- package/dist/_dts/blocks/src/system/blocks/events/shared/schemas.d.ts +40 -34
- package/dist/_dts/blocks/src/system/blocks/events/shared/types.d.ts +1 -5
- package/dist/_dts/blocks/src/system/blocks/product-list.d.ts +1 -1
- package/dist/_dts/blocks/src/system/blocks/products/shared.d.ts +2 -2
- package/dist/_dts/blocks/src/system/blocks/shared/bookingPaymentTerms.d.ts +9 -9
- package/dist/_dts/blocks/src/system/blocks/shared/teamMembers.d.ts +24 -0
- package/dist/_dts/blocks/src/system/blocks/team-members.d.ts +18 -8
- package/dist/_dts/blocks/src/system/constants/background.d.ts +1 -1
- package/dist/_dts/blocks/src/system/data/loaderEndpoints.d.ts +1 -1
- package/dist/_dts/blocks/src/system/data/utils.d.ts +1 -1
- package/dist/_dts/blocks/src/system/manifest/schema.d.ts +201 -201
- package/dist/_dts/blocks/src/system/manifest/validation.d.ts +2 -2
- package/dist/_dts/blocks/src/system/node/schema.d.ts +5 -5
- package/dist/_dts/blocks/src/system/runtime/components/runtime-backed-blocks.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/shared/contract-schemas.d.ts +4 -4
- package/dist/_dts/blocks/src/system/transforms/registry/ui.d.ts +1 -1
- package/dist/_dts/blocks/src/system/transforms/typed.d.ts +3 -3
- package/dist/_dts/content-model/src/content-types/schema.d.ts +8 -8
- package/dist/_dts/content-model/src/metadataConfig.d.ts +1 -0
- package/dist/_dts/core/src/branded.d.ts +2 -0
- package/dist/_dts/db/src/generated/supabase/database.types.d.ts +124 -8
- package/dist/_dts/db/src/schemas/forms.d.ts +61 -61
- package/dist/_dts/sdk/src/client/types.d.ts +9 -2
- package/dist/_dts/sdk/src/config/types.d.ts +1 -1
- package/dist/_dts/sdk/src/config/validation.d.ts +40 -37
- package/dist/_dts/sdk/src/contracts/system-block-content.d.ts +17 -8
- package/dist/_dts/sdk/src/data/prefetchBlockData.d.ts +1 -1
- package/dist/_dts/sdk/src/manifest/passes/pass1-fields.d.ts +19 -19
- package/dist/_dts/sdk/src/public-api/contracts.d.ts +87 -69
- package/dist/_dts/sdk/src/public-api/runtime.d.ts +1 -1
- package/dist/_dts/sdk/src/rendering/islands/types.d.ts +2 -5
- package/dist/_dts/sdk/src/version.d.ts +1 -1
- package/dist/_dts/theme-core/src/accordions/types.d.ts +11 -11
- package/dist/_dts/theme-core/src/buttons/personalities/types.d.ts +10 -10
- package/dist/_dts/theme-core/src/buttons/types.d.ts +27 -27
- package/dist/_dts/theme-core/src/cards/types.d.ts +17 -17
- package/dist/_dts/theme-core/src/inputs/types.d.ts +14 -14
- package/dist/_dts/theme-core/src/interactive/baseSchema.d.ts +2 -2
- package/dist/_dts/theme-core/src/mock-themes/all.d.ts +438 -438
- package/dist/_dts/theme-core/src/navigation/types.d.ts +16 -16
- package/dist/_dts/theme-core/src/palette/variants/types.d.ts +15 -15
- package/dist/_dts/theme-core/src/schema.d.ts +662 -662
- package/dist/_dts/theme-core/src/shared/componentStyles.d.ts +4 -4
- package/dist/_dts/theme-core/src/site-styles/designState.d.ts +15 -15
- package/dist/_dts/theme-core/src/site-styles/generatedSchemas.d.ts +7 -7
- package/dist/_dts/theme-core/src/site-styles/styleTags.d.ts +1 -1
- package/dist/_dts/theme-core/src/site-styles/tokenRecipes.d.ts +5 -5
- package/dist/_dts/ui/src/badge.d.ts +1 -1
- package/dist/_dts/ui/src/button-group.d.ts +1 -1
- package/dist/_dts/ui/src/button.d.ts +2 -2
- package/dist/_dts/ui/src/callout.d.ts +1 -1
- package/dist/_dts/ui/src/card.d.ts +1 -1
- package/dist/_dts/ui/src/surface.d.ts +2 -2
- package/dist/_dts/ui/src/toggle.d.ts +4 -4
- package/dist/cli/index.mjs +276 -24
- package/dist/client/client.mjs +607 -306
- package/dist/client/hooks.mjs +272 -23
- package/dist/client/rendering/client.mjs +179 -130
- package/dist/client/rendering/islands.mjs +68 -43
- package/dist/client/rendering.mjs +646 -363
- package/dist/preview-next/before-render.mjs +147 -1
- package/dist/preview-next/client/runtime.mjs +338 -43
- package/dist/preview-next/middleware.mjs +147 -1
- package/dist/server/components.mjs +727 -470
- package/dist/server/config-validation.mjs +488 -254
- package/dist/server/config.mjs +488 -254
- package/dist/server/data.mjs +272 -23
- package/dist/server/index.mjs +168 -2
- package/dist/server/next.mjs +476 -185
- package/dist/server/page-converter.mjs +335 -249
- package/dist/server/prebuild.mjs +1 -1
- package/dist/server/rendering/server.mjs +742 -469
- package/dist/server/rendering.mjs +742 -469
- package/dist/server/routing.mjs +274 -24
- package/dist/server/server.mjs +291 -24
- package/package.json +1 -1
|
@@ -9871,7 +9871,9 @@ var init_schemas = __esm({
|
|
|
9871
9871
|
courseTeamMemberSummarySchema = z8.object({
|
|
9872
9872
|
id: z8.string(),
|
|
9873
9873
|
name: z8.string(),
|
|
9874
|
-
|
|
9874
|
+
roleLabel: z8.string().nullable(),
|
|
9875
|
+
summary: z8.string().nullable(),
|
|
9876
|
+
profilePath: z8.string().nullable()
|
|
9875
9877
|
});
|
|
9876
9878
|
coursePricingOptionSchema = z8.object({
|
|
9877
9879
|
id: z8.string(),
|
|
@@ -10394,6 +10396,12 @@ var init_CoursePricingDisplay = __esm({
|
|
|
10394
10396
|
|
|
10395
10397
|
// ../blocks/src/system/runtime/nodes/event-details/view.tsx
|
|
10396
10398
|
import { Fragment as Fragment3, jsx as jsx23, jsxs as jsxs9 } from "react/jsx-runtime";
|
|
10399
|
+
function TeamMemberName({
|
|
10400
|
+
name,
|
|
10401
|
+
profilePath
|
|
10402
|
+
}) {
|
|
10403
|
+
return profilePath ? /* @__PURE__ */ jsx23("a", { href: profilePath, className: "rb-hover-opacity-80", children: /* @__PURE__ */ jsx23("strong", { children: name }) }) : /* @__PURE__ */ jsx23("strong", { children: name });
|
|
10404
|
+
}
|
|
10397
10405
|
function EventDetailsView({
|
|
10398
10406
|
selection,
|
|
10399
10407
|
showVenue,
|
|
@@ -10457,7 +10465,13 @@ function EventDetailsView({
|
|
|
10457
10465
|
teamMembers.length > 0 ? /* @__PURE__ */ jsxs9("div", { className: "rb-mt-6", children: [
|
|
10458
10466
|
/* @__PURE__ */ jsx23("div", { className: "rb-label rb-mb-2", children: "Team members" }),
|
|
10459
10467
|
/* @__PURE__ */ jsx23("div", { className: "rb-flex rb-flex-col rb-gap-3", children: teamMembers.map((teamMember) => /* @__PURE__ */ jsxs9("div", { children: [
|
|
10460
|
-
/* @__PURE__ */ jsx23("p", { children: /* @__PURE__ */ jsx23(
|
|
10468
|
+
/* @__PURE__ */ jsx23("p", { children: /* @__PURE__ */ jsx23(
|
|
10469
|
+
TeamMemberName,
|
|
10470
|
+
{
|
|
10471
|
+
name: teamMember.name,
|
|
10472
|
+
profilePath: teamMember.profilePath
|
|
10473
|
+
}
|
|
10474
|
+
) }),
|
|
10461
10475
|
teamMember.summary ? /* @__PURE__ */ jsx23("p", { className: "rb-caption status-muted", children: teamMember.summary }) : null
|
|
10462
10476
|
] }, teamMember.id)) })
|
|
10463
10477
|
] }) : null,
|
|
@@ -11007,6 +11021,12 @@ var init_runs = __esm({
|
|
|
11007
11021
|
|
|
11008
11022
|
// ../blocks/src/system/runtime/nodes/course-details/view.tsx
|
|
11009
11023
|
import { jsx as jsx27, jsxs as jsxs13 } from "react/jsx-runtime";
|
|
11024
|
+
function TeamMemberName2({
|
|
11025
|
+
name,
|
|
11026
|
+
profilePath
|
|
11027
|
+
}) {
|
|
11028
|
+
return profilePath ? /* @__PURE__ */ jsx27("a", { href: profilePath, className: "rb-hover-opacity-80", children: /* @__PURE__ */ jsx27("strong", { children: name }) }) : /* @__PURE__ */ jsx27("strong", { children: name });
|
|
11029
|
+
}
|
|
11010
11030
|
function parseLimit2(value, fallback2) {
|
|
11011
11031
|
if (value === "all") return "all";
|
|
11012
11032
|
const n = typeof value === "string" ? Number.parseInt(value, 10) : typeof value === "number" ? value : NaN;
|
|
@@ -11064,7 +11084,13 @@ function CourseDetailsView(props2) {
|
|
|
11064
11084
|
teamMembers.length > 0 && /* @__PURE__ */ jsxs13("div", { children: [
|
|
11065
11085
|
/* @__PURE__ */ jsx27("div", { className: "rb-label rb-mb-2", children: "Team members" }),
|
|
11066
11086
|
/* @__PURE__ */ jsx27("div", { className: "rb-flex rb-flex-col rb-gap-3", children: teamMembers.map((teamMember) => /* @__PURE__ */ jsxs13("div", { children: [
|
|
11067
|
-
/* @__PURE__ */ jsx27("p", { children: /* @__PURE__ */ jsx27(
|
|
11087
|
+
/* @__PURE__ */ jsx27("p", { children: /* @__PURE__ */ jsx27(
|
|
11088
|
+
TeamMemberName2,
|
|
11089
|
+
{
|
|
11090
|
+
name: teamMember.name,
|
|
11091
|
+
profilePath: teamMember.profilePath
|
|
11092
|
+
}
|
|
11093
|
+
) }),
|
|
11068
11094
|
teamMember.summary && /* @__PURE__ */ jsx27("p", { className: "rb-caption status-muted", children: teamMember.summary })
|
|
11069
11095
|
] }, teamMember.id)) })
|
|
11070
11096
|
] })
|
|
@@ -11838,7 +11864,9 @@ var init_schemas2 = __esm({
|
|
|
11838
11864
|
publicTeamMemberSummarySchema = z9.object({
|
|
11839
11865
|
id: z9.string(),
|
|
11840
11866
|
name: z9.string(),
|
|
11841
|
-
|
|
11867
|
+
roleLabel: z9.string().nullable(),
|
|
11868
|
+
summary: z9.string().nullable(),
|
|
11869
|
+
profilePath: z9.string().nullable()
|
|
11842
11870
|
});
|
|
11843
11871
|
publicEventSchema = z9.object({
|
|
11844
11872
|
kind: z9.enum(["event", "course_session"]).optional(),
|
|
@@ -18706,7 +18734,19 @@ var init_teamMember = __esm({
|
|
|
18706
18734
|
bind("photo")
|
|
18707
18735
|
)
|
|
18708
18736
|
]),
|
|
18709
|
-
|
|
18737
|
+
link(
|
|
18738
|
+
{
|
|
18739
|
+
href: { $bind: { from: "profilePath" } },
|
|
18740
|
+
className: "rb-team-member-name-link"
|
|
18741
|
+
},
|
|
18742
|
+
[text({ as: "h3" }, bind("name"))],
|
|
18743
|
+
when("profilePath")
|
|
18744
|
+
),
|
|
18745
|
+
text(
|
|
18746
|
+
{ as: "h3" },
|
|
18747
|
+
when("profilePath", { not: true }),
|
|
18748
|
+
bind("name")
|
|
18749
|
+
),
|
|
18710
18750
|
text({ as: "p", className: "rb-team-member-role" }, when("role"), bind("role")),
|
|
18711
18751
|
richText(
|
|
18712
18752
|
{ className: "rb-prose rb-max-w-none" },
|
|
@@ -35488,7 +35528,16 @@ var init_CourseRegistrationErrorBoundary = __esm({
|
|
|
35488
35528
|
});
|
|
35489
35529
|
|
|
35490
35530
|
// ../blocks/src/system/runtime/nodes/course-registration/components.tsx
|
|
35531
|
+
import React19 from "react";
|
|
35491
35532
|
import { Fragment as Fragment15, jsx as jsx105, jsxs as jsxs78 } from "react/jsx-runtime";
|
|
35533
|
+
function TeamMemberInlineList({
|
|
35534
|
+
teamMembers
|
|
35535
|
+
}) {
|
|
35536
|
+
return /* @__PURE__ */ jsx105(Fragment15, { children: teamMembers.map((teamMember, index) => /* @__PURE__ */ jsxs78(React19.Fragment, { children: [
|
|
35537
|
+
index > 0 ? ", " : "",
|
|
35538
|
+
teamMember.profilePath ? /* @__PURE__ */ jsx105("a", { href: teamMember.profilePath, children: teamMember.name }) : teamMember.name
|
|
35539
|
+
] }, teamMember.id)) });
|
|
35540
|
+
}
|
|
35492
35541
|
function CourseCard({
|
|
35493
35542
|
course,
|
|
35494
35543
|
isSelected,
|
|
@@ -35569,7 +35618,7 @@ function CourseSummary({
|
|
|
35569
35618
|
teamMembers.length > 0 && /* @__PURE__ */ jsxs78("div", { className: "cr-summary__venue", children: [
|
|
35570
35619
|
/* @__PURE__ */ jsx105("strong", { children: "Team:" }),
|
|
35571
35620
|
" ",
|
|
35572
|
-
|
|
35621
|
+
/* @__PURE__ */ jsx105(TeamMemberInlineList, { teamMembers })
|
|
35573
35622
|
] }),
|
|
35574
35623
|
showPrice && pricing.display.kind !== "unavailable" && /* @__PURE__ */ jsxs78("p", { className: "cr-summary__price", children: [
|
|
35575
35624
|
/* @__PURE__ */ jsx105("strong", { children: pricing.selectableOptions.length > 0 ? "Pricing:" : "Price:" }),
|
|
@@ -37127,7 +37176,7 @@ var init_location_map_client = __esm({
|
|
|
37127
37176
|
});
|
|
37128
37177
|
|
|
37129
37178
|
// ../blocks/src/system/runtime/nodes/shop-commerce-store.ts
|
|
37130
|
-
import * as
|
|
37179
|
+
import * as React21 from "react";
|
|
37131
37180
|
function storageKey(siteId) {
|
|
37132
37181
|
return `riverbank:shop-cart:${siteId}`;
|
|
37133
37182
|
}
|
|
@@ -37143,8 +37192,8 @@ function addPassToCommerceCart(siteId, input) {
|
|
|
37143
37192
|
}
|
|
37144
37193
|
function useCommerceCart(siteId) {
|
|
37145
37194
|
const effectiveSiteId = siteId ?? "unknown";
|
|
37146
|
-
const store =
|
|
37147
|
-
const state =
|
|
37195
|
+
const store = React21.useMemo(() => getStore(effectiveSiteId), [effectiveSiteId]);
|
|
37196
|
+
const state = React21.useSyncExternalStore(
|
|
37148
37197
|
(listener) => store.subscribe(listener),
|
|
37149
37198
|
() => store.getSnapshot(),
|
|
37150
37199
|
() => EMPTY_STATE
|
|
@@ -37239,11 +37288,11 @@ var init_shop_commerce_store = __esm({
|
|
|
37239
37288
|
});
|
|
37240
37289
|
|
|
37241
37290
|
// ../blocks/src/system/runtime/nodes/shop-add-feedback.tsx
|
|
37242
|
-
import * as
|
|
37291
|
+
import * as React22 from "react";
|
|
37243
37292
|
import { jsx as jsx111, jsxs as jsxs82 } from "react/jsx-runtime";
|
|
37244
37293
|
function useTransientShopAddFeedback(timeoutMs = DEFAULT_TIMEOUT_MS) {
|
|
37245
|
-
const [activeKey, setActiveKey] =
|
|
37246
|
-
|
|
37294
|
+
const [activeKey, setActiveKey] = React22.useState(null);
|
|
37295
|
+
React22.useEffect(() => {
|
|
37247
37296
|
if (!activeKey) return;
|
|
37248
37297
|
const timeoutId = window.setTimeout(() => {
|
|
37249
37298
|
setActiveKey((current) => current === activeKey ? null : current);
|
|
@@ -37400,7 +37449,7 @@ var init_shop_state = __esm({
|
|
|
37400
37449
|
});
|
|
37401
37450
|
|
|
37402
37451
|
// ../blocks/src/system/runtime/nodes/shop.client.tsx
|
|
37403
|
-
import
|
|
37452
|
+
import React23, { useCallback as useCallback10, useEffect as useEffect21, useRef as useRef11, useState as useState17 } from "react";
|
|
37404
37453
|
import { Fragment as Fragment17, jsx as jsx112, jsxs as jsxs83 } from "react/jsx-runtime";
|
|
37405
37454
|
function ShopClient(props2) {
|
|
37406
37455
|
return /* @__PURE__ */ jsx112(PassesMembershipsController, { render: props2.render });
|
|
@@ -37412,7 +37461,7 @@ function getCheckoutModalTitle(checkout2) {
|
|
|
37412
37461
|
}
|
|
37413
37462
|
function PassesMembershipsController({ render }) {
|
|
37414
37463
|
const api = useBlockApi();
|
|
37415
|
-
const [state, dispatch] =
|
|
37464
|
+
const [state, dispatch] = React23.useReducer(
|
|
37416
37465
|
shopPassesMembershipsReducer,
|
|
37417
37466
|
initialShopPassesMembershipsState
|
|
37418
37467
|
);
|
|
@@ -39630,7 +39679,7 @@ var init_embla_carousel_react_esm = __esm({
|
|
|
39630
39679
|
});
|
|
39631
39680
|
|
|
39632
39681
|
// ../blocks/src/system/runtime/nodes/carousel.client.tsx
|
|
39633
|
-
import
|
|
39682
|
+
import React24 from "react";
|
|
39634
39683
|
import { Fragment as Fragment18, jsx as jsx113, jsxs as jsxs84 } from "react/jsx-runtime";
|
|
39635
39684
|
function normalizeCarouselProps(input) {
|
|
39636
39685
|
const transition = input.transition === "fade" ? "fade" : "slide";
|
|
@@ -39685,8 +39734,8 @@ var init_carousel_client = __esm({
|
|
|
39685
39734
|
autoplayDelay,
|
|
39686
39735
|
loop
|
|
39687
39736
|
}) => {
|
|
39688
|
-
const slides =
|
|
39689
|
-
const normalized =
|
|
39737
|
+
const slides = React24.Children.toArray(children).filter(Boolean);
|
|
39738
|
+
const normalized = React24.useMemo(
|
|
39690
39739
|
() => normalizeCarouselProps({
|
|
39691
39740
|
slidesToShow,
|
|
39692
39741
|
transition,
|
|
@@ -39709,11 +39758,11 @@ var init_carousel_client = __esm({
|
|
|
39709
39758
|
]
|
|
39710
39759
|
);
|
|
39711
39760
|
const resolvedSlides = resolveSlidesToShowMobile(normalized.slidesToShow);
|
|
39712
|
-
const cssVars =
|
|
39761
|
+
const cssVars = React24.useMemo(
|
|
39713
39762
|
() => getCarouselSlidesToShowCssVars(normalized.slidesToShow),
|
|
39714
39763
|
[normalized.slidesToShow]
|
|
39715
39764
|
);
|
|
39716
|
-
const plugins =
|
|
39765
|
+
const plugins = React24.useMemo(() => {
|
|
39717
39766
|
if (!normalized.autoplay) return void 0;
|
|
39718
39767
|
return [
|
|
39719
39768
|
Autoplay({
|
|
@@ -39735,11 +39784,11 @@ var init_carousel_client = __esm({
|
|
|
39735
39784
|
},
|
|
39736
39785
|
plugins
|
|
39737
39786
|
);
|
|
39738
|
-
const [selectedIndex, setSelectedIndex] =
|
|
39739
|
-
const [scrollSnaps, setScrollSnaps] =
|
|
39740
|
-
const [canScrollPrev, setCanScrollPrev] =
|
|
39741
|
-
const [canScrollNext, setCanScrollNext] =
|
|
39742
|
-
|
|
39787
|
+
const [selectedIndex, setSelectedIndex] = React24.useState(0);
|
|
39788
|
+
const [scrollSnaps, setScrollSnaps] = React24.useState([]);
|
|
39789
|
+
const [canScrollPrev, setCanScrollPrev] = React24.useState(false);
|
|
39790
|
+
const [canScrollNext, setCanScrollNext] = React24.useState(false);
|
|
39791
|
+
React24.useEffect(() => {
|
|
39743
39792
|
if (!api) return;
|
|
39744
39793
|
const onInit = () => {
|
|
39745
39794
|
setScrollSnaps(api.scrollSnapList());
|
|
@@ -39762,7 +39811,7 @@ var init_carousel_client = __esm({
|
|
|
39762
39811
|
api.off("reInit", onSelect);
|
|
39763
39812
|
};
|
|
39764
39813
|
}, [api]);
|
|
39765
|
-
|
|
39814
|
+
React24.useEffect(() => {
|
|
39766
39815
|
if (!api || !normalized.autoplay) return;
|
|
39767
39816
|
const autoplayPlugin = api.plugins()?.autoplay;
|
|
39768
39817
|
if (!autoplayPlugin) return;
|
|
@@ -39973,16 +40022,16 @@ var init_shop_checkout_state = __esm({
|
|
|
39973
40022
|
});
|
|
39974
40023
|
|
|
39975
40024
|
// ../blocks/src/system/runtime/nodes/shop-commerce.tsx
|
|
39976
|
-
import * as
|
|
40025
|
+
import * as React25 from "react";
|
|
39977
40026
|
import { Fragment as Fragment19, jsx as jsx114, jsxs as jsxs85 } from "react/jsx-runtime";
|
|
39978
40027
|
function ProductListController(props2) {
|
|
39979
40028
|
const api = useBlockApi();
|
|
39980
40029
|
const cart2 = useCommerceCart(api.config.siteId);
|
|
39981
40030
|
const addFeedback = useTransientShopAddFeedback();
|
|
39982
|
-
const [variantSelection, setVariantSelection] =
|
|
40031
|
+
const [variantSelection, setVariantSelection] = React25.useState(
|
|
39983
40032
|
() => Object.fromEntries(props2.render.display.cards.map((card) => [card.productId, card.selectedVariantId]))
|
|
39984
40033
|
);
|
|
39985
|
-
const cards =
|
|
40034
|
+
const cards = React25.useMemo(
|
|
39986
40035
|
() => props2.render.hydration.products.map(
|
|
39987
40036
|
(product) => buildProductCardDisplay(
|
|
39988
40037
|
product,
|
|
@@ -39997,7 +40046,7 @@ function ProductListController(props2) {
|
|
|
39997
40046
|
),
|
|
39998
40047
|
[props2.render.hydration, variantSelection]
|
|
39999
40048
|
);
|
|
40000
|
-
const display =
|
|
40049
|
+
const display = React25.useMemo(
|
|
40001
40050
|
() => ({
|
|
40002
40051
|
...props2.render.display,
|
|
40003
40052
|
state: cards.length === 0 ? "empty" : "ready",
|
|
@@ -40059,17 +40108,17 @@ function ProductDetailController(props2) {
|
|
|
40059
40108
|
const api = useBlockApi();
|
|
40060
40109
|
const cart2 = useCommerceCart(api.config.siteId);
|
|
40061
40110
|
const addFeedback = useTransientShopAddFeedback();
|
|
40062
|
-
const selectedProduct =
|
|
40111
|
+
const selectedProduct = React25.useMemo(
|
|
40063
40112
|
() => props2.render.hydration.products.find((product) => product.id === props2.render.hydration.productId) ?? null,
|
|
40064
40113
|
[props2.render.hydration.productId, props2.render.hydration.products]
|
|
40065
40114
|
);
|
|
40066
|
-
const [variantId, setVariantId] =
|
|
40115
|
+
const [variantId, setVariantId] = React25.useState(
|
|
40067
40116
|
props2.render.display.state === "ready" ? props2.render.display.selectedVariantId : null
|
|
40068
40117
|
);
|
|
40069
|
-
|
|
40118
|
+
React25.useEffect(() => {
|
|
40070
40119
|
setVariantId(props2.render.display.state === "ready" ? props2.render.display.selectedVariantId : null);
|
|
40071
40120
|
}, [props2.render.display]);
|
|
40072
|
-
const display =
|
|
40121
|
+
const display = React25.useMemo(
|
|
40073
40122
|
() => buildProductDetailDisplay(
|
|
40074
40123
|
selectedProduct,
|
|
40075
40124
|
{
|
|
@@ -40137,7 +40186,7 @@ function ProductDetailController(props2) {
|
|
|
40137
40186
|
function CartController(props2) {
|
|
40138
40187
|
const api = useBlockApi();
|
|
40139
40188
|
const cart2 = useCommerceCart(api.config.siteId);
|
|
40140
|
-
const display =
|
|
40189
|
+
const display = React25.useMemo(
|
|
40141
40190
|
() => getShopDisplayForItems(props2.render, cart2.items),
|
|
40142
40191
|
[cart2.items, props2.render]
|
|
40143
40192
|
);
|
|
@@ -40180,11 +40229,11 @@ function CartController(props2) {
|
|
|
40180
40229
|
function CheckoutController(props2) {
|
|
40181
40230
|
const api = useBlockApi();
|
|
40182
40231
|
const cart2 = useCommerceCart(api.config.siteId);
|
|
40183
|
-
const [state, dispatch] =
|
|
40232
|
+
const [state, dispatch] = React25.useReducer(
|
|
40184
40233
|
shopCheckoutReducer,
|
|
40185
40234
|
initialShopCheckoutState
|
|
40186
40235
|
);
|
|
40187
|
-
|
|
40236
|
+
React25.useEffect(() => {
|
|
40188
40237
|
const checkout2 = consumeSearchParam("checkout");
|
|
40189
40238
|
if (checkout2 === "success") {
|
|
40190
40239
|
cart2.clear();
|
|
@@ -40193,7 +40242,7 @@ function CheckoutController(props2) {
|
|
|
40193
40242
|
dispatch({ type: "setNotice", notice: "cancelled" });
|
|
40194
40243
|
}
|
|
40195
40244
|
}, [cart2]);
|
|
40196
|
-
const display =
|
|
40245
|
+
const display = React25.useMemo(
|
|
40197
40246
|
() => getShopDisplayForItems(props2.render, cart2.items),
|
|
40198
40247
|
[cart2.items, props2.render]
|
|
40199
40248
|
);
|
|
@@ -40353,7 +40402,7 @@ var init_checkout_client = __esm({
|
|
|
40353
40402
|
});
|
|
40354
40403
|
|
|
40355
40404
|
// ../blocks/src/system/runtime/header/HeaderCartDrawer.tsx
|
|
40356
|
-
import * as
|
|
40405
|
+
import * as React26 from "react";
|
|
40357
40406
|
import { jsx as jsx119, jsxs as jsxs86 } from "react/jsx-runtime";
|
|
40358
40407
|
function normalizeQuantityInput(value) {
|
|
40359
40408
|
const parsed = Number(value);
|
|
@@ -40403,8 +40452,8 @@ function HeaderCartDrawerItems(props2) {
|
|
|
40403
40452
|
)) });
|
|
40404
40453
|
}
|
|
40405
40454
|
function HeaderCartDrawer(props2) {
|
|
40406
|
-
const titleId =
|
|
40407
|
-
const display =
|
|
40455
|
+
const titleId = React26.useId();
|
|
40456
|
+
const display = React26.useMemo(
|
|
40408
40457
|
() => buildCartDisplay(props2.cart.items, {
|
|
40409
40458
|
heading: "Cart",
|
|
40410
40459
|
emptyMessage: "Your cart is empty.",
|
|
@@ -40618,15 +40667,15 @@ var init_HeaderCartTrigger = __esm({
|
|
|
40618
40667
|
});
|
|
40619
40668
|
|
|
40620
40669
|
// ../blocks/src/system/runtime/header/headerCartRuntime.tsx
|
|
40621
|
-
import * as
|
|
40670
|
+
import * as React27 from "react";
|
|
40622
40671
|
import { createPortal as createPortal2 } from "react-dom";
|
|
40623
40672
|
import { createRoot } from "react-dom/client";
|
|
40624
40673
|
import { Fragment as Fragment20, jsx as jsx121, jsxs as jsxs88 } from "react/jsx-runtime";
|
|
40625
40674
|
function HeaderCartRuntime(props2) {
|
|
40626
40675
|
const cart2 = useCommerceCart(props2.siteId);
|
|
40627
|
-
const itemCount =
|
|
40628
|
-
const [open, setOpen] =
|
|
40629
|
-
const checkoutHref =
|
|
40676
|
+
const itemCount = React27.useMemo(() => getCartItemCount(cart2.items), [cart2.items]);
|
|
40677
|
+
const [open, setOpen] = React27.useState(false);
|
|
40678
|
+
const checkoutHref = React27.useMemo(
|
|
40630
40679
|
() => resolveHeaderCartCheckoutHref(
|
|
40631
40680
|
props2.mounts,
|
|
40632
40681
|
typeof window === "undefined" ? null : window.location.pathname
|
|
@@ -58722,7 +58771,7 @@ function hydrateBlocksIslands(options = {}) {
|
|
|
58722
58771
|
}
|
|
58723
58772
|
|
|
58724
58773
|
// ../blocks/src/PageRenderer.tsx
|
|
58725
|
-
import * as
|
|
58774
|
+
import * as React38 from "react";
|
|
58726
58775
|
|
|
58727
58776
|
// ../blocks/src/system/manifest/registry.ts
|
|
58728
58777
|
var REGISTRY_SYMBOL = /* @__PURE__ */ Symbol.for("@riverbankcms/blocks/manifest-registry");
|
|
@@ -67181,7 +67230,26 @@ init_schema2();
|
|
|
67181
67230
|
init_defineBlock();
|
|
67182
67231
|
init_builder();
|
|
67183
67232
|
init_fragments();
|
|
67233
|
+
import { z as z61 } from "zod";
|
|
67234
|
+
init_media2();
|
|
67184
67235
|
var ITEM_NAME2 = "member";
|
|
67236
|
+
var teamMemberPhotoSchema = mediaSchema.refine((media2) => media2.type === "image", {
|
|
67237
|
+
message: "Team member photos must be image media"
|
|
67238
|
+
}).nullable();
|
|
67239
|
+
var teamMemberDataSchema = z61.object({
|
|
67240
|
+
_type: z61.literal("teamMember"),
|
|
67241
|
+
id: z61.string(),
|
|
67242
|
+
name: z61.string(),
|
|
67243
|
+
role: z61.string().nullable(),
|
|
67244
|
+
roleLabel: z61.string().nullable(),
|
|
67245
|
+
bio: z61.string().nullable(),
|
|
67246
|
+
summary: z61.string().nullable(),
|
|
67247
|
+
photo: teamMemberPhotoSchema,
|
|
67248
|
+
profilePath: z61.string().nullable()
|
|
67249
|
+
});
|
|
67250
|
+
var teamMembersDataSchema = z61.array(teamMemberDataSchema);
|
|
67251
|
+
var dynamicSourceWhen = { equals: "site_staff" };
|
|
67252
|
+
var manualSourceWhen = { equals: "site_staff", not: true };
|
|
67185
67253
|
var headingNode = text(
|
|
67186
67254
|
{ as: "h2" },
|
|
67187
67255
|
bind("content.heading"),
|
|
@@ -67271,7 +67339,15 @@ var teamMemberStackLayout = el(
|
|
|
67271
67339
|
]
|
|
67272
67340
|
),
|
|
67273
67341
|
stack({ gap: "sm", className: "rb-team-member-body rb-flex-1 rb-min-w-0" }, [
|
|
67274
|
-
|
|
67342
|
+
link(
|
|
67343
|
+
{
|
|
67344
|
+
href: { $bind: { from: "profilePath" } },
|
|
67345
|
+
className: "rb-team-member-name-link"
|
|
67346
|
+
},
|
|
67347
|
+
[text({ as: "h3" }, bind("name"))],
|
|
67348
|
+
when("profilePath")
|
|
67349
|
+
),
|
|
67350
|
+
text({ as: "h3" }, when("profilePath", { not: true }), bind("name")),
|
|
67275
67351
|
text(
|
|
67276
67352
|
{ as: "p", className: "rb-team-member-role" },
|
|
67277
67353
|
when("role"),
|
|
@@ -67285,12 +67361,18 @@ var teamMemberStackLayout = el(
|
|
|
67285
67361
|
])
|
|
67286
67362
|
]
|
|
67287
67363
|
);
|
|
67288
|
-
var
|
|
67364
|
+
var manualGridMembersNode = when("content.source", manualSourceWhen)(repeaterFragmentLayout({
|
|
67289
67365
|
collectionPath: "content.members",
|
|
67290
67366
|
itemName: ITEM_NAME2,
|
|
67291
67367
|
fragments: { teamMember: teamMemberFragment },
|
|
67292
67368
|
itemGap: "sm"
|
|
67293
|
-
});
|
|
67369
|
+
}));
|
|
67370
|
+
var dynamicGridMembersNode = when("content.source", dynamicSourceWhen)(repeaterFragmentLayout({
|
|
67371
|
+
collectionPath: "data.members",
|
|
67372
|
+
itemName: ITEM_NAME2,
|
|
67373
|
+
fragments: { teamMember: teamMemberFragment },
|
|
67374
|
+
itemGap: "sm"
|
|
67375
|
+
}));
|
|
67294
67376
|
var gridVariant = wrapVariant3(
|
|
67295
67377
|
el(
|
|
67296
67378
|
"grid",
|
|
@@ -67304,22 +67386,29 @@ var gridVariant = wrapVariant3(
|
|
|
67304
67386
|
},
|
|
67305
67387
|
gap: { $bind: { from: "content.gap", fallback: "medium" } }
|
|
67306
67388
|
},
|
|
67307
|
-
[
|
|
67389
|
+
[manualGridMembersNode, dynamicGridMembersNode]
|
|
67308
67390
|
)
|
|
67309
67391
|
);
|
|
67310
|
-
var
|
|
67392
|
+
var manualStackMembersNode = when("content.source", manualSourceWhen)(repeaterFragmentLayout({
|
|
67311
67393
|
collectionPath: "content.members",
|
|
67312
67394
|
itemName: ITEM_NAME2,
|
|
67313
67395
|
fragments: { teamMember: teamMemberFragment },
|
|
67314
67396
|
layoutOverrides: { teamMember: teamMemberStackLayout },
|
|
67315
67397
|
itemGap: "sm"
|
|
67316
|
-
});
|
|
67398
|
+
}));
|
|
67399
|
+
var dynamicStackMembersNode = when("content.source", dynamicSourceWhen)(repeaterFragmentLayout({
|
|
67400
|
+
collectionPath: "data.members",
|
|
67401
|
+
itemName: ITEM_NAME2,
|
|
67402
|
+
fragments: { teamMember: teamMemberFragment },
|
|
67403
|
+
layoutOverrides: { teamMember: teamMemberStackLayout },
|
|
67404
|
+
itemGap: "sm"
|
|
67405
|
+
}));
|
|
67317
67406
|
var stackVariant = wrapVariant3({
|
|
67318
67407
|
type: "stack",
|
|
67319
67408
|
props: {
|
|
67320
67409
|
gap: { $bind: { from: "content.gap", fallback: "medium" } }
|
|
67321
67410
|
},
|
|
67322
|
-
children: [
|
|
67411
|
+
children: [manualStackMembersNode, dynamicStackMembersNode]
|
|
67323
67412
|
});
|
|
67324
67413
|
var teamMembersManifest = createBlockManifest({
|
|
67325
67414
|
id: "block.team-members",
|
|
@@ -67334,6 +67423,18 @@ var teamMembersManifest = createBlockManifest({
|
|
|
67334
67423
|
required: false,
|
|
67335
67424
|
maxLength: 120
|
|
67336
67425
|
}),
|
|
67426
|
+
parseFieldDefinition({
|
|
67427
|
+
id: "source",
|
|
67428
|
+
type: "select",
|
|
67429
|
+
label: "Team members",
|
|
67430
|
+
description: "Choose whether to use the site-wide team or a hand-picked list.",
|
|
67431
|
+
defaultValue: "manual",
|
|
67432
|
+
options: [
|
|
67433
|
+
{ value: "manual", label: "Choose manually" },
|
|
67434
|
+
{ value: "site_staff", label: "Use all site team members" }
|
|
67435
|
+
],
|
|
67436
|
+
ui: { intent: "behavior" }
|
|
67437
|
+
}),
|
|
67337
67438
|
parseFieldDefinition({
|
|
67338
67439
|
id: "layoutAlign",
|
|
67339
67440
|
type: "select",
|
|
@@ -67436,18 +67537,24 @@ var teamMembersManifest = createBlockManifest({
|
|
|
67436
67537
|
],
|
|
67437
67538
|
ui: { intent: "display" }
|
|
67438
67539
|
}),
|
|
67439
|
-
|
|
67440
|
-
|
|
67441
|
-
|
|
67442
|
-
|
|
67443
|
-
|
|
67444
|
-
|
|
67445
|
-
|
|
67446
|
-
|
|
67447
|
-
|
|
67448
|
-
|
|
67540
|
+
{
|
|
67541
|
+
...fragmentsToRepeaterField(
|
|
67542
|
+
"members",
|
|
67543
|
+
"Team members",
|
|
67544
|
+
{ teamMember: teamMemberFragment },
|
|
67545
|
+
{
|
|
67546
|
+
minItems: 0,
|
|
67547
|
+
maxItems: 50,
|
|
67548
|
+
itemLabel: "Team member",
|
|
67549
|
+
itemLabelSource: "name",
|
|
67550
|
+
description: "Add people to this section."
|
|
67551
|
+
}
|
|
67552
|
+
),
|
|
67553
|
+
ui: {
|
|
67554
|
+
intent: "content",
|
|
67555
|
+
visibleWhen: { field: "source", equals: "manual" }
|
|
67449
67556
|
}
|
|
67450
|
-
|
|
67557
|
+
}
|
|
67451
67558
|
],
|
|
67452
67559
|
layout: gridVariant,
|
|
67453
67560
|
variants: {
|
|
@@ -67473,7 +67580,20 @@ var teamMembersManifest = createBlockManifest({
|
|
|
67473
67580
|
styleTokens: { spacing: "lg" }
|
|
67474
67581
|
});
|
|
67475
67582
|
var teamMembersBlockDefinition = {
|
|
67476
|
-
manifest: teamMembersManifest
|
|
67583
|
+
manifest: teamMembersManifest,
|
|
67584
|
+
dataSchemas: {
|
|
67585
|
+
members: teamMembersDataSchema
|
|
67586
|
+
},
|
|
67587
|
+
dataLoaders: {
|
|
67588
|
+
members: {
|
|
67589
|
+
endpoint: "listPublicTeamMembers",
|
|
67590
|
+
params: {
|
|
67591
|
+
siteId: { $bind: { from: "$root.siteId" } },
|
|
67592
|
+
stage: { $bind: { from: "$root.previewStage", fallback: "published" } }
|
|
67593
|
+
},
|
|
67594
|
+
mode: "server"
|
|
67595
|
+
}
|
|
67596
|
+
}
|
|
67477
67597
|
};
|
|
67478
67598
|
|
|
67479
67599
|
// ../blocks/src/system/blocks/location-map.ts
|
|
@@ -68586,7 +68706,7 @@ var defaultTransforms = createTransformRegistry(builtinTransformDefinitions);
|
|
|
68586
68706
|
|
|
68587
68707
|
// ../blocks/src/system/runtime/resolver.ts
|
|
68588
68708
|
init_node();
|
|
68589
|
-
import
|
|
68709
|
+
import React36 from "react";
|
|
68590
68710
|
init_registry_server();
|
|
68591
68711
|
init_layout();
|
|
68592
68712
|
var META_PATH_TO_STORE_KEY = {
|
|
@@ -69059,7 +69179,7 @@ function resolveNode2(node, context, indexFallback) {
|
|
|
69059
69179
|
blockContent: context.blockContent,
|
|
69060
69180
|
fragmentRegistry: context.fragmentRegistry
|
|
69061
69181
|
};
|
|
69062
|
-
return
|
|
69182
|
+
return React36.createElement(component, elementProps, ...children);
|
|
69063
69183
|
}
|
|
69064
69184
|
function resolveValue(value, context) {
|
|
69065
69185
|
if (value && typeof value === "object" && "$bind" in value) {
|
|
@@ -69146,7 +69266,7 @@ function getDefaultComponentRegistry() {
|
|
|
69146
69266
|
var defaultComponentRegistry = getDefaultComponentRegistry();
|
|
69147
69267
|
|
|
69148
69268
|
// ../blocks/src/system/componentFactory.ts
|
|
69149
|
-
import
|
|
69269
|
+
import React37 from "react";
|
|
69150
69270
|
init_blockOverrides();
|
|
69151
69271
|
function resolveBlockVariantKey(manifest, content) {
|
|
69152
69272
|
return resolveVariantKey(manifest, content);
|
|
@@ -69265,7 +69385,7 @@ function renderBlock(manifest, content, options = {}) {
|
|
|
69265
69385
|
const resolvedRegistry = options.registry ?? getDefaultComponentRegistry();
|
|
69266
69386
|
const resolvedTheme = options.theme ?? defaultThemeTokens;
|
|
69267
69387
|
const cleanKind = manifest.name.replace(/^block\./, "");
|
|
69268
|
-
const componentElement =
|
|
69388
|
+
const componentElement = React37.createElement(Component2, {
|
|
69269
69389
|
content,
|
|
69270
69390
|
data: options.data,
|
|
69271
69391
|
registry: resolvedRegistry,
|
|
@@ -69281,7 +69401,7 @@ function renderBlock(manifest, content, options = {}) {
|
|
|
69281
69401
|
return componentElement;
|
|
69282
69402
|
}
|
|
69283
69403
|
const styleGroup = typeof content.styleGroup === "string" ? content.styleGroup : void 0;
|
|
69284
|
-
return
|
|
69404
|
+
return React37.createElement(
|
|
69285
69405
|
"div",
|
|
69286
69406
|
{
|
|
69287
69407
|
className: `block-${cleanKind}`,
|
|
@@ -69464,7 +69584,7 @@ function PageRenderer({
|
|
|
69464
69584
|
customBlocks,
|
|
69465
69585
|
isEditingMode = false
|
|
69466
69586
|
}) {
|
|
69467
|
-
const imageResolveContext =
|
|
69587
|
+
const imageResolveContext = React38.useMemo(
|
|
69468
69588
|
() => resolvePageRendererImageResolveContext(dataContext),
|
|
69469
69589
|
[
|
|
69470
69590
|
dataContext?.imageResolveContext,
|
|
@@ -69575,7 +69695,7 @@ function getCachedManifestValidator(manifest, options = {}) {
|
|
|
69575
69695
|
manifestValidatorCache.set(manifest, { ...cacheEntry, [mode]: created });
|
|
69576
69696
|
return created;
|
|
69577
69697
|
}
|
|
69578
|
-
var MemoBlockSection =
|
|
69698
|
+
var MemoBlockSection = React38.memo(
|
|
69579
69699
|
function MemoBlockSection2({
|
|
69580
69700
|
themeTokens,
|
|
69581
69701
|
themeConfig,
|
|
@@ -71226,7 +71346,7 @@ function ThemeScope({
|
|
|
71226
71346
|
}
|
|
71227
71347
|
|
|
71228
71348
|
// ../theme-core/src/ThemeFontLoader.tsx
|
|
71229
|
-
import * as
|
|
71349
|
+
import * as React39 from "react";
|
|
71230
71350
|
init_selectorUtils();
|
|
71231
71351
|
import { Fragment as Fragment24, jsx as jsx157, jsxs as jsxs103 } from "react/jsx-runtime";
|
|
71232
71352
|
|
|
@@ -71444,6 +71564,7 @@ function coercePayload(payload) {
|
|
|
71444
71564
|
if ("form" in record && typeof record.form !== "function") return record.form;
|
|
71445
71565
|
if ("entries" in record && typeof record.entries !== "function") return record.entries;
|
|
71446
71566
|
if ("services" in record && typeof record.services !== "function") return record.services;
|
|
71567
|
+
if ("teamMembers" in record && typeof record.teamMembers !== "function") return record.teamMembers;
|
|
71447
71568
|
}
|
|
71448
71569
|
return payload;
|
|
71449
71570
|
}
|
|
@@ -71524,6 +71645,7 @@ var SUPPORTED_LOADER_ENDPOINTS = [
|
|
|
71524
71645
|
"listPublicEvents",
|
|
71525
71646
|
"getPublicEventDetails",
|
|
71526
71647
|
"listPublicCourses",
|
|
71648
|
+
"listPublicTeamMembers",
|
|
71527
71649
|
"listPublicProducts",
|
|
71528
71650
|
"listPublicPasses",
|
|
71529
71651
|
"listPublicMemberships",
|
|
@@ -71580,6 +71702,10 @@ function normalizeLoaderParams(endpoint, params, context) {
|
|
|
71580
71702
|
ensureSiteId(out, context);
|
|
71581
71703
|
return out;
|
|
71582
71704
|
}
|
|
71705
|
+
if (endpoint === "listPublicTeamMembers") {
|
|
71706
|
+
ensureSiteId(out, context);
|
|
71707
|
+
return out;
|
|
71708
|
+
}
|
|
71583
71709
|
if (endpoint === "getPublishedEntryPreview") {
|
|
71584
71710
|
ensureSiteId(out, context);
|
|
71585
71711
|
return out;
|
|
@@ -71631,7 +71757,7 @@ function BlocksIslandsHydrator(props2 = {}) {
|
|
|
71631
71757
|
}
|
|
71632
71758
|
|
|
71633
71759
|
// src/rendering/blocks-page-renderer.ts
|
|
71634
|
-
import * as
|
|
71760
|
+
import * as React40 from "react";
|
|
71635
71761
|
|
|
71636
71762
|
// ../blocks/src/rendering/server.ts
|
|
71637
71763
|
init_schema2();
|
|
@@ -71711,7 +71837,7 @@ function toBlocksBlockOverrides(overrides) {
|
|
|
71711
71837
|
for (const [key, OverrideComponent] of Object.entries(overrides)) {
|
|
71712
71838
|
result[key] = function BlocksOverrideAdapter(props2) {
|
|
71713
71839
|
const sdkOverride = OverrideComponent;
|
|
71714
|
-
return
|
|
71840
|
+
return React40.createElement(sdkOverride, props2);
|
|
71715
71841
|
};
|
|
71716
71842
|
}
|
|
71717
71843
|
return result;
|
|
@@ -71726,15 +71852,15 @@ function PageRenderer2(props2) {
|
|
|
71726
71852
|
sdkConfig: blocksSdkConfig,
|
|
71727
71853
|
customBlocks: normalizeSdkCustomBlocks(props2.customBlocks)
|
|
71728
71854
|
};
|
|
71729
|
-
return
|
|
71855
|
+
return React40.createElement(PageRenderer, blocksProps);
|
|
71730
71856
|
}
|
|
71731
71857
|
|
|
71732
71858
|
// src/rendering/blocks-theme-scope.ts
|
|
71733
|
-
import * as
|
|
71859
|
+
import * as React41 from "react";
|
|
71734
71860
|
function ThemeScope2(props2) {
|
|
71735
71861
|
const { theme, children, ...rest } = props2;
|
|
71736
71862
|
const blocksTheme = parseBlocksTheme(theme);
|
|
71737
|
-
return
|
|
71863
|
+
return React41.createElement(ThemeScope, {
|
|
71738
71864
|
...rest,
|
|
71739
71865
|
theme: blocksTheme,
|
|
71740
71866
|
children: children ?? null
|
|
@@ -73258,13 +73384,150 @@ var ENDPOINT_DEFINITIONS = {
|
|
|
73258
73384
|
"server:internal_error"
|
|
73259
73385
|
]
|
|
73260
73386
|
},
|
|
73261
|
-
|
|
73387
|
+
removeAppointmentResource: {
|
|
73262
73388
|
path: "/sites/{siteId}/bookings/resources/{resourceId}",
|
|
73263
73389
|
method: "DELETE",
|
|
73264
73390
|
auth: "user",
|
|
73265
73391
|
responseKind: "json",
|
|
73266
73392
|
errors: ["resource:not_found", "server:internal_error"]
|
|
73267
73393
|
},
|
|
73394
|
+
createTeamMemberProfile: {
|
|
73395
|
+
path: "/sites/{siteId}/bookings/resources/{resourceId}/profile",
|
|
73396
|
+
method: "POST",
|
|
73397
|
+
auth: "user",
|
|
73398
|
+
responseKind: "json",
|
|
73399
|
+
errors: [
|
|
73400
|
+
"validation:invalid_input",
|
|
73401
|
+
"resource:not_found",
|
|
73402
|
+
"resource:conflict",
|
|
73403
|
+
"server:internal_error"
|
|
73404
|
+
]
|
|
73405
|
+
},
|
|
73406
|
+
updateTeamMemberProfilePolicy: {
|
|
73407
|
+
path: "/sites/{siteId}/bookings/resources/profile-policy",
|
|
73408
|
+
method: "PUT",
|
|
73409
|
+
auth: "user",
|
|
73410
|
+
responseKind: "json",
|
|
73411
|
+
errors: ["validation:invalid_input", "server:internal_error"]
|
|
73412
|
+
},
|
|
73413
|
+
updateTeamMemberProfileContent: {
|
|
73414
|
+
path: "/sites/{siteId}/bookings/resources/{resourceId}/profile/{entryId}/content",
|
|
73415
|
+
method: "PUT",
|
|
73416
|
+
tags: [
|
|
73417
|
+
"site-{siteId}",
|
|
73418
|
+
"content-{siteId}-team-member",
|
|
73419
|
+
"content-entry-{entryId}"
|
|
73420
|
+
],
|
|
73421
|
+
auth: "user",
|
|
73422
|
+
responseKind: "json",
|
|
73423
|
+
errors: [
|
|
73424
|
+
"validation:invalid_input",
|
|
73425
|
+
"resource:not_found",
|
|
73426
|
+
"resource:conflict",
|
|
73427
|
+
"server:internal_error"
|
|
73428
|
+
]
|
|
73429
|
+
},
|
|
73430
|
+
publishTeamMemberProfile: {
|
|
73431
|
+
path: "/sites/{siteId}/bookings/resources/{resourceId}/profile/{entryId}/publish",
|
|
73432
|
+
method: "POST",
|
|
73433
|
+
tags: [
|
|
73434
|
+
"site-{siteId}",
|
|
73435
|
+
"content-{siteId}-team-member",
|
|
73436
|
+
"content-entry-{entryId}"
|
|
73437
|
+
],
|
|
73438
|
+
auth: "user",
|
|
73439
|
+
responseKind: "json",
|
|
73440
|
+
errors: [
|
|
73441
|
+
"validation:invalid_input",
|
|
73442
|
+
"resource:not_found",
|
|
73443
|
+
"server:internal_error"
|
|
73444
|
+
]
|
|
73445
|
+
},
|
|
73446
|
+
discardTeamMemberProfileDraft: {
|
|
73447
|
+
path: "/sites/{siteId}/bookings/resources/{resourceId}/profile/{entryId}/discard",
|
|
73448
|
+
method: "POST",
|
|
73449
|
+
tags: [
|
|
73450
|
+
"site-{siteId}",
|
|
73451
|
+
"content-{siteId}-team-member",
|
|
73452
|
+
"content-entry-{entryId}"
|
|
73453
|
+
],
|
|
73454
|
+
auth: "user",
|
|
73455
|
+
responseKind: "json",
|
|
73456
|
+
errors: [
|
|
73457
|
+
"validation:invalid_input",
|
|
73458
|
+
"resource:not_found",
|
|
73459
|
+
"resource:conflict",
|
|
73460
|
+
"server:internal_error"
|
|
73461
|
+
]
|
|
73462
|
+
},
|
|
73463
|
+
unpublishTeamMemberProfile: {
|
|
73464
|
+
path: "/sites/{siteId}/bookings/resources/{resourceId}/profile/{entryId}/unpublish",
|
|
73465
|
+
method: "POST",
|
|
73466
|
+
tags: [
|
|
73467
|
+
"site-{siteId}",
|
|
73468
|
+
"content-{siteId}-team-member",
|
|
73469
|
+
"content-entry-{entryId}"
|
|
73470
|
+
],
|
|
73471
|
+
auth: "user",
|
|
73472
|
+
responseKind: "json",
|
|
73473
|
+
errors: [
|
|
73474
|
+
"validation:invalid_input",
|
|
73475
|
+
"resource:not_found",
|
|
73476
|
+
"resource:conflict",
|
|
73477
|
+
"server:internal_error"
|
|
73478
|
+
]
|
|
73479
|
+
},
|
|
73480
|
+
scheduleTeamMemberProfile: {
|
|
73481
|
+
path: "/sites/{siteId}/bookings/resources/{resourceId}/profile/{entryId}/schedule",
|
|
73482
|
+
method: "POST",
|
|
73483
|
+
tags: [
|
|
73484
|
+
"site-{siteId}",
|
|
73485
|
+
"content-{siteId}-team-member",
|
|
73486
|
+
"content-entry-{entryId}"
|
|
73487
|
+
],
|
|
73488
|
+
auth: "user",
|
|
73489
|
+
responseKind: "json",
|
|
73490
|
+
errors: [
|
|
73491
|
+
"validation:invalid_input",
|
|
73492
|
+
"resource:not_found",
|
|
73493
|
+
"resource:conflict",
|
|
73494
|
+
"server:internal_error"
|
|
73495
|
+
]
|
|
73496
|
+
},
|
|
73497
|
+
cancelScheduledTeamMemberProfile: {
|
|
73498
|
+
path: "/sites/{siteId}/bookings/resources/{resourceId}/profile/{entryId}/schedule",
|
|
73499
|
+
method: "DELETE",
|
|
73500
|
+
tags: [
|
|
73501
|
+
"site-{siteId}",
|
|
73502
|
+
"content-{siteId}-team-member",
|
|
73503
|
+
"content-entry-{entryId}"
|
|
73504
|
+
],
|
|
73505
|
+
auth: "user",
|
|
73506
|
+
responseKind: "json",
|
|
73507
|
+
errors: [
|
|
73508
|
+
"validation:invalid_input",
|
|
73509
|
+
"resource:not_found",
|
|
73510
|
+
"resource:conflict",
|
|
73511
|
+
"server:internal_error"
|
|
73512
|
+
]
|
|
73513
|
+
},
|
|
73514
|
+
updateTeamMemberProfileRouteMetadata: {
|
|
73515
|
+
path: "/sites/{siteId}/bookings/resources/{resourceId}/profile/routes/{routeId}/metadata",
|
|
73516
|
+
method: "PATCH",
|
|
73517
|
+
tags: [
|
|
73518
|
+
TAG_TEMPLATES.siteCollection,
|
|
73519
|
+
TAG_TEMPLATES.siteRoutableContent,
|
|
73520
|
+
TAG_TEMPLATES.routeById
|
|
73521
|
+
],
|
|
73522
|
+
auth: "user",
|
|
73523
|
+
responseKind: "json",
|
|
73524
|
+
errors: [
|
|
73525
|
+
"validation:invalid_input",
|
|
73526
|
+
"resource:not_found",
|
|
73527
|
+
"resource:conflict",
|
|
73528
|
+
"server:internal_error"
|
|
73529
|
+
]
|
|
73530
|
+
},
|
|
73268
73531
|
listAppointmentServices: {
|
|
73269
73532
|
path: "/sites/{siteId}/bookings/services",
|
|
73270
73533
|
method: "GET",
|
|
@@ -75638,6 +75901,15 @@ var ENDPOINT_DEFINITIONS = {
|
|
|
75638
75901
|
auth: "public",
|
|
75639
75902
|
responseKind: "json"
|
|
75640
75903
|
},
|
|
75904
|
+
listPublicTeamMembers: {
|
|
75905
|
+
path: "/public/sites/{siteId}/team-members",
|
|
75906
|
+
method: "GET",
|
|
75907
|
+
revalidate: 60,
|
|
75908
|
+
tags: ["public-team-members-{siteId}"],
|
|
75909
|
+
errors: [],
|
|
75910
|
+
auth: "public",
|
|
75911
|
+
responseKind: "json"
|
|
75912
|
+
},
|
|
75641
75913
|
getPublicCourse: {
|
|
75642
75914
|
path: "/public/sites/{siteId}/courses/{courseId}",
|
|
75643
75915
|
method: "GET",
|
|
@@ -77929,60 +78201,60 @@ var ENDPOINT_DEFINITIONS = {
|
|
|
77929
78201
|
};
|
|
77930
78202
|
|
|
77931
78203
|
// ../api/src/navigation/contracts.ts
|
|
77932
|
-
import { z as
|
|
77933
|
-
var portalLinkPayloadSchema =
|
|
77934
|
-
kind:
|
|
77935
|
-
path:
|
|
77936
|
-
labels:
|
|
77937
|
-
loggedOut:
|
|
77938
|
-
loggedIn:
|
|
78204
|
+
import { z as z62 } from "zod";
|
|
78205
|
+
var portalLinkPayloadSchema = z62.object({
|
|
78206
|
+
kind: z62.literal("portal"),
|
|
78207
|
+
path: z62.string().trim().startsWith("/").optional(),
|
|
78208
|
+
labels: z62.object({
|
|
78209
|
+
loggedOut: z62.string().trim().min(1).optional(),
|
|
78210
|
+
loggedIn: z62.string().trim().min(1).optional()
|
|
77939
78211
|
}).optional()
|
|
77940
78212
|
});
|
|
77941
|
-
var cartLinkLabelConfigSchema =
|
|
77942
|
-
|
|
77943
|
-
kind:
|
|
78213
|
+
var cartLinkLabelConfigSchema = z62.discriminatedUnion("kind", [
|
|
78214
|
+
z62.object({
|
|
78215
|
+
kind: z62.literal("icon-only")
|
|
77944
78216
|
}),
|
|
77945
|
-
|
|
77946
|
-
kind:
|
|
77947
|
-
label:
|
|
78217
|
+
z62.object({
|
|
78218
|
+
kind: z62.literal("icon-with-label"),
|
|
78219
|
+
label: z62.string().trim().min(1)
|
|
77948
78220
|
})
|
|
77949
78221
|
]);
|
|
77950
|
-
var cartLinkPayloadSchema =
|
|
77951
|
-
kind:
|
|
77952
|
-
badge:
|
|
78222
|
+
var cartLinkPayloadSchema = z62.object({
|
|
78223
|
+
kind: z62.literal("cart"),
|
|
78224
|
+
badge: z62.enum(["show-count", "hidden"]),
|
|
77953
78225
|
label: cartLinkLabelConfigSchema
|
|
77954
78226
|
});
|
|
77955
|
-
var internalLinkPayloadSchema =
|
|
77956
|
-
kind:
|
|
77957
|
-
routeId:
|
|
77958
|
-
entityId:
|
|
77959
|
-
entityType:
|
|
77960
|
-
href:
|
|
77961
|
-
title:
|
|
77962
|
-
typeLabel:
|
|
77963
|
-
contentTypeKey:
|
|
77964
|
-
contentTypeName:
|
|
77965
|
-
updatedAt:
|
|
78227
|
+
var internalLinkPayloadSchema = z62.object({
|
|
78228
|
+
kind: z62.literal("internal"),
|
|
78229
|
+
routeId: z62.string().uuid(),
|
|
78230
|
+
entityId: z62.string().uuid(),
|
|
78231
|
+
entityType: z62.enum(["page", "content"]),
|
|
78232
|
+
href: z62.string().min(1),
|
|
78233
|
+
title: z62.string().min(1),
|
|
78234
|
+
typeLabel: z62.string().min(1),
|
|
78235
|
+
contentTypeKey: z62.string().nullable().optional(),
|
|
78236
|
+
contentTypeName: z62.string().nullable().optional(),
|
|
78237
|
+
updatedAt: z62.string().nullable().optional()
|
|
77966
78238
|
}).passthrough();
|
|
77967
|
-
var externalLinkSchema2 =
|
|
77968
|
-
kind:
|
|
78239
|
+
var externalLinkSchema2 = z62.object({
|
|
78240
|
+
kind: z62.literal("external"),
|
|
77969
78241
|
// Navigation external links are expected to be absolute URLs.
|
|
77970
|
-
href:
|
|
78242
|
+
href: z62.string().url()
|
|
77971
78243
|
});
|
|
77972
|
-
var customLinkSchema2 =
|
|
77973
|
-
kind:
|
|
77974
|
-
href:
|
|
78244
|
+
var customLinkSchema2 = z62.object({
|
|
78245
|
+
kind: z62.literal("url"),
|
|
78246
|
+
href: z62.string().min(1)
|
|
77975
78247
|
});
|
|
77976
|
-
var pageLinkSchema2 =
|
|
77977
|
-
kind:
|
|
77978
|
-
identifier:
|
|
78248
|
+
var pageLinkSchema2 = z62.object({
|
|
78249
|
+
kind: z62.literal("page"),
|
|
78250
|
+
identifier: z62.string().min(1)
|
|
77979
78251
|
});
|
|
77980
|
-
var entryLinkSchema2 =
|
|
77981
|
-
kind:
|
|
77982
|
-
contentType:
|
|
77983
|
-
identifier:
|
|
78252
|
+
var entryLinkSchema2 = z62.object({
|
|
78253
|
+
kind: z62.literal("entry"),
|
|
78254
|
+
contentType: z62.string().min(1),
|
|
78255
|
+
identifier: z62.string().min(1)
|
|
77984
78256
|
});
|
|
77985
|
-
var linkPayloadSchema =
|
|
78257
|
+
var linkPayloadSchema = z62.discriminatedUnion("kind", [
|
|
77986
78258
|
internalLinkPayloadSchema,
|
|
77987
78259
|
pageLinkSchema2,
|
|
77988
78260
|
entryLinkSchema2,
|
|
@@ -77999,7 +78271,7 @@ var navigationLinkInputSchemaOptions = [
|
|
|
77999
78271
|
portalLinkPayloadSchema,
|
|
78000
78272
|
cartLinkPayloadSchema
|
|
78001
78273
|
];
|
|
78002
|
-
var navigationLinkInputSchema =
|
|
78274
|
+
var navigationLinkInputSchema = z62.discriminatedUnion(
|
|
78003
78275
|
"kind",
|
|
78004
78276
|
navigationLinkInputSchemaOptions
|
|
78005
78277
|
);
|
|
@@ -78007,21 +78279,21 @@ var navigationLinkInputSchema = z61.discriminatedUnion(
|
|
|
78007
78279
|
// ../api/src/sdkConfig/contracts.ts
|
|
78008
78280
|
init_schema2();
|
|
78009
78281
|
init_schema();
|
|
78010
|
-
import { z as
|
|
78282
|
+
import { z as z63 } from "zod";
|
|
78011
78283
|
function unsafeRetypeZodSchema(schema) {
|
|
78012
78284
|
return schema;
|
|
78013
78285
|
}
|
|
78014
|
-
var navIdListSchema =
|
|
78286
|
+
var navIdListSchema = z63.preprocess((value) => {
|
|
78015
78287
|
if (!Array.isArray(value)) return void 0;
|
|
78016
78288
|
const filtered = value.filter((v) => typeof v === "string" && v.trim().length > 0);
|
|
78017
78289
|
return filtered.length > 0 ? filtered : void 0;
|
|
78018
|
-
},
|
|
78019
|
-
var dashboardNavVisibilityBaseSchema =
|
|
78020
|
-
mode:
|
|
78290
|
+
}, z63.array(z63.string()).max(200).optional());
|
|
78291
|
+
var dashboardNavVisibilityBaseSchema = z63.object({
|
|
78292
|
+
mode: z63.enum(["augment", "restrict"]).optional(),
|
|
78021
78293
|
allowIds: navIdListSchema,
|
|
78022
78294
|
denyIds: navIdListSchema
|
|
78023
78295
|
}).strip();
|
|
78024
|
-
var dashboardNavVisibilityRolesSchema =
|
|
78296
|
+
var dashboardNavVisibilityRolesSchema = z63.object({
|
|
78025
78297
|
administrator: dashboardNavVisibilityBaseSchema.optional(),
|
|
78026
78298
|
editor: dashboardNavVisibilityBaseSchema.optional(),
|
|
78027
78299
|
team_member: dashboardNavVisibilityBaseSchema.optional(),
|
|
@@ -78030,57 +78302,57 @@ var dashboardNavVisibilityRolesSchema = z62.object({
|
|
|
78030
78302
|
var dashboardNavVisibilitySchema = dashboardNavVisibilityBaseSchema.extend({
|
|
78031
78303
|
roles: dashboardNavVisibilityRolesSchema
|
|
78032
78304
|
}).strip();
|
|
78033
|
-
var dashboardNavigationConfigSchema =
|
|
78305
|
+
var dashboardNavigationConfigSchema = z63.object({
|
|
78034
78306
|
siteNav: dashboardNavVisibilitySchema.optional(),
|
|
78035
78307
|
settingsNav: dashboardNavVisibilitySchema.optional()
|
|
78036
78308
|
}).strip();
|
|
78037
|
-
var dashboardConfigSchema =
|
|
78038
|
-
previewEditingEnabled:
|
|
78309
|
+
var dashboardConfigSchema = z63.object({
|
|
78310
|
+
previewEditingEnabled: z63.boolean().optional(),
|
|
78039
78311
|
navigation: dashboardNavigationConfigSchema.optional()
|
|
78040
78312
|
}).strip();
|
|
78041
78313
|
var fieldDefinitionInputSchema = unsafeRetypeZodSchema(fieldSchema);
|
|
78042
78314
|
var nodeDefinitionSchema = unsafeRetypeZodSchema(NodeSchema);
|
|
78043
|
-
var sdkLoaderEndpointSchema =
|
|
78044
|
-
var loaderParamBindingSchema =
|
|
78045
|
-
$bind:
|
|
78046
|
-
from:
|
|
78047
|
-
fallback:
|
|
78315
|
+
var sdkLoaderEndpointSchema = z63.enum(SUPPORTED_LOADER_ENDPOINTS);
|
|
78316
|
+
var loaderParamBindingSchema = z63.object({
|
|
78317
|
+
$bind: z63.object({
|
|
78318
|
+
from: z63.string().min(1, "Binding path is required"),
|
|
78319
|
+
fallback: z63.string().optional()
|
|
78048
78320
|
})
|
|
78049
78321
|
});
|
|
78050
|
-
var loaderParamValueSchema =
|
|
78051
|
-
|
|
78052
|
-
|
|
78053
|
-
|
|
78322
|
+
var loaderParamValueSchema = z63.union([
|
|
78323
|
+
z63.string(),
|
|
78324
|
+
z63.number(),
|
|
78325
|
+
z63.boolean(),
|
|
78054
78326
|
loaderParamBindingSchema
|
|
78055
78327
|
]);
|
|
78056
|
-
var sdkConfigLoaderSchema =
|
|
78328
|
+
var sdkConfigLoaderSchema = z63.object({
|
|
78057
78329
|
endpoint: sdkLoaderEndpointSchema,
|
|
78058
|
-
params:
|
|
78059
|
-
mode:
|
|
78330
|
+
params: z63.record(z63.string(), loaderParamValueSchema),
|
|
78331
|
+
mode: z63.enum(["server", "client"]).default("server")
|
|
78060
78332
|
});
|
|
78061
|
-
var sdkDataLoadersSchema =
|
|
78062
|
-
var sdkCustomBlockIdSchema =
|
|
78333
|
+
var sdkDataLoadersSchema = z63.record(z63.string(), sdkConfigLoaderSchema).refine((loaders) => Object.keys(loaders).length <= 5, { message: "Maximum 5 data loaders per block" }).optional();
|
|
78334
|
+
var sdkCustomBlockIdSchema = z63.string().min(8).regex(/^custom\.[a-z][a-z0-9-]*$/, {
|
|
78063
78335
|
message: "Block ID must start with 'custom.' followed by lowercase letters, numbers, or hyphens"
|
|
78064
78336
|
}).transform((value) => value);
|
|
78065
|
-
var sdkCustomBlockInputSchema =
|
|
78337
|
+
var sdkCustomBlockInputSchema = z63.object({
|
|
78066
78338
|
id: sdkCustomBlockIdSchema,
|
|
78067
|
-
title:
|
|
78068
|
-
titleSource:
|
|
78069
|
-
description:
|
|
78339
|
+
title: z63.string().min(1),
|
|
78340
|
+
titleSource: z63.union([z63.string().min(1), z63.array(z63.string().min(1)).min(1)]).optional(),
|
|
78341
|
+
description: z63.string().optional(),
|
|
78070
78342
|
category: blockCategoryEnum,
|
|
78071
|
-
icon:
|
|
78072
|
-
tags:
|
|
78343
|
+
icon: z63.string().optional(),
|
|
78344
|
+
tags: z63.array(z63.string()).optional(),
|
|
78073
78345
|
fields: fieldDefinitionInputSchema.array().min(1),
|
|
78074
78346
|
dataLoaders: sdkDataLoadersSchema,
|
|
78075
78347
|
layout: NodeSchema.optional(),
|
|
78076
|
-
variants:
|
|
78077
|
-
defaultVariant:
|
|
78078
|
-
variantOptions:
|
|
78079
|
-
|
|
78080
|
-
|
|
78081
|
-
label:
|
|
78082
|
-
description:
|
|
78083
|
-
icon:
|
|
78348
|
+
variants: z63.record(z63.string().min(1), NodeSchema).optional(),
|
|
78349
|
+
defaultVariant: z63.string().min(1).optional(),
|
|
78350
|
+
variantOptions: z63.record(
|
|
78351
|
+
z63.string().min(1),
|
|
78352
|
+
z63.object({
|
|
78353
|
+
label: z63.string().min(1).optional(),
|
|
78354
|
+
description: z63.string().min(1).optional(),
|
|
78355
|
+
icon: z63.string().min(1).optional()
|
|
78084
78356
|
})
|
|
78085
78357
|
).optional()
|
|
78086
78358
|
}).superRefine((data, ctx) => {
|
|
@@ -78090,7 +78362,7 @@ var sdkCustomBlockInputSchema = z62.object({
|
|
|
78090
78362
|
const exists = data.fields.some((field) => field.id === source);
|
|
78091
78363
|
if (!exists) {
|
|
78092
78364
|
ctx.addIssue({
|
|
78093
|
-
code:
|
|
78365
|
+
code: z63.ZodIssueCode.custom,
|
|
78094
78366
|
message: `titleSource must reference a valid field ID (got "${source}")`,
|
|
78095
78367
|
path: Array.isArray(data.titleSource) ? ["titleSource", index] : ["titleSource"]
|
|
78096
78368
|
});
|
|
@@ -78099,7 +78371,7 @@ var sdkCustomBlockInputSchema = z62.object({
|
|
|
78099
78371
|
}
|
|
78100
78372
|
if (data.layout && data.variants) {
|
|
78101
78373
|
ctx.addIssue({
|
|
78102
|
-
code:
|
|
78374
|
+
code: z63.ZodIssueCode.custom,
|
|
78103
78375
|
message: "Custom block must define either `layout` or `variants`, not both",
|
|
78104
78376
|
path: ["variants"]
|
|
78105
78377
|
});
|
|
@@ -78108,14 +78380,14 @@ var sdkCustomBlockInputSchema = z62.object({
|
|
|
78108
78380
|
const keys = Object.keys(data.variants);
|
|
78109
78381
|
if (keys.length === 0) {
|
|
78110
78382
|
ctx.addIssue({
|
|
78111
|
-
code:
|
|
78383
|
+
code: z63.ZodIssueCode.custom,
|
|
78112
78384
|
message: "`variants` must contain at least one variant key",
|
|
78113
78385
|
path: ["variants"]
|
|
78114
78386
|
});
|
|
78115
78387
|
}
|
|
78116
78388
|
if (data.defaultVariant && !Object.prototype.hasOwnProperty.call(data.variants, data.defaultVariant)) {
|
|
78117
78389
|
ctx.addIssue({
|
|
78118
|
-
code:
|
|
78390
|
+
code: z63.ZodIssueCode.custom,
|
|
78119
78391
|
message: "`defaultVariant` must be a key present in `variants`",
|
|
78120
78392
|
path: ["defaultVariant"]
|
|
78121
78393
|
});
|
|
@@ -78124,7 +78396,7 @@ var sdkCustomBlockInputSchema = z62.object({
|
|
|
78124
78396
|
for (const key of Object.keys(data.variantOptions)) {
|
|
78125
78397
|
if (!Object.prototype.hasOwnProperty.call(data.variants, key)) {
|
|
78126
78398
|
ctx.addIssue({
|
|
78127
|
-
code:
|
|
78399
|
+
code: z63.ZodIssueCode.custom,
|
|
78128
78400
|
message: "`variantOptions` key must exist in `variants`",
|
|
78129
78401
|
path: ["variantOptions", key]
|
|
78130
78402
|
});
|
|
@@ -78133,74 +78405,74 @@ var sdkCustomBlockInputSchema = z62.object({
|
|
|
78133
78405
|
}
|
|
78134
78406
|
}
|
|
78135
78407
|
});
|
|
78136
|
-
var sdkBlockFieldExtensionInputSchema =
|
|
78408
|
+
var sdkBlockFieldExtensionInputSchema = z63.object({
|
|
78137
78409
|
fields: fieldDefinitionInputSchema.array().min(1)
|
|
78138
78410
|
});
|
|
78139
|
-
var sdkBlockFieldExtensionsInputSchema =
|
|
78140
|
-
|
|
78411
|
+
var sdkBlockFieldExtensionsInputSchema = z63.record(
|
|
78412
|
+
z63.string().min(1),
|
|
78141
78413
|
sdkBlockFieldExtensionInputSchema
|
|
78142
78414
|
);
|
|
78143
|
-
var sdkThemePaletteSchema =
|
|
78144
|
-
var sdkThemeConfigSchema =
|
|
78415
|
+
var sdkThemePaletteSchema = z63.record(z63.string(), z63.string());
|
|
78416
|
+
var sdkThemeConfigSchema = z63.object({
|
|
78145
78417
|
palette: sdkThemePaletteSchema
|
|
78146
78418
|
});
|
|
78147
|
-
var sdkSectionBackgroundSchema =
|
|
78148
|
-
id:
|
|
78149
|
-
label:
|
|
78150
|
-
token:
|
|
78419
|
+
var sdkSectionBackgroundSchema = z63.object({
|
|
78420
|
+
id: z63.string().min(1),
|
|
78421
|
+
label: z63.string().min(1),
|
|
78422
|
+
token: z63.string().min(1)
|
|
78151
78423
|
});
|
|
78152
|
-
var sdkSectionOptionsConfigSchema =
|
|
78153
|
-
backgroundColor:
|
|
78154
|
-
backgroundImage:
|
|
78155
|
-
backgroundGradient:
|
|
78156
|
-
spacing:
|
|
78157
|
-
textColor:
|
|
78424
|
+
var sdkSectionOptionsConfigSchema = z63.object({
|
|
78425
|
+
backgroundColor: z63.boolean().optional(),
|
|
78426
|
+
backgroundImage: z63.boolean().optional(),
|
|
78427
|
+
backgroundGradient: z63.boolean().optional(),
|
|
78428
|
+
spacing: z63.union([z63.array(z63.enum(["compact", "default", "spacious"])), z63.boolean()]).optional(),
|
|
78429
|
+
textColor: z63.boolean().optional()
|
|
78158
78430
|
});
|
|
78159
|
-
var sdkContainerOptionsConfigSchema =
|
|
78160
|
-
maxWidth:
|
|
78161
|
-
alignment:
|
|
78431
|
+
var sdkContainerOptionsConfigSchema = z63.object({
|
|
78432
|
+
maxWidth: z63.union([z63.array(z63.enum(["narrow", "default", "wide", "full"])), z63.boolean()]).optional(),
|
|
78433
|
+
alignment: z63.union([z63.array(z63.enum(["left", "center", "right"])), z63.boolean()]).optional()
|
|
78162
78434
|
});
|
|
78163
|
-
var sdkSiteStyleConfigSchema =
|
|
78164
|
-
sectionBackgrounds:
|
|
78435
|
+
var sdkSiteStyleConfigSchema = z63.object({
|
|
78436
|
+
sectionBackgrounds: z63.array(sdkSectionBackgroundSchema).optional(),
|
|
78165
78437
|
sectionOptions: sdkSectionOptionsConfigSchema.optional(),
|
|
78166
78438
|
containerOptions: sdkContainerOptionsConfigSchema.optional()
|
|
78167
78439
|
});
|
|
78168
|
-
var sdkSiteLayoutConfigSchema =
|
|
78169
|
-
footerBlocks:
|
|
78170
|
-
|
|
78171
|
-
id:
|
|
78172
|
-
kind:
|
|
78173
|
-
content:
|
|
78440
|
+
var sdkSiteLayoutConfigSchema = z63.object({
|
|
78441
|
+
footerBlocks: z63.array(
|
|
78442
|
+
z63.object({
|
|
78443
|
+
id: z63.string().min(1).optional(),
|
|
78444
|
+
kind: z63.string().min(1),
|
|
78445
|
+
content: z63.record(z63.string(), z63.unknown()).optional()
|
|
78174
78446
|
})
|
|
78175
78447
|
).optional()
|
|
78176
78448
|
});
|
|
78177
|
-
var sdkFieldSelectOptionSchema =
|
|
78178
|
-
value:
|
|
78179
|
-
label:
|
|
78449
|
+
var sdkFieldSelectOptionSchema = z63.object({
|
|
78450
|
+
value: z63.string(),
|
|
78451
|
+
label: z63.string()
|
|
78180
78452
|
});
|
|
78181
|
-
var sdkBlockFieldConfigSchema =
|
|
78182
|
-
options:
|
|
78453
|
+
var sdkBlockFieldConfigSchema = z63.object({
|
|
78454
|
+
options: z63.array(sdkFieldSelectOptionSchema).optional()
|
|
78183
78455
|
});
|
|
78184
|
-
var sdkBlockFieldOptionsMapSchema =
|
|
78185
|
-
|
|
78456
|
+
var sdkBlockFieldOptionsMapSchema = z63.record(
|
|
78457
|
+
z63.string().regex(/^(block\.|custom\.)[a-z][a-z0-9-]*$/, {
|
|
78186
78458
|
message: "Block ID must be 'block.*' or 'custom.*' format"
|
|
78187
78459
|
}),
|
|
78188
|
-
|
|
78460
|
+
z63.record(z63.string().min(1), sdkBlockFieldConfigSchema)
|
|
78189
78461
|
).optional();
|
|
78190
|
-
var sdkContentTypeTemplateConfigSchema =
|
|
78191
|
-
blocks:
|
|
78462
|
+
var sdkContentTypeTemplateConfigSchema = z63.object({
|
|
78463
|
+
blocks: z63.array(z63.unknown())
|
|
78192
78464
|
}).passthrough();
|
|
78193
|
-
var sdkContentTypeConfigSchema =
|
|
78194
|
-
key:
|
|
78195
|
-
fields:
|
|
78465
|
+
var sdkContentTypeConfigSchema = z63.object({
|
|
78466
|
+
key: z63.string().min(1),
|
|
78467
|
+
fields: z63.array(z63.unknown()),
|
|
78196
78468
|
template: sdkContentTypeTemplateConfigSchema.nullable().optional()
|
|
78197
78469
|
}).passthrough();
|
|
78198
|
-
var sdkContentConfigSchema =
|
|
78199
|
-
contentTypes:
|
|
78200
|
-
pages:
|
|
78201
|
-
entries:
|
|
78202
|
-
navigationMenus:
|
|
78203
|
-
settings:
|
|
78470
|
+
var sdkContentConfigSchema = z63.object({
|
|
78471
|
+
contentTypes: z63.array(sdkContentTypeConfigSchema).optional(),
|
|
78472
|
+
pages: z63.array(z63.unknown()).optional(),
|
|
78473
|
+
entries: z63.array(z63.unknown()).optional(),
|
|
78474
|
+
navigationMenus: z63.array(z63.unknown()).optional(),
|
|
78475
|
+
settings: z63.unknown().optional()
|
|
78204
78476
|
}).passthrough();
|
|
78205
78477
|
var SDK_WORKFLOW_ID_MAX_LENGTH = 120;
|
|
78206
78478
|
var SDK_WORKFLOW_TITLE_MAX_LENGTH = 120;
|
|
@@ -78213,41 +78485,41 @@ var SDK_WORKFLOW_CONFIRMATION_TITLE_MAX_LENGTH = 120;
|
|
|
78213
78485
|
var SDK_WORKFLOW_CONFIRMATION_BODY_MAX_LENGTH = 500;
|
|
78214
78486
|
var SDK_WORKFLOW_ID_PATTERN = /^[a-z][a-z0-9]*(?:[._-][a-z0-9]+)*$/;
|
|
78215
78487
|
var SDK_WORKFLOW_ENDPOINT_PATTERN = /^\//;
|
|
78216
|
-
var sdkWorkflowIdSchema =
|
|
78488
|
+
var sdkWorkflowIdSchema = z63.string().min(1).max(SDK_WORKFLOW_ID_MAX_LENGTH).regex(SDK_WORKFLOW_ID_PATTERN, {
|
|
78217
78489
|
message: "Workflow ID must start with a lowercase letter and use lowercase letters, numbers, dots, underscores, or hyphens"
|
|
78218
78490
|
});
|
|
78219
|
-
var sdkWorkflowEndpointSchema =
|
|
78220
|
-
var sdkWorkflowManualTriggerSchema =
|
|
78221
|
-
type:
|
|
78491
|
+
var sdkWorkflowEndpointSchema = z63.string().min(1).max(SDK_WORKFLOW_ENDPOINT_MAX_LENGTH).regex(SDK_WORKFLOW_ENDPOINT_PATTERN, { message: 'Workflow endpoint must be a site-relative path starting with "/"' });
|
|
78492
|
+
var sdkWorkflowManualTriggerSchema = z63.object({
|
|
78493
|
+
type: z63.literal("manual")
|
|
78222
78494
|
}).strict();
|
|
78223
|
-
var sdkWorkflowTriggerSchema =
|
|
78495
|
+
var sdkWorkflowTriggerSchema = z63.discriminatedUnion("type", [
|
|
78224
78496
|
sdkWorkflowManualTriggerSchema
|
|
78225
78497
|
]);
|
|
78226
|
-
var sdkWorkflowConfirmationSchema =
|
|
78227
|
-
title:
|
|
78228
|
-
body:
|
|
78498
|
+
var sdkWorkflowConfirmationSchema = z63.object({
|
|
78499
|
+
title: z63.string().trim().min(1).max(SDK_WORKFLOW_CONFIRMATION_TITLE_MAX_LENGTH),
|
|
78500
|
+
body: z63.string().trim().min(1).max(SDK_WORKFLOW_CONFIRMATION_BODY_MAX_LENGTH).optional()
|
|
78229
78501
|
}).strict();
|
|
78230
|
-
var sdkWorkflowConfigSchema =
|
|
78502
|
+
var sdkWorkflowConfigSchema = z63.object({
|
|
78231
78503
|
id: sdkWorkflowIdSchema,
|
|
78232
|
-
title:
|
|
78233
|
-
description:
|
|
78234
|
-
contentType:
|
|
78504
|
+
title: z63.string().trim().min(1).max(SDK_WORKFLOW_TITLE_MAX_LENGTH),
|
|
78505
|
+
description: z63.string().trim().min(1).max(SDK_WORKFLOW_DESCRIPTION_MAX_LENGTH).optional(),
|
|
78506
|
+
contentType: z63.string().trim().min(1).max(SDK_WORKFLOW_CONTENT_TYPE_MAX_LENGTH),
|
|
78235
78507
|
endpoint: sdkWorkflowEndpointSchema,
|
|
78236
|
-
triggers:
|
|
78508
|
+
triggers: z63.array(sdkWorkflowTriggerSchema).min(1).max(SDK_WORKFLOW_TRIGGER_MAX_COUNT),
|
|
78237
78509
|
confirmation: sdkWorkflowConfirmationSchema.optional()
|
|
78238
78510
|
}).strict();
|
|
78239
|
-
var sdkWorkflowsSchema =
|
|
78511
|
+
var sdkWorkflowsSchema = z63.array(sdkWorkflowConfigSchema).max(SDK_WORKFLOW_MAX_COUNT, "Maximum 50 workflows per site").refine((workflows) => {
|
|
78240
78512
|
const ids = workflows.map((workflow) => workflow.id);
|
|
78241
78513
|
return ids.length === new Set(ids).size;
|
|
78242
78514
|
}, { message: "Workflow IDs must be unique" }).optional();
|
|
78243
|
-
var riverbankSiteConfigInputSchema =
|
|
78244
|
-
siteId:
|
|
78245
|
-
previewUrl:
|
|
78246
|
-
liveUrl:
|
|
78515
|
+
var riverbankSiteConfigInputSchema = z63.object({
|
|
78516
|
+
siteId: z63.string().uuid(),
|
|
78517
|
+
previewUrl: z63.string().url().optional(),
|
|
78518
|
+
liveUrl: z63.string().url().optional(),
|
|
78247
78519
|
theme: sdkThemeConfigSchema.optional(),
|
|
78248
78520
|
styles: sdkSiteStyleConfigSchema.optional(),
|
|
78249
78521
|
layout: sdkSiteLayoutConfigSchema.optional(),
|
|
78250
|
-
customBlocks:
|
|
78522
|
+
customBlocks: z63.array(sdkCustomBlockInputSchema).max(100, "Maximum 100 custom blocks per site").refine((blocks) => {
|
|
78251
78523
|
const ids = blocks.map((b2) => b2.id);
|
|
78252
78524
|
return ids.length === new Set(ids).size;
|
|
78253
78525
|
}, { message: "Block IDs must be unique" }).optional(),
|
|
@@ -78255,43 +78527,43 @@ var riverbankSiteConfigInputSchema = z62.object({
|
|
|
78255
78527
|
blockFieldExtensions: sdkBlockFieldExtensionsInputSchema.optional(),
|
|
78256
78528
|
workflows: sdkWorkflowsSchema,
|
|
78257
78529
|
content: sdkContentConfigSchema.optional(),
|
|
78258
|
-
contentDir:
|
|
78259
|
-
sync:
|
|
78260
|
-
existingEntries:
|
|
78530
|
+
contentDir: z63.string().optional(),
|
|
78531
|
+
sync: z63.object({
|
|
78532
|
+
existingEntries: z63.enum(["skip", "update"]).optional()
|
|
78261
78533
|
}).optional(),
|
|
78262
|
-
deploy:
|
|
78263
|
-
verifyCommand:
|
|
78264
|
-
prebuildOutput:
|
|
78534
|
+
deploy: z63.object({
|
|
78535
|
+
verifyCommand: z63.string().optional(),
|
|
78536
|
+
prebuildOutput: z63.string().optional()
|
|
78265
78537
|
}).optional(),
|
|
78266
|
-
themeSource:
|
|
78267
|
-
activeTheme:
|
|
78268
|
-
enablePortal:
|
|
78538
|
+
themeSource: z63.enum(["local", "cms"]).optional(),
|
|
78539
|
+
activeTheme: z63.string().optional(),
|
|
78540
|
+
enablePortal: z63.boolean().optional(),
|
|
78269
78541
|
dashboard: dashboardConfigSchema.optional()
|
|
78270
78542
|
}).strict();
|
|
78271
|
-
var pushSdkConfigBodySchema =
|
|
78543
|
+
var pushSdkConfigBodySchema = z63.object({
|
|
78272
78544
|
config: riverbankSiteConfigInputSchema,
|
|
78273
|
-
forceContentTypes:
|
|
78545
|
+
forceContentTypes: z63.boolean().optional()
|
|
78274
78546
|
}).strict();
|
|
78275
78547
|
|
|
78276
78548
|
// ../api/src/siteOnboarding.ts
|
|
78277
|
-
import { z as
|
|
78549
|
+
import { z as z64 } from "zod";
|
|
78278
78550
|
var LAUNCH_REQUIREMENT_OVERRIDE_DEFINITIONS = {
|
|
78279
78551
|
configure_appointments: {
|
|
78280
78552
|
requirementId: "configure_appointments",
|
|
78281
78553
|
reason: "launch_anyway"
|
|
78282
78554
|
}
|
|
78283
78555
|
};
|
|
78284
|
-
var acknowledgeLaunchRequirementRequestSchema =
|
|
78556
|
+
var acknowledgeLaunchRequirementRequestSchema = z64.discriminatedUnion(
|
|
78285
78557
|
"requirementId",
|
|
78286
78558
|
[
|
|
78287
|
-
|
|
78288
|
-
requirementId:
|
|
78559
|
+
z64.object({
|
|
78560
|
+
requirementId: z64.literal("review_generated_site")
|
|
78289
78561
|
}),
|
|
78290
|
-
|
|
78291
|
-
requirementId:
|
|
78562
|
+
z64.object({
|
|
78563
|
+
requirementId: z64.literal(
|
|
78292
78564
|
LAUNCH_REQUIREMENT_OVERRIDE_DEFINITIONS.configure_appointments.requirementId
|
|
78293
78565
|
),
|
|
78294
|
-
overrideReason:
|
|
78566
|
+
overrideReason: z64.literal(
|
|
78295
78567
|
LAUNCH_REQUIREMENT_OVERRIDE_DEFINITIONS.configure_appointments.reason
|
|
78296
78568
|
)
|
|
78297
78569
|
})
|
|
@@ -78467,79 +78739,79 @@ function isRecord4(value) {
|
|
|
78467
78739
|
}
|
|
78468
78740
|
|
|
78469
78741
|
// ../api/src/appointmentSetup.ts
|
|
78470
|
-
import { z as
|
|
78471
|
-
var appointmentSetupRefSchema =
|
|
78472
|
-
|
|
78473
|
-
|
|
78742
|
+
import { z as z65 } from "zod";
|
|
78743
|
+
var appointmentSetupRefSchema = z65.discriminatedUnion("kind", [
|
|
78744
|
+
z65.object({ kind: z65.literal("existing"), id: z65.string().min(1) }),
|
|
78745
|
+
z65.object({ kind: z65.literal("new"), draftId: z65.string().min(1) })
|
|
78474
78746
|
]);
|
|
78475
|
-
var appointmentSetupVenueChoiceSchema =
|
|
78476
|
-
|
|
78477
|
-
|
|
78478
|
-
|
|
78479
|
-
kind:
|
|
78480
|
-
draftId:
|
|
78481
|
-
title:
|
|
78482
|
-
description:
|
|
78483
|
-
timezone:
|
|
78484
|
-
addressJson:
|
|
78485
|
-
locationJson:
|
|
78747
|
+
var appointmentSetupVenueChoiceSchema = z65.discriminatedUnion("kind", [
|
|
78748
|
+
z65.object({ kind: z65.literal("none") }),
|
|
78749
|
+
z65.object({ kind: z65.literal("existing"), venueId: z65.string().min(1) }),
|
|
78750
|
+
z65.object({
|
|
78751
|
+
kind: z65.literal("create"),
|
|
78752
|
+
draftId: z65.string().min(1),
|
|
78753
|
+
title: z65.string().trim().min(1),
|
|
78754
|
+
description: z65.string().nullable(),
|
|
78755
|
+
timezone: z65.string().trim().min(1).nullable(),
|
|
78756
|
+
addressJson: z65.record(z65.string(), z65.unknown()),
|
|
78757
|
+
locationJson: z65.object({ lat: z65.number(), lng: z65.number() }).nullable()
|
|
78486
78758
|
})
|
|
78487
78759
|
]);
|
|
78488
|
-
var appointmentSetupPaymentDraftSchema =
|
|
78489
|
-
priceType:
|
|
78490
|
-
});
|
|
78491
|
-
var appointmentSetupServiceAssignmentDraftSchema =
|
|
78492
|
-
|
|
78493
|
-
|
|
78494
|
-
kind:
|
|
78495
|
-
resourceRefs:
|
|
78760
|
+
var appointmentSetupPaymentDraftSchema = z65.object({
|
|
78761
|
+
priceType: z65.union([z65.literal("free"), z65.literal("paid")])
|
|
78762
|
+
});
|
|
78763
|
+
var appointmentSetupServiceAssignmentDraftSchema = z65.discriminatedUnion("kind", [
|
|
78764
|
+
z65.object({ kind: z65.literal("all_practitioners") }),
|
|
78765
|
+
z65.object({
|
|
78766
|
+
kind: z65.literal("selected_practitioners"),
|
|
78767
|
+
resourceRefs: z65.array(appointmentSetupRefSchema)
|
|
78496
78768
|
})
|
|
78497
78769
|
]);
|
|
78498
|
-
var appointmentSetupServiceDraftSchema =
|
|
78770
|
+
var appointmentSetupServiceDraftSchema = z65.object({
|
|
78499
78771
|
ref: appointmentSetupRefSchema,
|
|
78500
|
-
title:
|
|
78501
|
-
description:
|
|
78502
|
-
durationMinutes:
|
|
78503
|
-
priceAmount:
|
|
78504
|
-
isActive:
|
|
78505
|
-
locationType:
|
|
78506
|
-
|
|
78507
|
-
|
|
78508
|
-
|
|
78772
|
+
title: z65.string().trim().min(1),
|
|
78773
|
+
description: z65.string().nullable(),
|
|
78774
|
+
durationMinutes: z65.number().int().positive(),
|
|
78775
|
+
priceAmount: z65.number().int().nonnegative().nullable(),
|
|
78776
|
+
isActive: z65.boolean(),
|
|
78777
|
+
locationType: z65.union([
|
|
78778
|
+
z65.literal("virtual"),
|
|
78779
|
+
z65.literal("in_person"),
|
|
78780
|
+
z65.literal("hybrid")
|
|
78509
78781
|
]),
|
|
78510
78782
|
venue: appointmentSetupVenueChoiceSchema,
|
|
78511
|
-
timezone:
|
|
78783
|
+
timezone: z65.string().trim().min(1).nullable(),
|
|
78512
78784
|
payment: appointmentSetupPaymentDraftSchema,
|
|
78513
78785
|
assignment: appointmentSetupServiceAssignmentDraftSchema
|
|
78514
78786
|
});
|
|
78515
|
-
var appointmentSetupPractitionerDraftSchema =
|
|
78787
|
+
var appointmentSetupPractitionerDraftSchema = z65.object({
|
|
78516
78788
|
ref: appointmentSetupRefSchema,
|
|
78517
|
-
displayName:
|
|
78518
|
-
bio:
|
|
78519
|
-
timezone:
|
|
78520
|
-
colorHex:
|
|
78521
|
-
});
|
|
78522
|
-
var appointmentSetupWeeklyWindowDraftSchema =
|
|
78523
|
-
weekday:
|
|
78524
|
-
startTime:
|
|
78525
|
-
endTime:
|
|
78526
|
-
});
|
|
78527
|
-
var appointmentSetupAvailabilityDraftSchema =
|
|
78528
|
-
kind:
|
|
78789
|
+
displayName: z65.string().trim().min(1),
|
|
78790
|
+
bio: z65.string().nullable(),
|
|
78791
|
+
timezone: z65.string().trim().min(1),
|
|
78792
|
+
colorHex: z65.string().nullable()
|
|
78793
|
+
});
|
|
78794
|
+
var appointmentSetupWeeklyWindowDraftSchema = z65.object({
|
|
78795
|
+
weekday: z65.number().int().min(0).max(6),
|
|
78796
|
+
startTime: z65.string(),
|
|
78797
|
+
endTime: z65.string()
|
|
78798
|
+
});
|
|
78799
|
+
var appointmentSetupAvailabilityDraftSchema = z65.object({
|
|
78800
|
+
kind: z65.literal("weekly_windows"),
|
|
78529
78801
|
resourceRef: appointmentSetupRefSchema,
|
|
78530
78802
|
serviceRef: appointmentSetupRefSchema.nullable(),
|
|
78531
|
-
windows:
|
|
78803
|
+
windows: z65.array(appointmentSetupWeeklyWindowDraftSchema)
|
|
78532
78804
|
});
|
|
78533
78805
|
var APPOINTMENT_DEFAULT_MIN_LEAD_MINUTES_MAX = 28 * 24 * 60;
|
|
78534
78806
|
var APPOINTMENT_DEFAULT_MAX_BOOKING_NOTICE_MINUTES_MAX = 10 * 365 * 24 * 60;
|
|
78535
|
-
var appointmentSetupBookingNoticeSchema =
|
|
78536
|
-
minLeadMinutes:
|
|
78537
|
-
maxBookingNoticeMinutes:
|
|
78538
|
-
});
|
|
78539
|
-
var applyAppointmentSetupRequestSchema =
|
|
78540
|
-
services:
|
|
78541
|
-
practitioners:
|
|
78542
|
-
availability:
|
|
78807
|
+
var appointmentSetupBookingNoticeSchema = z65.object({
|
|
78808
|
+
minLeadMinutes: z65.number().int().nonnegative().max(APPOINTMENT_DEFAULT_MIN_LEAD_MINUTES_MAX),
|
|
78809
|
+
maxBookingNoticeMinutes: z65.number().int().nonnegative().max(APPOINTMENT_DEFAULT_MAX_BOOKING_NOTICE_MINUTES_MAX)
|
|
78810
|
+
});
|
|
78811
|
+
var applyAppointmentSetupRequestSchema = z65.object({
|
|
78812
|
+
services: z65.array(appointmentSetupServiceDraftSchema),
|
|
78813
|
+
practitioners: z65.array(appointmentSetupPractitionerDraftSchema),
|
|
78814
|
+
availability: z65.array(appointmentSetupAvailabilityDraftSchema),
|
|
78543
78815
|
bookingNotice: appointmentSetupBookingNoticeSchema
|
|
78544
78816
|
});
|
|
78545
78817
|
|
|
@@ -78558,24 +78830,24 @@ var STAFF_CANCELLATION_CONTEXT_CATEGORIES = [
|
|
|
78558
78830
|
];
|
|
78559
78831
|
|
|
78560
78832
|
// ../api/src/siteBanner.ts
|
|
78561
|
-
import { z as
|
|
78833
|
+
import { z as z66 } from "zod";
|
|
78562
78834
|
var SITE_BANNER_SCOPE_VALUES = ["homepage", "all-pages"];
|
|
78563
78835
|
var SITE_BANNER_TONE_VALUES = ["announcement", "promotion", "notice", "warning"];
|
|
78564
78836
|
var SITE_BANNER_MAX_TEXT_LENGTH = 320;
|
|
78565
78837
|
var SITE_BANNER_MAX_PARAGRAPHS = 2;
|
|
78566
|
-
var siteBannerScopeSchema =
|
|
78567
|
-
var siteBannerToneSchema =
|
|
78568
|
-
var siteBannerBodySchema =
|
|
78569
|
-
var siteBannerCtaSchema =
|
|
78570
|
-
label:
|
|
78838
|
+
var siteBannerScopeSchema = z66.enum(SITE_BANNER_SCOPE_VALUES);
|
|
78839
|
+
var siteBannerToneSchema = z66.enum(SITE_BANNER_TONE_VALUES);
|
|
78840
|
+
var siteBannerBodySchema = z66.unknown().transform(unwrapRichTextValue);
|
|
78841
|
+
var siteBannerCtaSchema = z66.object({
|
|
78842
|
+
label: z66.string().trim().min(1),
|
|
78571
78843
|
link: linkPayloadSchema
|
|
78572
78844
|
});
|
|
78573
|
-
var siteBannerSettingsSchema =
|
|
78574
|
-
|
|
78575
|
-
enabled:
|
|
78845
|
+
var siteBannerSettingsSchema = z66.discriminatedUnion("enabled", [
|
|
78846
|
+
z66.object({
|
|
78847
|
+
enabled: z66.literal(false)
|
|
78576
78848
|
}),
|
|
78577
|
-
|
|
78578
|
-
enabled:
|
|
78849
|
+
z66.object({
|
|
78850
|
+
enabled: z66.literal(true),
|
|
78579
78851
|
scope: siteBannerScopeSchema,
|
|
78580
78852
|
tone: siteBannerToneSchema,
|
|
78581
78853
|
body: siteBannerBodySchema,
|
|
@@ -78589,7 +78861,7 @@ var siteBannerSettingsInputSchema = siteBannerSettingsSchema.superRefine((value,
|
|
|
78589
78861
|
const analysis = analyzeSiteBannerBody(value.body);
|
|
78590
78862
|
for (const issue of analysis.issues) {
|
|
78591
78863
|
ctx.addIssue({
|
|
78592
|
-
code:
|
|
78864
|
+
code: z66.ZodIssueCode.custom,
|
|
78593
78865
|
path: ["body"],
|
|
78594
78866
|
message: siteBannerBodyIssueMessage(issue)
|
|
78595
78867
|
});
|
|
@@ -78813,71 +79085,71 @@ function parsePublicProductCategorySelector(value) {
|
|
|
78813
79085
|
}
|
|
78814
79086
|
|
|
78815
79087
|
// ../api/src/aiPlayground.ts
|
|
78816
|
-
import { z as
|
|
78817
|
-
var Rfc6902PatchOp =
|
|
79088
|
+
import { z as z67 } from "zod";
|
|
79089
|
+
var Rfc6902PatchOp = z67.discriminatedUnion("op", [
|
|
78818
79090
|
// Standard RFC-6902 operations
|
|
78819
|
-
|
|
78820
|
-
op:
|
|
78821
|
-
path:
|
|
78822
|
-
value:
|
|
79091
|
+
z67.object({
|
|
79092
|
+
op: z67.literal("add"),
|
|
79093
|
+
path: z67.string(),
|
|
79094
|
+
value: z67.unknown()
|
|
78823
79095
|
}),
|
|
78824
|
-
|
|
78825
|
-
op:
|
|
78826
|
-
path:
|
|
79096
|
+
z67.object({
|
|
79097
|
+
op: z67.literal("remove"),
|
|
79098
|
+
path: z67.string()
|
|
78827
79099
|
}),
|
|
78828
|
-
|
|
78829
|
-
op:
|
|
78830
|
-
path:
|
|
78831
|
-
value:
|
|
79100
|
+
z67.object({
|
|
79101
|
+
op: z67.literal("replace"),
|
|
79102
|
+
path: z67.string(),
|
|
79103
|
+
value: z67.unknown()
|
|
78832
79104
|
}),
|
|
78833
|
-
|
|
78834
|
-
op:
|
|
78835
|
-
from:
|
|
78836
|
-
path:
|
|
79105
|
+
z67.object({
|
|
79106
|
+
op: z67.literal("move"),
|
|
79107
|
+
from: z67.string(),
|
|
79108
|
+
path: z67.string()
|
|
78837
79109
|
}),
|
|
78838
|
-
|
|
78839
|
-
op:
|
|
78840
|
-
from:
|
|
78841
|
-
path:
|
|
79110
|
+
z67.object({
|
|
79111
|
+
op: z67.literal("copy"),
|
|
79112
|
+
from: z67.string(),
|
|
79113
|
+
path: z67.string()
|
|
78842
79114
|
}),
|
|
78843
79115
|
// Block-level operations (Phase 2)
|
|
78844
|
-
|
|
78845
|
-
op:
|
|
78846
|
-
blockKind:
|
|
78847
|
-
afterBlockId:
|
|
78848
|
-
content:
|
|
78849
|
-
rationale:
|
|
79116
|
+
z67.object({
|
|
79117
|
+
op: z67.literal("add_block"),
|
|
79118
|
+
blockKind: z67.string(),
|
|
79119
|
+
afterBlockId: z67.string().nullable(),
|
|
79120
|
+
content: z67.record(z67.string(), z67.unknown()),
|
|
79121
|
+
rationale: z67.string()
|
|
78850
79122
|
}),
|
|
78851
|
-
|
|
78852
|
-
op:
|
|
78853
|
-
blockId:
|
|
78854
|
-
rationale:
|
|
79123
|
+
z67.object({
|
|
79124
|
+
op: z67.literal("delete_block"),
|
|
79125
|
+
blockId: z67.string(),
|
|
79126
|
+
rationale: z67.string()
|
|
78855
79127
|
}),
|
|
78856
|
-
|
|
78857
|
-
op:
|
|
78858
|
-
blockId:
|
|
78859
|
-
afterBlockId:
|
|
78860
|
-
rationale:
|
|
79128
|
+
z67.object({
|
|
79129
|
+
op: z67.literal("reorder_block"),
|
|
79130
|
+
blockId: z67.string(),
|
|
79131
|
+
afterBlockId: z67.string().nullable(),
|
|
79132
|
+
rationale: z67.string()
|
|
78861
79133
|
})
|
|
78862
79134
|
]);
|
|
78863
|
-
var PlaygroundProposeRequest =
|
|
78864
|
-
request:
|
|
79135
|
+
var PlaygroundProposeRequest = z67.object({
|
|
79136
|
+
request: z67.string().min(1).max(2e3)
|
|
78865
79137
|
});
|
|
78866
|
-
var MultiPagePatchEnvelope =
|
|
78867
|
-
pageId:
|
|
78868
|
-
blockId:
|
|
79138
|
+
var MultiPagePatchEnvelope = z67.object({
|
|
79139
|
+
pageId: z67.string(),
|
|
79140
|
+
blockId: z67.string().optional(),
|
|
78869
79141
|
// Not present for page-level ops
|
|
78870
|
-
blockKind:
|
|
78871
|
-
blockPurpose:
|
|
78872
|
-
ops:
|
|
78873
|
-
rationale:
|
|
78874
|
-
currentContent:
|
|
79142
|
+
blockKind: z67.string().optional(),
|
|
79143
|
+
blockPurpose: z67.string().optional().nullable(),
|
|
79144
|
+
ops: z67.array(Rfc6902PatchOp),
|
|
79145
|
+
rationale: z67.string(),
|
|
79146
|
+
currentContent: z67.record(z67.string(), z67.unknown()).optional()
|
|
78875
79147
|
});
|
|
78876
|
-
var MultiPageUpdateResponse =
|
|
78877
|
-
patches:
|
|
78878
|
-
assistantMessage:
|
|
78879
|
-
pagesModified:
|
|
78880
|
-
toolCallsUsed:
|
|
79148
|
+
var MultiPageUpdateResponse = z67.object({
|
|
79149
|
+
patches: z67.array(MultiPagePatchEnvelope),
|
|
79150
|
+
assistantMessage: z67.string(),
|
|
79151
|
+
pagesModified: z67.number(),
|
|
79152
|
+
toolCallsUsed: z67.number()
|
|
78881
79153
|
});
|
|
78882
79154
|
|
|
78883
79155
|
// src/data/prefetchBlockData.ts
|
|
@@ -78886,6 +79158,7 @@ var SUPPORTED_LOADER_ENDPOINTS2 = [
|
|
|
78886
79158
|
"getPublishedEntryPreview",
|
|
78887
79159
|
"listPublicEvents",
|
|
78888
79160
|
"listPublicCourses",
|
|
79161
|
+
"listPublicTeamMembers",
|
|
78889
79162
|
"listPublicProducts",
|
|
78890
79163
|
"listPublicPasses",
|
|
78891
79164
|
"listPublicMemberships",
|
|
@@ -79050,6 +79323,16 @@ async function prefetchBlockData2(page, context, client, options) {
|
|
|
79050
79323
|
const parsedLimit = typeof limit === "string" ? Number.parseInt(limit, 10) : typeof limit === "number" ? limit : void 0;
|
|
79051
79324
|
return await client.listPublicCourses({ siteId, limit: parsedLimit, stage });
|
|
79052
79325
|
}
|
|
79326
|
+
case "listPublicTeamMembers": {
|
|
79327
|
+
const { siteId, stage } = resolvedParams ?? {};
|
|
79328
|
+
if (!siteId) {
|
|
79329
|
+
throw new Error("listPublicTeamMembers requires siteId param");
|
|
79330
|
+
}
|
|
79331
|
+
return await client.listPublicTeamMembers({
|
|
79332
|
+
siteId,
|
|
79333
|
+
stage: typeof stage === "string" ? stage : void 0
|
|
79334
|
+
});
|
|
79335
|
+
}
|
|
79053
79336
|
case "listPublicProducts": {
|
|
79054
79337
|
const { siteId, stage, categorySelector } = resolvedParams ?? {};
|
|
79055
79338
|
if (!siteId) {
|