@storyblok/react 5.1.1 → 5.1.2

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.
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("react");require("./common.js");const n=require("./storyblok-js.js"),l=require("./server-component.js");function c(e){var t,s;const r=(t=e==null?void 0:e.attrs)==null?void 0:t.body;return o.createElement(l,{blok:Array.isArray(r)&&r.length>0?r[0]:void 0,key:((s=e.attrs)==null?void 0:s.id)||`fallback-key-${JSON.stringify(e.attrs)}`})}function i(e){const r={...e,renderFn:o.createElement,textFn:t=>o.createElement(o.Fragment,{key:Math.random().toString(36).substring(2,15)},t),resolvers:{[n.BlockTypes.COMPONENT]:c,...e.resolvers},keyedResolvers:!0};return n.richTextResolver(r)}exports.componentResolver=c;exports.useStoryblokServerRichText=i;
@@ -0,0 +1,32 @@
1
+ import o from "react";
2
+ import "./common.mjs";
3
+ import { BlockTypes as n, richTextResolver as a } from "./storyblok-js.mjs";
4
+ import l from "./server-component.mjs";
5
+ function i(r) {
6
+ var t, s;
7
+ const e = (t = r == null ? void 0 : r.attrs) == null ? void 0 : t.body;
8
+ return o.createElement(l, {
9
+ blok: Array.isArray(e) && e.length > 0 ? e[0] : void 0,
10
+ key: ((s = r.attrs) == null ? void 0 : s.id) || `fallback-key-${JSON.stringify(r.attrs)}`
11
+ });
12
+ }
13
+ function v(r) {
14
+ const e = {
15
+ ...r,
16
+ renderFn: o.createElement,
17
+ textFn: (t) => o.createElement(o.Fragment, {
18
+ key: Math.random().toString(36).substring(2, 15)
19
+ }, t),
20
+ resolvers: {
21
+ [n.COMPONENT]: i,
22
+ // ✅ Uses RSC component resolver
23
+ ...r.resolvers
24
+ },
25
+ keyedResolvers: !0
26
+ };
27
+ return a(e);
28
+ }
29
+ export {
30
+ i as componentResolver,
31
+ v as useStoryblokServerRichText
32
+ };
@@ -1,9 +1,6 @@
1
- import { useStoryblokRichText } from '../richtext';
2
- export { useStoryblokRichText };
3
- /** @deprecated Use useStoryblokRichText instead */
4
- export declare const useStoryblokRichTextResolver: typeof useStoryblokRichText;
5
- export { default as StoryblokRichText } from '../storyblok-rich-text';
6
1
  export * from './common';
2
+ export { useStoryblokServerRichText } from './richtext';
3
+ export { default as StoryblokServerRichText } from './server-storyblok-richtext-component';
7
4
  export { default as StoryblokStory } from './story';
8
5
  export { BlockTypes, MarkTypes, richTextResolver, type StoryblokRichTextImageOptimizationOptions, type StoryblokRichTextNode, type StoryblokRichTextNodeResolver, type StoryblokRichTextNodeTypes, type StoryblokRichTextOptions, type StoryblokRichTextResolvers, TextTypes, } from '@storyblok/js';
9
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/rsc/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAGnD,OAAO,EAAE,oBAAoB,EAAE,CAAC;AAEhC,mDAAmD;AACnD,eAAO,MAAM,4BAA4B,6BAAuB,CAAC;AAEjE,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AACtE,cAAc,UAAU,CAAC;AACzB,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,SAAS,CAAC;AACpD,OAAO,EACL,UAAU,EACV,SAAS,EACT,gBAAgB,EAChB,KAAK,yCAAyC,EAC9C,KAAK,qBAAqB,EAC1B,KAAK,6BAA6B,EAClC,KAAK,0BAA0B,EAC/B,KAAK,wBAAwB,EAC7B,KAAK,0BAA0B,EAC/B,SAAS,GACV,MAAM,eAAe,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/rsc/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,OAAO,EAAE,0BAA0B,EAAE,MAAM,YAAY,CAAC;AACxD,OAAO,EAAE,OAAO,IAAI,uBAAuB,EAAE,MAAM,uCAAuC,CAAC;AAC3F,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,SAAS,CAAC;AACpD,OAAO,EACL,UAAU,EACV,SAAS,EACT,gBAAgB,EAChB,KAAK,yCAAyC,EAC9C,KAAK,qBAAqB,EAC1B,KAAK,6BAA6B,EAClC,KAAK,0BAA0B,EAC/B,KAAK,wBAAwB,EAC7B,KAAK,0BAA0B,EAC/B,SAAS,GACV,MAAM,eAAe,CAAC"}
@@ -0,0 +1,11 @@
1
+ import { default as React } from 'react';
2
+ import { StoryblokRichTextNode, StoryblokRichTextOptions } from '@storyblok/js';
3
+ /**
4
+ * RSC-specific component resolver that uses StoryblokServerComponent
5
+ * instead of the client-side StoryblokComponent
6
+ */
7
+ export declare function componentResolver(node: StoryblokRichTextNode<React.ReactElement>): React.ReactElement;
8
+ export declare function useStoryblokServerRichText(options: StoryblokRichTextOptions<React.ReactElement>): {
9
+ render: (node: StoryblokRichTextNode<React.ReactNode>) => React.ReactNode;
10
+ };
11
+ //# sourceMappingURL=richtext.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"richtext.d.ts","sourceRoot":"","sources":["../../src/rsc/richtext.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,KAAK,EAAE,qBAAqB,EAAE,wBAAwB,EAAE,MAAM,eAAe,CAAC;AAGrF;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,qBAAqB,CAAC,KAAK,CAAC,YAAY,CAAC,GAAG,KAAK,CAAC,YAAY,CAMrG;AAED,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,wBAAwB,CAAC,KAAK,CAAC,YAAY,CAAC;;EAgBtD"}
@@ -0,0 +1,5 @@
1
+ import { default as React } from 'react';
2
+ import { StoryblokRichTextProps } from '../types';
3
+ declare const StoryblokRichText: React.ForwardRefExoticComponent<StoryblokRichTextProps & React.RefAttributes<HTMLDivElement>>;
4
+ export default StoryblokRichText;
5
+ //# sourceMappingURL=server-storyblok-richtext-component.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"server-storyblok-richtext-component.d.ts","sourceRoot":"","sources":["../../src/rsc/server-storyblok-richtext-component.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAqB,MAAM,OAAO,CAAC;AAG1C,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AAGvD,QAAA,MAAM,iBAAiB,+FAkBtB,CAAC;AAEF,eAAe,iBAAiB,CAAC"}
package/dist/rsc.js CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("./richtext.js"),r=require("./storyblok-rich-text.js"),o=require("./common.js"),l=require("./story.js"),e=require("./storyblok-js.js"),s=require("./server-component.js"),i=t.useStoryblokRichText;exports.useStoryblokRichText=t.useStoryblokRichText;exports.StoryblokRichText=r;exports.getComponent=o.getComponent;exports.getCustomFallbackComponent=o.getCustomFallbackComponent;exports.getEnableFallbackComponent=o.getEnableFallbackComponent;exports.getStoryblokApi=o.useStoryblokApi;exports.setComponents=o.setComponents;exports.storyblokInit=o.storyblokInit;exports.useStoryblokApi=o.useStoryblokApi;exports.StoryblokStory=l;exports.BlockTypes=e.BlockTypes;exports.MarkTypes=e.MarkTypes;exports.TextTypes=e.TextTypes;exports.apiPlugin=e.apiPlugin;exports.loadStoryblokBridge=e.loadStoryblokBridge;exports.registerStoryblokBridge=e.registerStoryblokBridge;exports.renderRichText=e.renderRichText;exports.richTextResolver=e.richTextResolver;exports.storyblokEditable=e.storyblokEditable;exports.useStoryblokBridge=e.registerStoryblokBridge;exports.StoryblokServerComponent=s;exports.useStoryblokRichTextResolver=i;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("./common.js"),t=require("./richtext2.js"),r=require("./server-storyblok-richtext-component.js"),l=require("./story.js"),e=require("./storyblok-js.js"),s=require("./server-component.js");exports.getComponent=o.getComponent;exports.getCustomFallbackComponent=o.getCustomFallbackComponent;exports.getEnableFallbackComponent=o.getEnableFallbackComponent;exports.getStoryblokApi=o.useStoryblokApi;exports.setComponents=o.setComponents;exports.storyblokInit=o.storyblokInit;exports.useStoryblokApi=o.useStoryblokApi;exports.useStoryblokServerRichText=t.useStoryblokServerRichText;exports.StoryblokServerRichText=r;exports.StoryblokStory=l;exports.BlockTypes=e.BlockTypes;exports.MarkTypes=e.MarkTypes;exports.TextTypes=e.TextTypes;exports.apiPlugin=e.apiPlugin;exports.loadStoryblokBridge=e.loadStoryblokBridge;exports.registerStoryblokBridge=e.registerStoryblokBridge;exports.renderRichText=e.renderRichText;exports.richTextResolver=e.richTextResolver;exports.storyblokEditable=e.storyblokEditable;exports.useStoryblokBridge=e.registerStoryblokBridge;exports.StoryblokServerComponent=s;
package/dist/rsc.mjs CHANGED
@@ -1,31 +1,29 @@
1
- import { useStoryblokRichText as o } from "./richtext.mjs";
2
- import { default as s } from "./storyblok-rich-text.mjs";
3
- import { getComponent as p, getCustomFallbackComponent as b, getEnableFallbackComponent as k, useStoryblokApi as y, setComponents as a, storyblokInit as n, useStoryblokApi as S } from "./common.mjs";
4
- import { default as x } from "./story.mjs";
5
- import { BlockTypes as d, MarkTypes as u, TextTypes as c, apiPlugin as f, loadStoryblokBridge as T, registerStoryblokBridge as C, renderRichText as R, richTextResolver as h, storyblokEditable as B, registerStoryblokBridge as v } from "./storyblok-js.mjs";
6
- import { default as E } from "./server-component.mjs";
7
- const t = o;
1
+ import { getComponent as r, getCustomFallbackComponent as t, getEnableFallbackComponent as l, useStoryblokApi as s, setComponents as p, storyblokInit as a, useStoryblokApi as b } from "./common.mjs";
2
+ import { useStoryblokServerRichText as k } from "./richtext2.mjs";
3
+ import { default as S } from "./server-storyblok-richtext-component.mjs";
4
+ import { default as m } from "./story.mjs";
5
+ import { BlockTypes as x, MarkTypes as d, TextTypes as f, apiPlugin as u, loadStoryblokBridge as T, registerStoryblokBridge as c, renderRichText as C, richTextResolver as B, storyblokEditable as h, registerStoryblokBridge as v } from "./storyblok-js.mjs";
6
+ import { default as A } from "./server-component.mjs";
8
7
  export {
9
- d as BlockTypes,
10
- u as MarkTypes,
11
- s as StoryblokRichText,
12
- E as StoryblokServerComponent,
13
- x as StoryblokStory,
14
- c as TextTypes,
15
- f as apiPlugin,
16
- p as getComponent,
17
- b as getCustomFallbackComponent,
18
- k as getEnableFallbackComponent,
19
- y as getStoryblokApi,
8
+ x as BlockTypes,
9
+ d as MarkTypes,
10
+ A as StoryblokServerComponent,
11
+ S as StoryblokServerRichText,
12
+ m as StoryblokStory,
13
+ f as TextTypes,
14
+ u as apiPlugin,
15
+ r as getComponent,
16
+ t as getCustomFallbackComponent,
17
+ l as getEnableFallbackComponent,
18
+ s as getStoryblokApi,
20
19
  T as loadStoryblokBridge,
21
- C as registerStoryblokBridge,
22
- R as renderRichText,
23
- h as richTextResolver,
24
- a as setComponents,
25
- B as storyblokEditable,
26
- n as storyblokInit,
27
- S as useStoryblokApi,
20
+ c as registerStoryblokBridge,
21
+ C as renderRichText,
22
+ B as richTextResolver,
23
+ p as setComponents,
24
+ h as storyblokEditable,
25
+ a as storyblokInit,
26
+ b as useStoryblokApi,
28
27
  v as useStoryblokBridge,
29
- o as useStoryblokRichText,
30
- t as useStoryblokRichTextResolver
28
+ k as useStoryblokServerRichText
31
29
  };
@@ -1 +1 @@
1
- "use strict";const e=require("react/jsx-runtime"),l=require("react");require("./storyblok-component.js");require("./storyblok-rich-text.js");const r=require("./common.js");require("./story.js");const c=l.forwardRef(({blok:o,...n},i)=>{if(!o)return console.error("Please provide a 'blok' property to the StoryblokComponent"),e.jsx("div",{children:"Please provide a blok property to the StoryblokServerComponent"});const t=r.getComponent(o.component);if(t)return e.jsx(t,{ref:i,blok:o,...n});if(r.getEnableFallbackComponent()){const s=r.getCustomFallbackComponent();return s?e.jsx(s,{blok:o,...n}):e.jsx(e.Fragment,{children:e.jsxs("p",{children:["Component could not be found for blok"," ",e.jsx("strong",{children:o.component}),"! Is it configured correctly?"]})})}return e.jsx("div",{})});c.displayName="StoryblokServerComponent";module.exports=c;
1
+ "use strict";const e=require("react/jsx-runtime"),l=require("react"),r=require("./common.js");require("./server-storyblok-richtext-component.js");require("./story.js");const c=l.forwardRef(({blok:o,...n},i)=>{if(!o)return console.error("Please provide a 'blok' property to the StoryblokComponent"),e.jsx("div",{children:"Please provide a blok property to the StoryblokServerComponent"});const t=r.getComponent(o.component);if(t)return e.jsx(t,{ref:i,blok:o,...n});if(r.getEnableFallbackComponent()){const s=r.getCustomFallbackComponent();return s?e.jsx(s,{blok:o,...n}):e.jsx(e.Fragment,{children:e.jsxs("p",{children:["Component could not be found for blok"," ",e.jsx("strong",{children:o.component}),"! Is it configured correctly?"]})})}return e.jsx("div",{})});c.displayName="StoryblokServerComponent";module.exports=c;
@@ -1,8 +1,7 @@
1
1
  import { jsx as o, Fragment as m, jsxs as l } from "react/jsx-runtime";
2
2
  import { forwardRef as i } from "react";
3
- import "./storyblok-component.mjs";
4
- import "./storyblok-rich-text.mjs";
5
3
  import { getComponent as a, getEnableFallbackComponent as c, getCustomFallbackComponent as d } from "./common.mjs";
4
+ import "./server-storyblok-richtext-component.mjs";
6
5
  import "./story.mjs";
7
6
  const s = i(
8
7
  ({ blok: e, ...r }, p) => {
@@ -0,0 +1 @@
1
+ "use strict";const c=require("react/jsx-runtime"),i=require("react"),u=require("./utils.js"),l=require("./richtext2.js"),x=i.forwardRef(({doc:t,resolvers:e},r)=>{if(!t)return null;const{render:n}=l.useStoryblokServerRichText({resolvers:e}),s=n(t),o=u.convertAttributesInElement(s);return c.jsx("div",{ref:r,children:o})});module.exports=x;
@@ -0,0 +1,17 @@
1
+ import { jsx as i } from "react/jsx-runtime";
2
+ import { forwardRef as f } from "react";
3
+ import { convertAttributesInElement as l } from "./utils.mjs";
4
+ import { useStoryblokServerRichText as s } from "./richtext2.mjs";
5
+ const a = f(
6
+ ({ doc: r, resolvers: t }, o) => {
7
+ if (!r)
8
+ return null;
9
+ const { render: e } = s({
10
+ resolvers: t
11
+ }), m = e(r), n = l(m);
12
+ return /* @__PURE__ */ i("div", { ref: o, children: n });
13
+ }
14
+ );
15
+ export {
16
+ a as default
17
+ };
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@storyblok/react",
3
3
  "type": "module",
4
- "version": "5.1.1",
4
+ "version": "5.1.2",
5
5
  "private": false,
6
6
  "description": "SDK to integrate Storyblok into your project using React.",
7
7
  "author": "Storyblok",
@@ -51,7 +51,6 @@
51
51
  "@babel/preset-env": "^7.27.2",
52
52
  "@cypress/react": "^9.0.1",
53
53
  "@cypress/vite-dev-server": "^6.0.3",
54
- "@storyblok/eslint-config": "^0.3.0",
55
54
  "@tsconfig/recommended": "^1.0.8",
56
55
  "@types/node": "^22.15.18",
57
56
  "@types/react": "19.1.4",
@@ -68,7 +67,8 @@
68
67
  "typescript": "5.8.3",
69
68
  "vite": "^6.3.5",
70
69
  "vite-plugin-dts": "^4.5.3",
71
- "vitest": "^3.1.3"
70
+ "vitest": "^3.1.3",
71
+ "@storyblok/eslint-config": "0.3.0"
72
72
  },
73
73
  "babel": {
74
74
  "presets": [