@enonic/nextjs-adapter 3.0.1 → 3.0.2

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.
@@ -3,16 +3,22 @@ import { RENDER_MODE } from '../common/constants';
3
3
  import { IS_DEV_MODE } from '../common/env';
4
4
  import { UrlProcessor } from '../common/UrlProcessor';
5
5
  export function validateShortcut(props) {
6
- var _a, _b, _c;
6
+ var _a, _b;
7
7
  const { data, meta, error } = props;
8
- const pageUrl = (_c = (_b = (_a = data === null || data === void 0 ? void 0 : data.get) === null || _a === void 0 ? void 0 : _a.data) === null || _b === void 0 ? void 0 : _b.target) === null || _c === void 0 ? void 0 : _c.pageUrl;
8
+ const dataObj = (_a = data === null || data === void 0 ? void 0 : data.get) === null || _a === void 0 ? void 0 : _a.data;
9
+ const pageUrl = (_b = dataObj === null || dataObj === void 0 ? void 0 : dataObj.target) === null || _b === void 0 ? void 0 : _b.pageUrl;
10
+ const parameters = dataObj === null || dataObj === void 0 ? void 0 : dataObj.parameters;
9
11
  if (meta.type === 'base:shortcut' && pageUrl) {
10
12
  if (meta.renderMode !== RENDER_MODE.NEXT) {
11
13
  // do not show shortcut targets in preview/edit mode
12
- console.warn(404, `Shortcuts are not available in ${RENDER_MODE.NEXT} render mode`);
14
+ console.warn(404, `Shortcuts are not available in ${meta.renderMode} render mode`);
13
15
  notFound();
14
16
  }
15
- const destination = UrlProcessor.process(pageUrl, meta, true);
17
+ let destination = UrlProcessor.process(pageUrl, meta, true);
18
+ if (parameters) {
19
+ const searchParams = parameters.map(({ name, value }) => `${encodeURIComponent(name)}=${encodeURIComponent(value)}`).join('&');
20
+ destination += '?' + searchParams;
21
+ }
16
22
  console.debug(`Redirecting shortcut content [${meta.path}] to`, destination);
17
23
  redirect(destination, RedirectType.replace);
18
24
  }
@@ -1 +1 @@
1
- {"version":3,"file":"validateShortcut.js","sourceRoot":"","sources":["../src/guillotine/validateShortcut.ts"],"names":[],"mappings":"AAGA,OAAO,EAAC,QAAQ,EAAE,QAAQ,EAAE,YAAY,EAAC,MAAM,iBAAiB,CAAC;AACjE,OAAO,EAAC,WAAW,EAAC,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAC,WAAW,EAAC,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAC,YAAY,EAAC,MAAM,wBAAwB,CAAC;AAGpD,MAAM,UAAU,gBAAgB,CAAC,KAAyB;;IACtD,MAAM,EAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAC,GAAG,KAAK,CAAC;IAClC,MAAM,OAAO,GAAG,MAAA,MAAA,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,GAAG,0CAAE,IAAI,0CAAE,MAAM,0CAAE,OAAO,CAAC;IACjD,IAAI,IAAI,CAAC,IAAI,KAAK,eAAe,IAAI,OAAO,EAAE,CAAC;QAC3C,IAAI,IAAI,CAAC,UAAU,KAAK,WAAW,CAAC,IAAI,EAAE,CAAC;YACvC,oDAAoD;YACpD,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,kCAAkC,WAAW,CAAC,IAAI,cAAc,CAAC,CAAC;YACpF,QAAQ,EAAE,CAAC;QACf,CAAC;QAED,MAAM,WAAW,GAAG,YAAY,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QAC9D,OAAO,CAAC,KAAK,CAAC,iCAAiC,IAAI,CAAC,IAAI,MAAM,EAAE,WAAW,CAAC,CAAC;QAC7E,QAAQ,CAAC,WAAW,EAAE,YAAY,CAAC,OAAO,CAAC,CAAC;IAChD,CAAC;IAED,uCAAuC;IACvC,kDAAkD;IAClD,MAAM,YAAY,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,UAAU,KAAK,WAAW,CAAC,IAAI,CAAC;IAErF,MAAM,sBAAsB,GAAG,IAAI,CAAC,UAAU,KAAK,WAAW,CAAC,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,QAAQ,CAAC;IAErG,MAAM,UAAU,GAAG,CAAC,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,YAAY,IAAI,sBAAsB,CAAC;IAE7F,IAAI,UAAU,EAAE,CAAC;QACb,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,8BAA8B,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC;QAC9D,QAAQ,EAAE,CAAC;IACf,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"validateShortcut.js","sourceRoot":"","sources":["../src/guillotine/validateShortcut.ts"],"names":[],"mappings":"AAGA,OAAO,EAAC,QAAQ,EAAE,QAAQ,EAAE,YAAY,EAAC,MAAM,iBAAiB,CAAC;AACjE,OAAO,EAAC,WAAW,EAAC,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAC,WAAW,EAAC,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAC,YAAY,EAAC,MAAM,wBAAwB,CAAC;AAGpD,MAAM,UAAU,gBAAgB,CAAC,KAAyB;;IACtD,MAAM,EAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAC,GAAG,KAAK,CAAC;IAClC,MAAM,OAAO,GAAG,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,GAAG,0CAAE,IAAI,CAAC;IAChC,MAAM,OAAO,GAAG,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,MAAM,0CAAE,OAAO,CAAC;IACzC,MAAM,UAAU,GAAG,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,UAAU,CAAC;IACvC,IAAI,IAAI,CAAC,IAAI,KAAK,eAAe,IAAI,OAAO,EAAE,CAAC;QAC3C,IAAI,IAAI,CAAC,UAAU,KAAK,WAAW,CAAC,IAAI,EAAE,CAAC;YACvC,oDAAoD;YACpD,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,kCAAkC,IAAI,CAAC,UAAU,cAAc,CAAC,CAAC;YACnF,QAAQ,EAAE,CAAC;QACf,CAAC;QAED,IAAI,WAAW,GAAG,YAAY,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QAC5D,IAAI,UAAU,EAAE,CAAC;YACb,MAAM,YAAY,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,EAAC,IAAI,EAAE,KAAK,EAAC,EAAE,EAAE,CAAC,GAAG,kBAAkB,CAAC,IAAI,CAAC,IAAI,kBAAkB,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAC7H,WAAW,IAAI,GAAG,GAAG,YAAY,CAAC;QACtC,CAAC;QACD,OAAO,CAAC,KAAK,CAAC,iCAAiC,IAAI,CAAC,IAAI,MAAM,EAAE,WAAW,CAAC,CAAC;QAC7E,QAAQ,CAAC,WAAW,EAAE,YAAY,CAAC,OAAO,CAAC,CAAC;IAChD,CAAC;IAED,uCAAuC;IACvC,kDAAkD;IAClD,MAAM,YAAY,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,UAAU,KAAK,WAAW,CAAC,IAAI,CAAC;IAErF,MAAM,sBAAsB,GAAG,IAAI,CAAC,UAAU,KAAK,WAAW,CAAC,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,QAAQ,CAAC;IAErG,MAAM,UAAU,GAAG,CAAC,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,YAAY,IAAI,sBAAsB,CAAC;IAE7F,IAAI,UAAU,EAAE,CAAC;QACb,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,8BAA8B,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC;QAC9D,QAAQ,EAAE,CAAC;IACf,CAAC;AACL,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@enonic/nextjs-adapter",
3
- "version": "3.0.1",
3
+ "version": "3.0.2",
4
4
  "license": "Apache-2.0",
5
5
  "main": "index.js",
6
6
  "author": "Pavel Milkevich <pmi@enonic.com>",
@@ -55,21 +55,21 @@
55
55
  "negotiator": "^0.6.3",
56
56
  "next": "^14.2.3",
57
57
  "react": "18.3.1",
58
- "react-dom": "18.2.0",
58
+ "react-dom": "18.3.1",
59
59
  "unescape": "^1.0.1"
60
60
  },
61
61
  "devDependencies": {
62
62
  "@edge-runtime/jest-environment": "^2.3.10",
63
63
  "@enonic-types/core": "^7.14.1",
64
64
  "@enonic/eslint-config": "^1.2.1",
65
- "@testing-library/jest-dom": "^6.4.2",
66
- "@testing-library/react": "^15.0.5",
65
+ "@testing-library/jest-dom": "^6.4.5",
66
+ "@testing-library/react": "^15.0.7",
67
67
  "@types/negotiator": "^0.6.3",
68
- "@types/node": "^20.12.7",
69
- "@types/react": "^18.3.1",
70
- "@types/react-dom": "^18.2.25",
71
- "@typescript-eslint/eslint-plugin": "^7.7.1",
72
- "@typescript-eslint/parser": "^7.7.1",
68
+ "@types/node": "^20.12.11",
69
+ "@types/react": "^18.3.2",
70
+ "@types/react-dom": "^18.3.0",
71
+ "@typescript-eslint/eslint-plugin": "^7.8.0",
72
+ "@typescript-eslint/parser": "^7.8.0",
73
73
  "concurrently": "^8.2.2",
74
74
  "cpy-cli": "^5.0.0",
75
75
  "del-cli": "^5.1.0",
@@ -1 +1 @@
1
- export declare const getShortcutQuery = "\n query($path:ID!){\n guillotine {\n get(key:$path) {\n ... on base_Shortcut {\n data {\n target {\n pageUrl(type: absolute)\n }\n }\n }\n }\n }\n }";
1
+ export declare const getShortcutQuery = "\n query($path:ID!){\n guillotine {\n get(key:$path) {\n ... on base_Shortcut {\n data {\n target {\n pageUrl(type: absolute)\n }\n parameters {\n name\n value\n }\n }\n }\n }\n }\n }";
package/query/Shortcut.js CHANGED
@@ -7,6 +7,10 @@ export const getShortcutQuery = `
7
7
  target {
8
8
  pageUrl(type: absolute)
9
9
  }
10
+ parameters {
11
+ name
12
+ value
13
+ }
10
14
  }
11
15
  }
12
16
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Shortcut.js","sourceRoot":"","sources":["../src/query/Shortcut.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,gBAAgB,GAAG;;;;;;;;;;;;;IAa5B,CAAC"}
1
+ {"version":3,"file":"Shortcut.js","sourceRoot":"","sources":["../src/query/Shortcut.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,gBAAgB,GAAG;;;;;;;;;;;;;;;;;IAiB5B,CAAC"}
@@ -9,15 +9,21 @@ import {UrlProcessor} from '../common/UrlProcessor';
9
9
 
10
10
  export function validateShortcut(props: FetchContentResult): void {
11
11
  const {data, meta, error} = props;
12
- const pageUrl = data?.get?.data?.target?.pageUrl;
12
+ const dataObj = data?.get?.data;
13
+ const pageUrl = dataObj?.target?.pageUrl;
14
+ const parameters = dataObj?.parameters;
13
15
  if (meta.type === 'base:shortcut' && pageUrl) {
14
16
  if (meta.renderMode !== RENDER_MODE.NEXT) {
15
17
  // do not show shortcut targets in preview/edit mode
16
- console.warn(404, `Shortcuts are not available in ${RENDER_MODE.NEXT} render mode`);
18
+ console.warn(404, `Shortcuts are not available in ${meta.renderMode} render mode`);
17
19
  notFound();
18
20
  }
19
21
 
20
- const destination = UrlProcessor.process(pageUrl, meta, true);
22
+ let destination = UrlProcessor.process(pageUrl, meta, true);
23
+ if (parameters) {
24
+ const searchParams = parameters.map(({name, value}) => `${encodeURIComponent(name)}=${encodeURIComponent(value)}`).join('&');
25
+ destination += '?' + searchParams;
26
+ }
21
27
  console.debug(`Redirecting shortcut content [${meta.path}] to`, destination);
22
28
  redirect(destination, RedirectType.replace);
23
29
  }
@@ -34,4 +40,4 @@ export function validateShortcut(props: FetchContentResult): void {
34
40
  console.warn(404, `Can not render content at [${meta.path}]`);
35
41
  notFound();
36
42
  }
37
- }
43
+ }
@@ -7,6 +7,10 @@ export const getShortcutQuery = `
7
7
  target {
8
8
  pageUrl(type: absolute)
9
9
  }
10
+ parameters {
11
+ name
12
+ value
13
+ }
10
14
  }
11
15
  }
12
16
  }
@@ -1,8 +1,5 @@
1
1
  import {DOMNode} from 'html-react-parser';
2
- import type {
3
- RENDER_MODE,
4
- XP_REQUEST_TYPE,
5
- } from '../common/constants';
2
+ import type {RENDER_MODE, XP_REQUEST_TYPE} from '../common/constants';
6
3
  import type {
7
4
  FragmentData,
8
5
  LayoutData,
@@ -130,7 +127,7 @@ export type Replacer = (
130
127
  renderMacroInEditMode: boolean
131
128
  ) => ReplacerResult;
132
129
 
133
- export type ReplacerResult = JSX.Element | object | void | undefined | null | false;
130
+ export type ReplacerResult = JSX.Element | DOMNode;
134
131
 
135
132
  export interface RichTextViewProps {
136
133
  data: RichTextData
@@ -139,4 +136,4 @@ export interface RichTextViewProps {
139
136
  tag?: string
140
137
  renderMacroInEditMode?: boolean
141
138
  customReplacer?: Replacer
142
- }
139
+ }
@@ -3,16 +3,15 @@ import type {MetaData, Replacer, ReplacerResult, RichTextData, RichTextViewProps
3
3
 
4
4
 
5
5
  import {getUrl, UrlProcessor} from '../common/UrlProcessor';
6
- import HTMLReactParser, {DOMNode} from 'html-react-parser';
6
+ import HTMLReactParser, {DOMNode, domToReact} from 'html-react-parser';
7
7
  import {ElementType} from 'domelementtype';
8
8
  import BaseMacro from './BaseMacro';
9
9
  import Link from 'next/link';
10
- import {Text} from 'domhandler';
11
10
 
12
11
 
13
12
  export function createReplacer(allData: RichTextData, meta: MetaData, renderMacroInEditMode = true, customReplacer?: Replacer): (domNode: DOMNode) => ReplacerResult {
14
13
  // eslint-disable-next-line react/display-name
15
- return (domNode: DOMNode): ReplacerResult => {
14
+ const replacerFn = (domNode: DOMNode): ReplacerResult => {
16
15
  if (domNode.type !== ElementType.Tag) {
17
16
  return domNode;
18
17
  }
@@ -41,8 +40,8 @@ export function createReplacer(allData: RichTextData, meta: MetaData, renderMacr
41
40
  const href = el.attribs['href'];
42
41
 
43
42
  if (ref && href) {
44
- const textChild = el.children?.find(c => c.type === ElementType.Text) as Text;
45
- return <Link href={getUrl(href, meta)}>{textChild?.data}</Link>;
43
+ const domNodes = el.children as DOMNode[];
44
+ return <Link href={getUrl(href, meta)}>{domToReact(domNodes, {replace: replacerFn})}</Link>;
46
45
  }
47
46
  break;
48
47
  case UrlProcessor.MACRO_TAG:
@@ -63,6 +62,7 @@ export function createReplacer(allData: RichTextData, meta: MetaData, renderMacr
63
62
  }
64
63
  return el;
65
64
  };
65
+ return replacerFn;
66
66
  }
67
67
 
68
68
  const RichTextView = ({className, tag, data, meta, renderMacroInEditMode, customReplacer}: RichTextViewProps) => {
@@ -93,7 +93,7 @@ export interface RegionsProps {
93
93
  meta: MetaData;
94
94
  }
95
95
  export type Replacer = (domNode: DOMNode, data: RichTextData, meta: MetaData, renderMacroInEditMode: boolean) => ReplacerResult;
96
- export type ReplacerResult = JSX.Element | object | void | undefined | null | false;
96
+ export type ReplacerResult = JSX.Element | DOMNode;
97
97
  export interface RichTextViewProps {
98
98
  data: RichTextData;
99
99
  meta: MetaData;
@@ -1,12 +1,11 @@
1
1
  import { getUrl, UrlProcessor } from '../common/UrlProcessor';
2
- import HTMLReactParser from 'html-react-parser';
2
+ import HTMLReactParser, { domToReact } from 'html-react-parser';
3
3
  import { ElementType } from 'domelementtype';
4
4
  import BaseMacro from './BaseMacro';
5
5
  import Link from 'next/link';
6
6
  export function createReplacer(allData, meta, renderMacroInEditMode = true, customReplacer) {
7
7
  // eslint-disable-next-line react/display-name
8
- return (domNode) => {
9
- var _a;
8
+ const replacerFn = (domNode) => {
10
9
  if (domNode.type !== ElementType.Tag) {
11
10
  return domNode;
12
11
  }
@@ -32,8 +31,8 @@ export function createReplacer(allData, meta, renderMacroInEditMode = true, cust
32
31
  ref = el.attribs[UrlProcessor.LINK_ATTR];
33
32
  const href = el.attribs['href'];
34
33
  if (ref && href) {
35
- const textChild = (_a = el.children) === null || _a === void 0 ? void 0 : _a.find(c => c.type === ElementType.Text);
36
- return <Link href={getUrl(href, meta)}>{textChild === null || textChild === void 0 ? void 0 : textChild.data}</Link>;
34
+ const domNodes = el.children;
35
+ return <Link href={getUrl(href, meta)}>{domToReact(domNodes, { replace: replacerFn })}</Link>;
37
36
  }
38
37
  break;
39
38
  case UrlProcessor.MACRO_TAG:
@@ -54,6 +53,7 @@ export function createReplacer(allData, meta, renderMacroInEditMode = true, cust
54
53
  }
55
54
  return el;
56
55
  };
56
+ return replacerFn;
57
57
  }
58
58
  const RichTextView = ({ className, tag, data, meta, renderMacroInEditMode, customReplacer }) => {
59
59
  const CustomTag = tag || 'section';
@@ -1 +1 @@
1
- {"version":3,"file":"RichTextView.jsx","sourceRoot":"","sources":["../src/views/RichTextView.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RichTextView.jsx","sourceRoot":"","sources":["../src/views/RichTextView.tsx"],"names":[],"mappings":"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"}