@storyblok/react 6.1.10 → 7.0.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.
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("react/jsx-runtime");function i(r){return function({attrs:e}){return Array.isArray(e==null?void 0:e.body)?e.body.map((u,n)=>o.jsx(r,{blok:u},u._uid||n)):null}}exports.createDefaultBlok=i;
@@ -0,0 +1,15 @@
1
+ import { jsx as o } from "react/jsx-runtime";
2
+ function l(e) {
3
+ return function({ attrs: r }) {
4
+ return Array.isArray(r == null ? void 0 : r.body) ? r.body.map((u, n) => /* @__PURE__ */ o(
5
+ e,
6
+ {
7
+ blok: u
8
+ },
9
+ u._uid || n
10
+ )) : null;
11
+ };
12
+ }
13
+ export {
14
+ l as createDefaultBlok
15
+ };
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const l=require("react/jsx-runtime"),s=require("./rich-text-renderer.js");require("@storyblok/richtext");const a=require("./create-default-blok.js");function d(t){const r=a.createDefaultBlok(t);return function({document:n,optimizeImage:o,components:c,wrapper:i=!0,...u}){const e=s.createRichTextRenderer({optimizeImage:o,components:{blok:r,...c}})(n);return i?l.jsx("div",{...u,children:e}):e}}exports.createStoryblokRichText=d;
@@ -0,0 +1,26 @@
1
+ import { jsx as l } from "react/jsx-runtime";
2
+ import { createRichTextRenderer as m } from "./rich-text-renderer.mjs";
3
+ import "@storyblok/richtext";
4
+ import { createDefaultBlok as u } from "./create-default-blok.mjs";
5
+ function h(t) {
6
+ const e = u(t);
7
+ return function({
8
+ document: o,
9
+ optimizeImage: n,
10
+ components: c,
11
+ wrapper: i = !0,
12
+ ...f
13
+ }) {
14
+ const r = m({
15
+ optimizeImage: n,
16
+ components: {
17
+ blok: e,
18
+ ...c
19
+ }
20
+ })(o);
21
+ return i ? /* @__PURE__ */ l("div", { ...f, children: r }) : r;
22
+ };
23
+ }
24
+ export {
25
+ h as createStoryblokRichText
26
+ };
package/dist/core/init.js CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("@storyblok/js"),t=require("./state.js"),l=(e={})=>{const o=t.getStoryblokApiInstance();if(o)return()=>o;const{storyblokApi:n}=a.storyblokInit(e);return t.setStoryblokApiInstance(n),e.components&&t.setComponents(e.components),e.enableFallbackComponent!==void 0&&t.setEnableFallbackComponent(e.enableFallbackComponent),e.customFallbackComponent&&t.setCustomFallbackComponent(e.customFallbackComponent),()=>n};exports.getComponent=t.getComponent;exports.getCustomFallbackComponent=t.getCustomFallbackComponent;exports.getEnableFallbackComponent=t.getEnableFallbackComponent;exports.setComponents=t.setComponents;exports.storyblokInit=l;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("@storyblok/js"),e=require("./state.js"),l=(t={})=>{const n=e.getStoryblokApiInstance();if(n)return()=>n;const{storyblokApi:a}=o.storyblokInit(t);return e.setStoryblokApiInstance(a),t.components&&e.setComponents(t.components),t.enableFallbackComponent!==void 0&&e.setEnableFallbackComponent(t.enableFallbackComponent),t.customFallbackComponent&&e.setCustomFallbackComponent(t.customFallbackComponent),()=>a};Object.defineProperty(exports,"apiPlugin",{enumerable:!0,get:()=>o.apiPlugin});Object.defineProperty(exports,"storyblokEditable",{enumerable:!0,get:()=>o.storyblokEditable});exports.getComponent=e.getComponent;exports.getCustomFallbackComponent=e.getCustomFallbackComponent;exports.getEnableFallbackComponent=e.getEnableFallbackComponent;exports.setComponents=e.setComponents;exports.storyblokInit=l;
@@ -1,17 +1,20 @@
1
1
  import { storyblokInit as n } from "@storyblok/js";
2
- import { setComponents as a, setEnableFallbackComponent as m, setCustomFallbackComponent as l, setStoryblokApiInstance as b, getStoryblokApiInstance as c } from "./state.mjs";
3
- import { getComponent as f, getCustomFallbackComponent as p, getEnableFallbackComponent as y } from "./state.mjs";
2
+ import { apiPlugin as f, storyblokEditable as F } from "@storyblok/js";
3
+ import { setComponents as a, setEnableFallbackComponent as l, setCustomFallbackComponent as m, setStoryblokApiInstance as b, getStoryblokApiInstance as r } from "./state.mjs";
4
+ import { getComponent as i, getCustomFallbackComponent as I, getEnableFallbackComponent as x } from "./state.mjs";
4
5
  const k = (o = {}) => {
5
- const t = c();
6
+ const t = r();
6
7
  if (t)
7
8
  return () => t;
8
9
  const { storyblokApi: e } = n(o);
9
- return b(e), o.components && a(o.components), o.enableFallbackComponent !== void 0 && m(o.enableFallbackComponent), o.customFallbackComponent && l(o.customFallbackComponent), () => e;
10
+ return b(e), o.components && a(o.components), o.enableFallbackComponent !== void 0 && l(o.enableFallbackComponent), o.customFallbackComponent && m(o.customFallbackComponent), () => e;
10
11
  };
11
12
  export {
12
- f as getComponent,
13
- p as getCustomFallbackComponent,
14
- y as getEnableFallbackComponent,
13
+ f as apiPlugin,
14
+ i as getComponent,
15
+ I as getCustomFallbackComponent,
16
+ x as getEnableFallbackComponent,
15
17
  a as setComponents,
18
+ F as storyblokEditable,
16
19
  k as storyblokInit
17
20
  };
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const f=require("react/jsx-runtime"),i=require("@storyblok/richtext"),o=require("react");function y(t,e){return e==null?void 0:e[t]}const p={class:"className"};function C(t){return function(c){const r=i.normalizeNodes(c,!0);return r!=null&&r.length?g(r,t):null}}function g(t,e){return i.groupLinkNodes(t).map((r,n)=>r.linkMark?T(r.nodes,r.linkMark,e,r._key||n):x(r.nodes[0],e,r._key||n))}function T(t,e,c,r){const n=t.map((l,a)=>{const m=l,h=i.getInnerMarks(l);return b(m,h,c,l._key||a)}),s=y(e.type,c.components);if(s)return f.jsx(s,{...e,children:n},r);const u=i.resolveTag(e);return u?o.createElement(u,{key:r,...i.processAttrs(e.type,e.attrs,p)},n):f.jsx(o.Fragment,{children:n},r)}function x(t,e,c){if(t.type==="text")return A(t,e,c);const r=y(t.type,e.components);if(r)return f.jsx(r,{...t,context:e,children:t.content?g(t.content,e):null},c);const n=i.resolveTag(t);if(!n)return t.content?g(t.content,e):null;if(t.type==="image"&&e.optimizeImage)return R(t,e,c);const s=i.processAttrs(t.type,t.attrs,p);if(i.isSelfClosing(n))return o.createElement(n,{key:c,...s});if(t.type==="table")return S(t,e,c,n,s);const u=i.getStaticChildren(t);if(u){const l=t.content?g(t.content,e):null,a=d(t.type,u,t.attrs,l);return o.createElement(n,{key:c},a)}return o.createElement(n,{key:c,...s},t.content?g(t.content,e):null)}function R(t,e,c){const r=t.attrs,n=r==null?void 0:r.src;if(!n)return null;const{src:s,attrs:u}=i.buildStoryblokImage(n,e.optimizeImage),l=i.processAttrs("image",{...r,src:s,...u},p);return f.jsx("img",{...l},c)}function S(t,e,c,r,n){const{headerRows:s,bodyRows:u}=i.splitTableRows(t.content),l=[];return s.length>0&&l.push(f.jsx("thead",{children:s.map((a,m)=>x(a,e,a._key||m))},"thead")),u.length>0&&l.push(f.jsx("tbody",{children:u.map((a,m)=>x(a,e,a._key||m))},"tbody")),o.createElement(r,{key:c,...n},l)}function d(t,e,c,r){return e.map((n,s)=>{const{tag:u,children:l,attrs:a}=n,m={...a,...c},h=i.processAttrs(t,m,p);if(i.isSelfClosing(u))return o.createElement(u,{key:s,...h});const j=l?d(t,l,c,r):r;return o.createElement(u,{key:s,...h},j)})}function A(t,e,c){return b(t,t.marks,e,c)}function b(t,e,c,r){let n=t.text;if(e!=null&&e.length)for(const s of e)n=E(n,s,c);return f.jsx(o.Fragment,{children:n},r)}function E(t,e,c){const r=y(e.type,c.components);if(r)return f.jsx(r,{...e,children:t});const n=i.resolveTag(e);if(!n)return t;const s=i.processAttrs(e.type,e.attrs,p);return o.createElement(n,s,t)}exports.createRichTextRenderer=C;
@@ -0,0 +1,106 @@
1
+ import { jsx as o } from "react/jsx-runtime";
2
+ import { normalizeNodes as R, groupLinkNodes as S, getInnerMarks as T, resolveTag as d, processAttrs as p, isSelfClosing as x, getStaticChildren as z, buildStoryblokImage as _, splitTableRows as A } from "@storyblok/richtext";
3
+ import a from "react";
4
+ function b(t, e) {
5
+ return e == null ? void 0 : e[t];
6
+ }
7
+ const g = {
8
+ class: "className"
9
+ };
10
+ function O(t) {
11
+ return function(c) {
12
+ const r = R(c, !0);
13
+ return r != null && r.length ? m(r, t) : null;
14
+ };
15
+ }
16
+ function m(t, e) {
17
+ return S(t).map((r, n) => r.linkMark ? I(r.nodes, r.linkMark, e, r._key || n) : y(r.nodes[0], e, r._key || n));
18
+ }
19
+ function I(t, e, c, r) {
20
+ const n = t.map((i, l) => {
21
+ const f = i, h = T(i);
22
+ return E(f, h, c, i._key || l);
23
+ }), s = b(e.type, c.components);
24
+ if (s)
25
+ return /* @__PURE__ */ o(s, { ...e, children: n }, r);
26
+ const u = d(e);
27
+ return u ? a.createElement(u, { key: r, ...p(e.type, e.attrs, g) }, n) : /* @__PURE__ */ o(a.Fragment, { children: n }, r);
28
+ }
29
+ function y(t, e, c) {
30
+ if (t.type === "text")
31
+ return w(t, e, c);
32
+ const r = b(t.type, e.components);
33
+ if (r)
34
+ return /* @__PURE__ */ o(r, { ...t, context: e, children: t.content ? m(t.content, e) : null }, c);
35
+ const n = d(t);
36
+ if (!n)
37
+ return t.content ? m(t.content, e) : null;
38
+ if (t.type === "image" && e.optimizeImage)
39
+ return M(t, e, c);
40
+ const s = p(t.type, t.attrs, g);
41
+ if (x(n))
42
+ return a.createElement(n, { key: c, ...s });
43
+ if (t.type === "table")
44
+ return v(t, e, c, n, s);
45
+ const u = z(t);
46
+ if (u) {
47
+ const i = t.content ? m(t.content, e) : null, l = C(t.type, u, t.attrs, i);
48
+ return a.createElement(n, { key: c }, l);
49
+ }
50
+ return a.createElement(
51
+ n,
52
+ { key: c, ...s },
53
+ t.content ? m(t.content, e) : null
54
+ );
55
+ }
56
+ function M(t, e, c) {
57
+ const r = t.attrs, n = r == null ? void 0 : r.src;
58
+ if (!n)
59
+ return null;
60
+ const { src: s, attrs: u } = _(n, e.optimizeImage), i = p("image", {
61
+ ...r,
62
+ src: s,
63
+ ...u
64
+ }, g);
65
+ return /* @__PURE__ */ o("img", { ...i }, c);
66
+ }
67
+ function v(t, e, c, r, n) {
68
+ const { headerRows: s, bodyRows: u } = A(t.content), i = [];
69
+ return s.length > 0 && i.push(
70
+ /* @__PURE__ */ o("thead", { children: s.map((l, f) => y(l, e, l._key || f)) }, "thead")
71
+ ), u.length > 0 && i.push(
72
+ /* @__PURE__ */ o("tbody", { children: u.map((l, f) => y(l, e, l._key || f)) }, "tbody")
73
+ ), a.createElement(r, { key: c, ...n }, i);
74
+ }
75
+ function C(t, e, c, r) {
76
+ return e.map((n, s) => {
77
+ const { tag: u, children: i, attrs: l } = n, f = { ...l, ...c }, h = p(t, f, g);
78
+ if (x(u))
79
+ return a.createElement(u, { key: s, ...h });
80
+ const N = i ? C(t, i, c, r) : r;
81
+ return a.createElement(u, { key: s, ...h }, N);
82
+ });
83
+ }
84
+ function w(t, e, c) {
85
+ return E(t, t.marks, e, c);
86
+ }
87
+ function E(t, e, c, r) {
88
+ let n = t.text;
89
+ if (e != null && e.length)
90
+ for (const s of e)
91
+ n = F(n, s, c);
92
+ return /* @__PURE__ */ o(a.Fragment, { children: n }, r);
93
+ }
94
+ function F(t, e, c) {
95
+ const r = b(e.type, c.components);
96
+ if (r)
97
+ return /* @__PURE__ */ o(r, { ...e, children: t });
98
+ const n = d(e);
99
+ if (!n)
100
+ return t;
101
+ const s = p(e.type, e.attrs, g);
102
+ return a.createElement(n, s, t);
103
+ }
104
+ export {
105
+ O as createRichTextRenderer
106
+ };
package/dist/index.d.ts CHANGED
@@ -1,9 +1,9 @@
1
1
  import { apiPlugin } from '@storyblok/js';
2
2
  import { ArrayFn } from '@storyblok/js';
3
- import { asTag } from '@storyblok/js';
4
3
  import { AsyncFn } from '@storyblok/js';
5
- import { BlockTypes } from '@storyblok/js';
6
- import { ComponentBlok } from '@storyblok/js';
4
+ import { buildStoryblokImage } from '@storyblok/richtext';
5
+ import { ComponentPropsWithoutRef } from 'react';
6
+ import { ComponentType } from 'react';
7
7
  import { default as default_2 } from 'react';
8
8
  import { ForwardRefExoticComponent } from 'react';
9
9
  import { ISbAlternateObject } from '@storyblok/js';
@@ -24,43 +24,42 @@ import { ISbStoryData } from '@storyblok/js';
24
24
  import { ISbStoryParams } from '@storyblok/js';
25
25
  import { ISbThrottle } from '@storyblok/js';
26
26
  import { loadStoryblokBridge } from '@storyblok/js';
27
- import { MarkTypes } from '@storyblok/js';
28
27
  import { ReactNode } from 'react';
29
28
  import { RefAttributes } from 'react';
30
29
  import { registerStoryblokBridge } from '@storyblok/js';
31
- import { renderRichText } from '@storyblok/js';
32
- import { richTextResolver } from '@storyblok/js';
30
+ import { renderRichText } from '@storyblok/richtext';
33
31
  import { SbBlokData } from '@storyblok/js';
34
32
  import { SbBlokKeyDataTypes } from '@storyblok/js';
33
+ import { SbRichTextDoc } from '@storyblok/richtext';
34
+ import { SbRichTextElement } from '@storyblok/richtext';
35
+ import { SbRichTextElementByType } from '@storyblok/richtext';
36
+ import { SbRichTextImageOptions } from '@storyblok/richtext';
37
+ import { SbRichTextInput } from '@storyblok/richtext';
38
+ import { SbRichTextMark } from '@storyblok/richtext';
39
+ import { SbRichTextNode } from '@storyblok/richtext';
40
+ import { SbRichTextProps } from '@storyblok/richtext';
41
+ import { SbRichTextRenderContext } from '@storyblok/richtext';
42
+ import { SbRichTextRendererMap } from '@storyblok/richtext';
35
43
  import { SbSDKOptions } from '@storyblok/js';
44
+ import { splitTableRows } from '@storyblok/richtext';
36
45
  import { StoryblokBridgeConfigV2 } from '@storyblok/js';
37
46
  import { StoryblokBridgeV2 } from '@storyblok/js';
38
47
  import { StoryblokClient } from '@storyblok/js';
39
48
  import { StoryblokComponentType } from '@storyblok/js';
40
49
  import { storyblokEditable } from '@storyblok/js';
41
- import { StoryblokRichTextDocumentNode } from '@storyblok/richtext';
42
- import { StoryblokRichTextImageOptimizationOptions } from '@storyblok/js';
43
- import { StoryblokRichTextNode } from '@storyblok/js';
44
- import { StoryblokRichTextNode as StoryblokRichTextNode_2 } from '@storyblok/richtext';
45
- import { StoryblokRichTextNodeTypes } from '@storyblok/js';
46
- import { StoryblokRichTextOptions } from '@storyblok/js';
47
- import { StoryblokRichTextOptions as StoryblokRichTextOptions_2 } from '@storyblok/richtext';
48
- import { TextTypes } from '@storyblok/js';
49
50
  import { useStoryblokBridge } from '@storyblok/js';
50
51
 
51
52
  export { apiPlugin }
52
53
 
53
54
  export { ArrayFn }
54
55
 
55
- export { asTag }
56
-
57
56
  export { AsyncFn }
58
57
 
59
- export { BlockTypes }
60
-
61
- export { ComponentBlok }
58
+ export { buildStoryblokImage }
62
59
 
63
60
  /**
61
+ * @deprecated This utility is no longer needed and will be removed in a future release.
62
+ *
64
63
  * Recursively converts HTML attributes in a React element tree to their JSX property names.
65
64
  *
66
65
  * @param {React.ReactElement} element The React element to process.
@@ -68,6 +67,10 @@ export { ComponentBlok }
68
67
  */
69
68
  export declare function convertAttributesInElement(element: default_2.ReactElement | default_2.ReactElement[]): default_2.ReactElement | default_2.ReactElement[];
70
69
 
70
+ export declare function createRichTextRenderer(options: SbReactRichTextRenderContext): (document: SbRichTextInput) => ReactNode | null;
71
+
72
+ declare type DivProps = Omit<ComponentPropsWithoutRef<'div'>, 'children'>;
73
+
71
74
  export declare const getComponent: (componentKey: string) => React.ElementType | false;
72
75
 
73
76
  export declare const getCustomFallbackComponent: () => React.ElementType;
@@ -123,14 +126,10 @@ export declare const isVisualEditor: () => boolean;
123
126
 
124
127
  export { loadStoryblokBridge }
125
128
 
126
- export { MarkTypes }
127
-
128
129
  export { registerStoryblokBridge }
129
130
 
130
131
  export { renderRichText }
131
132
 
132
- export { richTextResolver }
133
-
134
133
  export { SbBlokData }
135
134
 
136
135
  export { SbBlokKeyDataTypes }
@@ -139,16 +138,53 @@ export declare interface SbReactComponentsMap {
139
138
  [key: string]: default_2.ElementType;
140
139
  }
141
140
 
141
+ declare type SbReactRichTextComponent<T extends SbRichTextElement> = ComponentType<SbReactRichTextProps<T>>;
142
+
143
+ export declare type SbReactRichTextComponentMap = {
144
+ [K in SbRichTextElement]?: SbReactRichTextComponent<K>;
145
+ };
146
+
147
+ /**
148
+ * Props type for React richtext node/mark components.
149
+ * Similar to SbRichTextProps but uses ReactNode for children instead of string.
150
+ */
151
+ export declare type SbReactRichTextProps<T extends SbRichTextElement> = SbRichTextElementByType<SbReactRichTextRenderContext>[T] & {
152
+ children?: ReactNode;
153
+ };
154
+
155
+ export declare interface SbReactRichTextRenderContext {
156
+ optimizeImage?: boolean | SbRichTextImageOptions;
157
+ components?: SbReactRichTextComponentMap;
158
+ }
159
+
142
160
  export declare interface SbReactSDKOptions extends SbSDKOptions {
143
161
  components?: SbReactComponentsMap;
144
162
  enableFallbackComponent?: boolean;
145
163
  customFallbackComponent?: default_2.ElementType;
146
164
  }
147
165
 
166
+ export { SbRichTextDoc }
167
+
168
+ export { SbRichTextImageOptions }
169
+
170
+ export { SbRichTextMark }
171
+
172
+ export { SbRichTextNode }
173
+
174
+ export { SbRichTextProps }
175
+
176
+ declare type SbRichTextProps_2 = WrappedProps | UnwrappedProps;
177
+
178
+ export { SbRichTextRenderContext }
179
+
180
+ export { SbRichTextRendererMap }
181
+
148
182
  export { SbSDKOptions }
149
183
 
150
184
  export declare const setComponents: (newComponentsMap: SbReactComponentsMap) => Map<string, React.ElementType>;
151
185
 
186
+ export { splitTableRows }
187
+
152
188
  export { StoryblokBridgeConfigV2 }
153
189
 
154
190
  export { StoryblokBridgeV2 }
@@ -167,25 +203,19 @@ export { storyblokEditable }
167
203
 
168
204
  export declare const storyblokInit: (pluginOptions?: SbReactSDKOptions) => (() => StoryblokClient);
169
205
 
170
- export declare const StoryblokRichText: default_2.ForwardRefExoticComponent<StoryblokRichTextProps & default_2.RefAttributes<HTMLDivElement>>;
171
-
172
- export { StoryblokRichTextImageOptimizationOptions }
173
-
174
- export { StoryblokRichTextNode }
175
-
176
- export { StoryblokRichTextNodeTypes }
206
+ export declare const StoryblokRichText: ({ document, optimizeImage, components, wrapper, ...rest }: SbRichTextProps_2) => ReactNode;
177
207
 
178
- export { StoryblokRichTextOptions }
179
-
180
- export declare interface StoryblokRichTextProps {
181
- doc: StoryblokRichTextNode<default_2.ReactElement>;
182
- tiptapExtensions?: StoryblokRichTextOptions<default_2.ReactElement>['tiptapExtensions'];
208
+ export declare interface StoryblokRichTextProps extends SbReactRichTextRenderContext {
209
+ optimizeImage?: boolean | SbRichTextImageOptions;
210
+ document?: SbRichTextInput;
183
211
  }
184
212
 
185
- export { TextTypes }
186
-
187
213
  export declare type TUseStoryblokState = <T = void>(initialStory: ISbStoryData<T> | null, bridgeOptions?: StoryblokBridgeConfigV2) => ISbStoryData<T> | null;
188
214
 
215
+ declare type UnwrappedProps = StoryblokRichTextProps & {
216
+ wrapper: false;
217
+ };
218
+
189
219
  export declare const useStoryblok: (slug: string, apiOptions?: ISbStoriesParams, bridgeOptions?: StoryblokBridgeConfigV2) => ISbStoryData<ISbComponentType<string> & {
190
220
  [index: string]: any;
191
221
  }>;
@@ -196,15 +226,12 @@ export { useStoryblokApi }
196
226
 
197
227
  export { useStoryblokBridge }
198
228
 
199
- export declare const useStoryblokRichText: (options: StoryblokRichTextOptions_2<React.ReactElement>) => {
200
- render: (node: StoryblokRichTextDocumentNode | StoryblokRichTextNode_2<ReactNode>) => ReactNode;
201
- };
202
-
203
- /** @deprecated Use useStoryblokRichText instead */
204
- export declare const useStoryblokRichTextResolver: (options: StoryblokRichTextOptions_2<React.ReactElement>) => {
205
- render: (node: StoryblokRichTextDocumentNode | StoryblokRichTextNode_2<ReactNode>) => ReactNode;
206
- };
229
+ export declare const useStoryblokRichText: (props?: SbReactRichTextRenderContext) => (document: SbRichTextInput) => ReactNode | null;
207
230
 
208
231
  export declare const useStoryblokState: TUseStoryblokState;
209
232
 
233
+ declare type WrappedProps = StoryblokRichTextProps & DivProps & {
234
+ wrapper?: true;
235
+ };
236
+
210
237
  export { }
package/dist/index.js CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const y=require("react"),e=require("@storyblok/js"),S=require("./core/init.js"),l=require("./core/use-storyblok-api.js"),p=require("./core/storyblok-component.js"),m=require("./core/use-storyblok-state.js"),a=require("./richtext.js"),f=require("./storyblok-rich-text.js"),t=require("./utils.js"),s=require("./core/state.js"),T=(u,o={},r={})=>{const[c,b]=y.useState({}),k=typeof window<"u"&&typeof window.storyblokRegisterEvent<"u",n=l.getStoryblokApi();return y.useEffect(()=>{if(!n){console.error("You can't use useStoryblok if you're not loading apiPlugin.");return}async function d(){const{data:i}=await n.get(`cdn/stories/${u}`,o);b(i.story),k&&i.story.id&&e.registerStoryblokBridge(i.story.id,g=>b(g),r)}d()},[u,JSON.stringify(o),n]),n?(r.resolveRelations=r.resolveRelations??o.resolve_relations,r.resolveLinks=r.resolveLinks??o.resolve_links,c):null},R=a.useStoryblokRichText;Object.defineProperty(exports,"BlockTypes",{enumerable:!0,get:()=>e.BlockTypes});Object.defineProperty(exports,"ComponentBlok",{enumerable:!0,get:()=>e.ComponentBlok});Object.defineProperty(exports,"MarkTypes",{enumerable:!0,get:()=>e.MarkTypes});Object.defineProperty(exports,"TextTypes",{enumerable:!0,get:()=>e.TextTypes});Object.defineProperty(exports,"apiPlugin",{enumerable:!0,get:()=>e.apiPlugin});Object.defineProperty(exports,"asTag",{enumerable:!0,get:()=>e.asTag});Object.defineProperty(exports,"loadStoryblokBridge",{enumerable:!0,get:()=>e.loadStoryblokBridge});Object.defineProperty(exports,"registerStoryblokBridge",{enumerable:!0,get:()=>e.registerStoryblokBridge});Object.defineProperty(exports,"renderRichText",{enumerable:!0,get:()=>e.renderRichText});Object.defineProperty(exports,"richTextResolver",{enumerable:!0,get:()=>e.richTextResolver});Object.defineProperty(exports,"storyblokEditable",{enumerable:!0,get:()=>e.storyblokEditable});Object.defineProperty(exports,"useStoryblokBridge",{enumerable:!0,get:()=>e.useStoryblokBridge});exports.storyblokInit=S.storyblokInit;exports.getStoryblokApi=l.getStoryblokApi;exports.useStoryblokApi=l.getStoryblokApi;exports.StoryblokComponent=p;exports.useStoryblokState=m.useStoryblokState;exports.useStoryblokRichText=a.useStoryblokRichText;exports.StoryblokRichText=f;exports.convertAttributesInElement=t.convertAttributesInElement;exports.isBridgeLoaded=t.isBridgeLoaded;exports.isBrowser=t.isBrowser;exports.isIframe=t.isIframe;exports.isServer=t.isServer;exports.isVisualEditor=t.isVisualEditor;exports.getComponent=s.getComponent;exports.getCustomFallbackComponent=s.getCustomFallbackComponent;exports.getEnableFallbackComponent=s.getEnableFallbackComponent;exports.setComponents=s.setComponents;exports.useStoryblok=T;exports.useStoryblokRichTextResolver=R;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const y=require("react"),e=require("@storyblok/js"),S=require("./core/init.js"),l=require("./core/use-storyblok-api.js"),m=require("./core/storyblok-component.js"),f=require("./core/use-storyblok-state.js"),p=require("./richtext.js"),R=require("./core/rich-text-renderer.js"),u=require("@storyblok/richtext"),T=require("./storyblok-rich-text.js"),t=require("./utils.js"),n=require("./core/state.js"),h=(b,o={},r={})=>{const[a,c]=y.useState({}),d=typeof window<"u"&&typeof window.storyblokRegisterEvent<"u",i=l.getStoryblokApi();return y.useEffect(()=>{if(!i){console.error("You can't use useStoryblok if you're not loading apiPlugin.");return}async function k(){const{data:s}=await i.get(`cdn/stories/${b}`,o);c(s.story),d&&s.story.id&&e.registerStoryblokBridge(s.story.id,g=>c(g),r)}k()},[b,JSON.stringify(o),i]),i?(r.resolveRelations=r.resolveRelations??o.resolve_relations,r.resolveLinks=r.resolveLinks??o.resolve_links,a):null};Object.defineProperty(exports,"apiPlugin",{enumerable:!0,get:()=>e.apiPlugin});Object.defineProperty(exports,"loadStoryblokBridge",{enumerable:!0,get:()=>e.loadStoryblokBridge});Object.defineProperty(exports,"registerStoryblokBridge",{enumerable:!0,get:()=>e.registerStoryblokBridge});Object.defineProperty(exports,"storyblokEditable",{enumerable:!0,get:()=>e.storyblokEditable});Object.defineProperty(exports,"useStoryblokBridge",{enumerable:!0,get:()=>e.useStoryblokBridge});exports.storyblokInit=S.storyblokInit;exports.getStoryblokApi=l.getStoryblokApi;exports.useStoryblokApi=l.getStoryblokApi;exports.StoryblokComponent=m;exports.useStoryblokState=f.useStoryblokState;exports.useStoryblokRichText=p.useStoryblokRichText;exports.createRichTextRenderer=R.createRichTextRenderer;Object.defineProperty(exports,"buildStoryblokImage",{enumerable:!0,get:()=>u.buildStoryblokImage});Object.defineProperty(exports,"renderRichText",{enumerable:!0,get:()=>u.renderRichText});Object.defineProperty(exports,"splitTableRows",{enumerable:!0,get:()=>u.splitTableRows});exports.StoryblokRichText=T.StoryblokRichText;exports.convertAttributesInElement=t.convertAttributesInElement;exports.isBridgeLoaded=t.isBridgeLoaded;exports.isBrowser=t.isBrowser;exports.isIframe=t.isIframe;exports.isServer=t.isServer;exports.isVisualEditor=t.isVisualEditor;exports.getComponent=n.getComponent;exports.getCustomFallbackComponent=n.getCustomFallbackComponent;exports.getEnableFallbackComponent=n.getEnableFallbackComponent;exports.setComponents=n.setComponents;exports.useStoryblok=h;
package/dist/index.mjs CHANGED
@@ -1,17 +1,19 @@
1
- import { useState as f, useEffect as k } from "react";
1
+ import { useState as f, useEffect as m } from "react";
2
2
  import { registerStoryblokBridge as u } from "@storyblok/js";
3
- import { BlockTypes as B, ComponentBlok as R, MarkTypes as C, TextTypes as E, apiPlugin as w, asTag as h, loadStoryblokBridge as A, registerStoryblokBridge as I, renderRichText as L, richTextResolver as F, storyblokEditable as P, useStoryblokBridge as _ } from "@storyblok/js";
4
- import { storyblokInit as M } from "./core/init.mjs";
5
- import { getStoryblokApi as m } from "./core/use-storyblok-api.mjs";
6
- import { default as V } from "./core/storyblok-component.mjs";
7
- import { useStoryblokState as $ } from "./core/use-storyblok-state.mjs";
8
- import { useStoryblokRichText as c } from "./richtext.mjs";
9
- import { default as q } from "./storyblok-rich-text.mjs";
10
- import { convertAttributesInElement as D, isBridgeLoaded as G, isBrowser as H, isIframe as K, isServer as Q, isVisualEditor as U } from "./utils.mjs";
11
- import { getComponent as X, getCustomFallbackComponent as Z, getEnableFallbackComponent as O, setComponents as oo } from "./core/state.mjs";
12
- const g = (s, e = {}, o = {}) => {
13
- const [n, l] = f({}), i = typeof window < "u" && typeof window.storyblokRegisterEvent < "u", t = m();
14
- return k(() => {
3
+ import { apiPlugin as x, loadStoryblokBridge as v, registerStoryblokBridge as R, storyblokEditable as w, useStoryblokBridge as B } from "@storyblok/js";
4
+ import { storyblokInit as C } from "./core/init.mjs";
5
+ import { getStoryblokApi as k } from "./core/use-storyblok-api.mjs";
6
+ import { default as I } from "./core/storyblok-component.mjs";
7
+ import { useStoryblokState as h } from "./core/use-storyblok-state.mjs";
8
+ import { useStoryblokRichText as F } from "./richtext.mjs";
9
+ import { createRichTextRenderer as _ } from "./core/rich-text-renderer.mjs";
10
+ import { buildStoryblokImage as N, renderRichText as V, splitTableRows as Y } from "@storyblok/richtext";
11
+ import { StoryblokRichText as j } from "./storyblok-rich-text.mjs";
12
+ import { convertAttributesInElement as z, isBridgeLoaded as D, isBrowser as G, isIframe as H, isServer as K, isVisualEditor as M } from "./utils.mjs";
13
+ import { getComponent as U, getCustomFallbackComponent as W, getEnableFallbackComponent as X, setComponents as Z } from "./core/state.mjs";
14
+ const S = (s, e = {}, o = {}) => {
15
+ const [l, i] = f({}), n = typeof window < "u" && typeof window.storyblokRegisterEvent < "u", t = k();
16
+ return m(() => {
15
17
  if (!t) {
16
18
  console.error(
17
19
  "You can't use useStoryblok if you're not loading apiPlugin."
@@ -23,45 +25,41 @@ const g = (s, e = {}, o = {}) => {
23
25
  `cdn/stories/${s}`,
24
26
  e
25
27
  );
26
- l(r.story), i && r.story.id && u(
28
+ i(r.story), n && r.story.id && u(
27
29
  r.story.id,
28
- (y) => l(y),
30
+ (y) => i(y),
29
31
  o
30
32
  );
31
33
  }
32
34
  a();
33
- }, [s, JSON.stringify(e), t]), t ? (o.resolveRelations = o.resolveRelations ?? e.resolve_relations, o.resolveLinks = o.resolveLinks ?? e.resolve_links, n) : null;
34
- }, x = c;
35
+ }, [s, JSON.stringify(e), t]), t ? (o.resolveRelations = o.resolveRelations ?? e.resolve_relations, o.resolveLinks = o.resolveLinks ?? e.resolve_links, l) : null;
36
+ };
35
37
  export {
36
- B as BlockTypes,
37
- R as ComponentBlok,
38
- C as MarkTypes,
39
- V as StoryblokComponent,
40
- q as StoryblokRichText,
41
- E as TextTypes,
42
- w as apiPlugin,
43
- h as asTag,
44
- D as convertAttributesInElement,
45
- X as getComponent,
46
- Z as getCustomFallbackComponent,
47
- O as getEnableFallbackComponent,
48
- m as getStoryblokApi,
49
- G as isBridgeLoaded,
50
- H as isBrowser,
51
- K as isIframe,
52
- Q as isServer,
53
- U as isVisualEditor,
54
- A as loadStoryblokBridge,
55
- I as registerStoryblokBridge,
56
- L as renderRichText,
57
- F as richTextResolver,
58
- oo as setComponents,
59
- P as storyblokEditable,
60
- M as storyblokInit,
61
- g as useStoryblok,
62
- m as useStoryblokApi,
63
- _ as useStoryblokBridge,
64
- c as useStoryblokRichText,
65
- x as useStoryblokRichTextResolver,
66
- $ as useStoryblokState
38
+ I as StoryblokComponent,
39
+ j as StoryblokRichText,
40
+ x as apiPlugin,
41
+ N as buildStoryblokImage,
42
+ z as convertAttributesInElement,
43
+ _ as createRichTextRenderer,
44
+ U as getComponent,
45
+ W as getCustomFallbackComponent,
46
+ X as getEnableFallbackComponent,
47
+ k as getStoryblokApi,
48
+ D as isBridgeLoaded,
49
+ G as isBrowser,
50
+ H as isIframe,
51
+ K as isServer,
52
+ M as isVisualEditor,
53
+ v as loadStoryblokBridge,
54
+ R as registerStoryblokBridge,
55
+ V as renderRichText,
56
+ Z as setComponents,
57
+ Y as splitTableRows,
58
+ w as storyblokEditable,
59
+ C as storyblokInit,
60
+ S as useStoryblok,
61
+ k as useStoryblokApi,
62
+ B as useStoryblokBridge,
63
+ F as useStoryblokRichText,
64
+ h as useStoryblokState
67
65
  };
package/dist/richtext.js CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./core/storyblok-component.js"),t=require("./core/richtext-hoc.js"),o=t.createRichTextHook(e,{isServerContext:!1});exports.useStoryblokRichText=o;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("./core/rich-text-renderer.js");require("@storyblok/richtext");const o=require("./core/storyblok-component.js"),r=require("./core/create-default-blok.js"),c=(e={})=>t.createRichTextRenderer({optimizeImage:e.optimizeImage,components:{blok:r.createDefaultBlok(o),...e.components}});exports.useStoryblokRichText=c;
package/dist/richtext.mjs CHANGED
@@ -1,8 +1,14 @@
1
- import o from "./core/storyblok-component.mjs";
2
- import { createRichTextHook as t } from "./core/richtext-hoc.mjs";
3
- const i = t(o, {
4
- isServerContext: !1
1
+ import { createRichTextRenderer as e } from "./core/rich-text-renderer.mjs";
2
+ import "@storyblok/richtext";
3
+ import t from "./core/storyblok-component.mjs";
4
+ import { createDefaultBlok as r } from "./core/create-default-blok.mjs";
5
+ const c = (o = {}) => e({
6
+ optimizeImage: o.optimizeImage,
7
+ components: {
8
+ blok: r(t),
9
+ ...o.components
10
+ }
5
11
  });
6
12
  export {
7
- i as useStoryblokRichText
13
+ c as useStoryblokRichText
8
14
  };