@riverbankcms/sdk 0.72.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/README.md +1 -1
- package/dist/{PreviewEditorSidebar-44T64SAR.mjs → PreviewEditorSidebar-U2IHCBYN.mjs} +3 -3
- package/dist/{PreviewEditorUI-4WKHZTXW.mjs → PreviewEditorUI-ZGH2RQNP.mjs} +3 -3
- package/dist/SdkPreviewModeRuntime-MTUGBTLQ.mjs +8 -0
- package/dist/_dts/ai/src/contracts/proposals.d.ts +10 -10
- 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/manifest/schema.d.ts +6 -6
- package/dist/_dts/blocks/src/system/node/fragments/backgroundLayer.d.ts +15 -1
- package/dist/_dts/blocks/src/system/node/fragments/styledSection.d.ts +11 -0
- package/dist/_dts/blocks/src/system/runtime/components/registry.client.d.ts +1 -0
- package/dist/_dts/blocks/src/system/runtime/header/enhanceHeaderSection.d.ts +13 -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/blocks/src/system/runtime/nodes/media.d.ts +6 -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/components/Layout.d.ts +2 -2
- package/dist/_dts/sdk/src/rendering/islands/deferredVideoEmbeds.d.ts +2 -0
- package/dist/_dts/sdk/src/rendering/islands/enhancers/accordion.d.ts +1 -0
- package/dist/_dts/sdk/src/rendering/islands/enhancers/bookingForm.d.ts +1 -0
- package/dist/_dts/sdk/src/rendering/islands/enhancers/carousel.d.ts +1 -0
- package/dist/_dts/sdk/src/rendering/islands/enhancers/cart.d.ts +1 -0
- package/dist/_dts/sdk/src/rendering/islands/enhancers/checkout.d.ts +1 -0
- package/dist/_dts/sdk/src/rendering/islands/enhancers/courseRegistration.d.ts +1 -0
- package/dist/_dts/sdk/src/rendering/islands/enhancers/eventCalendar.d.ts +1 -0
- package/dist/_dts/sdk/src/rendering/islands/enhancers/eventCombined.d.ts +1 -0
- package/dist/_dts/sdk/src/rendering/islands/enhancers/eventDetails.d.ts +1 -0
- package/dist/_dts/sdk/src/rendering/islands/enhancers/eventListing.d.ts +1 -0
- package/dist/_dts/sdk/src/rendering/islands/enhancers/eventRegistration.d.ts +1 -0
- package/dist/_dts/sdk/src/rendering/islands/enhancers/form.d.ts +1 -0
- package/dist/_dts/sdk/src/rendering/islands/enhancers/headerSection.d.ts +1 -0
- package/dist/_dts/sdk/src/rendering/islands/enhancers/locationMap.d.ts +1 -0
- package/dist/_dts/sdk/src/rendering/islands/enhancers/newsletterForm.d.ts +1 -0
- package/dist/_dts/sdk/src/rendering/islands/enhancers/productDetail.d.ts +1 -0
- package/dist/_dts/sdk/src/rendering/islands/enhancers/productList.d.ts +1 -0
- package/dist/_dts/sdk/src/rendering/islands/enhancers/shop.d.ts +1 -0
- package/dist/_dts/sdk/src/rendering/islands/hydrateBlocksIslands.d.ts +2 -2
- package/dist/_dts/sdk/src/rendering/islands/propsDecoder.d.ts +7 -0
- package/dist/_dts/sdk/src/rendering/islands/types.d.ts +9 -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/accordions/types.d.ts +3 -3
- package/dist/_dts/theme-core/src/buttons/personalities/types.d.ts +7 -7
- package/dist/_dts/theme-core/src/buttons/types.d.ts +20 -20
- package/dist/_dts/theme-core/src/cards/types.d.ts +2 -2
- package/dist/_dts/theme-core/src/generated/containerResponsiveThemeCss.d.ts +1 -1
- package/dist/_dts/theme-core/src/header/navDropdownSizing.d.ts +7 -0
- package/dist/_dts/theme-core/src/inputs/types.d.ts +3 -3
- package/dist/_dts/theme-core/src/interactive/baseSchema.d.ts +1 -1
- package/dist/_dts/theme-core/src/mock-themes/all.d.ts +156 -156
- package/dist/_dts/theme-core/src/navigation/types.d.ts +1 -1
- package/dist/_dts/theme-core/src/palette/variants/types.d.ts +4 -4
- package/dist/_dts/theme-core/src/schema.d.ts +178 -178
- package/dist/_dts/theme-core/src/shared/componentStyles.d.ts +2 -2
- package/dist/_dts/theme-core/src/site-styles/designState.d.ts +8 -8
- package/dist/_dts/theme-core/src/site-styles/generatedSchemas.d.ts +5 -5
- package/dist/_dts/theme-core/src/tokens/themeColorTokens.d.ts +2 -2
- package/dist/{chunk-G4NLITC2.mjs → chunk-BGMNDF6T.mjs} +7 -7
- package/dist/{chunk-3YNCQG5N.mjs → chunk-GFE74WRD.mjs} +457 -98
- package/dist/{chunk-HV745JYE.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-KWQPAJYS.mjs → chunk-ZSHFGFUG.mjs} +2 -2
- package/dist/cli/index.mjs +3498 -3826
- package/dist/client/accordion-T2UD2ZTH.mjs +120 -0
- package/dist/client/altcha-LIGLPZS5.mjs +2755 -0
- package/dist/client/bookingForm-GUP75FKN.mjs +3022 -0
- package/dist/client/bookings.mjs +32 -10
- package/dist/client/carousel-2NQA6V57.mjs +47 -0
- 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-FU2QRZMX.mjs +7617 -0
- 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-N7PBWBWQ.mjs +26 -0
- package/dist/client/chunk-NWOUL6JY.mjs +1378 -0
- package/dist/client/chunk-OJPZEZU2.mjs +31 -0
- package/dist/client/chunk-PMAIXMAB.mjs +1960 -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 +51865 -52071
- package/dist/client/courseRegistration-5DPU6PDY.mjs +1737 -0
- package/dist/client/eventCalendar-F3GZGTEF.mjs +40 -0
- package/dist/client/eventCombined-BQOB6QMY.mjs +37 -0
- package/dist/client/eventDetails-PEM2EJWE.mjs +25 -0
- package/dist/client/eventListing-YMIQPVME.mjs +40 -0
- package/dist/client/eventRegistration-4I6ZNDUF.mjs +40 -0
- package/dist/client/form-ZJVAYZ6G.mjs +300 -0
- package/dist/client/headerSection-TOT5MGTF.mjs +729 -0
- package/dist/client/hooks.mjs +91 -42
- 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 +12796 -18295
- package/dist/client/rendering/islands.mjs +108 -44022
- package/dist/client/rendering.mjs +45141 -45346
- 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-NGDWSWOS.mjs → sdk-runtime-JCUQM63Y.mjs} +6 -6
- package/dist/server/components.mjs +472 -276
- package/dist/server/config-validation.mjs +91 -42
- package/dist/server/config.mjs +91 -42
- package/dist/server/data.mjs +91 -42
- package/dist/server/index.mjs +45 -33
- package/dist/server/next.mjs +468 -272
- package/dist/server/page-converter.mjs +41 -17
- package/dist/server/prebuild.mjs +1 -1
- package/dist/server/rendering/server.mjs +556 -275
- package/dist/server/rendering.mjs +474 -278
- package/dist/server/routing.mjs +99 -43
- package/dist/server/server.mjs +92 -43
- package/dist/server/theme-bridge.mjs +29 -0
- package/dist/styles/index.css +16 -0
- package/package.json +2 -1
- package/dist/SdkPreviewModeRuntime-FO6V7YVY.mjs +0 -8
|
@@ -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
|
|
@@ -9935,7 +10032,9 @@ function backgroundLayer(path, options = {}) {
|
|
|
9935
10032
|
imageClassName,
|
|
9936
10033
|
overlayClassName = "background-overlay rb-absolute rb-inset-0 rb-z-neg-10 rb-h-full rb-w-full rb-pointer-events-none",
|
|
9937
10034
|
fallbackToken,
|
|
9938
|
-
omitImageLayer = false
|
|
10035
|
+
omitImageLayer = false,
|
|
10036
|
+
imageLoading,
|
|
10037
|
+
imageFetchPriority
|
|
9939
10038
|
} = options;
|
|
9940
10039
|
const styleLayer = el("div", {
|
|
9941
10040
|
className: styleClassName,
|
|
@@ -9951,11 +10050,14 @@ function backgroundLayer(path, options = {}) {
|
|
|
9951
10050
|
}
|
|
9952
10051
|
}
|
|
9953
10052
|
});
|
|
9954
|
-
const imageLayer = createBackgroundImageNode(path, imageClassName
|
|
10053
|
+
const imageLayer = createBackgroundImageNode(path, imageClassName, {
|
|
10054
|
+
loading: imageLoading,
|
|
10055
|
+
fetchPriority: imageFetchPriority
|
|
10056
|
+
});
|
|
9955
10057
|
const overlayLayer = createBackgroundOverlayNode(path, overlayClassName);
|
|
9956
10058
|
return omitImageLayer ? [styleLayer, overlayLayer] : [styleLayer, imageLayer, overlayLayer];
|
|
9957
10059
|
}
|
|
9958
|
-
function createBackgroundImageNode(path, baseClassName = "rb-absolute rb-z-neg-10") {
|
|
10060
|
+
function createBackgroundImageNode(path, baseClassName = "rb-absolute rb-z-neg-10", options = {}) {
|
|
9959
10061
|
const imagePath = `${path}.image`;
|
|
9960
10062
|
return media(
|
|
9961
10063
|
{
|
|
@@ -9976,7 +10078,9 @@ function createBackgroundImageNode(path, baseClassName = "rb-absolute rb-z-neg-1
|
|
|
9976
10078
|
transforms: [{ id: "background.resolveImageStyle" }]
|
|
9977
10079
|
}
|
|
9978
10080
|
},
|
|
9979
|
-
videoPlayback: "background"
|
|
10081
|
+
videoPlayback: "background",
|
|
10082
|
+
...options.loading ? { loading: options.loading } : {},
|
|
10083
|
+
...options.fetchPriority ? { fetchPriority: options.fetchPriority } : {}
|
|
9980
10084
|
},
|
|
9981
10085
|
when(imagePath),
|
|
9982
10086
|
bind(imagePath)
|
|
@@ -10173,12 +10277,16 @@ function styledSection(config) {
|
|
|
10173
10277
|
bindFrom = "_sectionStyles",
|
|
10174
10278
|
imageClassName = "rb-absolute rb-z-neg-10",
|
|
10175
10279
|
renderBackgroundImage = true,
|
|
10280
|
+
backgroundImageLoading,
|
|
10281
|
+
backgroundImageFetchPriority,
|
|
10176
10282
|
fullWidthPath
|
|
10177
10283
|
} = config;
|
|
10178
10284
|
const renderedBackgroundNodes = backgroundLayer(`${bindFrom}.background`, {
|
|
10179
10285
|
imageClassName,
|
|
10180
10286
|
fallbackToken: background,
|
|
10181
|
-
omitImageLayer: !renderBackgroundImage
|
|
10287
|
+
omitImageLayer: !renderBackgroundImage,
|
|
10288
|
+
imageLoading: backgroundImageLoading,
|
|
10289
|
+
imageFetchPriority: backgroundImageFetchPriority
|
|
10182
10290
|
});
|
|
10183
10291
|
const childrenArray = Array.isArray(children) ? children : [children];
|
|
10184
10292
|
return section(
|
|
@@ -10393,7 +10501,7 @@ function navRow(opts) {
|
|
|
10393
10501
|
el(
|
|
10394
10502
|
"div",
|
|
10395
10503
|
{
|
|
10396
|
-
className: "nav-dropdown-menu rb-absolute rb-left-0 rb-top-full rb-z-50 rb-hidden rb-
|
|
10504
|
+
className: "nav-dropdown-menu rb-absolute rb-left-0 rb-top-full rb-z-50 rb-hidden rb-overflow-hidden",
|
|
10397
10505
|
id: dropdownMenuId
|
|
10398
10506
|
},
|
|
10399
10507
|
[dropdownLinks]
|
|
@@ -13968,6 +14076,10 @@ var heroCopyAndCta = composeFragments([
|
|
|
13968
14076
|
{ fragment: heroCopyFragment },
|
|
13969
14077
|
{ fragment: heroCtaRowFragment }
|
|
13970
14078
|
]);
|
|
14079
|
+
var heroPriorityMediaProps = {
|
|
14080
|
+
loading: "eager",
|
|
14081
|
+
fetchPriority: "high"
|
|
14082
|
+
};
|
|
13971
14083
|
var heroContentNodes = heroCopyAndCta.layout;
|
|
13972
14084
|
function heroContentCard(children, gap) {
|
|
13973
14085
|
return styledContainer({
|
|
@@ -14030,7 +14142,8 @@ function heroSplitImagePane() {
|
|
|
14030
14142
|
[
|
|
14031
14143
|
media(
|
|
14032
14144
|
{
|
|
14033
|
-
className: "rb-absolute rb-inset-0 rb-h-full rb-w-full rb-object-cover"
|
|
14145
|
+
className: "rb-absolute rb-inset-0 rb-h-full rb-w-full rb-object-cover",
|
|
14146
|
+
...heroPriorityMediaProps
|
|
14034
14147
|
},
|
|
14035
14148
|
when("_sectionStyles.background.image"),
|
|
14036
14149
|
bind("_sectionStyles.background.image")
|
|
@@ -14041,13 +14154,17 @@ function heroSplitImagePane() {
|
|
|
14041
14154
|
var classicLayout = styledSection({
|
|
14042
14155
|
children: heroContainerStack(heroContentNodes, "md"),
|
|
14043
14156
|
// styledContainer (rb-container) already provides horizontal padding
|
|
14044
|
-
baseClass: ""
|
|
14157
|
+
baseClass: "",
|
|
14158
|
+
backgroundImageLoading: heroPriorityMediaProps.loading,
|
|
14159
|
+
backgroundImageFetchPriority: heroPriorityMediaProps.fetchPriority
|
|
14045
14160
|
});
|
|
14046
14161
|
var microLayout = styledSection({
|
|
14047
14162
|
children: heroContainerStack(heroContentNodes, "sm"),
|
|
14048
14163
|
// styledContainer (rb-container) already provides horizontal padding
|
|
14049
14164
|
baseClass: "",
|
|
14050
|
-
spacing: "compact"
|
|
14165
|
+
spacing: "compact",
|
|
14166
|
+
backgroundImageLoading: heroPriorityMediaProps.loading,
|
|
14167
|
+
backgroundImageFetchPriority: heroPriorityMediaProps.fetchPriority
|
|
14051
14168
|
});
|
|
14052
14169
|
function splitLayoutWith(children) {
|
|
14053
14170
|
return styledSection({
|
|
@@ -18440,7 +18557,7 @@ var cardStylingFields = [
|
|
|
18440
18557
|
description: "Text for the event action button",
|
|
18441
18558
|
required: false,
|
|
18442
18559
|
multiline: false,
|
|
18443
|
-
defaultValue: "
|
|
18560
|
+
defaultValue: "Book now",
|
|
18444
18561
|
maxLength: 40
|
|
18445
18562
|
}
|
|
18446
18563
|
];
|
|
@@ -18952,6 +19069,7 @@ var eventRegistrationBlockDefinition = {
|
|
|
18952
19069
|
limit: "50",
|
|
18953
19070
|
// Get more events for selection
|
|
18954
19071
|
stage: { $bind: { from: "$root.previewStage", fallback: "published" } },
|
|
19072
|
+
readProfile: "registration",
|
|
18955
19073
|
// When rendering on an event content entry page, scope the list to that entry so
|
|
18956
19074
|
// the wizard always includes the current event (and avoids stale cached "all events" responses).
|
|
18957
19075
|
entryId: { $bind: { from: "$root.contentEntry._entryId", fallback: "" } }
|
|
@@ -19900,7 +20018,7 @@ var eventSpotlightLayout = [
|
|
|
19900
20018
|
columns: { $bind: { from: "content.columns", fallback: "3" } },
|
|
19901
20019
|
cardVariant: { $bind: { from: "content.cardVariant", fallback: "default" } },
|
|
19902
20020
|
buttonVariant: { $bind: { from: "content.buttonVariant", fallback: "primary" } },
|
|
19903
|
-
buttonText: { $bind: { from: "content.buttonText", fallback: "
|
|
20021
|
+
buttonText: { $bind: { from: "content.buttonText", fallback: "Book now" } },
|
|
19904
20022
|
ctaLabel: { $bind: { from: "content.ctaLabel" } },
|
|
19905
20023
|
ctaUrl: { $bind: { from: "content.ctaUrl", transforms: [{ id: "links.resolve" }] } },
|
|
19906
20024
|
showVenue: { $bind: { from: "content.showVenue" } },
|
|
@@ -19944,7 +20062,8 @@ var eventSpotlightBlockDefinition = {
|
|
|
19944
20062
|
siteId: { $bind: { from: "$root.siteId" } },
|
|
19945
20063
|
limit: { $bind: { from: "content.maxEvents", fallback: "3" } },
|
|
19946
20064
|
stage: { $bind: { from: "$root.previewStage", fallback: "published" } },
|
|
19947
|
-
detailLevel: "listing"
|
|
20065
|
+
detailLevel: "listing",
|
|
20066
|
+
readProfile: "spotlight"
|
|
19948
20067
|
},
|
|
19949
20068
|
mode: "server"
|
|
19950
20069
|
}
|
|
@@ -20416,7 +20535,7 @@ var COLUMN_CLASSES = {
|
|
|
20416
20535
|
};
|
|
20417
20536
|
function getContainerClass(layout, columns) {
|
|
20418
20537
|
if (layout === "compact") {
|
|
20419
|
-
return "rb-flex rb-flex-col rb-gap-2";
|
|
20538
|
+
return "event-listing-compact-container rb-flex rb-flex-col rb-gap-2";
|
|
20420
20539
|
}
|
|
20421
20540
|
if (layout === "stack") {
|
|
20422
20541
|
return "rb-flex rb-flex-col rb-gap-6";
|
|
@@ -20547,7 +20666,7 @@ function formatEventPrice(event) {
|
|
|
20547
20666
|
}
|
|
20548
20667
|
function resolveEventCta(event, buttonText) {
|
|
20549
20668
|
const { isFull: isSoldOut } = getEventAvailability(event);
|
|
20550
|
-
const defaultButtonText = event.kind === "course_session" ? "
|
|
20669
|
+
const defaultButtonText = event.kind === "course_session" ? "Book course" : "Book now";
|
|
20551
20670
|
const effectiveButtonText = buttonText ?? defaultButtonText;
|
|
20552
20671
|
if (isSoldOut) {
|
|
20553
20672
|
return { label: "Sold out", href: event.path, hidden: true };
|
|
@@ -21746,6 +21865,8 @@ var MediaNodeServer = ({
|
|
|
21746
21865
|
className,
|
|
21747
21866
|
style,
|
|
21748
21867
|
videoPlayback = "inline",
|
|
21868
|
+
loading = "lazy",
|
|
21869
|
+
fetchPriority,
|
|
21749
21870
|
size = ImagePresets.full,
|
|
21750
21871
|
fieldPath,
|
|
21751
21872
|
blockKind,
|
|
@@ -21782,7 +21903,8 @@ var MediaNodeServer = ({
|
|
|
21782
21903
|
alt: value.alt ?? "",
|
|
21783
21904
|
className,
|
|
21784
21905
|
style: computedStyle,
|
|
21785
|
-
loading
|
|
21906
|
+
loading,
|
|
21907
|
+
fetchPriority,
|
|
21786
21908
|
decoding: "async"
|
|
21787
21909
|
}
|
|
21788
21910
|
);
|
|
@@ -22156,7 +22278,7 @@ var eventListingBlockRuntime = defineProgressiveBlockRuntime({
|
|
|
22156
22278
|
containerClass: getContainerClass(layout, source.columns ?? "3"),
|
|
22157
22279
|
cardVariant: source.cardVariant ?? "default",
|
|
22158
22280
|
buttonVariant: source.buttonVariant ?? "primary",
|
|
22159
|
-
buttonText: source.buttonText ?? "
|
|
22281
|
+
buttonText: source.buttonText ?? "Book now",
|
|
22160
22282
|
showVenue: source.showVenue ?? true,
|
|
22161
22283
|
showMap: source.showMap ?? true,
|
|
22162
22284
|
showCapacity: source.showCapacity ?? true,
|
|
@@ -22403,7 +22525,7 @@ var eventListingLayout = [
|
|
|
22403
22525
|
loadMoreText: { $bind: { from: "content.loadMoreText", fallback: "Load more events" } },
|
|
22404
22526
|
cardVariant: { $bind: { from: "content.cardVariant", fallback: "default" } },
|
|
22405
22527
|
buttonVariant: { $bind: { from: "content.buttonVariant", fallback: "primary" } },
|
|
22406
|
-
buttonText: { $bind: { from: "content.buttonText", fallback: "
|
|
22528
|
+
buttonText: { $bind: { from: "content.buttonText", fallback: "Book now" } },
|
|
22407
22529
|
showVenue: { $bind: { from: "content.showVenue" } },
|
|
22408
22530
|
showMap: { $bind: { from: "content.showMap" } },
|
|
22409
22531
|
showCapacity: { $bind: { from: "content.showCapacity" } },
|
|
@@ -22481,6 +22603,7 @@ var eventListingBlockDefinition = {
|
|
|
22481
22603
|
limit: { $bind: { from: "content.eventsPerPage", fallback: "12" } },
|
|
22482
22604
|
stage: { $bind: { from: "$root.previewStage", fallback: "published" } },
|
|
22483
22605
|
detailLevel: "listing",
|
|
22606
|
+
readProfile: { $bind: { from: "content.layout", fallback: "listing-card" } },
|
|
22484
22607
|
kind: { $bind: { from: "content.kind" } },
|
|
22485
22608
|
eventSurface: { $bind: { from: "content.eventSurface" } },
|
|
22486
22609
|
eventPresets: {
|
|
@@ -22620,7 +22743,7 @@ function buildEventCalendarDisplay(source) {
|
|
|
22620
22743
|
),
|
|
22621
22744
|
filterVenueId: normalizeEventVenueId(source.filterVenueId),
|
|
22622
22745
|
buttonVariant: source.buttonVariant ?? "primary",
|
|
22623
|
-
buttonText: source.buttonText ?? "
|
|
22746
|
+
buttonText: source.buttonText ?? "Book now",
|
|
22624
22747
|
showVenue: source.showVenue ?? true,
|
|
22625
22748
|
showMap: source.showMap ?? true,
|
|
22626
22749
|
showCapacity: source.showCapacity ?? true,
|
|
@@ -22809,7 +22932,7 @@ var eventCalendarLayout = [
|
|
|
22809
22932
|
$bind: { from: "content.buttonVariant", fallback: "primary" }
|
|
22810
22933
|
},
|
|
22811
22934
|
buttonText: {
|
|
22812
|
-
$bind: { from: "content.buttonText", fallback: "
|
|
22935
|
+
$bind: { from: "content.buttonText", fallback: "Book now" }
|
|
22813
22936
|
},
|
|
22814
22937
|
emptyMessage: { $bind: { from: "content.emptyMessage" } }
|
|
22815
22938
|
})
|
|
@@ -23270,6 +23393,7 @@ var eventCalendarBlockDefinition = {
|
|
|
23270
23393
|
limit: 100,
|
|
23271
23394
|
stage: { $bind: { from: "$root.previewStage", fallback: "published" } },
|
|
23272
23395
|
detailLevel: "listing",
|
|
23396
|
+
readProfile: { $bind: { from: "content.variant", fallback: "listing-card" } },
|
|
23273
23397
|
// Pass filter params if configured
|
|
23274
23398
|
kind: { $bind: { from: "content.kind" } },
|
|
23275
23399
|
eventSurface: { $bind: { from: "content.eventSurface" } },
|
|
@@ -29601,9 +29725,9 @@ function getEmbedUrl(info) {
|
|
|
29601
29725
|
const kind = info.kind ?? "p";
|
|
29602
29726
|
return `https://www.instagram.com/${kind}/${info.id}/embed`;
|
|
29603
29727
|
}
|
|
29604
|
-
default:
|
|
29605
|
-
return "";
|
|
29606
29728
|
}
|
|
29729
|
+
const exhaustive = info.provider;
|
|
29730
|
+
return exhaustive;
|
|
29607
29731
|
}
|
|
29608
29732
|
function getThumbnailUrl(info) {
|
|
29609
29733
|
switch (info.provider) {
|
|
@@ -29613,9 +29737,20 @@ function getThumbnailUrl(info) {
|
|
|
29613
29737
|
return `https://vumbnail.com/${info.id}.jpg`;
|
|
29614
29738
|
case "instagram":
|
|
29615
29739
|
return "";
|
|
29616
|
-
default:
|
|
29617
|
-
return "";
|
|
29618
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;
|
|
29619
29754
|
}
|
|
29620
29755
|
function getVideoEmbed(url) {
|
|
29621
29756
|
const info = parseVideoUrl(url);
|
|
@@ -29630,7 +29765,7 @@ function getVideoEmbed(url) {
|
|
|
29630
29765
|
}
|
|
29631
29766
|
|
|
29632
29767
|
// ../blocks/src/system/runtime/nodes/video-embed.tsx
|
|
29633
|
-
import { jsx as jsx18 } from "react/jsx-runtime";
|
|
29768
|
+
import { jsx as jsx18, jsxs as jsxs7 } from "react/jsx-runtime";
|
|
29634
29769
|
var VideoEmbedNode = ({
|
|
29635
29770
|
value,
|
|
29636
29771
|
className,
|
|
@@ -29673,34 +29808,43 @@ var VideoEmbedNode = ({
|
|
|
29673
29808
|
);
|
|
29674
29809
|
}
|
|
29675
29810
|
const title = getVideoTitle(embedInfo);
|
|
29676
|
-
|
|
29811
|
+
const loadingStrategy = getVideoEmbedLoadingStrategy(embedInfo.provider);
|
|
29812
|
+
const shouldDeferSrc = loadingStrategy === "defer-until-near-viewport";
|
|
29813
|
+
return /* @__PURE__ */ jsx18("div", { ...rest, children: /* @__PURE__ */ jsxs7(
|
|
29677
29814
|
"div",
|
|
29678
29815
|
{
|
|
29679
29816
|
className,
|
|
29817
|
+
"data-rb-video-embed-wrapper": shouldDeferSrc ? "true" : void 0,
|
|
29680
29818
|
style: {
|
|
29681
29819
|
...style,
|
|
29682
29820
|
aspectRatio: resolvedAspectRatio,
|
|
29683
29821
|
position: "relative",
|
|
29684
29822
|
width: "100%"
|
|
29685
29823
|
},
|
|
29686
|
-
children:
|
|
29687
|
-
|
|
29688
|
-
|
|
29689
|
-
|
|
29690
|
-
|
|
29691
|
-
|
|
29692
|
-
|
|
29693
|
-
|
|
29694
|
-
|
|
29695
|
-
|
|
29696
|
-
|
|
29697
|
-
|
|
29698
|
-
|
|
29699
|
-
|
|
29700
|
-
|
|
29701
|
-
|
|
29702
|
-
|
|
29703
|
-
|
|
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
|
+
]
|
|
29704
29848
|
}
|
|
29705
29849
|
) });
|
|
29706
29850
|
};
|
|
@@ -29715,9 +29859,9 @@ function getVideoTitle(info) {
|
|
|
29715
29859
|
const label = kind === "reel" ? "reel" : kind === "tv" ? "video" : "post";
|
|
29716
29860
|
return `Instagram ${label} ${info.id}`;
|
|
29717
29861
|
}
|
|
29718
|
-
default:
|
|
29719
|
-
return "Embedded video";
|
|
29720
29862
|
}
|
|
29863
|
+
const exhaustive = info.provider;
|
|
29864
|
+
return exhaustive;
|
|
29721
29865
|
}
|
|
29722
29866
|
function getAspectRatio(propAspectRatio, style) {
|
|
29723
29867
|
const styleAspectRatio = style?.aspectRatio;
|
|
@@ -29799,7 +29943,7 @@ function getCarouselSlidesToShowCssVars(value) {
|
|
|
29799
29943
|
}
|
|
29800
29944
|
|
|
29801
29945
|
// ../blocks/src/system/runtime/nodes/carousel.server.tsx
|
|
29802
|
-
import { jsx as jsx20, jsxs as
|
|
29946
|
+
import { jsx as jsx20, jsxs as jsxs8 } from "react/jsx-runtime";
|
|
29803
29947
|
var CarouselNodeSSR = ({
|
|
29804
29948
|
blockId,
|
|
29805
29949
|
children,
|
|
@@ -29818,7 +29962,7 @@ var CarouselNodeSSR = ({
|
|
|
29818
29962
|
const resolvedSlides = resolveSlidesToShowMobile(normalizedSlidesToShow);
|
|
29819
29963
|
const controlsEnabled = arrowVisibility === "never" ? false : normalizeBoolean2(showControls);
|
|
29820
29964
|
const shouldSnap = transition === "slide";
|
|
29821
|
-
return /* @__PURE__ */
|
|
29965
|
+
return /* @__PURE__ */ jsxs8(
|
|
29822
29966
|
"div",
|
|
29823
29967
|
{
|
|
29824
29968
|
className: clsx_default("carousel-root rb-relative", className),
|
|
@@ -29882,7 +30026,7 @@ function normalizeBoolean2(value) {
|
|
|
29882
30026
|
}
|
|
29883
30027
|
|
|
29884
30028
|
// ../blocks/src/system/runtime/nodes/accordion.server.tsx
|
|
29885
|
-
import { jsx as jsx21, jsxs as
|
|
30029
|
+
import { jsx as jsx21, jsxs as jsxs9 } from "react/jsx-runtime";
|
|
29886
30030
|
var ACCORDION_ICONS = {
|
|
29887
30031
|
Plus,
|
|
29888
30032
|
Minus,
|
|
@@ -29899,7 +30043,7 @@ var AccordionNodeSSR = ({
|
|
|
29899
30043
|
defaultValue,
|
|
29900
30044
|
collapsible
|
|
29901
30045
|
}) => {
|
|
29902
|
-
return /* @__PURE__ */
|
|
30046
|
+
return /* @__PURE__ */ jsxs9(
|
|
29903
30047
|
"div",
|
|
29904
30048
|
{
|
|
29905
30049
|
className: clsx_default("accordion-root", className),
|
|
@@ -29929,16 +30073,16 @@ var AccordionItemNodeSSR = ({
|
|
|
29929
30073
|
const iconConfig = ICON_CONFIG[resolvedIconStyle];
|
|
29930
30074
|
const ClosedIconComponent = ACCORDION_ICONS[iconConfig.closedIcon];
|
|
29931
30075
|
const OpenIconComponent = iconConfig.openIcon ? ACCORDION_ICONS[iconConfig.openIcon] : null;
|
|
29932
|
-
return /* @__PURE__ */
|
|
30076
|
+
return /* @__PURE__ */ jsxs9(
|
|
29933
30077
|
"div",
|
|
29934
30078
|
{
|
|
29935
30079
|
className: clsx_default("accordion-item", className),
|
|
29936
30080
|
"data-accordion-value": resolvedValue,
|
|
29937
30081
|
"data-state": "closed",
|
|
29938
30082
|
children: [
|
|
29939
|
-
/* @__PURE__ */
|
|
30083
|
+
/* @__PURE__ */ jsxs9("div", { className: "accordion-trigger", role: "button", tabIndex: 0, "aria-expanded": "false", children: [
|
|
29940
30084
|
/* @__PURE__ */ jsx21("span", { className: "accordion-trigger-text", children: resolveNode(triggerSource) }),
|
|
29941
|
-
/* @__PURE__ */
|
|
30085
|
+
/* @__PURE__ */ jsxs9("span", { className: "accordion-icon", "aria-hidden": "true", children: [
|
|
29942
30086
|
ClosedIconComponent && /* @__PURE__ */ jsx21(ClosedIconComponent, { className: "accordion-icon-closed" }),
|
|
29943
30087
|
OpenIconComponent && /* @__PURE__ */ jsx21(OpenIconComponent, { className: "accordion-icon-open" })
|
|
29944
30088
|
] })
|
|
@@ -29967,7 +30111,7 @@ function resolveNode(value) {
|
|
|
29967
30111
|
}
|
|
29968
30112
|
|
|
29969
30113
|
// ../blocks/src/system/runtime/nodes/header-section.server.tsx
|
|
29970
|
-
import { jsx as jsx22, jsxs as
|
|
30114
|
+
import { jsx as jsx22, jsxs as jsxs10 } from "react/jsx-runtime";
|
|
29971
30115
|
function hasShrinkClasses(className) {
|
|
29972
30116
|
return typeof className === "string" && className.includes("rb-header-shrink");
|
|
29973
30117
|
}
|
|
@@ -29975,16 +30119,21 @@ var HeaderSectionNode = ({
|
|
|
29975
30119
|
blockId,
|
|
29976
30120
|
children,
|
|
29977
30121
|
className,
|
|
30122
|
+
"data-preview-site-chrome-surface": previewSiteChromeSurface,
|
|
29978
30123
|
...rest
|
|
29979
30124
|
}) => {
|
|
29980
30125
|
const { wrapperClasses, sectionClasses } = splitPositioningClasses(className);
|
|
29981
|
-
const wrapperClassName =
|
|
30126
|
+
const wrapperClassName = [
|
|
30127
|
+
"block-site-header",
|
|
30128
|
+
wrapperClasses,
|
|
30129
|
+
previewSiteChromeSurface ? "group/site-chrome rb-relative" : ""
|
|
30130
|
+
].filter(Boolean).join(" ");
|
|
29982
30131
|
const asProp = rest.as;
|
|
29983
30132
|
const styleProp = rest.style;
|
|
29984
30133
|
const backgroundProp = typeof rest.background === "string" ? rest.background : void 0;
|
|
29985
30134
|
const allowOverflowProp = typeof rest.allowOverflow === "boolean" ? rest.allowOverflow : void 0;
|
|
29986
30135
|
const dataSlotProp = typeof rest["data-slot"] === "string" ? rest["data-slot"] : void 0;
|
|
29987
|
-
return /* @__PURE__ */
|
|
30136
|
+
return /* @__PURE__ */ jsxs10(
|
|
29988
30137
|
"nav",
|
|
29989
30138
|
{
|
|
29990
30139
|
...getIslandRootProps("headerSection", blockId),
|
|
@@ -29994,6 +30143,7 @@ var HeaderSectionNode = ({
|
|
|
29994
30143
|
"data-block": "site-header",
|
|
29995
30144
|
"data-block-kind": "block.site-header",
|
|
29996
30145
|
"data-block-id": blockId ?? void 0,
|
|
30146
|
+
"data-preview-site-chrome-surface": previewSiteChromeSurface,
|
|
29997
30147
|
children: [
|
|
29998
30148
|
/* @__PURE__ */ jsx22(IslandPropsScript, { value: { enabled: hasShrinkClasses(className) } }),
|
|
29999
30149
|
/* @__PURE__ */ jsx22(
|
|
@@ -30015,7 +30165,7 @@ var HeaderSectionNode = ({
|
|
|
30015
30165
|
var header_section_server_default = HeaderSectionNode;
|
|
30016
30166
|
|
|
30017
30167
|
// ../blocks/src/system/runtime/nodes/spinner.tsx
|
|
30018
|
-
import { jsx as jsx23, jsxs as
|
|
30168
|
+
import { jsx as jsx23, jsxs as jsxs11 } from "react/jsx-runtime";
|
|
30019
30169
|
function resolveColorStyle(color) {
|
|
30020
30170
|
switch (color) {
|
|
30021
30171
|
case "inherit":
|
|
@@ -30042,7 +30192,7 @@ function SpinnerNode({
|
|
|
30042
30192
|
const accessibilityProps = srLabel ? { role: "status", "aria-live": "polite" } : hasExplicitAriaLabel ? {} : { "aria-hidden": true };
|
|
30043
30193
|
const trackStroke = color === "inherit" ? "currentColor" : "var(--rb-spinner-track-color)";
|
|
30044
30194
|
const trackOpacity = color === "inherit" ? 0.25 : 1;
|
|
30045
|
-
return /* @__PURE__ */
|
|
30195
|
+
return /* @__PURE__ */ jsxs11(
|
|
30046
30196
|
"span",
|
|
30047
30197
|
{
|
|
30048
30198
|
...accessibilityProps,
|
|
@@ -30058,7 +30208,7 @@ function SpinnerNode({
|
|
|
30058
30208
|
},
|
|
30059
30209
|
...rest,
|
|
30060
30210
|
children: [
|
|
30061
|
-
/* @__PURE__ */
|
|
30211
|
+
/* @__PURE__ */ jsxs11("svg", { viewBox: "0 0 24 24", fill: "none", "aria-hidden": "true", children: [
|
|
30062
30212
|
/* @__PURE__ */ jsx23(
|
|
30063
30213
|
"circle",
|
|
30064
30214
|
{
|
|
@@ -30442,7 +30592,7 @@ function buildBookingFormInteractiveIslandProps(props2) {
|
|
|
30442
30592
|
}
|
|
30443
30593
|
|
|
30444
30594
|
// ../blocks/src/system/runtime/nodes/booking-form.server.tsx
|
|
30445
|
-
import { Fragment as Fragment2, jsx as jsx24, jsxs as
|
|
30595
|
+
import { Fragment as Fragment2, jsx as jsx24, jsxs as jsxs12 } from "react/jsx-runtime";
|
|
30446
30596
|
function BookingFormSSR({
|
|
30447
30597
|
blockId,
|
|
30448
30598
|
siteId,
|
|
@@ -30486,14 +30636,14 @@ function BookingFormSSR({
|
|
|
30486
30636
|
className
|
|
30487
30637
|
});
|
|
30488
30638
|
const display = islandProps.render.display;
|
|
30489
|
-
return /* @__PURE__ */
|
|
30639
|
+
return /* @__PURE__ */ jsxs12(
|
|
30490
30640
|
"div",
|
|
30491
30641
|
{
|
|
30492
30642
|
className: `booking-form-ssr ${className ?? ""}`.trim(),
|
|
30493
30643
|
...getIslandRootProps("booking-form", blockId),
|
|
30494
30644
|
children: [
|
|
30495
30645
|
/* @__PURE__ */ jsx24(IslandPropsScript, { value: islandProps }),
|
|
30496
|
-
/* @__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: [
|
|
30497
30647
|
/* @__PURE__ */ jsx24("strong", { children: display.submitLabel }),
|
|
30498
30648
|
display.successMessage ? /* @__PURE__ */ jsx24("p", { className: "booking-form-ssr__success", children: display.successMessage }) : null
|
|
30499
30649
|
] }) }),
|
|
@@ -30603,22 +30753,22 @@ function filterMembershipsForEvent(siteMemberships, event) {
|
|
|
30603
30753
|
}
|
|
30604
30754
|
|
|
30605
30755
|
// ../blocks/src/system/runtime/nodes/event-details/CoursePricingDisplay.tsx
|
|
30606
|
-
import { jsx as jsx25, jsxs as
|
|
30756
|
+
import { jsx as jsx25, jsxs as jsxs13 } from "react/jsx-runtime";
|
|
30607
30757
|
function CoursePricingDisplay({
|
|
30608
30758
|
pricing,
|
|
30609
30759
|
acceptedItems
|
|
30610
30760
|
}) {
|
|
30611
|
-
return /* @__PURE__ */
|
|
30761
|
+
return /* @__PURE__ */ jsxs13("div", { className: "rb-mt-6", children: [
|
|
30612
30762
|
/* @__PURE__ */ jsx25("div", { className: "rb-label rb-mb-2", children: pricing.selectableOptions.length > 1 ? "Pricing" : "Cost" }),
|
|
30613
|
-
pricing.selectableOptions.length > 1 ? /* @__PURE__ */ jsx25("div", { className: "rb-flex rb-flex-col rb-gap-2", children: pricing.selectableOptions.map((option) => /* @__PURE__ */
|
|
30614
|
-
/* @__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: [
|
|
30615
30765
|
option.name,
|
|
30616
30766
|
": ",
|
|
30617
30767
|
formatCoursePriceAmount(option.priceAmount, pricing.currency)
|
|
30618
30768
|
] }),
|
|
30619
30769
|
option.description ? /* @__PURE__ */ jsx25("p", { className: "rb-caption status-muted", children: option.description }) : null
|
|
30620
30770
|
] }, option.id)) }) : /* @__PURE__ */ jsx25("p", { children: /* @__PURE__ */ jsx25("strong", { children: formatCoursePriceDisplay(pricing.display) }) }),
|
|
30621
|
-
acceptedItems.length > 0 ? /* @__PURE__ */
|
|
30771
|
+
acceptedItems.length > 0 ? /* @__PURE__ */ jsxs13("p", { className: "rb-caption rb-mt-1", children: [
|
|
30622
30772
|
"You can also attend with: ",
|
|
30623
30773
|
acceptedItems.join(", ")
|
|
30624
30774
|
] }) : null
|
|
@@ -30626,7 +30776,7 @@ function CoursePricingDisplay({
|
|
|
30626
30776
|
}
|
|
30627
30777
|
|
|
30628
30778
|
// ../blocks/src/system/runtime/nodes/event-details/view.tsx
|
|
30629
|
-
import { Fragment as Fragment3, jsx as jsx26, jsxs as
|
|
30779
|
+
import { Fragment as Fragment3, jsx as jsx26, jsxs as jsxs14 } from "react/jsx-runtime";
|
|
30630
30780
|
function formatAutoApplyDiscountLine(preview, currency) {
|
|
30631
30781
|
const rate = preview.discountType === "percent" ? `${preview.discountPercent}% off` : `${formatCoursePriceAmount(preview.discountAmountCents, currency)} off`;
|
|
30632
30782
|
const label = preview.publicLabel.trim() || "Discount";
|
|
@@ -30677,10 +30827,10 @@ function EventDetailsView({
|
|
|
30677
30827
|
acceptedItems.push(...applicableMemberships.map((m) => m.name));
|
|
30678
30828
|
}
|
|
30679
30829
|
const hasAcceptedItems = acceptedItems.length > 0;
|
|
30680
|
-
return /* @__PURE__ */
|
|
30681
|
-
/* @__PURE__ */
|
|
30682
|
-
/* @__PURE__ */
|
|
30683
|
-
/* @__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: [
|
|
30684
30834
|
/* @__PURE__ */ jsx26("div", { className: "rb-label rb-mb-2", children: selection.mode === "next" ? "Next date" : "Date" }),
|
|
30685
30835
|
(() => {
|
|
30686
30836
|
const { date, timeRange } = formatEventDateParts({
|
|
@@ -30688,20 +30838,20 @@ function EventDetailsView({
|
|
|
30688
30838
|
endsAt: selected.endsAt,
|
|
30689
30839
|
timeZone: selection.timeZone
|
|
30690
30840
|
});
|
|
30691
|
-
return /* @__PURE__ */
|
|
30841
|
+
return /* @__PURE__ */ jsxs14(Fragment3, { children: [
|
|
30692
30842
|
/* @__PURE__ */ jsx26("p", { children: /* @__PURE__ */ jsx26("strong", { children: date }) }),
|
|
30693
30843
|
/* @__PURE__ */ jsx26("p", { className: "rb-caption", children: timeRange })
|
|
30694
30844
|
] });
|
|
30695
30845
|
})()
|
|
30696
30846
|
] }),
|
|
30697
|
-
venue ? /* @__PURE__ */
|
|
30847
|
+
venue ? /* @__PURE__ */ jsxs14("div", { className: "rb-mt-6", children: [
|
|
30698
30848
|
/* @__PURE__ */ jsx26("div", { className: "rb-label rb-mb-2", children: "Venue" }),
|
|
30699
30849
|
/* @__PURE__ */ jsx26("p", { children: /* @__PURE__ */ jsx26("strong", { children: venue.name }) }),
|
|
30700
30850
|
venue.address ? /* @__PURE__ */ jsx26("p", { className: "rb-caption", children: venue.address }) : null
|
|
30701
30851
|
] }) : null,
|
|
30702
|
-
teamMembers.length > 0 ? /* @__PURE__ */
|
|
30852
|
+
teamMembers.length > 0 ? /* @__PURE__ */ jsxs14("div", { className: "rb-mt-6", children: [
|
|
30703
30853
|
/* @__PURE__ */ jsx26("div", { className: "rb-label rb-mb-2", children: "Team members" }),
|
|
30704
|
-
/* @__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: [
|
|
30705
30855
|
/* @__PURE__ */ jsx26("p", { children: /* @__PURE__ */ jsx26(
|
|
30706
30856
|
TeamMemberName,
|
|
30707
30857
|
{
|
|
@@ -30712,7 +30862,7 @@ function EventDetailsView({
|
|
|
30712
30862
|
teamMember.summary ? /* @__PURE__ */ jsx26("p", { className: "rb-caption status-muted", children: teamMember.summary }) : null
|
|
30713
30863
|
] }, teamMember.id)) })
|
|
30714
30864
|
] }) : null,
|
|
30715
|
-
isDropIn ? /* @__PURE__ */
|
|
30865
|
+
isDropIn ? /* @__PURE__ */ jsxs14("div", { className: "rb-mt-6", children: [
|
|
30716
30866
|
/* @__PURE__ */ jsx26("div", { className: "rb-label rb-mb-2", children: "Registration" }),
|
|
30717
30867
|
/* @__PURE__ */ jsx26("p", { className: "rb-caption status-muted", children: "No registration required - just show up" })
|
|
30718
30868
|
] }) : shouldShowCoursePricing ? /* @__PURE__ */ jsx26(
|
|
@@ -30721,22 +30871,22 @@ function EventDetailsView({
|
|
|
30721
30871
|
pricing: coursePricing,
|
|
30722
30872
|
acceptedItems
|
|
30723
30873
|
}
|
|
30724
|
-
) : shouldShowEventCost ? /* @__PURE__ */
|
|
30874
|
+
) : shouldShowEventCost ? /* @__PURE__ */ jsxs14("div", { className: "rb-mt-6", children: [
|
|
30725
30875
|
/* @__PURE__ */ jsx26("div", { className: "rb-label rb-mb-2", children: "Cost" }),
|
|
30726
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" }),
|
|
30727
30877
|
autoApplyDiscount ? /* @__PURE__ */ jsx26("p", { className: "rb-caption rb-mt-1", children: formatAutoApplyDiscountLine(autoApplyDiscount, selected.currency ?? "USD") }) : null,
|
|
30728
|
-
hasAcceptedItems ? /* @__PURE__ */
|
|
30878
|
+
hasAcceptedItems ? /* @__PURE__ */ jsxs14("p", { className: "rb-caption rb-mt-1", children: [
|
|
30729
30879
|
"You can also attend with: ",
|
|
30730
30880
|
acceptedItems.join(", ")
|
|
30731
30881
|
] }) : null
|
|
30732
|
-
] }) : 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: [
|
|
30733
30883
|
"You can also attend with: ",
|
|
30734
30884
|
acceptedItems.join(", ")
|
|
30735
30885
|
] }) }) : null
|
|
30736
30886
|
] }),
|
|
30737
30887
|
showMap && renderVenueMap && venue?.location ? /* @__PURE__ */ jsx26(Fragment3, { children: renderVenueMap({ venueName: venue.name, location: venue.location, className: mapClassName, height: mapHeight }) }) : null
|
|
30738
30888
|
] }),
|
|
30739
|
-
showOtherDates && selection.otherDates.length > 0 ? /* @__PURE__ */
|
|
30889
|
+
showOtherDates && selection.otherDates.length > 0 ? /* @__PURE__ */ jsxs14("div", { children: [
|
|
30740
30890
|
/* @__PURE__ */ jsx26("div", { className: "rb-label", children: "Other dates" }),
|
|
30741
30891
|
/* @__PURE__ */ jsx26("div", { className: "rb-mt-2 rb-tiles-grid", children: selection.otherDates.map((e) => /* @__PURE__ */ jsx26(
|
|
30742
30892
|
"a",
|
|
@@ -30759,7 +30909,7 @@ function EventDetailsView({
|
|
|
30759
30909
|
}
|
|
30760
30910
|
|
|
30761
30911
|
// ../blocks/src/system/runtime/nodes/event-details.server.tsx
|
|
30762
|
-
import { jsx as jsx27, jsxs as
|
|
30912
|
+
import { jsx as jsx27, jsxs as jsxs15 } from "react/jsx-runtime";
|
|
30763
30913
|
function EventDetailsSSR({
|
|
30764
30914
|
blockId,
|
|
30765
30915
|
occurrenceContext,
|
|
@@ -30788,7 +30938,7 @@ function EventDetailsSSR({
|
|
|
30788
30938
|
const membershipsArray = siteMemberships?.memberships ?? null;
|
|
30789
30939
|
const applicablePasses = filterPassesForEvent(passesArray, selection.selected);
|
|
30790
30940
|
const applicableMemberships = filterMembershipsForEvent(membershipsArray, selection.selected);
|
|
30791
|
-
return /* @__PURE__ */
|
|
30941
|
+
return /* @__PURE__ */ jsxs15(
|
|
30792
30942
|
"div",
|
|
30793
30943
|
{
|
|
30794
30944
|
className: `event-details ${className ?? ""}`.trim(),
|
|
@@ -30854,7 +31004,7 @@ function EventDetailsSSR({
|
|
|
30854
31004
|
var event_details_server_default = EventDetailsSSR;
|
|
30855
31005
|
|
|
30856
31006
|
// ../blocks/src/system/runtime/nodes/location-map.view.tsx
|
|
30857
|
-
import { jsx as jsx28, jsxs as
|
|
31007
|
+
import { jsx as jsx28, jsxs as jsxs16 } from "react/jsx-runtime";
|
|
30858
31008
|
function LocationMapView({
|
|
30859
31009
|
addressText,
|
|
30860
31010
|
location: location2,
|
|
@@ -30870,7 +31020,7 @@ function LocationMapView({
|
|
|
30870
31020
|
if (!location2 && !addressText && !directionsUrl) {
|
|
30871
31021
|
return /* @__PURE__ */ jsx28("p", { className: "rb-caption", style: textColorStyle("mutedText"), children: unresolvedMessage ?? "Location details coming soon." });
|
|
30872
31022
|
}
|
|
30873
|
-
return /* @__PURE__ */
|
|
31023
|
+
return /* @__PURE__ */ jsxs16("div", { className: "rb-flex rb-flex-col rb-gap-4 rb-text-left", children: [
|
|
30874
31024
|
location2 && renderMap ? renderMap({
|
|
30875
31025
|
addressText,
|
|
30876
31026
|
location: location2,
|
|
@@ -30898,11 +31048,11 @@ function LocationMapView({
|
|
|
30898
31048
|
}
|
|
30899
31049
|
|
|
30900
31050
|
// ../blocks/src/system/runtime/nodes/location-map.server.tsx
|
|
30901
|
-
import { jsx as jsx29, jsxs as
|
|
31051
|
+
import { jsx as jsx29, jsxs as jsxs17 } from "react/jsx-runtime";
|
|
30902
31052
|
function LocationMapSSR(props2) {
|
|
30903
31053
|
const normalized = normalizeLocationMapProps(props2);
|
|
30904
31054
|
const hydrationProps = toLocationMapHydrationProps(props2);
|
|
30905
|
-
return /* @__PURE__ */
|
|
31055
|
+
return /* @__PURE__ */ jsxs17(
|
|
30906
31056
|
"div",
|
|
30907
31057
|
{
|
|
30908
31058
|
className: `location-map ${normalized.className ?? ""}`.trim(),
|
|
@@ -31057,7 +31207,7 @@ function formatCourseDateRange(range) {
|
|
|
31057
31207
|
}
|
|
31058
31208
|
|
|
31059
31209
|
// ../blocks/src/system/runtime/nodes/course-details/view.tsx
|
|
31060
|
-
import { jsx as jsx30, jsxs as
|
|
31210
|
+
import { jsx as jsx30, jsxs as jsxs18 } from "react/jsx-runtime";
|
|
31061
31211
|
function TeamMemberName2({
|
|
31062
31212
|
name,
|
|
31063
31213
|
profilePath
|
|
@@ -31092,14 +31242,14 @@ function CourseDetailsView(props2) {
|
|
|
31092
31242
|
const hasMoreSessions = sessionLimit !== "all" && sortedSessions.length > sessionLimit;
|
|
31093
31243
|
const descriptionDoc = showDescription ? coerceRichTextDoc(course.description) : null;
|
|
31094
31244
|
const teamMembers = course.teamMembers ?? [];
|
|
31095
|
-
return /* @__PURE__ */
|
|
31245
|
+
return /* @__PURE__ */ jsxs18("div", { className: "rb-flex rb-flex-col rb-gap-6", children: [
|
|
31096
31246
|
showTitle && /* @__PURE__ */ jsx30("h3", { children: course.title }),
|
|
31097
|
-
/* @__PURE__ */
|
|
31098
|
-
/* @__PURE__ */
|
|
31099
|
-
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: [
|
|
31100
31250
|
/* @__PURE__ */ jsx30("div", { className: "rb-label rb-mb-2", children: pricing.selectableOptions.length > 0 ? "Pricing" : "Price" }),
|
|
31101
|
-
pricing.selectableOptions.length > 1 ? /* @__PURE__ */ jsx30("div", { className: "rb-flex rb-flex-col rb-gap-2", children: pricing.selectableOptions.map((option) => /* @__PURE__ */
|
|
31102
|
-
/* @__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: [
|
|
31103
31253
|
option.name,
|
|
31104
31254
|
": ",
|
|
31105
31255
|
formatCoursePriceAmount(
|
|
@@ -31110,17 +31260,17 @@ function CourseDetailsView(props2) {
|
|
|
31110
31260
|
option.description ? /* @__PURE__ */ jsx30("p", { className: "rb-caption status-muted", children: option.description }) : null
|
|
31111
31261
|
] }, option.id)) }) : /* @__PURE__ */ jsx30("div", { children: /* @__PURE__ */ jsx30("strong", { children: formatCoursePriceDisplay(pricing.display) }) })
|
|
31112
31262
|
] }),
|
|
31113
|
-
showCapacity && /* @__PURE__ */
|
|
31263
|
+
showCapacity && /* @__PURE__ */ jsxs18("div", { children: [
|
|
31114
31264
|
/* @__PURE__ */ jsx30("div", { className: "rb-label rb-mb-2", children: "Spots" }),
|
|
31115
31265
|
/* @__PURE__ */ jsx30("div", { children: /* @__PURE__ */ jsx30("strong", { children: course.enrollmentCapacity === null ? "Unlimited" : `${course.availableSpots ?? Math.max(0, course.enrollmentCapacity - course.enrolledCount)} left` }) })
|
|
31116
31266
|
] }),
|
|
31117
|
-
showMembershipNote && course.acceptsMemberships && /* @__PURE__ */
|
|
31267
|
+
showMembershipNote && course.acceptsMemberships && /* @__PURE__ */ jsxs18("div", { children: [
|
|
31118
31268
|
/* @__PURE__ */ jsx30("div", { className: "rb-label rb-mb-2", children: "Membership" }),
|
|
31119
31269
|
/* @__PURE__ */ jsx30("p", { className: "rb-caption status-muted", children: "Eligible memberships can be used for free enrollment" })
|
|
31120
31270
|
] }),
|
|
31121
|
-
teamMembers.length > 0 && /* @__PURE__ */
|
|
31271
|
+
teamMembers.length > 0 && /* @__PURE__ */ jsxs18("div", { children: [
|
|
31122
31272
|
/* @__PURE__ */ jsx30("div", { className: "rb-label rb-mb-2", children: "Team members" }),
|
|
31123
|
-
/* @__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: [
|
|
31124
31274
|
/* @__PURE__ */ jsx30("p", { children: /* @__PURE__ */ jsx30(
|
|
31125
31275
|
TeamMemberName2,
|
|
31126
31276
|
{
|
|
@@ -31132,23 +31282,23 @@ function CourseDetailsView(props2) {
|
|
|
31132
31282
|
] }, teamMember.id)) })
|
|
31133
31283
|
] })
|
|
31134
31284
|
] }),
|
|
31135
|
-
/* @__PURE__ */
|
|
31136
|
-
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: [
|
|
31137
31287
|
/* @__PURE__ */ jsx30("div", { className: "rb-label rb-mb-2", children: "Venue" }),
|
|
31138
31288
|
/* @__PURE__ */ jsx30("h3", { children: course.venue.name }),
|
|
31139
31289
|
course.venue.address && /* @__PURE__ */ jsx30("p", { className: "rb-caption status-muted", children: course.venue.address })
|
|
31140
31290
|
] }),
|
|
31141
|
-
showEnrollmentStatus && /* @__PURE__ */
|
|
31291
|
+
showEnrollmentStatus && /* @__PURE__ */ jsxs18("div", { children: [
|
|
31142
31292
|
/* @__PURE__ */ jsx30("div", { className: "rb-label rb-mb-2", children: "Enrollment" }),
|
|
31143
31293
|
/* @__PURE__ */ jsx30("p", { className: course.enrollmentOpen ? "cd-enrollment--open" : "cd-enrollment--closed", children: /* @__PURE__ */ jsx30("strong", { children: course.enrollmentOpen ? "Open" : "Closed" }) })
|
|
31144
31294
|
] })
|
|
31145
31295
|
] })
|
|
31146
31296
|
] }),
|
|
31147
31297
|
descriptionDoc && /* @__PURE__ */ jsx30("div", { className: "cd-description", children: /* @__PURE__ */ jsx30(RichText, { doc: descriptionDoc }) }),
|
|
31148
|
-
showSessions && visibleSessions.length > 0 && /* @__PURE__ */
|
|
31298
|
+
showSessions && visibleSessions.length > 0 && /* @__PURE__ */ jsxs18("div", { children: [
|
|
31149
31299
|
/* @__PURE__ */ jsx30("div", { className: "rb-label", children: "Sessions" }),
|
|
31150
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)) }),
|
|
31151
|
-
hasMoreSessions && /* @__PURE__ */
|
|
31301
|
+
hasMoreSessions && /* @__PURE__ */ jsxs18("p", { className: "cd-sessions__more", children: [
|
|
31152
31302
|
"Showing ",
|
|
31153
31303
|
visibleSessions.length,
|
|
31154
31304
|
" of ",
|
|
@@ -31160,7 +31310,7 @@ function CourseDetailsView(props2) {
|
|
|
31160
31310
|
}
|
|
31161
31311
|
|
|
31162
31312
|
// ../blocks/src/system/runtime/nodes/course-details.server.tsx
|
|
31163
|
-
import { jsx as jsx31, jsxs as
|
|
31313
|
+
import { jsx as jsx31, jsxs as jsxs19 } from "react/jsx-runtime";
|
|
31164
31314
|
function CourseDetailsSSR({
|
|
31165
31315
|
courses,
|
|
31166
31316
|
contentEntry,
|
|
@@ -31198,7 +31348,7 @@ function CourseDetailsSSR({
|
|
|
31198
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));
|
|
31199
31349
|
const lastPastRun = pastRuns[0] ?? null;
|
|
31200
31350
|
const nonPastRuns = scopedSorted.filter(({ range }) => !(range.end && range.end <= now));
|
|
31201
|
-
return /* @__PURE__ */
|
|
31351
|
+
return /* @__PURE__ */ jsxs19("div", { className: `course-details ${className ?? ""}`.trim(), "data-block": "course-details", children: [
|
|
31202
31352
|
selection.selected ? /* @__PURE__ */ jsx31(
|
|
31203
31353
|
CourseDetailsView,
|
|
31204
31354
|
{
|
|
@@ -31213,8 +31363,8 @@ function CourseDetailsSSR({
|
|
|
31213
31363
|
showEnrollmentStatus,
|
|
31214
31364
|
showMembershipNote
|
|
31215
31365
|
}
|
|
31216
|
-
) : selection.scoped.length > 0 ? /* @__PURE__ */
|
|
31217
|
-
/* @__PURE__ */
|
|
31366
|
+
) : selection.scoped.length > 0 ? /* @__PURE__ */ jsxs19("div", { className: "rb-flex rb-flex-col rb-gap-3", children: [
|
|
31367
|
+
/* @__PURE__ */ jsxs19("div", { children: [
|
|
31218
31368
|
/* @__PURE__ */ jsx31("div", { className: "rb-label rb-mb-2", children: "Upcoming runs" }),
|
|
31219
31369
|
/* @__PURE__ */ jsx31("p", { className: "rb-caption status-muted", children: "Choose a run to see sessions and details." })
|
|
31220
31370
|
] }),
|
|
@@ -31223,15 +31373,15 @@ function CourseDetailsSSR({
|
|
|
31223
31373
|
const end = range.end;
|
|
31224
31374
|
const isInProgress = Boolean(start && end && start <= now && end > now);
|
|
31225
31375
|
const href = basePath ? `${basePath.replace(/\/$/, "")}/${course.slug}` : null;
|
|
31226
|
-
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__ */
|
|
31227
|
-
/* @__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: [
|
|
31228
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 }) }),
|
|
31229
31379
|
/* @__PURE__ */ jsx31("div", { className: "rb-caption status-muted", children: formatCourseDateRange(range) })
|
|
31230
31380
|
] }),
|
|
31231
31381
|
/* @__PURE__ */ jsx31("div", { className: "rb-caption status-muted rb-shrink-0", children: course.enrollmentOpen ? "Enrollment open" : isInProgress ? "Currently in progress" : "Enrollment closed" })
|
|
31232
31382
|
] }) }) }, course.id);
|
|
31233
31383
|
}) }) : /* @__PURE__ */ jsx31("p", { className: "rb-caption status-muted", children: "No upcoming runs." }),
|
|
31234
|
-
lastPastRun ? /* @__PURE__ */
|
|
31384
|
+
lastPastRun ? /* @__PURE__ */ jsxs19("div", { className: "rb-caption status-muted", children: [
|
|
31235
31385
|
"Last run: ",
|
|
31236
31386
|
/* @__PURE__ */ jsx31("strong", { children: lastPastRun.course.title }),
|
|
31237
31387
|
" (",
|
|
@@ -31259,14 +31409,14 @@ function CourseDetailsSSR({
|
|
|
31259
31409
|
var course_details_server_default = CourseDetailsSSR;
|
|
31260
31410
|
|
|
31261
31411
|
// ../blocks/src/system/runtime/nodes/events/EventSpotlight.tsx
|
|
31262
|
-
import { jsx as jsx32, jsxs as
|
|
31412
|
+
import { jsx as jsx32, jsxs as jsxs20 } from "react/jsx-runtime";
|
|
31263
31413
|
var EventSpotlight = ({
|
|
31264
31414
|
events,
|
|
31265
31415
|
layout = "grid",
|
|
31266
31416
|
columns = "3",
|
|
31267
31417
|
cardVariant = "default",
|
|
31268
31418
|
buttonVariant = "primary",
|
|
31269
|
-
buttonText = "
|
|
31419
|
+
buttonText = "Book now",
|
|
31270
31420
|
ctaLabel,
|
|
31271
31421
|
ctaUrl,
|
|
31272
31422
|
showVenue = true,
|
|
@@ -31282,7 +31432,7 @@ var EventSpotlight = ({
|
|
|
31282
31432
|
const containerClass = getContainerClass(layout, columns);
|
|
31283
31433
|
const cardOrientation = getCardOrientation(layout);
|
|
31284
31434
|
const buttonClass = themeButtonClassName({ variant: buttonVariant, size: "md" });
|
|
31285
|
-
return /* @__PURE__ */
|
|
31435
|
+
return /* @__PURE__ */ jsxs20("div", { className: `event-spotlight-section ${className || ""}`, "data-block": "event-spotlight", children: [
|
|
31286
31436
|
/* @__PURE__ */ jsx32("div", { className: `event-spotlight ${containerClass}`, children: normalizedEvents.map((event) => /* @__PURE__ */ jsx32(
|
|
31287
31437
|
EventCard,
|
|
31288
31438
|
{
|
|
@@ -31420,7 +31570,7 @@ function buildEventCombinedDisplay(source) {
|
|
|
31420
31570
|
showMap: source.showMap ?? true,
|
|
31421
31571
|
showCapacity: source.showCapacity ?? true,
|
|
31422
31572
|
buttonVariant: source.buttonVariant ?? "primary",
|
|
31423
|
-
buttonText: source.buttonText ?? "
|
|
31573
|
+
buttonText: source.buttonText ?? "Book now",
|
|
31424
31574
|
emptyMessage: source.emptyMessage ?? "No upcoming events scheduled."
|
|
31425
31575
|
};
|
|
31426
31576
|
}
|
|
@@ -31521,7 +31671,7 @@ function renderEventListItem(event, display) {
|
|
|
31521
31671
|
}
|
|
31522
31672
|
|
|
31523
31673
|
// ../blocks/src/system/runtime/nodes/events/EventCombined.server.tsx
|
|
31524
|
-
import { jsx as jsx34, jsxs as
|
|
31674
|
+
import { jsx as jsx34, jsxs as jsxs21 } from "react/jsx-runtime";
|
|
31525
31675
|
var EventCombinedSSR = ({
|
|
31526
31676
|
blockId,
|
|
31527
31677
|
...source
|
|
@@ -31530,7 +31680,7 @@ var EventCombinedSSR = ({
|
|
|
31530
31680
|
const listDisplay = buildEventCombinedListingDisplay(render);
|
|
31531
31681
|
const islandProps = buildEventCombinedInteractiveIslandProps(source);
|
|
31532
31682
|
const ssrEmptyMessage = render.hydration.prefetchedEvents ? render.display.emptyMessage : listDisplay.loadingMessage;
|
|
31533
|
-
return /* @__PURE__ */
|
|
31683
|
+
return /* @__PURE__ */ jsxs21(
|
|
31534
31684
|
"div",
|
|
31535
31685
|
{
|
|
31536
31686
|
className: `event-combined ${render.display.className || ""}`,
|
|
@@ -31538,7 +31688,7 @@ var EventCombinedSSR = ({
|
|
|
31538
31688
|
...getIslandRootProps("event-combined", blockId),
|
|
31539
31689
|
children: [
|
|
31540
31690
|
/* @__PURE__ */ jsx34(IslandPropsScript, { value: islandProps }),
|
|
31541
|
-
/* @__PURE__ */
|
|
31691
|
+
/* @__PURE__ */ jsxs21("div", { className: "nav-tabs", role: "tablist", children: [
|
|
31542
31692
|
/* @__PURE__ */ jsx34(
|
|
31543
31693
|
"button",
|
|
31544
31694
|
{
|
|
@@ -31567,7 +31717,7 @@ var EventCombinedSSR = ({
|
|
|
31567
31717
|
};
|
|
31568
31718
|
|
|
31569
31719
|
// ../blocks/src/system/runtime/nodes/commerce/shared/view.tsx
|
|
31570
|
-
import { Fragment as Fragment4, jsx as jsx35, jsxs as
|
|
31720
|
+
import { Fragment as Fragment4, jsx as jsx35, jsxs as jsxs22 } from "react/jsx-runtime";
|
|
31571
31721
|
function ProductBadgesView({ badges }) {
|
|
31572
31722
|
if (badges.length === 0) return null;
|
|
31573
31723
|
return /* @__PURE__ */ jsx35("div", { className: "rb-flex rb-flex-wrap rb-gap-2", children: badges.map((badge) => /* @__PURE__ */ jsx35(
|
|
@@ -31582,7 +31732,7 @@ function ProductBadgesView({ badges }) {
|
|
|
31582
31732
|
function VariantSelectView(props2) {
|
|
31583
31733
|
const { options, selectedVariantId, disabled = false, onChange } = props2;
|
|
31584
31734
|
if (options.length === 0) return null;
|
|
31585
|
-
return /* @__PURE__ */
|
|
31735
|
+
return /* @__PURE__ */ jsxs22("label", { className: "rb-flex rb-flex-col rb-gap-1", children: [
|
|
31586
31736
|
/* @__PURE__ */ jsx35("span", { className: "rb-label", children: "Variant" }),
|
|
31587
31737
|
/* @__PURE__ */ jsx35(
|
|
31588
31738
|
"select",
|
|
@@ -31591,7 +31741,7 @@ function VariantSelectView(props2) {
|
|
|
31591
31741
|
value: selectedVariantId ?? "",
|
|
31592
31742
|
disabled,
|
|
31593
31743
|
onChange: onChange ? (event) => onChange(event.target.value || null) : void 0,
|
|
31594
|
-
children: options.map((variant) => /* @__PURE__ */
|
|
31744
|
+
children: options.map((variant) => /* @__PURE__ */ jsxs22("option", { value: variant.id, children: [
|
|
31595
31745
|
variant.label,
|
|
31596
31746
|
" ",
|
|
31597
31747
|
variant.soldOut ? "(Sold out)" : ""
|
|
@@ -31602,12 +31752,12 @@ function VariantSelectView(props2) {
|
|
|
31602
31752
|
}
|
|
31603
31753
|
function ProductCardView(props2) {
|
|
31604
31754
|
const { display, layout, variantControl, actions, feedback } = props2;
|
|
31605
|
-
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: [
|
|
31606
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,
|
|
31607
|
-
/* @__PURE__ */
|
|
31608
|
-
/* @__PURE__ */
|
|
31609
|
-
/* @__PURE__ */
|
|
31610
|
-
/* @__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: [
|
|
31611
31761
|
display.path ? /* @__PURE__ */ jsx35("a", { href: display.path, children: /* @__PURE__ */ jsx35("h3", { children: display.title }) }) : /* @__PURE__ */ jsx35("h3", { children: display.title }),
|
|
31612
31762
|
display.summary ? /* @__PURE__ */ jsx35("p", { className: "rb-caption status-muted", children: display.summary }) : null
|
|
31613
31763
|
] }),
|
|
@@ -31624,7 +31774,7 @@ function ProductCardView(props2) {
|
|
|
31624
31774
|
}
|
|
31625
31775
|
function ProductListSectionView(props2) {
|
|
31626
31776
|
const { display, children } = props2;
|
|
31627
|
-
return /* @__PURE__ */
|
|
31777
|
+
return /* @__PURE__ */ jsxs22("div", { className: `shop shop--product-list ${display.className ?? ""}`.trim(), "data-block": "shop", children: [
|
|
31628
31778
|
display.heading ? /* @__PURE__ */ jsx35("h2", { children: display.heading }) : null,
|
|
31629
31779
|
display.state === "empty" ? /* @__PURE__ */ jsx35("p", { className: "rb-caption status-muted", children: display.emptyMessage }) : /* @__PURE__ */ jsx35(
|
|
31630
31780
|
"div",
|
|
@@ -31641,18 +31791,18 @@ function ProductDetailView(props2) {
|
|
|
31641
31791
|
if (display.state === "empty") {
|
|
31642
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 }) });
|
|
31643
31793
|
}
|
|
31644
|
-
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: [
|
|
31645
31795
|
/* @__PURE__ */ jsx35("div", { className: "rb-flex rb-flex-col rb-gap-4", children: gallery }),
|
|
31646
|
-
/* @__PURE__ */
|
|
31796
|
+
/* @__PURE__ */ jsxs22("div", { className: "rb-flex rb-flex-col rb-gap-4", children: [
|
|
31647
31797
|
display.heading ? /* @__PURE__ */ jsx35("p", { className: "rb-label", children: display.heading }) : null,
|
|
31648
|
-
/* @__PURE__ */
|
|
31798
|
+
/* @__PURE__ */ jsxs22("div", { children: [
|
|
31649
31799
|
/* @__PURE__ */ jsx35("h2", { children: display.title }),
|
|
31650
31800
|
/* @__PURE__ */ jsx35("div", { className: "rb-mt-2", children: /* @__PURE__ */ jsx35("strong", { children: display.priceLabel }) })
|
|
31651
31801
|
] }),
|
|
31652
31802
|
/* @__PURE__ */ jsx35(ProductBadgesView, { badges: display.badges }),
|
|
31653
31803
|
display.summary ? /* @__PURE__ */ jsx35("p", { className: "rb-caption status-muted", children: display.summary }) : null,
|
|
31654
31804
|
variantControl,
|
|
31655
|
-
/* @__PURE__ */
|
|
31805
|
+
/* @__PURE__ */ jsxs22("div", { className: "rb-flex rb-items-center rb-gap-3", children: [
|
|
31656
31806
|
actions,
|
|
31657
31807
|
display.categoryLabel ? /* @__PURE__ */ jsx35("span", { className: "rb-caption status-muted", children: display.categoryLabel }) : null
|
|
31658
31808
|
] }),
|
|
@@ -31678,15 +31828,15 @@ function ProductGalleryFrameView(props2) {
|
|
|
31678
31828
|
return /* @__PURE__ */ jsx35(Fragment4, { children: renderCarousel(slides) });
|
|
31679
31829
|
}
|
|
31680
31830
|
function PassCardView(props2) {
|
|
31681
|
-
return /* @__PURE__ */
|
|
31682
|
-
/* @__PURE__ */
|
|
31831
|
+
return /* @__PURE__ */ jsxs22("article", { className: "shop__card shop__card--pass", children: [
|
|
31832
|
+
/* @__PURE__ */ jsxs22("div", { className: "shop__card-header", children: [
|
|
31683
31833
|
/* @__PURE__ */ jsx35("h4", { className: "shop__card-name", children: props2.display.title }),
|
|
31684
31834
|
/* @__PURE__ */ jsx35("div", { className: "shop__card-price", children: props2.display.priceLabel })
|
|
31685
31835
|
] }),
|
|
31686
31836
|
props2.display.description ? /* @__PURE__ */ jsx35("p", { className: "shop__card-description", children: props2.display.description }) : null,
|
|
31687
|
-
/* @__PURE__ */
|
|
31837
|
+
/* @__PURE__ */ jsxs22("div", { className: "shop__card-details", children: [
|
|
31688
31838
|
/* @__PURE__ */ jsx35("span", { className: "shop__card-credits", children: props2.display.creditsLabel }),
|
|
31689
|
-
props2.display.perCreditLabel ? /* @__PURE__ */
|
|
31839
|
+
props2.display.perCreditLabel ? /* @__PURE__ */ jsxs22("span", { className: "shop__card-per-credit", children: [
|
|
31690
31840
|
"(",
|
|
31691
31841
|
props2.display.perCreditLabel,
|
|
31692
31842
|
")"
|
|
@@ -31698,10 +31848,10 @@ function PassCardView(props2) {
|
|
|
31698
31848
|
] });
|
|
31699
31849
|
}
|
|
31700
31850
|
function MembershipCardView(props2) {
|
|
31701
|
-
return /* @__PURE__ */
|
|
31702
|
-
/* @__PURE__ */
|
|
31851
|
+
return /* @__PURE__ */ jsxs22("article", { className: "shop__card shop__card--membership", children: [
|
|
31852
|
+
/* @__PURE__ */ jsxs22("div", { className: "shop__card-header", children: [
|
|
31703
31853
|
/* @__PURE__ */ jsx35("h4", { className: "shop__card-name", children: props2.display.title }),
|
|
31704
|
-
/* @__PURE__ */
|
|
31854
|
+
/* @__PURE__ */ jsxs22("div", { className: "shop__card-price", children: [
|
|
31705
31855
|
props2.display.priceLabel,
|
|
31706
31856
|
/* @__PURE__ */ jsx35("span", { className: "shop__card-interval", children: props2.display.intervalLabel })
|
|
31707
31857
|
] })
|
|
@@ -31715,7 +31865,7 @@ function PassesMembershipsSectionView(props2) {
|
|
|
31715
31865
|
const { display, beforeContent, passCards, membershipCards } = props2;
|
|
31716
31866
|
const productsClass = `shop__products shop__products--${display.layout}`;
|
|
31717
31867
|
const gridStyle = display.state === "ready" ? { "--shop-columns": display.columns } : void 0;
|
|
31718
|
-
return /* @__PURE__ */
|
|
31868
|
+
return /* @__PURE__ */ jsxs22(
|
|
31719
31869
|
"div",
|
|
31720
31870
|
{
|
|
31721
31871
|
className: `shop ${display.state === "ready" ? `shop--${display.layout}` : "shop--empty"} ${display.className ?? ""}`.trim(),
|
|
@@ -31725,11 +31875,11 @@ function PassesMembershipsSectionView(props2) {
|
|
|
31725
31875
|
children: [
|
|
31726
31876
|
beforeContent,
|
|
31727
31877
|
display.state === "empty" ? /* @__PURE__ */ jsx35("p", { className: "shop__empty-text", children: display.emptyMessage }) : null,
|
|
31728
|
-
display.passes.length > 0 ? /* @__PURE__ */
|
|
31878
|
+
display.passes.length > 0 ? /* @__PURE__ */ jsxs22("section", { className: "shop__section shop__section--passes", children: [
|
|
31729
31879
|
/* @__PURE__ */ jsx35("h3", { className: "shop__section-heading", children: display.passesHeading }),
|
|
31730
31880
|
/* @__PURE__ */ jsx35("div", { className: productsClass, children: passCards })
|
|
31731
31881
|
] }) : null,
|
|
31732
|
-
display.memberships.length > 0 ? /* @__PURE__ */
|
|
31882
|
+
display.memberships.length > 0 ? /* @__PURE__ */ jsxs22("section", { className: "shop__section shop__section--memberships", children: [
|
|
31733
31883
|
/* @__PURE__ */ jsx35("h3", { className: "shop__section-heading", children: display.membershipsHeading }),
|
|
31734
31884
|
/* @__PURE__ */ jsx35("div", { className: productsClass, children: membershipCards })
|
|
31735
31885
|
] }) : null
|
|
@@ -31739,21 +31889,21 @@ function PassesMembershipsSectionView(props2) {
|
|
|
31739
31889
|
}
|
|
31740
31890
|
function CartShellView(props2) {
|
|
31741
31891
|
const { display, renderControls, footerActions } = props2;
|
|
31742
|
-
return /* @__PURE__ */
|
|
31892
|
+
return /* @__PURE__ */ jsxs22("div", { className: `shop shop--cart ${display.className ?? ""}`.trim(), "data-block": "shop", id: "shop-cart", children: [
|
|
31743
31893
|
display.heading ? /* @__PURE__ */ jsx35("h2", { children: display.heading }) : null,
|
|
31744
|
-
display.state === "empty" ? /* @__PURE__ */
|
|
31894
|
+
display.state === "empty" ? /* @__PURE__ */ jsxs22("div", { className: "rb-flex rb-flex-col rb-gap-2", children: [
|
|
31745
31895
|
/* @__PURE__ */ jsx35("p", { className: "rb-caption status-muted", children: display.emptyMessage }),
|
|
31746
31896
|
display.supportText ? /* @__PURE__ */ jsx35("p", { className: "rb-caption status-muted", children: display.supportText }) : null
|
|
31747
|
-
] }) : /* @__PURE__ */
|
|
31748
|
-
/* @__PURE__ */ jsx35("div", { className: "rb-flex rb-flex-col rb-gap-3", children: display.items.map((item) => /* @__PURE__ */
|
|
31749
|
-
/* @__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: [
|
|
31750
31900
|
/* @__PURE__ */ jsx35("strong", { children: item.title }),
|
|
31751
31901
|
/* @__PURE__ */ jsx35("span", { className: "rb-caption status-muted", children: item.priceLabel })
|
|
31752
31902
|
] }),
|
|
31753
31903
|
/* @__PURE__ */ jsx35("div", { className: "rb-flex rb-items-center rb-gap-2", children: renderControls ? renderControls(item) : null })
|
|
31754
31904
|
] }, item.key)) }),
|
|
31755
|
-
/* @__PURE__ */
|
|
31756
|
-
/* @__PURE__ */
|
|
31905
|
+
/* @__PURE__ */ jsxs22("div", { className: "rb-flex rb-items-center rb-justify-between rb-gap-4", children: [
|
|
31906
|
+
/* @__PURE__ */ jsxs22("div", { children: [
|
|
31757
31907
|
/* @__PURE__ */ jsx35("strong", { children: "Subtotal" }),
|
|
31758
31908
|
/* @__PURE__ */ jsx35("div", { children: display.subtotalLabel })
|
|
31759
31909
|
] }),
|
|
@@ -31763,7 +31913,7 @@ function CartShellView(props2) {
|
|
|
31763
31913
|
] });
|
|
31764
31914
|
}
|
|
31765
31915
|
function CheckoutShellView(props2) {
|
|
31766
|
-
return /* @__PURE__ */
|
|
31916
|
+
return /* @__PURE__ */ jsxs22("div", { className: `shop shop--checkout ${props2.display.className ?? ""}`.trim(), "data-block": "shop", id: "shop-checkout", children: [
|
|
31767
31917
|
props2.display.heading ? /* @__PURE__ */ jsx35("h2", { children: props2.display.heading }) : null,
|
|
31768
31918
|
props2.notice,
|
|
31769
31919
|
props2.display.state === "ready" ? props2.body : /* @__PURE__ */ jsx35("p", { className: "rb-caption status-muted", children: props2.display.message })
|
|
@@ -31771,9 +31921,9 @@ function CheckoutShellView(props2) {
|
|
|
31771
31921
|
}
|
|
31772
31922
|
|
|
31773
31923
|
// ../blocks/src/system/runtime/nodes/shop-commerce.server.tsx
|
|
31774
|
-
import { Fragment as Fragment5, jsx as jsx36, jsxs as
|
|
31924
|
+
import { Fragment as Fragment5, jsx as jsx36, jsxs as jsxs23 } from "react/jsx-runtime";
|
|
31775
31925
|
function renderServerPendingAction(label, soldOut) {
|
|
31776
|
-
return /* @__PURE__ */
|
|
31926
|
+
return /* @__PURE__ */ jsxs23(Fragment5, { children: [
|
|
31777
31927
|
/* @__PURE__ */ jsx36(
|
|
31778
31928
|
"button",
|
|
31779
31929
|
{
|
|
@@ -31801,7 +31951,7 @@ function ProductListServerContent(props2) {
|
|
|
31801
31951
|
disabled: true
|
|
31802
31952
|
}
|
|
31803
31953
|
),
|
|
31804
|
-
actions: /* @__PURE__ */
|
|
31954
|
+
actions: /* @__PURE__ */ jsxs23(Fragment5, { children: [
|
|
31805
31955
|
renderServerPendingAction(card.actionLabel, card.soldOut),
|
|
31806
31956
|
card.path ? /* @__PURE__ */ jsx36(
|
|
31807
31957
|
"a",
|
|
@@ -31852,7 +32002,7 @@ function CheckoutServerContent(props2) {
|
|
|
31852
32002
|
}
|
|
31853
32003
|
|
|
31854
32004
|
// ../blocks/src/system/runtime/nodes/cart.server.tsx
|
|
31855
|
-
import { jsx as jsx37, jsxs as
|
|
32005
|
+
import { jsx as jsx37, jsxs as jsxs24 } from "react/jsx-runtime";
|
|
31856
32006
|
function CartSSR({
|
|
31857
32007
|
blockId,
|
|
31858
32008
|
siteId,
|
|
@@ -31867,7 +32017,7 @@ function CartSSR({
|
|
|
31867
32017
|
stage,
|
|
31868
32018
|
...rest
|
|
31869
32019
|
});
|
|
31870
|
-
return /* @__PURE__ */
|
|
32020
|
+
return /* @__PURE__ */ jsxs24(
|
|
31871
32021
|
"div",
|
|
31872
32022
|
{
|
|
31873
32023
|
className: `shop ${rest.className ?? ""}`.trim(),
|
|
@@ -31887,7 +32037,7 @@ function CartSSR({
|
|
|
31887
32037
|
var cart_server_default = CartSSR;
|
|
31888
32038
|
|
|
31889
32039
|
// ../blocks/src/system/runtime/nodes/checkout.server.tsx
|
|
31890
|
-
import { jsx as jsx38, jsxs as
|
|
32040
|
+
import { jsx as jsx38, jsxs as jsxs25 } from "react/jsx-runtime";
|
|
31891
32041
|
function CheckoutSSR({
|
|
31892
32042
|
blockId,
|
|
31893
32043
|
siteId,
|
|
@@ -31902,7 +32052,7 @@ function CheckoutSSR({
|
|
|
31902
32052
|
stage,
|
|
31903
32053
|
...rest
|
|
31904
32054
|
});
|
|
31905
|
-
return /* @__PURE__ */
|
|
32055
|
+
return /* @__PURE__ */ jsxs25(
|
|
31906
32056
|
"div",
|
|
31907
32057
|
{
|
|
31908
32058
|
className: `shop ${rest.className ?? ""}`.trim(),
|
|
@@ -31922,7 +32072,7 @@ function CheckoutSSR({
|
|
|
31922
32072
|
var checkout_server_default = CheckoutSSR;
|
|
31923
32073
|
|
|
31924
32074
|
// ../blocks/src/system/runtime/nodes/course-registration.server.tsx
|
|
31925
|
-
import { jsx as jsx39, jsxs as
|
|
32075
|
+
import { jsx as jsx39, jsxs as jsxs26 } from "react/jsx-runtime";
|
|
31926
32076
|
function CourseRegistrationSSR({
|
|
31927
32077
|
blockId,
|
|
31928
32078
|
siteId,
|
|
@@ -31963,7 +32113,7 @@ function CourseRegistrationSSR({
|
|
|
31963
32113
|
buttonVariant,
|
|
31964
32114
|
stage
|
|
31965
32115
|
});
|
|
31966
|
-
return /* @__PURE__ */
|
|
32116
|
+
return /* @__PURE__ */ jsxs26(
|
|
31967
32117
|
"div",
|
|
31968
32118
|
{
|
|
31969
32119
|
className: `course-registration ${className ?? ""}`.trim(),
|
|
@@ -31980,14 +32130,14 @@ function CourseRegistrationSSR({
|
|
|
31980
32130
|
var course_registration_server_default = CourseRegistrationSSR;
|
|
31981
32131
|
|
|
31982
32132
|
// ../blocks/src/system/runtime/nodes/gifting.server.tsx
|
|
31983
|
-
import { jsx as jsx40, jsxs as
|
|
32133
|
+
import { jsx as jsx40, jsxs as jsxs27 } from "react/jsx-runtime";
|
|
31984
32134
|
function GiftingSSR({ blockId, ...rest }) {
|
|
31985
32135
|
const islandProps = buildGiftingInteractiveIslandProps(rest);
|
|
31986
32136
|
const offers = islandProps.render.hydration.offers;
|
|
31987
32137
|
const hasOffers = Boolean(
|
|
31988
32138
|
(offers?.giftCards.length ?? 0) > 0 || (offers?.vouchers.length ?? 0) > 0
|
|
31989
32139
|
);
|
|
31990
|
-
return /* @__PURE__ */
|
|
32140
|
+
return /* @__PURE__ */ jsxs27(
|
|
31991
32141
|
"section",
|
|
31992
32142
|
{
|
|
31993
32143
|
className: rest.className ?? void 0,
|
|
@@ -31998,7 +32148,7 @@ function GiftingSSR({ blockId, ...rest }) {
|
|
|
31998
32148
|
...getIslandRootProps("gifting", blockId),
|
|
31999
32149
|
children: [
|
|
32000
32150
|
/* @__PURE__ */ jsx40(IslandPropsScript, { value: islandProps }),
|
|
32001
|
-
/* @__PURE__ */
|
|
32151
|
+
/* @__PURE__ */ jsxs27(
|
|
32002
32152
|
"div",
|
|
32003
32153
|
{
|
|
32004
32154
|
className: "rb-grid",
|
|
@@ -32006,14 +32156,14 @@ function GiftingSSR({ blockId, ...rest }) {
|
|
|
32006
32156
|
gap: "1.5rem"
|
|
32007
32157
|
},
|
|
32008
32158
|
children: [
|
|
32009
|
-
/* @__PURE__ */
|
|
32159
|
+
/* @__PURE__ */ jsxs27("div", { className: "rb-grid", style: { gap: "0.5rem" }, children: [
|
|
32010
32160
|
/* @__PURE__ */ jsx40("h2", { style: { fontSize: "clamp(1.75rem, 3vw, 2.5rem)", fontWeight: 700, margin: 0 }, children: islandProps.render.display.heading }),
|
|
32011
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
|
|
32012
32162
|
] }),
|
|
32013
|
-
hasOffers ? /* @__PURE__ */
|
|
32014
|
-
(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: [
|
|
32015
32165
|
/* @__PURE__ */ jsx40("h3", { style: { margin: 0, fontSize: "1.25rem", fontWeight: 700 }, children: islandProps.render.display.giftCardsHeading }),
|
|
32016
|
-
/* @__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(
|
|
32017
32167
|
"article",
|
|
32018
32168
|
{
|
|
32019
32169
|
style: {
|
|
@@ -32030,9 +32180,9 @@ function GiftingSSR({ blockId, ...rest }) {
|
|
|
32030
32180
|
offer.id
|
|
32031
32181
|
)) })
|
|
32032
32182
|
] }) : null,
|
|
32033
|
-
(offers?.vouchers.length ?? 0) > 0 ? /* @__PURE__ */
|
|
32183
|
+
(offers?.vouchers.length ?? 0) > 0 ? /* @__PURE__ */ jsxs27("div", { className: "rb-grid", style: { gap: "1rem" }, children: [
|
|
32034
32184
|
/* @__PURE__ */ jsx40("h3", { style: { margin: 0, fontSize: "1.25rem", fontWeight: 700 }, children: islandProps.render.display.vouchersHeading }),
|
|
32035
|
-
/* @__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(
|
|
32036
32186
|
"article",
|
|
32037
32187
|
{
|
|
32038
32188
|
style: {
|
|
@@ -32060,10 +32210,10 @@ function GiftingSSR({ blockId, ...rest }) {
|
|
|
32060
32210
|
var gifting_server_default = GiftingSSR;
|
|
32061
32211
|
|
|
32062
32212
|
// ../blocks/src/system/runtime/nodes/events/EventListing.view.tsx
|
|
32063
|
-
import { jsx as jsx41, jsxs as
|
|
32213
|
+
import { jsx as jsx41, jsxs as jsxs28 } from "react/jsx-runtime";
|
|
32064
32214
|
function EventListingFrameView(props2) {
|
|
32065
32215
|
const { display, filters, emptyState: emptyState4, footer, renderEventCard: renderEventCard2 } = props2;
|
|
32066
|
-
return /* @__PURE__ */
|
|
32216
|
+
return /* @__PURE__ */ jsxs28("div", { className: `event-listing ${display.className ?? ""}`, "data-block": "event-listing", children: [
|
|
32067
32217
|
filters,
|
|
32068
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)) }),
|
|
32069
32219
|
footer
|
|
@@ -32142,7 +32292,7 @@ function formatShortDayLabel(date) {
|
|
|
32142
32292
|
}
|
|
32143
32293
|
|
|
32144
32294
|
// ../blocks/src/system/runtime/nodes/events/EventCalendar.server.tsx
|
|
32145
|
-
import { jsx as jsx42, jsxs as
|
|
32295
|
+
import { jsx as jsx42, jsxs as jsxs29 } from "react/jsx-runtime";
|
|
32146
32296
|
function assertNeverDisplayMode(value) {
|
|
32147
32297
|
throw new Error(`Unsupported event-calendar displayMode: ${String(value)}`);
|
|
32148
32298
|
}
|
|
@@ -32154,8 +32304,8 @@ function renderEventCard(event, display) {
|
|
|
32154
32304
|
}
|
|
32155
32305
|
function renderCombinedSsr(display, prefetchedEvents) {
|
|
32156
32306
|
const listDisplay = buildEventCalendarListingDisplay(display, prefetchedEvents, "event-combined-content");
|
|
32157
|
-
return /* @__PURE__ */
|
|
32158
|
-
/* @__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: [
|
|
32159
32309
|
/* @__PURE__ */ jsx42(
|
|
32160
32310
|
"button",
|
|
32161
32311
|
{
|
|
@@ -32203,9 +32353,9 @@ function renderCalendarGrid(display) {
|
|
|
32203
32353
|
const eventsByDate = groupEventsByDate([...display.events]);
|
|
32204
32354
|
const dayNames = getOrderedDayNames(display.startOfWeek);
|
|
32205
32355
|
const headerTitle = formatCalendarTitle(viewDate, calendarView, calendarDays);
|
|
32206
|
-
return /* @__PURE__ */
|
|
32207
|
-
/* @__PURE__ */
|
|
32208
|
-
/* @__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: [
|
|
32209
32359
|
/* @__PURE__ */ jsx42(
|
|
32210
32360
|
"button",
|
|
32211
32361
|
{
|
|
@@ -32238,7 +32388,7 @@ function renderCalendarGrid(display) {
|
|
|
32238
32388
|
}
|
|
32239
32389
|
)
|
|
32240
32390
|
] }),
|
|
32241
|
-
/* @__PURE__ */
|
|
32391
|
+
/* @__PURE__ */ jsxs29("div", { className: "event-calendar-container", children: [
|
|
32242
32392
|
/* @__PURE__ */ jsx42("div", { className: "event-calendar-day-headers", children: dayNames.map((day) => /* @__PURE__ */ jsx42("div", { className: "event-calendar-day-header", children: day }, day)) }),
|
|
32243
32393
|
/* @__PURE__ */ jsx42("div", { className: "event-calendar-grid", children: calendarDays.map((date) => {
|
|
32244
32394
|
const dateKey = formatDateKey2(date);
|
|
@@ -32250,10 +32400,10 @@ function renderCalendarGrid(display) {
|
|
|
32250
32400
|
!isCurrentMonth && "event-calendar-day--other-month",
|
|
32251
32401
|
today && "event-calendar-day--today"
|
|
32252
32402
|
);
|
|
32253
|
-
return /* @__PURE__ */
|
|
32403
|
+
return /* @__PURE__ */ jsxs29("div", { className: dayClasses, children: [
|
|
32254
32404
|
/* @__PURE__ */ jsx42("div", { className: "event-calendar-day-number", children: date.getDate() }),
|
|
32255
|
-
/* @__PURE__ */
|
|
32256
|
-
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(
|
|
32257
32407
|
"a",
|
|
32258
32408
|
{
|
|
32259
32409
|
href: event.path,
|
|
@@ -32267,7 +32417,7 @@ function renderCalendarGrid(display) {
|
|
|
32267
32417
|
},
|
|
32268
32418
|
event.occurrenceId || event.id
|
|
32269
32419
|
)),
|
|
32270
|
-
dayEvents.length > MAX_EVENTS_PER_DAY ? /* @__PURE__ */
|
|
32420
|
+
dayEvents.length > MAX_EVENTS_PER_DAY ? /* @__PURE__ */ jsxs29("div", { className: "event-calendar-more", children: [
|
|
32271
32421
|
"+",
|
|
32272
32422
|
dayEvents.length - MAX_EVENTS_PER_DAY,
|
|
32273
32423
|
" more"
|
|
@@ -32289,9 +32439,9 @@ function renderTimetableSsr(display) {
|
|
|
32289
32439
|
const calendarDays = getWeekCalendarDays(viewDate, display.startOfWeek);
|
|
32290
32440
|
const headerTitle = formatCalendarTitle(viewDate, "week", calendarDays);
|
|
32291
32441
|
const selectedDayKey = model.days.find((day) => day.isToday)?.dateKey ?? model.days[0]?.dateKey ?? "";
|
|
32292
|
-
return /* @__PURE__ */
|
|
32293
|
-
/* @__PURE__ */
|
|
32294
|
-
/* @__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: [
|
|
32295
32445
|
/* @__PURE__ */ jsx42(
|
|
32296
32446
|
"button",
|
|
32297
32447
|
{
|
|
@@ -32324,7 +32474,7 @@ function renderTimetableSsr(display) {
|
|
|
32324
32474
|
}
|
|
32325
32475
|
)
|
|
32326
32476
|
] }),
|
|
32327
|
-
/* @__PURE__ */
|
|
32477
|
+
/* @__PURE__ */ jsxs29("div", { className: "event-timetable", children: [
|
|
32328
32478
|
/* @__PURE__ */ jsx42("div", { className: "event-timetable-day-selector", "aria-label": "Choose timetable day", children: model.days.map((day) => /* @__PURE__ */ jsx42(
|
|
32329
32479
|
"button",
|
|
32330
32480
|
{
|
|
@@ -32337,8 +32487,8 @@ function renderTimetableSsr(display) {
|
|
|
32337
32487
|
},
|
|
32338
32488
|
day.dateKey
|
|
32339
32489
|
)) }),
|
|
32340
|
-
/* @__PURE__ */ jsx42("div", { className: "event-timetable-container", children: /* @__PURE__ */
|
|
32341
|
-
/* @__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: [
|
|
32342
32492
|
/* @__PURE__ */ jsx42("div", { className: "event-timetable-day-heading" }),
|
|
32343
32493
|
/* @__PURE__ */ jsx42("div", { className: "event-timetable-time-body", children: model.hourTicks.map((hour) => /* @__PURE__ */ jsx42(
|
|
32344
32494
|
"div",
|
|
@@ -32350,7 +32500,7 @@ function renderTimetableSsr(display) {
|
|
|
32350
32500
|
hour
|
|
32351
32501
|
)) })
|
|
32352
32502
|
] }),
|
|
32353
|
-
model.days.map((day) => /* @__PURE__ */
|
|
32503
|
+
model.days.map((day) => /* @__PURE__ */ jsxs29(
|
|
32354
32504
|
"section",
|
|
32355
32505
|
{
|
|
32356
32506
|
className: clsx_default(
|
|
@@ -32359,11 +32509,11 @@ function renderTimetableSsr(display) {
|
|
|
32359
32509
|
),
|
|
32360
32510
|
"data-selected": day.dateKey === selectedDayKey ? "true" : "false",
|
|
32361
32511
|
children: [
|
|
32362
|
-
/* @__PURE__ */
|
|
32512
|
+
/* @__PURE__ */ jsxs29("h4", { className: "event-timetable-day-heading", children: [
|
|
32363
32513
|
day.label,
|
|
32364
32514
|
day.isToday ? /* @__PURE__ */ jsx42("span", { className: "event-timetable-today-badge", children: "Today" }) : null
|
|
32365
32515
|
] }),
|
|
32366
|
-
/* @__PURE__ */
|
|
32516
|
+
/* @__PURE__ */ jsxs29(
|
|
32367
32517
|
"div",
|
|
32368
32518
|
{
|
|
32369
32519
|
className: "event-timetable-day-body",
|
|
@@ -32378,7 +32528,7 @@ function renderTimetableSsr(display) {
|
|
|
32378
32528
|
},
|
|
32379
32529
|
hour
|
|
32380
32530
|
)),
|
|
32381
|
-
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(
|
|
32382
32532
|
"a",
|
|
32383
32533
|
{
|
|
32384
32534
|
href: cell.event.path,
|
|
@@ -32455,18 +32605,18 @@ var EventCalendarSSR = (props2) => {
|
|
|
32455
32605
|
default:
|
|
32456
32606
|
content = assertNeverDisplayMode(display.displayMode);
|
|
32457
32607
|
}
|
|
32458
|
-
return /* @__PURE__ */
|
|
32608
|
+
return /* @__PURE__ */ jsxs29("div", { ...getIslandRootProps("event-calendar", props2.blockId), children: [
|
|
32459
32609
|
/* @__PURE__ */ jsx42(IslandPropsScript, { value: islandProps }),
|
|
32460
32610
|
content
|
|
32461
32611
|
] });
|
|
32462
32612
|
};
|
|
32463
32613
|
|
|
32464
32614
|
// ../blocks/src/system/runtime/nodes/events/EventListing.server.tsx
|
|
32465
|
-
import { jsx as jsx43, jsxs as
|
|
32615
|
+
import { jsx as jsx43, jsxs as jsxs30 } from "react/jsx-runtime";
|
|
32466
32616
|
var EventListingSSR = (props2) => {
|
|
32467
32617
|
const islandProps = buildEventListingInteractiveIslandProps(props2);
|
|
32468
32618
|
const display = islandProps.render.display;
|
|
32469
|
-
return /* @__PURE__ */
|
|
32619
|
+
return /* @__PURE__ */ jsxs30("div", { ...getIslandRootProps("event-listing", props2.blockId), children: [
|
|
32470
32620
|
/* @__PURE__ */ jsx43(IslandPropsScript, { value: islandProps }),
|
|
32471
32621
|
/* @__PURE__ */ jsx43(
|
|
32472
32622
|
EventListingFrameView,
|
|
@@ -32479,7 +32629,7 @@ var EventListingSSR = (props2) => {
|
|
|
32479
32629
|
};
|
|
32480
32630
|
|
|
32481
32631
|
// ../blocks/src/system/runtime/nodes/event-registration.server.tsx
|
|
32482
|
-
import { jsx as jsx44, jsxs as
|
|
32632
|
+
import { jsx as jsx44, jsxs as jsxs31 } from "react/jsx-runtime";
|
|
32483
32633
|
function EventRegistrationSSR({
|
|
32484
32634
|
blockId,
|
|
32485
32635
|
siteId,
|
|
@@ -32520,7 +32670,7 @@ function EventRegistrationSSR({
|
|
|
32520
32670
|
stage,
|
|
32521
32671
|
supportEmail
|
|
32522
32672
|
});
|
|
32523
|
-
return /* @__PURE__ */
|
|
32673
|
+
return /* @__PURE__ */ jsxs31(
|
|
32524
32674
|
"div",
|
|
32525
32675
|
{
|
|
32526
32676
|
className: `event-registration ${className ?? ""}`.trim(),
|
|
@@ -32536,7 +32686,7 @@ function EventRegistrationSSR({
|
|
|
32536
32686
|
var event_registration_server_default = EventRegistrationSSR;
|
|
32537
32687
|
|
|
32538
32688
|
// ../blocks/src/system/runtime/shared/components/FeedbackMessage.tsx
|
|
32539
|
-
import { jsx as jsx45, jsxs as
|
|
32689
|
+
import { jsx as jsx45, jsxs as jsxs32 } from "react/jsx-runtime";
|
|
32540
32690
|
function joinClasses5(...parts) {
|
|
32541
32691
|
return parts.filter((part) => typeof part === "string" && part.length > 0).join(" ");
|
|
32542
32692
|
}
|
|
@@ -32552,7 +32702,7 @@ function FeedbackMessage({
|
|
|
32552
32702
|
}) {
|
|
32553
32703
|
const resolvedLive = live ?? (role === "alert" ? "assertive" : "polite");
|
|
32554
32704
|
const shouldWrapBody = Boolean(title || bodyClassName);
|
|
32555
|
-
return /* @__PURE__ */
|
|
32705
|
+
return /* @__PURE__ */ jsxs32(
|
|
32556
32706
|
"div",
|
|
32557
32707
|
{
|
|
32558
32708
|
className,
|
|
@@ -32568,7 +32718,7 @@ function FeedbackMessage({
|
|
|
32568
32718
|
}
|
|
32569
32719
|
|
|
32570
32720
|
// ../blocks/src/system/runtime/nodes/form.server.tsx
|
|
32571
|
-
import { jsx as jsx46, jsxs as
|
|
32721
|
+
import { jsx as jsx46, jsxs as jsxs33 } from "react/jsx-runtime";
|
|
32572
32722
|
var FormNodeSSR = ({
|
|
32573
32723
|
blockId,
|
|
32574
32724
|
value,
|
|
@@ -32593,7 +32743,7 @@ var FormNodeSSR = ({
|
|
|
32593
32743
|
const display = islandProps.render.display;
|
|
32594
32744
|
const form2 = display.form;
|
|
32595
32745
|
if (!form2) {
|
|
32596
|
-
return /* @__PURE__ */
|
|
32746
|
+
return /* @__PURE__ */ jsxs33("div", { ...getIslandRootProps("form", blockId), children: [
|
|
32597
32747
|
/* @__PURE__ */ jsx46(IslandPropsScript, { value: islandProps }),
|
|
32598
32748
|
/* @__PURE__ */ jsx46(FeedbackMessage, { tone: "warning", className: clsx_default("fb-empty", className), role: "status", children: "Missing or unknown form." })
|
|
32599
32749
|
] });
|
|
@@ -32605,7 +32755,7 @@ var FormNodeSSR = ({
|
|
|
32605
32755
|
const required = Boolean(field.required);
|
|
32606
32756
|
const type = String(field.type ?? "text");
|
|
32607
32757
|
if (type === "textarea") {
|
|
32608
|
-
return /* @__PURE__ */
|
|
32758
|
+
return /* @__PURE__ */ jsxs33("div", { className: "fb-field", children: [
|
|
32609
32759
|
/* @__PURE__ */ jsx46("label", { htmlFor: inputId, className: "form-label", children: label }),
|
|
32610
32760
|
/* @__PURE__ */ jsx46(
|
|
32611
32761
|
"textarea",
|
|
@@ -32623,9 +32773,9 @@ var FormNodeSSR = ({
|
|
|
32623
32773
|
if (type === "select") {
|
|
32624
32774
|
const options = field.options ?? [];
|
|
32625
32775
|
const multiple = Boolean(field.multiple);
|
|
32626
|
-
return /* @__PURE__ */
|
|
32776
|
+
return /* @__PURE__ */ jsxs33("div", { className: "fb-field", children: [
|
|
32627
32777
|
/* @__PURE__ */ jsx46("label", { htmlFor: inputId, className: "form-label", children: label }),
|
|
32628
|
-
/* @__PURE__ */
|
|
32778
|
+
/* @__PURE__ */ jsxs33("select", { id: inputId, name: field.id, multiple, required, className: "form-select", children: [
|
|
32629
32779
|
!multiple && /* @__PURE__ */ jsx46("option", { value: "", children: "Select\u2026" }),
|
|
32630
32780
|
options.map((opt) => /* @__PURE__ */ jsx46("option", { value: opt.value, children: opt.label }, opt.value))
|
|
32631
32781
|
] })
|
|
@@ -32633,9 +32783,9 @@ var FormNodeSSR = ({
|
|
|
32633
32783
|
}
|
|
32634
32784
|
if (type === "radio") {
|
|
32635
32785
|
const options = field.options ?? [];
|
|
32636
|
-
return /* @__PURE__ */
|
|
32786
|
+
return /* @__PURE__ */ jsxs33("fieldset", { className: "fb-fieldset", children: [
|
|
32637
32787
|
/* @__PURE__ */ jsx46("legend", { className: "form-label", children: label }),
|
|
32638
|
-
options.map((opt) => /* @__PURE__ */
|
|
32788
|
+
options.map((opt) => /* @__PURE__ */ jsxs33("label", { className: "fb-inline form-label", children: [
|
|
32639
32789
|
/* @__PURE__ */ jsx46(
|
|
32640
32790
|
"input",
|
|
32641
32791
|
{
|
|
@@ -32651,7 +32801,7 @@ var FormNodeSSR = ({
|
|
|
32651
32801
|
] }, field.id);
|
|
32652
32802
|
}
|
|
32653
32803
|
if (type === "checkbox" || type === "consent") {
|
|
32654
|
-
return /* @__PURE__ */
|
|
32804
|
+
return /* @__PURE__ */ jsxs33("label", { className: "fb-inline form-label", children: [
|
|
32655
32805
|
/* @__PURE__ */ jsx46("input", { type: "checkbox", name: field.id, required, className: "form-checkbox" }),
|
|
32656
32806
|
/* @__PURE__ */ jsx46("span", { children: label })
|
|
32657
32807
|
] }, field.id);
|
|
@@ -32667,7 +32817,7 @@ var FormNodeSSR = ({
|
|
|
32667
32817
|
if (typeof field.min === "number") extra.min = field.min;
|
|
32668
32818
|
if (typeof field.max === "number") extra.max = field.max;
|
|
32669
32819
|
}
|
|
32670
|
-
return /* @__PURE__ */
|
|
32820
|
+
return /* @__PURE__ */ jsxs33("div", { className: "fb-field", children: [
|
|
32671
32821
|
/* @__PURE__ */ jsx46("label", { htmlFor: inputId, className: "form-label", children: label }),
|
|
32672
32822
|
/* @__PURE__ */ jsx46(
|
|
32673
32823
|
"input",
|
|
@@ -32683,9 +32833,9 @@ var FormNodeSSR = ({
|
|
|
32683
32833
|
)
|
|
32684
32834
|
] }, field.id);
|
|
32685
32835
|
};
|
|
32686
|
-
return /* @__PURE__ */
|
|
32836
|
+
return /* @__PURE__ */ jsxs33("div", { ...getIslandRootProps("form", blockId), children: [
|
|
32687
32837
|
/* @__PURE__ */ jsx46(IslandPropsScript, { value: islandProps }),
|
|
32688
|
-
/* @__PURE__ */
|
|
32838
|
+
/* @__PURE__ */ jsxs33(
|
|
32689
32839
|
"form",
|
|
32690
32840
|
{
|
|
32691
32841
|
method: "POST",
|
|
@@ -32720,7 +32870,7 @@ var FormNodeSSR = ({
|
|
|
32720
32870
|
};
|
|
32721
32871
|
|
|
32722
32872
|
// ../blocks/src/system/runtime/nodes/newsletter-form.server.tsx
|
|
32723
|
-
import { jsx as jsx47, jsxs as
|
|
32873
|
+
import { jsx as jsx47, jsxs as jsxs34 } from "react/jsx-runtime";
|
|
32724
32874
|
function NewsletterFormSSR({
|
|
32725
32875
|
blockId,
|
|
32726
32876
|
siteId,
|
|
@@ -32752,8 +32902,8 @@ function NewsletterFormSSR({
|
|
|
32752
32902
|
const fields3 = display.fields;
|
|
32753
32903
|
const renderField = (field) => {
|
|
32754
32904
|
const inputId = `newsletter_${field.id}`;
|
|
32755
|
-
return /* @__PURE__ */
|
|
32756
|
-
/* @__PURE__ */
|
|
32905
|
+
return /* @__PURE__ */ jsxs34("div", { className: "fb-field newsletter-field", children: [
|
|
32906
|
+
/* @__PURE__ */ jsxs34("label", { htmlFor: inputId, className: "form-label", children: [
|
|
32757
32907
|
field.label,
|
|
32758
32908
|
field.required && /* @__PURE__ */ jsx47("span", { className: "newsletter-required", "aria-hidden": "true", children: "*" })
|
|
32759
32909
|
] }),
|
|
@@ -32771,14 +32921,14 @@ function NewsletterFormSSR({
|
|
|
32771
32921
|
)
|
|
32772
32922
|
] }, field.id);
|
|
32773
32923
|
};
|
|
32774
|
-
return /* @__PURE__ */
|
|
32924
|
+
return /* @__PURE__ */ jsxs34(
|
|
32775
32925
|
"div",
|
|
32776
32926
|
{
|
|
32777
32927
|
...getIslandRootProps("newsletter-form", blockId),
|
|
32778
32928
|
className: clsx_default("newsletter-form-ssr", className),
|
|
32779
32929
|
children: [
|
|
32780
32930
|
/* @__PURE__ */ jsx47(IslandPropsScript, { value: islandProps }),
|
|
32781
|
-
/* @__PURE__ */
|
|
32931
|
+
/* @__PURE__ */ jsxs34("form", { method: "POST", className: "newsletter-form fb-form", children: [
|
|
32782
32932
|
/* @__PURE__ */ jsx47(
|
|
32783
32933
|
"input",
|
|
32784
32934
|
{
|
|
@@ -32790,7 +32940,7 @@ function NewsletterFormSSR({
|
|
|
32790
32940
|
"aria-hidden": "true"
|
|
32791
32941
|
}
|
|
32792
32942
|
),
|
|
32793
|
-
/* @__PURE__ */
|
|
32943
|
+
/* @__PURE__ */ jsxs34("div", { className: "newsletter-form-fields", children: [
|
|
32794
32944
|
fields3.map(renderField),
|
|
32795
32945
|
/* @__PURE__ */ jsx47("div", { className: "newsletter-submit", children: /* @__PURE__ */ jsx47(
|
|
32796
32946
|
"button",
|
|
@@ -32810,7 +32960,7 @@ function NewsletterFormSSR({
|
|
|
32810
32960
|
var newsletter_form_server_default = NewsletterFormSSR;
|
|
32811
32961
|
|
|
32812
32962
|
// ../blocks/src/system/runtime/nodes/product-detail.server.tsx
|
|
32813
|
-
import { jsx as jsx48, jsxs as
|
|
32963
|
+
import { jsx as jsx48, jsxs as jsxs35 } from "react/jsx-runtime";
|
|
32814
32964
|
function ProductDetailSSR({
|
|
32815
32965
|
blockId,
|
|
32816
32966
|
siteId,
|
|
@@ -32825,7 +32975,7 @@ function ProductDetailSSR({
|
|
|
32825
32975
|
stage,
|
|
32826
32976
|
...rest
|
|
32827
32977
|
});
|
|
32828
|
-
return /* @__PURE__ */
|
|
32978
|
+
return /* @__PURE__ */ jsxs35(
|
|
32829
32979
|
"div",
|
|
32830
32980
|
{
|
|
32831
32981
|
className: `shop ${rest.className ?? ""}`.trim(),
|
|
@@ -32845,7 +32995,7 @@ function ProductDetailSSR({
|
|
|
32845
32995
|
var product_detail_server_default = ProductDetailSSR;
|
|
32846
32996
|
|
|
32847
32997
|
// ../blocks/src/system/runtime/nodes/product-list.server.tsx
|
|
32848
|
-
import { jsx as jsx49, jsxs as
|
|
32998
|
+
import { jsx as jsx49, jsxs as jsxs36 } from "react/jsx-runtime";
|
|
32849
32999
|
function ProductListSSR({
|
|
32850
33000
|
blockId,
|
|
32851
33001
|
siteId,
|
|
@@ -32860,7 +33010,7 @@ function ProductListSSR({
|
|
|
32860
33010
|
stage,
|
|
32861
33011
|
...rest
|
|
32862
33012
|
});
|
|
32863
|
-
return /* @__PURE__ */
|
|
33013
|
+
return /* @__PURE__ */ jsxs36(
|
|
32864
33014
|
"div",
|
|
32865
33015
|
{
|
|
32866
33016
|
className: `shop ${rest.className ?? ""}`.trim(),
|
|
@@ -32880,7 +33030,7 @@ function ProductListSSR({
|
|
|
32880
33030
|
var product_list_server_default = ProductListSSR;
|
|
32881
33031
|
|
|
32882
33032
|
// ../blocks/src/system/runtime/nodes/shop.server.tsx
|
|
32883
|
-
import { jsx as jsx50, jsxs as
|
|
33033
|
+
import { jsx as jsx50, jsxs as jsxs37 } from "react/jsx-runtime";
|
|
32884
33034
|
function ShopSSR({
|
|
32885
33035
|
blockId,
|
|
32886
33036
|
siteId,
|
|
@@ -32897,7 +33047,7 @@ function ShopSSR({
|
|
|
32897
33047
|
...rest
|
|
32898
33048
|
});
|
|
32899
33049
|
const render = islandProps.render;
|
|
32900
|
-
return /* @__PURE__ */
|
|
33050
|
+
return /* @__PURE__ */ jsxs37(
|
|
32901
33051
|
"div",
|
|
32902
33052
|
{
|
|
32903
33053
|
className: `shop ${rest.className ?? ""}`.trim(),
|
|
@@ -33118,6 +33268,10 @@ function getAbsoluteSegments(fromPath, context) {
|
|
|
33118
33268
|
if (scoped?.basePathSegments && scoped.basePathSegments.length > 0) {
|
|
33119
33269
|
return [...scoped.basePathSegments, ...rest];
|
|
33120
33270
|
}
|
|
33271
|
+
const hasContentScope = context.scopes.some((entry) => entry.name === "content");
|
|
33272
|
+
if (hasContentScope && !(first in context.viewModel)) {
|
|
33273
|
+
return ["content", ...segments];
|
|
33274
|
+
}
|
|
33121
33275
|
return void 0;
|
|
33122
33276
|
}
|
|
33123
33277
|
function readFromSource(source, segments) {
|
|
@@ -33766,7 +33920,7 @@ function makeDefaultBlockComponent(args) {
|
|
|
33766
33920
|
pathBase,
|
|
33767
33921
|
blockId,
|
|
33768
33922
|
blockKind,
|
|
33769
|
-
blockContent:
|
|
33923
|
+
blockContent: mergedContent,
|
|
33770
33924
|
blockBindings,
|
|
33771
33925
|
editableRouteMetadataFieldIds,
|
|
33772
33926
|
fragmentRegistry: fragmentRegistry2
|
|
@@ -34802,6 +34956,19 @@ function getNavLinkPreset(presetId) {
|
|
|
34802
34956
|
}
|
|
34803
34957
|
var NAV_LINK_PRESET_IDS = Object.keys(NAV_LINK_PRESETS);
|
|
34804
34958
|
|
|
34959
|
+
// ../theme-core/src/header/navDropdownSizing.ts
|
|
34960
|
+
var NAV_DROPDOWN_MIN_WIDTH_REM = 12;
|
|
34961
|
+
var NAV_DROPDOWN_MAX_WIDTH_REM = 22;
|
|
34962
|
+
var NAV_DROPDOWN_VIEWPORT_GUTTER_REM = 1;
|
|
34963
|
+
var NAV_DROPDOWN_SHIFT_PROPERTY = "--nav-dropdown-shift-x";
|
|
34964
|
+
var NAV_DROPDOWN_MAX_WIDTH_CSS = `min(${NAV_DROPDOWN_MAX_WIDTH_REM}rem, calc(100vw - ${NAV_DROPDOWN_VIEWPORT_GUTTER_REM * 2}rem))`;
|
|
34965
|
+
var NAV_DROPDOWN_CONTAINER_RAIL_CSS_RULES = [
|
|
34966
|
+
`min-width: ${NAV_DROPDOWN_MIN_WIDTH_REM}rem;`,
|
|
34967
|
+
`width: max-content;`,
|
|
34968
|
+
`max-width: ${NAV_DROPDOWN_MAX_WIDTH_CSS};`,
|
|
34969
|
+
`transform: translateX(var(${NAV_DROPDOWN_SHIFT_PROPERTY}, 0px));`
|
|
34970
|
+
];
|
|
34971
|
+
|
|
34805
34972
|
// ../theme-core/src/header/generateHeaderCss.ts
|
|
34806
34973
|
var HEADER_BLUR = "blur(12px)";
|
|
34807
34974
|
var FLOATING_BLUR = "blur(16px)";
|
|
@@ -35076,6 +35243,7 @@ function generateDropdownContainerStyles(header, themeId, tokens) {
|
|
|
35076
35243
|
const selector = `:where([data-theme-scope="${themeId}"]) .nav-dropdown-menu`;
|
|
35077
35244
|
const rules = [];
|
|
35078
35245
|
const dropdownStyle = header.dropdownStyle;
|
|
35246
|
+
rules.push(...NAV_DROPDOWN_CONTAINER_RAIL_CSS_RULES);
|
|
35079
35247
|
const bgToken = dropdownStyle?.background ?? "surface";
|
|
35080
35248
|
rules.push(`background-color: ${tokens.getColor(bgToken)};`);
|
|
35081
35249
|
const textToken = dropdownStyle?.textColor ?? "text";
|
|
@@ -45143,6 +45311,17 @@ var containerResponsiveThemeCss = `/*
|
|
|
45143
45311
|
* =============================================================================
|
|
45144
45312
|
*/
|
|
45145
45313
|
|
|
45314
|
+
:where(.theme-scope) .nav-dropdown-menu {
|
|
45315
|
+
/*
|
|
45316
|
+
* Keep these rails in sync with header/navDropdownSizing.ts.
|
|
45317
|
+
* The JS placement gutter is 16px, matching the 1rem per-side gutter in calc(100vw - 2rem).
|
|
45318
|
+
*/
|
|
45319
|
+
min-width: 12rem;
|
|
45320
|
+
width: max-content;
|
|
45321
|
+
max-width: min(22rem, calc(100vw - 2rem));
|
|
45322
|
+
transform: translateX(var(--nav-dropdown-shift-x, 0px));
|
|
45323
|
+
}
|
|
45324
|
+
|
|
45146
45325
|
:where(.theme-scope) .nav-dropdown:hover > .nav-dropdown-menu,
|
|
45147
45326
|
:where(.theme-scope) .nav-dropdown:focus-within > .nav-dropdown-menu,
|
|
45148
45327
|
:where(.theme-scope) .nav-dropdown .nav-dropdown-trigger[aria-expanded="true"] + .nav-dropdown-menu {
|
|
@@ -46613,6 +46792,11 @@ var containerResponsiveThemeCss = `/*
|
|
|
46613
46792
|
* Dense row layout for event-calendar compact list mode
|
|
46614
46793
|
* ============================================================================= */
|
|
46615
46794
|
|
|
46795
|
+
:where(.theme-scope) .event-listing-compact-container {
|
|
46796
|
+
width: min(100%, 56rem);
|
|
46797
|
+
margin-inline: auto;
|
|
46798
|
+
}
|
|
46799
|
+
|
|
46616
46800
|
:where(.theme-scope) .event-compact-row {
|
|
46617
46801
|
display: flex;
|
|
46618
46802
|
align-items: center;
|
|
@@ -46738,7 +46922,7 @@ var containerResponsiveThemeCss = `/*
|
|
|
46738
46922
|
}`;
|
|
46739
46923
|
|
|
46740
46924
|
// ../theme-core/src/ThemeScopeCore.tsx
|
|
46741
|
-
import { jsx as jsx52, jsxs as
|
|
46925
|
+
import { jsx as jsx52, jsxs as jsxs38 } from "react/jsx-runtime";
|
|
46742
46926
|
function ThemeScopeCore({
|
|
46743
46927
|
cssVars,
|
|
46744
46928
|
buttonCss,
|
|
@@ -46770,7 +46954,7 @@ function ThemeScopeCore({
|
|
|
46770
46954
|
containerType: "inline-size",
|
|
46771
46955
|
containerName: responsiveScope.containerName
|
|
46772
46956
|
} : cssVars;
|
|
46773
|
-
return /* @__PURE__ */
|
|
46957
|
+
return /* @__PURE__ */ jsxs38(
|
|
46774
46958
|
"div",
|
|
46775
46959
|
{
|
|
46776
46960
|
className: className ? `theme-scope ${className}` : "theme-scope",
|
|
@@ -46988,10 +47172,10 @@ function resolveFooterRenderPlan(params) {
|
|
|
46988
47172
|
|
|
46989
47173
|
// ../theme-core/src/ThemeFontLoader.tsx
|
|
46990
47174
|
import * as React7 from "react";
|
|
46991
|
-
import { Fragment as Fragment7, jsx as jsx54, jsxs as
|
|
47175
|
+
import { Fragment as Fragment7, jsx as jsx54, jsxs as jsxs39 } from "react/jsx-runtime";
|
|
46992
47176
|
|
|
46993
47177
|
// ../theme-core/src/siteChrome.tsx
|
|
46994
|
-
import { Fragment as Fragment8, jsx as jsx55, jsxs as
|
|
47178
|
+
import { Fragment as Fragment8, jsx as jsx55, jsxs as jsxs40 } from "react/jsx-runtime";
|
|
46995
47179
|
|
|
46996
47180
|
// ../theme-core/src/runtime/buildThemeRuntimeFromBridge.ts
|
|
46997
47181
|
import { z as z64 } from "zod";
|
|
@@ -47025,10 +47209,10 @@ var themeBridgeConfigSchema = z64.object({
|
|
|
47025
47209
|
}).passthrough();
|
|
47026
47210
|
|
|
47027
47211
|
// ../theme-core/src/mock-themes/components/swatch.tsx
|
|
47028
|
-
import { jsx as jsx56, jsxs as
|
|
47212
|
+
import { jsx as jsx56, jsxs as jsxs41 } from "react/jsx-runtime";
|
|
47029
47213
|
|
|
47030
47214
|
// ../theme-core/src/mock-themes/components/PaletteCard.tsx
|
|
47031
|
-
import { jsx as jsx57, jsxs as
|
|
47215
|
+
import { jsx as jsx57, jsxs as jsxs42 } from "react/jsx-runtime";
|
|
47032
47216
|
|
|
47033
47217
|
// src/rendering/blocks-theme-runtime.ts
|
|
47034
47218
|
var AXES_TONE_OPTIONS = ["minimal", "classic", "bold"];
|
|
@@ -47632,7 +47816,7 @@ function buildLogo(logo, fallbackAlt) {
|
|
|
47632
47816
|
}
|
|
47633
47817
|
|
|
47634
47818
|
// src/rendering/components/Layout.tsx
|
|
47635
|
-
import { Fragment as Fragment9, jsx as jsx60, jsxs as
|
|
47819
|
+
import { Fragment as Fragment9, jsx as jsx60, jsxs as jsxs43 } from "react/jsx-runtime";
|
|
47636
47820
|
async function Layout({
|
|
47637
47821
|
siteData: providedSiteData,
|
|
47638
47822
|
client,
|
|
@@ -47767,14 +47951,14 @@ async function Layout({
|
|
|
47767
47951
|
themeConfig: blocksTheme,
|
|
47768
47952
|
viewModelOverrides
|
|
47769
47953
|
}) : null;
|
|
47770
|
-
footerElement = footerPlan.mode === "default+blocks" ? /* @__PURE__ */
|
|
47954
|
+
footerElement = footerPlan.mode === "default+blocks" ? /* @__PURE__ */ jsxs43(Fragment9, { children: [
|
|
47771
47955
|
footerBlocksElement,
|
|
47772
47956
|
defaultFooterElement
|
|
47773
47957
|
] }) : footerPlan.mode === "blocks" ? footerBlocksElement : footerPlan.mode === "none" ? null : defaultFooterElement;
|
|
47774
47958
|
} else if (typeof footer === "function") {
|
|
47775
47959
|
footerElement = footer(footerData);
|
|
47776
47960
|
}
|
|
47777
|
-
const content = /* @__PURE__ */
|
|
47961
|
+
const content = /* @__PURE__ */ jsxs43(Fragment9, { children: [
|
|
47778
47962
|
headerElement,
|
|
47779
47963
|
children,
|
|
47780
47964
|
footerElement
|
|
@@ -49364,6 +49548,18 @@ var TAG_TEMPLATES = {
|
|
|
49364
49548
|
siteForms: "riverbank:site:{siteId}:forms",
|
|
49365
49549
|
formById: "riverbank:form:{formId}",
|
|
49366
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",
|
|
49367
49563
|
// Navigation
|
|
49368
49564
|
siteNavigation: "riverbank:site:{siteId}:navigation",
|
|
49369
49565
|
navigationMenuById: "riverbank:navigation-menu:{menuId}",
|
|
@@ -53050,7 +53246,7 @@ var ENDPOINT_DEFINITIONS = {
|
|
|
53050
53246
|
path: "/public/sites/{siteId}/events",
|
|
53051
53247
|
method: "GET",
|
|
53052
53248
|
revalidate: 60,
|
|
53053
|
-
tags: [
|
|
53249
|
+
tags: [TAG_TEMPLATES.publicEvents],
|
|
53054
53250
|
auth: "public",
|
|
53055
53251
|
responseKind: "json"
|
|
53056
53252
|
},
|
|
@@ -53059,7 +53255,7 @@ var ENDPOINT_DEFINITIONS = {
|
|
|
53059
53255
|
path: "/public/sites/{siteId}/events/filters",
|
|
53060
53256
|
method: "GET",
|
|
53061
53257
|
revalidate: 60,
|
|
53062
|
-
tags: [
|
|
53258
|
+
tags: [TAG_TEMPLATES.publicEventFilters],
|
|
53063
53259
|
auth: "public",
|
|
53064
53260
|
responseKind: "json"
|
|
53065
53261
|
},
|
|
@@ -53068,7 +53264,7 @@ var ENDPOINT_DEFINITIONS = {
|
|
|
53068
53264
|
path: "/public/sites/{siteId}/courses",
|
|
53069
53265
|
method: "GET",
|
|
53070
53266
|
revalidate: 60,
|
|
53071
|
-
tags: [
|
|
53267
|
+
tags: [TAG_TEMPLATES.publicCourses],
|
|
53072
53268
|
auth: "public",
|
|
53073
53269
|
responseKind: "json"
|
|
53074
53270
|
},
|
|
@@ -53076,7 +53272,7 @@ var ENDPOINT_DEFINITIONS = {
|
|
|
53076
53272
|
path: "/public/sites/{siteId}/team-members",
|
|
53077
53273
|
method: "GET",
|
|
53078
53274
|
revalidate: 60,
|
|
53079
|
-
tags: [
|
|
53275
|
+
tags: [TAG_TEMPLATES.publicTeamMembers],
|
|
53080
53276
|
errors: [],
|
|
53081
53277
|
auth: "public",
|
|
53082
53278
|
responseKind: "json"
|
|
@@ -53085,21 +53281,21 @@ var ENDPOINT_DEFINITIONS = {
|
|
|
53085
53281
|
path: "/public/sites/{siteId}/courses/{courseId}",
|
|
53086
53282
|
method: "GET",
|
|
53087
53283
|
revalidate: 60,
|
|
53088
|
-
tags: [
|
|
53284
|
+
tags: [TAG_TEMPLATES.publicCourses],
|
|
53089
53285
|
auth: "public",
|
|
53090
53286
|
responseKind: "json"
|
|
53091
53287
|
},
|
|
53092
53288
|
enrollInCourse: {
|
|
53093
53289
|
path: "/public/sites/{siteId}/courses/enroll",
|
|
53094
53290
|
method: "POST",
|
|
53095
|
-
tags: [
|
|
53291
|
+
tags: [TAG_TEMPLATES.publicCourses, "course-enrollment"],
|
|
53096
53292
|
auth: "public",
|
|
53097
53293
|
responseKind: "json"
|
|
53098
53294
|
},
|
|
53099
53295
|
checkCourseEligibility: {
|
|
53100
53296
|
path: "/public/sites/{siteId}/courses/check-eligibility",
|
|
53101
53297
|
method: "POST",
|
|
53102
|
-
tags: [
|
|
53298
|
+
tags: [TAG_TEMPLATES.publicCourses, "course-enrollment"],
|
|
53103
53299
|
auth: "public",
|
|
53104
53300
|
responseKind: "json"
|
|
53105
53301
|
},
|
|
@@ -53107,8 +53303,8 @@ var ENDPOINT_DEFINITIONS = {
|
|
|
53107
53303
|
path: "/public/sites/{siteId}/waitlists/claim/resolve",
|
|
53108
53304
|
method: "POST",
|
|
53109
53305
|
tags: [
|
|
53110
|
-
|
|
53111
|
-
|
|
53306
|
+
TAG_TEMPLATES.publicCourses,
|
|
53307
|
+
TAG_TEMPLATES.publicEvents,
|
|
53112
53308
|
"waitlist-claims"
|
|
53113
53309
|
],
|
|
53114
53310
|
auth: "public",
|
|
@@ -53123,7 +53319,7 @@ var ENDPOINT_DEFINITIONS = {
|
|
|
53123
53319
|
createCourseCheckout: {
|
|
53124
53320
|
path: "/public/sites/{siteId}/courses/checkout",
|
|
53125
53321
|
method: "POST",
|
|
53126
|
-
tags: [
|
|
53322
|
+
tags: [TAG_TEMPLATES.publicCourses, "course-checkout"],
|
|
53127
53323
|
auth: "public",
|
|
53128
53324
|
responseKind: "json",
|
|
53129
53325
|
errors: [
|
|
@@ -53137,7 +53333,7 @@ var ENDPOINT_DEFINITIONS = {
|
|
|
53137
53333
|
getCourseRegistrationStatus: {
|
|
53138
53334
|
path: "/public/sites/{siteId}/courses/registration-status",
|
|
53139
53335
|
method: "GET",
|
|
53140
|
-
tags: [
|
|
53336
|
+
tags: [TAG_TEMPLATES.publicCourses, "course-checkout"],
|
|
53141
53337
|
auth: "public",
|
|
53142
53338
|
responseKind: "json"
|
|
53143
53339
|
},
|
|
@@ -53146,7 +53342,7 @@ var ENDPOINT_DEFINITIONS = {
|
|
|
53146
53342
|
path: "/public/sites/{siteId}/bookings/products/passes",
|
|
53147
53343
|
method: "GET",
|
|
53148
53344
|
revalidate: 300,
|
|
53149
|
-
tags: [
|
|
53345
|
+
tags: [TAG_TEMPLATES.publicPasses],
|
|
53150
53346
|
auth: "public",
|
|
53151
53347
|
responseKind: "json"
|
|
53152
53348
|
},
|
|
@@ -53155,7 +53351,7 @@ var ENDPOINT_DEFINITIONS = {
|
|
|
53155
53351
|
path: "/public/sites/{siteId}/bookings/products/memberships",
|
|
53156
53352
|
method: "GET",
|
|
53157
53353
|
revalidate: 300,
|
|
53158
|
-
tags: [
|
|
53354
|
+
tags: [TAG_TEMPLATES.publicMemberships],
|
|
53159
53355
|
auth: "public",
|
|
53160
53356
|
responseKind: "json"
|
|
53161
53357
|
},
|
|
@@ -53164,7 +53360,7 @@ var ENDPOINT_DEFINITIONS = {
|
|
|
53164
53360
|
path: "/public/sites/{siteId}/products",
|
|
53165
53361
|
method: "GET",
|
|
53166
53362
|
revalidate: 300,
|
|
53167
|
-
tags: [
|
|
53363
|
+
tags: [TAG_TEMPLATES.publicProducts],
|
|
53168
53364
|
errors: [],
|
|
53169
53365
|
auth: "public",
|
|
53170
53366
|
responseKind: "json"
|
|
@@ -53173,7 +53369,7 @@ var ENDPOINT_DEFINITIONS = {
|
|
|
53173
53369
|
path: "/public/sites/{siteId}/gifting/offers",
|
|
53174
53370
|
method: "GET",
|
|
53175
53371
|
revalidate: 300,
|
|
53176
|
-
tags: [
|
|
53372
|
+
tags: [TAG_TEMPLATES.publicGifting],
|
|
53177
53373
|
errors: [],
|
|
53178
53374
|
auth: "public",
|
|
53179
53375
|
responseKind: "json"
|
|
@@ -53181,7 +53377,7 @@ var ENDPOINT_DEFINITIONS = {
|
|
|
53181
53377
|
createPublicGiftingCheckout: {
|
|
53182
53378
|
path: "/public/sites/{siteId}/gifting/checkout",
|
|
53183
53379
|
method: "POST",
|
|
53184
|
-
tags: [
|
|
53380
|
+
tags: [TAG_TEMPLATES.publicGifting],
|
|
53185
53381
|
errors: [],
|
|
53186
53382
|
auth: "public",
|
|
53187
53383
|
responseKind: "json"
|
|
@@ -53189,7 +53385,7 @@ var ENDPOINT_DEFINITIONS = {
|
|
|
53189
53385
|
claimGiftCardPublic: {
|
|
53190
53386
|
path: "/public/sites/{siteId}/gifting/claim",
|
|
53191
53387
|
method: "POST",
|
|
53192
|
-
tags: [
|
|
53388
|
+
tags: [TAG_TEMPLATES.publicGifting],
|
|
53193
53389
|
errors: [],
|
|
53194
53390
|
auth: "public",
|
|
53195
53391
|
responseKind: "json"
|
|
@@ -53197,14 +53393,14 @@ var ENDPOINT_DEFINITIONS = {
|
|
|
53197
53393
|
createShopCheckout: {
|
|
53198
53394
|
path: "/public/sites/{siteId}/bookings/checkout",
|
|
53199
53395
|
method: "POST",
|
|
53200
|
-
tags: [
|
|
53396
|
+
tags: [TAG_TEMPLATES.publicShop, "shop-checkout"],
|
|
53201
53397
|
auth: "public",
|
|
53202
53398
|
responseKind: "json"
|
|
53203
53399
|
},
|
|
53204
53400
|
createUnifiedCheckout: {
|
|
53205
53401
|
path: "/public/sites/{siteId}/checkout",
|
|
53206
53402
|
method: "POST",
|
|
53207
|
-
tags: [
|
|
53403
|
+
tags: [TAG_TEMPLATES.publicCheckout],
|
|
53208
53404
|
auth: "public",
|
|
53209
53405
|
responseKind: "json",
|
|
53210
53406
|
errors: [
|
|
@@ -53243,7 +53439,7 @@ var ENDPOINT_DEFINITIONS = {
|
|
|
53243
53439
|
path: "/public/sites/{siteId}/events/occurrences/resolve",
|
|
53244
53440
|
method: "GET",
|
|
53245
53441
|
revalidate: 60,
|
|
53246
|
-
tags: [
|
|
53442
|
+
tags: [TAG_TEMPLATES.publicEvents, "event-occurrence"],
|
|
53247
53443
|
auth: "public",
|
|
53248
53444
|
responseKind: "json"
|
|
53249
53445
|
},
|
|
@@ -53251,7 +53447,7 @@ var ENDPOINT_DEFINITIONS = {
|
|
|
53251
53447
|
registerForEvent: {
|
|
53252
53448
|
path: "/public/sites/{siteId}/events/register",
|
|
53253
53449
|
method: "POST",
|
|
53254
|
-
tags: [
|
|
53450
|
+
tags: [TAG_TEMPLATES.publicEvents, "event-registration"],
|
|
53255
53451
|
auth: "public",
|
|
53256
53452
|
responseKind: "json"
|
|
53257
53453
|
},
|
|
@@ -53259,7 +53455,7 @@ var ENDPOINT_DEFINITIONS = {
|
|
|
53259
53455
|
createPublicEventCheckout: {
|
|
53260
53456
|
path: "/public/sites/{siteId}/events/checkout",
|
|
53261
53457
|
method: "POST",
|
|
53262
|
-
tags: [
|
|
53458
|
+
tags: [TAG_TEMPLATES.publicEvents, "event-checkout"],
|
|
53263
53459
|
auth: "public",
|
|
53264
53460
|
responseKind: "json"
|
|
53265
53461
|
},
|
|
@@ -53267,7 +53463,7 @@ var ENDPOINT_DEFINITIONS = {
|
|
|
53267
53463
|
checkPublicEventEligibility: {
|
|
53268
53464
|
path: "/public/sites/{siteId}/events/check-eligibility",
|
|
53269
53465
|
method: "POST",
|
|
53270
|
-
tags: [
|
|
53466
|
+
tags: [TAG_TEMPLATES.publicEvents, "event-eligibility"],
|
|
53271
53467
|
auth: "public",
|
|
53272
53468
|
responseKind: "json"
|
|
53273
53469
|
},
|
|
@@ -53275,7 +53471,7 @@ var ENDPOINT_DEFINITIONS = {
|
|
|
53275
53471
|
getPublicEventRegistrationStatus: {
|
|
53276
53472
|
path: "/public/sites/{siteId}/events/registration-status",
|
|
53277
53473
|
method: "GET",
|
|
53278
|
-
tags: [
|
|
53474
|
+
tags: [TAG_TEMPLATES.publicEvents, "event-registration"],
|
|
53279
53475
|
auth: "public",
|
|
53280
53476
|
responseKind: "json"
|
|
53281
53477
|
},
|
|
@@ -53283,7 +53479,7 @@ var ENDPOINT_DEFINITIONS = {
|
|
|
53283
53479
|
getPublicEventTicketQrSvg: {
|
|
53284
53480
|
path: "/public/sites/{siteId}/events/tickets/qr",
|
|
53285
53481
|
method: "GET",
|
|
53286
|
-
tags: [
|
|
53482
|
+
tags: [TAG_TEMPLATES.publicEvents, "event-ticket-qr"],
|
|
53287
53483
|
auth: "public",
|
|
53288
53484
|
responseKind: "text"
|
|
53289
53485
|
},
|
|
@@ -56861,9 +57057,9 @@ async function prefetchBlockData2(page, context, client, options) {
|
|
|
56861
57057
|
}
|
|
56862
57058
|
|
|
56863
57059
|
// src/rendering/components/Block.shared.tsx
|
|
56864
|
-
import { jsx as jsx61, jsxs as
|
|
57060
|
+
import { jsx as jsx61, jsxs as jsxs44 } from "react/jsx-runtime";
|
|
56865
57061
|
function renderUnknownBlock(blockKind) {
|
|
56866
|
-
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: [
|
|
56867
57063
|
"Unknown block type: ",
|
|
56868
57064
|
blockKind
|
|
56869
57065
|
] }) });
|
|
@@ -57010,10 +57206,95 @@ import { jsx as jsx62 } from "react/jsx-runtime";
|
|
|
57010
57206
|
function Block(props2) {
|
|
57011
57207
|
return /* @__PURE__ */ jsx62(BlockContent, { ...props2 });
|
|
57012
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
|
+
}
|
|
57013
57292
|
export {
|
|
57014
57293
|
Block,
|
|
57015
57294
|
Layout,
|
|
57016
|
-
Page
|
|
57295
|
+
Page,
|
|
57296
|
+
defineLazyBlockOverride,
|
|
57297
|
+
resolveBlockOverridesForPage
|
|
57017
57298
|
};
|
|
57018
57299
|
/*! Bundled license information:
|
|
57019
57300
|
|