@starlightcms/react-sdk 1.1.0 → 2.1.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.
- package/dist/cjs/VisualContent/blocks/{HTML.d.ts → HTML/index.d.ts} +2 -2
- package/dist/cjs/VisualContent/blocks/HTML/index.d.ts.map +1 -0
- package/dist/cjs/VisualContent/blocks/{HTML.js → HTML/index.js} +5 -2
- package/dist/cjs/VisualContent/blocks/HTML/index.js.map +1 -0
- package/dist/cjs/VisualContent/blocks/HTML/styles.d.ts +6 -0
- package/dist/cjs/VisualContent/blocks/HTML/styles.d.ts.map +1 -0
- package/dist/cjs/VisualContent/blocks/HTML/styles.js +13 -0
- package/dist/cjs/VisualContent/blocks/HTML/styles.js.map +1 -0
- package/dist/cjs/VisualContent/blocks/Header.d.ts.map +1 -1
- package/dist/cjs/VisualContent/blocks/Header.js +3 -1
- package/dist/cjs/VisualContent/blocks/Header.js.map +1 -1
- package/dist/{esm/VisualContent/blocks/Image.d.ts → cjs/VisualContent/blocks/Image/index.d.ts} +2 -2
- package/dist/cjs/VisualContent/blocks/Image/index.d.ts.map +1 -0
- package/dist/cjs/VisualContent/blocks/{Image.js → Image/index.js} +17 -11
- package/dist/cjs/VisualContent/blocks/Image/index.js.map +1 -0
- package/dist/cjs/VisualContent/blocks/Image/styles.d.ts +19 -0
- package/dist/cjs/VisualContent/blocks/Image/styles.d.ts.map +1 -0
- package/dist/cjs/VisualContent/blocks/Image/styles.js +41 -0
- package/dist/cjs/VisualContent/blocks/Image/styles.js.map +1 -0
- package/dist/{esm/VisualContent/blocks/List.d.ts → cjs/VisualContent/blocks/List/index.d.ts} +2 -2
- package/dist/cjs/VisualContent/blocks/List/index.d.ts.map +1 -0
- package/dist/cjs/VisualContent/blocks/{List.js → List/index.js} +6 -3
- package/dist/cjs/VisualContent/blocks/List/index.js.map +1 -0
- package/dist/cjs/VisualContent/blocks/List/styles.d.ts +6 -0
- package/dist/cjs/VisualContent/blocks/List/styles.d.ts.map +1 -0
- package/dist/cjs/VisualContent/blocks/List/styles.js +21 -0
- package/dist/cjs/VisualContent/blocks/List/styles.js.map +1 -0
- package/dist/cjs/VisualContent/blocks/Paragraph.d.ts +1 -1
- package/dist/cjs/VisualContent/blocks/Paragraph.d.ts.map +1 -1
- package/dist/cjs/VisualContent/blocks/Paragraph.js +6 -3
- package/dist/cjs/VisualContent/blocks/Paragraph.js.map +1 -1
- package/dist/cjs/VisualContent/blocks/Quote.d.ts +1 -1
- package/dist/cjs/VisualContent/blocks/Quote.d.ts.map +1 -1
- package/dist/cjs/VisualContent/blocks/Quote.js +3 -1
- package/dist/cjs/VisualContent/blocks/Quote.js.map +1 -1
- package/dist/cjs/VisualContent/blocks/Video/index.d.ts +16 -0
- package/dist/cjs/VisualContent/blocks/Video/index.d.ts.map +1 -0
- package/dist/cjs/VisualContent/blocks/Video/index.js +29 -0
- package/dist/cjs/VisualContent/blocks/Video/index.js.map +1 -0
- package/dist/cjs/VisualContent/blocks/Video/styles.d.ts +14 -0
- package/dist/cjs/VisualContent/blocks/Video/styles.d.ts.map +1 -0
- package/dist/cjs/VisualContent/blocks/Video/styles.js +41 -0
- package/dist/cjs/VisualContent/blocks/Video/styles.js.map +1 -0
- package/dist/cjs/VisualContent/index.d.ts +3 -3
- package/dist/cjs/VisualContent/index.d.ts.map +1 -1
- package/dist/cjs/VisualContent/index.js +9 -7
- package/dist/cjs/VisualContent/index.js.map +1 -1
- package/dist/cjs/VisualContent/styles.d.ts +12 -12
- package/dist/cjs/VisualContent/styles.d.ts.map +1 -1
- package/dist/cjs/VisualContent/styles.js +81 -42
- package/dist/cjs/VisualContent/styles.js.map +1 -1
- package/dist/cjs/VisualContent/types.d.ts +2 -1
- package/dist/cjs/VisualContent/types.d.ts.map +1 -1
- package/dist/cjs/VisualContent/types.js.map +1 -1
- package/dist/esm/VisualContent/blocks/{HTML.d.ts → HTML/index.d.ts} +2 -2
- package/dist/esm/VisualContent/blocks/HTML/index.d.ts.map +1 -0
- package/dist/esm/VisualContent/blocks/{HTML.js → HTML/index.js} +5 -2
- package/dist/esm/VisualContent/blocks/HTML/index.js.map +1 -0
- package/dist/esm/VisualContent/blocks/HTML/styles.d.ts +6 -0
- package/dist/esm/VisualContent/blocks/HTML/styles.d.ts.map +1 -0
- package/dist/esm/VisualContent/blocks/HTML/styles.js +7 -0
- package/dist/esm/VisualContent/blocks/HTML/styles.js.map +1 -0
- package/dist/esm/VisualContent/blocks/Header.d.ts.map +1 -1
- package/dist/esm/VisualContent/blocks/Header.js +3 -1
- package/dist/esm/VisualContent/blocks/Header.js.map +1 -1
- package/dist/{cjs/VisualContent/blocks/Image.d.ts → esm/VisualContent/blocks/Image/index.d.ts} +2 -2
- package/dist/esm/VisualContent/blocks/Image/index.d.ts.map +1 -0
- package/dist/esm/VisualContent/blocks/Image/index.js +45 -0
- package/dist/esm/VisualContent/blocks/Image/index.js.map +1 -0
- package/dist/esm/VisualContent/blocks/Image/styles.d.ts +19 -0
- package/dist/esm/VisualContent/blocks/Image/styles.d.ts.map +1 -0
- package/dist/esm/VisualContent/blocks/Image/styles.js +35 -0
- package/dist/esm/VisualContent/blocks/Image/styles.js.map +1 -0
- package/dist/{cjs/VisualContent/blocks/List.d.ts → esm/VisualContent/blocks/List/index.d.ts} +2 -2
- package/dist/esm/VisualContent/blocks/List/index.d.ts.map +1 -0
- package/dist/esm/VisualContent/blocks/{List.js → List/index.js} +6 -3
- package/dist/esm/VisualContent/blocks/List/index.js.map +1 -0
- package/dist/esm/VisualContent/blocks/List/styles.d.ts +6 -0
- package/dist/esm/VisualContent/blocks/List/styles.d.ts.map +1 -0
- package/dist/esm/VisualContent/blocks/List/styles.js +15 -0
- package/dist/esm/VisualContent/blocks/List/styles.js.map +1 -0
- package/dist/esm/VisualContent/blocks/Paragraph.d.ts +1 -1
- package/dist/esm/VisualContent/blocks/Paragraph.d.ts.map +1 -1
- package/dist/esm/VisualContent/blocks/Paragraph.js +6 -3
- package/dist/esm/VisualContent/blocks/Paragraph.js.map +1 -1
- package/dist/esm/VisualContent/blocks/Quote.d.ts +1 -1
- package/dist/esm/VisualContent/blocks/Quote.d.ts.map +1 -1
- package/dist/esm/VisualContent/blocks/Quote.js +3 -1
- package/dist/esm/VisualContent/blocks/Quote.js.map +1 -1
- package/dist/esm/VisualContent/blocks/Video/index.d.ts +16 -0
- package/dist/esm/VisualContent/blocks/Video/index.d.ts.map +1 -0
- package/dist/esm/VisualContent/blocks/Video/index.js +24 -0
- package/dist/esm/VisualContent/blocks/Video/index.js.map +1 -0
- package/dist/esm/VisualContent/blocks/Video/styles.d.ts +14 -0
- package/dist/esm/VisualContent/blocks/Video/styles.d.ts.map +1 -0
- package/dist/esm/VisualContent/blocks/Video/styles.js +35 -0
- package/dist/esm/VisualContent/blocks/Video/styles.js.map +1 -0
- package/dist/esm/VisualContent/index.d.ts +3 -3
- package/dist/esm/VisualContent/index.d.ts.map +1 -1
- package/dist/esm/VisualContent/index.js +7 -5
- package/dist/esm/VisualContent/index.js.map +1 -1
- package/dist/esm/VisualContent/styles.d.ts +12 -12
- package/dist/esm/VisualContent/styles.d.ts.map +1 -1
- package/dist/esm/VisualContent/styles.js +80 -40
- package/dist/esm/VisualContent/styles.js.map +1 -1
- package/dist/esm/VisualContent/types.d.ts +2 -1
- package/dist/esm/VisualContent/types.d.ts.map +1 -1
- package/dist/esm/VisualContent/types.js.map +1 -1
- package/package.json +4 -2
- package/dist/cjs/VisualContent/blocks/HTML.d.ts.map +0 -1
- package/dist/cjs/VisualContent/blocks/HTML.js.map +0 -1
- package/dist/cjs/VisualContent/blocks/Image.d.ts.map +0 -1
- package/dist/cjs/VisualContent/blocks/Image.js.map +0 -1
- package/dist/cjs/VisualContent/blocks/List.d.ts.map +0 -1
- package/dist/cjs/VisualContent/blocks/List.js.map +0 -1
- package/dist/esm/VisualContent/blocks/HTML.d.ts.map +0 -1
- package/dist/esm/VisualContent/blocks/HTML.js.map +0 -1
- package/dist/esm/VisualContent/blocks/Image.d.ts.map +0 -1
- package/dist/esm/VisualContent/blocks/Image.js +0 -39
- package/dist/esm/VisualContent/blocks/Image.js.map +0 -1
- package/dist/esm/VisualContent/blocks/List.d.ts.map +0 -1
- package/dist/esm/VisualContent/blocks/List.js.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"HTML.js","sourceRoot":"","sources":["../../../../src/VisualContent/blocks/HTML.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAa,MAAM,OAAO,CAAA;AAGjC;;;;;;;;;;GAUG;AACH,MAAM,IAAI,GAAmC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE;IACxD,OAAO,CACL,6BACE,SAAS,EAAC,+BAA+B,EACzC,uBAAuB,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,IAAI,EAAE,GAC9C,CACH,CAAA;AACH,CAAC,CAAA;AAED,eAAe,IAAI,CAAA","sourcesContent":["import React, { FC } from 'react'\nimport { HTMLBlock, VisualDataBlock } from '@starlightcms/js-sdk'\n\n/**\n * VisualContent renderer component that renders `raw` type blocks\n * as inline HTML inside a `div` element.\n *\n * See {@doclink components/VisualContent/#customizing-components | the guide page on the VisualContent component}\n * to learn how to customize block renderer components like this one.\n *\n * @param props VisualDataBlock object. See {@link HTMLBlock} to learn the\n * type of data this component receives.\n * @group VisualContent Renderers\n */\nconst HTML: FC<VisualDataBlock<HTMLBlock>> = ({ data }) => {\n return (\n <div\n className=\"sl-content-block sl-html test\"\n dangerouslySetInnerHTML={{ __html: data.html }}\n />\n )\n}\n\nexport default HTML\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Image.d.ts","sourceRoot":"","sources":["../../../../src/VisualContent/blocks/Image.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,EAAE,EAAuB,MAAM,OAAO,CAAA;AACtD,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAElE;;GAEG;AACH,oBAAY,YAAY,GAAG;IACzB,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,CAAA;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,QAAA,MAAM,KAAK,EAAE,EAAE,CAAC,eAAe,CAAC,UAAU,CAAC,GAAG,YAAY,CA8CzD,CAAA;AAED,eAAe,KAAK,CAAA"}
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
import React, { useEffect, useState } from 'react';
|
|
2
|
-
/**
|
|
3
|
-
* VisualContent renderer component that renders `image` type blocks
|
|
4
|
-
* as a responsive image along with its caption (if defined). Optionally
|
|
5
|
-
* wraps the image in an anchor if a link is defined in the content.
|
|
6
|
-
*
|
|
7
|
-
* See {@doclink components/VisualContent/#customizing-components | the guide page on the VisualContent component}
|
|
8
|
-
* to learn how to customize block renderer components like this one.
|
|
9
|
-
*
|
|
10
|
-
* This component also supports an optional `sizes` prop to provide better image
|
|
11
|
-
* responsiveness, see {@doclink components/VisualContent/#responsive-images | the guide page on responsive images}
|
|
12
|
-
* to learn more.
|
|
13
|
-
*
|
|
14
|
-
* @param props VisualDataBlock object. See {@link ImageBlock} to learn the
|
|
15
|
-
* type of data this component receives. Also accepts
|
|
16
|
-
* an optional `sizes` string prop.
|
|
17
|
-
* @group VisualContent Renderers
|
|
18
|
-
*/
|
|
19
|
-
const Image = ({ data, sizes = '(max-width: 480px) 90vw, 70vw', }) => {
|
|
20
|
-
const { url, files, alt = '', caption, href } = data;
|
|
21
|
-
const [target, setTarget] = useState('_self');
|
|
22
|
-
const [srcSet, setSrcSet] = useState('');
|
|
23
|
-
useEffect(() => {
|
|
24
|
-
if (!href)
|
|
25
|
-
return;
|
|
26
|
-
setTarget(new URL(href).origin === window.location.origin ? '_self' : '_blank');
|
|
27
|
-
}, [href]);
|
|
28
|
-
useEffect(() => {
|
|
29
|
-
if (!files || !files.length)
|
|
30
|
-
return;
|
|
31
|
-
setSrcSet(files.map((file) => `${file.url} ${file.width}w`).join(', '));
|
|
32
|
-
}, [files]);
|
|
33
|
-
return (React.createElement("figure", null,
|
|
34
|
-
href ? (React.createElement("a", { href: href, target: target },
|
|
35
|
-
React.createElement("img", { className: "sl-content-block sl-image", src: url, alt: alt, srcSet: srcSet, sizes: srcSet ? sizes : undefined }))) : (React.createElement("img", { className: "sl-content-block sl-image", src: url, alt: alt, srcSet: srcSet, sizes: srcSet ? sizes : undefined })),
|
|
36
|
-
caption && React.createElement("figcaption", { dangerouslySetInnerHTML: { __html: caption } })));
|
|
37
|
-
};
|
|
38
|
-
export default Image;
|
|
39
|
-
//# sourceMappingURL=Image.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Image.js","sourceRoot":"","sources":["../../../../src/VisualContent/blocks/Image.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAM,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAUtD;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,KAAK,GAAmD,CAAC,EAC7D,IAAI,EACJ,KAAK,GAAG,+BAA+B,GACxC,EAAE,EAAE;IACH,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,GAAG,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,IAAI,CAAA;IACpD,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAA;IAC7C,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAA;IAExC,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,IAAI;YAAE,OAAM;QAEjB,SAAS,CACP,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CACrE,CAAA;IACH,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAA;IAEV,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,MAAM;YAAE,OAAM;QAEnC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;IACzE,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAA;IAEX,OAAO,CACL;QACG,IAAI,CAAC,CAAC,CAAC,CACN,2BAAG,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM;YAC3B,6BACE,SAAS,EAAC,2BAA2B,EACrC,GAAG,EAAE,GAAG,EACR,GAAG,EAAE,GAAG,EACR,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,GACjC,CACA,CACL,CAAC,CAAC,CAAC,CACF,6BACE,SAAS,EAAC,2BAA2B,EACrC,GAAG,EAAE,GAAG,EACR,GAAG,EAAE,GAAG,EACR,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,GACjC,CACH;QACA,OAAO,IAAI,oCAAY,uBAAuB,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,GAAI,CACjE,CACV,CAAA;AACH,CAAC,CAAA;AAED,eAAe,KAAK,CAAA","sourcesContent":["import React, { FC, useEffect, useState } from 'react'\nimport { ImageBlock, VisualDataBlock } from '@starlightcms/js-sdk'\n\n/**\n * Type used by {@link ImageComponent} to accept a `sizes` prop.\n */\nexport type ImageOptions = {\n sizes?: string\n}\n\n/**\n * VisualContent renderer component that renders `image` type blocks\n * as a responsive image along with its caption (if defined). Optionally\n * wraps the image in an anchor if a link is defined in the content.\n *\n * See {@doclink components/VisualContent/#customizing-components | the guide page on the VisualContent component}\n * to learn how to customize block renderer components like this one.\n *\n * This component also supports an optional `sizes` prop to provide better image\n * responsiveness, see {@doclink components/VisualContent/#responsive-images | the guide page on responsive images}\n * to learn more.\n *\n * @param props VisualDataBlock object. See {@link ImageBlock} to learn the\n * type of data this component receives. Also accepts\n * an optional `sizes` string prop.\n * @group VisualContent Renderers\n */\nconst Image: FC<VisualDataBlock<ImageBlock> & ImageOptions> = ({\n data,\n sizes = '(max-width: 480px) 90vw, 70vw',\n}) => {\n const { url, files, alt = '', caption, href } = data\n const [target, setTarget] = useState('_self')\n const [srcSet, setSrcSet] = useState('')\n\n useEffect(() => {\n if (!href) return\n\n setTarget(\n new URL(href).origin === window.location.origin ? '_self' : '_blank'\n )\n }, [href])\n\n useEffect(() => {\n if (!files || !files.length) return\n\n setSrcSet(files.map((file) => `${file.url} ${file.width}w`).join(', '))\n }, [files])\n\n return (\n <figure>\n {href ? (\n <a href={href} target={target}>\n <img\n className=\"sl-content-block sl-image\"\n src={url}\n alt={alt}\n srcSet={srcSet}\n sizes={srcSet ? sizes : undefined}\n />\n </a>\n ) : (\n <img\n className=\"sl-content-block sl-image\"\n src={url}\n alt={alt}\n srcSet={srcSet}\n sizes={srcSet ? sizes : undefined}\n />\n )}\n {caption && <figcaption dangerouslySetInnerHTML={{ __html: caption }} />}\n </figure>\n )\n}\n\nexport default Image\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"List.d.ts","sourceRoot":"","sources":["../../../../src/VisualContent/blocks/List.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,EAAE,EAAE,MAAM,OAAO,CAAA;AACjC,OAAO,EAAE,SAAS,EAAY,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAuB3E;;;;;;;;;;GAUG;AACH,QAAA,MAAM,IAAI,EAAE,EAAE,CAAC,eAAe,CAAC,SAAS,CAAC,CAUxC,CAAA;AAED,eAAe,IAAI,CAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"List.js","sourceRoot":"","sources":["../../../../src/VisualContent/blocks/List.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAa,MAAM,OAAO,CAAA;AAQjC,MAAM,OAAO,GAAqB,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE;IACtD,OAAO,CACL;QACE,8BAAM,uBAAuB,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,OAAO,EAAE,GAAI;QAC1D,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CACjC,oBAAC,OAAO,QACL,IAAI,CAAC,KAAK;YACT,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,CACjC,oBAAC,OAAO,IAAC,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,GAAI,CACzD,CAAC,CACI,CACX,CAAC,CAAC,CAAC,IAAI,CACL,CACN,CAAA;AACH,CAAC,CAAA;AAED;;;;;;;;;;GAUG;AACH,MAAM,IAAI,GAAmC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE;IACxD,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAA;IAE1D,OAAO,CACL,oBAAC,WAAW,IAAC,SAAS,EAAC,wCAAwC,IAC5D,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,CAC/B,oBAAC,OAAO,IAAC,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,GAAI,CAC1D,CAAC,CACU,CACf,CAAA;AACH,CAAC,CAAA;AAED,eAAe,IAAI,CAAA","sourcesContent":["import React, { FC } from 'react'\nimport { ListBlock, ListItem, VisualDataBlock } from '@starlightcms/js-sdk'\n\ntype SubListProps = {\n item: ListItem\n Wrapper: 'ul' | 'ol'\n}\n\nconst SubList: FC<SubListProps> = ({ item, Wrapper }) => {\n return (\n <li>\n <span dangerouslySetInnerHTML={{ __html: item.content }} />\n {item.items && item.items.length ? (\n <Wrapper>\n {item.items &&\n item.items.map((subItem, index) => (\n <SubList key={index} item={subItem} Wrapper={Wrapper} />\n ))}\n </Wrapper>\n ) : null}\n </li>\n )\n}\n\n/**\n * VisualContent renderer component that renders `list` type blocks\n * as `<ul>` or `<ol>` elements, depending on the list style.\n *\n * See {@doclink components/VisualContent/#customizing-components | the guide page on the VisualContent component}\n * to learn how to customize block renderer components like this one.\n *\n * @param props VisualDataBlock object. See {@link ListBlock} to learn the\n * type of data this component receives.\n * @group VisualContent Renderers\n */\nconst List: FC<VisualDataBlock<ListBlock>> = ({ data }) => {\n const ListWrapper = data.style === 'ordered' ? 'ol' : 'ul'\n\n return (\n <ListWrapper className=\"sl-content-block sl-list sl-list__root\">\n {data.items.map((item, index) => (\n <SubList key={index} item={item} Wrapper={ListWrapper} />\n ))}\n </ListWrapper>\n )\n}\n\nexport default List\n"]}
|