@enonic/nextjs-adapter 3.1.0-B2 → 3.1.0-B4
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/guillotine/fetchGuillotine.js +5 -0
- package/guillotine/fetchGuillotine.js.map +1 -1
- package/package.json +9 -5
- package/src/guillotine/fetchGuillotine.ts +4 -1
- package/src/types/componentProps.ts +2 -0
- package/src/views/BaseMacro.tsx +10 -2
- package/src/views/RichTextView.tsx +6 -5
- package/types/componentProps.d.ts +2 -0
- package/views/BaseMacro.jsx +10 -2
- package/views/BaseMacro.jsx.map +1 -1
- package/views/RichTextView.jsx +7 -5
- package/views/RichTextView.jsx.map +1 -1
|
@@ -7,6 +7,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
7
7
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
8
|
});
|
|
9
9
|
};
|
|
10
|
+
import gqlmin from 'gqlmin';
|
|
10
11
|
import { fetchFromApi } from './fetchFromApi';
|
|
11
12
|
/** Guillotine-specialized fetch, using the generic fetch above */
|
|
12
13
|
export function fetchGuillotine(contentApiUrl, mapping, options) {
|
|
@@ -21,6 +22,10 @@ export function fetchGuillotine(contentApiUrl, mapping, options) {
|
|
|
21
22
|
},
|
|
22
23
|
};
|
|
23
24
|
}
|
|
25
|
+
else {
|
|
26
|
+
// Minify the query to avoid hitting 200k space limit
|
|
27
|
+
body.query = gqlmin(body.query);
|
|
28
|
+
}
|
|
24
29
|
const path = (_a = body === null || body === void 0 ? void 0 : body.variables) === null || _a === void 0 ? void 0 : _a.path;
|
|
25
30
|
const pathMessage = path ? JSON.stringify(path) : '';
|
|
26
31
|
return yield fetchFromApi(contentApiUrl, mapping, options)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fetchGuillotine.js","sourceRoot":"","sources":["../src/guillotine/fetchGuillotine.ts"],"names":[],"mappings":";;;;;;;;;
|
|
1
|
+
{"version":3,"file":"fetchGuillotine.js","sourceRoot":"","sources":["../src/guillotine/fetchGuillotine.ts"],"names":[],"mappings":";;;;;;;;;AACA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAE5B,OAAO,EAAC,YAAY,EAAC,MAAM,gBAAgB,CAAC;AAG5C,kEAAkE;AAClE,MAAM,UAAgB,eAAe,CACjC,aAAqB,EACrB,OAAsB,EACtB,OAAsB;;;QAEtB,MAAM,IAAI,GAAG,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,CAAC;QAC3B,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC;YACvD,OAAO;gBACH,KAAK,EAAE;oBACH,IAAI,EAAE,KAAK;oBACX,OAAO,EAAE,qDAAqD,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;iBAC7F;aACJ,CAAC;QACN,CAAC;aAAM,CAAC;YACJ,qDAAqD;YACrD,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACpC,CAAC;QAED,MAAM,IAAI,GAAG,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,SAAS,0CAAE,IAAI,CAAC;QACnC,MAAM,WAAW,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACrD,OAAO,MAAM,YAAY,CACrB,aAAa,EACb,OAAO,EACP,OAAO,CACV;aACI,IAAI,CAAC,IAAI,CAAC,EAAE;YACT,IAAI,MAAM,GAAU,IAAI,CAAC,MAAM,CAAC,CAAC,yCAAyC;YAE1E,IAAI,MAAM,EAAE,CAAC;gBACT,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;oBACzB,MAAM,GAAG,CAAC,MAAM,CAAC,CAAC;gBACtB,CAAC;gBACD,OAAO,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,MAAM,sCAAsC,aAAa,EAAE,CAAC,CAAC;gBACrF,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;oBACnB,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gBACzB,CAAC,CAAC,CAAC;gBAEH,OAAO;oBACH,KAAK,EAAE;wBACH,IAAI,EAAE,KAAK;wBACX,OAAO,EAAE,yBAAyB,MAAM,CAAC,MAAM,gDAAgD;qBAClG;iBACJ,CAAC;YACN,CAAC;YAED,OAAO,IAAI,CAAC,IAAI,CAAC;QACrB,CAAC,CAAC;aACD,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;YACX,OAAO,CAAC,IAAI,CAAC,+CAA+C,WAAW,EAAE,EAAE,GAAG,CAAC,CAAC;YAChF,IAAI,CAAC;gBACD,OAAO,EAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,EAAC,CAAC;YAC5C,CAAC;YAAC,OAAO,EAAE,EAAE,CAAC;gBACV,OAAO,EAAC,KAAK,EAAE,EAAC,IAAI,EAAE,mBAAmB,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAC,EAAC,CAAC;YACtE,CAAC;QACL,CAAC,CAAC,CAAC;IACX,CAAC;CAAA"}
|
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-B4",
|
|
4
4
|
"license": "Apache-2.0",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"author": "Pavel Milkevich <pmi@enonic.com>",
|
|
@@ -52,14 +52,17 @@
|
|
|
52
52
|
"dependencies": {
|
|
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.18",
|
|
56
57
|
"negotiator": "^0.6.3",
|
|
57
|
-
"next": "^14.2.
|
|
58
|
+
"next": "^14.2.14",
|
|
58
59
|
"react": "18.3.1",
|
|
59
60
|
"react-dom": "18.3.1",
|
|
60
61
|
"unescape": "^1.0.1"
|
|
61
62
|
},
|
|
62
63
|
"devDependencies": {
|
|
64
|
+
"@babel/core": "^7.25.7",
|
|
65
|
+
"@babel/preset-env": "^7.25.7",
|
|
63
66
|
"@edge-runtime/jest-environment": "^3.0.3",
|
|
64
67
|
"@enonic-types/core": "^7.14.4",
|
|
65
68
|
"@enonic/eslint-config": "^1.2.1",
|
|
@@ -67,15 +70,16 @@
|
|
|
67
70
|
"@testing-library/react": "^16.0.1",
|
|
68
71
|
"@types/negotiator": "^0.6.3",
|
|
69
72
|
"@types/node": "^22.7.4",
|
|
70
|
-
"@types/react": "^18.3.
|
|
73
|
+
"@types/react": "^18.3.11",
|
|
71
74
|
"@types/react-dom": "^18.3.0",
|
|
72
75
|
"@typescript-eslint/eslint-plugin": "^7.17.0",
|
|
73
76
|
"@typescript-eslint/parser": "^7.18.0",
|
|
77
|
+
"babel-jest": "^29.7.0",
|
|
74
78
|
"concurrently": "^9.0.1",
|
|
75
79
|
"cpy-cli": "^5.0.0",
|
|
76
80
|
"del-cli": "^5.1.0",
|
|
77
81
|
"eslint": "^8.57.1",
|
|
78
|
-
"eslint-plugin-react": "^7.37.
|
|
82
|
+
"eslint-plugin-react": "^7.37.1",
|
|
79
83
|
"jest": "^29.7.0",
|
|
80
84
|
"jest-environment-jsdom": "^29.7.0",
|
|
81
85
|
"madge": "^8.0.0",
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type {FetchOptions, GuillotineResult, LocaleMapping} from '../types';
|
|
2
|
-
|
|
2
|
+
import gqlmin from 'gqlmin';
|
|
3
3
|
|
|
4
4
|
import {fetchFromApi} from './fetchFromApi';
|
|
5
5
|
|
|
@@ -18,6 +18,9 @@ export async function fetchGuillotine<Data = Record<string, unknown>>(
|
|
|
18
18
|
message: `Invalid or missing query. JSON.stringify(query) = ${JSON.stringify(body.query)}`,
|
|
19
19
|
},
|
|
20
20
|
};
|
|
21
|
+
} else {
|
|
22
|
+
// Minify the query to avoid hitting 200k space limit
|
|
23
|
+
body.query = gqlmin(body.query);
|
|
21
24
|
}
|
|
22
25
|
|
|
23
26
|
const path = body?.variables?.path;
|
|
@@ -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
|
}
|
package/src/views/BaseMacro.tsx
CHANGED
|
@@ -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,7 +53,7 @@ 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`);
|
|
51
59
|
}
|
|
@@ -20,7 +20,7 @@ const RichTextView = (props: RichTextViewProps) => {
|
|
|
20
20
|
className={props.className}
|
|
21
21
|
tag={props.tag}
|
|
22
22
|
replacer={wrapReplacer(props.customReplacer, props.meta, props.renderMacroInEditMode)}
|
|
23
|
-
renderInEditMode={props.renderMacroInEditMode}
|
|
23
|
+
renderInEditMode={props.renderMacroInEditMode ?? true}
|
|
24
24
|
Macro={MacroAdapter}
|
|
25
25
|
Link={LinkAdapter}
|
|
26
26
|
Image={ImageAdapter}
|
|
@@ -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>) {
|
|
@@ -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/BaseMacro.jsx
CHANGED
|
@@ -7,7 +7,7 @@ export const MACRO_DISABLE = 'system:disable';
|
|
|
7
7
|
export const MACRO_EMBED = 'system:embed';
|
|
8
8
|
const BaseMacro = (props) => {
|
|
9
9
|
var _a, _b;
|
|
10
|
-
const { data, meta, renderInEditMode } = props;
|
|
10
|
+
const { data, children, meta, renderInEditMode } = props;
|
|
11
11
|
let config = (_b = (_a = data.config) === null || _a === void 0 ? void 0 : _a[sanitizeGraphqlName(data.name)]) !== null && _b !== void 0 ? _b : {};
|
|
12
12
|
if (data.descriptor !== MACRO_DISABLE) {
|
|
13
13
|
// do not do any processing for disable macro
|
|
@@ -16,6 +16,7 @@ const BaseMacro = (props) => {
|
|
|
16
16
|
if (!renderInEditMode && (meta === null || meta === void 0 ? void 0 : meta.renderMode) === RENDER_MODE.EDIT) {
|
|
17
17
|
const attrs = formatAttributes(config);
|
|
18
18
|
if (config.body) {
|
|
19
|
+
// NB. config body takes precedence over children
|
|
19
20
|
// do not parse system macros (embed, disable) in edit mode
|
|
20
21
|
// but parse others because panel macros (for instance) wants its content to be html, not string
|
|
21
22
|
// TODO: should we make this behavior configurable ?
|
|
@@ -26,6 +27,13 @@ const BaseMacro = (props) => {
|
|
|
26
27
|
{`[/${data.name}]`}
|
|
27
28
|
</>;
|
|
28
29
|
}
|
|
30
|
+
else if (children) {
|
|
31
|
+
return <>
|
|
32
|
+
{`[${data.name}${attrs}]`}
|
|
33
|
+
{children}
|
|
34
|
+
{`[/${data.name}]`}
|
|
35
|
+
</>;
|
|
36
|
+
}
|
|
29
37
|
else {
|
|
30
38
|
return <>
|
|
31
39
|
{`[${data.name}${attrs}/]`}
|
|
@@ -35,7 +43,7 @@ const BaseMacro = (props) => {
|
|
|
35
43
|
const macro = ComponentRegistry.getMacro(data.descriptor);
|
|
36
44
|
const MacroView = macro === null || macro === void 0 ? void 0 : macro.view;
|
|
37
45
|
if (MacroView) {
|
|
38
|
-
return <MacroView name={data.name} config={config} meta={meta}
|
|
46
|
+
return <MacroView name={data.name} config={config} meta={meta}>{children}</MacroView>;
|
|
39
47
|
}
|
|
40
48
|
else if (data.descriptor) {
|
|
41
49
|
console.warn(`BaseMacro: can not render macro '${data.descriptor}': no next view or catch-all defined`);
|
package/views/BaseMacro.jsx.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseMacro.jsx","sourceRoot":"","sources":["../src/views/BaseMacro.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAC,iBAAiB,EAAC,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAC,WAAW,EAAC,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAC,mBAAmB,EAAC,MAAM,8BAA8B,CAAC;AACjE,OAAO,eAAe,MAAM,mBAAmB,CAAC;AAGhD,MAAM,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;AAErC,MAAM,CAAC,MAAM,aAAa,GAAG,gBAAgB,CAAC;AAC9C,MAAM,CAAC,MAAM,WAAW,GAAG,cAAc,CAAC;AAG1C,MAAM,SAAS,GAAG,CAAC,KAAqB,EAAE,EAAE;;IACxC,MAAM,EAAC,IAAI,EAAE,IAAI,EAAE,gBAAgB,EAAC,GAAG,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"BaseMacro.jsx","sourceRoot":"","sources":["../src/views/BaseMacro.tsx"],"names":[],"mappings":"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"}
|
package/views/RichTextView.jsx
CHANGED
|
@@ -3,7 +3,8 @@ import BaseMacro from './BaseMacro';
|
|
|
3
3
|
import Link from 'next/link';
|
|
4
4
|
import { RichText } from '@enonic/react-components';
|
|
5
5
|
const RichTextView = (props) => {
|
|
6
|
-
|
|
6
|
+
var _a;
|
|
7
|
+
return <RichText data={props.data} meta={props.meta} className={props.className} tag={props.tag} replacer={wrapReplacer(props.customReplacer, props.meta, props.renderMacroInEditMode)} renderInEditMode={(_a = props.renderMacroInEditMode) !== null && _a !== void 0 ? _a : true} Macro={MacroAdapter} Link={LinkAdapter} Image={ImageAdapter}/>;
|
|
7
8
|
};
|
|
8
9
|
function wrapReplacer(oldReplacer, meta, renderMacroInEditMode) {
|
|
9
10
|
if (!oldReplacer) {
|
|
@@ -14,15 +15,16 @@ function wrapReplacer(oldReplacer, meta, renderMacroInEditMode) {
|
|
|
14
15
|
};
|
|
15
16
|
}
|
|
16
17
|
function MacroAdapter(props) {
|
|
17
|
-
const
|
|
18
|
+
const { children, descriptor, config, meta, renderInEditMode } = props;
|
|
19
|
+
const name = descriptor.substring(descriptor.indexOf(':') + 1);
|
|
18
20
|
const data = {
|
|
19
21
|
name: name,
|
|
20
|
-
descriptor:
|
|
22
|
+
descriptor: descriptor,
|
|
21
23
|
config: {
|
|
22
|
-
[name]:
|
|
24
|
+
[name]: config,
|
|
23
25
|
},
|
|
24
26
|
};
|
|
25
|
-
return <BaseMacro data={data} meta={
|
|
27
|
+
return <BaseMacro data={data} meta={meta} renderInEditMode={renderInEditMode}>{children}</BaseMacro>;
|
|
26
28
|
}
|
|
27
29
|
function LinkAdapter(props) {
|
|
28
30
|
return <Link href={getUrl(props.href, props.meta)}>{props.children}</Link>;
|
|
@@ -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
|
|
1
|
+
{"version":3,"file":"RichTextView.jsx","sourceRoot":"","sources":["../src/views/RichTextView.tsx"],"names":[],"mappings":"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"}
|