@riverbankcms/sdk 0.74.0 → 0.75.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/dist/{PreviewEditorSidebar-5XL7M3OM.mjs → PreviewEditorSidebar-U2IHCBYN.mjs} +3 -3
- package/dist/{PreviewEditorUI-ZDFRDJID.mjs → PreviewEditorUI-ZGH2RQNP.mjs} +3 -3
- package/dist/SdkPreviewModeRuntime-MTUGBTLQ.mjs +8 -0
- package/dist/_dts/api/src/cache-tags.d.ts +22 -0
- package/dist/_dts/api/src/contentRuntime.d.ts +1 -0
- package/dist/_dts/api/src/endpoints.d.ts +24 -24
- package/dist/_dts/api/src/publicExperienceEndpoints.d.ts +2 -1
- package/dist/_dts/block-form/src/blockDraftSaveability.d.ts +4 -1
- package/dist/_dts/blocks/src/client/booking-form.d.ts +2 -0
- package/dist/_dts/blocks/src/client/carousel.d.ts +1 -0
- package/dist/_dts/blocks/src/client/course-registration.d.ts +2 -0
- package/dist/_dts/blocks/src/client/events.d.ts +4 -0
- package/dist/_dts/blocks/src/client/form.d.ts +2 -0
- package/dist/_dts/blocks/src/client/header.d.ts +1 -0
- package/dist/_dts/blocks/src/client/location-map.d.ts +1 -0
- package/dist/_dts/blocks/src/client/newsletter-form.d.ts +2 -0
- package/dist/_dts/blocks/src/client/shop.d.ts +6 -0
- package/dist/_dts/blocks/src/lib/video.d.ts +2 -0
- package/dist/_dts/blocks/src/system/manifest/fieldValidation/index.d.ts +21 -1
- package/dist/_dts/blocks/src/system/runtime/components/registry.client.d.ts +1 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.headless.state.d.ts +3 -2
- package/dist/_dts/blocks/src/system/runtime/nodes/events/index.d.ts +3 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/header-section.client.d.ts +1 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/header-section.server.d.ts +1 -0
- package/dist/_dts/content-editor/src/hooks/validateBlocksForPublish.d.ts +5 -0
- package/dist/_dts/preview-next/src/client/preview/SiteChromeEditableSurface.d.ts +12 -2
- package/dist/_dts/sdk/src/public-api/contracts.d.ts +1 -0
- package/dist/_dts/sdk/src/rendering/islands/deferredVideoEmbeds.d.ts +2 -0
- package/dist/_dts/sdk/src/rendering/server.d.ts +3 -0
- package/dist/_dts/sdk/src/version.d.ts +1 -1
- package/dist/_dts/theme-core/src/generated/containerResponsiveThemeCss.d.ts +1 -1
- package/dist/{chunk-YY7K3QD2.mjs → chunk-BGMNDF6T.mjs} +7 -7
- package/dist/{chunk-2MIWNFJM.mjs → chunk-GFE74WRD.mjs} +309 -84
- package/dist/{chunk-CEQBBLMJ.mjs → chunk-RWXQBRQZ.mjs} +1 -1
- package/dist/{chunk-7RX72SK2.mjs → chunk-VX7B5VAC.mjs} +36 -25
- package/dist/{chunk-YRJKZEQ3.mjs → chunk-Z7JLNTJR.mjs} +1 -1
- package/dist/{chunk-CBD47MTM.mjs → chunk-ZSHFGFUG.mjs} +2 -2
- package/dist/cli/index.mjs +3395 -3753
- package/dist/client/{accordion-ZZVXWV3N.mjs → accordion-T2UD2ZTH.mjs} +1 -1
- package/dist/client/bookingForm-GUP75FKN.mjs +3022 -0
- package/dist/client/bookings.mjs +19 -10
- package/dist/client/{carousel-25WK2H7G.mjs → carousel-2NQA6V57.mjs} +3 -2
- package/dist/client/cart-5TFIAFDS.mjs +18 -0
- package/dist/client/checkout-TP4WAHZE.mjs +18 -0
- package/dist/client/chunk-2PHQZ666.mjs +383 -0
- package/dist/client/chunk-3DCJ45Z2.mjs +36 -0
- package/dist/client/chunk-3PEDD5KJ.mjs +146 -0
- package/dist/client/chunk-CY2ZTSE5.mjs +204 -0
- package/dist/client/chunk-F7LHOKEH.mjs +146 -0
- package/dist/client/{chunk-6VGXRE34.mjs → chunk-FU2QRZMX.mjs} +6 -6
- package/dist/client/chunk-I2MMZO53.mjs +6 -0
- package/dist/client/chunk-II7O4XN3.mjs +2206 -0
- package/dist/client/chunk-M3L3KYYR.mjs +1181 -0
- package/dist/client/chunk-NWOUL6JY.mjs +1378 -0
- package/dist/client/chunk-OJPZEZU2.mjs +31 -0
- package/dist/client/chunk-RTZ3JKKX.mjs +178 -0
- package/dist/client/chunk-TQ5MSPDX.mjs +74 -0
- package/dist/client/chunk-VUAOE3AG.mjs +5592 -0
- package/dist/client/chunk-WJXXNDSE.mjs +245 -0
- package/dist/client/chunk-YLMKMCSJ.mjs +86 -0
- package/dist/client/chunk-ZLMS67RR.mjs +106 -0
- package/dist/client/client.mjs +51626 -52074
- package/dist/client/courseRegistration-5DPU6PDY.mjs +1737 -0
- package/dist/client/{eventCalendar-X6GIPYFM.mjs → eventCalendar-F3GZGTEF.mjs} +13 -2
- package/dist/client/{eventCombined-EZUOPM3G.mjs → eventCombined-BQOB6QMY.mjs} +13 -2
- package/dist/client/eventDetails-PEM2EJWE.mjs +25 -0
- package/dist/client/{eventListing-HEFGAETC.mjs → eventListing-YMIQPVME.mjs} +13 -2
- package/dist/client/{eventRegistration-3LCP2V3P.mjs → eventRegistration-4I6ZNDUF.mjs} +13 -2
- package/dist/client/form-ZJVAYZ6G.mjs +300 -0
- package/dist/client/headerSection-TOT5MGTF.mjs +729 -0
- package/dist/client/hooks.mjs +49 -33
- package/dist/client/locationMap-J66NZREU.mjs +227 -0
- package/dist/client/newsletterForm-ET2XUMRO.mjs +208 -0
- package/dist/client/productDetail-C2XIH7C5.mjs +18 -0
- package/dist/client/productList-T2AZLFTP.mjs +18 -0
- package/dist/client/rendering/client.mjs +11763 -12445
- package/dist/client/rendering/islands.mjs +98 -21
- package/dist/client/rendering.mjs +46778 -47229
- package/dist/client/shop-UZ6IUZXD.mjs +20 -0
- package/dist/preview-next/before-render.mjs +37 -25
- package/dist/preview-next/client/runtime.mjs +5 -5
- package/dist/preview-next/middleware.mjs +37 -25
- package/dist/{sdk-runtime-OHNONZ5U.mjs → sdk-runtime-JCUQM63Y.mjs} +6 -6
- package/dist/server/components.mjs +409 -266
- package/dist/server/config-validation.mjs +49 -33
- package/dist/server/config.mjs +49 -33
- package/dist/server/data.mjs +49 -33
- package/dist/server/index.mjs +45 -33
- package/dist/server/next.mjs +405 -262
- package/dist/server/page-converter.mjs +12 -8
- package/dist/server/prebuild.mjs +1 -1
- package/dist/server/rendering/server.mjs +493 -265
- package/dist/server/rendering.mjs +411 -268
- package/dist/server/routing.mjs +49 -33
- package/dist/server/server.mjs +50 -34
- package/dist/server/theme-bridge.mjs +5 -0
- package/dist/styles/index.css +5 -0
- package/package.json +2 -1
- package/dist/SdkPreviewModeRuntime-CRYNDSPL.mjs +0 -8
- package/dist/client/bookingForm-4X77HKDS.mjs +0 -34
- package/dist/client/cart-JWD2VRFU.mjs +0 -11
- package/dist/client/checkout-V7KYGWL7.mjs +0 -11
- package/dist/client/chunk-5IYGMTUE.mjs +0 -18614
- package/dist/client/chunk-RKCFVIMS.mjs +0 -26
- package/dist/client/courseRegistration-O6ZPK4YT.mjs +0 -29
- package/dist/client/eventDetails-3WODIXET.mjs +0 -14
- package/dist/client/form-AKXQMY6Z.mjs +0 -85
- package/dist/client/headerSection-5KHCMU6B.mjs +0 -12
- package/dist/client/locationMap-7HIADW76.mjs +0 -14
- package/dist/client/newsletterForm-5N4YTMU3.mjs +0 -60
- package/dist/client/productDetail-IZUA7ZP3.mjs +0 -11
- package/dist/client/productList-KWIIJE6I.mjs +0 -11
- package/dist/client/shop-XZQFRQWZ.mjs +0 -13
|
@@ -1428,6 +1428,9 @@ function validationContext(options = {}) {
|
|
|
1428
1428
|
function formatFieldPath(path) {
|
|
1429
1429
|
return path.map((segment) => String(segment)).join(".");
|
|
1430
1430
|
}
|
|
1431
|
+
function toZodIssuePath(path) {
|
|
1432
|
+
return [...path];
|
|
1433
|
+
}
|
|
1431
1434
|
function fieldIssueToMessage(issue2) {
|
|
1432
1435
|
switch (issue2.kind) {
|
|
1433
1436
|
case "required":
|
|
@@ -1556,6 +1559,9 @@ function deriveFieldValidationPlan(field, path = [field.id]) {
|
|
|
1556
1559
|
return assertNever(field);
|
|
1557
1560
|
}
|
|
1558
1561
|
}
|
|
1562
|
+
function deriveFieldValidationPlans(fields3, parentPath = []) {
|
|
1563
|
+
return fields3.map((field) => deriveFieldValidationPlan(field, [...parentPath, field.id]));
|
|
1564
|
+
}
|
|
1559
1565
|
function commonConstraints(required, ...specific) {
|
|
1560
1566
|
return required ? [{ kind: "required" }, ...specific] : [...specific];
|
|
1561
1567
|
}
|
|
@@ -1571,9 +1577,19 @@ function makePlan(kind, valueKind, field, path, required, constraints) {
|
|
|
1571
1577
|
fieldType: field.type,
|
|
1572
1578
|
path,
|
|
1573
1579
|
required,
|
|
1580
|
+
visibility: fieldVisibility(field),
|
|
1574
1581
|
constraints
|
|
1575
1582
|
};
|
|
1576
1583
|
}
|
|
1584
|
+
function fieldVisibility(field) {
|
|
1585
|
+
if (field.ui?.hidden) {
|
|
1586
|
+
return { kind: "hidden" };
|
|
1587
|
+
}
|
|
1588
|
+
if (field.visibleRoles && field.visibleRoles.length > 0) {
|
|
1589
|
+
return { kind: "roleRestricted", roles: field.visibleRoles };
|
|
1590
|
+
}
|
|
1591
|
+
return { kind: "visible" };
|
|
1592
|
+
}
|
|
1577
1593
|
function withRepeaterItemConstraints(field, constraints) {
|
|
1578
1594
|
const next = [...constraints];
|
|
1579
1595
|
if (typeof field.minItems === "number") next.push({ kind: "minItems", minimum: field.minItems });
|
|
@@ -1587,7 +1603,7 @@ function deriveRepeatedItemVariants(field, parentPath) {
|
|
|
1587
1603
|
}));
|
|
1588
1604
|
}
|
|
1589
1605
|
function deriveNestedFieldPlans(fields3, parentPath) {
|
|
1590
|
-
return fields3
|
|
1606
|
+
return deriveFieldValidationPlans(fields3, parentPath);
|
|
1591
1607
|
}
|
|
1592
1608
|
function getRepeaterFields(field) {
|
|
1593
1609
|
const fields3 = field.polymorphic && field.itemTypes ? Object.values(field.itemTypes).flatMap((itemType) => itemType.fields) : field.schema?.fields ?? [];
|
|
@@ -1613,6 +1629,71 @@ function resolveSelectConstraintSource(field) {
|
|
|
1613
1629
|
return assertNever(source);
|
|
1614
1630
|
}
|
|
1615
1631
|
}
|
|
1632
|
+
function normalizeStoredContentValues(plans, content, options = {}) {
|
|
1633
|
+
if (!content || typeof content !== "object" || Array.isArray(content)) {
|
|
1634
|
+
return {};
|
|
1635
|
+
}
|
|
1636
|
+
const planMap = new Map(plans.map((plan) => [plan.fieldId, plan]));
|
|
1637
|
+
const normalized = {};
|
|
1638
|
+
const ctx = validationContext(options);
|
|
1639
|
+
for (const [key, value] of Object.entries(content)) {
|
|
1640
|
+
const plan = planMap.get(key);
|
|
1641
|
+
normalized[key] = plan ? normalizeStoredFieldValueWithContext(plan, value, ctx) : value;
|
|
1642
|
+
}
|
|
1643
|
+
return normalized;
|
|
1644
|
+
}
|
|
1645
|
+
function normalizeStoredFieldValueWithContext(plan, value, ctx) {
|
|
1646
|
+
if (value === null && !plan.required) {
|
|
1647
|
+
return void 0;
|
|
1648
|
+
}
|
|
1649
|
+
switch (plan.kind) {
|
|
1650
|
+
case "group":
|
|
1651
|
+
return normalizeStoredObjectChildren(plan.children, value, childValidationContext(plan, ctx));
|
|
1652
|
+
case "repeater":
|
|
1653
|
+
return normalizeStoredRepeaterItems(plan, value, ctx);
|
|
1654
|
+
case "string":
|
|
1655
|
+
case "number":
|
|
1656
|
+
case "boolean":
|
|
1657
|
+
case "richText":
|
|
1658
|
+
case "media":
|
|
1659
|
+
case "link":
|
|
1660
|
+
case "select":
|
|
1661
|
+
case "passthrough":
|
|
1662
|
+
return normalizeFieldValue(plan, value, ctx);
|
|
1663
|
+
default:
|
|
1664
|
+
return assertNever(plan);
|
|
1665
|
+
}
|
|
1666
|
+
}
|
|
1667
|
+
function normalizeStoredObjectChildren(children, value, ctx) {
|
|
1668
|
+
if (!value || typeof value !== "object" || Array.isArray(value)) {
|
|
1669
|
+
return value;
|
|
1670
|
+
}
|
|
1671
|
+
const normalized = { ...value };
|
|
1672
|
+
for (const child of children) {
|
|
1673
|
+
normalized[child.fieldId] = normalizeStoredFieldValueWithContext(
|
|
1674
|
+
child,
|
|
1675
|
+
normalized[child.fieldId],
|
|
1676
|
+
ctx
|
|
1677
|
+
);
|
|
1678
|
+
}
|
|
1679
|
+
return normalized;
|
|
1680
|
+
}
|
|
1681
|
+
function normalizeStoredRepeaterItems(plan, value, ctx) {
|
|
1682
|
+
if (!Array.isArray(value)) {
|
|
1683
|
+
return value;
|
|
1684
|
+
}
|
|
1685
|
+
return value.map((item) => {
|
|
1686
|
+
if (!item || typeof item !== "object" || Array.isArray(item)) {
|
|
1687
|
+
return item;
|
|
1688
|
+
}
|
|
1689
|
+
const itemRecord = item;
|
|
1690
|
+
const fields3 = plan.repeatedItemVariants ? plan.repeatedItemVariants.find((variant) => variant.typeId === itemRecord._type)?.fields : plan.repeatedItemPlan;
|
|
1691
|
+
if (!fields3) {
|
|
1692
|
+
return item;
|
|
1693
|
+
}
|
|
1694
|
+
return normalizeStoredObjectChildren(fields3, itemRecord, ctx);
|
|
1695
|
+
});
|
|
1696
|
+
}
|
|
1616
1697
|
function normalizeFieldValue(plan, value, ctx) {
|
|
1617
1698
|
switch (plan.kind) {
|
|
1618
1699
|
case "number":
|
|
@@ -1867,16 +1948,19 @@ function fieldPlanToZod(plan, options = {}) {
|
|
|
1867
1948
|
const ctx = validationContext(options);
|
|
1868
1949
|
return z4.any().transform((value) => normalizeFieldValue(plan, value, ctx)).superRefine((value, zodCtx) => {
|
|
1869
1950
|
for (const validationIssue of validateNormalizedFieldValue(plan, value, ctx)) {
|
|
1870
|
-
addFieldIssueToZodContext(zodCtx, validationIssue);
|
|
1951
|
+
addFieldIssueToZodContext(zodCtx, validationIssue, plan.path);
|
|
1871
1952
|
}
|
|
1872
1953
|
});
|
|
1873
1954
|
}
|
|
1874
|
-
function addFieldIssueToZodContext(zodCtx, validationIssue) {
|
|
1955
|
+
function addFieldIssueToZodContext(zodCtx, validationIssue, rootPath) {
|
|
1875
1956
|
const message = fieldIssueToMessage(validationIssue);
|
|
1957
|
+
const path = relativeZodIssuePath(validationIssue.path, rootPath);
|
|
1958
|
+
const issuePath = path.length > 0 ? { path: toZodIssuePath(path) } : {};
|
|
1876
1959
|
switch (validationIssue.kind) {
|
|
1877
1960
|
case "required":
|
|
1878
1961
|
if (validationIssue.emptyOrigin) {
|
|
1879
1962
|
zodCtx.addIssue({
|
|
1963
|
+
...issuePath,
|
|
1880
1964
|
code: "too_small",
|
|
1881
1965
|
origin: validationIssue.emptyOrigin,
|
|
1882
1966
|
minimum: 1,
|
|
@@ -1885,10 +1969,11 @@ function addFieldIssueToZodContext(zodCtx, validationIssue) {
|
|
|
1885
1969
|
});
|
|
1886
1970
|
return;
|
|
1887
1971
|
}
|
|
1888
|
-
zodCtx.addIssue({ code: "invalid_type", expected: "nonoptional", message });
|
|
1972
|
+
zodCtx.addIssue({ ...issuePath, code: "invalid_type", expected: "nonoptional", message });
|
|
1889
1973
|
return;
|
|
1890
1974
|
case "tooLong":
|
|
1891
1975
|
zodCtx.addIssue({
|
|
1976
|
+
...issuePath,
|
|
1892
1977
|
code: "too_big",
|
|
1893
1978
|
origin: "string",
|
|
1894
1979
|
maximum: validationIssue.maximum,
|
|
@@ -1897,7 +1982,7 @@ function addFieldIssueToZodContext(zodCtx, validationIssue) {
|
|
|
1897
1982
|
});
|
|
1898
1983
|
return;
|
|
1899
1984
|
case "invalidOption":
|
|
1900
|
-
zodCtx.addIssue({ code: "invalid_value", values: [], message });
|
|
1985
|
+
zodCtx.addIssue({ ...issuePath, code: "invalid_value", values: [], message });
|
|
1901
1986
|
return;
|
|
1902
1987
|
case "wrongType":
|
|
1903
1988
|
case "invalidEmail":
|
|
@@ -1914,12 +1999,15 @@ function addFieldIssueToZodContext(zodCtx, validationIssue) {
|
|
|
1914
1999
|
case "invalidMedia":
|
|
1915
2000
|
case "invalidLink":
|
|
1916
2001
|
case "invalidReference":
|
|
1917
|
-
zodCtx.addIssue({ code: "custom", message });
|
|
2002
|
+
zodCtx.addIssue({ ...issuePath, code: "custom", message });
|
|
1918
2003
|
return;
|
|
1919
2004
|
default:
|
|
1920
2005
|
assertNever(validationIssue);
|
|
1921
2006
|
}
|
|
1922
2007
|
}
|
|
2008
|
+
function relativeZodIssuePath(path, rootPath) {
|
|
2009
|
+
return startsWithFieldPath(path, rootPath) ? path.slice(rootPath.length) : path;
|
|
2010
|
+
}
|
|
1923
2011
|
function compilePattern(pattern) {
|
|
1924
2012
|
try {
|
|
1925
2013
|
return new RegExp(pattern);
|
|
@@ -1997,24 +2085,33 @@ function preprocessEmptyValues(content) {
|
|
|
1997
2085
|
}
|
|
1998
2086
|
return result;
|
|
1999
2087
|
}
|
|
2000
|
-
function deriveContentZodFromManifest(manifestOrFields, options = {}) {
|
|
2001
|
-
const shape = {};
|
|
2002
|
-
const fields3 = Array.isArray(manifestOrFields) ? manifestOrFields : manifestOrFields.fields ?? [];
|
|
2003
|
-
for (const field of fields3) {
|
|
2004
|
-
shape[field.id] = buildFieldSchema(field, options);
|
|
2005
|
-
}
|
|
2006
|
-
return z5.object(shape).catchall(z5.unknown()).passthrough();
|
|
2007
|
-
}
|
|
2008
2088
|
function createManifestValidator(manifestOrFields, options = {}) {
|
|
2009
2089
|
const isDraft = options.mode === "draft";
|
|
2010
|
-
const
|
|
2090
|
+
const plans = derivePlansFromManifestOrFields(manifestOrFields);
|
|
2091
|
+
const baseSchema = deriveContentZodFromPlans(plans, options);
|
|
2011
2092
|
if (isDraft) {
|
|
2012
|
-
return z5.preprocess(
|
|
2093
|
+
return z5.preprocess(
|
|
2094
|
+
(content) => preprocessEmptyValues(
|
|
2095
|
+
normalizeStoredContentValues(plans, content, options)
|
|
2096
|
+
),
|
|
2097
|
+
baseSchema
|
|
2098
|
+
);
|
|
2099
|
+
}
|
|
2100
|
+
return z5.preprocess(
|
|
2101
|
+
(content) => normalizeStoredContentValues(plans, content, options),
|
|
2102
|
+
baseSchema
|
|
2103
|
+
);
|
|
2104
|
+
}
|
|
2105
|
+
function deriveContentZodFromPlans(plans, options) {
|
|
2106
|
+
const shape = {};
|
|
2107
|
+
for (const plan of plans) {
|
|
2108
|
+
shape[plan.fieldId] = fieldPlanToZod(plan, options);
|
|
2013
2109
|
}
|
|
2014
|
-
return
|
|
2110
|
+
return z5.object(shape).catchall(z5.unknown()).passthrough();
|
|
2015
2111
|
}
|
|
2016
|
-
function
|
|
2017
|
-
|
|
2112
|
+
function derivePlansFromManifestOrFields(manifestOrFields) {
|
|
2113
|
+
const fields3 = Array.isArray(manifestOrFields) ? manifestOrFields : manifestOrFields.fields ?? [];
|
|
2114
|
+
return deriveFieldValidationPlans(fields3);
|
|
2018
2115
|
}
|
|
2019
2116
|
|
|
2020
2117
|
// ../blocks/src/system/manifest/variantKey.ts
|
|
@@ -18460,7 +18557,7 @@ var cardStylingFields = [
|
|
|
18460
18557
|
description: "Text for the event action button",
|
|
18461
18558
|
required: false,
|
|
18462
18559
|
multiline: false,
|
|
18463
|
-
defaultValue: "
|
|
18560
|
+
defaultValue: "Book now",
|
|
18464
18561
|
maxLength: 40
|
|
18465
18562
|
}
|
|
18466
18563
|
];
|
|
@@ -18972,6 +19069,7 @@ var eventRegistrationBlockDefinition = {
|
|
|
18972
19069
|
limit: "50",
|
|
18973
19070
|
// Get more events for selection
|
|
18974
19071
|
stage: { $bind: { from: "$root.previewStage", fallback: "published" } },
|
|
19072
|
+
readProfile: "registration",
|
|
18975
19073
|
// When rendering on an event content entry page, scope the list to that entry so
|
|
18976
19074
|
// the wizard always includes the current event (and avoids stale cached "all events" responses).
|
|
18977
19075
|
entryId: { $bind: { from: "$root.contentEntry._entryId", fallback: "" } }
|
|
@@ -19920,7 +20018,7 @@ var eventSpotlightLayout = [
|
|
|
19920
20018
|
columns: { $bind: { from: "content.columns", fallback: "3" } },
|
|
19921
20019
|
cardVariant: { $bind: { from: "content.cardVariant", fallback: "default" } },
|
|
19922
20020
|
buttonVariant: { $bind: { from: "content.buttonVariant", fallback: "primary" } },
|
|
19923
|
-
buttonText: { $bind: { from: "content.buttonText", fallback: "
|
|
20021
|
+
buttonText: { $bind: { from: "content.buttonText", fallback: "Book now" } },
|
|
19924
20022
|
ctaLabel: { $bind: { from: "content.ctaLabel" } },
|
|
19925
20023
|
ctaUrl: { $bind: { from: "content.ctaUrl", transforms: [{ id: "links.resolve" }] } },
|
|
19926
20024
|
showVenue: { $bind: { from: "content.showVenue" } },
|
|
@@ -19964,7 +20062,8 @@ var eventSpotlightBlockDefinition = {
|
|
|
19964
20062
|
siteId: { $bind: { from: "$root.siteId" } },
|
|
19965
20063
|
limit: { $bind: { from: "content.maxEvents", fallback: "3" } },
|
|
19966
20064
|
stage: { $bind: { from: "$root.previewStage", fallback: "published" } },
|
|
19967
|
-
detailLevel: "listing"
|
|
20065
|
+
detailLevel: "listing",
|
|
20066
|
+
readProfile: "spotlight"
|
|
19968
20067
|
},
|
|
19969
20068
|
mode: "server"
|
|
19970
20069
|
}
|
|
@@ -20436,7 +20535,7 @@ var COLUMN_CLASSES = {
|
|
|
20436
20535
|
};
|
|
20437
20536
|
function getContainerClass(layout, columns) {
|
|
20438
20537
|
if (layout === "compact") {
|
|
20439
|
-
return "rb-flex rb-flex-col rb-gap-2";
|
|
20538
|
+
return "event-listing-compact-container rb-flex rb-flex-col rb-gap-2";
|
|
20440
20539
|
}
|
|
20441
20540
|
if (layout === "stack") {
|
|
20442
20541
|
return "rb-flex rb-flex-col rb-gap-6";
|
|
@@ -20567,7 +20666,7 @@ function formatEventPrice(event) {
|
|
|
20567
20666
|
}
|
|
20568
20667
|
function resolveEventCta(event, buttonText) {
|
|
20569
20668
|
const { isFull: isSoldOut } = getEventAvailability(event);
|
|
20570
|
-
const defaultButtonText = event.kind === "course_session" ? "
|
|
20669
|
+
const defaultButtonText = event.kind === "course_session" ? "Book course" : "Book now";
|
|
20571
20670
|
const effectiveButtonText = buttonText ?? defaultButtonText;
|
|
20572
20671
|
if (isSoldOut) {
|
|
20573
20672
|
return { label: "Sold out", href: event.path, hidden: true };
|
|
@@ -22179,7 +22278,7 @@ var eventListingBlockRuntime = defineProgressiveBlockRuntime({
|
|
|
22179
22278
|
containerClass: getContainerClass(layout, source.columns ?? "3"),
|
|
22180
22279
|
cardVariant: source.cardVariant ?? "default",
|
|
22181
22280
|
buttonVariant: source.buttonVariant ?? "primary",
|
|
22182
|
-
buttonText: source.buttonText ?? "
|
|
22281
|
+
buttonText: source.buttonText ?? "Book now",
|
|
22183
22282
|
showVenue: source.showVenue ?? true,
|
|
22184
22283
|
showMap: source.showMap ?? true,
|
|
22185
22284
|
showCapacity: source.showCapacity ?? true,
|
|
@@ -22426,7 +22525,7 @@ var eventListingLayout = [
|
|
|
22426
22525
|
loadMoreText: { $bind: { from: "content.loadMoreText", fallback: "Load more events" } },
|
|
22427
22526
|
cardVariant: { $bind: { from: "content.cardVariant", fallback: "default" } },
|
|
22428
22527
|
buttonVariant: { $bind: { from: "content.buttonVariant", fallback: "primary" } },
|
|
22429
|
-
buttonText: { $bind: { from: "content.buttonText", fallback: "
|
|
22528
|
+
buttonText: { $bind: { from: "content.buttonText", fallback: "Book now" } },
|
|
22430
22529
|
showVenue: { $bind: { from: "content.showVenue" } },
|
|
22431
22530
|
showMap: { $bind: { from: "content.showMap" } },
|
|
22432
22531
|
showCapacity: { $bind: { from: "content.showCapacity" } },
|
|
@@ -22504,6 +22603,7 @@ var eventListingBlockDefinition = {
|
|
|
22504
22603
|
limit: { $bind: { from: "content.eventsPerPage", fallback: "12" } },
|
|
22505
22604
|
stage: { $bind: { from: "$root.previewStage", fallback: "published" } },
|
|
22506
22605
|
detailLevel: "listing",
|
|
22606
|
+
readProfile: { $bind: { from: "content.layout", fallback: "listing-card" } },
|
|
22507
22607
|
kind: { $bind: { from: "content.kind" } },
|
|
22508
22608
|
eventSurface: { $bind: { from: "content.eventSurface" } },
|
|
22509
22609
|
eventPresets: {
|
|
@@ -22643,7 +22743,7 @@ function buildEventCalendarDisplay(source) {
|
|
|
22643
22743
|
),
|
|
22644
22744
|
filterVenueId: normalizeEventVenueId(source.filterVenueId),
|
|
22645
22745
|
buttonVariant: source.buttonVariant ?? "primary",
|
|
22646
|
-
buttonText: source.buttonText ?? "
|
|
22746
|
+
buttonText: source.buttonText ?? "Book now",
|
|
22647
22747
|
showVenue: source.showVenue ?? true,
|
|
22648
22748
|
showMap: source.showMap ?? true,
|
|
22649
22749
|
showCapacity: source.showCapacity ?? true,
|
|
@@ -22832,7 +22932,7 @@ var eventCalendarLayout = [
|
|
|
22832
22932
|
$bind: { from: "content.buttonVariant", fallback: "primary" }
|
|
22833
22933
|
},
|
|
22834
22934
|
buttonText: {
|
|
22835
|
-
$bind: { from: "content.buttonText", fallback: "
|
|
22935
|
+
$bind: { from: "content.buttonText", fallback: "Book now" }
|
|
22836
22936
|
},
|
|
22837
22937
|
emptyMessage: { $bind: { from: "content.emptyMessage" } }
|
|
22838
22938
|
})
|
|
@@ -23293,6 +23393,7 @@ var eventCalendarBlockDefinition = {
|
|
|
23293
23393
|
limit: 100,
|
|
23294
23394
|
stage: { $bind: { from: "$root.previewStage", fallback: "published" } },
|
|
23295
23395
|
detailLevel: "listing",
|
|
23396
|
+
readProfile: { $bind: { from: "content.variant", fallback: "listing-card" } },
|
|
23296
23397
|
// Pass filter params if configured
|
|
23297
23398
|
kind: { $bind: { from: "content.kind" } },
|
|
23298
23399
|
eventSurface: { $bind: { from: "content.eventSurface" } },
|
|
@@ -29624,9 +29725,9 @@ function getEmbedUrl(info) {
|
|
|
29624
29725
|
const kind = info.kind ?? "p";
|
|
29625
29726
|
return `https://www.instagram.com/${kind}/${info.id}/embed`;
|
|
29626
29727
|
}
|
|
29627
|
-
default:
|
|
29628
|
-
return "";
|
|
29629
29728
|
}
|
|
29729
|
+
const exhaustive = info.provider;
|
|
29730
|
+
return exhaustive;
|
|
29630
29731
|
}
|
|
29631
29732
|
function getThumbnailUrl(info) {
|
|
29632
29733
|
switch (info.provider) {
|
|
@@ -29636,9 +29737,20 @@ function getThumbnailUrl(info) {
|
|
|
29636
29737
|
return `https://vumbnail.com/${info.id}.jpg`;
|
|
29637
29738
|
case "instagram":
|
|
29638
29739
|
return "";
|
|
29639
|
-
default:
|
|
29640
|
-
return "";
|
|
29641
29740
|
}
|
|
29741
|
+
const exhaustive = info.provider;
|
|
29742
|
+
return exhaustive;
|
|
29743
|
+
}
|
|
29744
|
+
function getVideoEmbedLoadingStrategy(provider) {
|
|
29745
|
+
switch (provider) {
|
|
29746
|
+
case "youtube":
|
|
29747
|
+
case "vimeo":
|
|
29748
|
+
return "native-lazy";
|
|
29749
|
+
case "instagram":
|
|
29750
|
+
return "defer-until-near-viewport";
|
|
29751
|
+
}
|
|
29752
|
+
const exhaustive = provider;
|
|
29753
|
+
return exhaustive;
|
|
29642
29754
|
}
|
|
29643
29755
|
function getVideoEmbed(url) {
|
|
29644
29756
|
const info = parseVideoUrl(url);
|
|
@@ -29653,7 +29765,7 @@ function getVideoEmbed(url) {
|
|
|
29653
29765
|
}
|
|
29654
29766
|
|
|
29655
29767
|
// ../blocks/src/system/runtime/nodes/video-embed.tsx
|
|
29656
|
-
import { jsx as jsx18 } from "react/jsx-runtime";
|
|
29768
|
+
import { jsx as jsx18, jsxs as jsxs7 } from "react/jsx-runtime";
|
|
29657
29769
|
var VideoEmbedNode = ({
|
|
29658
29770
|
value,
|
|
29659
29771
|
className,
|
|
@@ -29696,35 +29808,43 @@ var VideoEmbedNode = ({
|
|
|
29696
29808
|
);
|
|
29697
29809
|
}
|
|
29698
29810
|
const title = getVideoTitle(embedInfo);
|
|
29699
|
-
|
|
29811
|
+
const loadingStrategy = getVideoEmbedLoadingStrategy(embedInfo.provider);
|
|
29812
|
+
const shouldDeferSrc = loadingStrategy === "defer-until-near-viewport";
|
|
29813
|
+
return /* @__PURE__ */ jsx18("div", { ...rest, children: /* @__PURE__ */ jsxs7(
|
|
29700
29814
|
"div",
|
|
29701
29815
|
{
|
|
29702
29816
|
className,
|
|
29817
|
+
"data-rb-video-embed-wrapper": shouldDeferSrc ? "true" : void 0,
|
|
29703
29818
|
style: {
|
|
29704
29819
|
...style,
|
|
29705
29820
|
aspectRatio: resolvedAspectRatio,
|
|
29706
29821
|
position: "relative",
|
|
29707
29822
|
width: "100%"
|
|
29708
29823
|
},
|
|
29709
|
-
children:
|
|
29710
|
-
|
|
29711
|
-
|
|
29712
|
-
|
|
29713
|
-
|
|
29714
|
-
|
|
29715
|
-
|
|
29716
|
-
|
|
29717
|
-
|
|
29718
|
-
|
|
29719
|
-
|
|
29720
|
-
|
|
29721
|
-
|
|
29722
|
-
|
|
29723
|
-
|
|
29724
|
-
|
|
29725
|
-
|
|
29726
|
-
|
|
29727
|
-
|
|
29824
|
+
children: [
|
|
29825
|
+
/* @__PURE__ */ jsx18(
|
|
29826
|
+
"iframe",
|
|
29827
|
+
{
|
|
29828
|
+
src: shouldDeferSrc ? void 0 : embedInfo.embedUrl,
|
|
29829
|
+
title,
|
|
29830
|
+
loading: "lazy",
|
|
29831
|
+
"data-rb-video-embed-deferred": shouldDeferSrc ? "true" : void 0,
|
|
29832
|
+
"data-rb-video-embed-src": shouldDeferSrc ? embedInfo.embedUrl : void 0,
|
|
29833
|
+
style: {
|
|
29834
|
+
position: "absolute",
|
|
29835
|
+
top: 0,
|
|
29836
|
+
left: 0,
|
|
29837
|
+
width: "100%",
|
|
29838
|
+
height: "100%",
|
|
29839
|
+
border: "none"
|
|
29840
|
+
},
|
|
29841
|
+
allow: "accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share",
|
|
29842
|
+
referrerPolicy: "no-referrer-when-downgrade",
|
|
29843
|
+
allowFullScreen: true
|
|
29844
|
+
}
|
|
29845
|
+
),
|
|
29846
|
+
shouldDeferSrc ? /* @__PURE__ */ jsx18("noscript", { children: /* @__PURE__ */ jsx18("a", { href: embedInfo.url, children: "View on Instagram" }) }) : null
|
|
29847
|
+
]
|
|
29728
29848
|
}
|
|
29729
29849
|
) });
|
|
29730
29850
|
};
|
|
@@ -29739,9 +29859,9 @@ function getVideoTitle(info) {
|
|
|
29739
29859
|
const label = kind === "reel" ? "reel" : kind === "tv" ? "video" : "post";
|
|
29740
29860
|
return `Instagram ${label} ${info.id}`;
|
|
29741
29861
|
}
|
|
29742
|
-
default:
|
|
29743
|
-
return "Embedded video";
|
|
29744
29862
|
}
|
|
29863
|
+
const exhaustive = info.provider;
|
|
29864
|
+
return exhaustive;
|
|
29745
29865
|
}
|
|
29746
29866
|
function getAspectRatio(propAspectRatio, style) {
|
|
29747
29867
|
const styleAspectRatio = style?.aspectRatio;
|
|
@@ -29823,7 +29943,7 @@ function getCarouselSlidesToShowCssVars(value) {
|
|
|
29823
29943
|
}
|
|
29824
29944
|
|
|
29825
29945
|
// ../blocks/src/system/runtime/nodes/carousel.server.tsx
|
|
29826
|
-
import { jsx as jsx20, jsxs as
|
|
29946
|
+
import { jsx as jsx20, jsxs as jsxs8 } from "react/jsx-runtime";
|
|
29827
29947
|
var CarouselNodeSSR = ({
|
|
29828
29948
|
blockId,
|
|
29829
29949
|
children,
|
|
@@ -29842,7 +29962,7 @@ var CarouselNodeSSR = ({
|
|
|
29842
29962
|
const resolvedSlides = resolveSlidesToShowMobile(normalizedSlidesToShow);
|
|
29843
29963
|
const controlsEnabled = arrowVisibility === "never" ? false : normalizeBoolean2(showControls);
|
|
29844
29964
|
const shouldSnap = transition === "slide";
|
|
29845
|
-
return /* @__PURE__ */
|
|
29965
|
+
return /* @__PURE__ */ jsxs8(
|
|
29846
29966
|
"div",
|
|
29847
29967
|
{
|
|
29848
29968
|
className: clsx_default("carousel-root rb-relative", className),
|
|
@@ -29906,7 +30026,7 @@ function normalizeBoolean2(value) {
|
|
|
29906
30026
|
}
|
|
29907
30027
|
|
|
29908
30028
|
// ../blocks/src/system/runtime/nodes/accordion.server.tsx
|
|
29909
|
-
import { jsx as jsx21, jsxs as
|
|
30029
|
+
import { jsx as jsx21, jsxs as jsxs9 } from "react/jsx-runtime";
|
|
29910
30030
|
var ACCORDION_ICONS = {
|
|
29911
30031
|
Plus,
|
|
29912
30032
|
Minus,
|
|
@@ -29923,7 +30043,7 @@ var AccordionNodeSSR = ({
|
|
|
29923
30043
|
defaultValue,
|
|
29924
30044
|
collapsible
|
|
29925
30045
|
}) => {
|
|
29926
|
-
return /* @__PURE__ */
|
|
30046
|
+
return /* @__PURE__ */ jsxs9(
|
|
29927
30047
|
"div",
|
|
29928
30048
|
{
|
|
29929
30049
|
className: clsx_default("accordion-root", className),
|
|
@@ -29953,16 +30073,16 @@ var AccordionItemNodeSSR = ({
|
|
|
29953
30073
|
const iconConfig = ICON_CONFIG[resolvedIconStyle];
|
|
29954
30074
|
const ClosedIconComponent = ACCORDION_ICONS[iconConfig.closedIcon];
|
|
29955
30075
|
const OpenIconComponent = iconConfig.openIcon ? ACCORDION_ICONS[iconConfig.openIcon] : null;
|
|
29956
|
-
return /* @__PURE__ */
|
|
30076
|
+
return /* @__PURE__ */ jsxs9(
|
|
29957
30077
|
"div",
|
|
29958
30078
|
{
|
|
29959
30079
|
className: clsx_default("accordion-item", className),
|
|
29960
30080
|
"data-accordion-value": resolvedValue,
|
|
29961
30081
|
"data-state": "closed",
|
|
29962
30082
|
children: [
|
|
29963
|
-
/* @__PURE__ */
|
|
30083
|
+
/* @__PURE__ */ jsxs9("div", { className: "accordion-trigger", role: "button", tabIndex: 0, "aria-expanded": "false", children: [
|
|
29964
30084
|
/* @__PURE__ */ jsx21("span", { className: "accordion-trigger-text", children: resolveNode(triggerSource) }),
|
|
29965
|
-
/* @__PURE__ */
|
|
30085
|
+
/* @__PURE__ */ jsxs9("span", { className: "accordion-icon", "aria-hidden": "true", children: [
|
|
29966
30086
|
ClosedIconComponent && /* @__PURE__ */ jsx21(ClosedIconComponent, { className: "accordion-icon-closed" }),
|
|
29967
30087
|
OpenIconComponent && /* @__PURE__ */ jsx21(OpenIconComponent, { className: "accordion-icon-open" })
|
|
29968
30088
|
] })
|
|
@@ -29991,7 +30111,7 @@ function resolveNode(value) {
|
|
|
29991
30111
|
}
|
|
29992
30112
|
|
|
29993
30113
|
// ../blocks/src/system/runtime/nodes/header-section.server.tsx
|
|
29994
|
-
import { jsx as jsx22, jsxs as
|
|
30114
|
+
import { jsx as jsx22, jsxs as jsxs10 } from "react/jsx-runtime";
|
|
29995
30115
|
function hasShrinkClasses(className) {
|
|
29996
30116
|
return typeof className === "string" && className.includes("rb-header-shrink");
|
|
29997
30117
|
}
|
|
@@ -29999,16 +30119,21 @@ var HeaderSectionNode = ({
|
|
|
29999
30119
|
blockId,
|
|
30000
30120
|
children,
|
|
30001
30121
|
className,
|
|
30122
|
+
"data-preview-site-chrome-surface": previewSiteChromeSurface,
|
|
30002
30123
|
...rest
|
|
30003
30124
|
}) => {
|
|
30004
30125
|
const { wrapperClasses, sectionClasses } = splitPositioningClasses(className);
|
|
30005
|
-
const wrapperClassName =
|
|
30126
|
+
const wrapperClassName = [
|
|
30127
|
+
"block-site-header",
|
|
30128
|
+
wrapperClasses,
|
|
30129
|
+
previewSiteChromeSurface ? "group/site-chrome rb-relative" : ""
|
|
30130
|
+
].filter(Boolean).join(" ");
|
|
30006
30131
|
const asProp = rest.as;
|
|
30007
30132
|
const styleProp = rest.style;
|
|
30008
30133
|
const backgroundProp = typeof rest.background === "string" ? rest.background : void 0;
|
|
30009
30134
|
const allowOverflowProp = typeof rest.allowOverflow === "boolean" ? rest.allowOverflow : void 0;
|
|
30010
30135
|
const dataSlotProp = typeof rest["data-slot"] === "string" ? rest["data-slot"] : void 0;
|
|
30011
|
-
return /* @__PURE__ */
|
|
30136
|
+
return /* @__PURE__ */ jsxs10(
|
|
30012
30137
|
"nav",
|
|
30013
30138
|
{
|
|
30014
30139
|
...getIslandRootProps("headerSection", blockId),
|
|
@@ -30018,6 +30143,7 @@ var HeaderSectionNode = ({
|
|
|
30018
30143
|
"data-block": "site-header",
|
|
30019
30144
|
"data-block-kind": "block.site-header",
|
|
30020
30145
|
"data-block-id": blockId ?? void 0,
|
|
30146
|
+
"data-preview-site-chrome-surface": previewSiteChromeSurface,
|
|
30021
30147
|
children: [
|
|
30022
30148
|
/* @__PURE__ */ jsx22(IslandPropsScript, { value: { enabled: hasShrinkClasses(className) } }),
|
|
30023
30149
|
/* @__PURE__ */ jsx22(
|
|
@@ -30039,7 +30165,7 @@ var HeaderSectionNode = ({
|
|
|
30039
30165
|
var header_section_server_default = HeaderSectionNode;
|
|
30040
30166
|
|
|
30041
30167
|
// ../blocks/src/system/runtime/nodes/spinner.tsx
|
|
30042
|
-
import { jsx as jsx23, jsxs as
|
|
30168
|
+
import { jsx as jsx23, jsxs as jsxs11 } from "react/jsx-runtime";
|
|
30043
30169
|
function resolveColorStyle(color) {
|
|
30044
30170
|
switch (color) {
|
|
30045
30171
|
case "inherit":
|
|
@@ -30066,7 +30192,7 @@ function SpinnerNode({
|
|
|
30066
30192
|
const accessibilityProps = srLabel ? { role: "status", "aria-live": "polite" } : hasExplicitAriaLabel ? {} : { "aria-hidden": true };
|
|
30067
30193
|
const trackStroke = color === "inherit" ? "currentColor" : "var(--rb-spinner-track-color)";
|
|
30068
30194
|
const trackOpacity = color === "inherit" ? 0.25 : 1;
|
|
30069
|
-
return /* @__PURE__ */
|
|
30195
|
+
return /* @__PURE__ */ jsxs11(
|
|
30070
30196
|
"span",
|
|
30071
30197
|
{
|
|
30072
30198
|
...accessibilityProps,
|
|
@@ -30082,7 +30208,7 @@ function SpinnerNode({
|
|
|
30082
30208
|
},
|
|
30083
30209
|
...rest,
|
|
30084
30210
|
children: [
|
|
30085
|
-
/* @__PURE__ */
|
|
30211
|
+
/* @__PURE__ */ jsxs11("svg", { viewBox: "0 0 24 24", fill: "none", "aria-hidden": "true", children: [
|
|
30086
30212
|
/* @__PURE__ */ jsx23(
|
|
30087
30213
|
"circle",
|
|
30088
30214
|
{
|
|
@@ -30466,7 +30592,7 @@ function buildBookingFormInteractiveIslandProps(props2) {
|
|
|
30466
30592
|
}
|
|
30467
30593
|
|
|
30468
30594
|
// ../blocks/src/system/runtime/nodes/booking-form.server.tsx
|
|
30469
|
-
import { Fragment as Fragment2, jsx as jsx24, jsxs as
|
|
30595
|
+
import { Fragment as Fragment2, jsx as jsx24, jsxs as jsxs12 } from "react/jsx-runtime";
|
|
30470
30596
|
function BookingFormSSR({
|
|
30471
30597
|
blockId,
|
|
30472
30598
|
siteId,
|
|
@@ -30510,14 +30636,14 @@ function BookingFormSSR({
|
|
|
30510
30636
|
className
|
|
30511
30637
|
});
|
|
30512
30638
|
const display = islandProps.render.display;
|
|
30513
|
-
return /* @__PURE__ */
|
|
30639
|
+
return /* @__PURE__ */ jsxs12(
|
|
30514
30640
|
"div",
|
|
30515
30641
|
{
|
|
30516
30642
|
className: `booking-form-ssr ${className ?? ""}`.trim(),
|
|
30517
30643
|
...getIslandRootProps("booking-form", blockId),
|
|
30518
30644
|
children: [
|
|
30519
30645
|
/* @__PURE__ */ jsx24(IslandPropsScript, { value: islandProps }),
|
|
30520
|
-
/* @__PURE__ */ jsx24("div", { className: "booking-form-ssr__summary", children: display.state === "missing" ? /* @__PURE__ */ jsx24("p", { className: "booking-form-ssr__error", children: display.message }) : /* @__PURE__ */
|
|
30646
|
+
/* @__PURE__ */ jsx24("div", { className: "booking-form-ssr__summary", children: display.state === "missing" ? /* @__PURE__ */ jsx24("p", { className: "booking-form-ssr__error", children: display.message }) : /* @__PURE__ */ jsxs12(Fragment2, { children: [
|
|
30521
30647
|
/* @__PURE__ */ jsx24("strong", { children: display.submitLabel }),
|
|
30522
30648
|
display.successMessage ? /* @__PURE__ */ jsx24("p", { className: "booking-form-ssr__success", children: display.successMessage }) : null
|
|
30523
30649
|
] }) }),
|
|
@@ -30627,22 +30753,22 @@ function filterMembershipsForEvent(siteMemberships, event) {
|
|
|
30627
30753
|
}
|
|
30628
30754
|
|
|
30629
30755
|
// ../blocks/src/system/runtime/nodes/event-details/CoursePricingDisplay.tsx
|
|
30630
|
-
import { jsx as jsx25, jsxs as
|
|
30756
|
+
import { jsx as jsx25, jsxs as jsxs13 } from "react/jsx-runtime";
|
|
30631
30757
|
function CoursePricingDisplay({
|
|
30632
30758
|
pricing,
|
|
30633
30759
|
acceptedItems
|
|
30634
30760
|
}) {
|
|
30635
|
-
return /* @__PURE__ */
|
|
30761
|
+
return /* @__PURE__ */ jsxs13("div", { className: "rb-mt-6", children: [
|
|
30636
30762
|
/* @__PURE__ */ jsx25("div", { className: "rb-label rb-mb-2", children: pricing.selectableOptions.length > 1 ? "Pricing" : "Cost" }),
|
|
30637
|
-
pricing.selectableOptions.length > 1 ? /* @__PURE__ */ jsx25("div", { className: "rb-flex rb-flex-col rb-gap-2", children: pricing.selectableOptions.map((option) => /* @__PURE__ */
|
|
30638
|
-
/* @__PURE__ */
|
|
30763
|
+
pricing.selectableOptions.length > 1 ? /* @__PURE__ */ jsx25("div", { className: "rb-flex rb-flex-col rb-gap-2", children: pricing.selectableOptions.map((option) => /* @__PURE__ */ jsxs13("div", { children: [
|
|
30764
|
+
/* @__PURE__ */ jsxs13("strong", { children: [
|
|
30639
30765
|
option.name,
|
|
30640
30766
|
": ",
|
|
30641
30767
|
formatCoursePriceAmount(option.priceAmount, pricing.currency)
|
|
30642
30768
|
] }),
|
|
30643
30769
|
option.description ? /* @__PURE__ */ jsx25("p", { className: "rb-caption status-muted", children: option.description }) : null
|
|
30644
30770
|
] }, option.id)) }) : /* @__PURE__ */ jsx25("p", { children: /* @__PURE__ */ jsx25("strong", { children: formatCoursePriceDisplay(pricing.display) }) }),
|
|
30645
|
-
acceptedItems.length > 0 ? /* @__PURE__ */
|
|
30771
|
+
acceptedItems.length > 0 ? /* @__PURE__ */ jsxs13("p", { className: "rb-caption rb-mt-1", children: [
|
|
30646
30772
|
"You can also attend with: ",
|
|
30647
30773
|
acceptedItems.join(", ")
|
|
30648
30774
|
] }) : null
|
|
@@ -30650,7 +30776,7 @@ function CoursePricingDisplay({
|
|
|
30650
30776
|
}
|
|
30651
30777
|
|
|
30652
30778
|
// ../blocks/src/system/runtime/nodes/event-details/view.tsx
|
|
30653
|
-
import { Fragment as Fragment3, jsx as jsx26, jsxs as
|
|
30779
|
+
import { Fragment as Fragment3, jsx as jsx26, jsxs as jsxs14 } from "react/jsx-runtime";
|
|
30654
30780
|
function formatAutoApplyDiscountLine(preview, currency) {
|
|
30655
30781
|
const rate = preview.discountType === "percent" ? `${preview.discountPercent}% off` : `${formatCoursePriceAmount(preview.discountAmountCents, currency)} off`;
|
|
30656
30782
|
const label = preview.publicLabel.trim() || "Discount";
|
|
@@ -30701,10 +30827,10 @@ function EventDetailsView({
|
|
|
30701
30827
|
acceptedItems.push(...applicableMemberships.map((m) => m.name));
|
|
30702
30828
|
}
|
|
30703
30829
|
const hasAcceptedItems = acceptedItems.length > 0;
|
|
30704
|
-
return /* @__PURE__ */
|
|
30705
|
-
/* @__PURE__ */
|
|
30706
|
-
/* @__PURE__ */
|
|
30707
|
-
/* @__PURE__ */
|
|
30830
|
+
return /* @__PURE__ */ jsxs14("div", { className: "rb-flex rb-flex-col rb-gap-6 rb-text-left", children: [
|
|
30831
|
+
/* @__PURE__ */ jsxs14("div", { className: "rb-grid rb-grid-cols-1 rb-gap-6 rb-items-start rb-sm-grid-cols-2", children: [
|
|
30832
|
+
/* @__PURE__ */ jsxs14("div", { className: "rb-flex rb-flex-col rb-gap-4", children: [
|
|
30833
|
+
/* @__PURE__ */ jsxs14("div", { children: [
|
|
30708
30834
|
/* @__PURE__ */ jsx26("div", { className: "rb-label rb-mb-2", children: selection.mode === "next" ? "Next date" : "Date" }),
|
|
30709
30835
|
(() => {
|
|
30710
30836
|
const { date, timeRange } = formatEventDateParts({
|
|
@@ -30712,20 +30838,20 @@ function EventDetailsView({
|
|
|
30712
30838
|
endsAt: selected.endsAt,
|
|
30713
30839
|
timeZone: selection.timeZone
|
|
30714
30840
|
});
|
|
30715
|
-
return /* @__PURE__ */
|
|
30841
|
+
return /* @__PURE__ */ jsxs14(Fragment3, { children: [
|
|
30716
30842
|
/* @__PURE__ */ jsx26("p", { children: /* @__PURE__ */ jsx26("strong", { children: date }) }),
|
|
30717
30843
|
/* @__PURE__ */ jsx26("p", { className: "rb-caption", children: timeRange })
|
|
30718
30844
|
] });
|
|
30719
30845
|
})()
|
|
30720
30846
|
] }),
|
|
30721
|
-
venue ? /* @__PURE__ */
|
|
30847
|
+
venue ? /* @__PURE__ */ jsxs14("div", { className: "rb-mt-6", children: [
|
|
30722
30848
|
/* @__PURE__ */ jsx26("div", { className: "rb-label rb-mb-2", children: "Venue" }),
|
|
30723
30849
|
/* @__PURE__ */ jsx26("p", { children: /* @__PURE__ */ jsx26("strong", { children: venue.name }) }),
|
|
30724
30850
|
venue.address ? /* @__PURE__ */ jsx26("p", { className: "rb-caption", children: venue.address }) : null
|
|
30725
30851
|
] }) : null,
|
|
30726
|
-
teamMembers.length > 0 ? /* @__PURE__ */
|
|
30852
|
+
teamMembers.length > 0 ? /* @__PURE__ */ jsxs14("div", { className: "rb-mt-6", children: [
|
|
30727
30853
|
/* @__PURE__ */ jsx26("div", { className: "rb-label rb-mb-2", children: "Team members" }),
|
|
30728
|
-
/* @__PURE__ */ jsx26("div", { className: "rb-flex rb-flex-col rb-gap-3", children: teamMembers.map((teamMember) => /* @__PURE__ */
|
|
30854
|
+
/* @__PURE__ */ jsx26("div", { className: "rb-flex rb-flex-col rb-gap-3", children: teamMembers.map((teamMember) => /* @__PURE__ */ jsxs14("div", { children: [
|
|
30729
30855
|
/* @__PURE__ */ jsx26("p", { children: /* @__PURE__ */ jsx26(
|
|
30730
30856
|
TeamMemberName,
|
|
30731
30857
|
{
|
|
@@ -30736,7 +30862,7 @@ function EventDetailsView({
|
|
|
30736
30862
|
teamMember.summary ? /* @__PURE__ */ jsx26("p", { className: "rb-caption status-muted", children: teamMember.summary }) : null
|
|
30737
30863
|
] }, teamMember.id)) })
|
|
30738
30864
|
] }) : null,
|
|
30739
|
-
isDropIn ? /* @__PURE__ */
|
|
30865
|
+
isDropIn ? /* @__PURE__ */ jsxs14("div", { className: "rb-mt-6", children: [
|
|
30740
30866
|
/* @__PURE__ */ jsx26("div", { className: "rb-label rb-mb-2", children: "Registration" }),
|
|
30741
30867
|
/* @__PURE__ */ jsx26("p", { className: "rb-caption status-muted", children: "No registration required - just show up" })
|
|
30742
30868
|
] }) : shouldShowCoursePricing ? /* @__PURE__ */ jsx26(
|
|
@@ -30745,22 +30871,22 @@ function EventDetailsView({
|
|
|
30745
30871
|
pricing: coursePricing,
|
|
30746
30872
|
acceptedItems
|
|
30747
30873
|
}
|
|
30748
|
-
) : shouldShowEventCost ? /* @__PURE__ */
|
|
30874
|
+
) : shouldShowEventCost ? /* @__PURE__ */ jsxs14("div", { className: "rb-mt-6", children: [
|
|
30749
30875
|
/* @__PURE__ */ jsx26("div", { className: "rb-label rb-mb-2", children: "Cost" }),
|
|
30750
30876
|
eventPrice !== null ? /* @__PURE__ */ jsx26("p", { children: /* @__PURE__ */ jsx26("strong", { children: formatCoursePriceAmount(eventPrice, selected.currency ?? "USD") }) }) : /* @__PURE__ */ jsx26("p", { className: "rb-caption status-muted", children: "See checkout for details" }),
|
|
30751
30877
|
autoApplyDiscount ? /* @__PURE__ */ jsx26("p", { className: "rb-caption rb-mt-1", children: formatAutoApplyDiscountLine(autoApplyDiscount, selected.currency ?? "USD") }) : null,
|
|
30752
|
-
hasAcceptedItems ? /* @__PURE__ */
|
|
30878
|
+
hasAcceptedItems ? /* @__PURE__ */ jsxs14("p", { className: "rb-caption rb-mt-1", children: [
|
|
30753
30879
|
"You can also attend with: ",
|
|
30754
30880
|
acceptedItems.join(", ")
|
|
30755
30881
|
] }) : null
|
|
30756
|
-
] }) : hasAcceptedItems ? /* @__PURE__ */ jsx26("div", { className: "rb-mt-6", children: /* @__PURE__ */
|
|
30882
|
+
] }) : hasAcceptedItems ? /* @__PURE__ */ jsx26("div", { className: "rb-mt-6", children: /* @__PURE__ */ jsxs14("p", { className: "rb-caption", children: [
|
|
30757
30883
|
"You can also attend with: ",
|
|
30758
30884
|
acceptedItems.join(", ")
|
|
30759
30885
|
] }) }) : null
|
|
30760
30886
|
] }),
|
|
30761
30887
|
showMap && renderVenueMap && venue?.location ? /* @__PURE__ */ jsx26(Fragment3, { children: renderVenueMap({ venueName: venue.name, location: venue.location, className: mapClassName, height: mapHeight }) }) : null
|
|
30762
30888
|
] }),
|
|
30763
|
-
showOtherDates && selection.otherDates.length > 0 ? /* @__PURE__ */
|
|
30889
|
+
showOtherDates && selection.otherDates.length > 0 ? /* @__PURE__ */ jsxs14("div", { children: [
|
|
30764
30890
|
/* @__PURE__ */ jsx26("div", { className: "rb-label", children: "Other dates" }),
|
|
30765
30891
|
/* @__PURE__ */ jsx26("div", { className: "rb-mt-2 rb-tiles-grid", children: selection.otherDates.map((e) => /* @__PURE__ */ jsx26(
|
|
30766
30892
|
"a",
|
|
@@ -30783,7 +30909,7 @@ function EventDetailsView({
|
|
|
30783
30909
|
}
|
|
30784
30910
|
|
|
30785
30911
|
// ../blocks/src/system/runtime/nodes/event-details.server.tsx
|
|
30786
|
-
import { jsx as jsx27, jsxs as
|
|
30912
|
+
import { jsx as jsx27, jsxs as jsxs15 } from "react/jsx-runtime";
|
|
30787
30913
|
function EventDetailsSSR({
|
|
30788
30914
|
blockId,
|
|
30789
30915
|
occurrenceContext,
|
|
@@ -30812,7 +30938,7 @@ function EventDetailsSSR({
|
|
|
30812
30938
|
const membershipsArray = siteMemberships?.memberships ?? null;
|
|
30813
30939
|
const applicablePasses = filterPassesForEvent(passesArray, selection.selected);
|
|
30814
30940
|
const applicableMemberships = filterMembershipsForEvent(membershipsArray, selection.selected);
|
|
30815
|
-
return /* @__PURE__ */
|
|
30941
|
+
return /* @__PURE__ */ jsxs15(
|
|
30816
30942
|
"div",
|
|
30817
30943
|
{
|
|
30818
30944
|
className: `event-details ${className ?? ""}`.trim(),
|
|
@@ -30878,7 +31004,7 @@ function EventDetailsSSR({
|
|
|
30878
31004
|
var event_details_server_default = EventDetailsSSR;
|
|
30879
31005
|
|
|
30880
31006
|
// ../blocks/src/system/runtime/nodes/location-map.view.tsx
|
|
30881
|
-
import { jsx as jsx28, jsxs as
|
|
31007
|
+
import { jsx as jsx28, jsxs as jsxs16 } from "react/jsx-runtime";
|
|
30882
31008
|
function LocationMapView({
|
|
30883
31009
|
addressText,
|
|
30884
31010
|
location: location2,
|
|
@@ -30894,7 +31020,7 @@ function LocationMapView({
|
|
|
30894
31020
|
if (!location2 && !addressText && !directionsUrl) {
|
|
30895
31021
|
return /* @__PURE__ */ jsx28("p", { className: "rb-caption", style: textColorStyle("mutedText"), children: unresolvedMessage ?? "Location details coming soon." });
|
|
30896
31022
|
}
|
|
30897
|
-
return /* @__PURE__ */
|
|
31023
|
+
return /* @__PURE__ */ jsxs16("div", { className: "rb-flex rb-flex-col rb-gap-4 rb-text-left", children: [
|
|
30898
31024
|
location2 && renderMap ? renderMap({
|
|
30899
31025
|
addressText,
|
|
30900
31026
|
location: location2,
|
|
@@ -30922,11 +31048,11 @@ function LocationMapView({
|
|
|
30922
31048
|
}
|
|
30923
31049
|
|
|
30924
31050
|
// ../blocks/src/system/runtime/nodes/location-map.server.tsx
|
|
30925
|
-
import { jsx as jsx29, jsxs as
|
|
31051
|
+
import { jsx as jsx29, jsxs as jsxs17 } from "react/jsx-runtime";
|
|
30926
31052
|
function LocationMapSSR(props2) {
|
|
30927
31053
|
const normalized = normalizeLocationMapProps(props2);
|
|
30928
31054
|
const hydrationProps = toLocationMapHydrationProps(props2);
|
|
30929
|
-
return /* @__PURE__ */
|
|
31055
|
+
return /* @__PURE__ */ jsxs17(
|
|
30930
31056
|
"div",
|
|
30931
31057
|
{
|
|
30932
31058
|
className: `location-map ${normalized.className ?? ""}`.trim(),
|
|
@@ -31081,7 +31207,7 @@ function formatCourseDateRange(range) {
|
|
|
31081
31207
|
}
|
|
31082
31208
|
|
|
31083
31209
|
// ../blocks/src/system/runtime/nodes/course-details/view.tsx
|
|
31084
|
-
import { jsx as jsx30, jsxs as
|
|
31210
|
+
import { jsx as jsx30, jsxs as jsxs18 } from "react/jsx-runtime";
|
|
31085
31211
|
function TeamMemberName2({
|
|
31086
31212
|
name,
|
|
31087
31213
|
profilePath
|
|
@@ -31116,14 +31242,14 @@ function CourseDetailsView(props2) {
|
|
|
31116
31242
|
const hasMoreSessions = sessionLimit !== "all" && sortedSessions.length > sessionLimit;
|
|
31117
31243
|
const descriptionDoc = showDescription ? coerceRichTextDoc(course.description) : null;
|
|
31118
31244
|
const teamMembers = course.teamMembers ?? [];
|
|
31119
|
-
return /* @__PURE__ */
|
|
31245
|
+
return /* @__PURE__ */ jsxs18("div", { className: "rb-flex rb-flex-col rb-gap-6", children: [
|
|
31120
31246
|
showTitle && /* @__PURE__ */ jsx30("h3", { children: course.title }),
|
|
31121
|
-
/* @__PURE__ */
|
|
31122
|
-
/* @__PURE__ */
|
|
31123
|
-
showPrice && /* @__PURE__ */
|
|
31247
|
+
/* @__PURE__ */ jsxs18("div", { className: "rb-grid rb-grid-cols-1 rb-gap-6 rb-items-start rb-sm-grid-cols-2", children: [
|
|
31248
|
+
/* @__PURE__ */ jsxs18("div", { className: "rb-flex rb-flex-col rb-gap-4", children: [
|
|
31249
|
+
showPrice && /* @__PURE__ */ jsxs18("div", { children: [
|
|
31124
31250
|
/* @__PURE__ */ jsx30("div", { className: "rb-label rb-mb-2", children: pricing.selectableOptions.length > 0 ? "Pricing" : "Price" }),
|
|
31125
|
-
pricing.selectableOptions.length > 1 ? /* @__PURE__ */ jsx30("div", { className: "rb-flex rb-flex-col rb-gap-2", children: pricing.selectableOptions.map((option) => /* @__PURE__ */
|
|
31126
|
-
/* @__PURE__ */
|
|
31251
|
+
pricing.selectableOptions.length > 1 ? /* @__PURE__ */ jsx30("div", { className: "rb-flex rb-flex-col rb-gap-2", children: pricing.selectableOptions.map((option) => /* @__PURE__ */ jsxs18("div", { children: [
|
|
31252
|
+
/* @__PURE__ */ jsxs18("strong", { children: [
|
|
31127
31253
|
option.name,
|
|
31128
31254
|
": ",
|
|
31129
31255
|
formatCoursePriceAmount(
|
|
@@ -31134,17 +31260,17 @@ function CourseDetailsView(props2) {
|
|
|
31134
31260
|
option.description ? /* @__PURE__ */ jsx30("p", { className: "rb-caption status-muted", children: option.description }) : null
|
|
31135
31261
|
] }, option.id)) }) : /* @__PURE__ */ jsx30("div", { children: /* @__PURE__ */ jsx30("strong", { children: formatCoursePriceDisplay(pricing.display) }) })
|
|
31136
31262
|
] }),
|
|
31137
|
-
showCapacity && /* @__PURE__ */
|
|
31263
|
+
showCapacity && /* @__PURE__ */ jsxs18("div", { children: [
|
|
31138
31264
|
/* @__PURE__ */ jsx30("div", { className: "rb-label rb-mb-2", children: "Spots" }),
|
|
31139
31265
|
/* @__PURE__ */ jsx30("div", { children: /* @__PURE__ */ jsx30("strong", { children: course.enrollmentCapacity === null ? "Unlimited" : `${course.availableSpots ?? Math.max(0, course.enrollmentCapacity - course.enrolledCount)} left` }) })
|
|
31140
31266
|
] }),
|
|
31141
|
-
showMembershipNote && course.acceptsMemberships && /* @__PURE__ */
|
|
31267
|
+
showMembershipNote && course.acceptsMemberships && /* @__PURE__ */ jsxs18("div", { children: [
|
|
31142
31268
|
/* @__PURE__ */ jsx30("div", { className: "rb-label rb-mb-2", children: "Membership" }),
|
|
31143
31269
|
/* @__PURE__ */ jsx30("p", { className: "rb-caption status-muted", children: "Eligible memberships can be used for free enrollment" })
|
|
31144
31270
|
] }),
|
|
31145
|
-
teamMembers.length > 0 && /* @__PURE__ */
|
|
31271
|
+
teamMembers.length > 0 && /* @__PURE__ */ jsxs18("div", { children: [
|
|
31146
31272
|
/* @__PURE__ */ jsx30("div", { className: "rb-label rb-mb-2", children: "Team members" }),
|
|
31147
|
-
/* @__PURE__ */ jsx30("div", { className: "rb-flex rb-flex-col rb-gap-3", children: teamMembers.map((teamMember) => /* @__PURE__ */
|
|
31273
|
+
/* @__PURE__ */ jsx30("div", { className: "rb-flex rb-flex-col rb-gap-3", children: teamMembers.map((teamMember) => /* @__PURE__ */ jsxs18("div", { children: [
|
|
31148
31274
|
/* @__PURE__ */ jsx30("p", { children: /* @__PURE__ */ jsx30(
|
|
31149
31275
|
TeamMemberName2,
|
|
31150
31276
|
{
|
|
@@ -31156,23 +31282,23 @@ function CourseDetailsView(props2) {
|
|
|
31156
31282
|
] }, teamMember.id)) })
|
|
31157
31283
|
] })
|
|
31158
31284
|
] }),
|
|
31159
|
-
/* @__PURE__ */
|
|
31160
|
-
showVenue && course.venue && /* @__PURE__ */
|
|
31285
|
+
/* @__PURE__ */ jsxs18("div", { className: "rb-flex rb-flex-col rb-gap-4", children: [
|
|
31286
|
+
showVenue && course.venue && /* @__PURE__ */ jsxs18("div", { children: [
|
|
31161
31287
|
/* @__PURE__ */ jsx30("div", { className: "rb-label rb-mb-2", children: "Venue" }),
|
|
31162
31288
|
/* @__PURE__ */ jsx30("h3", { children: course.venue.name }),
|
|
31163
31289
|
course.venue.address && /* @__PURE__ */ jsx30("p", { className: "rb-caption status-muted", children: course.venue.address })
|
|
31164
31290
|
] }),
|
|
31165
|
-
showEnrollmentStatus && /* @__PURE__ */
|
|
31291
|
+
showEnrollmentStatus && /* @__PURE__ */ jsxs18("div", { children: [
|
|
31166
31292
|
/* @__PURE__ */ jsx30("div", { className: "rb-label rb-mb-2", children: "Enrollment" }),
|
|
31167
31293
|
/* @__PURE__ */ jsx30("p", { className: course.enrollmentOpen ? "cd-enrollment--open" : "cd-enrollment--closed", children: /* @__PURE__ */ jsx30("strong", { children: course.enrollmentOpen ? "Open" : "Closed" }) })
|
|
31168
31294
|
] })
|
|
31169
31295
|
] })
|
|
31170
31296
|
] }),
|
|
31171
31297
|
descriptionDoc && /* @__PURE__ */ jsx30("div", { className: "cd-description", children: /* @__PURE__ */ jsx30(RichText, { doc: descriptionDoc }) }),
|
|
31172
|
-
showSessions && visibleSessions.length > 0 && /* @__PURE__ */
|
|
31298
|
+
showSessions && visibleSessions.length > 0 && /* @__PURE__ */ jsxs18("div", { children: [
|
|
31173
31299
|
/* @__PURE__ */ jsx30("div", { className: "rb-label", children: "Sessions" }),
|
|
31174
31300
|
/* @__PURE__ */ jsx30("div", { className: "rb-mt-2 rb-tiles-grid", children: visibleSessions.map((s) => /* @__PURE__ */ jsx30("div", { className: "rb-tile", children: /* @__PURE__ */ jsx30(DateTimeTile, { startsAt: s.startsAt, endsAt: s.endsAt }) }, s.id)) }),
|
|
31175
|
-
hasMoreSessions && /* @__PURE__ */
|
|
31301
|
+
hasMoreSessions && /* @__PURE__ */ jsxs18("p", { className: "cd-sessions__more", children: [
|
|
31176
31302
|
"Showing ",
|
|
31177
31303
|
visibleSessions.length,
|
|
31178
31304
|
" of ",
|
|
@@ -31184,7 +31310,7 @@ function CourseDetailsView(props2) {
|
|
|
31184
31310
|
}
|
|
31185
31311
|
|
|
31186
31312
|
// ../blocks/src/system/runtime/nodes/course-details.server.tsx
|
|
31187
|
-
import { jsx as jsx31, jsxs as
|
|
31313
|
+
import { jsx as jsx31, jsxs as jsxs19 } from "react/jsx-runtime";
|
|
31188
31314
|
function CourseDetailsSSR({
|
|
31189
31315
|
courses,
|
|
31190
31316
|
contentEntry,
|
|
@@ -31222,7 +31348,7 @@ function CourseDetailsSSR({
|
|
|
31222
31348
|
const pastRuns = scopedWithRange.filter(({ range }) => Boolean(range.end && range.end <= now)).sort((a, b) => (b.range.end?.getTime() ?? 0) - (a.range.end?.getTime() ?? 0));
|
|
31223
31349
|
const lastPastRun = pastRuns[0] ?? null;
|
|
31224
31350
|
const nonPastRuns = scopedSorted.filter(({ range }) => !(range.end && range.end <= now));
|
|
31225
|
-
return /* @__PURE__ */
|
|
31351
|
+
return /* @__PURE__ */ jsxs19("div", { className: `course-details ${className ?? ""}`.trim(), "data-block": "course-details", children: [
|
|
31226
31352
|
selection.selected ? /* @__PURE__ */ jsx31(
|
|
31227
31353
|
CourseDetailsView,
|
|
31228
31354
|
{
|
|
@@ -31237,8 +31363,8 @@ function CourseDetailsSSR({
|
|
|
31237
31363
|
showEnrollmentStatus,
|
|
31238
31364
|
showMembershipNote
|
|
31239
31365
|
}
|
|
31240
|
-
) : selection.scoped.length > 0 ? /* @__PURE__ */
|
|
31241
|
-
/* @__PURE__ */
|
|
31366
|
+
) : selection.scoped.length > 0 ? /* @__PURE__ */ jsxs19("div", { className: "rb-flex rb-flex-col rb-gap-3", children: [
|
|
31367
|
+
/* @__PURE__ */ jsxs19("div", { children: [
|
|
31242
31368
|
/* @__PURE__ */ jsx31("div", { className: "rb-label rb-mb-2", children: "Upcoming runs" }),
|
|
31243
31369
|
/* @__PURE__ */ jsx31("p", { className: "rb-caption status-muted", children: "Choose a run to see sessions and details." })
|
|
31244
31370
|
] }),
|
|
@@ -31247,15 +31373,15 @@ function CourseDetailsSSR({
|
|
|
31247
31373
|
const end = range.end;
|
|
31248
31374
|
const isInProgress = Boolean(start && end && start <= now && end > now);
|
|
31249
31375
|
const href = basePath ? `${basePath.replace(/\/$/, "")}/${course.slug}` : null;
|
|
31250
|
-
return /* @__PURE__ */ jsx31("li", { className: "rb-rounded-md rb-border rb-p-3", children: /* @__PURE__ */ jsx31("div", { className: "rb-flex rb-flex-col rb-gap-1", children: /* @__PURE__ */
|
|
31251
|
-
/* @__PURE__ */
|
|
31376
|
+
return /* @__PURE__ */ jsx31("li", { className: "rb-rounded-md rb-border rb-p-3", children: /* @__PURE__ */ jsx31("div", { className: "rb-flex rb-flex-col rb-gap-1", children: /* @__PURE__ */ jsxs19("div", { className: "rb-flex rb-items-center rb-justify-between rb-gap-3", children: [
|
|
31377
|
+
/* @__PURE__ */ jsxs19("div", { className: "rb-min-w-0", children: [
|
|
31252
31378
|
href ? /* @__PURE__ */ jsx31("a", { href, className: "rb-truncate", children: /* @__PURE__ */ jsx31("strong", { children: course.title }) }) : /* @__PURE__ */ jsx31("div", { className: "rb-truncate", children: /* @__PURE__ */ jsx31("strong", { children: course.title }) }),
|
|
31253
31379
|
/* @__PURE__ */ jsx31("div", { className: "rb-caption status-muted", children: formatCourseDateRange(range) })
|
|
31254
31380
|
] }),
|
|
31255
31381
|
/* @__PURE__ */ jsx31("div", { className: "rb-caption status-muted rb-shrink-0", children: course.enrollmentOpen ? "Enrollment open" : isInProgress ? "Currently in progress" : "Enrollment closed" })
|
|
31256
31382
|
] }) }) }, course.id);
|
|
31257
31383
|
}) }) : /* @__PURE__ */ jsx31("p", { className: "rb-caption status-muted", children: "No upcoming runs." }),
|
|
31258
|
-
lastPastRun ? /* @__PURE__ */
|
|
31384
|
+
lastPastRun ? /* @__PURE__ */ jsxs19("div", { className: "rb-caption status-muted", children: [
|
|
31259
31385
|
"Last run: ",
|
|
31260
31386
|
/* @__PURE__ */ jsx31("strong", { children: lastPastRun.course.title }),
|
|
31261
31387
|
" (",
|
|
@@ -31283,14 +31409,14 @@ function CourseDetailsSSR({
|
|
|
31283
31409
|
var course_details_server_default = CourseDetailsSSR;
|
|
31284
31410
|
|
|
31285
31411
|
// ../blocks/src/system/runtime/nodes/events/EventSpotlight.tsx
|
|
31286
|
-
import { jsx as jsx32, jsxs as
|
|
31412
|
+
import { jsx as jsx32, jsxs as jsxs20 } from "react/jsx-runtime";
|
|
31287
31413
|
var EventSpotlight = ({
|
|
31288
31414
|
events,
|
|
31289
31415
|
layout = "grid",
|
|
31290
31416
|
columns = "3",
|
|
31291
31417
|
cardVariant = "default",
|
|
31292
31418
|
buttonVariant = "primary",
|
|
31293
|
-
buttonText = "
|
|
31419
|
+
buttonText = "Book now",
|
|
31294
31420
|
ctaLabel,
|
|
31295
31421
|
ctaUrl,
|
|
31296
31422
|
showVenue = true,
|
|
@@ -31306,7 +31432,7 @@ var EventSpotlight = ({
|
|
|
31306
31432
|
const containerClass = getContainerClass(layout, columns);
|
|
31307
31433
|
const cardOrientation = getCardOrientation(layout);
|
|
31308
31434
|
const buttonClass = themeButtonClassName({ variant: buttonVariant, size: "md" });
|
|
31309
|
-
return /* @__PURE__ */
|
|
31435
|
+
return /* @__PURE__ */ jsxs20("div", { className: `event-spotlight-section ${className || ""}`, "data-block": "event-spotlight", children: [
|
|
31310
31436
|
/* @__PURE__ */ jsx32("div", { className: `event-spotlight ${containerClass}`, children: normalizedEvents.map((event) => /* @__PURE__ */ jsx32(
|
|
31311
31437
|
EventCard,
|
|
31312
31438
|
{
|
|
@@ -31444,7 +31570,7 @@ function buildEventCombinedDisplay(source) {
|
|
|
31444
31570
|
showMap: source.showMap ?? true,
|
|
31445
31571
|
showCapacity: source.showCapacity ?? true,
|
|
31446
31572
|
buttonVariant: source.buttonVariant ?? "primary",
|
|
31447
|
-
buttonText: source.buttonText ?? "
|
|
31573
|
+
buttonText: source.buttonText ?? "Book now",
|
|
31448
31574
|
emptyMessage: source.emptyMessage ?? "No upcoming events scheduled."
|
|
31449
31575
|
};
|
|
31450
31576
|
}
|
|
@@ -31545,7 +31671,7 @@ function renderEventListItem(event, display) {
|
|
|
31545
31671
|
}
|
|
31546
31672
|
|
|
31547
31673
|
// ../blocks/src/system/runtime/nodes/events/EventCombined.server.tsx
|
|
31548
|
-
import { jsx as jsx34, jsxs as
|
|
31674
|
+
import { jsx as jsx34, jsxs as jsxs21 } from "react/jsx-runtime";
|
|
31549
31675
|
var EventCombinedSSR = ({
|
|
31550
31676
|
blockId,
|
|
31551
31677
|
...source
|
|
@@ -31554,7 +31680,7 @@ var EventCombinedSSR = ({
|
|
|
31554
31680
|
const listDisplay = buildEventCombinedListingDisplay(render);
|
|
31555
31681
|
const islandProps = buildEventCombinedInteractiveIslandProps(source);
|
|
31556
31682
|
const ssrEmptyMessage = render.hydration.prefetchedEvents ? render.display.emptyMessage : listDisplay.loadingMessage;
|
|
31557
|
-
return /* @__PURE__ */
|
|
31683
|
+
return /* @__PURE__ */ jsxs21(
|
|
31558
31684
|
"div",
|
|
31559
31685
|
{
|
|
31560
31686
|
className: `event-combined ${render.display.className || ""}`,
|
|
@@ -31562,7 +31688,7 @@ var EventCombinedSSR = ({
|
|
|
31562
31688
|
...getIslandRootProps("event-combined", blockId),
|
|
31563
31689
|
children: [
|
|
31564
31690
|
/* @__PURE__ */ jsx34(IslandPropsScript, { value: islandProps }),
|
|
31565
|
-
/* @__PURE__ */
|
|
31691
|
+
/* @__PURE__ */ jsxs21("div", { className: "nav-tabs", role: "tablist", children: [
|
|
31566
31692
|
/* @__PURE__ */ jsx34(
|
|
31567
31693
|
"button",
|
|
31568
31694
|
{
|
|
@@ -31591,7 +31717,7 @@ var EventCombinedSSR = ({
|
|
|
31591
31717
|
};
|
|
31592
31718
|
|
|
31593
31719
|
// ../blocks/src/system/runtime/nodes/commerce/shared/view.tsx
|
|
31594
|
-
import { Fragment as Fragment4, jsx as jsx35, jsxs as
|
|
31720
|
+
import { Fragment as Fragment4, jsx as jsx35, jsxs as jsxs22 } from "react/jsx-runtime";
|
|
31595
31721
|
function ProductBadgesView({ badges }) {
|
|
31596
31722
|
if (badges.length === 0) return null;
|
|
31597
31723
|
return /* @__PURE__ */ jsx35("div", { className: "rb-flex rb-flex-wrap rb-gap-2", children: badges.map((badge) => /* @__PURE__ */ jsx35(
|
|
@@ -31606,7 +31732,7 @@ function ProductBadgesView({ badges }) {
|
|
|
31606
31732
|
function VariantSelectView(props2) {
|
|
31607
31733
|
const { options, selectedVariantId, disabled = false, onChange } = props2;
|
|
31608
31734
|
if (options.length === 0) return null;
|
|
31609
|
-
return /* @__PURE__ */
|
|
31735
|
+
return /* @__PURE__ */ jsxs22("label", { className: "rb-flex rb-flex-col rb-gap-1", children: [
|
|
31610
31736
|
/* @__PURE__ */ jsx35("span", { className: "rb-label", children: "Variant" }),
|
|
31611
31737
|
/* @__PURE__ */ jsx35(
|
|
31612
31738
|
"select",
|
|
@@ -31615,7 +31741,7 @@ function VariantSelectView(props2) {
|
|
|
31615
31741
|
value: selectedVariantId ?? "",
|
|
31616
31742
|
disabled,
|
|
31617
31743
|
onChange: onChange ? (event) => onChange(event.target.value || null) : void 0,
|
|
31618
|
-
children: options.map((variant) => /* @__PURE__ */
|
|
31744
|
+
children: options.map((variant) => /* @__PURE__ */ jsxs22("option", { value: variant.id, children: [
|
|
31619
31745
|
variant.label,
|
|
31620
31746
|
" ",
|
|
31621
31747
|
variant.soldOut ? "(Sold out)" : ""
|
|
@@ -31626,12 +31752,12 @@ function VariantSelectView(props2) {
|
|
|
31626
31752
|
}
|
|
31627
31753
|
function ProductCardView(props2) {
|
|
31628
31754
|
const { display, layout, variantControl, actions, feedback } = props2;
|
|
31629
|
-
return /* @__PURE__ */
|
|
31755
|
+
return /* @__PURE__ */ jsxs22("article", { className: `rb-flex rb-gap-4 rb-rounded-2xl rb-border rb-p-4 ${layout === "list" ? "rb-flex-row" : "rb-flex-col"}`, children: [
|
|
31630
31756
|
display.image ? /* @__PURE__ */ jsx35("a", { href: display.path ?? void 0, className: "rb-block rb-overflow-hidden rb-rounded-xl rb-border", children: /* @__PURE__ */ jsx35("img", { src: display.image.url, alt: display.image.alt ?? "", className: "rb-h-48 rb-w-full rb-object-cover" }) }) : null,
|
|
31631
|
-
/* @__PURE__ */
|
|
31632
|
-
/* @__PURE__ */
|
|
31633
|
-
/* @__PURE__ */
|
|
31634
|
-
/* @__PURE__ */
|
|
31757
|
+
/* @__PURE__ */ jsxs22("div", { className: "rb-flex rb-flex-1 rb-flex-col rb-gap-3", children: [
|
|
31758
|
+
/* @__PURE__ */ jsxs22("div", { className: "rb-flex rb-flex-col rb-gap-2", children: [
|
|
31759
|
+
/* @__PURE__ */ jsxs22("div", { className: "rb-flex rb-items-start rb-justify-between rb-gap-3", children: [
|
|
31760
|
+
/* @__PURE__ */ jsxs22("div", { children: [
|
|
31635
31761
|
display.path ? /* @__PURE__ */ jsx35("a", { href: display.path, children: /* @__PURE__ */ jsx35("h3", { children: display.title }) }) : /* @__PURE__ */ jsx35("h3", { children: display.title }),
|
|
31636
31762
|
display.summary ? /* @__PURE__ */ jsx35("p", { className: "rb-caption status-muted", children: display.summary }) : null
|
|
31637
31763
|
] }),
|
|
@@ -31648,7 +31774,7 @@ function ProductCardView(props2) {
|
|
|
31648
31774
|
}
|
|
31649
31775
|
function ProductListSectionView(props2) {
|
|
31650
31776
|
const { display, children } = props2;
|
|
31651
|
-
return /* @__PURE__ */
|
|
31777
|
+
return /* @__PURE__ */ jsxs22("div", { className: `shop shop--product-list ${display.className ?? ""}`.trim(), "data-block": "shop", children: [
|
|
31652
31778
|
display.heading ? /* @__PURE__ */ jsx35("h2", { children: display.heading }) : null,
|
|
31653
31779
|
display.state === "empty" ? /* @__PURE__ */ jsx35("p", { className: "rb-caption status-muted", children: display.emptyMessage }) : /* @__PURE__ */ jsx35(
|
|
31654
31780
|
"div",
|
|
@@ -31665,18 +31791,18 @@ function ProductDetailView(props2) {
|
|
|
31665
31791
|
if (display.state === "empty") {
|
|
31666
31792
|
return /* @__PURE__ */ jsx35("div", { className: `shop shop--product-detail ${display.className ?? ""}`.trim(), "data-block": "shop", children: /* @__PURE__ */ jsx35("p", { className: "rb-caption status-muted", children: display.emptyMessage }) });
|
|
31667
31793
|
}
|
|
31668
|
-
return /* @__PURE__ */
|
|
31794
|
+
return /* @__PURE__ */ jsxs22("div", { className: `shop shop--product-detail rb-grid rb-gap-6 rb-md-grid-cols-2 ${display.className ?? ""}`.trim(), "data-block": "shop", children: [
|
|
31669
31795
|
/* @__PURE__ */ jsx35("div", { className: "rb-flex rb-flex-col rb-gap-4", children: gallery }),
|
|
31670
|
-
/* @__PURE__ */
|
|
31796
|
+
/* @__PURE__ */ jsxs22("div", { className: "rb-flex rb-flex-col rb-gap-4", children: [
|
|
31671
31797
|
display.heading ? /* @__PURE__ */ jsx35("p", { className: "rb-label", children: display.heading }) : null,
|
|
31672
|
-
/* @__PURE__ */
|
|
31798
|
+
/* @__PURE__ */ jsxs22("div", { children: [
|
|
31673
31799
|
/* @__PURE__ */ jsx35("h2", { children: display.title }),
|
|
31674
31800
|
/* @__PURE__ */ jsx35("div", { className: "rb-mt-2", children: /* @__PURE__ */ jsx35("strong", { children: display.priceLabel }) })
|
|
31675
31801
|
] }),
|
|
31676
31802
|
/* @__PURE__ */ jsx35(ProductBadgesView, { badges: display.badges }),
|
|
31677
31803
|
display.summary ? /* @__PURE__ */ jsx35("p", { className: "rb-caption status-muted", children: display.summary }) : null,
|
|
31678
31804
|
variantControl,
|
|
31679
|
-
/* @__PURE__ */
|
|
31805
|
+
/* @__PURE__ */ jsxs22("div", { className: "rb-flex rb-items-center rb-gap-3", children: [
|
|
31680
31806
|
actions,
|
|
31681
31807
|
display.categoryLabel ? /* @__PURE__ */ jsx35("span", { className: "rb-caption status-muted", children: display.categoryLabel }) : null
|
|
31682
31808
|
] }),
|
|
@@ -31702,15 +31828,15 @@ function ProductGalleryFrameView(props2) {
|
|
|
31702
31828
|
return /* @__PURE__ */ jsx35(Fragment4, { children: renderCarousel(slides) });
|
|
31703
31829
|
}
|
|
31704
31830
|
function PassCardView(props2) {
|
|
31705
|
-
return /* @__PURE__ */
|
|
31706
|
-
/* @__PURE__ */
|
|
31831
|
+
return /* @__PURE__ */ jsxs22("article", { className: "shop__card shop__card--pass", children: [
|
|
31832
|
+
/* @__PURE__ */ jsxs22("div", { className: "shop__card-header", children: [
|
|
31707
31833
|
/* @__PURE__ */ jsx35("h4", { className: "shop__card-name", children: props2.display.title }),
|
|
31708
31834
|
/* @__PURE__ */ jsx35("div", { className: "shop__card-price", children: props2.display.priceLabel })
|
|
31709
31835
|
] }),
|
|
31710
31836
|
props2.display.description ? /* @__PURE__ */ jsx35("p", { className: "shop__card-description", children: props2.display.description }) : null,
|
|
31711
|
-
/* @__PURE__ */
|
|
31837
|
+
/* @__PURE__ */ jsxs22("div", { className: "shop__card-details", children: [
|
|
31712
31838
|
/* @__PURE__ */ jsx35("span", { className: "shop__card-credits", children: props2.display.creditsLabel }),
|
|
31713
|
-
props2.display.perCreditLabel ? /* @__PURE__ */
|
|
31839
|
+
props2.display.perCreditLabel ? /* @__PURE__ */ jsxs22("span", { className: "shop__card-per-credit", children: [
|
|
31714
31840
|
"(",
|
|
31715
31841
|
props2.display.perCreditLabel,
|
|
31716
31842
|
")"
|
|
@@ -31722,10 +31848,10 @@ function PassCardView(props2) {
|
|
|
31722
31848
|
] });
|
|
31723
31849
|
}
|
|
31724
31850
|
function MembershipCardView(props2) {
|
|
31725
|
-
return /* @__PURE__ */
|
|
31726
|
-
/* @__PURE__ */
|
|
31851
|
+
return /* @__PURE__ */ jsxs22("article", { className: "shop__card shop__card--membership", children: [
|
|
31852
|
+
/* @__PURE__ */ jsxs22("div", { className: "shop__card-header", children: [
|
|
31727
31853
|
/* @__PURE__ */ jsx35("h4", { className: "shop__card-name", children: props2.display.title }),
|
|
31728
|
-
/* @__PURE__ */
|
|
31854
|
+
/* @__PURE__ */ jsxs22("div", { className: "shop__card-price", children: [
|
|
31729
31855
|
props2.display.priceLabel,
|
|
31730
31856
|
/* @__PURE__ */ jsx35("span", { className: "shop__card-interval", children: props2.display.intervalLabel })
|
|
31731
31857
|
] })
|
|
@@ -31739,7 +31865,7 @@ function PassesMembershipsSectionView(props2) {
|
|
|
31739
31865
|
const { display, beforeContent, passCards, membershipCards } = props2;
|
|
31740
31866
|
const productsClass = `shop__products shop__products--${display.layout}`;
|
|
31741
31867
|
const gridStyle = display.state === "ready" ? { "--shop-columns": display.columns } : void 0;
|
|
31742
|
-
return /* @__PURE__ */
|
|
31868
|
+
return /* @__PURE__ */ jsxs22(
|
|
31743
31869
|
"div",
|
|
31744
31870
|
{
|
|
31745
31871
|
className: `shop ${display.state === "ready" ? `shop--${display.layout}` : "shop--empty"} ${display.className ?? ""}`.trim(),
|
|
@@ -31749,11 +31875,11 @@ function PassesMembershipsSectionView(props2) {
|
|
|
31749
31875
|
children: [
|
|
31750
31876
|
beforeContent,
|
|
31751
31877
|
display.state === "empty" ? /* @__PURE__ */ jsx35("p", { className: "shop__empty-text", children: display.emptyMessage }) : null,
|
|
31752
|
-
display.passes.length > 0 ? /* @__PURE__ */
|
|
31878
|
+
display.passes.length > 0 ? /* @__PURE__ */ jsxs22("section", { className: "shop__section shop__section--passes", children: [
|
|
31753
31879
|
/* @__PURE__ */ jsx35("h3", { className: "shop__section-heading", children: display.passesHeading }),
|
|
31754
31880
|
/* @__PURE__ */ jsx35("div", { className: productsClass, children: passCards })
|
|
31755
31881
|
] }) : null,
|
|
31756
|
-
display.memberships.length > 0 ? /* @__PURE__ */
|
|
31882
|
+
display.memberships.length > 0 ? /* @__PURE__ */ jsxs22("section", { className: "shop__section shop__section--memberships", children: [
|
|
31757
31883
|
/* @__PURE__ */ jsx35("h3", { className: "shop__section-heading", children: display.membershipsHeading }),
|
|
31758
31884
|
/* @__PURE__ */ jsx35("div", { className: productsClass, children: membershipCards })
|
|
31759
31885
|
] }) : null
|
|
@@ -31763,21 +31889,21 @@ function PassesMembershipsSectionView(props2) {
|
|
|
31763
31889
|
}
|
|
31764
31890
|
function CartShellView(props2) {
|
|
31765
31891
|
const { display, renderControls, footerActions } = props2;
|
|
31766
|
-
return /* @__PURE__ */
|
|
31892
|
+
return /* @__PURE__ */ jsxs22("div", { className: `shop shop--cart ${display.className ?? ""}`.trim(), "data-block": "shop", id: "shop-cart", children: [
|
|
31767
31893
|
display.heading ? /* @__PURE__ */ jsx35("h2", { children: display.heading }) : null,
|
|
31768
|
-
display.state === "empty" ? /* @__PURE__ */
|
|
31894
|
+
display.state === "empty" ? /* @__PURE__ */ jsxs22("div", { className: "rb-flex rb-flex-col rb-gap-2", children: [
|
|
31769
31895
|
/* @__PURE__ */ jsx35("p", { className: "rb-caption status-muted", children: display.emptyMessage }),
|
|
31770
31896
|
display.supportText ? /* @__PURE__ */ jsx35("p", { className: "rb-caption status-muted", children: display.supportText }) : null
|
|
31771
|
-
] }) : /* @__PURE__ */
|
|
31772
|
-
/* @__PURE__ */ jsx35("div", { className: "rb-flex rb-flex-col rb-gap-3", children: display.items.map((item) => /* @__PURE__ */
|
|
31773
|
-
/* @__PURE__ */
|
|
31897
|
+
] }) : /* @__PURE__ */ jsxs22("div", { className: "rb-flex rb-flex-col rb-gap-4", children: [
|
|
31898
|
+
/* @__PURE__ */ jsx35("div", { className: "rb-flex rb-flex-col rb-gap-3", children: display.items.map((item) => /* @__PURE__ */ jsxs22("div", { className: "rb-flex rb-items-center rb-justify-between rb-gap-4 rb-rounded-xl rb-border rb-p-4", children: [
|
|
31899
|
+
/* @__PURE__ */ jsxs22("div", { className: "rb-flex rb-flex-col rb-gap-1", children: [
|
|
31774
31900
|
/* @__PURE__ */ jsx35("strong", { children: item.title }),
|
|
31775
31901
|
/* @__PURE__ */ jsx35("span", { className: "rb-caption status-muted", children: item.priceLabel })
|
|
31776
31902
|
] }),
|
|
31777
31903
|
/* @__PURE__ */ jsx35("div", { className: "rb-flex rb-items-center rb-gap-2", children: renderControls ? renderControls(item) : null })
|
|
31778
31904
|
] }, item.key)) }),
|
|
31779
|
-
/* @__PURE__ */
|
|
31780
|
-
/* @__PURE__ */
|
|
31905
|
+
/* @__PURE__ */ jsxs22("div", { className: "rb-flex rb-items-center rb-justify-between rb-gap-4", children: [
|
|
31906
|
+
/* @__PURE__ */ jsxs22("div", { children: [
|
|
31781
31907
|
/* @__PURE__ */ jsx35("strong", { children: "Subtotal" }),
|
|
31782
31908
|
/* @__PURE__ */ jsx35("div", { children: display.subtotalLabel })
|
|
31783
31909
|
] }),
|
|
@@ -31787,7 +31913,7 @@ function CartShellView(props2) {
|
|
|
31787
31913
|
] });
|
|
31788
31914
|
}
|
|
31789
31915
|
function CheckoutShellView(props2) {
|
|
31790
|
-
return /* @__PURE__ */
|
|
31916
|
+
return /* @__PURE__ */ jsxs22("div", { className: `shop shop--checkout ${props2.display.className ?? ""}`.trim(), "data-block": "shop", id: "shop-checkout", children: [
|
|
31791
31917
|
props2.display.heading ? /* @__PURE__ */ jsx35("h2", { children: props2.display.heading }) : null,
|
|
31792
31918
|
props2.notice,
|
|
31793
31919
|
props2.display.state === "ready" ? props2.body : /* @__PURE__ */ jsx35("p", { className: "rb-caption status-muted", children: props2.display.message })
|
|
@@ -31795,9 +31921,9 @@ function CheckoutShellView(props2) {
|
|
|
31795
31921
|
}
|
|
31796
31922
|
|
|
31797
31923
|
// ../blocks/src/system/runtime/nodes/shop-commerce.server.tsx
|
|
31798
|
-
import { Fragment as Fragment5, jsx as jsx36, jsxs as
|
|
31924
|
+
import { Fragment as Fragment5, jsx as jsx36, jsxs as jsxs23 } from "react/jsx-runtime";
|
|
31799
31925
|
function renderServerPendingAction(label, soldOut) {
|
|
31800
|
-
return /* @__PURE__ */
|
|
31926
|
+
return /* @__PURE__ */ jsxs23(Fragment5, { children: [
|
|
31801
31927
|
/* @__PURE__ */ jsx36(
|
|
31802
31928
|
"button",
|
|
31803
31929
|
{
|
|
@@ -31825,7 +31951,7 @@ function ProductListServerContent(props2) {
|
|
|
31825
31951
|
disabled: true
|
|
31826
31952
|
}
|
|
31827
31953
|
),
|
|
31828
|
-
actions: /* @__PURE__ */
|
|
31954
|
+
actions: /* @__PURE__ */ jsxs23(Fragment5, { children: [
|
|
31829
31955
|
renderServerPendingAction(card.actionLabel, card.soldOut),
|
|
31830
31956
|
card.path ? /* @__PURE__ */ jsx36(
|
|
31831
31957
|
"a",
|
|
@@ -31876,7 +32002,7 @@ function CheckoutServerContent(props2) {
|
|
|
31876
32002
|
}
|
|
31877
32003
|
|
|
31878
32004
|
// ../blocks/src/system/runtime/nodes/cart.server.tsx
|
|
31879
|
-
import { jsx as jsx37, jsxs as
|
|
32005
|
+
import { jsx as jsx37, jsxs as jsxs24 } from "react/jsx-runtime";
|
|
31880
32006
|
function CartSSR({
|
|
31881
32007
|
blockId,
|
|
31882
32008
|
siteId,
|
|
@@ -31891,7 +32017,7 @@ function CartSSR({
|
|
|
31891
32017
|
stage,
|
|
31892
32018
|
...rest
|
|
31893
32019
|
});
|
|
31894
|
-
return /* @__PURE__ */
|
|
32020
|
+
return /* @__PURE__ */ jsxs24(
|
|
31895
32021
|
"div",
|
|
31896
32022
|
{
|
|
31897
32023
|
className: `shop ${rest.className ?? ""}`.trim(),
|
|
@@ -31911,7 +32037,7 @@ function CartSSR({
|
|
|
31911
32037
|
var cart_server_default = CartSSR;
|
|
31912
32038
|
|
|
31913
32039
|
// ../blocks/src/system/runtime/nodes/checkout.server.tsx
|
|
31914
|
-
import { jsx as jsx38, jsxs as
|
|
32040
|
+
import { jsx as jsx38, jsxs as jsxs25 } from "react/jsx-runtime";
|
|
31915
32041
|
function CheckoutSSR({
|
|
31916
32042
|
blockId,
|
|
31917
32043
|
siteId,
|
|
@@ -31926,7 +32052,7 @@ function CheckoutSSR({
|
|
|
31926
32052
|
stage,
|
|
31927
32053
|
...rest
|
|
31928
32054
|
});
|
|
31929
|
-
return /* @__PURE__ */
|
|
32055
|
+
return /* @__PURE__ */ jsxs25(
|
|
31930
32056
|
"div",
|
|
31931
32057
|
{
|
|
31932
32058
|
className: `shop ${rest.className ?? ""}`.trim(),
|
|
@@ -31946,7 +32072,7 @@ function CheckoutSSR({
|
|
|
31946
32072
|
var checkout_server_default = CheckoutSSR;
|
|
31947
32073
|
|
|
31948
32074
|
// ../blocks/src/system/runtime/nodes/course-registration.server.tsx
|
|
31949
|
-
import { jsx as jsx39, jsxs as
|
|
32075
|
+
import { jsx as jsx39, jsxs as jsxs26 } from "react/jsx-runtime";
|
|
31950
32076
|
function CourseRegistrationSSR({
|
|
31951
32077
|
blockId,
|
|
31952
32078
|
siteId,
|
|
@@ -31987,7 +32113,7 @@ function CourseRegistrationSSR({
|
|
|
31987
32113
|
buttonVariant,
|
|
31988
32114
|
stage
|
|
31989
32115
|
});
|
|
31990
|
-
return /* @__PURE__ */
|
|
32116
|
+
return /* @__PURE__ */ jsxs26(
|
|
31991
32117
|
"div",
|
|
31992
32118
|
{
|
|
31993
32119
|
className: `course-registration ${className ?? ""}`.trim(),
|
|
@@ -32004,14 +32130,14 @@ function CourseRegistrationSSR({
|
|
|
32004
32130
|
var course_registration_server_default = CourseRegistrationSSR;
|
|
32005
32131
|
|
|
32006
32132
|
// ../blocks/src/system/runtime/nodes/gifting.server.tsx
|
|
32007
|
-
import { jsx as jsx40, jsxs as
|
|
32133
|
+
import { jsx as jsx40, jsxs as jsxs27 } from "react/jsx-runtime";
|
|
32008
32134
|
function GiftingSSR({ blockId, ...rest }) {
|
|
32009
32135
|
const islandProps = buildGiftingInteractiveIslandProps(rest);
|
|
32010
32136
|
const offers = islandProps.render.hydration.offers;
|
|
32011
32137
|
const hasOffers = Boolean(
|
|
32012
32138
|
(offers?.giftCards.length ?? 0) > 0 || (offers?.vouchers.length ?? 0) > 0
|
|
32013
32139
|
);
|
|
32014
|
-
return /* @__PURE__ */
|
|
32140
|
+
return /* @__PURE__ */ jsxs27(
|
|
32015
32141
|
"section",
|
|
32016
32142
|
{
|
|
32017
32143
|
className: rest.className ?? void 0,
|
|
@@ -32022,7 +32148,7 @@ function GiftingSSR({ blockId, ...rest }) {
|
|
|
32022
32148
|
...getIslandRootProps("gifting", blockId),
|
|
32023
32149
|
children: [
|
|
32024
32150
|
/* @__PURE__ */ jsx40(IslandPropsScript, { value: islandProps }),
|
|
32025
|
-
/* @__PURE__ */
|
|
32151
|
+
/* @__PURE__ */ jsxs27(
|
|
32026
32152
|
"div",
|
|
32027
32153
|
{
|
|
32028
32154
|
className: "rb-grid",
|
|
@@ -32030,14 +32156,14 @@ function GiftingSSR({ blockId, ...rest }) {
|
|
|
32030
32156
|
gap: "1.5rem"
|
|
32031
32157
|
},
|
|
32032
32158
|
children: [
|
|
32033
|
-
/* @__PURE__ */
|
|
32159
|
+
/* @__PURE__ */ jsxs27("div", { className: "rb-grid", style: { gap: "0.5rem" }, children: [
|
|
32034
32160
|
/* @__PURE__ */ jsx40("h2", { style: { fontSize: "clamp(1.75rem, 3vw, 2.5rem)", fontWeight: 700, margin: 0 }, children: islandProps.render.display.heading }),
|
|
32035
32161
|
islandProps.render.display.intro ? /* @__PURE__ */ jsx40("p", { style: { margin: 0, color: "rgb(var(--tb-text, 17 24 39) / 0.72)" }, children: islandProps.render.display.intro }) : null
|
|
32036
32162
|
] }),
|
|
32037
|
-
hasOffers ? /* @__PURE__ */
|
|
32038
|
-
(offers?.giftCards.length ?? 0) > 0 ? /* @__PURE__ */
|
|
32163
|
+
hasOffers ? /* @__PURE__ */ jsxs27("div", { className: "rb-grid", style: { gap: "1.5rem" }, children: [
|
|
32164
|
+
(offers?.giftCards.length ?? 0) > 0 ? /* @__PURE__ */ jsxs27("div", { className: "rb-grid", style: { gap: "1rem" }, children: [
|
|
32039
32165
|
/* @__PURE__ */ jsx40("h3", { style: { margin: 0, fontSize: "1.25rem", fontWeight: 700 }, children: islandProps.render.display.giftCardsHeading }),
|
|
32040
|
-
/* @__PURE__ */ jsx40("div", { className: "rb-grid", style: { gap: "1rem" }, children: offers?.giftCards.map((offer) => /* @__PURE__ */
|
|
32166
|
+
/* @__PURE__ */ jsx40("div", { className: "rb-grid", style: { gap: "1rem" }, children: offers?.giftCards.map((offer) => /* @__PURE__ */ jsxs27(
|
|
32041
32167
|
"article",
|
|
32042
32168
|
{
|
|
32043
32169
|
style: {
|
|
@@ -32054,9 +32180,9 @@ function GiftingSSR({ blockId, ...rest }) {
|
|
|
32054
32180
|
offer.id
|
|
32055
32181
|
)) })
|
|
32056
32182
|
] }) : null,
|
|
32057
|
-
(offers?.vouchers.length ?? 0) > 0 ? /* @__PURE__ */
|
|
32183
|
+
(offers?.vouchers.length ?? 0) > 0 ? /* @__PURE__ */ jsxs27("div", { className: "rb-grid", style: { gap: "1rem" }, children: [
|
|
32058
32184
|
/* @__PURE__ */ jsx40("h3", { style: { margin: 0, fontSize: "1.25rem", fontWeight: 700 }, children: islandProps.render.display.vouchersHeading }),
|
|
32059
|
-
/* @__PURE__ */ jsx40("div", { className: "rb-grid", style: { gap: "1rem" }, children: offers?.vouchers.map((offer) => /* @__PURE__ */
|
|
32185
|
+
/* @__PURE__ */ jsx40("div", { className: "rb-grid", style: { gap: "1rem" }, children: offers?.vouchers.map((offer) => /* @__PURE__ */ jsxs27(
|
|
32060
32186
|
"article",
|
|
32061
32187
|
{
|
|
32062
32188
|
style: {
|
|
@@ -32084,10 +32210,10 @@ function GiftingSSR({ blockId, ...rest }) {
|
|
|
32084
32210
|
var gifting_server_default = GiftingSSR;
|
|
32085
32211
|
|
|
32086
32212
|
// ../blocks/src/system/runtime/nodes/events/EventListing.view.tsx
|
|
32087
|
-
import { jsx as jsx41, jsxs as
|
|
32213
|
+
import { jsx as jsx41, jsxs as jsxs28 } from "react/jsx-runtime";
|
|
32088
32214
|
function EventListingFrameView(props2) {
|
|
32089
32215
|
const { display, filters, emptyState: emptyState4, footer, renderEventCard: renderEventCard2 } = props2;
|
|
32090
|
-
return /* @__PURE__ */
|
|
32216
|
+
return /* @__PURE__ */ jsxs28("div", { className: `event-listing ${display.className ?? ""}`, "data-block": "event-listing", children: [
|
|
32091
32217
|
filters,
|
|
32092
32218
|
display.state === "loading" ? /* @__PURE__ */ jsx41(EmptyState, { message: display.loadingMessage }) : display.state === "empty" ? emptyState4 ?? /* @__PURE__ */ jsx41(EmptyState, { message: display.emptyMessage }) : /* @__PURE__ */ jsx41("div", { className: display.containerClass, children: display.events.map((event) => renderEventCard2(event)) }),
|
|
32093
32219
|
footer
|
|
@@ -32166,7 +32292,7 @@ function formatShortDayLabel(date) {
|
|
|
32166
32292
|
}
|
|
32167
32293
|
|
|
32168
32294
|
// ../blocks/src/system/runtime/nodes/events/EventCalendar.server.tsx
|
|
32169
|
-
import { jsx as jsx42, jsxs as
|
|
32295
|
+
import { jsx as jsx42, jsxs as jsxs29 } from "react/jsx-runtime";
|
|
32170
32296
|
function assertNeverDisplayMode(value) {
|
|
32171
32297
|
throw new Error(`Unsupported event-calendar displayMode: ${String(value)}`);
|
|
32172
32298
|
}
|
|
@@ -32178,8 +32304,8 @@ function renderEventCard(event, display) {
|
|
|
32178
32304
|
}
|
|
32179
32305
|
function renderCombinedSsr(display, prefetchedEvents) {
|
|
32180
32306
|
const listDisplay = buildEventCalendarListingDisplay(display, prefetchedEvents, "event-combined-content");
|
|
32181
|
-
return /* @__PURE__ */
|
|
32182
|
-
/* @__PURE__ */
|
|
32307
|
+
return /* @__PURE__ */ jsxs29("div", { className: clsx_default("event-combined", display.className ?? void 0), "data-block": "event-combined", children: [
|
|
32308
|
+
/* @__PURE__ */ jsxs29("div", { className: "nav-tabs", role: "tablist", children: [
|
|
32183
32309
|
/* @__PURE__ */ jsx42(
|
|
32184
32310
|
"button",
|
|
32185
32311
|
{
|
|
@@ -32227,9 +32353,9 @@ function renderCalendarGrid(display) {
|
|
|
32227
32353
|
const eventsByDate = groupEventsByDate([...display.events]);
|
|
32228
32354
|
const dayNames = getOrderedDayNames(display.startOfWeek);
|
|
32229
32355
|
const headerTitle = formatCalendarTitle(viewDate, calendarView, calendarDays);
|
|
32230
|
-
return /* @__PURE__ */
|
|
32231
|
-
/* @__PURE__ */
|
|
32232
|
-
/* @__PURE__ */
|
|
32356
|
+
return /* @__PURE__ */ jsxs29("div", { className: clsx_default("event-calendar", display.className ?? void 0), "data-block": "event-calendar", children: [
|
|
32357
|
+
/* @__PURE__ */ jsxs29("div", { className: "event-calendar-header", children: [
|
|
32358
|
+
/* @__PURE__ */ jsxs29("div", { className: "event-calendar-nav", children: [
|
|
32233
32359
|
/* @__PURE__ */ jsx42(
|
|
32234
32360
|
"button",
|
|
32235
32361
|
{
|
|
@@ -32262,7 +32388,7 @@ function renderCalendarGrid(display) {
|
|
|
32262
32388
|
}
|
|
32263
32389
|
)
|
|
32264
32390
|
] }),
|
|
32265
|
-
/* @__PURE__ */
|
|
32391
|
+
/* @__PURE__ */ jsxs29("div", { className: "event-calendar-container", children: [
|
|
32266
32392
|
/* @__PURE__ */ jsx42("div", { className: "event-calendar-day-headers", children: dayNames.map((day) => /* @__PURE__ */ jsx42("div", { className: "event-calendar-day-header", children: day }, day)) }),
|
|
32267
32393
|
/* @__PURE__ */ jsx42("div", { className: "event-calendar-grid", children: calendarDays.map((date) => {
|
|
32268
32394
|
const dateKey = formatDateKey2(date);
|
|
@@ -32274,10 +32400,10 @@ function renderCalendarGrid(display) {
|
|
|
32274
32400
|
!isCurrentMonth && "event-calendar-day--other-month",
|
|
32275
32401
|
today && "event-calendar-day--today"
|
|
32276
32402
|
);
|
|
32277
|
-
return /* @__PURE__ */
|
|
32403
|
+
return /* @__PURE__ */ jsxs29("div", { className: dayClasses, children: [
|
|
32278
32404
|
/* @__PURE__ */ jsx42("div", { className: "event-calendar-day-number", children: date.getDate() }),
|
|
32279
|
-
/* @__PURE__ */
|
|
32280
|
-
dayEvents.slice(0, MAX_EVENTS_PER_DAY).map((event) => /* @__PURE__ */
|
|
32405
|
+
/* @__PURE__ */ jsxs29("div", { className: "event-calendar-events", children: [
|
|
32406
|
+
dayEvents.slice(0, MAX_EVENTS_PER_DAY).map((event) => /* @__PURE__ */ jsxs29(
|
|
32281
32407
|
"a",
|
|
32282
32408
|
{
|
|
32283
32409
|
href: event.path,
|
|
@@ -32291,7 +32417,7 @@ function renderCalendarGrid(display) {
|
|
|
32291
32417
|
},
|
|
32292
32418
|
event.occurrenceId || event.id
|
|
32293
32419
|
)),
|
|
32294
|
-
dayEvents.length > MAX_EVENTS_PER_DAY ? /* @__PURE__ */
|
|
32420
|
+
dayEvents.length > MAX_EVENTS_PER_DAY ? /* @__PURE__ */ jsxs29("div", { className: "event-calendar-more", children: [
|
|
32295
32421
|
"+",
|
|
32296
32422
|
dayEvents.length - MAX_EVENTS_PER_DAY,
|
|
32297
32423
|
" more"
|
|
@@ -32313,9 +32439,9 @@ function renderTimetableSsr(display) {
|
|
|
32313
32439
|
const calendarDays = getWeekCalendarDays(viewDate, display.startOfWeek);
|
|
32314
32440
|
const headerTitle = formatCalendarTitle(viewDate, "week", calendarDays);
|
|
32315
32441
|
const selectedDayKey = model.days.find((day) => day.isToday)?.dateKey ?? model.days[0]?.dateKey ?? "";
|
|
32316
|
-
return /* @__PURE__ */
|
|
32317
|
-
/* @__PURE__ */
|
|
32318
|
-
/* @__PURE__ */
|
|
32442
|
+
return /* @__PURE__ */ jsxs29("div", { className: clsx_default("event-calendar", "event-calendar--timetable", display.className ?? void 0), "data-block": "event-calendar", children: [
|
|
32443
|
+
/* @__PURE__ */ jsxs29("div", { className: "event-calendar-header", children: [
|
|
32444
|
+
/* @__PURE__ */ jsxs29("div", { className: "event-calendar-nav", children: [
|
|
32319
32445
|
/* @__PURE__ */ jsx42(
|
|
32320
32446
|
"button",
|
|
32321
32447
|
{
|
|
@@ -32348,7 +32474,7 @@ function renderTimetableSsr(display) {
|
|
|
32348
32474
|
}
|
|
32349
32475
|
)
|
|
32350
32476
|
] }),
|
|
32351
|
-
/* @__PURE__ */
|
|
32477
|
+
/* @__PURE__ */ jsxs29("div", { className: "event-timetable", children: [
|
|
32352
32478
|
/* @__PURE__ */ jsx42("div", { className: "event-timetable-day-selector", "aria-label": "Choose timetable day", children: model.days.map((day) => /* @__PURE__ */ jsx42(
|
|
32353
32479
|
"button",
|
|
32354
32480
|
{
|
|
@@ -32361,8 +32487,8 @@ function renderTimetableSsr(display) {
|
|
|
32361
32487
|
},
|
|
32362
32488
|
day.dateKey
|
|
32363
32489
|
)) }),
|
|
32364
|
-
/* @__PURE__ */ jsx42("div", { className: "event-timetable-container", children: /* @__PURE__ */
|
|
32365
|
-
/* @__PURE__ */
|
|
32490
|
+
/* @__PURE__ */ jsx42("div", { className: "event-timetable-container", children: /* @__PURE__ */ jsxs29("div", { className: "event-timetable-grid", "aria-label": "Weekly timetable", children: [
|
|
32491
|
+
/* @__PURE__ */ jsxs29("div", { className: "event-timetable-time-rail", "aria-hidden": "true", children: [
|
|
32366
32492
|
/* @__PURE__ */ jsx42("div", { className: "event-timetable-day-heading" }),
|
|
32367
32493
|
/* @__PURE__ */ jsx42("div", { className: "event-timetable-time-body", children: model.hourTicks.map((hour) => /* @__PURE__ */ jsx42(
|
|
32368
32494
|
"div",
|
|
@@ -32374,7 +32500,7 @@ function renderTimetableSsr(display) {
|
|
|
32374
32500
|
hour
|
|
32375
32501
|
)) })
|
|
32376
32502
|
] }),
|
|
32377
|
-
model.days.map((day) => /* @__PURE__ */
|
|
32503
|
+
model.days.map((day) => /* @__PURE__ */ jsxs29(
|
|
32378
32504
|
"section",
|
|
32379
32505
|
{
|
|
32380
32506
|
className: clsx_default(
|
|
@@ -32383,11 +32509,11 @@ function renderTimetableSsr(display) {
|
|
|
32383
32509
|
),
|
|
32384
32510
|
"data-selected": day.dateKey === selectedDayKey ? "true" : "false",
|
|
32385
32511
|
children: [
|
|
32386
|
-
/* @__PURE__ */
|
|
32512
|
+
/* @__PURE__ */ jsxs29("h4", { className: "event-timetable-day-heading", children: [
|
|
32387
32513
|
day.label,
|
|
32388
32514
|
day.isToday ? /* @__PURE__ */ jsx42("span", { className: "event-timetable-today-badge", children: "Today" }) : null
|
|
32389
32515
|
] }),
|
|
32390
|
-
/* @__PURE__ */
|
|
32516
|
+
/* @__PURE__ */ jsxs29(
|
|
32391
32517
|
"div",
|
|
32392
32518
|
{
|
|
32393
32519
|
className: "event-timetable-day-body",
|
|
@@ -32402,7 +32528,7 @@ function renderTimetableSsr(display) {
|
|
|
32402
32528
|
},
|
|
32403
32529
|
hour
|
|
32404
32530
|
)),
|
|
32405
|
-
day.events.length === 0 ? /* @__PURE__ */ jsx42("p", { className: "event-timetable-day-empty", children: "No classes" }) : day.events.map((cell) => /* @__PURE__ */
|
|
32531
|
+
day.events.length === 0 ? /* @__PURE__ */ jsx42("p", { className: "event-timetable-day-empty", children: "No classes" }) : day.events.map((cell) => /* @__PURE__ */ jsxs29(
|
|
32406
32532
|
"a",
|
|
32407
32533
|
{
|
|
32408
32534
|
href: cell.event.path,
|
|
@@ -32479,18 +32605,18 @@ var EventCalendarSSR = (props2) => {
|
|
|
32479
32605
|
default:
|
|
32480
32606
|
content = assertNeverDisplayMode(display.displayMode);
|
|
32481
32607
|
}
|
|
32482
|
-
return /* @__PURE__ */
|
|
32608
|
+
return /* @__PURE__ */ jsxs29("div", { ...getIslandRootProps("event-calendar", props2.blockId), children: [
|
|
32483
32609
|
/* @__PURE__ */ jsx42(IslandPropsScript, { value: islandProps }),
|
|
32484
32610
|
content
|
|
32485
32611
|
] });
|
|
32486
32612
|
};
|
|
32487
32613
|
|
|
32488
32614
|
// ../blocks/src/system/runtime/nodes/events/EventListing.server.tsx
|
|
32489
|
-
import { jsx as jsx43, jsxs as
|
|
32615
|
+
import { jsx as jsx43, jsxs as jsxs30 } from "react/jsx-runtime";
|
|
32490
32616
|
var EventListingSSR = (props2) => {
|
|
32491
32617
|
const islandProps = buildEventListingInteractiveIslandProps(props2);
|
|
32492
32618
|
const display = islandProps.render.display;
|
|
32493
|
-
return /* @__PURE__ */
|
|
32619
|
+
return /* @__PURE__ */ jsxs30("div", { ...getIslandRootProps("event-listing", props2.blockId), children: [
|
|
32494
32620
|
/* @__PURE__ */ jsx43(IslandPropsScript, { value: islandProps }),
|
|
32495
32621
|
/* @__PURE__ */ jsx43(
|
|
32496
32622
|
EventListingFrameView,
|
|
@@ -32503,7 +32629,7 @@ var EventListingSSR = (props2) => {
|
|
|
32503
32629
|
};
|
|
32504
32630
|
|
|
32505
32631
|
// ../blocks/src/system/runtime/nodes/event-registration.server.tsx
|
|
32506
|
-
import { jsx as jsx44, jsxs as
|
|
32632
|
+
import { jsx as jsx44, jsxs as jsxs31 } from "react/jsx-runtime";
|
|
32507
32633
|
function EventRegistrationSSR({
|
|
32508
32634
|
blockId,
|
|
32509
32635
|
siteId,
|
|
@@ -32544,7 +32670,7 @@ function EventRegistrationSSR({
|
|
|
32544
32670
|
stage,
|
|
32545
32671
|
supportEmail
|
|
32546
32672
|
});
|
|
32547
|
-
return /* @__PURE__ */
|
|
32673
|
+
return /* @__PURE__ */ jsxs31(
|
|
32548
32674
|
"div",
|
|
32549
32675
|
{
|
|
32550
32676
|
className: `event-registration ${className ?? ""}`.trim(),
|
|
@@ -32560,7 +32686,7 @@ function EventRegistrationSSR({
|
|
|
32560
32686
|
var event_registration_server_default = EventRegistrationSSR;
|
|
32561
32687
|
|
|
32562
32688
|
// ../blocks/src/system/runtime/shared/components/FeedbackMessage.tsx
|
|
32563
|
-
import { jsx as jsx45, jsxs as
|
|
32689
|
+
import { jsx as jsx45, jsxs as jsxs32 } from "react/jsx-runtime";
|
|
32564
32690
|
function joinClasses5(...parts) {
|
|
32565
32691
|
return parts.filter((part) => typeof part === "string" && part.length > 0).join(" ");
|
|
32566
32692
|
}
|
|
@@ -32576,7 +32702,7 @@ function FeedbackMessage({
|
|
|
32576
32702
|
}) {
|
|
32577
32703
|
const resolvedLive = live ?? (role === "alert" ? "assertive" : "polite");
|
|
32578
32704
|
const shouldWrapBody = Boolean(title || bodyClassName);
|
|
32579
|
-
return /* @__PURE__ */
|
|
32705
|
+
return /* @__PURE__ */ jsxs32(
|
|
32580
32706
|
"div",
|
|
32581
32707
|
{
|
|
32582
32708
|
className,
|
|
@@ -32592,7 +32718,7 @@ function FeedbackMessage({
|
|
|
32592
32718
|
}
|
|
32593
32719
|
|
|
32594
32720
|
// ../blocks/src/system/runtime/nodes/form.server.tsx
|
|
32595
|
-
import { jsx as jsx46, jsxs as
|
|
32721
|
+
import { jsx as jsx46, jsxs as jsxs33 } from "react/jsx-runtime";
|
|
32596
32722
|
var FormNodeSSR = ({
|
|
32597
32723
|
blockId,
|
|
32598
32724
|
value,
|
|
@@ -32617,7 +32743,7 @@ var FormNodeSSR = ({
|
|
|
32617
32743
|
const display = islandProps.render.display;
|
|
32618
32744
|
const form2 = display.form;
|
|
32619
32745
|
if (!form2) {
|
|
32620
|
-
return /* @__PURE__ */
|
|
32746
|
+
return /* @__PURE__ */ jsxs33("div", { ...getIslandRootProps("form", blockId), children: [
|
|
32621
32747
|
/* @__PURE__ */ jsx46(IslandPropsScript, { value: islandProps }),
|
|
32622
32748
|
/* @__PURE__ */ jsx46(FeedbackMessage, { tone: "warning", className: clsx_default("fb-empty", className), role: "status", children: "Missing or unknown form." })
|
|
32623
32749
|
] });
|
|
@@ -32629,7 +32755,7 @@ var FormNodeSSR = ({
|
|
|
32629
32755
|
const required = Boolean(field.required);
|
|
32630
32756
|
const type = String(field.type ?? "text");
|
|
32631
32757
|
if (type === "textarea") {
|
|
32632
|
-
return /* @__PURE__ */
|
|
32758
|
+
return /* @__PURE__ */ jsxs33("div", { className: "fb-field", children: [
|
|
32633
32759
|
/* @__PURE__ */ jsx46("label", { htmlFor: inputId, className: "form-label", children: label }),
|
|
32634
32760
|
/* @__PURE__ */ jsx46(
|
|
32635
32761
|
"textarea",
|
|
@@ -32647,9 +32773,9 @@ var FormNodeSSR = ({
|
|
|
32647
32773
|
if (type === "select") {
|
|
32648
32774
|
const options = field.options ?? [];
|
|
32649
32775
|
const multiple = Boolean(field.multiple);
|
|
32650
|
-
return /* @__PURE__ */
|
|
32776
|
+
return /* @__PURE__ */ jsxs33("div", { className: "fb-field", children: [
|
|
32651
32777
|
/* @__PURE__ */ jsx46("label", { htmlFor: inputId, className: "form-label", children: label }),
|
|
32652
|
-
/* @__PURE__ */
|
|
32778
|
+
/* @__PURE__ */ jsxs33("select", { id: inputId, name: field.id, multiple, required, className: "form-select", children: [
|
|
32653
32779
|
!multiple && /* @__PURE__ */ jsx46("option", { value: "", children: "Select\u2026" }),
|
|
32654
32780
|
options.map((opt) => /* @__PURE__ */ jsx46("option", { value: opt.value, children: opt.label }, opt.value))
|
|
32655
32781
|
] })
|
|
@@ -32657,9 +32783,9 @@ var FormNodeSSR = ({
|
|
|
32657
32783
|
}
|
|
32658
32784
|
if (type === "radio") {
|
|
32659
32785
|
const options = field.options ?? [];
|
|
32660
|
-
return /* @__PURE__ */
|
|
32786
|
+
return /* @__PURE__ */ jsxs33("fieldset", { className: "fb-fieldset", children: [
|
|
32661
32787
|
/* @__PURE__ */ jsx46("legend", { className: "form-label", children: label }),
|
|
32662
|
-
options.map((opt) => /* @__PURE__ */
|
|
32788
|
+
options.map((opt) => /* @__PURE__ */ jsxs33("label", { className: "fb-inline form-label", children: [
|
|
32663
32789
|
/* @__PURE__ */ jsx46(
|
|
32664
32790
|
"input",
|
|
32665
32791
|
{
|
|
@@ -32675,7 +32801,7 @@ var FormNodeSSR = ({
|
|
|
32675
32801
|
] }, field.id);
|
|
32676
32802
|
}
|
|
32677
32803
|
if (type === "checkbox" || type === "consent") {
|
|
32678
|
-
return /* @__PURE__ */
|
|
32804
|
+
return /* @__PURE__ */ jsxs33("label", { className: "fb-inline form-label", children: [
|
|
32679
32805
|
/* @__PURE__ */ jsx46("input", { type: "checkbox", name: field.id, required, className: "form-checkbox" }),
|
|
32680
32806
|
/* @__PURE__ */ jsx46("span", { children: label })
|
|
32681
32807
|
] }, field.id);
|
|
@@ -32691,7 +32817,7 @@ var FormNodeSSR = ({
|
|
|
32691
32817
|
if (typeof field.min === "number") extra.min = field.min;
|
|
32692
32818
|
if (typeof field.max === "number") extra.max = field.max;
|
|
32693
32819
|
}
|
|
32694
|
-
return /* @__PURE__ */
|
|
32820
|
+
return /* @__PURE__ */ jsxs33("div", { className: "fb-field", children: [
|
|
32695
32821
|
/* @__PURE__ */ jsx46("label", { htmlFor: inputId, className: "form-label", children: label }),
|
|
32696
32822
|
/* @__PURE__ */ jsx46(
|
|
32697
32823
|
"input",
|
|
@@ -32707,9 +32833,9 @@ var FormNodeSSR = ({
|
|
|
32707
32833
|
)
|
|
32708
32834
|
] }, field.id);
|
|
32709
32835
|
};
|
|
32710
|
-
return /* @__PURE__ */
|
|
32836
|
+
return /* @__PURE__ */ jsxs33("div", { ...getIslandRootProps("form", blockId), children: [
|
|
32711
32837
|
/* @__PURE__ */ jsx46(IslandPropsScript, { value: islandProps }),
|
|
32712
|
-
/* @__PURE__ */
|
|
32838
|
+
/* @__PURE__ */ jsxs33(
|
|
32713
32839
|
"form",
|
|
32714
32840
|
{
|
|
32715
32841
|
method: "POST",
|
|
@@ -32744,7 +32870,7 @@ var FormNodeSSR = ({
|
|
|
32744
32870
|
};
|
|
32745
32871
|
|
|
32746
32872
|
// ../blocks/src/system/runtime/nodes/newsletter-form.server.tsx
|
|
32747
|
-
import { jsx as jsx47, jsxs as
|
|
32873
|
+
import { jsx as jsx47, jsxs as jsxs34 } from "react/jsx-runtime";
|
|
32748
32874
|
function NewsletterFormSSR({
|
|
32749
32875
|
blockId,
|
|
32750
32876
|
siteId,
|
|
@@ -32776,8 +32902,8 @@ function NewsletterFormSSR({
|
|
|
32776
32902
|
const fields3 = display.fields;
|
|
32777
32903
|
const renderField = (field) => {
|
|
32778
32904
|
const inputId = `newsletter_${field.id}`;
|
|
32779
|
-
return /* @__PURE__ */
|
|
32780
|
-
/* @__PURE__ */
|
|
32905
|
+
return /* @__PURE__ */ jsxs34("div", { className: "fb-field newsletter-field", children: [
|
|
32906
|
+
/* @__PURE__ */ jsxs34("label", { htmlFor: inputId, className: "form-label", children: [
|
|
32781
32907
|
field.label,
|
|
32782
32908
|
field.required && /* @__PURE__ */ jsx47("span", { className: "newsletter-required", "aria-hidden": "true", children: "*" })
|
|
32783
32909
|
] }),
|
|
@@ -32795,14 +32921,14 @@ function NewsletterFormSSR({
|
|
|
32795
32921
|
)
|
|
32796
32922
|
] }, field.id);
|
|
32797
32923
|
};
|
|
32798
|
-
return /* @__PURE__ */
|
|
32924
|
+
return /* @__PURE__ */ jsxs34(
|
|
32799
32925
|
"div",
|
|
32800
32926
|
{
|
|
32801
32927
|
...getIslandRootProps("newsletter-form", blockId),
|
|
32802
32928
|
className: clsx_default("newsletter-form-ssr", className),
|
|
32803
32929
|
children: [
|
|
32804
32930
|
/* @__PURE__ */ jsx47(IslandPropsScript, { value: islandProps }),
|
|
32805
|
-
/* @__PURE__ */
|
|
32931
|
+
/* @__PURE__ */ jsxs34("form", { method: "POST", className: "newsletter-form fb-form", children: [
|
|
32806
32932
|
/* @__PURE__ */ jsx47(
|
|
32807
32933
|
"input",
|
|
32808
32934
|
{
|
|
@@ -32814,7 +32940,7 @@ function NewsletterFormSSR({
|
|
|
32814
32940
|
"aria-hidden": "true"
|
|
32815
32941
|
}
|
|
32816
32942
|
),
|
|
32817
|
-
/* @__PURE__ */
|
|
32943
|
+
/* @__PURE__ */ jsxs34("div", { className: "newsletter-form-fields", children: [
|
|
32818
32944
|
fields3.map(renderField),
|
|
32819
32945
|
/* @__PURE__ */ jsx47("div", { className: "newsletter-submit", children: /* @__PURE__ */ jsx47(
|
|
32820
32946
|
"button",
|
|
@@ -32834,7 +32960,7 @@ function NewsletterFormSSR({
|
|
|
32834
32960
|
var newsletter_form_server_default = NewsletterFormSSR;
|
|
32835
32961
|
|
|
32836
32962
|
// ../blocks/src/system/runtime/nodes/product-detail.server.tsx
|
|
32837
|
-
import { jsx as jsx48, jsxs as
|
|
32963
|
+
import { jsx as jsx48, jsxs as jsxs35 } from "react/jsx-runtime";
|
|
32838
32964
|
function ProductDetailSSR({
|
|
32839
32965
|
blockId,
|
|
32840
32966
|
siteId,
|
|
@@ -32849,7 +32975,7 @@ function ProductDetailSSR({
|
|
|
32849
32975
|
stage,
|
|
32850
32976
|
...rest
|
|
32851
32977
|
});
|
|
32852
|
-
return /* @__PURE__ */
|
|
32978
|
+
return /* @__PURE__ */ jsxs35(
|
|
32853
32979
|
"div",
|
|
32854
32980
|
{
|
|
32855
32981
|
className: `shop ${rest.className ?? ""}`.trim(),
|
|
@@ -32869,7 +32995,7 @@ function ProductDetailSSR({
|
|
|
32869
32995
|
var product_detail_server_default = ProductDetailSSR;
|
|
32870
32996
|
|
|
32871
32997
|
// ../blocks/src/system/runtime/nodes/product-list.server.tsx
|
|
32872
|
-
import { jsx as jsx49, jsxs as
|
|
32998
|
+
import { jsx as jsx49, jsxs as jsxs36 } from "react/jsx-runtime";
|
|
32873
32999
|
function ProductListSSR({
|
|
32874
33000
|
blockId,
|
|
32875
33001
|
siteId,
|
|
@@ -32884,7 +33010,7 @@ function ProductListSSR({
|
|
|
32884
33010
|
stage,
|
|
32885
33011
|
...rest
|
|
32886
33012
|
});
|
|
32887
|
-
return /* @__PURE__ */
|
|
33013
|
+
return /* @__PURE__ */ jsxs36(
|
|
32888
33014
|
"div",
|
|
32889
33015
|
{
|
|
32890
33016
|
className: `shop ${rest.className ?? ""}`.trim(),
|
|
@@ -32904,7 +33030,7 @@ function ProductListSSR({
|
|
|
32904
33030
|
var product_list_server_default = ProductListSSR;
|
|
32905
33031
|
|
|
32906
33032
|
// ../blocks/src/system/runtime/nodes/shop.server.tsx
|
|
32907
|
-
import { jsx as jsx50, jsxs as
|
|
33033
|
+
import { jsx as jsx50, jsxs as jsxs37 } from "react/jsx-runtime";
|
|
32908
33034
|
function ShopSSR({
|
|
32909
33035
|
blockId,
|
|
32910
33036
|
siteId,
|
|
@@ -32921,7 +33047,7 @@ function ShopSSR({
|
|
|
32921
33047
|
...rest
|
|
32922
33048
|
});
|
|
32923
33049
|
const render = islandProps.render;
|
|
32924
|
-
return /* @__PURE__ */
|
|
33050
|
+
return /* @__PURE__ */ jsxs37(
|
|
32925
33051
|
"div",
|
|
32926
33052
|
{
|
|
32927
33053
|
className: `shop ${rest.className ?? ""}`.trim(),
|
|
@@ -46666,6 +46792,11 @@ var containerResponsiveThemeCss = `/*
|
|
|
46666
46792
|
* Dense row layout for event-calendar compact list mode
|
|
46667
46793
|
* ============================================================================= */
|
|
46668
46794
|
|
|
46795
|
+
:where(.theme-scope) .event-listing-compact-container {
|
|
46796
|
+
width: min(100%, 56rem);
|
|
46797
|
+
margin-inline: auto;
|
|
46798
|
+
}
|
|
46799
|
+
|
|
46669
46800
|
:where(.theme-scope) .event-compact-row {
|
|
46670
46801
|
display: flex;
|
|
46671
46802
|
align-items: center;
|
|
@@ -46791,7 +46922,7 @@ var containerResponsiveThemeCss = `/*
|
|
|
46791
46922
|
}`;
|
|
46792
46923
|
|
|
46793
46924
|
// ../theme-core/src/ThemeScopeCore.tsx
|
|
46794
|
-
import { jsx as jsx52, jsxs as
|
|
46925
|
+
import { jsx as jsx52, jsxs as jsxs38 } from "react/jsx-runtime";
|
|
46795
46926
|
function ThemeScopeCore({
|
|
46796
46927
|
cssVars,
|
|
46797
46928
|
buttonCss,
|
|
@@ -46823,7 +46954,7 @@ function ThemeScopeCore({
|
|
|
46823
46954
|
containerType: "inline-size",
|
|
46824
46955
|
containerName: responsiveScope.containerName
|
|
46825
46956
|
} : cssVars;
|
|
46826
|
-
return /* @__PURE__ */
|
|
46957
|
+
return /* @__PURE__ */ jsxs38(
|
|
46827
46958
|
"div",
|
|
46828
46959
|
{
|
|
46829
46960
|
className: className ? `theme-scope ${className}` : "theme-scope",
|
|
@@ -47041,10 +47172,10 @@ function resolveFooterRenderPlan(params) {
|
|
|
47041
47172
|
|
|
47042
47173
|
// ../theme-core/src/ThemeFontLoader.tsx
|
|
47043
47174
|
import * as React7 from "react";
|
|
47044
|
-
import { Fragment as Fragment7, jsx as jsx54, jsxs as
|
|
47175
|
+
import { Fragment as Fragment7, jsx as jsx54, jsxs as jsxs39 } from "react/jsx-runtime";
|
|
47045
47176
|
|
|
47046
47177
|
// ../theme-core/src/siteChrome.tsx
|
|
47047
|
-
import { Fragment as Fragment8, jsx as jsx55, jsxs as
|
|
47178
|
+
import { Fragment as Fragment8, jsx as jsx55, jsxs as jsxs40 } from "react/jsx-runtime";
|
|
47048
47179
|
|
|
47049
47180
|
// ../theme-core/src/runtime/buildThemeRuntimeFromBridge.ts
|
|
47050
47181
|
import { z as z64 } from "zod";
|
|
@@ -47078,10 +47209,10 @@ var themeBridgeConfigSchema = z64.object({
|
|
|
47078
47209
|
}).passthrough();
|
|
47079
47210
|
|
|
47080
47211
|
// ../theme-core/src/mock-themes/components/swatch.tsx
|
|
47081
|
-
import { jsx as jsx56, jsxs as
|
|
47212
|
+
import { jsx as jsx56, jsxs as jsxs41 } from "react/jsx-runtime";
|
|
47082
47213
|
|
|
47083
47214
|
// ../theme-core/src/mock-themes/components/PaletteCard.tsx
|
|
47084
|
-
import { jsx as jsx57, jsxs as
|
|
47215
|
+
import { jsx as jsx57, jsxs as jsxs42 } from "react/jsx-runtime";
|
|
47085
47216
|
|
|
47086
47217
|
// src/rendering/blocks-theme-runtime.ts
|
|
47087
47218
|
var AXES_TONE_OPTIONS = ["minimal", "classic", "bold"];
|
|
@@ -47685,7 +47816,7 @@ function buildLogo(logo, fallbackAlt) {
|
|
|
47685
47816
|
}
|
|
47686
47817
|
|
|
47687
47818
|
// src/rendering/components/Layout.tsx
|
|
47688
|
-
import { Fragment as Fragment9, jsx as jsx60, jsxs as
|
|
47819
|
+
import { Fragment as Fragment9, jsx as jsx60, jsxs as jsxs43 } from "react/jsx-runtime";
|
|
47689
47820
|
async function Layout({
|
|
47690
47821
|
siteData: providedSiteData,
|
|
47691
47822
|
client,
|
|
@@ -47820,14 +47951,14 @@ async function Layout({
|
|
|
47820
47951
|
themeConfig: blocksTheme,
|
|
47821
47952
|
viewModelOverrides
|
|
47822
47953
|
}) : null;
|
|
47823
|
-
footerElement = footerPlan.mode === "default+blocks" ? /* @__PURE__ */
|
|
47954
|
+
footerElement = footerPlan.mode === "default+blocks" ? /* @__PURE__ */ jsxs43(Fragment9, { children: [
|
|
47824
47955
|
footerBlocksElement,
|
|
47825
47956
|
defaultFooterElement
|
|
47826
47957
|
] }) : footerPlan.mode === "blocks" ? footerBlocksElement : footerPlan.mode === "none" ? null : defaultFooterElement;
|
|
47827
47958
|
} else if (typeof footer === "function") {
|
|
47828
47959
|
footerElement = footer(footerData);
|
|
47829
47960
|
}
|
|
47830
|
-
const content = /* @__PURE__ */
|
|
47961
|
+
const content = /* @__PURE__ */ jsxs43(Fragment9, { children: [
|
|
47831
47962
|
headerElement,
|
|
47832
47963
|
children,
|
|
47833
47964
|
footerElement
|
|
@@ -49417,6 +49548,18 @@ var TAG_TEMPLATES = {
|
|
|
49417
49548
|
siteForms: "riverbank:site:{siteId}:forms",
|
|
49418
49549
|
formById: "riverbank:form:{formId}",
|
|
49419
49550
|
formSubmissionsBySlug: "riverbank:form-submissions:{slug}",
|
|
49551
|
+
// Public data loaders
|
|
49552
|
+
publicEvents: "riverbank:site:{siteId}:public-events",
|
|
49553
|
+
publicEventFilters: "riverbank:site:{siteId}:public-event-filters",
|
|
49554
|
+
publicCourses: "riverbank:site:{siteId}:public-courses",
|
|
49555
|
+
publicTeamMembers: "riverbank:site:{siteId}:public-team-members",
|
|
49556
|
+
publicProducts: "riverbank:site:{siteId}:public-products",
|
|
49557
|
+
publicPasses: "riverbank:site:{siteId}:public-passes",
|
|
49558
|
+
publicMemberships: "riverbank:site:{siteId}:public-memberships",
|
|
49559
|
+
publicGifting: "riverbank:site:{siteId}:public-gifting",
|
|
49560
|
+
publicShop: "riverbank:site:{siteId}:public-shop",
|
|
49561
|
+
publicCheckout: "riverbank:site:{siteId}:public-checkout",
|
|
49562
|
+
publicBookingServices: "riverbank:site:{siteId}:public-booking-services",
|
|
49420
49563
|
// Navigation
|
|
49421
49564
|
siteNavigation: "riverbank:site:{siteId}:navigation",
|
|
49422
49565
|
navigationMenuById: "riverbank:navigation-menu:{menuId}",
|
|
@@ -53103,7 +53246,7 @@ var ENDPOINT_DEFINITIONS = {
|
|
|
53103
53246
|
path: "/public/sites/{siteId}/events",
|
|
53104
53247
|
method: "GET",
|
|
53105
53248
|
revalidate: 60,
|
|
53106
|
-
tags: [
|
|
53249
|
+
tags: [TAG_TEMPLATES.publicEvents],
|
|
53107
53250
|
auth: "public",
|
|
53108
53251
|
responseKind: "json"
|
|
53109
53252
|
},
|
|
@@ -53112,7 +53255,7 @@ var ENDPOINT_DEFINITIONS = {
|
|
|
53112
53255
|
path: "/public/sites/{siteId}/events/filters",
|
|
53113
53256
|
method: "GET",
|
|
53114
53257
|
revalidate: 60,
|
|
53115
|
-
tags: [
|
|
53258
|
+
tags: [TAG_TEMPLATES.publicEventFilters],
|
|
53116
53259
|
auth: "public",
|
|
53117
53260
|
responseKind: "json"
|
|
53118
53261
|
},
|
|
@@ -53121,7 +53264,7 @@ var ENDPOINT_DEFINITIONS = {
|
|
|
53121
53264
|
path: "/public/sites/{siteId}/courses",
|
|
53122
53265
|
method: "GET",
|
|
53123
53266
|
revalidate: 60,
|
|
53124
|
-
tags: [
|
|
53267
|
+
tags: [TAG_TEMPLATES.publicCourses],
|
|
53125
53268
|
auth: "public",
|
|
53126
53269
|
responseKind: "json"
|
|
53127
53270
|
},
|
|
@@ -53129,7 +53272,7 @@ var ENDPOINT_DEFINITIONS = {
|
|
|
53129
53272
|
path: "/public/sites/{siteId}/team-members",
|
|
53130
53273
|
method: "GET",
|
|
53131
53274
|
revalidate: 60,
|
|
53132
|
-
tags: [
|
|
53275
|
+
tags: [TAG_TEMPLATES.publicTeamMembers],
|
|
53133
53276
|
errors: [],
|
|
53134
53277
|
auth: "public",
|
|
53135
53278
|
responseKind: "json"
|
|
@@ -53138,21 +53281,21 @@ var ENDPOINT_DEFINITIONS = {
|
|
|
53138
53281
|
path: "/public/sites/{siteId}/courses/{courseId}",
|
|
53139
53282
|
method: "GET",
|
|
53140
53283
|
revalidate: 60,
|
|
53141
|
-
tags: [
|
|
53284
|
+
tags: [TAG_TEMPLATES.publicCourses],
|
|
53142
53285
|
auth: "public",
|
|
53143
53286
|
responseKind: "json"
|
|
53144
53287
|
},
|
|
53145
53288
|
enrollInCourse: {
|
|
53146
53289
|
path: "/public/sites/{siteId}/courses/enroll",
|
|
53147
53290
|
method: "POST",
|
|
53148
|
-
tags: [
|
|
53291
|
+
tags: [TAG_TEMPLATES.publicCourses, "course-enrollment"],
|
|
53149
53292
|
auth: "public",
|
|
53150
53293
|
responseKind: "json"
|
|
53151
53294
|
},
|
|
53152
53295
|
checkCourseEligibility: {
|
|
53153
53296
|
path: "/public/sites/{siteId}/courses/check-eligibility",
|
|
53154
53297
|
method: "POST",
|
|
53155
|
-
tags: [
|
|
53298
|
+
tags: [TAG_TEMPLATES.publicCourses, "course-enrollment"],
|
|
53156
53299
|
auth: "public",
|
|
53157
53300
|
responseKind: "json"
|
|
53158
53301
|
},
|
|
@@ -53160,8 +53303,8 @@ var ENDPOINT_DEFINITIONS = {
|
|
|
53160
53303
|
path: "/public/sites/{siteId}/waitlists/claim/resolve",
|
|
53161
53304
|
method: "POST",
|
|
53162
53305
|
tags: [
|
|
53163
|
-
|
|
53164
|
-
|
|
53306
|
+
TAG_TEMPLATES.publicCourses,
|
|
53307
|
+
TAG_TEMPLATES.publicEvents,
|
|
53165
53308
|
"waitlist-claims"
|
|
53166
53309
|
],
|
|
53167
53310
|
auth: "public",
|
|
@@ -53176,7 +53319,7 @@ var ENDPOINT_DEFINITIONS = {
|
|
|
53176
53319
|
createCourseCheckout: {
|
|
53177
53320
|
path: "/public/sites/{siteId}/courses/checkout",
|
|
53178
53321
|
method: "POST",
|
|
53179
|
-
tags: [
|
|
53322
|
+
tags: [TAG_TEMPLATES.publicCourses, "course-checkout"],
|
|
53180
53323
|
auth: "public",
|
|
53181
53324
|
responseKind: "json",
|
|
53182
53325
|
errors: [
|
|
@@ -53190,7 +53333,7 @@ var ENDPOINT_DEFINITIONS = {
|
|
|
53190
53333
|
getCourseRegistrationStatus: {
|
|
53191
53334
|
path: "/public/sites/{siteId}/courses/registration-status",
|
|
53192
53335
|
method: "GET",
|
|
53193
|
-
tags: [
|
|
53336
|
+
tags: [TAG_TEMPLATES.publicCourses, "course-checkout"],
|
|
53194
53337
|
auth: "public",
|
|
53195
53338
|
responseKind: "json"
|
|
53196
53339
|
},
|
|
@@ -53199,7 +53342,7 @@ var ENDPOINT_DEFINITIONS = {
|
|
|
53199
53342
|
path: "/public/sites/{siteId}/bookings/products/passes",
|
|
53200
53343
|
method: "GET",
|
|
53201
53344
|
revalidate: 300,
|
|
53202
|
-
tags: [
|
|
53345
|
+
tags: [TAG_TEMPLATES.publicPasses],
|
|
53203
53346
|
auth: "public",
|
|
53204
53347
|
responseKind: "json"
|
|
53205
53348
|
},
|
|
@@ -53208,7 +53351,7 @@ var ENDPOINT_DEFINITIONS = {
|
|
|
53208
53351
|
path: "/public/sites/{siteId}/bookings/products/memberships",
|
|
53209
53352
|
method: "GET",
|
|
53210
53353
|
revalidate: 300,
|
|
53211
|
-
tags: [
|
|
53354
|
+
tags: [TAG_TEMPLATES.publicMemberships],
|
|
53212
53355
|
auth: "public",
|
|
53213
53356
|
responseKind: "json"
|
|
53214
53357
|
},
|
|
@@ -53217,7 +53360,7 @@ var ENDPOINT_DEFINITIONS = {
|
|
|
53217
53360
|
path: "/public/sites/{siteId}/products",
|
|
53218
53361
|
method: "GET",
|
|
53219
53362
|
revalidate: 300,
|
|
53220
|
-
tags: [
|
|
53363
|
+
tags: [TAG_TEMPLATES.publicProducts],
|
|
53221
53364
|
errors: [],
|
|
53222
53365
|
auth: "public",
|
|
53223
53366
|
responseKind: "json"
|
|
@@ -53226,7 +53369,7 @@ var ENDPOINT_DEFINITIONS = {
|
|
|
53226
53369
|
path: "/public/sites/{siteId}/gifting/offers",
|
|
53227
53370
|
method: "GET",
|
|
53228
53371
|
revalidate: 300,
|
|
53229
|
-
tags: [
|
|
53372
|
+
tags: [TAG_TEMPLATES.publicGifting],
|
|
53230
53373
|
errors: [],
|
|
53231
53374
|
auth: "public",
|
|
53232
53375
|
responseKind: "json"
|
|
@@ -53234,7 +53377,7 @@ var ENDPOINT_DEFINITIONS = {
|
|
|
53234
53377
|
createPublicGiftingCheckout: {
|
|
53235
53378
|
path: "/public/sites/{siteId}/gifting/checkout",
|
|
53236
53379
|
method: "POST",
|
|
53237
|
-
tags: [
|
|
53380
|
+
tags: [TAG_TEMPLATES.publicGifting],
|
|
53238
53381
|
errors: [],
|
|
53239
53382
|
auth: "public",
|
|
53240
53383
|
responseKind: "json"
|
|
@@ -53242,7 +53385,7 @@ var ENDPOINT_DEFINITIONS = {
|
|
|
53242
53385
|
claimGiftCardPublic: {
|
|
53243
53386
|
path: "/public/sites/{siteId}/gifting/claim",
|
|
53244
53387
|
method: "POST",
|
|
53245
|
-
tags: [
|
|
53388
|
+
tags: [TAG_TEMPLATES.publicGifting],
|
|
53246
53389
|
errors: [],
|
|
53247
53390
|
auth: "public",
|
|
53248
53391
|
responseKind: "json"
|
|
@@ -53250,14 +53393,14 @@ var ENDPOINT_DEFINITIONS = {
|
|
|
53250
53393
|
createShopCheckout: {
|
|
53251
53394
|
path: "/public/sites/{siteId}/bookings/checkout",
|
|
53252
53395
|
method: "POST",
|
|
53253
|
-
tags: [
|
|
53396
|
+
tags: [TAG_TEMPLATES.publicShop, "shop-checkout"],
|
|
53254
53397
|
auth: "public",
|
|
53255
53398
|
responseKind: "json"
|
|
53256
53399
|
},
|
|
53257
53400
|
createUnifiedCheckout: {
|
|
53258
53401
|
path: "/public/sites/{siteId}/checkout",
|
|
53259
53402
|
method: "POST",
|
|
53260
|
-
tags: [
|
|
53403
|
+
tags: [TAG_TEMPLATES.publicCheckout],
|
|
53261
53404
|
auth: "public",
|
|
53262
53405
|
responseKind: "json",
|
|
53263
53406
|
errors: [
|
|
@@ -53296,7 +53439,7 @@ var ENDPOINT_DEFINITIONS = {
|
|
|
53296
53439
|
path: "/public/sites/{siteId}/events/occurrences/resolve",
|
|
53297
53440
|
method: "GET",
|
|
53298
53441
|
revalidate: 60,
|
|
53299
|
-
tags: [
|
|
53442
|
+
tags: [TAG_TEMPLATES.publicEvents, "event-occurrence"],
|
|
53300
53443
|
auth: "public",
|
|
53301
53444
|
responseKind: "json"
|
|
53302
53445
|
},
|
|
@@ -53304,7 +53447,7 @@ var ENDPOINT_DEFINITIONS = {
|
|
|
53304
53447
|
registerForEvent: {
|
|
53305
53448
|
path: "/public/sites/{siteId}/events/register",
|
|
53306
53449
|
method: "POST",
|
|
53307
|
-
tags: [
|
|
53450
|
+
tags: [TAG_TEMPLATES.publicEvents, "event-registration"],
|
|
53308
53451
|
auth: "public",
|
|
53309
53452
|
responseKind: "json"
|
|
53310
53453
|
},
|
|
@@ -53312,7 +53455,7 @@ var ENDPOINT_DEFINITIONS = {
|
|
|
53312
53455
|
createPublicEventCheckout: {
|
|
53313
53456
|
path: "/public/sites/{siteId}/events/checkout",
|
|
53314
53457
|
method: "POST",
|
|
53315
|
-
tags: [
|
|
53458
|
+
tags: [TAG_TEMPLATES.publicEvents, "event-checkout"],
|
|
53316
53459
|
auth: "public",
|
|
53317
53460
|
responseKind: "json"
|
|
53318
53461
|
},
|
|
@@ -53320,7 +53463,7 @@ var ENDPOINT_DEFINITIONS = {
|
|
|
53320
53463
|
checkPublicEventEligibility: {
|
|
53321
53464
|
path: "/public/sites/{siteId}/events/check-eligibility",
|
|
53322
53465
|
method: "POST",
|
|
53323
|
-
tags: [
|
|
53466
|
+
tags: [TAG_TEMPLATES.publicEvents, "event-eligibility"],
|
|
53324
53467
|
auth: "public",
|
|
53325
53468
|
responseKind: "json"
|
|
53326
53469
|
},
|
|
@@ -53328,7 +53471,7 @@ var ENDPOINT_DEFINITIONS = {
|
|
|
53328
53471
|
getPublicEventRegistrationStatus: {
|
|
53329
53472
|
path: "/public/sites/{siteId}/events/registration-status",
|
|
53330
53473
|
method: "GET",
|
|
53331
|
-
tags: [
|
|
53474
|
+
tags: [TAG_TEMPLATES.publicEvents, "event-registration"],
|
|
53332
53475
|
auth: "public",
|
|
53333
53476
|
responseKind: "json"
|
|
53334
53477
|
},
|
|
@@ -53336,7 +53479,7 @@ var ENDPOINT_DEFINITIONS = {
|
|
|
53336
53479
|
getPublicEventTicketQrSvg: {
|
|
53337
53480
|
path: "/public/sites/{siteId}/events/tickets/qr",
|
|
53338
53481
|
method: "GET",
|
|
53339
|
-
tags: [
|
|
53482
|
+
tags: [TAG_TEMPLATES.publicEvents, "event-ticket-qr"],
|
|
53340
53483
|
auth: "public",
|
|
53341
53484
|
responseKind: "text"
|
|
53342
53485
|
},
|
|
@@ -56914,9 +57057,9 @@ async function prefetchBlockData2(page, context, client, options) {
|
|
|
56914
57057
|
}
|
|
56915
57058
|
|
|
56916
57059
|
// src/rendering/components/Block.shared.tsx
|
|
56917
|
-
import { jsx as jsx61, jsxs as
|
|
57060
|
+
import { jsx as jsx61, jsxs as jsxs44 } from "react/jsx-runtime";
|
|
56918
57061
|
function renderUnknownBlock(blockKind) {
|
|
56919
|
-
return /* @__PURE__ */ jsx61("div", { className: "p-4 border border-red-300 bg-red-50 rounded", children: /* @__PURE__ */
|
|
57062
|
+
return /* @__PURE__ */ jsx61("div", { className: "p-4 border border-red-300 bg-red-50 rounded", children: /* @__PURE__ */ jsxs44("p", { className: "text-red-800 font-semibold", children: [
|
|
56920
57063
|
"Unknown block type: ",
|
|
56921
57064
|
blockKind
|
|
56922
57065
|
] }) });
|
|
@@ -57063,10 +57206,95 @@ import { jsx as jsx62 } from "react/jsx-runtime";
|
|
|
57063
57206
|
function Block(props2) {
|
|
57064
57207
|
return /* @__PURE__ */ jsx62(BlockContent, { ...props2 });
|
|
57065
57208
|
}
|
|
57209
|
+
|
|
57210
|
+
// src/rendering/overrides.ts
|
|
57211
|
+
var lazyBlockOverrideSymbol = /* @__PURE__ */ Symbol.for("riverbankcms.sdk.lazyBlockOverride");
|
|
57212
|
+
function defineLazyBlockOverride(load) {
|
|
57213
|
+
return {
|
|
57214
|
+
[lazyBlockOverrideSymbol]: true,
|
|
57215
|
+
load
|
|
57216
|
+
};
|
|
57217
|
+
}
|
|
57218
|
+
|
|
57219
|
+
// src/rendering/overrideResolution.ts
|
|
57220
|
+
function isRecord6(value) {
|
|
57221
|
+
return typeof value === "object" && value !== null;
|
|
57222
|
+
}
|
|
57223
|
+
function isBlockOutlineLike(value) {
|
|
57224
|
+
const id = value.id;
|
|
57225
|
+
return typeof value.kind === "string" && (typeof id === "string" || id === null) && (typeof value.purpose === "string" || isRecord6(value.content) || isRecord6(value.draftContent) || isRecord6(value.bindings));
|
|
57226
|
+
}
|
|
57227
|
+
function collectBlockKindsFromValue(value, usedKinds, seen) {
|
|
57228
|
+
if (!isRecord6(value)) return;
|
|
57229
|
+
if (seen.has(value)) return;
|
|
57230
|
+
seen.add(value);
|
|
57231
|
+
if (isBlockOutlineLike(value)) {
|
|
57232
|
+
usedKinds.add(value.kind);
|
|
57233
|
+
}
|
|
57234
|
+
for (const child of Object.values(value)) {
|
|
57235
|
+
if (Array.isArray(child)) {
|
|
57236
|
+
for (const item of child) {
|
|
57237
|
+
collectBlockKindsFromValue(item, usedKinds, seen);
|
|
57238
|
+
}
|
|
57239
|
+
continue;
|
|
57240
|
+
}
|
|
57241
|
+
collectBlockKindsFromValue(child, usedKinds, seen);
|
|
57242
|
+
}
|
|
57243
|
+
}
|
|
57244
|
+
function collectUsedBlockKinds(page) {
|
|
57245
|
+
const usedKinds = /* @__PURE__ */ new Set();
|
|
57246
|
+
const seen = /* @__PURE__ */ new WeakSet();
|
|
57247
|
+
for (const block of page?.blocks ?? []) {
|
|
57248
|
+
collectBlockKindsFromValue(block, usedKinds, seen);
|
|
57249
|
+
}
|
|
57250
|
+
return usedKinds;
|
|
57251
|
+
}
|
|
57252
|
+
function shortBlockKind(blockKind) {
|
|
57253
|
+
return blockKind.replace(/^block\./, "");
|
|
57254
|
+
}
|
|
57255
|
+
function selectOverrideKeysForUsedKinds(usedKinds, entries) {
|
|
57256
|
+
const availableKeys = new Set(entries.map(([key]) => key));
|
|
57257
|
+
const selectedKeys = /* @__PURE__ */ new Set();
|
|
57258
|
+
for (const blockKind of usedKinds) {
|
|
57259
|
+
if (availableKeys.has(blockKind)) {
|
|
57260
|
+
selectedKeys.add(blockKind);
|
|
57261
|
+
continue;
|
|
57262
|
+
}
|
|
57263
|
+
const shortKind = shortBlockKind(blockKind);
|
|
57264
|
+
if (availableKeys.has(shortKind)) {
|
|
57265
|
+
selectedKeys.add(shortKind);
|
|
57266
|
+
}
|
|
57267
|
+
}
|
|
57268
|
+
return selectedKeys;
|
|
57269
|
+
}
|
|
57270
|
+
function isLazyRegistration(registration) {
|
|
57271
|
+
return isRecord6(registration) && registration[lazyBlockOverrideSymbol] === true;
|
|
57272
|
+
}
|
|
57273
|
+
async function resolveOverrideComponent(registration) {
|
|
57274
|
+
if (isLazyRegistration(registration)) {
|
|
57275
|
+
return registration.load();
|
|
57276
|
+
}
|
|
57277
|
+
return registration;
|
|
57278
|
+
}
|
|
57279
|
+
async function resolveBlockOverridesForPage(registrations, page) {
|
|
57280
|
+
if (!registrations) return void 0;
|
|
57281
|
+
const entries = Object.entries(registrations);
|
|
57282
|
+
if (entries.length === 0) return void 0;
|
|
57283
|
+
const selectedKeys = selectOverrideKeysForUsedKinds(collectUsedBlockKinds(page), entries);
|
|
57284
|
+
if (selectedKeys.size === 0) return void 0;
|
|
57285
|
+
const resolved = {};
|
|
57286
|
+
for (const [key, registration] of entries) {
|
|
57287
|
+
if (!selectedKeys.has(key)) continue;
|
|
57288
|
+
resolved[key] = await resolveOverrideComponent(registration);
|
|
57289
|
+
}
|
|
57290
|
+
return resolved;
|
|
57291
|
+
}
|
|
57066
57292
|
export {
|
|
57067
57293
|
Block,
|
|
57068
57294
|
Layout,
|
|
57069
|
-
Page
|
|
57295
|
+
Page,
|
|
57296
|
+
defineLazyBlockOverride,
|
|
57297
|
+
resolveBlockOverridesForPage
|
|
57070
57298
|
};
|
|
57071
57299
|
/*! Bundled license information:
|
|
57072
57300
|
|