@riverbankcms/sdk 0.101.0 → 0.102.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.
Files changed (54) hide show
  1. package/dist/{PreviewEditorSidebar-DBpy0KTh.mjs → PreviewEditorSidebar-BKkhhkJk.mjs} +358 -68
  2. package/dist/{PreviewEditorUI-Fg6I2R2T.mjs → PreviewEditorUI-DIvTqcqI.mjs} +3 -3
  3. package/dist/{PreviewQueryProvider-BICQLAUF.mjs → PreviewQueryProvider-ZF6TXq5Q.mjs} +1 -1
  4. package/dist/{SdkPreviewModeRuntime-DFQP-Q53.mjs → SdkPreviewModeRuntime-CA2k7Z_T.mjs} +200 -122
  5. package/dist/{SiteChromeCustomizeContext-GwZc89KN.mjs → SiteChromeCustomizeContext-Bh9-DtMQ.mjs} +203 -34
  6. package/dist/_dts/ai/src/designer/rfc6902.d.ts +57 -1
  7. package/dist/_dts/ai/src/designer/themePatch.d.ts +16 -6
  8. package/dist/_dts/api/src/bookingVerticals.d.ts +53 -1
  9. package/dist/_dts/api/src/siteRuntimeEndpoints.d.ts +1 -0
  10. package/dist/_dts/blocks/src/bindings/index.d.ts +1 -1
  11. package/dist/_dts/blocks/src/system/runtime/nodes/layout.d.ts +1 -0
  12. package/dist/_dts/content-editor/src/index.d.ts +1 -0
  13. package/dist/_dts/core/src/branded.d.ts +4 -0
  14. package/dist/_dts/core/src/person-records.d.ts +6 -1
  15. package/dist/_dts/media-core/src/identifiers.d.ts +14 -1
  16. package/dist/_dts/preview-next/src/client/blocks/composer/mergeDrafts.d.ts +1 -1
  17. package/dist/_dts/preview-next/src/client/blocks/previewProjection/applyPreviewProjections.d.ts +3 -1
  18. package/dist/_dts/preview-next/src/client/blocks/previewProjection/runtimeContentDecoration.d.ts +2 -2
  19. package/dist/_dts/preview-next/src/client/preview/PreviewChromeLayer.d.ts +2 -1
  20. package/dist/_dts/preview-next/src/client/preview/StyleConfigurator.state.d.ts +43 -7
  21. package/dist/_dts/preview-next/src/client/preview/siteStylePreviewPlanner.d.ts +4 -4
  22. package/dist/_dts/preview-next/src/client/preview/styleConfiguratorApplyPayload.d.ts +1 -1
  23. package/dist/_dts/preview-next/src/client/preview/typographySelectionInput.d.ts +4 -2
  24. package/dist/_dts/sdk/src/version.d.ts +1 -1
  25. package/dist/_dts/theme-core/src/site-styles/designState.d.ts +4 -2
  26. package/dist/_dts/theme-core/src/site-styles/headerLooks.d.ts +4 -4
  27. package/dist/_dts/theme-core/src/site-styles/previewCompiler.d.ts +6 -1
  28. package/dist/_dts/theme-core/src/site-styles/rawStyleFields.d.ts +3 -3
  29. package/dist/_dts/theme-core/src/site-styles/runtimeCompiler.d.ts +24 -1
  30. package/dist/cli/index.mjs +31 -15
  31. package/dist/client/client.mjs +44 -16
  32. package/dist/client/hooks.mjs +14 -5
  33. package/dist/client/rendering/client.mjs +21 -13
  34. package/dist/client/rendering.mjs +43 -15
  35. package/dist/preview-next/before-render.mjs +1 -1
  36. package/dist/preview-next/client/runtime.mjs +4 -4
  37. package/dist/{previewAuthStore-Da74OL0X.mjs → previewAuthStore-ByPPZqmp.mjs} +1 -0
  38. package/dist/{sdk-runtime-CP6Kwalv.mjs → sdk-runtime-K8Oqj97H.mjs} +2 -2
  39. package/dist/{separator-BVk7GvGN.mjs → separator-CRoP34pT.mjs} +1 -1
  40. package/dist/server/components.mjs +37 -13
  41. package/dist/server/config-validation.mjs +14 -5
  42. package/dist/server/config.mjs +14 -5
  43. package/dist/server/data.mjs +14 -5
  44. package/dist/server/index.mjs +2 -2
  45. package/dist/server/next.mjs +38 -14
  46. package/dist/server/page-converter.mjs +7 -4
  47. package/dist/server/prebuild.mjs +1 -1
  48. package/dist/server/rendering/server.mjs +37 -13
  49. package/dist/server/rendering.mjs +37 -13
  50. package/dist/server/routing.mjs +16 -6
  51. package/dist/server/server.mjs +15 -6
  52. package/dist/server/theme-bridge.mjs +5 -4
  53. package/dist/server/theme.mjs +1 -0
  54. package/package.json +1 -1
@@ -713,7 +713,9 @@ var DEFAULT_LOCALE, FALLBACK_TIMEZONE, DEFAULT_BOOKING_DATE_TIME_FORMAT, LOCAL_D
713
713
  };
714
714
  LOCAL_DATE_PATTERN = /^(?<year>\d{4})-(?<month>\d{2})-(?<day>\d{2})$/u;
715
715
  }));
716
- var init_person_records = __esmMin((() => {}));
716
+ var init_person_records = __esmMin((() => {
717
+ init_result();
718
+ }));
717
719
  var init_rectification = __esmMin((() => {}));
718
720
  //#endregion
719
721
  //#region ../core/src/location.ts
@@ -1128,7 +1130,9 @@ var init_videoSlotPolicy = __esmMin((() => {
1128
1130
  init_fileDomain();
1129
1131
  init_videoPrep();
1130
1132
  }));
1131
- var init_identifiers = __esmMin((() => {}));
1133
+ var init_identifiers = __esmMin((() => {
1134
+ init_src$3();
1135
+ }));
1132
1136
  //#endregion
1133
1137
  //#region ../media-core/src/url.ts
1134
1138
  function isRelativeDirectImageStoragePath(storagePath) {
@@ -11104,6 +11108,7 @@ var init_rawStyleFields = __esmMin((() => {
11104
11108
  "_sectionStyles",
11105
11109
  "_containerStyles",
11106
11110
  "_cardStyles",
11111
+ "_transitionStyles",
11107
11112
  "styleGroup"
11108
11113
  ];
11109
11114
  themeV2BlockSpecificRawStyleFieldNames = [
@@ -14426,12 +14431,12 @@ var init_headerLooks = __esmMin((() => {
14426
14431
  },
14427
14432
  {
14428
14433
  id: asHeaderStyleId("fine-line"),
14429
- label: "Fine Line",
14430
- description: "Light surface with a crisp lower rule and underline hover.",
14434
+ label: "Seamless",
14435
+ description: "Borderless surface with underline hover for a quieter page transition.",
14431
14436
  supportedLayoutIds: supportedLayouts(["classic", "centered"]),
14432
14437
  navInteraction: "underline-grow",
14433
- surface: "bordered",
14434
- defaultDepth: "line",
14438
+ surface: "neutral",
14439
+ defaultDepth: "none",
14435
14440
  navTypography: "plain",
14436
14441
  moods: [
14437
14442
  "calm",
@@ -117031,6 +117036,7 @@ const eventListingBlockDefinition = {
117031
117036
  } },
117032
117037
  seeAllUrl: { $bind: {
117033
117038
  from: "content.seeAllUrl",
117039
+ fallback: "",
117034
117040
  transforms: [{ id: "links.resolve" }]
117035
117041
  } },
117036
117042
  loadMoreText: { $bind: {
@@ -117198,6 +117204,7 @@ const eventCalendarLayout = [styledSection({
117198
117204
  } },
117199
117205
  seeAllUrl: { $bind: {
117200
117206
  from: "content.seeAllUrl",
117207
+ fallback: "",
117201
117208
  transforms: [{ id: "links.resolve" }]
117202
117209
  } },
117203
117210
  loadMoreText: { $bind: {
@@ -123544,15 +123551,15 @@ function Grid({ as: Comp = "div", cols = {
123544
123551
  }
123545
123552
  //#endregion
123546
123553
  //#region ../blocks/src/system/runtime/nodes/layout.tsx
123547
- const SectionNode = ({ blockId: _blockId, blockKind: _blockKind, blockContent: _blockContent, fragmentRegistry: _fragmentRegistry, pathBase: _pathBase, allowOverflow, ...props }) => /* @__PURE__ */ jsx(Section, {
123554
+ const SectionNode = ({ blockId: _blockId, blockKind: _blockKind, blockContent: _blockContent, fragmentRegistry: _fragmentRegistry, previewAuthoring: _previewAuthoring, pathBase: _pathBase, allowOverflow, ...props }) => /* @__PURE__ */ jsx(Section, {
123548
123555
  ...props,
123549
123556
  allowOverflow
123550
123557
  });
123551
- const StackNode = ({ blockId: _blockId, blockKind: _blockKind, blockContent: _blockContent, fragmentRegistry: _fragmentRegistry, pathBase: _pathBase, ...props }) => /* @__PURE__ */ jsx(Stack, { ...props });
123552
- const InlineNode = ({ blockId: _blockId, blockKind: _blockKind, blockContent: _blockContent, fragmentRegistry: _fragmentRegistry, pathBase: _pathBase, ...props }) => /* @__PURE__ */ jsx(Inline, { ...props });
123553
- const GridNode = ({ blockId: _blockId, blockKind: _blockKind, blockContent: _blockContent, fragmentRegistry: _fragmentRegistry, pathBase: _pathBase, ...props }) => /* @__PURE__ */ jsx(Grid, { ...props });
123554
- const DivNode = ({ blockId: _blockId, blockKind: _blockKind, blockContent: _blockContent, fragmentRegistry: _fragmentRegistry, pathBase: _pathBase, ...props }) => /* @__PURE__ */ jsx("div", { ...props });
123555
- const FigureNode = ({ blockId: _blockId, blockKind: _blockKind, blockContent: _blockContent, fragmentRegistry: _fragmentRegistry, pathBase: _pathBase, ...props }) => /* @__PURE__ */ jsx("figure", { ...props });
123558
+ const StackNode = ({ blockId: _blockId, blockKind: _blockKind, blockContent: _blockContent, fragmentRegistry: _fragmentRegistry, previewAuthoring: _previewAuthoring, pathBase: _pathBase, ...props }) => /* @__PURE__ */ jsx(Stack, { ...props });
123559
+ const InlineNode = ({ blockId: _blockId, blockKind: _blockKind, blockContent: _blockContent, fragmentRegistry: _fragmentRegistry, previewAuthoring: _previewAuthoring, pathBase: _pathBase, ...props }) => /* @__PURE__ */ jsx(Inline, { ...props });
123560
+ const GridNode = ({ blockId: _blockId, blockKind: _blockKind, blockContent: _blockContent, fragmentRegistry: _fragmentRegistry, previewAuthoring: _previewAuthoring, pathBase: _pathBase, ...props }) => /* @__PURE__ */ jsx(Grid, { ...props });
123561
+ const DivNode = ({ blockId: _blockId, blockKind: _blockKind, blockContent: _blockContent, fragmentRegistry: _fragmentRegistry, previewAuthoring: _previewAuthoring, pathBase: _pathBase, ...props }) => /* @__PURE__ */ jsx("div", { ...props });
123562
+ const FigureNode = ({ blockId: _blockId, blockKind: _blockKind, blockContent: _blockContent, fragmentRegistry: _fragmentRegistry, previewAuthoring: _previewAuthoring, pathBase: _pathBase, ...props }) => /* @__PURE__ */ jsx("figure", { ...props });
123556
123563
  //#endregion
123557
123564
  //#region ../path-utils/src/index.ts
123558
123565
  const PATH_SEPARATOR_REGEX$1 = /\./g;
@@ -127166,6 +127173,7 @@ function applyTransformsAndFallback(value, binding, context) {
127166
127173
  viewModel: context.viewModel
127167
127174
  }, transforms);
127168
127175
  if (binding.transforms && binding.transforms.length > 0 && transformed === null) {
127176
+ if (binding.fallback !== void 0) return binding.fallback;
127169
127177
  console.warn("[block-system] Transform returned null for binding", {
127170
127178
  bindingFrom: binding.from,
127171
127179
  transforms: binding.transforms?.map((t) => t.id)
@@ -129199,7 +129207,7 @@ function generateHeaderRootStyles(header, themeId, tokens, _theme) {
129199
129207
  }
129200
129208
  }
129201
129209
  if (header.positioning === "sticky" || header.positioning === "fixed") {
129202
- const shadowVar = getComponentShadowVar(header.shadow?.elevation ?? "sm");
129210
+ const shadowVar = getComponentShadowVar(header.shadow?.elevation ?? "none");
129203
129211
  if (shadowVar) rules.push(`box-shadow: ${shadowVar};`);
129204
129212
  }
129205
129213
  const baseBlock = `\n${selector} {\n ${rules.join("\n ")}\n}\n`;
@@ -132075,6 +132083,7 @@ function PageRenderer$1({ theme, page, usePlaceholders = false, dataContext, wra
132075
132083
  const wrapperClassName = [`block-${cleanKind}`, wrapBlock ? "group relative" : null].filter(Boolean).join(" ");
132076
132084
  const styleGroup = typeof renderableContent.styleGroup === "string" ? renderableContent.styleGroup : void 0;
132077
132085
  const blockLook = typeof renderableContent.blockLook === "string" ? renderableContent.blockLook : void 0;
132086
+ const transitionStyle = transitionCssVarsStyle(renderableContent);
132078
132087
  const blockElement = /* @__PURE__ */ jsx("div", {
132079
132088
  className: wrapperClassName,
132080
132089
  "data-block": cleanKind,
@@ -132085,6 +132094,7 @@ function PageRenderer$1({ theme, page, usePlaceholders = false, dataContext, wra
132085
132094
  "data-block-look": blockLook,
132086
132095
  "data-page-block-position": blockPosition,
132087
132096
  "data-style-group": styleGroup,
132097
+ style: transitionStyle,
132088
132098
  children: /* @__PURE__ */ jsx(MemoBlockSection, { ...blockSectionProps })
132089
132099
  }, blockKey);
132090
132100
  if (!isSiteStyleTransitionStyleGroup(styleGroup)) return blockElement;
@@ -132092,13 +132102,25 @@ function PageRenderer$1({ theme, page, usePlaceholders = false, dataContext, wra
132092
132102
  "aria-hidden": "true",
132093
132103
  "data-block-transition": "",
132094
132104
  "data-block-transition-for": block.id ?? blockKey,
132095
- "data-style-group": styleGroup
132105
+ "data-style-group": styleGroup,
132106
+ style: transitionStyle
132096
132107
  })] }, blockKey);
132097
132108
  }) });
132098
132109
  }
132099
132110
  function isSiteStyleTransitionStyleGroup(value) {
132100
132111
  return value?.startsWith("site-style-transition-") === true;
132101
132112
  }
132113
+ function transitionCssVarsStyle(content) {
132114
+ const transitionStyles = isObjectRecord$1(content._transitionStyles) ? content._transitionStyles : null;
132115
+ const cssVars = isObjectRecord$1(transitionStyles?.cssVars) ? transitionStyles.cssVars : null;
132116
+ const from = typeof cssVars?.from === "string" ? cssVars.from : null;
132117
+ const to = typeof cssVars?.to === "string" ? cssVars.to : null;
132118
+ if (!from && !to) return void 0;
132119
+ return {
132120
+ ...from ? { "--site-style-transition-from": from } : {},
132121
+ ...to ? { "--site-style-transition-to": to } : {}
132122
+ };
132123
+ }
132102
132124
  function pageBlockPosition(index, blockCount) {
132103
132125
  if (blockCount <= 1) return "only";
132104
132126
  if (index === 0) return "first";
@@ -145618,7 +145640,7 @@ z$1.object({ acceptExtraSiteCharge: z$1.boolean().optional() });
145618
145640
  //#region ../surfaces/src/index.ts
145619
145641
  const SURFACE_IDS = ["core", "macadamia"];
145620
145642
  const DEFAULT_SURFACE_ID = "core";
145621
- SURFACE_IDS.filter((surfaceId) => surfaceId !== DEFAULT_SURFACE_ID);
145643
+ [...SURFACE_IDS.filter((surfaceId) => surfaceId !== DEFAULT_SURFACE_ID)];
145622
145644
  const CANONICAL_REFUND_PLANNER_ERROR_CODES = [
145623
145645
  ...[
145624
145646
  "already_refunded",
@@ -145665,6 +145687,7 @@ const VERTICAL_IDS = [
145665
145687
  "training_provider",
145666
145688
  "retreat_centre",
145667
145689
  "music_school",
145690
+ "voice_singing",
145668
145691
  "performing_arts_school",
145669
145692
  "community_wellbeing",
145670
145693
  "venue_event_space"
@@ -145717,6 +145740,11 @@ const VERTICAL_BOOKING_PRESETS = [
145717
145740
  preset("music_school.terms", "music_school", "course", "Term", "Terms", "Multi-week term blocks or fixed-date group courses."),
145718
145741
  preset("music_school.workshops", "music_school", "workshop", "Workshop", "Workshops", "One-off workshops, masterclasses, or intensives."),
145719
145742
  preset("music_school.performances", "music_school", "performance", "Performance", "Performances", "Concerts, recitals, showcases, or ticketed performances."),
145743
+ preset("voice_singing.lessons", "voice_singing", "appointment", "Voice session", "Voice sessions", "One-to-one singing lessons, voice coaching, or private practice sessions."),
145744
+ preset("voice_singing.classes", "voice_singing", "class", "Ongoing weekly session", "Ongoing weekly sessions", "Regular choirs, voice circles, community singing, or group practice."),
145745
+ preset("voice_singing.terms", "voice_singing", "course", "Singing term", "Singing terms", "Multi-week choir terms, voice courses, or fixed-date group programmes."),
145746
+ preset("voice_singing.workshops", "voice_singing", "workshop", "Workshop", "Workshops", "One-off singing workshops, voice journeys, or devotional singing sessions."),
145747
+ preset("voice_singing.performances", "voice_singing", "performance", "Performance", "Performances", "Choir concerts, sharing events, recitals, or community performances."),
145720
145748
  preset("performing_arts_school.classes", "performing_arts_school", "class", "Class", "Classes", "Regular group classes, rehearsals, or weekly sessions."),
145721
145749
  preset("performing_arts_school.terms", "performing_arts_school", "course", "Term", "Terms", "Multi-week term blocks or fixed-date course groups."),
145722
145750
  preset("performing_arts_school.workshops", "performing_arts_school", "workshop", "Workshop", "Workshops", "One-off workshops, masterclasses, or intensives."),
@@ -5,7 +5,7 @@ import { jsx } from "react/jsx-runtime";
5
5
  //#region ../surfaces/src/index.ts
6
6
  const SURFACE_IDS = ["core", "macadamia"];
7
7
  const DEFAULT_SURFACE_ID = "core";
8
- SURFACE_IDS.filter((surfaceId) => surfaceId !== DEFAULT_SURFACE_ID);
8
+ [...SURFACE_IDS.filter((surfaceId) => surfaceId !== DEFAULT_SURFACE_ID)];
9
9
  //#endregion
10
10
  //#region ../preview-next/src/auth-contract.ts
11
11
  function resolvePreviewAuthMode(previewAuthModeClaim) {
@@ -1,16 +1,16 @@
1
1
  "use client";
2
- import { a as usePreviewLayout, i as useOptionalPreviewLayout, n as createPreviewQueryClient, r as PreviewLayoutProvider, t as PreviewQueryProvider } from "../../PreviewQueryProvider-BICQLAUF.mjs";
2
+ import { a as usePreviewLayout, i as useOptionalPreviewLayout, n as createPreviewQueryClient, r as PreviewLayoutProvider, t as PreviewQueryProvider } from "../../PreviewQueryProvider-ZF6TXq5Q.mjs";
3
3
  import React from "react";
4
4
  import { jsx } from "react/jsx-runtime";
5
5
  //#region src/preview-next/client/runtime.tsx
6
6
  const LazySdkPreviewMode = React.lazy(async () => {
7
- return { default: (await import("../../SdkPreviewModeRuntime-DFQP-Q53.mjs").then((n) => n.n)).SdkPreviewModeRuntime };
7
+ return { default: (await import("../../SdkPreviewModeRuntime-CA2k7Z_T.mjs").then((n) => n.n)).SdkPreviewModeRuntime };
8
8
  });
9
9
  const LazyPreviewShell = React.lazy(async () => {
10
- return { default: (await import("../../sdk-runtime-CP6Kwalv.mjs")).PreviewShell };
10
+ return { default: (await import("../../sdk-runtime-K8Oqj97H.mjs")).PreviewShell };
11
11
  });
12
12
  const LazyPreviewShellLayout = React.lazy(async () => {
13
- return { default: (await import("../../sdk-runtime-CP6Kwalv.mjs")).PreviewShellLayout };
13
+ return { default: (await import("../../sdk-runtime-K8Oqj97H.mjs")).PreviewShellLayout };
14
14
  });
15
15
  function SdkPreviewMode(props) {
16
16
  return /* @__PURE__ */ jsx(React.Suspense, {
@@ -6900,6 +6900,7 @@ const SURFACE_ROOT_HOSTS = {
6900
6900
  }
6901
6901
  };
6902
6902
  const NAMED_SURFACE_IDS = SURFACE_IDS.filter((surfaceId) => surfaceId !== DEFAULT_SURFACE_ID);
6903
+ [...NAMED_SURFACE_IDS];
6903
6904
  /**
6904
6905
  * Normalizes a host-like input for surface matching.
6905
6906
  *
@@ -1,4 +1,4 @@
1
1
  "use client";
2
- import "./PreviewQueryProvider-BICQLAUF.mjs";
3
- import { i as PreviewShellLayout, r as PreviewShell } from "./SdkPreviewModeRuntime-DFQP-Q53.mjs";
2
+ import "./PreviewQueryProvider-ZF6TXq5Q.mjs";
3
+ import { i as PreviewShellLayout, r as PreviewShell } from "./SdkPreviewModeRuntime-CA2k7Z_T.mjs";
4
4
  export { PreviewShell, PreviewShellLayout };
@@ -1,5 +1,5 @@
1
1
  "use client";
2
- import { bu as cn, gu as Primitive } from "./SiteChromeCustomizeContext-GwZc89KN.mjs";
2
+ import { Su as cn, vu as Primitive } from "./SiteChromeCustomizeContext-Bh9-DtMQ.mjs";
3
3
  import * as React$1 from "react";
4
4
  import { jsx } from "react/jsx-runtime";
5
5
  //#region ../../node_modules/.pnpm/@radix-ui+react-separator@1.1.10_@types+react-dom@19.2.3_@types+react@19.2.17__@types+r_adfab47c9055efb8b0c4b77a2b96b053/node_modules/@radix-ui/react-separator/dist/index.mjs
@@ -11554,6 +11554,7 @@ const themeV2RuntimeStyleFieldNames = [
11554
11554
  "_sectionStyles",
11555
11555
  "_containerStyles",
11556
11556
  "_cardStyles",
11557
+ "_transitionStyles",
11557
11558
  "styleGroup"
11558
11559
  ];
11559
11560
  const themeV2BlockSpecificRawStyleFieldNames = [
@@ -14655,12 +14656,12 @@ const headerStyleCatalog = defineExactCatalog()([
14655
14656
  },
14656
14657
  {
14657
14658
  id: asHeaderStyleId("fine-line"),
14658
- label: "Fine Line",
14659
- description: "Light surface with a crisp lower rule and underline hover.",
14659
+ label: "Seamless",
14660
+ description: "Borderless surface with underline hover for a quieter page transition.",
14660
14661
  supportedLayoutIds: supportedLayouts(["classic", "centered"]),
14661
14662
  navInteraction: "underline-grow",
14662
- surface: "bordered",
14663
- defaultDepth: "line",
14663
+ surface: "neutral",
14664
+ defaultDepth: "none",
14664
14665
  navTypography: "plain",
14665
14666
  moods: [
14666
14667
  "calm",
@@ -34428,6 +34429,7 @@ const eventListingBlockDefinition = {
34428
34429
  } },
34429
34430
  seeAllUrl: { $bind: {
34430
34431
  from: "content.seeAllUrl",
34432
+ fallback: "",
34431
34433
  transforms: [{ id: "links.resolve" }]
34432
34434
  } },
34433
34435
  loadMoreText: { $bind: {
@@ -34764,6 +34766,7 @@ const eventCalendarLayout = [styledSection({
34764
34766
  } },
34765
34767
  seeAllUrl: { $bind: {
34766
34768
  from: "content.seeAllUrl",
34769
+ fallback: "",
34767
34770
  transforms: [{ id: "links.resolve" }]
34768
34771
  } },
34769
34772
  loadMoreText: { $bind: {
@@ -42082,15 +42085,15 @@ function Grid({ as: Comp = "div", cols = {
42082
42085
  }
42083
42086
  //#endregion
42084
42087
  //#region ../blocks/src/system/runtime/nodes/layout.tsx
42085
- const SectionNode = ({ blockId: _blockId, blockKind: _blockKind, blockContent: _blockContent, fragmentRegistry: _fragmentRegistry, pathBase: _pathBase, allowOverflow, ...props }) => /* @__PURE__ */ jsx(Section, {
42088
+ const SectionNode = ({ blockId: _blockId, blockKind: _blockKind, blockContent: _blockContent, fragmentRegistry: _fragmentRegistry, previewAuthoring: _previewAuthoring, pathBase: _pathBase, allowOverflow, ...props }) => /* @__PURE__ */ jsx(Section, {
42086
42089
  ...props,
42087
42090
  allowOverflow
42088
42091
  });
42089
- const StackNode = ({ blockId: _blockId, blockKind: _blockKind, blockContent: _blockContent, fragmentRegistry: _fragmentRegistry, pathBase: _pathBase, ...props }) => /* @__PURE__ */ jsx(Stack, { ...props });
42090
- const InlineNode = ({ blockId: _blockId, blockKind: _blockKind, blockContent: _blockContent, fragmentRegistry: _fragmentRegistry, pathBase: _pathBase, ...props }) => /* @__PURE__ */ jsx(Inline, { ...props });
42091
- const GridNode = ({ blockId: _blockId, blockKind: _blockKind, blockContent: _blockContent, fragmentRegistry: _fragmentRegistry, pathBase: _pathBase, ...props }) => /* @__PURE__ */ jsx(Grid, { ...props });
42092
- const DivNode = ({ blockId: _blockId, blockKind: _blockKind, blockContent: _blockContent, fragmentRegistry: _fragmentRegistry, pathBase: _pathBase, ...props }) => /* @__PURE__ */ jsx("div", { ...props });
42093
- const FigureNode = ({ blockId: _blockId, blockKind: _blockKind, blockContent: _blockContent, fragmentRegistry: _fragmentRegistry, pathBase: _pathBase, ...props }) => /* @__PURE__ */ jsx("figure", { ...props });
42092
+ const StackNode = ({ blockId: _blockId, blockKind: _blockKind, blockContent: _blockContent, fragmentRegistry: _fragmentRegistry, previewAuthoring: _previewAuthoring, pathBase: _pathBase, ...props }) => /* @__PURE__ */ jsx(Stack, { ...props });
42093
+ const InlineNode = ({ blockId: _blockId, blockKind: _blockKind, blockContent: _blockContent, fragmentRegistry: _fragmentRegistry, previewAuthoring: _previewAuthoring, pathBase: _pathBase, ...props }) => /* @__PURE__ */ jsx(Inline, { ...props });
42094
+ const GridNode = ({ blockId: _blockId, blockKind: _blockKind, blockContent: _blockContent, fragmentRegistry: _fragmentRegistry, previewAuthoring: _previewAuthoring, pathBase: _pathBase, ...props }) => /* @__PURE__ */ jsx(Grid, { ...props });
42095
+ const DivNode = ({ blockId: _blockId, blockKind: _blockKind, blockContent: _blockContent, fragmentRegistry: _fragmentRegistry, previewAuthoring: _previewAuthoring, pathBase: _pathBase, ...props }) => /* @__PURE__ */ jsx("div", { ...props });
42096
+ const FigureNode = ({ blockId: _blockId, blockKind: _blockKind, blockContent: _blockContent, fragmentRegistry: _fragmentRegistry, previewAuthoring: _previewAuthoring, pathBase: _pathBase, ...props }) => /* @__PURE__ */ jsx("figure", { ...props });
42094
42097
  //#endregion
42095
42098
  //#region ../path-utils/src/index.ts
42096
42099
  const PATH_SEPARATOR_REGEX$1 = /\./g;
@@ -49811,6 +49814,7 @@ function applyTransformsAndFallback(value, binding, context) {
49811
49814
  viewModel: context.viewModel
49812
49815
  }, transforms);
49813
49816
  if (binding.transforms && binding.transforms.length > 0 && transformed === null) {
49817
+ if (binding.fallback !== void 0) return binding.fallback;
49814
49818
  if (process.env.NODE_ENV === "development") console.warn("[block-system] Transform returned null for binding", {
49815
49819
  bindingFrom: binding.from,
49816
49820
  transforms: binding.transforms?.map((t) => t.id)
@@ -51824,7 +51828,7 @@ function generateHeaderRootStyles(header, themeId, tokens, _theme) {
51824
51828
  }
51825
51829
  }
51826
51830
  if (header.positioning === "sticky" || header.positioning === "fixed") {
51827
- const shadowVar = getComponentShadowVar(header.shadow?.elevation ?? "sm");
51831
+ const shadowVar = getComponentShadowVar(header.shadow?.elevation ?? "none");
51828
51832
  if (shadowVar) rules.push(`box-shadow: ${shadowVar};`);
51829
51833
  }
51830
51834
  const baseBlock = `\n${selector} {\n ${rules.join("\n ")}\n}\n`;
@@ -54676,6 +54680,7 @@ function PageRenderer$1({ theme, page, usePlaceholders = false, dataContext, wra
54676
54680
  const wrapperClassName = [`block-${cleanKind}`, wrapBlock ? "group relative" : null].filter(Boolean).join(" ");
54677
54681
  const styleGroup = typeof renderableContent.styleGroup === "string" ? renderableContent.styleGroup : void 0;
54678
54682
  const blockLook = typeof renderableContent.blockLook === "string" ? renderableContent.blockLook : void 0;
54683
+ const transitionStyle = transitionCssVarsStyle(renderableContent);
54679
54684
  const blockElement = /* @__PURE__ */ jsx("div", {
54680
54685
  className: wrapperClassName,
54681
54686
  "data-block": cleanKind,
@@ -54686,6 +54691,7 @@ function PageRenderer$1({ theme, page, usePlaceholders = false, dataContext, wra
54686
54691
  "data-block-look": blockLook,
54687
54692
  "data-page-block-position": blockPosition,
54688
54693
  "data-style-group": styleGroup,
54694
+ style: transitionStyle,
54689
54695
  children: /* @__PURE__ */ jsx(MemoBlockSection, { ...blockSectionProps })
54690
54696
  }, blockKey);
54691
54697
  if (!isSiteStyleTransitionStyleGroup(styleGroup)) return blockElement;
@@ -54693,13 +54699,25 @@ function PageRenderer$1({ theme, page, usePlaceholders = false, dataContext, wra
54693
54699
  "aria-hidden": "true",
54694
54700
  "data-block-transition": "",
54695
54701
  "data-block-transition-for": block.id ?? blockKey,
54696
- "data-style-group": styleGroup
54702
+ "data-style-group": styleGroup,
54703
+ style: transitionStyle
54697
54704
  })] }, blockKey);
54698
54705
  }) });
54699
54706
  }
54700
54707
  function isSiteStyleTransitionStyleGroup(value) {
54701
54708
  return value?.startsWith("site-style-transition-") === true;
54702
54709
  }
54710
+ function transitionCssVarsStyle(content) {
54711
+ const transitionStyles = isObjectRecord(content._transitionStyles) ? content._transitionStyles : null;
54712
+ const cssVars = isObjectRecord(transitionStyles?.cssVars) ? transitionStyles.cssVars : null;
54713
+ const from = typeof cssVars?.from === "string" ? cssVars.from : null;
54714
+ const to = typeof cssVars?.to === "string" ? cssVars.to : null;
54715
+ if (!from && !to) return void 0;
54716
+ return {
54717
+ ...from ? { "--site-style-transition-from": from } : {},
54718
+ ...to ? { "--site-style-transition-to": to } : {}
54719
+ };
54720
+ }
54703
54721
  function pageBlockPosition(index, blockCount) {
54704
54722
  if (blockCount <= 1) return "only";
54705
54723
  if (index === 0) return "first";
@@ -67934,7 +67952,7 @@ z$1.object({ acceptExtraSiteCharge: z$1.boolean().optional() });
67934
67952
  //#region ../surfaces/src/index.ts
67935
67953
  const SURFACE_IDS = ["core", "macadamia"];
67936
67954
  const DEFAULT_SURFACE_ID = "core";
67937
- SURFACE_IDS.filter((surfaceId) => surfaceId !== DEFAULT_SURFACE_ID);
67955
+ [...SURFACE_IDS.filter((surfaceId) => surfaceId !== DEFAULT_SURFACE_ID)];
67938
67956
  const CANONICAL_REFUND_PLANNER_ERROR_CODES = [
67939
67957
  ...[
67940
67958
  "already_refunded",
@@ -67981,6 +67999,7 @@ const VERTICAL_IDS = [
67981
67999
  "training_provider",
67982
68000
  "retreat_centre",
67983
68001
  "music_school",
68002
+ "voice_singing",
67984
68003
  "performing_arts_school",
67985
68004
  "community_wellbeing",
67986
68005
  "venue_event_space"
@@ -68033,6 +68052,11 @@ const VERTICAL_BOOKING_PRESETS = [
68033
68052
  preset("music_school.terms", "music_school", "course", "Term", "Terms", "Multi-week term blocks or fixed-date group courses."),
68034
68053
  preset("music_school.workshops", "music_school", "workshop", "Workshop", "Workshops", "One-off workshops, masterclasses, or intensives."),
68035
68054
  preset("music_school.performances", "music_school", "performance", "Performance", "Performances", "Concerts, recitals, showcases, or ticketed performances."),
68055
+ preset("voice_singing.lessons", "voice_singing", "appointment", "Voice session", "Voice sessions", "One-to-one singing lessons, voice coaching, or private practice sessions."),
68056
+ preset("voice_singing.classes", "voice_singing", "class", "Ongoing weekly session", "Ongoing weekly sessions", "Regular choirs, voice circles, community singing, or group practice."),
68057
+ preset("voice_singing.terms", "voice_singing", "course", "Singing term", "Singing terms", "Multi-week choir terms, voice courses, or fixed-date group programmes."),
68058
+ preset("voice_singing.workshops", "voice_singing", "workshop", "Workshop", "Workshops", "One-off singing workshops, voice journeys, or devotional singing sessions."),
68059
+ preset("voice_singing.performances", "voice_singing", "performance", "Performance", "Performances", "Choir concerts, sharing events, recitals, or community performances."),
68036
68060
  preset("performing_arts_school.classes", "performing_arts_school", "class", "Class", "Classes", "Regular group classes, rehearsals, or weekly sessions."),
68037
68061
  preset("performing_arts_school.terms", "performing_arts_school", "course", "Term", "Terms", "Multi-week term blocks or fixed-date course groups."),
68038
68062
  preset("performing_arts_school.workshops", "performing_arts_school", "workshop", "Workshop", "Workshops", "One-off workshops, masterclasses, or intensives."),
@@ -4255,6 +4255,7 @@ const themeV2RuntimeStyleFieldNames = [
4255
4255
  "_sectionStyles",
4256
4256
  "_containerStyles",
4257
4257
  "_cardStyles",
4258
+ "_transitionStyles",
4258
4259
  "styleGroup"
4259
4260
  ];
4260
4261
  const themeV2BlockSpecificRawStyleFieldNames = [
@@ -8012,12 +8013,12 @@ const headerStyleCatalog = defineExactCatalog()([
8012
8013
  },
8013
8014
  {
8014
8015
  id: asHeaderStyleId("fine-line"),
8015
- label: "Fine Line",
8016
- description: "Light surface with a crisp lower rule and underline hover.",
8016
+ label: "Seamless",
8017
+ description: "Borderless surface with underline hover for a quieter page transition.",
8017
8018
  supportedLayoutIds: supportedLayouts(["classic", "centered"]),
8018
8019
  navInteraction: "underline-grow",
8019
- surface: "bordered",
8020
- defaultDepth: "line",
8020
+ surface: "neutral",
8021
+ defaultDepth: "none",
8021
8022
  navTypography: "plain",
8022
8023
  moods: [
8023
8024
  "calm",
@@ -26033,6 +26034,7 @@ const eventListingBlockDefinition = {
26033
26034
  } },
26034
26035
  seeAllUrl: { $bind: {
26035
26036
  from: "content.seeAllUrl",
26037
+ fallback: "",
26036
26038
  transforms: [{ id: "links.resolve" }]
26037
26039
  } },
26038
26040
  loadMoreText: { $bind: {
@@ -26336,6 +26338,7 @@ const eventCalendarLayout = [styledSection({
26336
26338
  } },
26337
26339
  seeAllUrl: { $bind: {
26338
26340
  from: "content.seeAllUrl",
26341
+ fallback: "",
26339
26342
  transforms: [{ id: "links.resolve" }]
26340
26343
  } },
26341
26344
  loadMoreText: { $bind: {
@@ -33318,7 +33321,7 @@ z$1.object({ acceptExtraSiteCharge: z$1.boolean().optional() });
33318
33321
  //#region ../surfaces/src/index.ts
33319
33322
  const SURFACE_IDS = ["core", "macadamia"];
33320
33323
  const DEFAULT_SURFACE_ID = "core";
33321
- SURFACE_IDS.filter((surfaceId) => surfaceId !== DEFAULT_SURFACE_ID);
33324
+ [...SURFACE_IDS.filter((surfaceId) => surfaceId !== DEFAULT_SURFACE_ID)];
33322
33325
  const CANONICAL_REFUND_PLANNER_ERROR_CODES = [
33323
33326
  ...[
33324
33327
  "already_refunded",
@@ -33367,6 +33370,7 @@ const VERTICAL_IDS = [
33367
33370
  "training_provider",
33368
33371
  "retreat_centre",
33369
33372
  "music_school",
33373
+ "voice_singing",
33370
33374
  "performing_arts_school",
33371
33375
  "community_wellbeing",
33372
33376
  "venue_event_space"
@@ -33419,6 +33423,11 @@ const VERTICAL_BOOKING_PRESETS = [
33419
33423
  preset("music_school.terms", "music_school", "course", "Term", "Terms", "Multi-week term blocks or fixed-date group courses."),
33420
33424
  preset("music_school.workshops", "music_school", "workshop", "Workshop", "Workshops", "One-off workshops, masterclasses, or intensives."),
33421
33425
  preset("music_school.performances", "music_school", "performance", "Performance", "Performances", "Concerts, recitals, showcases, or ticketed performances."),
33426
+ preset("voice_singing.lessons", "voice_singing", "appointment", "Voice session", "Voice sessions", "One-to-one singing lessons, voice coaching, or private practice sessions."),
33427
+ preset("voice_singing.classes", "voice_singing", "class", "Ongoing weekly session", "Ongoing weekly sessions", "Regular choirs, voice circles, community singing, or group practice."),
33428
+ preset("voice_singing.terms", "voice_singing", "course", "Singing term", "Singing terms", "Multi-week choir terms, voice courses, or fixed-date group programmes."),
33429
+ preset("voice_singing.workshops", "voice_singing", "workshop", "Workshop", "Workshops", "One-off singing workshops, voice journeys, or devotional singing sessions."),
33430
+ preset("voice_singing.performances", "voice_singing", "performance", "Performance", "Performances", "Choir concerts, sharing events, recitals, or community performances."),
33422
33431
  preset("performing_arts_school.classes", "performing_arts_school", "class", "Class", "Classes", "Regular group classes, rehearsals, or weekly sessions."),
33423
33432
  preset("performing_arts_school.terms", "performing_arts_school", "course", "Term", "Terms", "Multi-week term blocks or fixed-date course groups."),
33424
33433
  preset("performing_arts_school.workshops", "performing_arts_school", "workshop", "Workshop", "Workshops", "One-off workshops, masterclasses, or intensives."),
@@ -4300,6 +4300,7 @@ const themeV2RuntimeStyleFieldNames = [
4300
4300
  "_sectionStyles",
4301
4301
  "_containerStyles",
4302
4302
  "_cardStyles",
4303
+ "_transitionStyles",
4303
4304
  "styleGroup"
4304
4305
  ];
4305
4306
  const themeV2BlockSpecificRawStyleFieldNames = [
@@ -8057,12 +8058,12 @@ const headerStyleCatalog = defineExactCatalog()([
8057
8058
  },
8058
8059
  {
8059
8060
  id: asHeaderStyleId("fine-line"),
8060
- label: "Fine Line",
8061
- description: "Light surface with a crisp lower rule and underline hover.",
8061
+ label: "Seamless",
8062
+ description: "Borderless surface with underline hover for a quieter page transition.",
8062
8063
  supportedLayoutIds: supportedLayouts(["classic", "centered"]),
8063
8064
  navInteraction: "underline-grow",
8064
- surface: "bordered",
8065
- defaultDepth: "line",
8065
+ surface: "neutral",
8066
+ defaultDepth: "none",
8066
8067
  navTypography: "plain",
8067
8068
  moods: [
8068
8069
  "calm",
@@ -26078,6 +26079,7 @@ const eventListingBlockDefinition = {
26078
26079
  } },
26079
26080
  seeAllUrl: { $bind: {
26080
26081
  from: "content.seeAllUrl",
26082
+ fallback: "",
26081
26083
  transforms: [{ id: "links.resolve" }]
26082
26084
  } },
26083
26085
  loadMoreText: { $bind: {
@@ -26381,6 +26383,7 @@ const eventCalendarLayout = [styledSection({
26381
26383
  } },
26382
26384
  seeAllUrl: { $bind: {
26383
26385
  from: "content.seeAllUrl",
26386
+ fallback: "",
26384
26387
  transforms: [{ id: "links.resolve" }]
26385
26388
  } },
26386
26389
  loadMoreText: { $bind: {
@@ -33363,7 +33366,7 @@ z$1.object({ acceptExtraSiteCharge: z$1.boolean().optional() });
33363
33366
  //#region ../surfaces/src/index.ts
33364
33367
  const SURFACE_IDS = ["core", "macadamia"];
33365
33368
  const DEFAULT_SURFACE_ID = "core";
33366
- SURFACE_IDS.filter((surfaceId) => surfaceId !== DEFAULT_SURFACE_ID);
33369
+ [...SURFACE_IDS.filter((surfaceId) => surfaceId !== DEFAULT_SURFACE_ID)];
33367
33370
  const CANONICAL_REFUND_PLANNER_ERROR_CODES = [
33368
33371
  ...[
33369
33372
  "already_refunded",
@@ -33412,6 +33415,7 @@ const VERTICAL_IDS = [
33412
33415
  "training_provider",
33413
33416
  "retreat_centre",
33414
33417
  "music_school",
33418
+ "voice_singing",
33415
33419
  "performing_arts_school",
33416
33420
  "community_wellbeing",
33417
33421
  "venue_event_space"
@@ -33464,6 +33468,11 @@ const VERTICAL_BOOKING_PRESETS = [
33464
33468
  preset("music_school.terms", "music_school", "course", "Term", "Terms", "Multi-week term blocks or fixed-date group courses."),
33465
33469
  preset("music_school.workshops", "music_school", "workshop", "Workshop", "Workshops", "One-off workshops, masterclasses, or intensives."),
33466
33470
  preset("music_school.performances", "music_school", "performance", "Performance", "Performances", "Concerts, recitals, showcases, or ticketed performances."),
33471
+ preset("voice_singing.lessons", "voice_singing", "appointment", "Voice session", "Voice sessions", "One-to-one singing lessons, voice coaching, or private practice sessions."),
33472
+ preset("voice_singing.classes", "voice_singing", "class", "Ongoing weekly session", "Ongoing weekly sessions", "Regular choirs, voice circles, community singing, or group practice."),
33473
+ preset("voice_singing.terms", "voice_singing", "course", "Singing term", "Singing terms", "Multi-week choir terms, voice courses, or fixed-date group programmes."),
33474
+ preset("voice_singing.workshops", "voice_singing", "workshop", "Workshop", "Workshops", "One-off singing workshops, voice journeys, or devotional singing sessions."),
33475
+ preset("voice_singing.performances", "voice_singing", "performance", "Performance", "Performances", "Choir concerts, sharing events, recitals, or community performances."),
33467
33476
  preset("performing_arts_school.classes", "performing_arts_school", "class", "Class", "Classes", "Regular group classes, rehearsals, or weekly sessions."),
33468
33477
  preset("performing_arts_school.terms", "performing_arts_school", "course", "Term", "Terms", "Multi-week term blocks or fixed-date course groups."),
33469
33478
  preset("performing_arts_school.workshops", "performing_arts_school", "workshop", "Workshop", "Workshops", "One-off workshops, masterclasses, or intensives."),
@@ -4260,6 +4260,7 @@ const themeV2RuntimeStyleFieldNames = [
4260
4260
  "_sectionStyles",
4261
4261
  "_containerStyles",
4262
4262
  "_cardStyles",
4263
+ "_transitionStyles",
4263
4264
  "styleGroup"
4264
4265
  ];
4265
4266
  const themeV2BlockSpecificRawStyleFieldNames = [
@@ -8119,12 +8120,12 @@ const headerStyleCatalog = defineExactCatalog()([
8119
8120
  },
8120
8121
  {
8121
8122
  id: asHeaderStyleId("fine-line"),
8122
- label: "Fine Line",
8123
- description: "Light surface with a crisp lower rule and underline hover.",
8123
+ label: "Seamless",
8124
+ description: "Borderless surface with underline hover for a quieter page transition.",
8124
8125
  supportedLayoutIds: supportedLayouts(["classic", "centered"]),
8125
8126
  navInteraction: "underline-grow",
8126
- surface: "bordered",
8127
- defaultDepth: "line",
8127
+ surface: "neutral",
8128
+ defaultDepth: "none",
8128
8129
  navTypography: "plain",
8129
8130
  moods: [
8130
8131
  "calm",
@@ -26044,6 +26045,7 @@ const eventListingBlockDefinition = {
26044
26045
  } },
26045
26046
  seeAllUrl: { $bind: {
26046
26047
  from: "content.seeAllUrl",
26048
+ fallback: "",
26047
26049
  transforms: [{ id: "links.resolve" }]
26048
26050
  } },
26049
26051
  loadMoreText: { $bind: {
@@ -26347,6 +26349,7 @@ const eventCalendarLayout = [styledSection({
26347
26349
  } },
26348
26350
  seeAllUrl: { $bind: {
26349
26351
  from: "content.seeAllUrl",
26352
+ fallback: "",
26350
26353
  transforms: [{ id: "links.resolve" }]
26351
26354
  } },
26352
26355
  loadMoreText: { $bind: {
@@ -33777,7 +33780,7 @@ z$1.object({ acceptExtraSiteCharge: z$1.boolean().optional() });
33777
33780
  //#region ../surfaces/src/index.ts
33778
33781
  const SURFACE_IDS = ["core", "macadamia"];
33779
33782
  const DEFAULT_SURFACE_ID = "core";
33780
- SURFACE_IDS.filter((surfaceId) => surfaceId !== DEFAULT_SURFACE_ID);
33783
+ [...SURFACE_IDS.filter((surfaceId) => surfaceId !== DEFAULT_SURFACE_ID)];
33781
33784
  const CANONICAL_REFUND_PLANNER_ERROR_CODES = [
33782
33785
  ...[
33783
33786
  "already_refunded",
@@ -33826,6 +33829,7 @@ const VERTICAL_IDS = [
33826
33829
  "training_provider",
33827
33830
  "retreat_centre",
33828
33831
  "music_school",
33832
+ "voice_singing",
33829
33833
  "performing_arts_school",
33830
33834
  "community_wellbeing",
33831
33835
  "venue_event_space"
@@ -33878,6 +33882,11 @@ const VERTICAL_BOOKING_PRESETS = [
33878
33882
  preset("music_school.terms", "music_school", "course", "Term", "Terms", "Multi-week term blocks or fixed-date group courses."),
33879
33883
  preset("music_school.workshops", "music_school", "workshop", "Workshop", "Workshops", "One-off workshops, masterclasses, or intensives."),
33880
33884
  preset("music_school.performances", "music_school", "performance", "Performance", "Performances", "Concerts, recitals, showcases, or ticketed performances."),
33885
+ preset("voice_singing.lessons", "voice_singing", "appointment", "Voice session", "Voice sessions", "One-to-one singing lessons, voice coaching, or private practice sessions."),
33886
+ preset("voice_singing.classes", "voice_singing", "class", "Ongoing weekly session", "Ongoing weekly sessions", "Regular choirs, voice circles, community singing, or group practice."),
33887
+ preset("voice_singing.terms", "voice_singing", "course", "Singing term", "Singing terms", "Multi-week choir terms, voice courses, or fixed-date group programmes."),
33888
+ preset("voice_singing.workshops", "voice_singing", "workshop", "Workshop", "Workshops", "One-off singing workshops, voice journeys, or devotional singing sessions."),
33889
+ preset("voice_singing.performances", "voice_singing", "performance", "Performance", "Performances", "Choir concerts, sharing events, recitals, or community performances."),
33881
33890
  preset("performing_arts_school.classes", "performing_arts_school", "class", "Class", "Classes", "Regular group classes, rehearsals, or weekly sessions."),
33882
33891
  preset("performing_arts_school.terms", "performing_arts_school", "course", "Term", "Terms", "Multi-week term blocks or fixed-date course groups."),
33883
33892
  preset("performing_arts_school.workshops", "performing_arts_school", "workshop", "Workshop", "Workshops", "One-off workshops, masterclasses, or intensives."),
@@ -6893,7 +6893,7 @@ const API_ENDPOINTS$1 = {
6893
6893
  //#region ../surfaces/src/index.ts
6894
6894
  const SURFACE_IDS = ["core", "macadamia"];
6895
6895
  const DEFAULT_SURFACE_ID = "core";
6896
- SURFACE_IDS.filter((surfaceId) => surfaceId !== DEFAULT_SURFACE_ID);
6896
+ [...SURFACE_IDS.filter((surfaceId) => surfaceId !== DEFAULT_SURFACE_ID)];
6897
6897
  //#endregion
6898
6898
  //#region ../api/src/url.ts
6899
6899
  function looksLikeLocalAuthority(authority) {
@@ -7502,7 +7502,7 @@ var SimpleCache = class {
7502
7502
  * 1. This constant
7503
7503
  * 2. The "version" field in package.json
7504
7504
  */
7505
- const SDK_VERSION = "0.101.0";
7505
+ const SDK_VERSION = "0.102.0";
7506
7506
  //#endregion
7507
7507
  //#region src/client/error.ts
7508
7508
  let _Symbol$for;