@storyblok/react 4.5.1 → 4.5.3
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.
- package/dist/index.d.ts +4 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.mjs +37 -36
- package/dist/richtext.d.ts +1 -1
- package/dist/richtext.d.ts.map +1 -1
- package/dist/richtext.js +1 -1
- package/dist/richtext.mjs +5 -5
- package/dist/rsc/index.d.ts +4 -1
- package/dist/rsc/index.d.ts.map +1 -1
- package/dist/rsc.js +1 -1
- package/dist/rsc.mjs +26 -24
- package/dist/storyblok-js.js +1 -1
- package/dist/storyblok-js.mjs +4 -1
- package/dist/storyblok-rich-text.js +1 -1
- package/dist/storyblok-rich-text.mjs +6 -6
- package/package.json +2 -2
package/dist/index.d.ts
CHANGED
|
@@ -1,10 +1,13 @@
|
|
|
1
1
|
import { ISbStoriesParams, ISbStoryData, StoryblokBridgeConfigV2 } from './types';
|
|
2
|
+
import { useStoryblokRichText } from './richtext';
|
|
2
3
|
export declare const useStoryblok: (slug: string, apiOptions?: ISbStoriesParams, bridgeOptions?: StoryblokBridgeConfigV2) => ISbStoryData<import('@storyblok/js').StoryblokComponentType<string> & {
|
|
3
4
|
[index: string]: any;
|
|
4
5
|
}>;
|
|
5
6
|
export * from './common/client';
|
|
6
7
|
export * from './common/index';
|
|
7
|
-
export {
|
|
8
|
+
export { useStoryblokRichText };
|
|
9
|
+
/** @deprecated Use useStoryblokRichText instead */
|
|
10
|
+
export declare const useStoryblokRichTextResolver: typeof useStoryblokRichText;
|
|
8
11
|
export { default as StoryblokRichText } from './storyblok-rich-text';
|
|
9
12
|
export * from './utils';
|
|
10
13
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,gBAAgB,EAChB,YAAY,EACZ,uBAAuB,EACxB,MAAM,SAAS,CAAC;AAIjB,eAAO,MAAM,YAAY,SACjB,MAAM,eACA,gBAAgB,kBACb,uBAAuB;;EAgDvC,CAAC;AAEF,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,gBAAgB,EAChB,YAAY,EACZ,uBAAuB,EACxB,MAAM,SAAS,CAAC;AAIjB,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAElD,eAAO,MAAM,YAAY,SACjB,MAAM,eACA,gBAAgB,kBACb,uBAAuB;;EAgDvC,CAAC;AAEF,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAG/B,OAAO,EAAE,oBAAoB,EAAE,CAAC;AAEhC,mDAAmD;AACnD,eAAO,MAAM,4BAA4B,6BAAuB,CAAC;AAEjE,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AACrE,cAAc,SAAS,CAAC"}
|
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.js"),t=require("./index2.js"),
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const y=require("react"),e=require("./storyblok-js.js"),t=require("./index2.js"),c=require("./richtext.js"),S=require("./client.js"),d=require("./storyblok-rich-text.js"),T=require("./utils.js"),g=require("./storyblok-component.js"),R=(n,r={},o={})=>{const[u,i]=y.useState({}),k=typeof window<"u"&&typeof window.storyblokRegisterEvent<"u",s=t.useStoryblokApi();return y.useEffect(()=>{if(!s){console.error("You can't use useStoryblok if you're not loading apiPlugin.");return}async function b(){const{data:l}=await s.get(`cdn/stories/${n}`,r);i(l.story),k&&l.story.id&&e.registerStoryblokBridge(l.story.id,a=>i(a),o)}b()},[n,JSON.stringify(r),s]),s?(o.resolveRelations=o.resolveRelations??r.resolve_relations,o.resolveLinks=o.resolveLinks??r.resolve_links,u):null},x=c.useStoryblokRichText;exports.BlockTypes=e.BlockTypes;exports.MarkTypes=e.MarkTypes;exports.RichTextResolver=e.RichTextResolver;exports.RichTextSchema=e.RichTextSchema;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.getComponent=t.getComponent;exports.getCustomFallbackComponent=t.getCustomFallbackComponent;exports.getEnableFallbackComponent=t.getEnableFallbackComponent;exports.getStoryblokApi=t.useStoryblokApi;exports.setComponents=t.setComponents;exports.storyblokInit=t.storyblokInit;exports.useStoryblokApi=t.useStoryblokApi;exports.useStoryblokRichText=c.useStoryblokRichText;exports.useStoryblokState=S.useStoryblokState;exports.StoryblokRichText=d;exports.convertAttributesInElement=T.convertAttributesInElement;exports.StoryblokComponent=g;exports.useStoryblok=R;exports.useStoryblokRichTextResolver=x;
|
package/dist/index.mjs
CHANGED
|
@@ -1,60 +1,61 @@
|
|
|
1
|
-
import { useState as
|
|
1
|
+
import { useState as c, useEffect as f } from "react";
|
|
2
2
|
import { registerStoryblokBridge as k } from "./storyblok-js.mjs";
|
|
3
|
-
import { BlockTypes as
|
|
3
|
+
import { BlockTypes as T, MarkTypes as h, RichTextResolver as B, RichTextSchema as C, TextTypes as E, apiPlugin as w, loadStoryblokBridge as A, renderRichText as I, richTextResolver as F, storyblokEditable as L } from "./storyblok-js.mjs";
|
|
4
4
|
import { useStoryblokApi as u } from "./index2.mjs";
|
|
5
|
-
import { getComponent as
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import { default as
|
|
9
|
-
import { convertAttributesInElement as
|
|
10
|
-
import { default as
|
|
11
|
-
const
|
|
12
|
-
const [n, l] =
|
|
13
|
-
return
|
|
5
|
+
import { getComponent as _, getCustomFallbackComponent as G, getEnableFallbackComponent as J, setComponents as M, storyblokInit as N } from "./index2.mjs";
|
|
6
|
+
import { useStoryblokRichText as m } from "./richtext.mjs";
|
|
7
|
+
import { useStoryblokState as $ } from "./client.mjs";
|
|
8
|
+
import { default as q } from "./storyblok-rich-text.mjs";
|
|
9
|
+
import { convertAttributesInElement as D } from "./utils.mjs";
|
|
10
|
+
import { default as K } from "./storyblok-component.mjs";
|
|
11
|
+
const x = (s, o = {}, e = {}) => {
|
|
12
|
+
const [n, l] = c({}), i = typeof window < "u" && typeof window.storyblokRegisterEvent < "u", t = u();
|
|
13
|
+
return f(() => {
|
|
14
14
|
if (!t) {
|
|
15
15
|
console.error(
|
|
16
16
|
"You can't use useStoryblok if you're not loading apiPlugin."
|
|
17
17
|
);
|
|
18
18
|
return;
|
|
19
19
|
}
|
|
20
|
-
async function
|
|
20
|
+
async function y() {
|
|
21
21
|
const { data: r } = await t.get(
|
|
22
22
|
`cdn/stories/${s}`,
|
|
23
23
|
o
|
|
24
24
|
);
|
|
25
25
|
l(r.story), i && r.story.id && k(
|
|
26
26
|
r.story.id,
|
|
27
|
-
(
|
|
27
|
+
(a) => l(a),
|
|
28
28
|
e
|
|
29
29
|
);
|
|
30
30
|
}
|
|
31
|
-
|
|
31
|
+
y();
|
|
32
32
|
}, [s, JSON.stringify(o), t]), t ? (e.resolveRelations = e.resolveRelations ?? o.resolve_relations, e.resolveLinks = e.resolveLinks ?? o.resolve_links, n) : null;
|
|
33
|
-
};
|
|
33
|
+
}, g = m;
|
|
34
34
|
export {
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
35
|
+
T as BlockTypes,
|
|
36
|
+
h as MarkTypes,
|
|
37
|
+
B as RichTextResolver,
|
|
38
|
+
C as RichTextSchema,
|
|
39
|
+
K as StoryblokComponent,
|
|
40
|
+
q as StoryblokRichText,
|
|
41
|
+
E as TextTypes,
|
|
42
|
+
w as apiPlugin,
|
|
43
|
+
D as convertAttributesInElement,
|
|
44
|
+
_ as getComponent,
|
|
45
|
+
G as getCustomFallbackComponent,
|
|
46
|
+
J as getEnableFallbackComponent,
|
|
47
47
|
u as getStoryblokApi,
|
|
48
|
-
|
|
48
|
+
A as loadStoryblokBridge,
|
|
49
49
|
k as registerStoryblokBridge,
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
50
|
+
I as renderRichText,
|
|
51
|
+
F as richTextResolver,
|
|
52
|
+
M as setComponents,
|
|
53
|
+
L as storyblokEditable,
|
|
54
|
+
N as storyblokInit,
|
|
55
|
+
x as useStoryblok,
|
|
56
56
|
u as useStoryblokApi,
|
|
57
57
|
k as useStoryblokBridge,
|
|
58
|
-
|
|
59
|
-
|
|
58
|
+
m as useStoryblokRichText,
|
|
59
|
+
g as useStoryblokRichTextResolver,
|
|
60
|
+
$ as useStoryblokState
|
|
60
61
|
};
|
package/dist/richtext.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { default as React } from 'react';
|
|
2
2
|
import { StoryblokRichTextNode, StoryblokRichTextOptions } from '@storyblok/js';
|
|
3
3
|
export declare function componentResolver(node: StoryblokRichTextNode<React.ReactElement>): React.ReactElement;
|
|
4
|
-
export declare function
|
|
4
|
+
export declare function useStoryblokRichText(options: StoryblokRichTextOptions<React.ReactElement>): {
|
|
5
5
|
render: (node: StoryblokRichTextNode<React.ReactNode>) => React.ReactNode;
|
|
6
6
|
};
|
|
7
7
|
//# sourceMappingURL=richtext.d.ts.map
|
package/dist/richtext.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"richtext.d.ts","sourceRoot":"","sources":["../src/richtext.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,KAAK,EAAE,qBAAqB,EAAE,wBAAwB,EAAE,MAAM,eAAe,CAAC;AAGrF,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,qBAAqB,CAAC,KAAK,CAAC,YAAY,CAAC,GAAG,KAAK,CAAC,YAAY,CAMrG;AAED,wBAAgB,
|
|
1
|
+
{"version":3,"file":"richtext.d.ts","sourceRoot":"","sources":["../src/richtext.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,KAAK,EAAE,qBAAqB,EAAE,wBAAwB,EAAE,MAAM,eAAe,CAAC;AAGrF,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,qBAAqB,CAAC,KAAK,CAAC,YAAY,CAAC,GAAG,KAAK,CAAC,YAAY,CAMrG;AAED,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,wBAAwB,CAAC,KAAK,CAAC,YAAY,CAAC;;EActD"}
|
package/dist/richtext.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("react"),
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("react"),l=require("./storyblok-component.js"),n=require("./storyblok-js.js");function c(e){var r,s;const t=(r=e==null?void 0:e.attrs)==null?void 0:r.body;return o.createElement(l,{blok:Array.isArray(t)?t[0]:void 0,key:(s=e.attrs)==null?void 0:s.id})}function i(e){const t={renderFn:o.createElement,textFn:r=>o.createElement(o.Fragment,{key:Math.random().toString(36).substring(2,15)},r),resolvers:{[n.BlockTypes.COMPONENT]:c,...e.resolvers},keyedResolvers:!0};return n.richTextResolver(t)}exports.componentResolver=c;exports.useStoryblokRichText=i;
|
package/dist/richtext.mjs
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import o from "react";
|
|
2
|
-
import
|
|
2
|
+
import s from "./storyblok-component.mjs";
|
|
3
3
|
import { BlockTypes as m, richTextResolver as a } from "./storyblok-js.mjs";
|
|
4
4
|
function i(e) {
|
|
5
|
-
var t,
|
|
5
|
+
var t, n;
|
|
6
6
|
const r = (t = e == null ? void 0 : e.attrs) == null ? void 0 : t.body;
|
|
7
|
-
return o.createElement(
|
|
7
|
+
return o.createElement(s, {
|
|
8
8
|
blok: Array.isArray(r) ? r[0] : void 0,
|
|
9
|
-
key: (
|
|
9
|
+
key: (n = e.attrs) == null ? void 0 : n.id
|
|
10
10
|
});
|
|
11
11
|
}
|
|
12
12
|
function p(e) {
|
|
@@ -25,5 +25,5 @@ function p(e) {
|
|
|
25
25
|
}
|
|
26
26
|
export {
|
|
27
27
|
i as componentResolver,
|
|
28
|
-
p as
|
|
28
|
+
p as useStoryblokRichText
|
|
29
29
|
};
|
package/dist/rsc/index.d.ts
CHANGED
|
@@ -1,4 +1,7 @@
|
|
|
1
|
-
|
|
1
|
+
import { useStoryblokRichText } from '../richtext';
|
|
2
|
+
export { useStoryblokRichText };
|
|
3
|
+
/** @deprecated Use useStoryblokRichText instead */
|
|
4
|
+
export declare const useStoryblokRichTextResolver: typeof useStoryblokRichText;
|
|
2
5
|
export { default as StoryblokRichText } from '../storyblok-rich-text';
|
|
3
6
|
export * from './common';
|
|
4
7
|
export { default as StoryblokStory } from './story';
|
package/dist/rsc/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/rsc/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
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"}
|
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");exports.
|
|
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.RichTextResolver=e.RichTextResolver;exports.RichTextSchema=e.RichTextSchema;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;
|
package/dist/rsc.mjs
CHANGED
|
@@ -1,31 +1,33 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { default as
|
|
3
|
-
import { getComponent as
|
|
4
|
-
import { default as
|
|
5
|
-
import { BlockTypes as g, MarkTypes as
|
|
6
|
-
import { default as
|
|
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 a, getEnableFallbackComponent as b, useStoryblokApi as k, setComponents as y, storyblokInit as n, useStoryblokApi as S } from "./common.mjs";
|
|
4
|
+
import { default as x } from "./story.mjs";
|
|
5
|
+
import { BlockTypes as g, MarkTypes as T, RichTextResolver as d, RichTextSchema as u, TextTypes as f, apiPlugin as R, loadStoryblokBridge as h, registerStoryblokBridge as C, renderRichText as B, richTextResolver as v, storyblokEditable as A, registerStoryblokBridge as E } from "./storyblok-js.mjs";
|
|
6
|
+
import { default as I } from "./server-component.mjs";
|
|
7
|
+
const t = o;
|
|
7
8
|
export {
|
|
8
9
|
g as BlockTypes,
|
|
9
|
-
|
|
10
|
+
T as MarkTypes,
|
|
10
11
|
d as RichTextResolver,
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
12
|
+
u as RichTextSchema,
|
|
13
|
+
s as StoryblokRichText,
|
|
14
|
+
I as StoryblokServerComponent,
|
|
15
|
+
x as StoryblokStory,
|
|
15
16
|
f as TextTypes,
|
|
16
|
-
|
|
17
|
-
|
|
17
|
+
R as apiPlugin,
|
|
18
|
+
p as getComponent,
|
|
18
19
|
a as getCustomFallbackComponent,
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
20
|
+
b as getEnableFallbackComponent,
|
|
21
|
+
k as getStoryblokApi,
|
|
22
|
+
h as loadStoryblokBridge,
|
|
23
|
+
C as registerStoryblokBridge,
|
|
24
|
+
B as renderRichText,
|
|
25
|
+
v as richTextResolver,
|
|
26
|
+
y as setComponents,
|
|
27
|
+
A as storyblokEditable,
|
|
28
|
+
n as storyblokInit,
|
|
29
|
+
S as useStoryblokApi,
|
|
30
|
+
E as useStoryblokBridge,
|
|
31
|
+
o as useStoryblokRichText,
|
|
30
32
|
t as useStoryblokRichTextResolver
|
|
31
33
|
};
|
package/dist/storyblok-js.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});let B=!1;const z=[],G=n=>new Promise((e,t)=>{if(typeof window>"u"||(window.storyblokRegisterEvent=s=>{if(window.location===window.parent.location){console.warn("You are not in Draft Mode or in the Visual Editor.");return}B?s():z.push(s)},document.getElementById("storyblok-javascript-bridge")))return;const r=document.createElement("script");r.async=!0,r.src=n,r.id="storyblok-javascript-bridge",r.onerror=s=>t(s),r.onload=s=>{z.forEach(o=>o()),B=!0,e(s)},document.getElementsByTagName("head")[0].appendChild(r)});var oe=Object.defineProperty,ie=(n,e,t)=>e in n?oe(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t,g=(n,e,t)=>ie(n,typeof e!="symbol"?e+"":e,t);class ae extends Error{constructor(e){super(e),this.name="AbortError"}}function le(n,e,t){if(!Number.isFinite(e))throw new TypeError("Expected `limit` to be a finite number");if(!Number.isFinite(t))throw new TypeError("Expected `interval` to be a finite number");const r=[];let s=[],o=0,i=!1;const l=async()=>{o++;const h=r.shift();if(h)try{const p=await n(...h.args);h.resolve(p)}catch(p){h.reject(p)}const d=setTimeout(()=>{o--,r.length>0&&l(),s=s.filter(p=>p!==d)},t);s.includes(d)||s.push(d)},a=(...h)=>i?Promise.reject(new Error("Throttled function is already aborted and not accepting new promises")):new Promise((d,p)=>{r.push({resolve:d,reject:p,args:h}),o<e&&l()});return a.abort=()=>{i=!0,s.forEach(clearTimeout),s=[],r.forEach(h=>h.reject(()=>new ae("Throttle function aborted"))),r.length=0},a}class C{constructor(){g(this,"isCDNUrl",(e="")=>e.includes("/cdn/")),g(this,"getOptionsPage",(e,t=25,r=1)=>({...e,per_page:t,page:r})),g(this,"delay",e=>new Promise(t=>setTimeout(t,e))),g(this,"arrayFrom",(e=0,t)=>Array.from({length:e},t)),g(this,"range",(e=0,t=e)=>{const r=Math.abs(t-e)||0,s=e<t?1:-1;return this.arrayFrom(r,(o,i)=>i*s+e)}),g(this,"asyncMap",async(e,t)=>Promise.all(e.map(t))),g(this,"flatMap",(e=[],t)=>e.map(t).reduce((r,s)=>[...r,...s],[])),g(this,"escapeHTML",function(e){const t={"&":"&","<":"<",">":">",'"':""","'":"'"},r=/[&<>"']/g,s=new RegExp(r.source);return e&&s.test(e)?e.replace(r,o=>t[o]):e})}stringify(e,t,r){const s=[];for(const o in e){if(!Object.prototype.hasOwnProperty.call(e,o))continue;const i=e[o]
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});let B=!1;const z=[],G=n=>new Promise((e,t)=>{if(typeof window>"u"||(window.storyblokRegisterEvent=s=>{if(window.location===window.parent.location){console.warn("You are not in Draft Mode or in the Visual Editor.");return}B?s():z.push(s)},document.getElementById("storyblok-javascript-bridge")))return;const r=document.createElement("script");r.async=!0,r.src=n,r.id="storyblok-javascript-bridge",r.onerror=s=>t(s),r.onload=s=>{z.forEach(o=>o()),B=!0,e(s)},document.getElementsByTagName("head")[0].appendChild(r)});var oe=Object.defineProperty,ie=(n,e,t)=>e in n?oe(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t,g=(n,e,t)=>ie(n,typeof e!="symbol"?e+"":e,t);class ae extends Error{constructor(e){super(e),this.name="AbortError"}}function le(n,e,t){if(!Number.isFinite(e))throw new TypeError("Expected `limit` to be a finite number");if(!Number.isFinite(t))throw new TypeError("Expected `interval` to be a finite number");const r=[];let s=[],o=0,i=!1;const l=async()=>{o++;const h=r.shift();if(h)try{const p=await n(...h.args);h.resolve(p)}catch(p){h.reject(p)}const d=setTimeout(()=>{o--,r.length>0&&l(),s=s.filter(p=>p!==d)},t);s.includes(d)||s.push(d)},a=(...h)=>i?Promise.reject(new Error("Throttled function is already aborted and not accepting new promises")):new Promise((d,p)=>{r.push({resolve:d,reject:p,args:h}),o<e&&l()});return a.abort=()=>{i=!0,s.forEach(clearTimeout),s=[],r.forEach(h=>h.reject(()=>new ae("Throttle function aborted"))),r.length=0},a}class C{constructor(){g(this,"isCDNUrl",(e="")=>e.includes("/cdn/")),g(this,"getOptionsPage",(e,t=25,r=1)=>({...e,per_page:t,page:r})),g(this,"delay",e=>new Promise(t=>setTimeout(t,e))),g(this,"arrayFrom",(e=0,t)=>Array.from({length:e},t)),g(this,"range",(e=0,t=e)=>{const r=Math.abs(t-e)||0,s=e<t?1:-1;return this.arrayFrom(r,(o,i)=>i*s+e)}),g(this,"asyncMap",async(e,t)=>Promise.all(e.map(t))),g(this,"flatMap",(e=[],t)=>e.map(t).reduce((r,s)=>[...r,...s],[])),g(this,"escapeHTML",function(e){const t={"&":"&","<":"<",">":">",'"':""","'":"'"},r=/[&<>"']/g,s=new RegExp(r.source);return e&&s.test(e)?e.replace(r,o=>t[o]):e})}stringify(e,t,r){const s=[];for(const o in e){if(!Object.prototype.hasOwnProperty.call(e,o))continue;const i=e[o];if(i==null)continue;const l=r?"":encodeURIComponent(o);let a;typeof i=="object"?a=this.stringify(i,t?t+encodeURIComponent(`[${l}]`):l,Array.isArray(i)):a=`${t?t+encodeURIComponent(`[${l}]`):l}=${encodeURIComponent(i)}`,s.push(a)}return s.join("&")}getRegionURL(e){const t="api.storyblok.com",r="api-us.storyblok.com",s="app.storyblokchina.cn",o="api-ap.storyblok.com",i="api-ca.storyblok.com";switch(e){case"us":return r;case"cn":return s;case"ap":return o;case"ca":return i;default:return t}}}const ce=function(n,e){const t={};for(const r in n){const s=n[r];e.includes(r)&&s!==null&&(t[r]=s)}return t},he=n=>n==="email",ue=()=>({singleTag:"hr"}),de=()=>({tag:"blockquote"}),pe=()=>({tag:"ul"}),ge=n=>({tag:["pre",{tag:"code",attrs:n.attrs}]}),fe=()=>({singleTag:"br"}),me=n=>({tag:`h${n.attrs.level}`}),ye=n=>({singleTag:[{tag:"img",attrs:ce(n.attrs,["src","alt","title"])}]}),be=()=>({tag:"li"}),ke=()=>({tag:"ol"}),$e=()=>({tag:"p"}),ve=n=>({tag:[{tag:"span",attrs:{"data-type":"emoji","data-name":n.attrs.name,emoji:n.attrs.emoji}}]}),we=()=>({tag:"b"}),Te=()=>({tag:"s"}),Re=()=>({tag:"u"}),_e=()=>({tag:"strong"}),Ee=()=>({tag:"code"}),Se=()=>({tag:"i"}),je=n=>{if(!n.attrs)return{tag:""};const e=new C().escapeHTML,t={...n.attrs},{linktype:r="url"}=n.attrs;if(delete t.linktype,t.href&&(t.href=e(n.attrs.href||"")),he(r)&&(t.href=`mailto:${t.href}`),t.anchor&&(t.href=`${t.href}#${t.anchor}`,delete t.anchor),t.custom){for(const s in t.custom)t[s]=t.custom[s];delete t.custom}return{tag:[{tag:"a",attrs:t}]}},Ie=n=>({tag:[{tag:"span",attrs:n.attrs}]}),Ae=()=>({tag:"sub"}),Oe=()=>({tag:"sup"}),xe=n=>({tag:[{tag:"span",attrs:n.attrs}]}),Le=n=>{var e;return(e=n.attrs)!=null&&e.color?{tag:[{tag:"span",attrs:{style:`background-color:${n.attrs.color};`}}]}:{tag:""}},Ce=n=>{var e;return(e=n.attrs)!=null&&e.color?{tag:[{tag:"span",attrs:{style:`color:${n.attrs.color}`}}]}:{tag:""}},V={nodes:{horizontal_rule:ue,blockquote:de,bullet_list:pe,code_block:ge,hard_break:fe,heading:me,image:ye,list_item:be,ordered_list:ke,paragraph:$e,emoji:ve},marks:{bold:we,strike:Te,underline:Re,strong:_e,code:Ee,italic:Se,link:je,styled:Ie,subscript:Ae,superscript:Oe,anchor:xe,highlight:Le,textStyle:Ce}},Pe=function(n){const e={"&":"&","<":"<",">":">",'"':""","'":"'"},t=/[&<>"']/g,r=new RegExp(t.source);return n&&r.test(n)?n.replace(t,s=>e[s]):n};let D=!1;class A{constructor(e){g(this,"marks"),g(this,"nodes"),e||(e=V),this.marks=e.marks||[],this.nodes=e.nodes||[]}addNode(e,t){this.nodes[e]=t}addMark(e,t){this.marks[e]=t}render(e,t={optimizeImages:!1},r=!0){if(!D&&r&&(console.warn("Warning ⚠️: The RichTextResolver class is deprecated and will be removed in the next major release. Please use the `@storyblok/richtext` package instead. https://github.com/storyblok/richtext/"),D=!0),e&&e.content&&Array.isArray(e.content)){let s="";return e.content.forEach(o=>{s+=this.renderNode(o)}),t.optimizeImages?this.optimizeImages(s,t.optimizeImages):s}return console.warn(`The render method must receive an Object with a "content" field.
|
|
2
2
|
The "content" field must be an array of nodes as the type ISbRichtext.
|
|
3
3
|
ISbRichtext:
|
|
4
4
|
content?: ISbRichtext[]
|
package/dist/storyblok-js.mjs
CHANGED
|
@@ -89,7 +89,10 @@ class L {
|
|
|
89
89
|
for (const o in e) {
|
|
90
90
|
if (!Object.prototype.hasOwnProperty.call(e, o))
|
|
91
91
|
continue;
|
|
92
|
-
const a = e[o]
|
|
92
|
+
const a = e[o];
|
|
93
|
+
if (a == null)
|
|
94
|
+
continue;
|
|
95
|
+
const l = r ? "" : encodeURIComponent(o);
|
|
93
96
|
let i;
|
|
94
97
|
typeof a == "object" ? i = this.stringify(
|
|
95
98
|
a,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";const n=require("react/jsx-runtime"),i=require("react"),u=require("./utils.js"),l=require("./richtext.js"),x=i.forwardRef(({doc:t,resolvers:e},r)=>{const{render:o}=l.
|
|
1
|
+
"use strict";const n=require("react/jsx-runtime"),i=require("react"),u=require("./utils.js"),l=require("./richtext.js"),x=i.forwardRef(({doc:t,resolvers:e},r)=>{const{render:o}=l.useStoryblokRichText({resolvers:e}),s=o(t),c=u.convertAttributesInElement(s);return n.jsx("div",{ref:r,children:c})});module.exports=x;
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { jsx as i } from "react/jsx-runtime";
|
|
2
|
-
import { forwardRef as
|
|
3
|
-
import { convertAttributesInElement as
|
|
4
|
-
import {
|
|
5
|
-
const h =
|
|
2
|
+
import { forwardRef as c } from "react";
|
|
3
|
+
import { convertAttributesInElement as f } from "./utils.mjs";
|
|
4
|
+
import { useStoryblokRichText as s } from "./richtext.mjs";
|
|
5
|
+
const h = c(
|
|
6
6
|
({ doc: t, resolvers: r }, o) => {
|
|
7
|
-
const { render: e } =
|
|
7
|
+
const { render: e } = s({
|
|
8
8
|
resolvers: r
|
|
9
|
-
}), m = e(t), n =
|
|
9
|
+
}), m = e(t), n = f(m);
|
|
10
10
|
return /* @__PURE__ */ i("div", { ref: o, children: n });
|
|
11
11
|
}
|
|
12
12
|
);
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@storyblok/react",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "4.5.
|
|
4
|
+
"version": "4.5.3",
|
|
5
5
|
"private": false,
|
|
6
6
|
"packageManager": "pnpm@10.2.0",
|
|
7
7
|
"description": "SDK to integrate Storyblok into your project using React.",
|
|
@@ -59,7 +59,7 @@
|
|
|
59
59
|
"react-dom": "^17 || ^18 || ^19"
|
|
60
60
|
},
|
|
61
61
|
"dependencies": {
|
|
62
|
-
"@storyblok/js": "3.3.
|
|
62
|
+
"@storyblok/js": "3.3.1"
|
|
63
63
|
},
|
|
64
64
|
"devDependencies": {
|
|
65
65
|
"@babel/core": "^7.26.7",
|