@riverbankcms/sdk 0.8.1 → 0.9.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 (187) hide show
  1. package/README.md +298 -2
  2. package/dist/cli/index.js +1996 -618
  3. package/dist/cli/index.js.map +1 -1
  4. package/dist/cli/init-docs/content/agents-section.md +11 -0
  5. package/dist/cli/init-docs/content/cli-reference.md +15 -1
  6. package/dist/cli/init-docs/content/workflow-add-block.md +7 -0
  7. package/dist/cli/init-docs/content/workflow-block-extensions.md +361 -0
  8. package/dist/cli/init-docs/content/workflow-cmsify-page.md +357 -0
  9. package/dist/cli/init-docs/content/workflow-content-types.md +328 -0
  10. package/dist/cli/init-docs/content/workflow-create-page.md +9 -0
  11. package/dist/cli/init-docs/content/workflow-custom-block.md +446 -0
  12. package/dist/client/client.d.mts +2 -2
  13. package/dist/client/client.d.ts +2 -2
  14. package/dist/client/client.js +262 -17
  15. package/dist/client/client.js.map +1 -1
  16. package/dist/client/client.mjs +262 -17
  17. package/dist/client/client.mjs.map +1 -1
  18. package/dist/client/hooks.d.mts +2 -2
  19. package/dist/client/hooks.d.ts +2 -2
  20. package/dist/client/hooks.js +6 -6
  21. package/dist/client/hooks.js.map +1 -1
  22. package/dist/client/hooks.mjs +6 -6
  23. package/dist/client/hooks.mjs.map +1 -1
  24. package/dist/client/rendering/client.js +29 -6
  25. package/dist/client/rendering/client.js.map +1 -1
  26. package/dist/client/rendering/client.mjs +29 -6
  27. package/dist/client/rendering/client.mjs.map +1 -1
  28. package/dist/client/usePage--LiGLbVz.d.mts +7195 -0
  29. package/dist/client/usePage-BwQJlxpe.d.mts +7218 -0
  30. package/dist/client/usePage-Ds-ow1-d.d.ts +7195 -0
  31. package/dist/client/usePage-Duc2GC-H.d.ts +7218 -0
  32. package/dist/client/usePage-DyzrgxqR.d.mts +7215 -0
  33. package/dist/client/usePage-lTWkuVMZ.d.ts +7215 -0
  34. package/dist/server/{Layout-CZ-kxKfl.d.ts → Layout-BHGokJmV.d.ts} +1 -1
  35. package/dist/server/{Layout-ESG8zvrk.d.mts → Layout-CXkMcTR4.d.mts} +1 -1
  36. package/dist/server/chunk-274Y2CUE.js +341 -0
  37. package/dist/server/chunk-274Y2CUE.js.map +1 -0
  38. package/dist/server/{chunk-IJTJH4J3.js → chunk-2WL52ZOE.js} +8 -8
  39. package/dist/server/{chunk-IJTJH4J3.js.map → chunk-2WL52ZOE.js.map} +1 -1
  40. package/dist/server/{chunk-DAXWU3S3.js → chunk-5HGVBSWA.js} +9 -9
  41. package/dist/server/{chunk-DAXWU3S3.js.map → chunk-5HGVBSWA.js.map} +1 -1
  42. package/dist/server/chunk-7WJGJY3B.js +7 -0
  43. package/dist/server/chunk-7WJGJY3B.js.map +1 -0
  44. package/dist/server/chunk-AGAOKSPY.mjs +22 -0
  45. package/dist/server/chunk-AGAOKSPY.mjs.map +1 -0
  46. package/dist/server/{chunk-A3UZ2LDH.mjs → chunk-BOYBN4KN.mjs} +3 -3
  47. package/dist/server/chunk-BOYBN4KN.mjs.map +1 -0
  48. package/dist/server/{chunk-FUFPKTSI.mjs → chunk-CKZDJBMC.mjs} +33 -9
  49. package/dist/server/chunk-CKZDJBMC.mjs.map +1 -0
  50. package/dist/server/{chunk-PGZJUNCY.mjs → chunk-E4R5ILRE.mjs} +3 -3
  51. package/dist/server/{chunk-MFNWLB5G.js → chunk-EC2AA2IP.js} +275 -297
  52. package/dist/server/chunk-EC2AA2IP.js.map +1 -0
  53. package/dist/server/{chunk-HE3RTUDX.js → chunk-F4U4LC5D.js} +8 -8
  54. package/dist/server/{chunk-HE3RTUDX.js.map → chunk-F4U4LC5D.js.map} +1 -1
  55. package/dist/server/{chunk-T5PAA22U.mjs → chunk-H44G72AB.mjs} +2 -2
  56. package/dist/server/{chunk-KGORQCHF.js → chunk-JVLQDZTZ.js} +6 -6
  57. package/dist/server/{chunk-KGORQCHF.js.map → chunk-JVLQDZTZ.js.map} +1 -1
  58. package/dist/server/{chunk-ADD3O2QO.mjs → chunk-KKUR3PDT.mjs} +4 -4
  59. package/dist/server/chunk-NTG7XP3E.js +264 -0
  60. package/dist/server/chunk-NTG7XP3E.js.map +1 -0
  61. package/dist/server/{chunk-TR7MSLWL.mjs → chunk-OSTUHBFE.mjs} +3 -3
  62. package/dist/server/chunk-PAHSKNY5.mjs +264 -0
  63. package/dist/server/chunk-PAHSKNY5.mjs.map +1 -0
  64. package/dist/server/chunk-PSN6HXUD.js +22 -0
  65. package/dist/server/chunk-PSN6HXUD.js.map +1 -0
  66. package/dist/server/{chunk-GRFFJUCO.mjs → chunk-QS6ZTLLB.mjs} +242 -264
  67. package/dist/server/chunk-QS6ZTLLB.mjs.map +1 -0
  68. package/dist/server/{chunk-K44OPKLA.js → chunk-R6T3Z4W5.js} +3 -3
  69. package/dist/server/{chunk-K44OPKLA.js.map → chunk-R6T3Z4W5.js.map} +1 -1
  70. package/dist/server/{chunk-KDCVCDW6.js → chunk-RIROJYPX.js} +4 -4
  71. package/dist/server/{chunk-KDCVCDW6.js.map → chunk-RIROJYPX.js.map} +1 -1
  72. package/dist/server/chunk-SVEQVEA5.mjs +341 -0
  73. package/dist/server/chunk-SVEQVEA5.mjs.map +1 -0
  74. package/dist/server/{chunk-HDHY4236.mjs → chunk-TBN35TGI.mjs} +6 -6
  75. package/dist/server/{chunk-HDHY4236.mjs.map → chunk-TBN35TGI.mjs.map} +1 -1
  76. package/dist/server/{chunk-5GCSRTIU.mjs → chunk-TBX6CXBM.mjs} +2 -2
  77. package/dist/server/{chunk-6ERSDFTY.js → chunk-U2F4BWKW.js} +3 -3
  78. package/dist/server/chunk-U2F4BWKW.js.map +1 -0
  79. package/dist/server/chunk-WWGVFOLS.mjs +7 -0
  80. package/dist/server/chunk-WWGVFOLS.mjs.map +1 -0
  81. package/dist/server/{chunk-TLZHVGTL.js → chunk-X4REO3S7.js} +4 -4
  82. package/dist/server/{chunk-TLZHVGTL.js.map → chunk-X4REO3S7.js.map} +1 -1
  83. package/dist/server/{chunk-BNHK7YOC.mjs → chunk-YUD7ONZG.mjs} +2 -2
  84. package/dist/server/{chunk-F2NDLDDA.js → chunk-ZJXFRSTC.js} +92 -68
  85. package/dist/server/chunk-ZJXFRSTC.js.map +1 -0
  86. package/dist/server/{components-iEDvl2Yw.d.mts → components-Bqn4xmR6.d.mts} +74 -5
  87. package/dist/server/{components-CE48wJM1.d.ts → components-C7j9yzAt.d.ts} +74 -5
  88. package/dist/server/components.d.mts +5 -5
  89. package/dist/server/components.d.ts +5 -5
  90. package/dist/server/components.js +7 -5
  91. package/dist/server/components.js.map +1 -1
  92. package/dist/server/components.mjs +6 -4
  93. package/dist/server/config-validation.js +5 -5
  94. package/dist/server/config-validation.mjs +4 -4
  95. package/dist/server/config.js +5 -5
  96. package/dist/server/config.mjs +4 -4
  97. package/dist/server/data.d.mts +2 -2
  98. package/dist/server/data.d.ts +2 -2
  99. package/dist/server/data.js +3 -3
  100. package/dist/server/data.mjs +2 -2
  101. package/dist/server/{index-BHLK2mgQ.d.ts → index-Bns_1a4N.d.ts} +1 -1
  102. package/dist/server/{index-DTBg8eXj.d.ts → index-CHp2kyp0.d.ts} +2 -2
  103. package/dist/server/{index-Cgvb5fVQ.d.mts → index-CPDT8kn9.d.mts} +1 -1
  104. package/dist/server/{index-BrH_NIRO.d.mts → index-Cm9nMPkf.d.mts} +2 -2
  105. package/dist/server/index.d.mts +193 -215
  106. package/dist/server/index.d.ts +193 -215
  107. package/dist/server/index.js +9 -288
  108. package/dist/server/index.js.map +1 -1
  109. package/dist/server/index.mjs +10 -289
  110. package/dist/server/index.mjs.map +1 -1
  111. package/dist/server/{loadContent-BUK6IVJf.d.ts → loadContent-DD7J5_WO.d.ts} +3 -3
  112. package/dist/server/{loadContent-au9Weoy0.d.mts → loadContent-DTEgYI-l.d.mts} +3 -3
  113. package/dist/server/{loadPage-DiHEl8BA.d.mts → loadPage-B578Xg2W.d.mts} +2 -2
  114. package/dist/server/{loadPage-JOIbF7ih.d.ts → loadPage-Dkiimbsg.d.ts} +2 -2
  115. package/dist/server/loadPage-IBX7FXGH.mjs +11 -0
  116. package/dist/server/loadPage-KG74OG4V.js +11 -0
  117. package/dist/server/{loadPage-CMHYAW2J.js.map → loadPage-KG74OG4V.js.map} +1 -1
  118. package/dist/server/metadata.d.mts +4 -4
  119. package/dist/server/metadata.d.ts +4 -4
  120. package/dist/server/navigation.d.mts +2 -2
  121. package/dist/server/navigation.d.ts +2 -2
  122. package/dist/server/next.d.mts +5 -5
  123. package/dist/server/next.d.ts +5 -5
  124. package/dist/server/next.js +17 -14
  125. package/dist/server/next.js.map +1 -1
  126. package/dist/server/next.mjs +9 -6
  127. package/dist/server/next.mjs.map +1 -1
  128. package/dist/server/prebuild-loader.d.mts +87 -0
  129. package/dist/server/prebuild-loader.d.ts +87 -0
  130. package/dist/server/prebuild-loader.js +15 -0
  131. package/dist/server/prebuild-loader.js.map +1 -0
  132. package/dist/server/prebuild-loader.mjs +15 -0
  133. package/dist/server/prebuild-loader.mjs.map +1 -0
  134. package/dist/server/prebuild-types.d.mts +201 -0
  135. package/dist/server/prebuild-types.d.ts +201 -0
  136. package/dist/server/prebuild-types.js +1 -0
  137. package/dist/server/prebuild-types.js.map +1 -0
  138. package/dist/server/prebuild-types.mjs +1 -0
  139. package/dist/server/prebuild-types.mjs.map +1 -0
  140. package/dist/server/prebuild.d.mts +46 -0
  141. package/dist/server/prebuild.d.ts +46 -0
  142. package/dist/server/prebuild.js +10 -0
  143. package/dist/server/prebuild.js.map +1 -0
  144. package/dist/server/prebuild.mjs +10 -0
  145. package/dist/server/prebuild.mjs.map +1 -0
  146. package/dist/server/rendering/server.d.mts +4 -4
  147. package/dist/server/rendering/server.d.ts +4 -4
  148. package/dist/server/rendering/server.js +7 -7
  149. package/dist/server/rendering/server.mjs +6 -6
  150. package/dist/server/rendering.d.mts +8 -8
  151. package/dist/server/rendering.d.ts +8 -8
  152. package/dist/server/rendering.js +11 -9
  153. package/dist/server/rendering.js.map +1 -1
  154. package/dist/server/rendering.mjs +10 -8
  155. package/dist/server/routing.d.mts +3 -3
  156. package/dist/server/routing.d.ts +3 -3
  157. package/dist/server/routing.js +1 -1
  158. package/dist/server/routing.mjs +1 -1
  159. package/dist/server/server.d.mts +5 -5
  160. package/dist/server/server.d.ts +5 -5
  161. package/dist/server/server.js +9 -6
  162. package/dist/server/server.js.map +1 -1
  163. package/dist/server/server.mjs +8 -5
  164. package/dist/server/theme-bridge.js +8 -8
  165. package/dist/server/theme-bridge.mjs +2 -2
  166. package/dist/server/{types-BAM1kcGA.d.mts → types-B6P_iaDz.d.mts} +295 -1
  167. package/dist/server/{types-_SNCu2ZZ.d.ts → types-C4jfCjaP.d.ts} +295 -1
  168. package/dist/server/{types-DDNKxQXw.d.mts → types-CSvCkmYi.d.mts} +12 -3
  169. package/dist/server/{types-CmBB0Osp.d.ts → types-gKcrQV09.d.ts} +12 -3
  170. package/dist/styles/index.css +419 -0
  171. package/package.json +17 -3
  172. package/dist/server/chunk-6ERSDFTY.js.map +0 -1
  173. package/dist/server/chunk-A3UZ2LDH.mjs.map +0 -1
  174. package/dist/server/chunk-F2NDLDDA.js.map +0 -1
  175. package/dist/server/chunk-FUFPKTSI.mjs.map +0 -1
  176. package/dist/server/chunk-GRFFJUCO.mjs.map +0 -1
  177. package/dist/server/chunk-MFNWLB5G.js.map +0 -1
  178. package/dist/server/loadPage-AWYZ2QA2.mjs +0 -11
  179. package/dist/server/loadPage-CMHYAW2J.js +0 -11
  180. package/src/styles/index.css +0 -10
  181. /package/dist/server/{chunk-PGZJUNCY.mjs.map → chunk-E4R5ILRE.mjs.map} +0 -0
  182. /package/dist/server/{chunk-T5PAA22U.mjs.map → chunk-H44G72AB.mjs.map} +0 -0
  183. /package/dist/server/{chunk-ADD3O2QO.mjs.map → chunk-KKUR3PDT.mjs.map} +0 -0
  184. /package/dist/server/{chunk-TR7MSLWL.mjs.map → chunk-OSTUHBFE.mjs.map} +0 -0
  185. /package/dist/server/{chunk-5GCSRTIU.mjs.map → chunk-TBX6CXBM.mjs.map} +0 -0
  186. /package/dist/server/{chunk-BNHK7YOC.mjs.map → chunk-YUD7ONZG.mjs.map} +0 -0
  187. /package/dist/server/{loadPage-AWYZ2QA2.mjs.map → loadPage-IBX7FXGH.mjs.map} +0 -0
@@ -2,13 +2,13 @@
2
2
 
3
3
 
4
4
 
5
- var _chunkF2NDLDDAjs = require('./chunk-F2NDLDDA.js');
5
+ var _chunkZJXFRSTCjs = require('./chunk-ZJXFRSTC.js');
6
6
 
7
7
 
8
- var _chunkIJTJH4J3js = require('./chunk-IJTJH4J3.js');
8
+ var _chunk2WL52ZOEjs = require('./chunk-2WL52ZOE.js');
9
9
 
10
10
 
11
- var _chunk6ERSDFTYjs = require('./chunk-6ERSDFTY.js');
11
+ var _chunkU2F4BWKWjs = require('./chunk-U2F4BWKW.js');
12
12
 
13
13
  // src/rendering/components/Block.tsx
14
14
  var _jsxruntime = require('react/jsx-runtime');
@@ -24,14 +24,14 @@ async function Block({
24
24
  usePlaceholders: _usePlaceholders = false,
25
25
  override: OverrideComponent
26
26
  }) {
27
- const definition = _chunk6ERSDFTYjs.getBlockDefinition.call(void 0, blockKind);
27
+ const definition = _chunkU2F4BWKWjs.getBlockDefinition.call(void 0, blockKind);
28
28
  if (!definition && !OverrideComponent) {
29
29
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "p-4 border border-red-300 bg-red-50 rounded", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "p", { className: "text-red-800 font-semibold", children: [
30
30
  "Unknown block type: ",
31
31
  blockKind
32
32
  ] }) });
33
33
  }
34
- const themeRuntime = _chunkF2NDLDDAjs.buildThemeRuntime.call(void 0, theme);
34
+ const themeRuntime = _chunkZJXFRSTCjs.buildThemeRuntime.call(void 0, theme);
35
35
  let resolvedData;
36
36
  if (client && blockId && definition) {
37
37
  const pageOutline = {
@@ -44,7 +44,7 @@ async function Block({
44
44
  purpose: "preview"
45
45
  }]
46
46
  };
47
- const allResolvedData = await _chunkIJTJH4J3js.prefetchBlockData.call(void 0,
47
+ const allResolvedData = await _chunk2WL52ZOEjs.prefetchBlockData.call(void 0,
48
48
  pageOutline,
49
49
  { siteId, pageId, previewStage },
50
50
  client
@@ -70,8 +70,8 @@ async function Block({
70
70
  blockKind
71
71
  ] }) });
72
72
  }
73
- const BlockComponent = _chunkF2NDLDDAjs.makeDefaultBlockComponent.call(void 0, { manifest: definition.manifest });
74
- const registry = _chunkF2NDLDDAjs.getDefaultComponentRegistry.call(void 0, );
73
+ const BlockComponent = _chunkZJXFRSTCjs.makeDefaultBlockComponent.call(void 0, { manifest: definition.manifest });
74
+ const registry = _chunkZJXFRSTCjs.getDefaultComponentRegistry.call(void 0, );
75
75
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
76
76
  BlockComponent,
77
77
  {
@@ -89,4 +89,4 @@ async function Block({
89
89
 
90
90
 
91
91
  exports.Block = Block;
92
- //# sourceMappingURL=chunk-DAXWU3S3.js.map
92
+ //# sourceMappingURL=chunk-5HGVBSWA.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["/Users/will/Projects/Business/cms/builder/packages/sdk/dist/server/chunk-DAXWU3S3.js","../../src/rendering/components/Block.tsx"],"names":[],"mappings":"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","file":"/Users/will/Projects/Business/cms/builder/packages/sdk/dist/server/chunk-DAXWU3S3.js","sourcesContent":[null,"/**\n * Block component for rendering individual CMS blocks\n *\n * Renders a single block with its content and data.\n */\n\nimport * as React from 'react';\nimport { getBlockDefinition, makeDefaultBlockComponent, buildThemeRuntime, getDefaultComponentRegistry } from '@riverbankcms/blocks';\nimport type { Theme } from '@riverbankcms/blocks';\nimport type { RiverbankClient } from '../../client/types';\nimport type { BlockKind } from '../../types';\nimport { prefetchBlockData } from '../../data/prefetchBlockData';\n\n/**\n * Override component for custom block rendering.\n * Receives the same props as default block components.\n */\nexport type BlockOverrideComponent = React.ComponentType<{\n content: Record<string, unknown>;\n theme?: Record<string, unknown>;\n themeConfig?: Theme;\n data?: Record<string, unknown>;\n blockId?: string | null;\n blockKind?: BlockKind;\n}>;\n\nexport type BlockProps = {\n // Block identification\n blockKind: BlockKind;\n blockId?: string | null;\n\n // Block content\n content: Record<string, unknown>;\n\n // Required styling\n theme: Theme;\n siteId: string;\n\n // Optional data context for loaders\n pageId?: string;\n previewStage?: 'published' | 'preview';\n client?: RiverbankClient;\n\n // Optional customization\n usePlaceholders?: boolean;\n\n /**\n * Custom component to override default block rendering.\n * When provided, renders this component instead of the manifest-based default.\n * This is SSR-safe - no context or hooks required.\n *\n * @example\n * ```tsx\n * <Block\n * blockKind=\"block.hero\"\n * content={heroContent}\n * theme={theme}\n * siteId={siteId}\n * override={MyCustomHero}\n * />\n * ```\n */\n override?: BlockOverrideComponent;\n};\n\n/**\n * Renders a single CMS block with optional data loading.\n *\n * Use this component when you want to render individual blocks outside of a full page context,\n * or when mixing CMS blocks with custom JSX.\n *\n * @example Basic usage\n * ```tsx\n * <Block\n * blockKind=\"block.hero\"\n * content={{ headline: 'Welcome', subheadline: 'To our site' }}\n * theme={theme}\n * siteId=\"site-123\"\n * />\n * ```\n *\n * @example With data loading\n * ```tsx\n * <Block\n * blockKind=\"block.blog-listing\"\n * blockId=\"block-456\"\n * content={blockContent}\n * theme={theme}\n * siteId=\"site-123\"\n * pageId=\"page-789\"\n * client={client}\n * />\n * ```\n */\nexport async function Block({\n blockKind,\n blockId,\n content,\n theme,\n siteId,\n pageId,\n previewStage,\n client,\n usePlaceholders: _usePlaceholders = false,\n override: OverrideComponent,\n}: BlockProps) {\n // Get block definition (needed for data loaders even if using override)\n const definition = getBlockDefinition(blockKind);\n if (!definition && !OverrideComponent) {\n return (\n <div className=\"p-4 border border-red-300 bg-red-50 rounded\">\n <p className=\"text-red-800 font-semibold\">Unknown block type: {blockKind}</p>\n </div>\n );\n }\n\n // Build theme tokens\n const themeRuntime = buildThemeRuntime(theme);\n\n // Prefetch block data if client is provided and block has an ID\n let resolvedData: Record<string, unknown> | undefined;\n if (client && blockId && definition) {\n const pageOutline = {\n name: 'Single Block',\n path: '/block',\n purpose: 'Block preview',\n blocks: [{\n id: blockId,\n kind: blockKind,\n purpose: 'preview',\n }],\n };\n\n const allResolvedData = await prefetchBlockData(\n pageOutline,\n { siteId, pageId, previewStage },\n client\n );\n\n resolvedData = allResolvedData[blockId];\n }\n\n // If override component provided, use it instead of manifest-based rendering\n if (OverrideComponent) {\n return (\n <OverrideComponent\n content={content}\n theme={themeRuntime.tokens}\n themeConfig={theme}\n data={resolvedData}\n blockId={blockId ?? null}\n blockKind={blockKind}\n />\n );\n }\n\n // Fallback to manifest-based rendering\n if (!definition) {\n return (\n <div className=\"p-4 border border-red-300 bg-red-50 rounded\">\n <p className=\"text-red-800 font-semibold\">Unknown block type: {blockKind}</p>\n </div>\n );\n }\n\n // Create block component from manifest\n const BlockComponent = makeDefaultBlockComponent({ manifest: definition.manifest });\n\n // Get default component registry\n const registry = getDefaultComponentRegistry();\n\n return (\n <BlockComponent\n blockId={blockId ?? undefined}\n blockKind={blockKind}\n theme={themeRuntime.tokens}\n themeConfig={theme}\n content={content}\n data={resolvedData}\n registry={registry}\n />\n );\n}\n"]}
1
+ {"version":3,"sources":["/Users/will/Projects/Business/cms/builder/packages/sdk/dist/server/chunk-5HGVBSWA.js","../../src/rendering/components/Block.tsx"],"names":[],"mappings":"AAAA;AACE;AACA;AACA;AACF,sDAA4B;AAC5B;AACE;AACF,sDAA4B;AAC5B;AACE;AACF,sDAA4B;AAC5B;AACA;ACkGM,+CAAA;AAhBN,MAAA,SAAsB,KAAA,CAAM;AAAA,EAC1B,SAAA;AAAA,EACA,OAAA;AAAA,EACA,OAAA;AAAA,EACA,KAAA;AAAA,EACA,MAAA;AAAA,EACA,MAAA;AAAA,EACA,YAAA;AAAA,EACA,MAAA;AAAA,EACA,eAAA,EAAiB,iBAAA,EAAmB,KAAA;AAAA,EACpC,QAAA,EAAU;AACZ,CAAA,EAAe;AAEb,EAAA,MAAM,WAAA,EAAa,iDAAA,SAA4B,CAAA;AAC/C,EAAA,GAAA,CAAI,CAAC,WAAA,GAAc,CAAC,iBAAA,EAAmB;AACrC,IAAA,uBACE,6BAAA,KAAC,EAAA,EAAI,SAAA,EAAU,6CAAA,EACb,QAAA,kBAAA,8BAAA,GAAC,EAAA,EAAE,SAAA,EAAU,4BAAA,EAA6B,QAAA,EAAA;AAAA,MAAA,sBAAA;AAAA,MAAqB;AAAA,IAAA,EAAA,CAAU,EAAA,CAC3E,CAAA;AAAA,EAEJ;AAGA,EAAA,MAAM,aAAA,EAAe,gDAAA,KAAuB,CAAA;AAG5C,EAAA,IAAI,YAAA;AACJ,EAAA,GAAA,CAAI,OAAA,GAAU,QAAA,GAAW,UAAA,EAAY;AACnC,IAAA,MAAM,YAAA,EAAc;AAAA,MAClB,IAAA,EAAM,cAAA;AAAA,MACN,IAAA,EAAM,QAAA;AAAA,MACN,OAAA,EAAS,eAAA;AAAA,MACT,MAAA,EAAQ,CAAC;AAAA,QACP,EAAA,EAAI,OAAA;AAAA,QACJ,IAAA,EAAM,SAAA;AAAA,QACN,OAAA,EAAS;AAAA,MACX,CAAC;AAAA,IACH,CAAA;AAEA,IAAA,MAAM,gBAAA,EAAkB,MAAM,gDAAA;AAAA,MAC5B,WAAA;AAAA,MACA,EAAE,MAAA,EAAQ,MAAA,EAAQ,aAAa,CAAA;AAAA,MAC/B;AAAA,IACF,CAAA;AAEA,IAAA,aAAA,EAAe,eAAA,CAAgB,OAAO,CAAA;AAAA,EACxC;AAGA,EAAA,GAAA,CAAI,iBAAA,EAAmB;AACrB,IAAA,uBACE,6BAAA;AAAA,MAAC,iBAAA;AAAA,MAAA;AAAA,QACC,OAAA;AAAA,QACA,KAAA,EAAO,YAAA,CAAa,MAAA;AAAA,QACpB,WAAA,EAAa,KAAA;AAAA,QACb,IAAA,EAAM,YAAA;AAAA,QACN,OAAA,mBAAS,OAAA,UAAW,MAAA;AAAA,QACpB;AAAA,MAAA;AAAA,IACF,CAAA;AAAA,EAEJ;AAGA,EAAA,GAAA,CAAI,CAAC,UAAA,EAAY;AACf,IAAA,uBACE,6BAAA,KAAC,EAAA,EAAI,SAAA,EAAU,6CAAA,EACb,QAAA,kBAAA,8BAAA,GAAC,EAAA,EAAE,SAAA,EAAU,4BAAA,EAA6B,QAAA,EAAA;AAAA,MAAA,sBAAA;AAAA,MAAqB;AAAA,IAAA,EAAA,CAAU,EAAA,CAC3E,CAAA;AAAA,EAEJ;AAGA,EAAA,MAAM,eAAA,EAAiB,wDAAA,EAA4B,QAAA,EAAU,UAAA,CAAW,SAAS,CAAC,CAAA;AAGlF,EAAA,MAAM,SAAA,EAAW,0DAAA,CAA4B;AAE7C,EAAA,uBACE,6BAAA;AAAA,IAAC,cAAA;AAAA,IAAA;AAAA,MACC,OAAA,mBAAS,OAAA,UAAW,KAAA,GAAA;AAAA,MACpB,SAAA;AAAA,MACA,KAAA,EAAO,YAAA,CAAa,MAAA;AAAA,MACpB,WAAA,EAAa,KAAA;AAAA,MACb,OAAA;AAAA,MACA,IAAA,EAAM,YAAA;AAAA,MACN;AAAA,IAAA;AAAA,EACF,CAAA;AAEJ;AD/FA;AACA;AACE;AACF,sBAAC","file":"/Users/will/Projects/Business/cms/builder/packages/sdk/dist/server/chunk-5HGVBSWA.js","sourcesContent":[null,"/**\n * Block component for rendering individual CMS blocks\n *\n * Renders a single block with its content and data.\n */\n\nimport * as React from 'react';\nimport { getBlockDefinition, makeDefaultBlockComponent, buildThemeRuntime, getDefaultComponentRegistry } from '@riverbankcms/blocks';\nimport type { Theme } from '@riverbankcms/blocks';\nimport type { RiverbankClient } from '../../client/types';\nimport type { BlockKind } from '../../types';\nimport { prefetchBlockData } from '../../data/prefetchBlockData';\n\n/**\n * Override component for custom block rendering.\n * Receives the same props as default block components.\n */\nexport type BlockOverrideComponent = React.ComponentType<{\n content: Record<string, unknown>;\n theme?: Record<string, unknown>;\n themeConfig?: Theme;\n data?: Record<string, unknown>;\n blockId?: string | null;\n blockKind?: BlockKind;\n}>;\n\nexport type BlockProps = {\n // Block identification\n blockKind: BlockKind;\n blockId?: string | null;\n\n // Block content\n content: Record<string, unknown>;\n\n // Required styling\n theme: Theme;\n siteId: string;\n\n // Optional data context for loaders\n pageId?: string;\n previewStage?: 'published' | 'preview';\n client?: RiverbankClient;\n\n // Optional customization\n usePlaceholders?: boolean;\n\n /**\n * Custom component to override default block rendering.\n * When provided, renders this component instead of the manifest-based default.\n * This is SSR-safe - no context or hooks required.\n *\n * @example\n * ```tsx\n * <Block\n * blockKind=\"block.hero\"\n * content={heroContent}\n * theme={theme}\n * siteId={siteId}\n * override={MyCustomHero}\n * />\n * ```\n */\n override?: BlockOverrideComponent;\n};\n\n/**\n * Renders a single CMS block with optional data loading.\n *\n * Use this component when you want to render individual blocks outside of a full page context,\n * or when mixing CMS blocks with custom JSX.\n *\n * @example Basic usage\n * ```tsx\n * <Block\n * blockKind=\"block.hero\"\n * content={{ headline: 'Welcome', subheadline: 'To our site' }}\n * theme={theme}\n * siteId=\"site-123\"\n * />\n * ```\n *\n * @example With data loading\n * ```tsx\n * <Block\n * blockKind=\"block.blog-listing\"\n * blockId=\"block-456\"\n * content={blockContent}\n * theme={theme}\n * siteId=\"site-123\"\n * pageId=\"page-789\"\n * client={client}\n * />\n * ```\n */\nexport async function Block({\n blockKind,\n blockId,\n content,\n theme,\n siteId,\n pageId,\n previewStage,\n client,\n usePlaceholders: _usePlaceholders = false,\n override: OverrideComponent,\n}: BlockProps) {\n // Get block definition (needed for data loaders even if using override)\n const definition = getBlockDefinition(blockKind);\n if (!definition && !OverrideComponent) {\n return (\n <div className=\"p-4 border border-red-300 bg-red-50 rounded\">\n <p className=\"text-red-800 font-semibold\">Unknown block type: {blockKind}</p>\n </div>\n );\n }\n\n // Build theme tokens\n const themeRuntime = buildThemeRuntime(theme);\n\n // Prefetch block data if client is provided and block has an ID\n let resolvedData: Record<string, unknown> | undefined;\n if (client && blockId && definition) {\n const pageOutline = {\n name: 'Single Block',\n path: '/block',\n purpose: 'Block preview',\n blocks: [{\n id: blockId,\n kind: blockKind,\n purpose: 'preview',\n }],\n };\n\n const allResolvedData = await prefetchBlockData(\n pageOutline,\n { siteId, pageId, previewStage },\n client\n );\n\n resolvedData = allResolvedData[blockId];\n }\n\n // If override component provided, use it instead of manifest-based rendering\n if (OverrideComponent) {\n return (\n <OverrideComponent\n content={content}\n theme={themeRuntime.tokens}\n themeConfig={theme}\n data={resolvedData}\n blockId={blockId ?? null}\n blockKind={blockKind}\n />\n );\n }\n\n // Fallback to manifest-based rendering\n if (!definition) {\n return (\n <div className=\"p-4 border border-red-300 bg-red-50 rounded\">\n <p className=\"text-red-800 font-semibold\">Unknown block type: {blockKind}</p>\n </div>\n );\n }\n\n // Create block component from manifest\n const BlockComponent = makeDefaultBlockComponent({ manifest: definition.manifest });\n\n // Get default component registry\n const registry = getDefaultComponentRegistry();\n\n return (\n <BlockComponent\n blockId={blockId ?? undefined}\n blockKind={blockKind}\n theme={themeRuntime.tokens}\n themeConfig={theme}\n content={content}\n data={resolvedData}\n registry={registry}\n />\n );\n}\n"]}
@@ -0,0 +1,7 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});// src/version.ts
2
+ var SDK_VERSION = "0.9.0";
3
+
4
+
5
+
6
+ exports.SDK_VERSION = SDK_VERSION;
7
+ //# sourceMappingURL=chunk-7WJGJY3B.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["/Users/will/Projects/Business/cms/builder/packages/sdk/dist/server/chunk-7WJGJY3B.js","../../src/version.ts"],"names":[],"mappings":"AAAA;ACUO,IAAM,YAAA,EAAc,OAAA;ADR3B;AACA;AACE;AACF,kCAAC","file":"/Users/will/Projects/Business/cms/builder/packages/sdk/dist/server/chunk-7WJGJY3B.js","sourcesContent":[null,"/**\n * SDK version - MUST match version in package.json\n *\n * This version is sent to the API in the x-sdk-version header\n * to help with debugging and compatibility tracking.\n *\n * IMPORTANT: When releasing a new SDK version, update BOTH:\n * 1. This constant\n * 2. The \"version\" field in package.json\n */\nexport const SDK_VERSION = '0.9.0';\n"]}
@@ -0,0 +1,22 @@
1
+ import {
2
+ __esm
3
+ } from "./chunk-WMJKH4XE.mjs";
4
+
5
+ // src/constants.ts
6
+ var PREBUILD_PAGE_SIZE, DEFAULT_MAX_PREBUILD_AGE_SEC, DEFAULT_PREBUILD_DIR;
7
+ var init_constants = __esm({
8
+ "src/constants.ts"() {
9
+ "use strict";
10
+ PREBUILD_PAGE_SIZE = 50;
11
+ DEFAULT_MAX_PREBUILD_AGE_SEC = 86400;
12
+ DEFAULT_PREBUILD_DIR = ".riverbank-cache";
13
+ }
14
+ });
15
+
16
+ export {
17
+ PREBUILD_PAGE_SIZE,
18
+ DEFAULT_MAX_PREBUILD_AGE_SEC,
19
+ DEFAULT_PREBUILD_DIR,
20
+ init_constants
21
+ };
22
+ //# sourceMappingURL=chunk-AGAOKSPY.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/constants.ts"],"sourcesContent":["/**\n * SDK constants\n *\n * Shared constants used across the SDK.\n */\n\n/**\n * Page size used when prebuilding entry caches.\n * API max limit is 50, so we use that to minimize requests.\n */\nexport const PREBUILD_PAGE_SIZE = 50;\n\n/**\n * Default ISR revalidation interval in seconds.\n * 5 minutes provides a good balance between freshness and performance.\n */\nexport const ISR_REVALIDATE_SECONDS = 300;\n\n/**\n * Default cache TTL in seconds.\n * Matches ISR_REVALIDATE_SECONDS for consistency.\n */\nexport const CACHE_TTL_SECONDS = 300;\n\n/**\n * Default maximum age for prebuild cache in seconds.\n * 24 hours - older prebuilds are rejected.\n */\nexport const DEFAULT_MAX_PREBUILD_AGE_SEC = 86400;\n\n/**\n * Default prebuild output directory.\n */\nexport const DEFAULT_PREBUILD_DIR = '.riverbank-cache';\n"],"mappings":";;;;;AAAA,IAUa,oBAkBA,8BAKA;AAjCb;AAAA;AAAA;AAUO,IAAM,qBAAqB;AAkB3B,IAAM,+BAA+B;AAKrC,IAAM,uBAAuB;AAAA;AAAA;","names":[]}
@@ -1674,7 +1674,7 @@ var formEmbedFragment = defineFragment({
1674
1674
  description: "Embeds a saved form with configurable submit button copy.",
1675
1675
  fields: [
1676
1676
  {
1677
- id: "formId",
1677
+ id: "formSlug",
1678
1678
  type: "reference",
1679
1679
  label: "Form",
1680
1680
  description: "Pick a saved form to render.",
@@ -1710,7 +1710,7 @@ var formEmbedFragment = defineFragment({
1710
1710
  loader: {
1711
1711
  endpoint: "getPublicFormById",
1712
1712
  params: {
1713
- formId: { $bind: { from: "formId" } }
1713
+ formSlug: { $bind: { from: "formSlug" } }
1714
1714
  },
1715
1715
  mode: "server"
1716
1716
  }
@@ -5487,4 +5487,4 @@ export {
5487
5487
  siteFooterManifest,
5488
5488
  getBlockDefinition
5489
5489
  };
5490
- //# sourceMappingURL=chunk-A3UZ2LDH.mjs.map
5490
+ //# sourceMappingURL=chunk-BOYBN4KN.mjs.map