@enonic/nextjs-adapter 3.1.0-B3 → 3.1.0-B5
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/package.json +5 -5
- package/src/types/componentProps.ts +2 -0
- package/src/views/BaseComponent.tsx +3 -1
- package/src/views/BaseMacro.tsx +15 -4
- package/src/views/RichTextView.tsx +6 -5
- package/types/componentProps.d.ts +2 -0
- package/views/BaseComponent.jsx +3 -1
- package/views/BaseComponent.jsx.map +1 -1
- package/views/BaseMacro.d.ts +2 -1
- package/views/BaseMacro.jsx +15 -2
- package/views/BaseMacro.jsx.map +1 -1
- package/views/RichTextView.jsx +6 -5
- package/views/RichTextView.jsx.map +1 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@enonic/nextjs-adapter",
|
|
3
|
-
"version": "3.1.0-
|
|
3
|
+
"version": "3.1.0-B5",
|
|
4
4
|
"license": "Apache-2.0",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"author": "Pavel Milkevich <pmi@enonic.com>",
|
|
@@ -53,9 +53,9 @@
|
|
|
53
53
|
"@enonic/react-components": "^5.0.0-RC5",
|
|
54
54
|
"@formatjs/intl-localematcher": "^0.5.4",
|
|
55
55
|
"gqlmin": "^0.2.2",
|
|
56
|
-
"html-react-parser": "^5.1.
|
|
56
|
+
"html-react-parser": "^5.1.18",
|
|
57
57
|
"negotiator": "^0.6.3",
|
|
58
|
-
"next": "^14.2.
|
|
58
|
+
"next": "^14.2.14",
|
|
59
59
|
"react": "18.3.1",
|
|
60
60
|
"react-dom": "18.3.1",
|
|
61
61
|
"unescape": "^1.0.1"
|
|
@@ -70,7 +70,7 @@
|
|
|
70
70
|
"@testing-library/react": "^16.0.1",
|
|
71
71
|
"@types/negotiator": "^0.6.3",
|
|
72
72
|
"@types/node": "^22.7.4",
|
|
73
|
-
"@types/react": "^18.3.
|
|
73
|
+
"@types/react": "^18.3.11",
|
|
74
74
|
"@types/react-dom": "^18.3.0",
|
|
75
75
|
"@typescript-eslint/eslint-plugin": "^7.17.0",
|
|
76
76
|
"@typescript-eslint/parser": "^7.18.0",
|
|
@@ -79,7 +79,7 @@
|
|
|
79
79
|
"cpy-cli": "^5.0.0",
|
|
80
80
|
"del-cli": "^5.1.0",
|
|
81
81
|
"eslint": "^8.57.1",
|
|
82
|
-
"eslint-plugin-react": "^7.37.
|
|
82
|
+
"eslint-plugin-react": "^7.37.1",
|
|
83
83
|
"jest": "^29.7.0",
|
|
84
84
|
"jest-environment-jsdom": "^29.7.0",
|
|
85
85
|
"madge": "^8.0.0",
|
|
@@ -29,6 +29,7 @@ export interface BaseLayoutProps {
|
|
|
29
29
|
}
|
|
30
30
|
|
|
31
31
|
export interface BaseMacroProps {
|
|
32
|
+
children: string | React.ReactNode;
|
|
32
33
|
data: Omit<MacroData, 'ref'>;
|
|
33
34
|
meta: MetaData;
|
|
34
35
|
renderInEditMode?: boolean;
|
|
@@ -68,6 +69,7 @@ export interface LayoutProps {
|
|
|
68
69
|
|
|
69
70
|
export interface MacroProps {
|
|
70
71
|
name: string;
|
|
72
|
+
children: string | React.ReactNode;
|
|
71
73
|
config: MacroConfig;
|
|
72
74
|
meta: MetaData;
|
|
73
75
|
}
|
|
@@ -67,7 +67,9 @@ export const MissingComponent = ({descriptor, type}: { descriptor?: string, type
|
|
|
67
67
|
padding: '16px',
|
|
68
68
|
}}>
|
|
69
69
|
<h3 style={{margin: 0}}>Missing component</h3>
|
|
70
|
-
<p style={{marginBottom: 0, color: 'grey'}}>
|
|
70
|
+
<p style={{marginBottom: 0, color: 'grey'}}>
|
|
71
|
+
Missing {type} with descriptor: <strong>{descriptor}</strong>. Did you forget to register it ?
|
|
72
|
+
</p>
|
|
71
73
|
</div>
|
|
72
74
|
);
|
|
73
75
|
};
|
package/src/views/BaseMacro.tsx
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
/// <reference types="react" />
|
|
2
1
|
import type {BaseMacroProps, MacroConfig} from '../types';
|
|
3
2
|
|
|
4
|
-
|
|
5
3
|
import {ComponentRegistry} from '../common/ComponentRegistry';
|
|
6
4
|
import {RENDER_MODE} from '../common/constants';
|
|
7
5
|
import {sanitizeGraphqlName} from '../utils/sanitizeGraphqlName';
|
|
8
6
|
import HTMLReactParser from 'html-react-parser';
|
|
7
|
+
import {shouldShowMissingView, MissingComponent} from './BaseComponent';
|
|
8
|
+
import React from 'react';
|
|
9
9
|
|
|
10
10
|
|
|
11
11
|
const unescape = require('unescape');
|
|
@@ -15,7 +15,7 @@ export const MACRO_EMBED = 'system:embed';
|
|
|
15
15
|
|
|
16
16
|
|
|
17
17
|
const BaseMacro = (props: BaseMacroProps) => {
|
|
18
|
-
const {data, meta, renderInEditMode} = props;
|
|
18
|
+
const {data, children, meta, renderInEditMode} = props;
|
|
19
19
|
|
|
20
20
|
let config = data.config?.[sanitizeGraphqlName(data.name)] ?? {};
|
|
21
21
|
if (data.descriptor !== MACRO_DISABLE) {
|
|
@@ -26,6 +26,8 @@ const BaseMacro = (props: BaseMacroProps) => {
|
|
|
26
26
|
if (!renderInEditMode && meta?.renderMode === RENDER_MODE.EDIT) {
|
|
27
27
|
const attrs = formatAttributes(config);
|
|
28
28
|
if (config.body) {
|
|
29
|
+
// NB. config body takes precedence over children
|
|
30
|
+
|
|
29
31
|
// do not parse system macros (embed, disable) in edit mode
|
|
30
32
|
// but parse others because panel macros (for instance) wants its content to be html, not string
|
|
31
33
|
// TODO: should we make this behavior configurable ?
|
|
@@ -35,6 +37,12 @@ const BaseMacro = (props: BaseMacroProps) => {
|
|
|
35
37
|
{bodyString}
|
|
36
38
|
{`[/${data.name}]`}
|
|
37
39
|
</>;
|
|
40
|
+
} else if (children) {
|
|
41
|
+
return <>
|
|
42
|
+
{`[${data.name}${attrs}]`}
|
|
43
|
+
{children}
|
|
44
|
+
{`[/${data.name}]`}
|
|
45
|
+
</>;
|
|
38
46
|
} else {
|
|
39
47
|
return <>
|
|
40
48
|
{`[${data.name}${attrs}/]`}
|
|
@@ -45,9 +53,12 @@ const BaseMacro = (props: BaseMacroProps) => {
|
|
|
45
53
|
const macro = ComponentRegistry.getMacro(data.descriptor);
|
|
46
54
|
const MacroView = macro?.view;
|
|
47
55
|
if (MacroView) {
|
|
48
|
-
return <MacroView name={data.name} config={config} meta={meta}
|
|
56
|
+
return <MacroView name={data.name} config={config} meta={meta}>{children}</MacroView>;
|
|
49
57
|
} else if (data.descriptor) {
|
|
50
58
|
console.warn(`BaseMacro: can not render macro '${data.descriptor}': no next view or catch-all defined`);
|
|
59
|
+
if (shouldShowMissingView(meta)) {
|
|
60
|
+
return <MissingComponent type="macro" descriptor={data.descriptor}/>;
|
|
61
|
+
}
|
|
51
62
|
}
|
|
52
63
|
return null;
|
|
53
64
|
};
|
|
@@ -37,16 +37,17 @@ function wrapReplacer(oldReplacer: OldReplacer | undefined, meta: MetaData, rend
|
|
|
37
37
|
}
|
|
38
38
|
|
|
39
39
|
function MacroAdapter(props: MacroComponentParams<ExtraRichTextProps>) {
|
|
40
|
-
const
|
|
40
|
+
const {children, descriptor, config, meta, renderInEditMode} = props;
|
|
41
|
+
const name = descriptor.substring(descriptor.indexOf(':') + 1);
|
|
41
42
|
const data = {
|
|
42
43
|
name: name,
|
|
43
|
-
descriptor:
|
|
44
|
+
descriptor: descriptor,
|
|
44
45
|
config: {
|
|
45
|
-
[name]:
|
|
46
|
+
[name]: config as Record<string, MacroConfig>,
|
|
46
47
|
},
|
|
47
48
|
};
|
|
48
49
|
|
|
49
|
-
return <BaseMacro data={data} meta={
|
|
50
|
+
return <BaseMacro data={data} meta={meta} renderInEditMode={renderInEditMode}>{children}</BaseMacro>;
|
|
50
51
|
}
|
|
51
52
|
|
|
52
53
|
function LinkAdapter(props: LinkComponentParams<ExtraRichTextProps>) {
|
|
@@ -55,7 +56,7 @@ function LinkAdapter(props: LinkComponentParams<ExtraRichTextProps>) {
|
|
|
55
56
|
|
|
56
57
|
function ImageAdapter(props: ImageComponentParams<ExtraRichTextProps>) {
|
|
57
58
|
const srcSet = props.srcSet?.length ? UrlProcessor.processSrcSet(props.srcSet, props.meta) : undefined;
|
|
58
|
-
return <img src={getUrl(props.src, props.meta)} alt={props.alt} sizes={props.sizes} srcSet={srcSet}/>;
|
|
59
|
+
return <img src={getUrl(props.src, props.meta)} style={props.style} alt={props.alt} sizes={props.sizes} srcSet={srcSet}/>;
|
|
59
60
|
}
|
|
60
61
|
|
|
61
62
|
export default RichTextView;
|
|
@@ -14,6 +14,7 @@ export interface BaseLayoutProps {
|
|
|
14
14
|
meta: MetaData;
|
|
15
15
|
}
|
|
16
16
|
export interface BaseMacroProps {
|
|
17
|
+
children: string | React.ReactNode;
|
|
17
18
|
data: Omit<MacroData, 'ref'>;
|
|
18
19
|
meta: MetaData;
|
|
19
20
|
renderInEditMode?: boolean;
|
|
@@ -48,6 +49,7 @@ export interface LayoutProps {
|
|
|
48
49
|
}
|
|
49
50
|
export interface MacroProps {
|
|
50
51
|
name: string;
|
|
52
|
+
children: string | React.ReactNode;
|
|
51
53
|
config: MacroConfig;
|
|
52
54
|
meta: MetaData;
|
|
53
55
|
}
|
package/views/BaseComponent.jsx
CHANGED
|
@@ -54,7 +54,9 @@ export const MissingComponent = ({ descriptor, type }) => {
|
|
|
54
54
|
padding: '16px',
|
|
55
55
|
}}>
|
|
56
56
|
<h3 style={{ margin: 0 }}>Missing component</h3>
|
|
57
|
-
<p style={{ marginBottom: 0, color: 'grey' }}>
|
|
57
|
+
<p style={{ marginBottom: 0, color: 'grey' }}>
|
|
58
|
+
Missing {type} with descriptor: <strong>{descriptor}</strong>. Did you forget to register it ?
|
|
59
|
+
</p>
|
|
58
60
|
</div>);
|
|
59
61
|
};
|
|
60
62
|
const isComponentOutputEmpty = (component) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseComponent.jsx","sourceRoot":"","sources":["../src/views/BaseComponent.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAC,QAAQ,EAAC,MAAM,OAAO,CAAC;AAItC,OAAO,EAAC,0BAA0B,EAAE,WAAW,EAAE,iBAAiB,EAAC,MAAM,qBAAqB,CAAC;AAC/F,OAAO,EAAC,WAAW,EAAC,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAC,iBAAiB,EAAC,MAAM,6BAA6B,CAAC;AAC9D,OAAO,KAAK,MAAM,SAAS,CAAC;AAC5B,OAAO,qBAAqB,MAAM,iCAAiC,CAAC;AACpE,OAAO,EAAC,WAAW,EAAC,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAC,qBAAqB,EAAC,MAAM,iCAAiC,CAAC;AAGtE,MAAM,aAAa,GAAG,CAAC,EAAC,SAAS,EAAE,IAAI,EAAE,MAAM,EAAqB,EAAE,EAAE;;IACpE,MAAM,EAAC,IAAI,EAAE,KAAK,EAAC,GAAG,SAAS,CAAC;IAChC,MAAM,OAAO,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;IAChC,MAAM,UAAU,GAAG,OAAO,IAAI,YAAY,IAAI,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC;IAEvF,IAAI,aAAiC,CAAC;IAEtC,WAAW,CAAC,eAAe,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IAE5C,IAAI,KAAK,EAAE,CAAC;QACR,oDAAoD;QACpD,OAAO,CAAC,IAAI,CAAC,kBAAkB,IAAI,KAAK,UAAU,YAAY,KAAK,EAAE,CAAC,CAAC;QACvE,aAAa,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAA,EAAE,CAAC;IAEhI,CAAC;SAAM,CAAC;QAEJ,MAAM,MAAM,GAAG,MAAA,iBAAiB,CAAC,YAAY,CAAC,IAAI,CAAC,0CAAE,IAAI,CAAC;QAC1D,IAAI,CAAC,MAAM,EAAE,CAAC;YACV,6DAA6D;YAC7D,OAAO,CAAC,IAAI,CAAC,4CAA4C,IAAI,sCAAsC,CAAC,CAAC;YACrG,aAAa,GAAG,qBAAqB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAA,EAAE,CAAC;QAErH,CAAC;aAAM,CAAC;YACJ,MAAM,QAAQ,GAAG,oBAAoB,CAAC,SAAS,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;YAC/D,aAAa,GAAG,CAAC,MAAM,CAAC,IAAI,QAAQ,CAAC,EAAE,CAAC;QAC5C,CAAC;IACL,CAAC;IAED,2FAA2F;IAC3F,IAAI,UAAU,IAAI,yBAAyB,CAAC,IAAI,CAAC,IAAI,sBAAsB,CAAC,aAAa,CAAC,EAAE,CAAC;QACzF,aAAa,GAAG,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,CAAC,UAAU,CAAC,EAAE,CAAC;IAChF,CAAC;IAED,IAAI,IAAI,CAAC,UAAU,KAAK,WAAW,CAAC,IAAI,EAAE,CAAC;QACvC,OAAO,CACH,CAAC,GAAG,CAAC,IAAI,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAC7B;gBAAA,CAAC,aAAa,CAClB;YAAA,EAAE,GAAG,CAAC,CACT,CAAC;IACN,CAAC;SAAM,CAAC;QACJ,8CAA8C;QAC9C,OAAO,aAAa,CAAC;IACzB,CAAC;AACL,CAAC,CAAC;AACF,eAAe,aAAa,CAAC;AAE7B;;GAEG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,EAAC,UAAU,EAAE,IAAI,EAAwC,EAAE,EAAE;IAC1F,OAAO,CACH,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YACR,MAAM,EAAE,sBAAsB;YAC9B,OAAO,EAAE,MAAM;SAClB,CAAC,CACE;YAAA,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,EAAC,MAAM,EAAE,CAAC,EAAC,CAAC,CAAC,iBAAiB,EAAE,EAAE,CAC7C;YAAA,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAC,YAAY,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAC,CAAC,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"BaseComponent.jsx","sourceRoot":"","sources":["../src/views/BaseComponent.tsx"],"names":[],"mappings":"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"}
|
package/views/BaseMacro.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { BaseMacroProps } from '../types';
|
|
2
|
+
import React from 'react';
|
|
2
3
|
export declare const MACRO_DISABLE = "system:disable";
|
|
3
4
|
export declare const MACRO_EMBED = "system:embed";
|
|
4
|
-
declare const BaseMacro: (props: BaseMacroProps) =>
|
|
5
|
+
declare const BaseMacro: (props: BaseMacroProps) => React.JSX.Element;
|
|
5
6
|
export default BaseMacro;
|
package/views/BaseMacro.jsx
CHANGED
|
@@ -2,12 +2,14 @@ import { ComponentRegistry } from '../common/ComponentRegistry';
|
|
|
2
2
|
import { RENDER_MODE } from '../common/constants';
|
|
3
3
|
import { sanitizeGraphqlName } from '../utils/sanitizeGraphqlName';
|
|
4
4
|
import HTMLReactParser from 'html-react-parser';
|
|
5
|
+
import { shouldShowMissingView, MissingComponent } from './BaseComponent';
|
|
6
|
+
import React from 'react';
|
|
5
7
|
const unescape = require('unescape');
|
|
6
8
|
export const MACRO_DISABLE = 'system:disable';
|
|
7
9
|
export const MACRO_EMBED = 'system:embed';
|
|
8
10
|
const BaseMacro = (props) => {
|
|
9
11
|
var _a, _b;
|
|
10
|
-
const { data, meta, renderInEditMode } = props;
|
|
12
|
+
const { data, children, meta, renderInEditMode } = props;
|
|
11
13
|
let config = (_b = (_a = data.config) === null || _a === void 0 ? void 0 : _a[sanitizeGraphqlName(data.name)]) !== null && _b !== void 0 ? _b : {};
|
|
12
14
|
if (data.descriptor !== MACRO_DISABLE) {
|
|
13
15
|
// do not do any processing for disable macro
|
|
@@ -16,6 +18,7 @@ const BaseMacro = (props) => {
|
|
|
16
18
|
if (!renderInEditMode && (meta === null || meta === void 0 ? void 0 : meta.renderMode) === RENDER_MODE.EDIT) {
|
|
17
19
|
const attrs = formatAttributes(config);
|
|
18
20
|
if (config.body) {
|
|
21
|
+
// NB. config body takes precedence over children
|
|
19
22
|
// do not parse system macros (embed, disable) in edit mode
|
|
20
23
|
// but parse others because panel macros (for instance) wants its content to be html, not string
|
|
21
24
|
// TODO: should we make this behavior configurable ?
|
|
@@ -26,6 +29,13 @@ const BaseMacro = (props) => {
|
|
|
26
29
|
{`[/${data.name}]`}
|
|
27
30
|
</>;
|
|
28
31
|
}
|
|
32
|
+
else if (children) {
|
|
33
|
+
return <>
|
|
34
|
+
{`[${data.name}${attrs}]`}
|
|
35
|
+
{children}
|
|
36
|
+
{`[/${data.name}]`}
|
|
37
|
+
</>;
|
|
38
|
+
}
|
|
29
39
|
else {
|
|
30
40
|
return <>
|
|
31
41
|
{`[${data.name}${attrs}/]`}
|
|
@@ -35,10 +45,13 @@ const BaseMacro = (props) => {
|
|
|
35
45
|
const macro = ComponentRegistry.getMacro(data.descriptor);
|
|
36
46
|
const MacroView = macro === null || macro === void 0 ? void 0 : macro.view;
|
|
37
47
|
if (MacroView) {
|
|
38
|
-
return <MacroView name={data.name} config={config} meta={meta}
|
|
48
|
+
return <MacroView name={data.name} config={config} meta={meta}>{children}</MacroView>;
|
|
39
49
|
}
|
|
40
50
|
else if (data.descriptor) {
|
|
41
51
|
console.warn(`BaseMacro: can not render macro '${data.descriptor}': no next view or catch-all defined`);
|
|
52
|
+
if (shouldShowMissingView(meta)) {
|
|
53
|
+
return <MissingComponent type="macro" descriptor={data.descriptor}/>;
|
|
54
|
+
}
|
|
42
55
|
}
|
|
43
56
|
return null;
|
|
44
57
|
};
|
package/views/BaseMacro.jsx.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseMacro.jsx","sourceRoot":"","sources":["../src/views/BaseMacro.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"BaseMacro.jsx","sourceRoot":"","sources":["../src/views/BaseMacro.tsx"],"names":[],"mappings":"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"}
|
package/views/RichTextView.jsx
CHANGED
|
@@ -15,15 +15,16 @@ function wrapReplacer(oldReplacer, meta, renderMacroInEditMode) {
|
|
|
15
15
|
};
|
|
16
16
|
}
|
|
17
17
|
function MacroAdapter(props) {
|
|
18
|
-
const
|
|
18
|
+
const { children, descriptor, config, meta, renderInEditMode } = props;
|
|
19
|
+
const name = descriptor.substring(descriptor.indexOf(':') + 1);
|
|
19
20
|
const data = {
|
|
20
21
|
name: name,
|
|
21
|
-
descriptor:
|
|
22
|
+
descriptor: descriptor,
|
|
22
23
|
config: {
|
|
23
|
-
[name]:
|
|
24
|
+
[name]: config,
|
|
24
25
|
},
|
|
25
26
|
};
|
|
26
|
-
return <BaseMacro data={data} meta={
|
|
27
|
+
return <BaseMacro data={data} meta={meta} renderInEditMode={renderInEditMode}>{children}</BaseMacro>;
|
|
27
28
|
}
|
|
28
29
|
function LinkAdapter(props) {
|
|
29
30
|
return <Link href={getUrl(props.href, props.meta)}>{props.children}</Link>;
|
|
@@ -31,7 +32,7 @@ function LinkAdapter(props) {
|
|
|
31
32
|
function ImageAdapter(props) {
|
|
32
33
|
var _a;
|
|
33
34
|
const srcSet = ((_a = props.srcSet) === null || _a === void 0 ? void 0 : _a.length) ? UrlProcessor.processSrcSet(props.srcSet, props.meta) : undefined;
|
|
34
|
-
return <img src={getUrl(props.src, props.meta)} alt={props.alt} sizes={props.sizes} srcSet={srcSet}/>;
|
|
35
|
+
return <img src={getUrl(props.src, props.meta)} style={props.style} alt={props.alt} sizes={props.sizes} srcSet={srcSet}/>;
|
|
35
36
|
}
|
|
36
37
|
export default RichTextView;
|
|
37
38
|
//# sourceMappingURL=RichTextView.jsx.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RichTextView.jsx","sourceRoot":"","sources":["../src/views/RichTextView.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAC,MAAM,EAAE,YAAY,EAAC,MAAM,wBAAwB,CAAC;AAC5D,OAAO,SAAS,MAAM,aAAa,CAAC;AACpC,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EAAC,QAAQ,EAAC,MAAM,0BAA0B,CAAC;AAQlD,MAAM,YAAY,GAAG,CAAC,KAAwB,EAAE,EAAE;;IAC9C,OAAO,CAAC,QAAQ,CACZ,IAAI,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CACjB,IAAI,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CACjB,SAAS,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAC3B,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CACf,QAAQ,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,cAAc,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,qBAAqB,CAAC,CAAC,CACtF,gBAAgB,CAAC,CAAC,MAAA,KAAK,CAAC,qBAAqB,mCAAI,IAAI,CAAC,CACtD,KAAK,CAAC,CAAC,YAAY,CAAC,CACpB,IAAI,CAAC,CAAC,WAAW,CAAC,CAClB,KAAK,CAAC,CAAC,YAAY,CAAC,EACtB,CAAC;AACP,CAAC,CAAC;AAEF,SAAS,YAAY,CAAC,WAAoC,EAAE,IAAc,EAAE,qBAA8B;IACtG,IAAI,CAAC,WAAW,EAAE,CAAC;QACf,OAAO,IAAI,CAAC;IAChB,CAAC;IACD,OAAO,CAAC,OAAgB,EAAE,IAAkB,EAAE,EAAE;QAC5C,OAAO,WAAW,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,qBAAqB,CAAC,CAAC;IACnE,CAAC,CAAC;AACN,CAAC;AAED,SAAS,YAAY,CAAC,KAA+C;IACjE,MAAM,IAAI,GAAG,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,
|
|
1
|
+
{"version":3,"file":"RichTextView.jsx","sourceRoot":"","sources":["../src/views/RichTextView.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAC,MAAM,EAAE,YAAY,EAAC,MAAM,wBAAwB,CAAC;AAC5D,OAAO,SAAS,MAAM,aAAa,CAAC;AACpC,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EAAC,QAAQ,EAAC,MAAM,0BAA0B,CAAC;AAQlD,MAAM,YAAY,GAAG,CAAC,KAAwB,EAAE,EAAE;;IAC9C,OAAO,CAAC,QAAQ,CACZ,IAAI,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CACjB,IAAI,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CACjB,SAAS,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAC3B,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CACf,QAAQ,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,cAAc,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,qBAAqB,CAAC,CAAC,CACtF,gBAAgB,CAAC,CAAC,MAAA,KAAK,CAAC,qBAAqB,mCAAI,IAAI,CAAC,CACtD,KAAK,CAAC,CAAC,YAAY,CAAC,CACpB,IAAI,CAAC,CAAC,WAAW,CAAC,CAClB,KAAK,CAAC,CAAC,YAAY,CAAC,EACtB,CAAC;AACP,CAAC,CAAC;AAEF,SAAS,YAAY,CAAC,WAAoC,EAAE,IAAc,EAAE,qBAA8B;IACtG,IAAI,CAAC,WAAW,EAAE,CAAC;QACf,OAAO,IAAI,CAAC;IAChB,CAAC;IACD,OAAO,CAAC,OAAgB,EAAE,IAAkB,EAAE,EAAE;QAC5C,OAAO,WAAW,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,qBAAqB,CAAC,CAAC;IACnE,CAAC,CAAC;AACN,CAAC;AAED,SAAS,YAAY,CAAC,KAA+C;IACjE,MAAM,EAAC,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,gBAAgB,EAAC,GAAG,KAAK,CAAC;IACrE,MAAM,IAAI,GAAG,UAAU,CAAC,SAAS,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;IAC/D,MAAM,IAAI,GAAG;QACT,IAAI,EAAE,IAAI;QACV,UAAU,EAAE,UAAU;QACtB,MAAM,EAAE;YACJ,CAAC,IAAI,CAAC,EAAE,MAAqC;SAChD;KACJ,CAAC;IAEF,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,gBAAgB,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,SAAS,CAAC,CAAC;AACzG,CAAC;AAED,SAAS,WAAW,CAAC,KAA8C;IAC/D,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,CAAC;AAC/E,CAAC;AAED,SAAS,YAAY,CAAC,KAA+C;;IACjE,MAAM,MAAM,GAAG,CAAA,MAAA,KAAK,CAAC,MAAM,0CAAE,MAAM,EAAC,CAAC,CAAC,YAAY,CAAC,aAAa,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACvG,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;AAC9H,CAAC;AAED,eAAe,YAAY,CAAC"}
|