@riverbankcms/sdk 0.1.0 → 0.2.1

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 (176) hide show
  1. package/dist/cli/index.js +4840 -9
  2. package/dist/cli/index.js.map +1 -1
  3. package/dist/client/bookings.d.mts +82 -2
  4. package/dist/client/bookings.d.ts +82 -2
  5. package/dist/client/bookings.js +1623 -3
  6. package/dist/client/bookings.js.map +1 -1
  7. package/dist/client/bookings.mjs +1610 -5
  8. package/dist/client/bookings.mjs.map +1 -1
  9. package/dist/client/client.d.mts +8 -5
  10. package/dist/client/client.d.ts +8 -5
  11. package/dist/client/client.js +16856 -322
  12. package/dist/client/client.js.map +1 -1
  13. package/dist/client/client.mjs +16838 -307
  14. package/dist/client/client.mjs.map +1 -1
  15. package/dist/client/hooks.d.mts +10 -7
  16. package/dist/client/hooks.d.ts +10 -7
  17. package/dist/client/hooks.js +5074 -4
  18. package/dist/client/hooks.js.map +1 -1
  19. package/dist/client/hooks.mjs +5074 -4
  20. package/dist/client/hooks.mjs.map +1 -1
  21. package/dist/client/rendering/client.d.mts +7 -1
  22. package/dist/client/rendering/client.d.ts +7 -1
  23. package/dist/client/rendering/client.js +17388 -2
  24. package/dist/client/rendering/client.js.map +1 -1
  25. package/dist/client/rendering/client.mjs +17382 -2
  26. package/dist/client/rendering/client.mjs.map +1 -1
  27. package/dist/client/resolver-BhueZVxZ.d.mts +61 -0
  28. package/dist/client/resolver-BhueZVxZ.d.ts +61 -0
  29. package/dist/client/usePage-BBcFCxOU.d.ts +6297 -0
  30. package/dist/client/usePage-BydHcMYB.d.mts +6297 -0
  31. package/dist/server/Layout-CLg8oH_S.d.ts +44 -0
  32. package/dist/server/Layout-DK_9OOgb.d.mts +44 -0
  33. package/dist/server/chunk-3J46ILMJ.mjs +2111 -0
  34. package/dist/server/chunk-3J46ILMJ.mjs.map +1 -0
  35. package/dist/server/{chunk-JB4LIEFS.js → chunk-5R4NMVXA.js} +15 -8
  36. package/dist/server/chunk-5R4NMVXA.js.map +1 -0
  37. package/dist/server/{chunk-ADREPXFU.js → chunk-62ZJI564.js} +3 -3
  38. package/dist/server/{chunk-ADREPXFU.js.map → chunk-62ZJI564.js.map} +1 -1
  39. package/dist/server/chunk-7DS4Q3GA.mjs +333 -0
  40. package/dist/server/chunk-7DS4Q3GA.mjs.map +1 -0
  41. package/dist/server/chunk-BJTO5JO5.mjs +11 -0
  42. package/dist/server/{chunk-4Z5FBFRL.mjs → chunk-BPKYRPCQ.mjs} +7 -3
  43. package/dist/server/{chunk-4Z5FBFRL.mjs.map → chunk-BPKYRPCQ.mjs.map} +1 -1
  44. package/dist/server/chunk-DGUM43GV.js +11 -0
  45. package/dist/server/chunk-DGUM43GV.js.map +1 -0
  46. package/dist/server/chunk-EGTDJ4PL.js +5461 -0
  47. package/dist/server/chunk-EGTDJ4PL.js.map +1 -0
  48. package/dist/server/chunk-FK64TZBT.mjs +831 -0
  49. package/dist/server/chunk-FK64TZBT.mjs.map +1 -0
  50. package/dist/server/chunk-GKYNDDJS.js +2111 -0
  51. package/dist/server/chunk-GKYNDDJS.js.map +1 -0
  52. package/dist/server/chunk-HOY77YBF.js +333 -0
  53. package/dist/server/chunk-HOY77YBF.js.map +1 -0
  54. package/dist/server/chunk-INWKF3IC.js +831 -0
  55. package/dist/server/chunk-INWKF3IC.js.map +1 -0
  56. package/dist/server/{chunk-2RW5HAQQ.mjs → chunk-JTAERCX2.mjs} +2 -2
  57. package/dist/server/chunk-O5DC7MYW.mjs +9606 -0
  58. package/dist/server/chunk-O5DC7MYW.mjs.map +1 -0
  59. package/dist/server/{chunk-PEAXKTDU.mjs → chunk-OP2GHK27.mjs} +2 -2
  60. package/dist/server/{chunk-WKG57P2H.mjs → chunk-PN3CHDVX.mjs} +10 -3
  61. package/dist/server/{chunk-WKG57P2H.mjs.map → chunk-PN3CHDVX.mjs.map} +1 -1
  62. package/dist/server/chunk-SF63XAX7.js +9606 -0
  63. package/dist/server/chunk-SF63XAX7.js.map +1 -0
  64. package/dist/server/{chunk-F472SMKX.js → chunk-TO7FD6TQ.js} +4 -4
  65. package/dist/server/{chunk-F472SMKX.js.map → chunk-TO7FD6TQ.js.map} +1 -1
  66. package/dist/server/chunk-USQF2XTU.mjs +5461 -0
  67. package/dist/server/chunk-USQF2XTU.mjs.map +1 -0
  68. package/dist/server/{chunk-SW7LE4M3.js → chunk-XLVL5WPH.js} +12 -8
  69. package/dist/server/chunk-XLVL5WPH.js.map +1 -0
  70. package/dist/server/components-BzdA6NAc.d.mts +305 -0
  71. package/dist/server/components-DhIcstww.d.ts +305 -0
  72. package/dist/server/components.d.mts +13 -49
  73. package/dist/server/components.d.ts +13 -49
  74. package/dist/server/components.js +7 -4
  75. package/dist/server/components.js.map +1 -1
  76. package/dist/server/components.mjs +9 -6
  77. package/dist/server/components.mjs.map +1 -1
  78. package/dist/server/config-validation.d.mts +2 -2
  79. package/dist/server/config-validation.d.ts +2 -2
  80. package/dist/server/config-validation.js +6 -3
  81. package/dist/server/config-validation.js.map +1 -1
  82. package/dist/server/config-validation.mjs +5 -2
  83. package/dist/server/config.d.mts +3 -3
  84. package/dist/server/config.d.ts +3 -3
  85. package/dist/server/config.js +6 -3
  86. package/dist/server/config.js.map +1 -1
  87. package/dist/server/config.mjs +5 -2
  88. package/dist/server/config.mjs.map +1 -1
  89. package/dist/server/data.d.mts +9 -8
  90. package/dist/server/data.d.ts +9 -8
  91. package/dist/server/data.js +4 -2
  92. package/dist/server/data.js.map +1 -1
  93. package/dist/server/data.mjs +3 -1
  94. package/dist/server/{index-C6M0Wfjq.d.ts → index-BB28KAui.d.ts} +1 -1
  95. package/dist/server/{index-B0yI_V6Z.d.mts → index-C_FVup_o.d.mts} +1 -1
  96. package/dist/server/index.d.mts +1554 -5
  97. package/dist/server/index.d.ts +1554 -5
  98. package/dist/server/index.js +4 -4
  99. package/dist/server/index.js.map +1 -1
  100. package/dist/server/index.mjs +4 -4
  101. package/dist/server/index.mjs.map +1 -1
  102. package/dist/server/{loadContent-CJcbYF3J.d.ts → loadContent-AQOBf_gP.d.ts} +4 -4
  103. package/dist/server/{loadContent-zhlL4YSE.d.mts → loadContent-DBmprsB4.d.mts} +4 -4
  104. package/dist/server/loadPage-3ECPF426.js +11 -0
  105. package/dist/server/loadPage-3ECPF426.js.map +1 -0
  106. package/dist/server/{loadPage-CCf15nt8.d.mts → loadPage-BMg8PJxJ.d.ts} +146 -5
  107. package/dist/server/loadPage-LW273NYO.mjs +11 -0
  108. package/dist/server/loadPage-LW273NYO.mjs.map +1 -0
  109. package/dist/server/{loadPage-BYmVMk0V.d.ts → loadPage-pg4HimlK.d.mts} +146 -5
  110. package/dist/server/metadata.d.mts +9 -6
  111. package/dist/server/metadata.d.ts +9 -6
  112. package/dist/server/metadata.js +3 -1
  113. package/dist/server/metadata.js.map +1 -1
  114. package/dist/server/metadata.mjs +2 -0
  115. package/dist/server/metadata.mjs.map +1 -1
  116. package/dist/server/rendering/server.d.mts +9 -7
  117. package/dist/server/rendering/server.d.ts +9 -7
  118. package/dist/server/rendering/server.js +7 -4
  119. package/dist/server/rendering/server.js.map +1 -1
  120. package/dist/server/rendering/server.mjs +6 -3
  121. package/dist/server/rendering.d.mts +172 -9
  122. package/dist/server/rendering.d.ts +172 -9
  123. package/dist/server/rendering.js +12 -9
  124. package/dist/server/rendering.js.map +1 -1
  125. package/dist/server/rendering.mjs +14 -11
  126. package/dist/server/rendering.mjs.map +1 -1
  127. package/dist/server/routing.d.mts +9 -6
  128. package/dist/server/routing.d.ts +9 -6
  129. package/dist/server/routing.js +4 -2
  130. package/dist/server/routing.js.map +1 -1
  131. package/dist/server/routing.mjs +3 -1
  132. package/dist/server/routing.mjs.map +1 -1
  133. package/dist/server/schema-Bpy9N5ZI.d.mts +1870 -0
  134. package/dist/server/schema-Bpy9N5ZI.d.ts +1870 -0
  135. package/dist/server/server.d.mts +11 -8
  136. package/dist/server/server.d.ts +11 -8
  137. package/dist/server/server.js +7 -5
  138. package/dist/server/server.js.map +1 -1
  139. package/dist/server/server.mjs +6 -4
  140. package/dist/server/theme-bridge.js +13 -10
  141. package/dist/server/theme-bridge.js.map +1 -1
  142. package/dist/server/theme-bridge.mjs +10 -7
  143. package/dist/server/theme-bridge.mjs.map +1 -1
  144. package/dist/server/theme.js +3 -1
  145. package/dist/server/theme.js.map +1 -1
  146. package/dist/server/theme.mjs +2 -0
  147. package/dist/server/theme.mjs.map +1 -1
  148. package/dist/server/{types-BCeqWtI2.d.ts → types--u4GLCAY.d.ts} +1 -1
  149. package/dist/server/types-BprgZt-t.d.ts +4149 -0
  150. package/dist/server/types-C0G9IxWO.d.mts +4149 -0
  151. package/dist/server/{types-Bbo01M7P.d.mts → types-_nDnPHpv.d.mts} +27 -1
  152. package/dist/server/{types-Bbo01M7P.d.ts → types-_nDnPHpv.d.ts} +27 -1
  153. package/dist/server/{types-BCeqWtI2.d.mts → types-_zWJTgv0.d.mts} +1 -1
  154. package/package.json +15 -15
  155. package/dist/server/chunk-3KKZVGH4.mjs +0 -179
  156. package/dist/server/chunk-3KKZVGH4.mjs.map +0 -1
  157. package/dist/server/chunk-4Z3GPTCS.js +0 -179
  158. package/dist/server/chunk-4Z3GPTCS.js.map +0 -1
  159. package/dist/server/chunk-JB4LIEFS.js.map +0 -1
  160. package/dist/server/chunk-QQ6U4QX6.js +0 -120
  161. package/dist/server/chunk-QQ6U4QX6.js.map +0 -1
  162. package/dist/server/chunk-R5YGLRUG.mjs +0 -122
  163. package/dist/server/chunk-R5YGLRUG.mjs.map +0 -1
  164. package/dist/server/chunk-SW7LE4M3.js.map +0 -1
  165. package/dist/server/chunk-W3K7LVPS.mjs +0 -120
  166. package/dist/server/chunk-W3K7LVPS.mjs.map +0 -1
  167. package/dist/server/chunk-YHEZMVTS.js +0 -122
  168. package/dist/server/chunk-YHEZMVTS.js.map +0 -1
  169. package/dist/server/loadPage-DVH3DW6E.js +0 -9
  170. package/dist/server/loadPage-DVH3DW6E.js.map +0 -1
  171. package/dist/server/loadPage-PHQZ6XQZ.mjs +0 -9
  172. package/dist/server/types-C6gmRHLe.d.mts +0 -150
  173. package/dist/server/types-C6gmRHLe.d.ts +0 -150
  174. /package/dist/server/{loadPage-PHQZ6XQZ.mjs.map → chunk-BJTO5JO5.mjs.map} +0 -0
  175. /package/dist/server/{chunk-2RW5HAQQ.mjs.map → chunk-JTAERCX2.mjs.map} +0 -0
  176. /package/dist/server/{chunk-PEAXKTDU.mjs.map → chunk-OP2GHK27.mjs.map} +0 -0
@@ -1,12 +1,12 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
2
 
3
- var _chunk4Z3GPTCSjs = require('./chunk-4Z3GPTCS.js');
4
3
 
5
- // src/index.ts
6
- var _api = require('@riverbankcms/api');
7
4
 
5
+ var _chunkGKYNDDJSjs = require('./chunk-GKYNDDJS.js');
6
+ require('./chunk-DGUM43GV.js');
8
7
 
9
8
 
10
9
 
11
- exports.API_ENDPOINTS = _api.API_ENDPOINTS; exports.buildEndpointURL = _api.buildEndpointURL; exports.createRiverbankClient = _chunk4Z3GPTCSjs.createRiverbankClient;
10
+
11
+ exports.API_ENDPOINTS = _chunkGKYNDDJSjs.API_ENDPOINTS; exports.buildEndpointURL = _chunkGKYNDDJSjs.buildEndpointURL; exports.createRiverbankClient = _chunkGKYNDDJSjs.createRiverbankClient;
12
12
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["/Users/will/Projects/Business/cms/builder/packages/sdk/dist/server/index.js","../../src/index.ts"],"names":[],"mappings":"AAAA;AACE;AACF,sDAA4B;AAC5B;AACA;AC+BA,wCAAgD;AD7BhD;AACE;AACA;AACA;AACF,qKAAC","file":"/Users/will/Projects/Business/cms/builder/packages/sdk/dist/server/index.js","sourcesContent":[null,"/**\n * Riverbank CMS SDK\n *\n * A TypeScript SDK for consuming Riverbank CMS content in your own applications.\n *\n * @example\n * ```ts\n * import { createRiverbankClient } from '@riverbankcms/sdk';\n *\n * const client = createRiverbankClient({\n * apiKey: process.env.RIVERBANK_API_KEY!,\n * baseUrl: `${process.env.NEXT_PUBLIC_DASHBOARD_URL}/api`,\n * });\n *\n * const site = await client.getSite({ slug: 'my-site' });\n * ```\n *\n * @packageDocumentation\n */\n\n// Client factory and types (server-safe)\nexport { createRiverbankClient } from './client/index';\nexport type {\n RiverbankClient,\n RiverbankClientConfig,\n SiteResponse,\n PageResponse,\n EntriesResponse,\n EntryResponse,\n} from './client/types';\n\n// Re-export API client type for convenience\nexport type { ApiClient } from '@riverbankcms/api';\n\n// Re-export endpoint utilities for building API URLs\nexport { buildEndpointURL, API_ENDPOINTS } from '@riverbankcms/api';\n\n// Note: For loadPage, Page, Layout, Block, import from '@riverbankcms/sdk/rendering'\n// Note: For client-side hooks (usePage, useContent), import from '@riverbankcms/sdk/client'\n\n// Site configuration types (for SDK sites defining their own config)\nexport type {\n RiverbankSiteConfig,\n SiteStyleConfig,\n SectionBackground,\n SectionOptionsConfig,\n ContainerOptionsConfig,\n SectionSpacing,\n ContainerMaxWidth,\n ContainerAlignment,\n} from './config';\n"]}
1
+ {"version":3,"sources":["/Users/will/Projects/Business/cms/builder/packages/sdk/dist/server/index.js"],"names":[],"mappings":"AAAA;AACE;AACA;AACA;AACF,sDAA4B;AAC5B,+BAA4B;AAC5B;AACE;AACA;AACA;AACF,6LAAC","file":"/Users/will/Projects/Business/cms/builder/packages/sdk/dist/server/index.js"}
@@ -1,9 +1,9 @@
1
1
  import {
2
+ API_ENDPOINTS,
3
+ buildEndpointURL,
2
4
  createRiverbankClient
3
- } from "./chunk-3KKZVGH4.mjs";
4
-
5
- // src/index.ts
6
- import { buildEndpointURL, API_ENDPOINTS } from "@riverbankcms/api";
5
+ } from "./chunk-3J46ILMJ.mjs";
6
+ import "./chunk-BJTO5JO5.mjs";
7
7
  export {
8
8
  API_ENDPOINTS,
9
9
  buildEndpointURL,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/index.ts"],"sourcesContent":["/**\n * Riverbank CMS SDK\n *\n * A TypeScript SDK for consuming Riverbank CMS content in your own applications.\n *\n * @example\n * ```ts\n * import { createRiverbankClient } from '@riverbankcms/sdk';\n *\n * const client = createRiverbankClient({\n * apiKey: process.env.RIVERBANK_API_KEY!,\n * baseUrl: `${process.env.NEXT_PUBLIC_DASHBOARD_URL}/api`,\n * });\n *\n * const site = await client.getSite({ slug: 'my-site' });\n * ```\n *\n * @packageDocumentation\n */\n\n// Client factory and types (server-safe)\nexport { createRiverbankClient } from './client/index';\nexport type {\n RiverbankClient,\n RiverbankClientConfig,\n SiteResponse,\n PageResponse,\n EntriesResponse,\n EntryResponse,\n} from './client/types';\n\n// Re-export API client type for convenience\nexport type { ApiClient } from '@riverbankcms/api';\n\n// Re-export endpoint utilities for building API URLs\nexport { buildEndpointURL, API_ENDPOINTS } from '@riverbankcms/api';\n\n// Note: For loadPage, Page, Layout, Block, import from '@riverbankcms/sdk/rendering'\n// Note: For client-side hooks (usePage, useContent), import from '@riverbankcms/sdk/client'\n\n// Site configuration types (for SDK sites defining their own config)\nexport type {\n RiverbankSiteConfig,\n SiteStyleConfig,\n SectionBackground,\n SectionOptionsConfig,\n ContainerOptionsConfig,\n SectionSpacing,\n ContainerMaxWidth,\n ContainerAlignment,\n} from './config';\n"],"mappings":";;;;;AAmCA,SAAS,kBAAkB,qBAAqB;","names":[]}
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -1,7 +1,7 @@
1
- import { Theme } from '@riverbankcms/blocks';
2
- import { R as RiverbankClient } from './types-C6gmRHLe.js';
3
- import { b as PageProps } from './loadPage-BYmVMk0V.js';
4
- import { ResolvedBlockData } from '@riverbankcms/blocks/system/data';
1
+ import { R as RiverbankClient, T as Theme } from './types-BprgZt-t.js';
2
+ import './schema-Bpy9N5ZI.js';
3
+ import { P as PageProps } from './loadPage-BMg8PJxJ.js';
4
+ import { R as ResolvedBlockData } from './types-_nDnPHpv.js';
5
5
 
6
6
  /**
7
7
  * Server-side helper to fetch content (page or entry) by path.
@@ -1,7 +1,7 @@
1
- import { Theme } from '@riverbankcms/blocks';
2
- import { R as RiverbankClient } from './types-C6gmRHLe.mjs';
3
- import { b as PageProps } from './loadPage-CCf15nt8.mjs';
4
- import { ResolvedBlockData } from '@riverbankcms/blocks/system/data';
1
+ import { R as RiverbankClient, T as Theme } from './types-C0G9IxWO.mjs';
2
+ import './schema-Bpy9N5ZI.mjs';
3
+ import { P as PageProps } from './loadPage-pg4HimlK.mjs';
4
+ import { R as ResolvedBlockData } from './types-_nDnPHpv.mjs';
5
5
 
6
6
  /**
7
7
  * Server-side helper to fetch content (page or entry) by path.
@@ -0,0 +1,11 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
+
3
+ var _chunk62ZJI564js = require('./chunk-62ZJI564.js');
4
+ require('./chunk-YXDDFG3N.js');
5
+ require('./chunk-HOY77YBF.js');
6
+ require('./chunk-EGTDJ4PL.js');
7
+ require('./chunk-DGUM43GV.js');
8
+
9
+
10
+ exports.loadPage = _chunk62ZJI564js.loadPage;
11
+ //# sourceMappingURL=loadPage-3ECPF426.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["/Users/will/Projects/Business/cms/builder/packages/sdk/dist/server/loadPage-3ECPF426.js"],"names":[],"mappings":"AAAA;AACE;AACF,sDAA4B;AAC5B,+BAA4B;AAC5B,+BAA4B;AAC5B,+BAA4B;AAC5B,+BAA4B;AAC5B;AACE;AACF,6CAAC","file":"/Users/will/Projects/Business/cms/builder/packages/sdk/dist/server/loadPage-3ECPF426.js"}
@@ -1,8 +1,149 @@
1
- import { R as RiverbankClient, S as SiteResponse } from './types-C6gmRHLe.mjs';
1
+ import { T as Theme, R as RiverbankClient, S as SiteResponse } from './types-BprgZt-t.js';
2
2
  import * as react_jsx_runtime from 'react/jsx-runtime';
3
- import { PageOutline, Theme, ThemeTokens, RouteMap, OccurrenceContextData, PageRenderer, BlockOverrides } from '@riverbankcms/blocks';
4
- import { ResolvedBlockData } from '@riverbankcms/blocks/system/data';
5
- import { D as DataLoaderOverrides } from './types-Bbo01M7P.mjs';
3
+ import * as React$1 from 'react';
4
+ import React__default, { ComponentType } from 'react';
5
+ import { P as PageOutline, S as SdkCustomBlock } from './schema-Bpy9N5ZI.js';
6
+ import { z } from 'zod';
7
+ import { R as ResolvedBlockData, D as DataLoaderOverrides } from './types-_nDnPHpv.js';
8
+
9
+ declare const colorTokens: readonly ["background/base", "background/elevated", "surface/base", "surface/subtle", "surface/inverted", "content/primary", "content/secondary", "accent/primary", "accent/secondary", "border/base"];
10
+ declare const typographyTokens: readonly ["display/hero", "display/section", "heading/large", "heading/medium", "heading/small", "body/normal", "body/small", "caption"];
11
+ declare const spacingTokens: readonly ["none", "3xs", "2xs", "xs", "sm", "md", "lg", "xl", "2xl", "3xl"];
12
+ declare const radiusTokens: readonly ["none", "xs", "sm", "md", "lg", "pill", "full"];
13
+ declare const shadowTokens: readonly ["none", "soft", "medium", "strong"];
14
+ type ThemeTokens = {
15
+ color: Record<(typeof colorTokens)[number], string>;
16
+ typography: Record<(typeof typographyTokens)[number], {
17
+ fontSize: string;
18
+ lineHeight: string;
19
+ fontWeight?: string;
20
+ }>;
21
+ spacing: Record<(typeof spacingTokens)[number], string>;
22
+ radius: Record<(typeof radiusTokens)[number], string>;
23
+ shadow: Record<(typeof shadowTokens)[number], string>;
24
+ palette: Record<string, string>;
25
+ };
26
+
27
+ type RouteMapEntry = string | {
28
+ path?: string | null;
29
+ href?: string | null;
30
+ url?: string | null;
31
+ draftPath?: string | null;
32
+ [key: string]: unknown;
33
+ };
34
+ type RouteMap = Record<string, RouteMapEntry>;
35
+ type TransformContext = {
36
+ theme: ThemeTokens;
37
+ locale?: string;
38
+ routes?: RouteMap;
39
+ };
40
+ type TransformHandler<TOptions = unknown> = (value: unknown, options: TOptions, context: TransformContext) => unknown;
41
+ type TransformDefinition<TOptions = unknown> = {
42
+ id: string;
43
+ summary?: string;
44
+ kind: "formatter" | "collection" | "string" | "html";
45
+ schema?: z.ZodType<TOptions>;
46
+ run: TransformHandler<TOptions>;
47
+ };
48
+ type TransformRegistry = Map<string, TransformDefinition<any>>;
49
+
50
+ type ViewModel = Record<string, unknown>;
51
+ type ComponentRegistry = Record<string, React__default.ComponentType<any>>;
52
+ type ResolverContext = {
53
+ viewModel: ViewModel;
54
+ registry: ComponentRegistry;
55
+ transforms?: TransformRegistry;
56
+ theme?: ThemeTokens;
57
+ routes?: RouteMap;
58
+ pathBase?: string;
59
+ blockId?: string | null;
60
+ blockKind?: string;
61
+ blockContent?: unknown;
62
+ blockBindings?: Record<string, unknown>;
63
+ fragmentRegistry?: Record<string, any>;
64
+ };
65
+
66
+ type SystemBlockComponentProps<TContent = Record<string, unknown>> = {
67
+ content: TContent;
68
+ theme?: ThemeTokens;
69
+ themeConfig?: Theme;
70
+ registry?: ResolverContext["registry"];
71
+ transforms?: TransformRegistry;
72
+ viewModelOverrides?: Record<string, unknown>;
73
+ data?: Record<string, unknown>;
74
+ pathBase?: string;
75
+ blockId?: string | null;
76
+ blockKind?: string;
77
+ blockBindings?: Record<string, unknown>;
78
+ fragmentRegistry?: ResolverContext["fragmentRegistry"];
79
+ };
80
+ type SystemBlockComponent<TContent = Record<string, unknown>> = ComponentType<SystemBlockComponentProps<TContent>>;
81
+
82
+ /**
83
+ * Occurrence context for event pages.
84
+ * Passed through to blocks that need occurrence information (e.g., event-registration).
85
+ */
86
+ type OccurrenceContextData = {
87
+ id: string;
88
+ seriesId: string;
89
+ startsAt: string;
90
+ endsAt: string;
91
+ capacityOverride?: number | null;
92
+ overrides?: Record<string, unknown> | null;
93
+ };
94
+ type PageRendererDataContext = {
95
+ siteId?: string;
96
+ pageId?: string;
97
+ resolvedData?: Record<string, Record<string, unknown>>;
98
+ previewStage?: 'published' | 'preview';
99
+ routes?: RouteMap;
100
+ occurrenceContext?: OccurrenceContextData | null;
101
+ contentEntry?: Record<string, unknown> | null;
102
+ };
103
+ /**
104
+ * Block override component type.
105
+ * Override components receive the same props as default block components.
106
+ *
107
+ * Uses `any` for content type to allow typed components (e.g., SystemBlockComponentProps<HeroContent>)
108
+ * to be used as overrides without type errors. The actual content type is validated at runtime
109
+ * based on the block kind.
110
+ */
111
+ type BlockOverrideComponent = SystemBlockComponent<any>;
112
+ /**
113
+ * Map of block kinds to custom override components.
114
+ * Keys can be either:
115
+ * - Full block kind: "block.hero"
116
+ * - Short form: "hero" (will match "block.hero")
117
+ *
118
+ * @example
119
+ * ```tsx
120
+ * const overrides: BlockOverrides = {
121
+ * 'hero': CustomHero, // CustomHero: SystemBlockComponentProps<HeroContent>
122
+ * 'bodyText': CustomBodyText, // CustomBodyText: SystemBlockComponentProps<BodyTextContent>
123
+ * };
124
+ * ```
125
+ */
126
+ type BlockOverrides = Record<string, BlockOverrideComponent>;
127
+ /**
128
+ * SDK site configuration for custom block rendering.
129
+ * Minimal type containing only what PageRenderer needs.
130
+ */
131
+ type SdkConfigForRenderer = {
132
+ customBlocks?: SdkCustomBlock[];
133
+ };
134
+ interface PageRendererProps {
135
+ theme: Theme;
136
+ page: PageOutline | null;
137
+ usePlaceholders?: boolean;
138
+ dataContext?: PageRendererDataContext;
139
+ routeMap?: RouteMap;
140
+ wrapBlock?: (blockId: string, rendered: React$1.ReactNode) => React$1.ReactNode;
141
+ registry?: ResolverContext["registry"];
142
+ themeTokens?: ThemeTokens;
143
+ blockOverrides?: BlockOverrides;
144
+ sdkConfig?: SdkConfigForRenderer | null;
145
+ }
146
+ declare function PageRenderer({ theme, page, usePlaceholders, dataContext, wrapBlock, registry, themeTokens: providedThemeTokens, routeMap, blockOverrides, sdkConfig, }: PageRendererProps): react_jsx_runtime.JSX.Element;
6
147
 
7
148
  type PageProps = {
8
149
  page: PageOutline;
@@ -213,4 +354,4 @@ type LoadPageResult = Omit<PageProps, 'registry' | 'wrapBlock' | 'usePlaceholder
213
354
  */
214
355
  declare function loadPage(params: LoadPageParams): Promise<LoadPageResult>;
215
356
 
216
- export { type LoadPageParams as L, Page as P, type RuntimeSdkConfig as R, type LoadPageResult as a, type PageProps as b, loadPage as l };
357
+ export { type BlockOverrides as B, type LoadPageParams as L, type PageProps as P, type RuntimeSdkConfig as R, type SystemBlockComponentProps as S, type ThemeTokens as T, type LoadPageResult as a, Page as b, PageRenderer as c, type RouteMap as d, type BlockOverrideComponent as e, loadPage as l };
@@ -0,0 +1,11 @@
1
+ import {
2
+ loadPage
3
+ } from "./chunk-JTAERCX2.mjs";
4
+ import "./chunk-GWBMJPLH.mjs";
5
+ import "./chunk-7DS4Q3GA.mjs";
6
+ import "./chunk-USQF2XTU.mjs";
7
+ import "./chunk-BJTO5JO5.mjs";
8
+ export {
9
+ loadPage
10
+ };
11
+ //# sourceMappingURL=loadPage-LW273NYO.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -1,8 +1,149 @@
1
- import { R as RiverbankClient, S as SiteResponse } from './types-C6gmRHLe.js';
1
+ import { T as Theme, R as RiverbankClient, S as SiteResponse } from './types-C0G9IxWO.mjs';
2
2
  import * as react_jsx_runtime from 'react/jsx-runtime';
3
- import { PageOutline, Theme, ThemeTokens, RouteMap, OccurrenceContextData, PageRenderer, BlockOverrides } from '@riverbankcms/blocks';
4
- import { ResolvedBlockData } from '@riverbankcms/blocks/system/data';
5
- import { D as DataLoaderOverrides } from './types-Bbo01M7P.js';
3
+ import * as React$1 from 'react';
4
+ import React__default, { ComponentType } from 'react';
5
+ import { P as PageOutline, S as SdkCustomBlock } from './schema-Bpy9N5ZI.mjs';
6
+ import { z } from 'zod';
7
+ import { R as ResolvedBlockData, D as DataLoaderOverrides } from './types-_nDnPHpv.mjs';
8
+
9
+ declare const colorTokens: readonly ["background/base", "background/elevated", "surface/base", "surface/subtle", "surface/inverted", "content/primary", "content/secondary", "accent/primary", "accent/secondary", "border/base"];
10
+ declare const typographyTokens: readonly ["display/hero", "display/section", "heading/large", "heading/medium", "heading/small", "body/normal", "body/small", "caption"];
11
+ declare const spacingTokens: readonly ["none", "3xs", "2xs", "xs", "sm", "md", "lg", "xl", "2xl", "3xl"];
12
+ declare const radiusTokens: readonly ["none", "xs", "sm", "md", "lg", "pill", "full"];
13
+ declare const shadowTokens: readonly ["none", "soft", "medium", "strong"];
14
+ type ThemeTokens = {
15
+ color: Record<(typeof colorTokens)[number], string>;
16
+ typography: Record<(typeof typographyTokens)[number], {
17
+ fontSize: string;
18
+ lineHeight: string;
19
+ fontWeight?: string;
20
+ }>;
21
+ spacing: Record<(typeof spacingTokens)[number], string>;
22
+ radius: Record<(typeof radiusTokens)[number], string>;
23
+ shadow: Record<(typeof shadowTokens)[number], string>;
24
+ palette: Record<string, string>;
25
+ };
26
+
27
+ type RouteMapEntry = string | {
28
+ path?: string | null;
29
+ href?: string | null;
30
+ url?: string | null;
31
+ draftPath?: string | null;
32
+ [key: string]: unknown;
33
+ };
34
+ type RouteMap = Record<string, RouteMapEntry>;
35
+ type TransformContext = {
36
+ theme: ThemeTokens;
37
+ locale?: string;
38
+ routes?: RouteMap;
39
+ };
40
+ type TransformHandler<TOptions = unknown> = (value: unknown, options: TOptions, context: TransformContext) => unknown;
41
+ type TransformDefinition<TOptions = unknown> = {
42
+ id: string;
43
+ summary?: string;
44
+ kind: "formatter" | "collection" | "string" | "html";
45
+ schema?: z.ZodType<TOptions>;
46
+ run: TransformHandler<TOptions>;
47
+ };
48
+ type TransformRegistry = Map<string, TransformDefinition<any>>;
49
+
50
+ type ViewModel = Record<string, unknown>;
51
+ type ComponentRegistry = Record<string, React__default.ComponentType<any>>;
52
+ type ResolverContext = {
53
+ viewModel: ViewModel;
54
+ registry: ComponentRegistry;
55
+ transforms?: TransformRegistry;
56
+ theme?: ThemeTokens;
57
+ routes?: RouteMap;
58
+ pathBase?: string;
59
+ blockId?: string | null;
60
+ blockKind?: string;
61
+ blockContent?: unknown;
62
+ blockBindings?: Record<string, unknown>;
63
+ fragmentRegistry?: Record<string, any>;
64
+ };
65
+
66
+ type SystemBlockComponentProps<TContent = Record<string, unknown>> = {
67
+ content: TContent;
68
+ theme?: ThemeTokens;
69
+ themeConfig?: Theme;
70
+ registry?: ResolverContext["registry"];
71
+ transforms?: TransformRegistry;
72
+ viewModelOverrides?: Record<string, unknown>;
73
+ data?: Record<string, unknown>;
74
+ pathBase?: string;
75
+ blockId?: string | null;
76
+ blockKind?: string;
77
+ blockBindings?: Record<string, unknown>;
78
+ fragmentRegistry?: ResolverContext["fragmentRegistry"];
79
+ };
80
+ type SystemBlockComponent<TContent = Record<string, unknown>> = ComponentType<SystemBlockComponentProps<TContent>>;
81
+
82
+ /**
83
+ * Occurrence context for event pages.
84
+ * Passed through to blocks that need occurrence information (e.g., event-registration).
85
+ */
86
+ type OccurrenceContextData = {
87
+ id: string;
88
+ seriesId: string;
89
+ startsAt: string;
90
+ endsAt: string;
91
+ capacityOverride?: number | null;
92
+ overrides?: Record<string, unknown> | null;
93
+ };
94
+ type PageRendererDataContext = {
95
+ siteId?: string;
96
+ pageId?: string;
97
+ resolvedData?: Record<string, Record<string, unknown>>;
98
+ previewStage?: 'published' | 'preview';
99
+ routes?: RouteMap;
100
+ occurrenceContext?: OccurrenceContextData | null;
101
+ contentEntry?: Record<string, unknown> | null;
102
+ };
103
+ /**
104
+ * Block override component type.
105
+ * Override components receive the same props as default block components.
106
+ *
107
+ * Uses `any` for content type to allow typed components (e.g., SystemBlockComponentProps<HeroContent>)
108
+ * to be used as overrides without type errors. The actual content type is validated at runtime
109
+ * based on the block kind.
110
+ */
111
+ type BlockOverrideComponent = SystemBlockComponent<any>;
112
+ /**
113
+ * Map of block kinds to custom override components.
114
+ * Keys can be either:
115
+ * - Full block kind: "block.hero"
116
+ * - Short form: "hero" (will match "block.hero")
117
+ *
118
+ * @example
119
+ * ```tsx
120
+ * const overrides: BlockOverrides = {
121
+ * 'hero': CustomHero, // CustomHero: SystemBlockComponentProps<HeroContent>
122
+ * 'bodyText': CustomBodyText, // CustomBodyText: SystemBlockComponentProps<BodyTextContent>
123
+ * };
124
+ * ```
125
+ */
126
+ type BlockOverrides = Record<string, BlockOverrideComponent>;
127
+ /**
128
+ * SDK site configuration for custom block rendering.
129
+ * Minimal type containing only what PageRenderer needs.
130
+ */
131
+ type SdkConfigForRenderer = {
132
+ customBlocks?: SdkCustomBlock[];
133
+ };
134
+ interface PageRendererProps {
135
+ theme: Theme;
136
+ page: PageOutline | null;
137
+ usePlaceholders?: boolean;
138
+ dataContext?: PageRendererDataContext;
139
+ routeMap?: RouteMap;
140
+ wrapBlock?: (blockId: string, rendered: React$1.ReactNode) => React$1.ReactNode;
141
+ registry?: ResolverContext["registry"];
142
+ themeTokens?: ThemeTokens;
143
+ blockOverrides?: BlockOverrides;
144
+ sdkConfig?: SdkConfigForRenderer | null;
145
+ }
146
+ declare function PageRenderer({ theme, page, usePlaceholders, dataContext, wrapBlock, registry, themeTokens: providedThemeTokens, routeMap, blockOverrides, sdkConfig, }: PageRendererProps): react_jsx_runtime.JSX.Element;
6
147
 
7
148
  type PageProps = {
8
149
  page: PageOutline;
@@ -213,4 +354,4 @@ type LoadPageResult = Omit<PageProps, 'registry' | 'wrapBlock' | 'usePlaceholder
213
354
  */
214
355
  declare function loadPage(params: LoadPageParams): Promise<LoadPageResult>;
215
356
 
216
- export { type LoadPageParams as L, Page as P, type RuntimeSdkConfig as R, type LoadPageResult as a, type PageProps as b, loadPage as l };
357
+ export { type BlockOverrides as B, type LoadPageParams as L, type PageProps as P, type RuntimeSdkConfig as R, type SystemBlockComponentProps as S, type ThemeTokens as T, type LoadPageResult as a, Page as b, PageRenderer as c, type RouteMap as d, type BlockOverrideComponent as e, loadPage as l };
@@ -1,10 +1,13 @@
1
- import { a as LoadPageResult } from './loadPage-CCf15nt8.mjs';
2
- import { S as SiteResponse } from './types-C6gmRHLe.mjs';
1
+ import { a as LoadPageResult } from './loadPage-pg4HimlK.mjs';
2
+ import { S as SiteResponse } from './types-C0G9IxWO.mjs';
3
3
  import 'react/jsx-runtime';
4
- import '@riverbankcms/blocks';
5
- import '@riverbankcms/blocks/system/data';
6
- import './types-Bbo01M7P.mjs';
7
- import '@riverbankcms/api';
4
+ import 'react';
5
+ import './schema-Bpy9N5ZI.mjs';
6
+ import 'zod';
7
+ import './types-_nDnPHpv.mjs';
8
+ import '@riverbankcms/ai';
9
+ import '@riverbankcms/media-storage-supabase';
10
+ import '@riverbankcms/db';
8
11
 
9
12
  /**
10
13
  * Metadata generation helper for Next.js pages
@@ -1,10 +1,13 @@
1
- import { a as LoadPageResult } from './loadPage-BYmVMk0V.js';
2
- import { S as SiteResponse } from './types-C6gmRHLe.js';
1
+ import { a as LoadPageResult } from './loadPage-BMg8PJxJ.js';
2
+ import { S as SiteResponse } from './types-BprgZt-t.js';
3
3
  import 'react/jsx-runtime';
4
- import '@riverbankcms/blocks';
5
- import '@riverbankcms/blocks/system/data';
6
- import './types-Bbo01M7P.js';
7
- import '@riverbankcms/api';
4
+ import 'react';
5
+ import './schema-Bpy9N5ZI.js';
6
+ import 'zod';
7
+ import './types-_nDnPHpv.js';
8
+ import '@riverbankcms/ai';
9
+ import '@riverbankcms/media-storage-supabase';
10
+ import '@riverbankcms/db';
8
11
 
9
12
  /**
10
13
  * Metadata generation helper for Next.js pages
@@ -1,4 +1,6 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }// src/metadata/generatePageMetadata.ts
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }require('./chunk-DGUM43GV.js');
2
+
3
+ // src/metadata/generatePageMetadata.ts
2
4
  function generatePageMetadata(input) {
3
5
  const { page, site, path, siteUrl, overrides, googleSiteVerification } = input;
4
6
  const pageTitle = _nullishCoalesce(_optionalChain([overrides, 'optionalAccess', _ => _.title]), () => ( page.name));
@@ -1 +1 @@
1
- {"version":3,"sources":["/Users/will/Projects/Business/cms/builder/packages/sdk/dist/server/metadata.js","../../src/metadata/generatePageMetadata.ts"],"names":[],"mappings":"AAAA;ACgHO,SAAS,oBAAA,CAAqB,KAAA,EAAoC;AACvE,EAAA,MAAM,EAAE,IAAA,EAAM,IAAA,EAAM,IAAA,EAAM,OAAA,EAAS,SAAA,EAAW,uBAAuB,EAAA,EAAI,KAAA;AAGzE,EAAA,MAAM,UAAA,mCAAY,SAAA,2BAAW,OAAA,UAAS,IAAA,CAAK,MAAA;AAC3C,EAAA,MAAM,UAAA,EAAY,UAAA,IAAc,IAAA,CAAK,MAAA,EAAQ,UAAA,EAAY,CAAA,EAAA;AAGN,EAAA;AAGO,EAAA;AACzB,EAAA;AAGN,EAAA;AAClB,IAAA;AACqB,IAAA;AAChB,IAAA;AACC,MAAA;AACb,IAAA;AACW,IAAA;AACF,MAAA;AACqB,MAAA;AACvB,MAAA;AACU,MAAA;AACT,MAAA;AAEF,MAAA;AACU,QAAA;AACN,UAAA;AACiB,YAAA;AACV,YAAA;AACP,UAAA;AACF,QAAA;AAED,MAAA;AACP,IAAA;AACS,IAAA;AACD,MAAA;AACC,MAAA;AACqB,MAAA;AAExB,MAAA;AAC4B,QAAA;AAE3B,MAAA;AACP,IAAA;AACF,EAAA;AAGuB,EAAA;AACH,IAAA;AACiB,MAAA;AACE,MAAA;AACrC,IAAA;AACF,EAAA;AAG4B,EAAA;AACF,IAAA;AACd,MAAA;AACV,IAAA;AACF,EAAA;AAEO,EAAA;AACT;AAuB4E;AAC9C,EAAA;AACvB,IAAA;AACQ,IAAA;AACA,MAAA;AACD,MAAA;AACC,QAAA;AACC,QAAA;AACV,MAAA;AACF,IAAA;AACD,EAAA;AACH;ADrJ4D;AACA;AACA;AACA","file":"/Users/will/Projects/Business/cms/builder/packages/sdk/dist/server/metadata.js","sourcesContent":[null,"/**\n * Metadata generation helper for Next.js pages\n *\n * Generates SEO-optimized metadata from Builder page data for use in\n * Next.js generateMetadata() functions.\n */\n\nimport type { LoadPageResult } from '../rendering/helpers/loadPage';\nimport type { SiteResponse } from '../client/types';\n\n/**\n * Next.js Metadata type\n * Simplified version to avoid requiring Next.js as a dependency\n */\nexport type Metadata = {\n title?: string;\n description?: string;\n alternates?: {\n canonical?: string;\n };\n openGraph?: {\n title?: string;\n description?: string;\n url?: string;\n siteName?: string;\n type?: string;\n images?: Array<{\n url: string;\n alt?: string;\n }>;\n };\n twitter?: {\n card?: string;\n title?: string;\n description?: string;\n images?: string[];\n };\n robots?: {\n index?: boolean;\n follow?: boolean;\n };\n verification?: {\n google?: string;\n };\n};\n\nexport type PageMetadataInput = {\n /**\n * Page data from loadPage() or custom page object\n */\n page: LoadPageResult['page'] | {\n name: string;\n purpose?: string;\n };\n\n /**\n * Site data from client.getSite()\n */\n site: SiteResponse['site'];\n\n /**\n * Current URL path (e.g., '/about', '/blog/post-1')\n */\n path: string;\n\n /**\n * Full site URL for canonical and OG URLs\n * Example: 'https://example.com'\n */\n siteUrl: string;\n\n /**\n * Optional custom metadata overrides\n */\n overrides?: {\n title?: string;\n description?: string;\n ogImage?: string;\n canonicalUrl?: string;\n robots?: {\n index?: boolean;\n follow?: boolean;\n };\n };\n\n /**\n * Optional Google site verification token\n */\n googleSiteVerification?: string;\n};\n\n/**\n * Generate Next.js Metadata object from Builder page data\n *\n * @example\n * ```tsx\n * import { generatePageMetadata } from '@riverbankcms/sdk/metadata';\n * import { loadPage } from '@riverbankcms/sdk';\n *\n * export async function generateMetadata({ params }) {\n * const pageData = await loadPage({ client, siteId, path: params.slug });\n * const siteData = await client.getSite({ id: siteId });\n *\n * return generatePageMetadata({\n * page: pageData.page,\n * site: siteData.site,\n * path: params.slug,\n * siteUrl: 'https://example.com',\n * });\n * }\n * ```\n */\nexport function generatePageMetadata(input: PageMetadataInput): Metadata {\n const { page, site, path, siteUrl, overrides, googleSiteVerification } = input;\n\n // Build page title\n const pageTitle = overrides?.title ?? page.name;\n const fullTitle = pageTitle === site.title ? pageTitle : `${pageTitle} | ${site.title}`;\n\n // Use page purpose as description fallback\n const description = overrides?.description ?? page.purpose;\n\n // Build full URLs\n const canonicalUrl = overrides?.canonicalUrl ?? `${siteUrl}${path}`;\n const fullUrl = `${siteUrl}${path}`;\n\n // Build metadata object\n const metadata: Metadata = {\n title: fullTitle,\n description: description ?? undefined,\n alternates: {\n canonical: canonicalUrl,\n },\n openGraph: {\n title: pageTitle,\n description: description ?? undefined,\n url: fullUrl,\n siteName: site.title,\n type: 'website',\n ...(overrides?.ogImage\n ? {\n images: [\n {\n url: overrides.ogImage,\n alt: pageTitle,\n },\n ],\n }\n : {}),\n },\n twitter: {\n card: 'summary_large_image',\n title: pageTitle,\n description: description ?? undefined,\n ...(overrides?.ogImage\n ? {\n images: [overrides.ogImage],\n }\n : {}),\n },\n };\n\n // Add robots meta if specified\n if (overrides?.robots) {\n metadata.robots = {\n index: overrides.robots.index ?? true,\n follow: overrides.robots.follow ?? true,\n };\n }\n\n // Add Google site verification if provided\n if (googleSiteVerification) {\n metadata.verification = {\n google: googleSiteVerification,\n };\n }\n\n return metadata;\n}\n\n/**\n * Generate metadata for preview/staging environments\n *\n * This helper adds noindex/nofollow robots tags to prevent search engines\n * from indexing preview or staging URLs.\n *\n * @example\n * ```tsx\n * export async function generateMetadata({ params }) {\n * const pageData = await loadPage({ client, siteId, path: params.slug });\n * const isPreview = process.env.VERCEL_ENV !== 'production';\n *\n * return generatePreviewMetadata({\n * page: pageData.page,\n * site: siteData.site,\n * path: params.slug,\n * siteUrl: 'https://example.com',\n * });\n * }\n * ```\n */\nexport function generatePreviewMetadata(input: PageMetadataInput): Metadata {\n return generatePageMetadata({\n ...input,\n overrides: {\n ...input.overrides,\n robots: {\n index: false,\n follow: false,\n },\n },\n });\n}\n"]}
1
+ {"version":3,"sources":["/Users/will/Projects/Business/cms/builder/packages/sdk/dist/server/metadata.js","../../src/metadata/generatePageMetadata.ts"],"names":[],"mappings":"AAAA,gtBAA4B;AAC5B;AACA;AC8GO,SAAS,oBAAA,CAAqB,KAAA,EAAoC;AACvE,EAAA,MAAM,EAAE,IAAA,EAAM,IAAA,EAAM,IAAA,EAAM,OAAA,EAAS,SAAA,EAAW,uBAAuB,EAAA,EAAI,KAAA;AAGzE,EAAA,MAAM,UAAA,mCAAY,SAAA,2BAAW,OAAA,UAAS,IAAA,CAAK,MAAA;AAC3C,EAAA,MAAM,UAAA,EAAY,UAAA,IAAc,IAAA,CAAK,MAAA,EAAQ,UAAA,EAAY,CAAA,EAAA;AAGN,EAAA;AAGO,EAAA;AACzB,EAAA;AAGN,EAAA;AAClB,IAAA;AACqB,IAAA;AAChB,IAAA;AACC,MAAA;AACb,IAAA;AACW,IAAA;AACF,MAAA;AACqB,MAAA;AACvB,MAAA;AACU,MAAA;AACT,MAAA;AAEF,MAAA;AACU,QAAA;AACN,UAAA;AACiB,YAAA;AACV,YAAA;AACP,UAAA;AACF,QAAA;AAED,MAAA;AACP,IAAA;AACS,IAAA;AACD,MAAA;AACC,MAAA;AACqB,MAAA;AAExB,MAAA;AAC4B,QAAA;AAE3B,MAAA;AACP,IAAA;AACF,EAAA;AAGuB,EAAA;AACH,IAAA;AACiB,MAAA;AACE,MAAA;AACrC,IAAA;AACF,EAAA;AAG4B,EAAA;AACF,IAAA;AACd,MAAA;AACV,IAAA;AACF,EAAA;AAEO,EAAA;AACT;AAuB4E;AAC9C,EAAA;AACvB,IAAA;AACQ,IAAA;AACA,MAAA;AACD,MAAA;AACC,QAAA;AACC,QAAA;AACV,MAAA;AACF,IAAA;AACD,EAAA;AACH;ADnJ4D;AACA;AACA;AACA","file":"/Users/will/Projects/Business/cms/builder/packages/sdk/dist/server/metadata.js","sourcesContent":[null,"/**\n * Metadata generation helper for Next.js pages\n *\n * Generates SEO-optimized metadata from Builder page data for use in\n * Next.js generateMetadata() functions.\n */\n\nimport type { LoadPageResult } from '../rendering/helpers/loadPage';\nimport type { SiteResponse } from '../client/types';\n\n/**\n * Next.js Metadata type\n * Simplified version to avoid requiring Next.js as a dependency\n */\nexport type Metadata = {\n title?: string;\n description?: string;\n alternates?: {\n canonical?: string;\n };\n openGraph?: {\n title?: string;\n description?: string;\n url?: string;\n siteName?: string;\n type?: string;\n images?: Array<{\n url: string;\n alt?: string;\n }>;\n };\n twitter?: {\n card?: string;\n title?: string;\n description?: string;\n images?: string[];\n };\n robots?: {\n index?: boolean;\n follow?: boolean;\n };\n verification?: {\n google?: string;\n };\n};\n\nexport type PageMetadataInput = {\n /**\n * Page data from loadPage() or custom page object\n */\n page: LoadPageResult['page'] | {\n name: string;\n purpose?: string;\n };\n\n /**\n * Site data from client.getSite()\n */\n site: SiteResponse['site'];\n\n /**\n * Current URL path (e.g., '/about', '/blog/post-1')\n */\n path: string;\n\n /**\n * Full site URL for canonical and OG URLs\n * Example: 'https://example.com'\n */\n siteUrl: string;\n\n /**\n * Optional custom metadata overrides\n */\n overrides?: {\n title?: string;\n description?: string;\n ogImage?: string;\n canonicalUrl?: string;\n robots?: {\n index?: boolean;\n follow?: boolean;\n };\n };\n\n /**\n * Optional Google site verification token\n */\n googleSiteVerification?: string;\n};\n\n/**\n * Generate Next.js Metadata object from Builder page data\n *\n * @example\n * ```tsx\n * import { generatePageMetadata } from '@riverbankcms/sdk/metadata';\n * import { loadPage } from '@riverbankcms/sdk';\n *\n * export async function generateMetadata({ params }) {\n * const pageData = await loadPage({ client, siteId, path: params.slug });\n * const siteData = await client.getSite({ id: siteId });\n *\n * return generatePageMetadata({\n * page: pageData.page,\n * site: siteData.site,\n * path: params.slug,\n * siteUrl: 'https://example.com',\n * });\n * }\n * ```\n */\nexport function generatePageMetadata(input: PageMetadataInput): Metadata {\n const { page, site, path, siteUrl, overrides, googleSiteVerification } = input;\n\n // Build page title\n const pageTitle = overrides?.title ?? page.name;\n const fullTitle = pageTitle === site.title ? pageTitle : `${pageTitle} | ${site.title}`;\n\n // Use page purpose as description fallback\n const description = overrides?.description ?? page.purpose;\n\n // Build full URLs\n const canonicalUrl = overrides?.canonicalUrl ?? `${siteUrl}${path}`;\n const fullUrl = `${siteUrl}${path}`;\n\n // Build metadata object\n const metadata: Metadata = {\n title: fullTitle,\n description: description ?? undefined,\n alternates: {\n canonical: canonicalUrl,\n },\n openGraph: {\n title: pageTitle,\n description: description ?? undefined,\n url: fullUrl,\n siteName: site.title,\n type: 'website',\n ...(overrides?.ogImage\n ? {\n images: [\n {\n url: overrides.ogImage,\n alt: pageTitle,\n },\n ],\n }\n : {}),\n },\n twitter: {\n card: 'summary_large_image',\n title: pageTitle,\n description: description ?? undefined,\n ...(overrides?.ogImage\n ? {\n images: [overrides.ogImage],\n }\n : {}),\n },\n };\n\n // Add robots meta if specified\n if (overrides?.robots) {\n metadata.robots = {\n index: overrides.robots.index ?? true,\n follow: overrides.robots.follow ?? true,\n };\n }\n\n // Add Google site verification if provided\n if (googleSiteVerification) {\n metadata.verification = {\n google: googleSiteVerification,\n };\n }\n\n return metadata;\n}\n\n/**\n * Generate metadata for preview/staging environments\n *\n * This helper adds noindex/nofollow robots tags to prevent search engines\n * from indexing preview or staging URLs.\n *\n * @example\n * ```tsx\n * export async function generateMetadata({ params }) {\n * const pageData = await loadPage({ client, siteId, path: params.slug });\n * const isPreview = process.env.VERCEL_ENV !== 'production';\n *\n * return generatePreviewMetadata({\n * page: pageData.page,\n * site: siteData.site,\n * path: params.slug,\n * siteUrl: 'https://example.com',\n * });\n * }\n * ```\n */\nexport function generatePreviewMetadata(input: PageMetadataInput): Metadata {\n return generatePageMetadata({\n ...input,\n overrides: {\n ...input.overrides,\n robots: {\n index: false,\n follow: false,\n },\n },\n });\n}\n"]}
@@ -1,3 +1,5 @@
1
+ import "./chunk-BJTO5JO5.mjs";
2
+
1
3
  // src/metadata/generatePageMetadata.ts
2
4
  function generatePageMetadata(input) {
3
5
  const { page, site, path, siteUrl, overrides, googleSiteVerification } = input;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/metadata/generatePageMetadata.ts"],"sourcesContent":["/**\n * Metadata generation helper for Next.js pages\n *\n * Generates SEO-optimized metadata from Builder page data for use in\n * Next.js generateMetadata() functions.\n */\n\nimport type { LoadPageResult } from '../rendering/helpers/loadPage';\nimport type { SiteResponse } from '../client/types';\n\n/**\n * Next.js Metadata type\n * Simplified version to avoid requiring Next.js as a dependency\n */\nexport type Metadata = {\n title?: string;\n description?: string;\n alternates?: {\n canonical?: string;\n };\n openGraph?: {\n title?: string;\n description?: string;\n url?: string;\n siteName?: string;\n type?: string;\n images?: Array<{\n url: string;\n alt?: string;\n }>;\n };\n twitter?: {\n card?: string;\n title?: string;\n description?: string;\n images?: string[];\n };\n robots?: {\n index?: boolean;\n follow?: boolean;\n };\n verification?: {\n google?: string;\n };\n};\n\nexport type PageMetadataInput = {\n /**\n * Page data from loadPage() or custom page object\n */\n page: LoadPageResult['page'] | {\n name: string;\n purpose?: string;\n };\n\n /**\n * Site data from client.getSite()\n */\n site: SiteResponse['site'];\n\n /**\n * Current URL path (e.g., '/about', '/blog/post-1')\n */\n path: string;\n\n /**\n * Full site URL for canonical and OG URLs\n * Example: 'https://example.com'\n */\n siteUrl: string;\n\n /**\n * Optional custom metadata overrides\n */\n overrides?: {\n title?: string;\n description?: string;\n ogImage?: string;\n canonicalUrl?: string;\n robots?: {\n index?: boolean;\n follow?: boolean;\n };\n };\n\n /**\n * Optional Google site verification token\n */\n googleSiteVerification?: string;\n};\n\n/**\n * Generate Next.js Metadata object from Builder page data\n *\n * @example\n * ```tsx\n * import { generatePageMetadata } from '@riverbankcms/sdk/metadata';\n * import { loadPage } from '@riverbankcms/sdk';\n *\n * export async function generateMetadata({ params }) {\n * const pageData = await loadPage({ client, siteId, path: params.slug });\n * const siteData = await client.getSite({ id: siteId });\n *\n * return generatePageMetadata({\n * page: pageData.page,\n * site: siteData.site,\n * path: params.slug,\n * siteUrl: 'https://example.com',\n * });\n * }\n * ```\n */\nexport function generatePageMetadata(input: PageMetadataInput): Metadata {\n const { page, site, path, siteUrl, overrides, googleSiteVerification } = input;\n\n // Build page title\n const pageTitle = overrides?.title ?? page.name;\n const fullTitle = pageTitle === site.title ? pageTitle : `${pageTitle} | ${site.title}`;\n\n // Use page purpose as description fallback\n const description = overrides?.description ?? page.purpose;\n\n // Build full URLs\n const canonicalUrl = overrides?.canonicalUrl ?? `${siteUrl}${path}`;\n const fullUrl = `${siteUrl}${path}`;\n\n // Build metadata object\n const metadata: Metadata = {\n title: fullTitle,\n description: description ?? undefined,\n alternates: {\n canonical: canonicalUrl,\n },\n openGraph: {\n title: pageTitle,\n description: description ?? undefined,\n url: fullUrl,\n siteName: site.title,\n type: 'website',\n ...(overrides?.ogImage\n ? {\n images: [\n {\n url: overrides.ogImage,\n alt: pageTitle,\n },\n ],\n }\n : {}),\n },\n twitter: {\n card: 'summary_large_image',\n title: pageTitle,\n description: description ?? undefined,\n ...(overrides?.ogImage\n ? {\n images: [overrides.ogImage],\n }\n : {}),\n },\n };\n\n // Add robots meta if specified\n if (overrides?.robots) {\n metadata.robots = {\n index: overrides.robots.index ?? true,\n follow: overrides.robots.follow ?? true,\n };\n }\n\n // Add Google site verification if provided\n if (googleSiteVerification) {\n metadata.verification = {\n google: googleSiteVerification,\n };\n }\n\n return metadata;\n}\n\n/**\n * Generate metadata for preview/staging environments\n *\n * This helper adds noindex/nofollow robots tags to prevent search engines\n * from indexing preview or staging URLs.\n *\n * @example\n * ```tsx\n * export async function generateMetadata({ params }) {\n * const pageData = await loadPage({ client, siteId, path: params.slug });\n * const isPreview = process.env.VERCEL_ENV !== 'production';\n *\n * return generatePreviewMetadata({\n * page: pageData.page,\n * site: siteData.site,\n * path: params.slug,\n * siteUrl: 'https://example.com',\n * });\n * }\n * ```\n */\nexport function generatePreviewMetadata(input: PageMetadataInput): Metadata {\n return generatePageMetadata({\n ...input,\n overrides: {\n ...input.overrides,\n robots: {\n index: false,\n follow: false,\n },\n },\n });\n}\n"],"mappings":";AAgHO,SAAS,qBAAqB,OAAoC;AACvE,QAAM,EAAE,MAAM,MAAM,MAAM,SAAS,WAAW,uBAAuB,IAAI;AAGzE,QAAM,YAAY,WAAW,SAAS,KAAK;AAC3C,QAAM,YAAY,cAAc,KAAK,QAAQ,YAAY,GAAG,SAAS,MAAM,KAAK,KAAK;AAGrF,QAAM,cAAc,WAAW,eAAe,KAAK;AAGnD,QAAM,eAAe,WAAW,gBAAgB,GAAG,OAAO,GAAG,IAAI;AACjE,QAAM,UAAU,GAAG,OAAO,GAAG,IAAI;AAGjC,QAAM,WAAqB;AAAA,IACzB,OAAO;AAAA,IACP,aAAa,eAAe;AAAA,IAC5B,YAAY;AAAA,MACV,WAAW;AAAA,IACb;AAAA,IACA,WAAW;AAAA,MACT,OAAO;AAAA,MACP,aAAa,eAAe;AAAA,MAC5B,KAAK;AAAA,MACL,UAAU,KAAK;AAAA,MACf,MAAM;AAAA,MACN,GAAI,WAAW,UACX;AAAA,QACE,QAAQ;AAAA,UACN;AAAA,YACE,KAAK,UAAU;AAAA,YACf,KAAK;AAAA,UACP;AAAA,QACF;AAAA,MACF,IACA,CAAC;AAAA,IACP;AAAA,IACA,SAAS;AAAA,MACP,MAAM;AAAA,MACN,OAAO;AAAA,MACP,aAAa,eAAe;AAAA,MAC5B,GAAI,WAAW,UACX;AAAA,QACE,QAAQ,CAAC,UAAU,OAAO;AAAA,MAC5B,IACA,CAAC;AAAA,IACP;AAAA,EACF;AAGA,MAAI,WAAW,QAAQ;AACrB,aAAS,SAAS;AAAA,MAChB,OAAO,UAAU,OAAO,SAAS;AAAA,MACjC,QAAQ,UAAU,OAAO,UAAU;AAAA,IACrC;AAAA,EACF;AAGA,MAAI,wBAAwB;AAC1B,aAAS,eAAe;AAAA,MACtB,QAAQ;AAAA,IACV;AAAA,EACF;AAEA,SAAO;AACT;AAuBO,SAAS,wBAAwB,OAAoC;AAC1E,SAAO,qBAAqB;AAAA,IAC1B,GAAG;AAAA,IACH,WAAW;AAAA,MACT,GAAG,MAAM;AAAA,MACT,QAAQ;AAAA,QACN,OAAO;AAAA,QACP,QAAQ;AAAA,MACV;AAAA,IACF;AAAA,EACF,CAAC;AACH;","names":[]}
1
+ {"version":3,"sources":["../../src/metadata/generatePageMetadata.ts"],"sourcesContent":["/**\n * Metadata generation helper for Next.js pages\n *\n * Generates SEO-optimized metadata from Builder page data for use in\n * Next.js generateMetadata() functions.\n */\n\nimport type { LoadPageResult } from '../rendering/helpers/loadPage';\nimport type { SiteResponse } from '../client/types';\n\n/**\n * Next.js Metadata type\n * Simplified version to avoid requiring Next.js as a dependency\n */\nexport type Metadata = {\n title?: string;\n description?: string;\n alternates?: {\n canonical?: string;\n };\n openGraph?: {\n title?: string;\n description?: string;\n url?: string;\n siteName?: string;\n type?: string;\n images?: Array<{\n url: string;\n alt?: string;\n }>;\n };\n twitter?: {\n card?: string;\n title?: string;\n description?: string;\n images?: string[];\n };\n robots?: {\n index?: boolean;\n follow?: boolean;\n };\n verification?: {\n google?: string;\n };\n};\n\nexport type PageMetadataInput = {\n /**\n * Page data from loadPage() or custom page object\n */\n page: LoadPageResult['page'] | {\n name: string;\n purpose?: string;\n };\n\n /**\n * Site data from client.getSite()\n */\n site: SiteResponse['site'];\n\n /**\n * Current URL path (e.g., '/about', '/blog/post-1')\n */\n path: string;\n\n /**\n * Full site URL for canonical and OG URLs\n * Example: 'https://example.com'\n */\n siteUrl: string;\n\n /**\n * Optional custom metadata overrides\n */\n overrides?: {\n title?: string;\n description?: string;\n ogImage?: string;\n canonicalUrl?: string;\n robots?: {\n index?: boolean;\n follow?: boolean;\n };\n };\n\n /**\n * Optional Google site verification token\n */\n googleSiteVerification?: string;\n};\n\n/**\n * Generate Next.js Metadata object from Builder page data\n *\n * @example\n * ```tsx\n * import { generatePageMetadata } from '@riverbankcms/sdk/metadata';\n * import { loadPage } from '@riverbankcms/sdk';\n *\n * export async function generateMetadata({ params }) {\n * const pageData = await loadPage({ client, siteId, path: params.slug });\n * const siteData = await client.getSite({ id: siteId });\n *\n * return generatePageMetadata({\n * page: pageData.page,\n * site: siteData.site,\n * path: params.slug,\n * siteUrl: 'https://example.com',\n * });\n * }\n * ```\n */\nexport function generatePageMetadata(input: PageMetadataInput): Metadata {\n const { page, site, path, siteUrl, overrides, googleSiteVerification } = input;\n\n // Build page title\n const pageTitle = overrides?.title ?? page.name;\n const fullTitle = pageTitle === site.title ? pageTitle : `${pageTitle} | ${site.title}`;\n\n // Use page purpose as description fallback\n const description = overrides?.description ?? page.purpose;\n\n // Build full URLs\n const canonicalUrl = overrides?.canonicalUrl ?? `${siteUrl}${path}`;\n const fullUrl = `${siteUrl}${path}`;\n\n // Build metadata object\n const metadata: Metadata = {\n title: fullTitle,\n description: description ?? undefined,\n alternates: {\n canonical: canonicalUrl,\n },\n openGraph: {\n title: pageTitle,\n description: description ?? undefined,\n url: fullUrl,\n siteName: site.title,\n type: 'website',\n ...(overrides?.ogImage\n ? {\n images: [\n {\n url: overrides.ogImage,\n alt: pageTitle,\n },\n ],\n }\n : {}),\n },\n twitter: {\n card: 'summary_large_image',\n title: pageTitle,\n description: description ?? undefined,\n ...(overrides?.ogImage\n ? {\n images: [overrides.ogImage],\n }\n : {}),\n },\n };\n\n // Add robots meta if specified\n if (overrides?.robots) {\n metadata.robots = {\n index: overrides.robots.index ?? true,\n follow: overrides.robots.follow ?? true,\n };\n }\n\n // Add Google site verification if provided\n if (googleSiteVerification) {\n metadata.verification = {\n google: googleSiteVerification,\n };\n }\n\n return metadata;\n}\n\n/**\n * Generate metadata for preview/staging environments\n *\n * This helper adds noindex/nofollow robots tags to prevent search engines\n * from indexing preview or staging URLs.\n *\n * @example\n * ```tsx\n * export async function generateMetadata({ params }) {\n * const pageData = await loadPage({ client, siteId, path: params.slug });\n * const isPreview = process.env.VERCEL_ENV !== 'production';\n *\n * return generatePreviewMetadata({\n * page: pageData.page,\n * site: siteData.site,\n * path: params.slug,\n * siteUrl: 'https://example.com',\n * });\n * }\n * ```\n */\nexport function generatePreviewMetadata(input: PageMetadataInput): Metadata {\n return generatePageMetadata({\n ...input,\n overrides: {\n ...input.overrides,\n robots: {\n index: false,\n follow: false,\n },\n },\n });\n}\n"],"mappings":";;;AAgHO,SAAS,qBAAqB,OAAoC;AACvE,QAAM,EAAE,MAAM,MAAM,MAAM,SAAS,WAAW,uBAAuB,IAAI;AAGzE,QAAM,YAAY,WAAW,SAAS,KAAK;AAC3C,QAAM,YAAY,cAAc,KAAK,QAAQ,YAAY,GAAG,SAAS,MAAM,KAAK,KAAK;AAGrF,QAAM,cAAc,WAAW,eAAe,KAAK;AAGnD,QAAM,eAAe,WAAW,gBAAgB,GAAG,OAAO,GAAG,IAAI;AACjE,QAAM,UAAU,GAAG,OAAO,GAAG,IAAI;AAGjC,QAAM,WAAqB;AAAA,IACzB,OAAO;AAAA,IACP,aAAa,eAAe;AAAA,IAC5B,YAAY;AAAA,MACV,WAAW;AAAA,IACb;AAAA,IACA,WAAW;AAAA,MACT,OAAO;AAAA,MACP,aAAa,eAAe;AAAA,MAC5B,KAAK;AAAA,MACL,UAAU,KAAK;AAAA,MACf,MAAM;AAAA,MACN,GAAI,WAAW,UACX;AAAA,QACE,QAAQ;AAAA,UACN;AAAA,YACE,KAAK,UAAU;AAAA,YACf,KAAK;AAAA,UACP;AAAA,QACF;AAAA,MACF,IACA,CAAC;AAAA,IACP;AAAA,IACA,SAAS;AAAA,MACP,MAAM;AAAA,MACN,OAAO;AAAA,MACP,aAAa,eAAe;AAAA,MAC5B,GAAI,WAAW,UACX;AAAA,QACE,QAAQ,CAAC,UAAU,OAAO;AAAA,MAC5B,IACA,CAAC;AAAA,IACP;AAAA,EACF;AAGA,MAAI,WAAW,QAAQ;AACrB,aAAS,SAAS;AAAA,MAChB,OAAO,UAAU,OAAO,SAAS;AAAA,MACjC,QAAQ,UAAU,OAAO,UAAU;AAAA,IACrC;AAAA,EACF;AAGA,MAAI,wBAAwB;AAC1B,aAAS,eAAe;AAAA,MACtB,QAAQ;AAAA,IACV;AAAA,EACF;AAEA,SAAO;AACT;AAuBO,SAAS,wBAAwB,OAAoC;AAC1E,SAAO,qBAAqB;AAAA,IAC1B,GAAG;AAAA,IACH,WAAW;AAAA,MACT,GAAG,MAAM;AAAA,MACT,QAAQ;AAAA,QACN,OAAO;AAAA,QACP,QAAQ;AAAA,MACV;AAAA,IACF;AAAA,EACF,CAAC;AACH;","names":[]}
@@ -1,13 +1,15 @@
1
- export { P as Page, b as PageProps } from '../loadPage-CCf15nt8.mjs';
2
- export { HeaderData, Layout, LayoutProps } from '../components.mjs';
1
+ export { b as Page, P as PageProps } from '../loadPage-pg4HimlK.mjs';
2
+ export { H as HeaderData, L as Layout, a as LayoutProps } from '../Layout-DK_9OOgb.mjs';
3
3
  import * as react_jsx_runtime from 'react/jsx-runtime';
4
4
  import * as React from 'react';
5
- import { Theme } from '@riverbankcms/blocks';
6
- import { R as RiverbankClient } from '../types-C6gmRHLe.mjs';
7
- import '@riverbankcms/blocks/system/data';
8
- import '../types-Bbo01M7P.mjs';
5
+ import { T as Theme, R as RiverbankClient } from '../types-C0G9IxWO.mjs';
6
+ import '../schema-Bpy9N5ZI.mjs';
7
+ import 'zod';
8
+ import '../types-_nDnPHpv.mjs';
9
9
  import '@riverbankcms/site-renderer';
10
- import '@riverbankcms/api';
10
+ import '@riverbankcms/ai';
11
+ import '@riverbankcms/media-storage-supabase';
12
+ import '@riverbankcms/db';
11
13
 
12
14
  /**
13
15
  * Override component for custom block rendering.
@@ -1,13 +1,15 @@
1
- export { P as Page, b as PageProps } from '../loadPage-BYmVMk0V.js';
2
- export { HeaderData, Layout, LayoutProps } from '../components.js';
1
+ export { b as Page, P as PageProps } from '../loadPage-BMg8PJxJ.js';
2
+ export { H as HeaderData, L as Layout, a as LayoutProps } from '../Layout-CLg8oH_S.js';
3
3
  import * as react_jsx_runtime from 'react/jsx-runtime';
4
4
  import * as React from 'react';
5
- import { Theme } from '@riverbankcms/blocks';
6
- import { R as RiverbankClient } from '../types-C6gmRHLe.js';
7
- import '@riverbankcms/blocks/system/data';
8
- import '../types-Bbo01M7P.js';
5
+ import { T as Theme, R as RiverbankClient } from '../types-BprgZt-t.js';
6
+ import '../schema-Bpy9N5ZI.js';
7
+ import 'zod';
8
+ import '../types-_nDnPHpv.js';
9
9
  import '@riverbankcms/site-renderer';
10
- import '@riverbankcms/api';
10
+ import '@riverbankcms/ai';
11
+ import '@riverbankcms/media-storage-supabase';
12
+ import '@riverbankcms/db';
11
13
 
12
14
  /**
13
15
  * Override component for custom block rendering.
@@ -1,14 +1,17 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
2
 
3
- var _chunkJB4LIEFSjs = require('../chunk-JB4LIEFS.js');
3
+ var _chunk5R4NMVXAjs = require('../chunk-5R4NMVXA.js');
4
4
 
5
5
 
6
6
 
7
- var _chunkYHEZMVTSjs = require('../chunk-YHEZMVTS.js');
8
- require('../chunk-QQ6U4QX6.js');
7
+ var _chunkINWKF3ICjs = require('../chunk-INWKF3IC.js');
8
+ require('../chunk-SF63XAX7.js');
9
+ require('../chunk-HOY77YBF.js');
10
+ require('../chunk-EGTDJ4PL.js');
11
+ require('../chunk-DGUM43GV.js');
9
12
 
10
13
 
11
14
 
12
15
 
13
- exports.Block = _chunkJB4LIEFSjs.Block; exports.Layout = _chunkYHEZMVTSjs.Layout; exports.Page = _chunkYHEZMVTSjs.Page;
16
+ exports.Block = _chunk5R4NMVXAjs.Block; exports.Layout = _chunkINWKF3ICjs.Layout; exports.Page = _chunkINWKF3ICjs.Page;
14
17
  //# sourceMappingURL=server.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["/Users/will/Projects/Business/cms/builder/packages/sdk/dist/server/rendering/server.js"],"names":[],"mappings":"AAAA;AACE;AACF,uDAA6B;AAC7B;AACE;AACA;AACF,uDAA6B;AAC7B,gCAA6B;AAC7B;AACE;AACA;AACA;AACF,uHAAC","file":"/Users/will/Projects/Business/cms/builder/packages/sdk/dist/server/rendering/server.js"}
1
+ {"version":3,"sources":["/Users/will/Projects/Business/cms/builder/packages/sdk/dist/server/rendering/server.js"],"names":[],"mappings":"AAAA;AACE;AACF,uDAA6B;AAC7B;AACE;AACA;AACF,uDAA6B;AAC7B,gCAA6B;AAC7B,gCAA6B;AAC7B,gCAA6B;AAC7B,gCAA6B;AAC7B;AACE;AACA;AACA;AACF,uHAAC","file":"/Users/will/Projects/Business/cms/builder/packages/sdk/dist/server/rendering/server.js"}