@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
@@ -7459,7 +7459,9 @@ var DEFAULT_LOCALE, FALLBACK_TIMEZONE, DEFAULT_BOOKING_DATE_TIME_FORMAT, LOCAL_D
7459
7459
  };
7460
7460
  LOCAL_DATE_PATTERN = /^(?<year>\d{4})-(?<month>\d{2})-(?<day>\d{2})$/u;
7461
7461
  }));
7462
- var init_person_records = __esmMin((() => {}));
7462
+ var init_person_records = __esmMin((() => {
7463
+ init_result();
7464
+ }));
7463
7465
  var init_rectification = __esmMin((() => {}));
7464
7466
  //#endregion
7465
7467
  //#region ../core/src/location.ts
@@ -8178,15 +8180,19 @@ function slugifyMediaIdentifier(value) {
8178
8180
  function buildMediaIdentifierFromFilename(filename) {
8179
8181
  return slugifyMediaIdentifier(stripFileExtension(filename));
8180
8182
  }
8183
+ function unsafeAsMediaIdentifier(value) {
8184
+ return value;
8185
+ }
8181
8186
  function resolveMediaIdentifier(base, existing) {
8182
8187
  const seed = slugifyMediaIdentifier(base) || FALLBACK_IDENTIFIER;
8183
- if (!existing.has(seed)) return seed;
8188
+ if (!existing.has(seed)) return unsafeAsMediaIdentifier(seed);
8184
8189
  let index = 1;
8185
8190
  while (existing.has(`${seed}-${index}`)) index += 1;
8186
- return `${seed}-${index}`;
8191
+ return unsafeAsMediaIdentifier(`${seed}-${index}`);
8187
8192
  }
8188
8193
  var FALLBACK_IDENTIFIER, extensionPattern;
8189
8194
  var init_identifiers = __esmMin((() => {
8195
+ init_src$4();
8190
8196
  FALLBACK_IDENTIFIER = "media";
8191
8197
  extensionPattern = /\.[^/.]+$/;
8192
8198
  }));
@@ -18192,6 +18198,7 @@ var init_rawStyleFields = __esmMin((() => {
18192
18198
  "_sectionStyles",
18193
18199
  "_containerStyles",
18194
18200
  "_cardStyles",
18201
+ "_transitionStyles",
18195
18202
  "styleGroup"
18196
18203
  ];
18197
18204
  themeV2BlockSpecificRawStyleFieldNames = [
@@ -21616,12 +21623,12 @@ var init_headerLooks = __esmMin((() => {
21616
21623
  },
21617
21624
  {
21618
21625
  id: asHeaderStyleId("fine-line"),
21619
- label: "Fine Line",
21620
- description: "Light surface with a crisp lower rule and underline hover.",
21626
+ label: "Seamless",
21627
+ description: "Borderless surface with underline hover for a quieter page transition.",
21621
21628
  supportedLayoutIds: supportedLayouts(["classic", "centered"]),
21622
21629
  navInteraction: "underline-grow",
21623
- surface: "bordered",
21624
- defaultDepth: "line",
21630
+ surface: "neutral",
21631
+ defaultDepth: "none",
21625
21632
  navTypography: "plain",
21626
21633
  moods: [
21627
21634
  "calm",
@@ -41917,6 +41924,7 @@ const eventListingBlockDefinition = {
41917
41924
  } },
41918
41925
  seeAllUrl: { $bind: {
41919
41926
  from: "content.seeAllUrl",
41927
+ fallback: "",
41920
41928
  transforms: [{ id: "links.resolve" }]
41921
41929
  } },
41922
41930
  loadMoreText: { $bind: {
@@ -42310,6 +42318,7 @@ const eventCalendarLayout = [styledSection({
42310
42318
  } },
42311
42319
  seeAllUrl: { $bind: {
42312
42320
  from: "content.seeAllUrl",
42321
+ fallback: "",
42313
42322
  transforms: [{ id: "links.resolve" }]
42314
42323
  } },
42315
42324
  loadMoreText: { $bind: {
@@ -50005,15 +50014,15 @@ function Grid({ as: Comp = "div", cols = {
50005
50014
  }
50006
50015
  //#endregion
50007
50016
  //#region ../blocks/src/system/runtime/nodes/layout.tsx
50008
- const SectionNode = ({ blockId: _blockId, blockKind: _blockKind, blockContent: _blockContent, fragmentRegistry: _fragmentRegistry, pathBase: _pathBase, allowOverflow, ...props }) => /* @__PURE__ */ jsx(Section, {
50017
+ const SectionNode = ({ blockId: _blockId, blockKind: _blockKind, blockContent: _blockContent, fragmentRegistry: _fragmentRegistry, previewAuthoring: _previewAuthoring, pathBase: _pathBase, allowOverflow, ...props }) => /* @__PURE__ */ jsx(Section, {
50009
50018
  ...props,
50010
50019
  allowOverflow
50011
50020
  });
50012
- const StackNode = ({ blockId: _blockId, blockKind: _blockKind, blockContent: _blockContent, fragmentRegistry: _fragmentRegistry, pathBase: _pathBase, ...props }) => /* @__PURE__ */ jsx(Stack, { ...props });
50013
- const InlineNode = ({ blockId: _blockId, blockKind: _blockKind, blockContent: _blockContent, fragmentRegistry: _fragmentRegistry, pathBase: _pathBase, ...props }) => /* @__PURE__ */ jsx(Inline, { ...props });
50014
- const GridNode = ({ blockId: _blockId, blockKind: _blockKind, blockContent: _blockContent, fragmentRegistry: _fragmentRegistry, pathBase: _pathBase, ...props }) => /* @__PURE__ */ jsx(Grid, { ...props });
50015
- const DivNode = ({ blockId: _blockId, blockKind: _blockKind, blockContent: _blockContent, fragmentRegistry: _fragmentRegistry, pathBase: _pathBase, ...props }) => /* @__PURE__ */ jsx("div", { ...props });
50016
- const FigureNode = ({ blockId: _blockId, blockKind: _blockKind, blockContent: _blockContent, fragmentRegistry: _fragmentRegistry, pathBase: _pathBase, ...props }) => /* @__PURE__ */ jsx("figure", { ...props });
50021
+ const StackNode = ({ blockId: _blockId, blockKind: _blockKind, blockContent: _blockContent, fragmentRegistry: _fragmentRegistry, previewAuthoring: _previewAuthoring, pathBase: _pathBase, ...props }) => /* @__PURE__ */ jsx(Stack, { ...props });
50022
+ const InlineNode = ({ blockId: _blockId, blockKind: _blockKind, blockContent: _blockContent, fragmentRegistry: _fragmentRegistry, previewAuthoring: _previewAuthoring, pathBase: _pathBase, ...props }) => /* @__PURE__ */ jsx(Inline, { ...props });
50023
+ const GridNode = ({ blockId: _blockId, blockKind: _blockKind, blockContent: _blockContent, fragmentRegistry: _fragmentRegistry, previewAuthoring: _previewAuthoring, pathBase: _pathBase, ...props }) => /* @__PURE__ */ jsx(Grid, { ...props });
50024
+ const DivNode = ({ blockId: _blockId, blockKind: _blockKind, blockContent: _blockContent, fragmentRegistry: _fragmentRegistry, previewAuthoring: _previewAuthoring, pathBase: _pathBase, ...props }) => /* @__PURE__ */ jsx("div", { ...props });
50025
+ const FigureNode = ({ blockId: _blockId, blockKind: _blockKind, blockContent: _blockContent, fragmentRegistry: _fragmentRegistry, previewAuthoring: _previewAuthoring, pathBase: _pathBase, ...props }) => /* @__PURE__ */ jsx("figure", { ...props });
50017
50026
  //#endregion
50018
50027
  //#region ../path-utils/src/index.ts
50019
50028
  const PATH_SEPARATOR_REGEX$1 = /\./g;
@@ -58359,6 +58368,7 @@ function applyTransformsAndFallback(value, binding, context) {
58359
58368
  viewModel: context.viewModel
58360
58369
  }, transforms);
58361
58370
  if (binding.transforms && binding.transforms.length > 0 && transformed === null) {
58371
+ if (binding.fallback !== void 0) return binding.fallback;
58362
58372
  if (process.env.NODE_ENV === "development") console.warn("[block-system] Transform returned null for binding", {
58363
58373
  bindingFrom: binding.from,
58364
58374
  transforms: binding.transforms?.map((t) => t.id)
@@ -61350,7 +61360,7 @@ z$1.object({ acceptExtraSiteCharge: z$1.boolean().optional() });
61350
61360
  //#region ../surfaces/src/index.ts
61351
61361
  const SURFACE_IDS = ["core", "macadamia"];
61352
61362
  const DEFAULT_SURFACE_ID = "core";
61353
- SURFACE_IDS.filter((surfaceId) => surfaceId !== DEFAULT_SURFACE_ID);
61363
+ [...SURFACE_IDS.filter((surfaceId) => surfaceId !== DEFAULT_SURFACE_ID)];
61354
61364
  //#endregion
61355
61365
  //#region ../api/src/url.ts
61356
61366
  /**
@@ -61899,6 +61909,7 @@ const VERTICAL_IDS = [
61899
61909
  "training_provider",
61900
61910
  "retreat_centre",
61901
61911
  "music_school",
61912
+ "voice_singing",
61902
61913
  "performing_arts_school",
61903
61914
  "community_wellbeing",
61904
61915
  "venue_event_space"
@@ -61951,6 +61962,11 @@ const VERTICAL_BOOKING_PRESETS = [
61951
61962
  preset("music_school.terms", "music_school", "course", "Term", "Terms", "Multi-week term blocks or fixed-date group courses."),
61952
61963
  preset("music_school.workshops", "music_school", "workshop", "Workshop", "Workshops", "One-off workshops, masterclasses, or intensives."),
61953
61964
  preset("music_school.performances", "music_school", "performance", "Performance", "Performances", "Concerts, recitals, showcases, or ticketed performances."),
61965
+ preset("voice_singing.lessons", "voice_singing", "appointment", "Voice session", "Voice sessions", "One-to-one singing lessons, voice coaching, or private practice sessions."),
61966
+ preset("voice_singing.classes", "voice_singing", "class", "Ongoing weekly session", "Ongoing weekly sessions", "Regular choirs, voice circles, community singing, or group practice."),
61967
+ preset("voice_singing.terms", "voice_singing", "course", "Singing term", "Singing terms", "Multi-week choir terms, voice courses, or fixed-date group programmes."),
61968
+ preset("voice_singing.workshops", "voice_singing", "workshop", "Workshop", "Workshops", "One-off singing workshops, voice journeys, or devotional singing sessions."),
61969
+ preset("voice_singing.performances", "voice_singing", "performance", "Performance", "Performances", "Choir concerts, sharing events, recitals, or community performances."),
61954
61970
  preset("performing_arts_school.classes", "performing_arts_school", "class", "Class", "Classes", "Regular group classes, rehearsals, or weekly sessions."),
61955
61971
  preset("performing_arts_school.terms", "performing_arts_school", "course", "Term", "Terms", "Multi-week term blocks or fixed-date course groups."),
61956
61972
  preset("performing_arts_school.workshops", "performing_arts_school", "workshop", "Workshop", "Workshops", "One-off workshops, masterclasses, or intensives."),
@@ -151442,7 +151458,7 @@ var SimpleCache = class {
151442
151458
  * 1. This constant
151443
151459
  * 2. The "version" field in package.json
151444
151460
  */
151445
- const SDK_VERSION = "0.101.0";
151461
+ const SDK_VERSION = "0.102.0";
151446
151462
  //#endregion
151447
151463
  //#region src/client/error.ts
151448
151464
  /**
@@ -7436,7 +7436,9 @@ var DEFAULT_LOCALE, FALLBACK_TIMEZONE, DEFAULT_BOOKING_DATE_TIME_FORMAT, LOCAL_D
7436
7436
  };
7437
7437
  LOCAL_DATE_PATTERN = /^(?<year>\d{4})-(?<month>\d{2})-(?<day>\d{2})$/u;
7438
7438
  }));
7439
- var init_person_records = __esmMin((() => {}));
7439
+ var init_person_records = __esmMin((() => {
7440
+ init_result();
7441
+ }));
7440
7442
  var init_rectification = __esmMin((() => {}));
7441
7443
  //#endregion
7442
7444
  //#region ../core/src/location.ts
@@ -8132,7 +8134,9 @@ var init_videoSlotPolicy = __esmMin((() => {
8132
8134
  init_fileDomain();
8133
8135
  init_videoPrep();
8134
8136
  }));
8135
- var init_identifiers = __esmMin((() => {}));
8137
+ var init_identifiers = __esmMin((() => {
8138
+ init_src$3();
8139
+ }));
8136
8140
  //#endregion
8137
8141
  //#region ../media-core/src/url.ts
8138
8142
  function isRelativeDirectImageStoragePath(storagePath) {
@@ -19361,6 +19365,7 @@ var init_rawStyleFields = __esmMin((() => {
19361
19365
  "_sectionStyles",
19362
19366
  "_containerStyles",
19363
19367
  "_cardStyles",
19368
+ "_transitionStyles",
19364
19369
  "styleGroup"
19365
19370
  ];
19366
19371
  themeV2BlockSpecificRawStyleFieldNames = [
@@ -22772,12 +22777,12 @@ var init_headerLooks = __esmMin((() => {
22772
22777
  },
22773
22778
  {
22774
22779
  id: asHeaderStyleId("fine-line"),
22775
- label: "Fine Line",
22776
- description: "Light surface with a crisp lower rule and underline hover.",
22780
+ label: "Seamless",
22781
+ description: "Borderless surface with underline hover for a quieter page transition.",
22777
22782
  supportedLayoutIds: supportedLayouts(["classic", "centered"]),
22778
22783
  navInteraction: "underline-grow",
22779
- surface: "bordered",
22780
- defaultDepth: "line",
22784
+ surface: "neutral",
22785
+ defaultDepth: "none",
22781
22786
  navTypography: "plain",
22782
22787
  moods: [
22783
22788
  "calm",
@@ -43123,6 +43128,7 @@ const eventListingBlockDefinition = {
43123
43128
  } },
43124
43129
  seeAllUrl: { $bind: {
43125
43130
  from: "content.seeAllUrl",
43131
+ fallback: "",
43126
43132
  transforms: [{ id: "links.resolve" }]
43127
43133
  } },
43128
43134
  loadMoreText: { $bind: {
@@ -43516,6 +43522,7 @@ const eventCalendarLayout = [styledSection({
43516
43522
  } },
43517
43523
  seeAllUrl: { $bind: {
43518
43524
  from: "content.seeAllUrl",
43525
+ fallback: "",
43519
43526
  transforms: [{ id: "links.resolve" }]
43520
43527
  } },
43521
43528
  loadMoreText: { $bind: {
@@ -51343,15 +51350,15 @@ function Grid({ as: Comp = "div", cols = {
51343
51350
  }
51344
51351
  //#endregion
51345
51352
  //#region ../blocks/src/system/runtime/nodes/layout.tsx
51346
- const SectionNode = ({ blockId: _blockId, blockKind: _blockKind, blockContent: _blockContent, fragmentRegistry: _fragmentRegistry, pathBase: _pathBase, allowOverflow, ...props }) => /* @__PURE__ */ jsx(Section$1, {
51353
+ const SectionNode = ({ blockId: _blockId, blockKind: _blockKind, blockContent: _blockContent, fragmentRegistry: _fragmentRegistry, previewAuthoring: _previewAuthoring, pathBase: _pathBase, allowOverflow, ...props }) => /* @__PURE__ */ jsx(Section$1, {
51347
51354
  ...props,
51348
51355
  allowOverflow
51349
51356
  });
51350
- const StackNode = ({ blockId: _blockId, blockKind: _blockKind, blockContent: _blockContent, fragmentRegistry: _fragmentRegistry, pathBase: _pathBase, ...props }) => /* @__PURE__ */ jsx(Stack, { ...props });
51351
- const InlineNode = ({ blockId: _blockId, blockKind: _blockKind, blockContent: _blockContent, fragmentRegistry: _fragmentRegistry, pathBase: _pathBase, ...props }) => /* @__PURE__ */ jsx(Inline, { ...props });
51352
- const GridNode = ({ blockId: _blockId, blockKind: _blockKind, blockContent: _blockContent, fragmentRegistry: _fragmentRegistry, pathBase: _pathBase, ...props }) => /* @__PURE__ */ jsx(Grid, { ...props });
51353
- const DivNode = ({ blockId: _blockId, blockKind: _blockKind, blockContent: _blockContent, fragmentRegistry: _fragmentRegistry, pathBase: _pathBase, ...props }) => /* @__PURE__ */ jsx("div", { ...props });
51354
- const FigureNode = ({ blockId: _blockId, blockKind: _blockKind, blockContent: _blockContent, fragmentRegistry: _fragmentRegistry, pathBase: _pathBase, ...props }) => /* @__PURE__ */ jsx("figure", { ...props });
51357
+ const StackNode = ({ blockId: _blockId, blockKind: _blockKind, blockContent: _blockContent, fragmentRegistry: _fragmentRegistry, previewAuthoring: _previewAuthoring, pathBase: _pathBase, ...props }) => /* @__PURE__ */ jsx(Stack, { ...props });
51358
+ const InlineNode = ({ blockId: _blockId, blockKind: _blockKind, blockContent: _blockContent, fragmentRegistry: _fragmentRegistry, previewAuthoring: _previewAuthoring, pathBase: _pathBase, ...props }) => /* @__PURE__ */ jsx(Inline, { ...props });
51359
+ const GridNode = ({ blockId: _blockId, blockKind: _blockKind, blockContent: _blockContent, fragmentRegistry: _fragmentRegistry, previewAuthoring: _previewAuthoring, pathBase: _pathBase, ...props }) => /* @__PURE__ */ jsx(Grid, { ...props });
51360
+ const DivNode = ({ blockId: _blockId, blockKind: _blockKind, blockContent: _blockContent, fragmentRegistry: _fragmentRegistry, previewAuthoring: _previewAuthoring, pathBase: _pathBase, ...props }) => /* @__PURE__ */ jsx("div", { ...props });
51361
+ const FigureNode = ({ blockId: _blockId, blockKind: _blockKind, blockContent: _blockContent, fragmentRegistry: _fragmentRegistry, previewAuthoring: _previewAuthoring, pathBase: _pathBase, ...props }) => /* @__PURE__ */ jsx("figure", { ...props });
51355
51362
  //#endregion
51356
51363
  //#region ../path-utils/src/index.ts
51357
51364
  const PATH_SEPARATOR_REGEX$1 = /\./g;
@@ -57180,6 +57187,7 @@ function applyTransformsAndFallback(value, binding, context) {
57180
57187
  viewModel: context.viewModel
57181
57188
  }, transforms);
57182
57189
  if (binding.transforms && binding.transforms.length > 0 && transformed === null) {
57190
+ if (binding.fallback !== void 0) return binding.fallback;
57183
57191
  console.warn("[block-system] Transform returned null for binding", {
57184
57192
  bindingFrom: binding.from,
57185
57193
  transforms: binding.transforms?.map((t) => t.id)
@@ -59192,7 +59200,7 @@ function generateHeaderRootStyles(header, themeId, tokens, _theme) {
59192
59200
  }
59193
59201
  }
59194
59202
  if (header.positioning === "sticky" || header.positioning === "fixed") {
59195
- const shadowVar = getComponentShadowVar(header.shadow?.elevation ?? "sm");
59203
+ const shadowVar = getComponentShadowVar(header.shadow?.elevation ?? "none");
59196
59204
  if (shadowVar) rules.push(`box-shadow: ${shadowVar};`);
59197
59205
  }
59198
59206
  const baseBlock = `\n${selector} {\n ${rules.join("\n ")}\n}\n`;
@@ -62068,6 +62076,7 @@ function PageRenderer$1({ theme, page, usePlaceholders = false, dataContext, wra
62068
62076
  const wrapperClassName = [`block-${cleanKind}`, wrapBlock ? "group relative" : null].filter(Boolean).join(" ");
62069
62077
  const styleGroup = typeof renderableContent.styleGroup === "string" ? renderableContent.styleGroup : void 0;
62070
62078
  const blockLook = typeof renderableContent.blockLook === "string" ? renderableContent.blockLook : void 0;
62079
+ const transitionStyle = transitionCssVarsStyle(renderableContent);
62071
62080
  const blockElement = /* @__PURE__ */ jsx("div", {
62072
62081
  className: wrapperClassName,
62073
62082
  "data-block": cleanKind,
@@ -62078,6 +62087,7 @@ function PageRenderer$1({ theme, page, usePlaceholders = false, dataContext, wra
62078
62087
  "data-block-look": blockLook,
62079
62088
  "data-page-block-position": blockPosition,
62080
62089
  "data-style-group": styleGroup,
62090
+ style: transitionStyle,
62081
62091
  children: /* @__PURE__ */ jsx(MemoBlockSection, { ...blockSectionProps })
62082
62092
  }, blockKey);
62083
62093
  if (!isSiteStyleTransitionStyleGroup(styleGroup)) return blockElement;
@@ -62085,13 +62095,25 @@ function PageRenderer$1({ theme, page, usePlaceholders = false, dataContext, wra
62085
62095
  "aria-hidden": "true",
62086
62096
  "data-block-transition": "",
62087
62097
  "data-block-transition-for": block.id ?? blockKey,
62088
- "data-style-group": styleGroup
62098
+ "data-style-group": styleGroup,
62099
+ style: transitionStyle
62089
62100
  })] }, blockKey);
62090
62101
  }) });
62091
62102
  }
62092
62103
  function isSiteStyleTransitionStyleGroup(value) {
62093
62104
  return value?.startsWith("site-style-transition-") === true;
62094
62105
  }
62106
+ function transitionCssVarsStyle(content) {
62107
+ const transitionStyles = isObjectRecord(content._transitionStyles) ? content._transitionStyles : null;
62108
+ const cssVars = isObjectRecord(transitionStyles?.cssVars) ? transitionStyles.cssVars : null;
62109
+ const from = typeof cssVars?.from === "string" ? cssVars.from : null;
62110
+ const to = typeof cssVars?.to === "string" ? cssVars.to : null;
62111
+ if (!from && !to) return void 0;
62112
+ return {
62113
+ ...from ? { "--site-style-transition-from": from } : {},
62114
+ ...to ? { "--site-style-transition-to": to } : {}
62115
+ };
62116
+ }
62095
62117
  function pageBlockPosition(index, blockCount) {
62096
62118
  if (blockCount <= 1) return "only";
62097
62119
  if (index === 0) return "first";
@@ -74418,7 +74440,7 @@ z$1.object({ acceptExtraSiteCharge: z$1.boolean().optional() });
74418
74440
  //#region ../surfaces/src/index.ts
74419
74441
  const SURFACE_IDS = ["core", "macadamia"];
74420
74442
  const DEFAULT_SURFACE_ID = "core";
74421
- SURFACE_IDS.filter((surfaceId) => surfaceId !== DEFAULT_SURFACE_ID);
74443
+ [...SURFACE_IDS.filter((surfaceId) => surfaceId !== DEFAULT_SURFACE_ID)];
74422
74444
  //#endregion
74423
74445
  //#region ../api/src/url.ts
74424
74446
  /**
@@ -74967,6 +74989,7 @@ const VERTICAL_IDS = [
74967
74989
  "training_provider",
74968
74990
  "retreat_centre",
74969
74991
  "music_school",
74992
+ "voice_singing",
74970
74993
  "performing_arts_school",
74971
74994
  "community_wellbeing",
74972
74995
  "venue_event_space"
@@ -75019,6 +75042,11 @@ const VERTICAL_BOOKING_PRESETS = [
75019
75042
  preset("music_school.terms", "music_school", "course", "Term", "Terms", "Multi-week term blocks or fixed-date group courses."),
75020
75043
  preset("music_school.workshops", "music_school", "workshop", "Workshop", "Workshops", "One-off workshops, masterclasses, or intensives."),
75021
75044
  preset("music_school.performances", "music_school", "performance", "Performance", "Performances", "Concerts, recitals, showcases, or ticketed performances."),
75045
+ preset("voice_singing.lessons", "voice_singing", "appointment", "Voice session", "Voice sessions", "One-to-one singing lessons, voice coaching, or private practice sessions."),
75046
+ preset("voice_singing.classes", "voice_singing", "class", "Ongoing weekly session", "Ongoing weekly sessions", "Regular choirs, voice circles, community singing, or group practice."),
75047
+ preset("voice_singing.terms", "voice_singing", "course", "Singing term", "Singing terms", "Multi-week choir terms, voice courses, or fixed-date group programmes."),
75048
+ preset("voice_singing.workshops", "voice_singing", "workshop", "Workshop", "Workshops", "One-off singing workshops, voice journeys, or devotional singing sessions."),
75049
+ preset("voice_singing.performances", "voice_singing", "performance", "Performance", "Performances", "Choir concerts, sharing events, recitals, or community performances."),
75022
75050
  preset("performing_arts_school.classes", "performing_arts_school", "class", "Class", "Classes", "Regular group classes, rehearsals, or weekly sessions."),
75023
75051
  preset("performing_arts_school.terms", "performing_arts_school", "course", "Term", "Terms", "Multi-week term blocks or fixed-date course groups."),
75024
75052
  preset("performing_arts_school.workshops", "performing_arts_school", "workshop", "Workshop", "Workshops", "One-off workshops, masterclasses, or intensives."),
@@ -153739,7 +153767,7 @@ var SimpleCache = class {
153739
153767
  * 1. This constant
153740
153768
  * 2. The "version" field in package.json
153741
153769
  */
153742
- const SDK_VERSION = "0.101.0";
153770
+ const SDK_VERSION = "0.102.0";
153743
153771
  //#endregion
153744
153772
  //#region src/client/error.ts
153745
153773
  let _Symbol$for;
@@ -4261,6 +4261,7 @@ const themeV2RuntimeStyleFieldNames = [
4261
4261
  "_sectionStyles",
4262
4262
  "_containerStyles",
4263
4263
  "_cardStyles",
4264
+ "_transitionStyles",
4264
4265
  "styleGroup"
4265
4266
  ];
4266
4267
  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",
@@ -26040,6 +26041,7 @@ const eventListingBlockDefinition = {
26040
26041
  } },
26041
26042
  seeAllUrl: { $bind: {
26042
26043
  from: "content.seeAllUrl",
26044
+ fallback: "",
26043
26045
  transforms: [{ id: "links.resolve" }]
26044
26046
  } },
26045
26047
  loadMoreText: { $bind: {
@@ -26343,6 +26345,7 @@ const eventCalendarLayout = [styledSection({
26343
26345
  } },
26344
26346
  seeAllUrl: { $bind: {
26345
26347
  from: "content.seeAllUrl",
26348
+ fallback: "",
26346
26349
  transforms: [{ id: "links.resolve" }]
26347
26350
  } },
26348
26351
  loadMoreText: { $bind: {
@@ -33773,7 +33776,7 @@ z$1.object({ acceptExtraSiteCharge: z$1.boolean().optional() });
33773
33776
  //#region ../surfaces/src/index.ts
33774
33777
  const SURFACE_IDS = ["core", "macadamia"];
33775
33778
  const DEFAULT_SURFACE_ID = "core";
33776
- SURFACE_IDS.filter((surfaceId) => surfaceId !== DEFAULT_SURFACE_ID);
33779
+ [...SURFACE_IDS.filter((surfaceId) => surfaceId !== DEFAULT_SURFACE_ID)];
33777
33780
  const CANONICAL_REFUND_PLANNER_ERROR_CODES = [
33778
33781
  ...[
33779
33782
  "already_refunded",
@@ -33822,6 +33825,7 @@ const VERTICAL_IDS = [
33822
33825
  "training_provider",
33823
33826
  "retreat_centre",
33824
33827
  "music_school",
33828
+ "voice_singing",
33825
33829
  "performing_arts_school",
33826
33830
  "community_wellbeing",
33827
33831
  "venue_event_space"
@@ -33874,6 +33878,11 @@ const VERTICAL_BOOKING_PRESETS = [
33874
33878
  preset("music_school.terms", "music_school", "course", "Term", "Terms", "Multi-week term blocks or fixed-date group courses."),
33875
33879
  preset("music_school.workshops", "music_school", "workshop", "Workshop", "Workshops", "One-off workshops, masterclasses, or intensives."),
33876
33880
  preset("music_school.performances", "music_school", "performance", "Performance", "Performances", "Concerts, recitals, showcases, or ticketed performances."),
33881
+ preset("voice_singing.lessons", "voice_singing", "appointment", "Voice session", "Voice sessions", "One-to-one singing lessons, voice coaching, or private practice sessions."),
33882
+ preset("voice_singing.classes", "voice_singing", "class", "Ongoing weekly session", "Ongoing weekly sessions", "Regular choirs, voice circles, community singing, or group practice."),
33883
+ preset("voice_singing.terms", "voice_singing", "course", "Singing term", "Singing terms", "Multi-week choir terms, voice courses, or fixed-date group programmes."),
33884
+ preset("voice_singing.workshops", "voice_singing", "workshop", "Workshop", "Workshops", "One-off singing workshops, voice journeys, or devotional singing sessions."),
33885
+ preset("voice_singing.performances", "voice_singing", "performance", "Performance", "Performances", "Choir concerts, sharing events, recitals, or community performances."),
33877
33886
  preset("performing_arts_school.classes", "performing_arts_school", "class", "Class", "Classes", "Regular group classes, rehearsals, or weekly sessions."),
33878
33887
  preset("performing_arts_school.terms", "performing_arts_school", "course", "Term", "Terms", "Multi-week term blocks or fixed-date course groups."),
33879
33888
  preset("performing_arts_school.workshops", "performing_arts_school", "workshop", "Workshop", "Workshops", "One-off workshops, masterclasses, or intensives."),
@@ -1536,15 +1536,15 @@ function Grid({ as: Comp = "div", cols = {
1536
1536
  }
1537
1537
  //#endregion
1538
1538
  //#region ../blocks/src/system/runtime/nodes/layout.tsx
1539
- const SectionNode = ({ blockId: _blockId, blockKind: _blockKind, blockContent: _blockContent, fragmentRegistry: _fragmentRegistry, pathBase: _pathBase, allowOverflow, ...props }) => /* @__PURE__ */ jsx(Section$1, {
1539
+ const SectionNode = ({ blockId: _blockId, blockKind: _blockKind, blockContent: _blockContent, fragmentRegistry: _fragmentRegistry, previewAuthoring: _previewAuthoring, pathBase: _pathBase, allowOverflow, ...props }) => /* @__PURE__ */ jsx(Section$1, {
1540
1540
  ...props,
1541
1541
  allowOverflow
1542
1542
  });
1543
- const StackNode = ({ blockId: _blockId, blockKind: _blockKind, blockContent: _blockContent, fragmentRegistry: _fragmentRegistry, pathBase: _pathBase, ...props }) => /* @__PURE__ */ jsx(Stack, { ...props });
1544
- const InlineNode = ({ blockId: _blockId, blockKind: _blockKind, blockContent: _blockContent, fragmentRegistry: _fragmentRegistry, pathBase: _pathBase, ...props }) => /* @__PURE__ */ jsx(Inline, { ...props });
1545
- const GridNode = ({ blockId: _blockId, blockKind: _blockKind, blockContent: _blockContent, fragmentRegistry: _fragmentRegistry, pathBase: _pathBase, ...props }) => /* @__PURE__ */ jsx(Grid, { ...props });
1546
- const DivNode = ({ blockId: _blockId, blockKind: _blockKind, blockContent: _blockContent, fragmentRegistry: _fragmentRegistry, pathBase: _pathBase, ...props }) => /* @__PURE__ */ jsx("div", { ...props });
1547
- const FigureNode = ({ blockId: _blockId, blockKind: _blockKind, blockContent: _blockContent, fragmentRegistry: _fragmentRegistry, pathBase: _pathBase, ...props }) => /* @__PURE__ */ jsx("figure", { ...props });
1543
+ const StackNode = ({ blockId: _blockId, blockKind: _blockKind, blockContent: _blockContent, fragmentRegistry: _fragmentRegistry, previewAuthoring: _previewAuthoring, pathBase: _pathBase, ...props }) => /* @__PURE__ */ jsx(Stack, { ...props });
1544
+ const InlineNode = ({ blockId: _blockId, blockKind: _blockKind, blockContent: _blockContent, fragmentRegistry: _fragmentRegistry, previewAuthoring: _previewAuthoring, pathBase: _pathBase, ...props }) => /* @__PURE__ */ jsx(Inline, { ...props });
1545
+ const GridNode = ({ blockId: _blockId, blockKind: _blockKind, blockContent: _blockContent, fragmentRegistry: _fragmentRegistry, previewAuthoring: _previewAuthoring, pathBase: _pathBase, ...props }) => /* @__PURE__ */ jsx(Grid, { ...props });
1546
+ const DivNode = ({ blockId: _blockId, blockKind: _blockKind, blockContent: _blockContent, fragmentRegistry: _fragmentRegistry, previewAuthoring: _previewAuthoring, pathBase: _pathBase, ...props }) => /* @__PURE__ */ jsx("div", { ...props });
1547
+ const FigureNode = ({ blockId: _blockId, blockKind: _blockKind, blockContent: _blockContent, fragmentRegistry: _fragmentRegistry, previewAuthoring: _previewAuthoring, pathBase: _pathBase, ...props }) => /* @__PURE__ */ jsx("figure", { ...props });
1548
1548
  var blockColorTokenNames;
1549
1549
  var init_blockColorTokens = __esmMin((() => {
1550
1550
  init_colorTokenParts();
@@ -3973,7 +3973,9 @@ var DEFAULT_LOCALE, FALLBACK_TIMEZONE, DEFAULT_BOOKING_DATE_TIME_FORMAT, LOCAL_D
3973
3973
  };
3974
3974
  LOCAL_DATE_PATTERN = /^(?<year>\d{4})-(?<month>\d{2})-(?<day>\d{2})$/u;
3975
3975
  }));
3976
- var init_person_records = __esmMin((() => {}));
3976
+ var init_person_records = __esmMin((() => {
3977
+ init_result();
3978
+ }));
3977
3979
  var init_rectification = __esmMin((() => {}));
3978
3980
  //#endregion
3979
3981
  //#region ../core/src/location.ts
@@ -4325,11 +4327,14 @@ var init_mediaAssetUsageStatus = __esmMin((() => {
4325
4327
  }));
4326
4328
  var init_assetsInUseSummary = __esmMin((() => {}));
4327
4329
  var init_bulkDeletePlanning = __esmMin((() => {}));
4328
- var init_classifyAllPlanning = __esmMin((() => {})), init_mediaSettingsState = __esmMin((() => {})), init_videoSlotPolicy = __esmMin((() => {
4330
+ var init_classifyAllPlanning = __esmMin((() => {}));
4331
+ var init_mediaSettingsState = __esmMin((() => {})), init_videoSlotPolicy = __esmMin((() => {
4329
4332
  init_fileDomain();
4330
4333
  init_videoPrep();
4331
4334
  }));
4332
- var init_identifiers = __esmMin((() => {}));
4335
+ var init_identifiers = __esmMin((() => {
4336
+ init_src$3();
4337
+ }));
4333
4338
  //#endregion
4334
4339
  //#region ../media-core/src/url.ts
4335
4340
  function isRelativeDirectImageStoragePath(storagePath) {
@@ -18136,6 +18141,7 @@ var init_rawStyleFields = __esmMin((() => {
18136
18141
  "_sectionStyles",
18137
18142
  "_containerStyles",
18138
18143
  "_cardStyles",
18144
+ "_transitionStyles",
18139
18145
  "styleGroup"
18140
18146
  ];
18141
18147
  themeV2BlockSpecificRawStyleFieldNames = [
@@ -21248,12 +21254,12 @@ var init_headerLooks = __esmMin((() => {
21248
21254
  },
21249
21255
  {
21250
21256
  id: asHeaderStyleId("fine-line"),
21251
- label: "Fine Line",
21252
- description: "Light surface with a crisp lower rule and underline hover.",
21257
+ label: "Seamless",
21258
+ description: "Borderless surface with underline hover for a quieter page transition.",
21253
21259
  supportedLayoutIds: supportedLayouts(["classic", "centered"]),
21254
21260
  navInteraction: "underline-grow",
21255
- surface: "bordered",
21256
- defaultDepth: "line",
21261
+ surface: "neutral",
21262
+ defaultDepth: "none",
21257
21263
  navTypography: "plain",
21258
21264
  moods: [
21259
21265
  "calm",
@@ -32120,6 +32126,7 @@ const eventCalendarLayout = [styledSection({
32120
32126
  } },
32121
32127
  seeAllUrl: { $bind: {
32122
32128
  from: "content.seeAllUrl",
32129
+ fallback: "",
32123
32130
  transforms: [{ id: "links.resolve" }]
32124
32131
  } },
32125
32132
  loadMoreText: { $bind: {
@@ -33376,6 +33383,7 @@ const eventListingBlockDefinition = {
33376
33383
  } },
33377
33384
  seeAllUrl: { $bind: {
33378
33385
  from: "content.seeAllUrl",
33386
+ fallback: "",
33379
33387
  transforms: [{ id: "links.resolve" }]
33380
33388
  } },
33381
33389
  loadMoreText: { $bind: {