@enonic/nextjs-adapter 3.0.7 → 3.1.0-B1

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.
@@ -1,3 +1,3 @@
1
1
  import type { FetchContentResult } from '../types';
2
2
  import { RENDER_MODE, XP_REQUEST_TYPE } from '../common/constants';
3
- export declare function buildErrorResponse(requestType: XP_REQUEST_TYPE, renderMode: RENDER_MODE, apiUrl: string, baseUrl: string, locale: string, defaultLocale: string, contentPath?: string): (code?: string, message?: string) => FetchContentResult;
3
+ export declare function buildErrorResponse(requestType: XP_REQUEST_TYPE, renderMode: RENDER_MODE, apiUrl: string, baseUrl: string, locale: string, defaultLocale: string, contentPath?: string, contentId?: string): (code?: string, message?: string) => FetchContentResult;
@@ -1,4 +1,4 @@
1
- export function buildErrorResponse(requestType, renderMode, apiUrl, baseUrl, locale, defaultLocale, contentPath) {
1
+ export function buildErrorResponse(requestType, renderMode, apiUrl, baseUrl, locale, defaultLocale, contentPath, contentId) {
2
2
  return function (code = '500', message = 'Unknown error') {
3
3
  return {
4
4
  error: {
@@ -9,6 +9,7 @@ export function buildErrorResponse(requestType, renderMode, apiUrl, baseUrl, loc
9
9
  common: null,
10
10
  data: null,
11
11
  meta: {
12
+ id: contentId || '',
12
13
  type: '',
13
14
  requestType: requestType,
14
15
  renderMode: renderMode,
@@ -1 +1 @@
1
- {"version":3,"file":"buildErrorResponse.js","sourceRoot":"","sources":["../src/guillotine/buildErrorResponse.ts"],"names":[],"mappings":"AAWA,MAAM,UAAU,kBAAkB,CAAC,WAA4B,EAAE,UAAuB,EACpF,MAAc,EAAE,OAAe,EAAE,MAAc,EAAE,aAAqB,EACtE,WAAsB;IAEtB,OAAO,UAAU,IAAI,GAAG,KAAK,EAAE,OAAO,GAAG,eAAe;QACpD,OAAO;YACH,KAAK,EAAE;gBACH,IAAI;gBACJ,OAAO;aACV;YACD,IAAI,EAAE,IAAI;YACV,MAAM,EAAE,IAAI;YACZ,IAAI,EAAE,IAAI;YACV,IAAI,EAAE;gBACF,IAAI,EAAE,EAAE;gBACR,WAAW,EAAE,WAAW;gBACxB,UAAU,EAAE,UAAU;gBACtB,IAAI,EAAE,WAAW,IAAI,EAAE;gBACvB,SAAS,EAAE,KAAK;gBAChB,QAAQ,EAAE,KAAK;gBACf,MAAM;gBACN,OAAO;gBACP,MAAM;gBACN,aAAa;aAChB;SACJ,CAAC;IACN,CAAC,CAAC;AACN,CAAC"}
1
+ {"version":3,"file":"buildErrorResponse.js","sourceRoot":"","sources":["../src/guillotine/buildErrorResponse.ts"],"names":[],"mappings":"AAMA,MAAM,UAAU,kBAAkB,CAAC,WAA4B,EAAE,UAAuB,EACpF,MAAc,EAAE,OAAe,EAAE,MAAc,EAAE,aAAqB,EACvC,WAAqB,EAAE,SAAkB;IAExE,OAAO,UAAU,IAAI,GAAG,KAAK,EAAE,OAAO,GAAG,eAAe;QACpD,OAAO;YACH,KAAK,EAAE;gBACH,IAAI;gBACJ,OAAO;aACV;YACD,IAAI,EAAE,IAAI;YACV,MAAM,EAAE,IAAI;YACZ,IAAI,EAAE,IAAI;YACV,IAAI,EAAE;gBACF,EAAE,EAAE,SAAS,IAAI,EAAE;gBACnB,IAAI,EAAE,EAAE;gBACR,WAAW,EAAE,WAAW;gBACxB,UAAU,EAAE,UAAU;gBACtB,IAAI,EAAE,WAAW,IAAI,EAAE;gBACvB,SAAS,EAAE,KAAK;gBAChB,QAAQ,EAAE,KAAK;gBACf,MAAM;gBACN,OAAO;gBACP,MAAM;gBACN,aAAa;aAChB;SACJ,CAAC;IACN,CAAC,CAAC;AACN,CAAC"}
@@ -1,12 +1,13 @@
1
1
  import type { MetaData, PageComponent } from '../types';
2
2
  import { RENDER_MODE, XP_REQUEST_TYPE } from '../common/constants';
3
3
  export declare function createMetaData({ apiUrl, baseUrl, components, // Optional NOTE: Doesn't handle null
4
- contentPath, contentType, defaultLocale, locale, pageCmp, // Optional
4
+ contentPath, contentType, contentId, defaultLocale, locale, pageCmp, // Optional
5
5
  renderMode, requestedComponentPath, requestType, }: {
6
6
  apiUrl: string;
7
7
  baseUrl: string;
8
8
  components?: PageComponent[];
9
9
  contentPath: string;
10
+ contentId: string;
10
11
  contentType: string;
11
12
  defaultLocale: string;
12
13
  locale: string;
@@ -1,7 +1,7 @@
1
1
  import { XP_REQUEST_TYPE } from '../common/constants';
2
2
  import { ComponentRegistry } from '../common/ComponentRegistry';
3
3
  export function createMetaData({ apiUrl, baseUrl, components = [], // Optional NOTE: Doesn't handle null
4
- contentPath, contentType, defaultLocale, locale, pageCmp, // Optional
4
+ contentPath, contentType, contentId, defaultLocale, locale, pageCmp, // Optional
5
5
  renderMode, requestedComponentPath, requestType, }) {
6
6
  var _a;
7
7
  // .meta will be visible in final rendered inline props.
@@ -14,6 +14,7 @@ renderMode, requestedComponentPath, requestType, }) {
14
14
  catchAll: false, // catchAll only refers to content type catch-all
15
15
  defaultLocale,
16
16
  locale,
17
+ id: contentId,
17
18
  path: contentPath,
18
19
  renderMode: renderMode,
19
20
  requestType: requestType,
@@ -1 +1 @@
1
- {"version":3,"file":"createMetaData.js","sourceRoot":"","sources":["../src/guillotine/createMetaData.ts"],"names":[],"mappings":"AAOA,OAAO,EAAc,eAAe,EAAC,MAAM,qBAAqB,CAAC;AACjE,OAAO,EAAC,iBAAiB,EAAC,MAAM,6BAA6B,CAAC;AAG9D,MAAM,UAAU,cAAc,CAAC,EAC3B,MAAM,EACN,OAAO,EACP,UAAU,GAAG,EAAE,EAAE,qCAAqC;AACtD,WAAW,EACX,WAAW,EACX,aAAa,EACb,MAAM,EACN,OAAO,EAAE,WAAW;AACpB,UAAU,EACV,sBAAsB,EACtB,WAAW,GAad;;IACG,wDAAwD;IACxD,+DAA+D;IAC/D,qFAAqF;IACrF,MAAM,IAAI,GAAa;QACnB,MAAM;QACN,OAAO;QACP,SAAS,EAAE,KAAK;QAChB,QAAQ,EAAE,KAAK,EAAE,iDAAiD;QAClE,aAAa;QACb,MAAM;QACN,IAAI,EAAE,WAAW;QACjB,UAAU,EAAE,UAAU;QACtB,WAAW,EAAE,WAAW;QACxB,IAAI,EAAE,WAAW;KACpB,CAAC;IAEF,IAAI,sBAAsB,EAAE,CAAC;QACzB,IAAI,CAAC,kBAAkB,GAAG,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,sBAAsB,CAAC,CAAC;IAC1F,CAAC;IAED,MAAM,QAAQ,GAAG,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,0CAAE,UAAU,CAAC;IAC3C,MAAM,OAAO,GAAG,iBAAiB,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;IAC9D,IAAI,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,KAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;QACrC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;IAC1B,CAAC;SAAM,IAAI,WAAW,KAAK,eAAe,CAAC,SAAS,EAAE,CAAC;QACnD,qEAAqE;QACrE,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;IAC1B,CAAC;SAAM,IAAI,QAAQ,EAAE,CAAC;QAClB,kFAAkF;QAClF,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;IAC1B,CAAC;SAAM,IAAI,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,EAAE,CAAC;QACvB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACtB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;IACzB,CAAC;IAED,OAAO,IAAI,CAAC;AAChB,CAAC"}
1
+ {"version":3,"file":"createMetaData.js","sourceRoot":"","sources":["../src/guillotine/createMetaData.ts"],"names":[],"mappings":"AAGA,OAAO,EAAc,eAAe,EAAC,MAAM,qBAAqB,CAAC;AACjE,OAAO,EAAC,iBAAiB,EAAC,MAAM,6BAA6B,CAAC;AAG9D,MAAM,UAAU,cAAc,CAAC,EACI,MAAM,EACN,OAAO,EACP,UAAU,GAAG,EAAE,EAAE,qCAAqC;AACtD,WAAW,EACX,WAAW,EACX,SAAS,EACT,aAAa,EACb,MAAM,EACN,OAAO,EAAE,WAAW;AACpB,UAAU,EACV,sBAAsB,EACtB,WAAW,GAc7C;;IACG,wDAAwD;IACxD,+DAA+D;IAC/D,qFAAqF;IACrF,MAAM,IAAI,GAAa;QACnB,MAAM;QACN,OAAO;QACP,SAAS,EAAE,KAAK;QAChB,QAAQ,EAAE,KAAK,EAAE,iDAAiD;QAClE,aAAa;QACb,MAAM;QACN,EAAE,EAAE,SAAS;QACb,IAAI,EAAE,WAAW;QACjB,UAAU,EAAE,UAAU;QACtB,WAAW,EAAE,WAAW;QACxB,IAAI,EAAE,WAAW;KACpB,CAAC;IAEF,IAAI,sBAAsB,EAAE,CAAC;QACzB,IAAI,CAAC,kBAAkB,GAAG,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,sBAAsB,CAAC,CAAC;IAC1F,CAAC;IAED,MAAM,QAAQ,GAAG,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,0CAAE,UAAU,CAAC;IAC3C,MAAM,OAAO,GAAG,iBAAiB,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;IAC9D,IAAI,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,KAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;QACrC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;IAC1B,CAAC;SAAM,IAAI,WAAW,KAAK,eAAe,CAAC,SAAS,EAAE,CAAC;QACnD,qEAAqE;QACrE,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;IAC1B,CAAC;SAAM,IAAI,QAAQ,EAAE,CAAC;QAClB,kFAAkF;QAClF,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;IAC1B,CAAC;SAAM,IAAI,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,EAAE,CAAC;QACvB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACtB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;IACzB,CAAC;IAED,OAAO,IAAI,CAAC;AAChB,CAAC"}
@@ -63,7 +63,6 @@ export function fetchContent(context) {
63
63
  const renderMode = getRenderMode(context);
64
64
  let requestType = XP_REQUEST_TYPE.TYPE;
65
65
  const requestContentPath = getCleanContentPathArrayOrThrow400(context.contentPath);
66
- const errorResponse = buildErrorResponse(requestType, renderMode, contentApiUrl, xpBaseUrl, locale, defaultLocale, requestContentPath);
67
66
  try {
68
67
  const [siteRelativeContentPath, componentPath] = getContentAndComponentPaths(requestContentPath);
69
68
  if (componentPath) {
@@ -73,8 +72,9 @@ export function fetchContent(context) {
73
72
  // ///////////// FIRST GUILLOTINE CALL FOR METADATA /////////////////
74
73
  const metaResult = yield fetchMetaData(contentApiUrl, '${site}/' + siteRelativeContentPath, mapping, outHeaders);
75
74
  // ///////////////////////////////////////////////////////////////////////
76
- const { _path, type } = metaResult.meta || {};
75
+ const { _id, _path, type } = metaResult.meta || {};
77
76
  const contentPath = _path || siteRelativeContentPath;
77
+ const errorResponse = buildErrorResponse(requestType, renderMode, contentApiUrl, xpBaseUrl, locale, defaultLocale, requestContentPath, _id);
78
78
  if (metaResult.error) {
79
79
  console.error(metaResult.error);
80
80
  return errorResponse(metaResult.error.code, metaResult.error.message);
@@ -187,6 +187,7 @@ export function fetchContent(context) {
187
187
  components,
188
188
  contentPath: siteRelativeContentPath,
189
189
  contentType: type,
190
+ contentId: _id,
190
191
  defaultLocale,
191
192
  locale,
192
193
  pageCmp: page,
@@ -213,6 +214,7 @@ export function fetchContent(context) {
213
214
  message: e.message,
214
215
  };
215
216
  }
217
+ const errorResponse = buildErrorResponse(requestType, renderMode, contentApiUrl, xpBaseUrl, locale, defaultLocale, requestContentPath);
216
218
  return errorResponse(error.code, error.message);
217
219
  }
218
220
  });
@@ -1 +1 @@
1
- {"version":3,"file":"fetchContent.js","sourceRoot":"","sources":["../src/guillotine/fetchContent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fetchContent.js","sourceRoot":"","sources":["../src/guillotine/fetchContent.ts"],"names":[],"mappings":"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"}
@@ -56,6 +56,7 @@ export function getMetaQuery(pageFragment) {
56
56
  return `query($path:ID!) {
57
57
  guillotine {
58
58
  get(key:$path) {
59
+ _id
59
60
  _path
60
61
  type
61
62
  ${indent(pageFragment || '', 12)}
@@ -1 +1 @@
1
- {"version":3,"file":"getMetaData.js","sourceRoot":"","sources":["../src/guillotine/getMetaData.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,iBAAiB,EAAC,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAC,WAAW,EAAC,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAC,aAAa,EAAC,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAC,MAAM,EAAC,MAAM,iBAAiB,CAAC;AAGvC,MAAM,eAAe,GAAG,GAAW,EAAE;IACjC,OAAO,WAAW,CAAC,iBAAiB,CAAC,QAAQ,EAAE,CAAC,CAAC;AACrD,CAAC,CAAC;AAEF,MAAM,iBAAiB,GAAG,GAAW,EAAE;IACnC,OAAO,WAAW,CAAC,iBAAiB,CAAC,UAAU,EAAE,CAAC,CAAC;AACvD,CAAC,CAAC;AAEF,MAAM,eAAe,GAAG,GAAW,EAAE;IACjC,OAAO,WAAW,CAAC,iBAAiB,CAAC,QAAQ,EAAE,CAAC,CAAC;AACrD,CAAC,CAAC;AAGF;;GAEG;AACH,MAAM,eAAe,GAAG,GAAG,EAAE,CAAC;;;;EAI5B,MAAM,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC;;;;;;;EAO5B,MAAM,CAAC,iBAAiB,EAAE,EAAE,CAAC,CAAC;;;EAG9B,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;;;;EAIjC,MAAM,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC;;;;;;;EAO5B,CAAC;AAEH,+CAA+C;AAC/C,MAAM,CAAC,MAAM,iBAAiB,GAAG,GAAG,EAAE,CAAC;;;;;EAKrC,MAAM,CAAC,eAAe,EAAE,EAAC,EAAE,CAAC;;;;EAI5B,MAAM,CAAC,eAAe,EAAE,EAAC,CAAC,CAAC;EAC3B,CAAC;AAEH,MAAM,UAAU,YAAY,CAAC,YAAqB;IAC9C,OAAO;;;;;EAKT,MAAM,CAAC,YAAY,IAAI,EAAE,EAAE,EAAE,CAAC;;;EAG9B,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"getMetaData.js","sourceRoot":"","sources":["../src/guillotine/getMetaData.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,iBAAiB,EAAC,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAC,WAAW,EAAC,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAC,aAAa,EAAC,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAC,MAAM,EAAC,MAAM,iBAAiB,CAAC;AAGvC,MAAM,eAAe,GAAG,GAAW,EAAE;IACjC,OAAO,WAAW,CAAC,iBAAiB,CAAC,QAAQ,EAAE,CAAC,CAAC;AACrD,CAAC,CAAC;AAEF,MAAM,iBAAiB,GAAG,GAAW,EAAE;IACnC,OAAO,WAAW,CAAC,iBAAiB,CAAC,UAAU,EAAE,CAAC,CAAC;AACvD,CAAC,CAAC;AAEF,MAAM,eAAe,GAAG,GAAW,EAAE;IACjC,OAAO,WAAW,CAAC,iBAAiB,CAAC,QAAQ,EAAE,CAAC,CAAC;AACrD,CAAC,CAAC;AAGF;;GAEG;AACH,MAAM,eAAe,GAAG,GAAG,EAAE,CAAC;;;;EAI5B,MAAM,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC;;;;;;;EAO5B,MAAM,CAAC,iBAAiB,EAAE,EAAE,CAAC,CAAC;;;EAG9B,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;;;;EAIjC,MAAM,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC;;;;;;;EAO5B,CAAC;AAEH,+CAA+C;AAC/C,MAAM,CAAC,MAAM,iBAAiB,GAAG,GAAG,EAAE,CAAC;;;;;EAKrC,MAAM,CAAC,eAAe,EAAE,EAAC,EAAE,CAAC;;;;EAI5B,MAAM,CAAC,eAAe,EAAE,EAAC,CAAC,CAAC;EAC3B,CAAC;AAEH,MAAM,UAAU,YAAY,CAAC,YAAqB;IAC9C,OAAO;;;;;;EAMT,MAAM,CAAC,YAAY,IAAI,EAAE,EAAE,EAAE,CAAC;;;EAG9B,CAAC;AACH,CAAC"}
@@ -15,18 +15,33 @@ export const richTextQuery = (fieldName) => {
15
15
  }
16
16
  links {
17
17
  ref
18
+ uri
19
+ content {
20
+ _id
21
+ }
18
22
  media {
19
23
  content {
20
24
  _id
25
+ ... on media_Image {
26
+ mediaUrl(type: absolute)
27
+ }
21
28
  }
29
+ intent
22
30
  }
23
31
  }
24
32
  images {
25
33
  ref
26
34
  image {
27
35
  _id
36
+ ... on media_Image {
37
+ imageUrl(scale: "width(768)", type:absolute)
38
+ }
28
39
  }
29
- }
30
- }`;
40
+ style {
41
+ name
42
+ aspectRatio
43
+ filter
44
+ }
45
+ }}`;
31
46
  };
32
47
  //# sourceMappingURL=richTextQuery.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"richTextQuery.js","sourceRoot":"","sources":["../../src/guillotine/metadata/richTextQuery.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,iBAAiB,EAAC,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAC,WAAW,EAAC,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAC,MAAM,EAAC,MAAM,oBAAoB,CAAC;AAG1C,MAAM,gBAAgB,GAAG,GAAW,EAAE;IAClC,OAAO,WAAW,CAAC,iBAAiB,CAAC,SAAS,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;AACpE,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,SAAiB,EAAE,EAAE;IAC/C,OAAO,GAAG,SAAS;;;;;;UAMb,MAAM,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC;;;;;;;;;;;;;;;;EAgBrC,CAAC;AACH,CAAC,CAAC"}
1
+ {"version":3,"file":"richTextQuery.js","sourceRoot":"","sources":["../../src/guillotine/metadata/richTextQuery.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,iBAAiB,EAAC,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAC,WAAW,EAAC,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAC,MAAM,EAAC,MAAM,oBAAoB,CAAC;AAG1C,MAAM,gBAAgB,GAAG,GAAW,EAAE;IAClC,OAAO,WAAW,CAAC,iBAAiB,CAAC,SAAS,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;AACpE,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,SAAiB,EAAE,EAAE;IAC/C,OAAO,GAAG,SAAS;;;;;;UAMb,MAAM,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA+BhC,CAAC;AACR,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@enonic/nextjs-adapter",
3
- "version": "3.0.7",
3
+ "version": "3.1.0-B1",
4
4
  "license": "Apache-2.0",
5
5
  "main": "index.js",
6
6
  "author": "Pavel Milkevich <pmi@enonic.com>",
@@ -50,38 +50,39 @@
50
50
  "test": "jest --no-cache --coverage"
51
51
  },
52
52
  "dependencies": {
53
+ "@enonic/react-components": "^5.0.0-RC5",
53
54
  "@formatjs/intl-localematcher": "^0.5.4",
54
- "html-react-parser": "^5.1.13",
55
+ "html-react-parser": "^5.1.16",
55
56
  "negotiator": "^0.6.3",
56
- "next": "^14.2.6",
57
+ "next": "^14.2.13",
57
58
  "react": "18.3.1",
58
59
  "react-dom": "18.3.1",
59
60
  "unescape": "^1.0.1"
60
61
  },
61
62
  "devDependencies": {
62
- "@edge-runtime/jest-environment": "^3.0.2",
63
+ "@edge-runtime/jest-environment": "^3.0.3",
63
64
  "@enonic-types/core": "^7.14.4",
64
65
  "@enonic/eslint-config": "^1.2.1",
65
66
  "@testing-library/jest-dom": "^6.5.0",
66
- "@testing-library/react": "^16.0.0",
67
+ "@testing-library/react": "^16.0.1",
67
68
  "@types/negotiator": "^0.6.3",
68
- "@types/node": "^22.5.0",
69
- "@types/react": "^18.3.4",
69
+ "@types/node": "^22.7.4",
70
+ "@types/react": "^18.3.10",
70
71
  "@types/react-dom": "^18.3.0",
71
72
  "@typescript-eslint/eslint-plugin": "^7.17.0",
72
73
  "@typescript-eslint/parser": "^7.18.0",
73
- "concurrently": "^8.2.2",
74
+ "concurrently": "^9.0.1",
74
75
  "cpy-cli": "^5.0.0",
75
76
  "del-cli": "^5.1.0",
76
- "eslint": "^8.57.0",
77
- "eslint-plugin-react": "^7.35.0",
77
+ "eslint": "^8.57.1",
78
+ "eslint-plugin-react": "^7.37.0",
78
79
  "jest": "^29.7.0",
79
80
  "jest-environment-jsdom": "^29.7.0",
80
81
  "madge": "^8.0.0",
81
82
  "mkdirp": "^3.0.1",
82
83
  "ts-jest": "^29.2.5",
83
84
  "ts-node": "^10.9.2",
84
- "typescript": "^5.5.4"
85
+ "typescript": "^5.6.2"
85
86
  },
86
87
  "types": "index.d.ts"
87
88
  }
@@ -1,17 +1,12 @@
1
- import type {
2
- FetchContentResult,
3
- } from '../types';
1
+ import type {FetchContentResult} from '../types';
4
2
 
5
3
 
6
- import {
7
- RENDER_MODE,
8
- XP_REQUEST_TYPE,
9
- } from '../common/constants';
4
+ import {RENDER_MODE, XP_REQUEST_TYPE} from '../common/constants';
10
5
 
11
6
 
12
7
  export function buildErrorResponse(requestType: XP_REQUEST_TYPE, renderMode: RENDER_MODE,
13
8
  apiUrl: string, baseUrl: string, locale: string, defaultLocale: string,
14
- contentPath ? : string): (code ? : string, message ? : string) => FetchContentResult {
9
+ contentPath ?: string, contentId?: string): (code ?: string, message ?: string) => FetchContentResult {
15
10
 
16
11
  return function (code = '500', message = 'Unknown error') {
17
12
  return {
@@ -23,6 +18,7 @@ export function buildErrorResponse(requestType: XP_REQUEST_TYPE, renderMode: REN
23
18
  common: null,
24
19
  data: null,
25
20
  meta: {
21
+ id: contentId || '',
26
22
  type: '',
27
23
  requestType: requestType,
28
24
  renderMode: renderMode,
@@ -36,4 +32,4 @@ export function buildErrorResponse(requestType: XP_REQUEST_TYPE, renderMode: REN
36
32
  },
37
33
  };
38
34
  };
39
- }
35
+ }
@@ -1,8 +1,4 @@
1
- import type {
2
- ComponentDefinition,
3
- MetaData,
4
- PageComponent,
5
- } from '../types';
1
+ import type {MetaData, PageComponent} from '../types';
6
2
 
7
3
 
8
4
  import {RENDER_MODE, XP_REQUEST_TYPE} from '../common/constants';
@@ -10,22 +6,24 @@ import {ComponentRegistry} from '../common/ComponentRegistry';
10
6
 
11
7
 
12
8
  export function createMetaData({
13
- apiUrl,
14
- baseUrl,
15
- components = [], // Optional NOTE: Doesn't handle null
16
- contentPath,
17
- contentType,
18
- defaultLocale,
19
- locale,
20
- pageCmp, // Optional
21
- renderMode,
22
- requestedComponentPath,
23
- requestType,
24
- }: {
9
+ apiUrl,
10
+ baseUrl,
11
+ components = [], // Optional NOTE: Doesn't handle null
12
+ contentPath,
13
+ contentType,
14
+ contentId,
15
+ defaultLocale,
16
+ locale,
17
+ pageCmp, // Optional
18
+ renderMode,
19
+ requestedComponentPath,
20
+ requestType,
21
+ }: {
25
22
  apiUrl: string
26
23
  baseUrl: string
27
24
  components?: PageComponent[]
28
25
  contentPath: string
26
+ contentId: string
29
27
  contentType: string
30
28
  defaultLocale: string
31
29
  locale: string
@@ -44,6 +42,7 @@ export function createMetaData({
44
42
  catchAll: false, // catchAll only refers to content type catch-all
45
43
  defaultLocale,
46
44
  locale,
45
+ id: contentId,
47
46
  path: contentPath,
48
47
  renderMode: renderMode,
49
48
  requestType: requestType,
@@ -70,4 +69,4 @@ export function createMetaData({
70
69
  }
71
70
 
72
71
  return meta;
73
- }
72
+ }
@@ -67,7 +67,6 @@ export async function fetchContent(context: Context): Promise<FetchContentResult
67
67
  const renderMode = getRenderMode(context);
68
68
  let requestType = XP_REQUEST_TYPE.TYPE;
69
69
  const requestContentPath = getCleanContentPathArrayOrThrow400(context.contentPath);
70
- const errorResponse = buildErrorResponse(requestType, renderMode, contentApiUrl, xpBaseUrl, locale, defaultLocale, requestContentPath);
71
70
 
72
71
  try {
73
72
  const [siteRelativeContentPath, componentPath] = getContentAndComponentPaths(requestContentPath);
@@ -80,9 +79,11 @@ export async function fetchContent(context: Context): Promise<FetchContentResult
80
79
  const metaResult = await fetchMetaData(contentApiUrl, '${site}/' + siteRelativeContentPath, mapping, outHeaders);
81
80
  // ///////////////////////////////////////////////////////////////////////
82
81
 
83
- const {_path, type} = metaResult.meta || {};
82
+ const {_id, _path, type} = metaResult.meta || {};
84
83
  const contentPath = _path || siteRelativeContentPath;
85
84
 
85
+ const errorResponse = buildErrorResponse(requestType, renderMode, contentApiUrl, xpBaseUrl, locale, defaultLocale, requestContentPath, _id);
86
+
86
87
  if (metaResult.error) {
87
88
  console.error(metaResult.error);
88
89
  return errorResponse(metaResult.error.code, metaResult.error.message);
@@ -213,6 +214,7 @@ export async function fetchContent(context: Context): Promise<FetchContentResult
213
214
  components,
214
215
  contentPath: siteRelativeContentPath,
215
216
  contentType: type,
217
+ contentId: _id,
216
218
  defaultLocale,
217
219
  locale,
218
220
  pageCmp: page,
@@ -239,6 +241,7 @@ export async function fetchContent(context: Context): Promise<FetchContentResult
239
241
  message: e.message,
240
242
  };
241
243
  }
244
+ const errorResponse = buildErrorResponse(requestType, renderMode, contentApiUrl, xpBaseUrl, locale, defaultLocale, requestContentPath);
242
245
  return errorResponse(error.code, error.message);
243
246
  }
244
247
  }
@@ -64,6 +64,7 @@ export function getMetaQuery(pageFragment?: string): string {
64
64
  return `query($path:ID!) {
65
65
  guillotine {
66
66
  get(key:$path) {
67
+ _id
67
68
  _path
68
69
  type
69
70
  ${indent(pageFragment || '', 12)}
@@ -18,17 +18,32 @@ export const richTextQuery = (fieldName: string) => {
18
18
  }
19
19
  links {
20
20
  ref
21
+ uri
22
+ content {
23
+ _id
24
+ }
21
25
  media {
22
26
  content {
23
27
  _id
28
+ ... on media_Image {
29
+ mediaUrl(type: absolute)
30
+ }
24
31
  }
32
+ intent
25
33
  }
26
34
  }
27
35
  images {
28
36
  ref
29
37
  image {
30
38
  _id
39
+ ... on media_Image {
40
+ imageUrl(scale: "width(768)", type:absolute)
41
+ }
31
42
  }
32
- }
33
- }`;
34
- };
43
+ style {
44
+ name
45
+ aspectRatio
46
+ filter
47
+ }
48
+ }}`;
49
+ };
@@ -1,5 +1,11 @@
1
1
  import type {XP_COMPONENT_TYPE} from '../common/constants';
2
2
  import type {Context} from './next';
3
+ import type {
4
+ RichTextData as CompsRichTextData,
5
+ LinkData as CompsLinkData,
6
+ ImageData as CompsImageData,
7
+ MacroData as CompsMacroData,
8
+ } from '@enonic/react-components';
3
9
 
4
10
  // Differs from ComponentDefinition to avoid storing catchAll on all components
5
11
  // catchAll is calculated in getType instead
@@ -30,7 +36,7 @@ export interface ComponentDescriptor {
30
36
  queryAndVariables?: QueryAndVariables;
31
37
  }
32
38
 
33
- export type ComponentDictionary = Record<string,ComponentDefinitionParams>;
39
+ export type ComponentDictionary = Record<string, ComponentDefinitionParams>;
34
40
 
35
41
  // NB! Always return null or empty object from processor for next is unable to serialize undefined
36
42
  export type DataProcessor = (data: any, context?: Context, config?: any) => Promise<Record<string, any>>;
@@ -42,12 +48,7 @@ export interface FragmentData {
42
48
  }
43
49
  }
44
50
 
45
- export interface ImageData {
46
- ref: string;
47
- image: {
48
- id: string,
49
- } | null,
50
- }
51
+ export type ImageData = CompsImageData;
51
52
 
52
53
  export interface LayoutData {
53
54
  descriptor: string;
@@ -56,23 +57,11 @@ export interface LayoutData {
56
57
  [customKeysFromQuery: string]: any;
57
58
  }
58
59
 
59
- export interface LinkData {
60
- ref: string,
61
- media: {
62
- content: {
63
- id: string,
64
- }
65
- } | null,
66
- }
60
+ export type LinkData = CompsLinkData;
67
61
 
68
62
  export type MacroConfig = Record<string, any>;
69
63
 
70
- export interface MacroData {
71
- ref: string
72
- name: string
73
- descriptor: string
74
- config: Record<string, MacroConfig>
75
- }
64
+ export type MacroData = CompsMacroData;
76
65
 
77
66
  export interface PageComponent {
78
67
  [key: string]: any; // keeps ts happy when accessing component data field by XP_COMPONENT_TYPE type
@@ -119,19 +108,14 @@ export type SelectedQueryMaybeVariablesFunc =
119
108
  | string
120
109
  | QueryGetter
121
110
  | {
122
- query: string | QueryGetter
123
- variables: VariablesGetter
124
- }
111
+ query: string | QueryGetter
112
+ variables: VariablesGetter
113
+ }
125
114
  | [string | QueryGetter, VariablesGetter];
126
115
 
127
116
  export type RegionTree = Record<string, PageRegion>;
128
117
 
129
- export interface RichTextData {
130
- processedHtml: string
131
- links: LinkData[]
132
- macros: MacroData[]
133
- images: ImageData[]
134
- }
118
+ export type RichTextData = CompsRichTextData;
135
119
 
136
120
  export interface TextData {
137
121
  value: RichTextData;
@@ -144,4 +128,4 @@ export type VariablesGetter = (path: string, context?: Context, config?: any) =>
144
128
  export interface VariablesGetterResult {
145
129
  [variables: string]: any
146
130
  path: string
147
- }
131
+ }
@@ -29,7 +29,7 @@ export interface BaseLayoutProps {
29
29
  }
30
30
 
31
31
  export interface BaseMacroProps {
32
- data: MacroData;
32
+ data: Omit<MacroData, 'ref'>;
33
33
  meta: MetaData;
34
34
  renderInEditMode?: boolean;
35
35
  }
@@ -73,6 +73,7 @@ export interface MacroProps {
73
73
  }
74
74
 
75
75
  export interface MetaData {
76
+ id: string,
76
77
  type: string,
77
78
  path: string,
78
79
  requestType: XP_REQUEST_TYPE,
@@ -75,6 +75,7 @@ export type GuillotineResult = Result & Record<string, any>;
75
75
 
76
76
  export interface MetaResult extends Result {
77
77
  meta?: {
78
+ _id: string
78
79
  _path: string
79
80
  type: string
80
81
  pageAsJson?: PageData
@@ -423,4 +424,4 @@ interface XData_media_cameraInfo_DataConfig {
423
424
  exposureMode: string
424
425
  focusDistance: string
425
426
  orientation: string
426
- }
427
+ }
@@ -1,75 +1,60 @@
1
1
  /// <reference types="react" />
2
- import type {MetaData, Replacer, ReplacerResult, RichTextData, RichTextViewProps} from '../types';
2
+ import type {MetaData, RichTextViewProps, Replacer as OldReplacer, MacroConfig, RichTextData} from '../types';
3
3
 
4
-
5
- import {getUrl, UrlProcessor} from '../common/UrlProcessor';
6
- import HTMLReactParser, {DOMNode, domToReact} from 'html-react-parser';
7
- import {ElementType} from 'domelementtype';
4
+ import {getUrl} from '../common/UrlProcessor';
8
5
  import BaseMacro from './BaseMacro';
9
6
  import Link from 'next/link';
7
+ import type {MacroComponentParams, LinkComponentParams, ImageComponentParams, Replacer as NewReplacer} from '@enonic/react-components';
8
+ import {RichText} from '@enonic/react-components';
9
+ import type {DOMNode} from 'html-react-parser';
10
10
 
11
+ interface ExtraRichTextProps {
12
+ meta: MetaData;
13
+ renderInEditMode?: boolean;
14
+ }
11
15
 
12
- export function createReplacer(allData: RichTextData, meta: MetaData, renderMacroInEditMode = true, customReplacer?: Replacer): (domNode: DOMNode) => ReplacerResult {
13
- // eslint-disable-next-line react/display-name
14
- const replacerFn = (domNode: DOMNode): ReplacerResult => {
15
- if (domNode.type !== ElementType.Tag) {
16
- return domNode;
17
- }
18
-
19
- const el = domNode;
20
- let ref: string;
21
- switch (el.tagName) {
22
- case UrlProcessor.IMG_TAG:
23
- ref = el.attribs[UrlProcessor.IMG_ATTR];
24
- if (ref) {
25
- if (UrlProcessor.isContentImage(ref, allData.images)) {
26
- const src = el.attribs['src'];
27
- if (src) {
28
- el.attribs['src'] = getUrl(src, meta);
29
- }
16
+ const RichTextView = (props: RichTextViewProps) => {
17
+ return <RichText<ExtraRichTextProps>
18
+ data={props.data}
19
+ meta={props.meta}
20
+ className={props.className}
21
+ tag={props.tag}
22
+ replacer={wrapReplacer(props.customReplacer, props.meta, props.renderMacroInEditMode)}
23
+ renderInEditMode={props.renderMacroInEditMode}
24
+ Macro={MacroAdapter}
25
+ Link={LinkAdapter}
26
+ Image={ImageAdapter}
27
+ />;
28
+ };
30
29
 
31
- const srcset = el.attribs['srcset'];
32
- if (srcset) {
33
- el.attribs['srcset'] = UrlProcessor.processSrcSet(srcset, meta);
34
- }
35
- }
36
- }
37
- break;
38
- case UrlProcessor.LINK_TAG:
39
- ref = el.attribs[UrlProcessor.LINK_ATTR];
40
- const href = el.attribs['href'];
30
+ function wrapReplacer(oldReplacer: OldReplacer | undefined, meta: MetaData, renderMacroInEditMode: boolean): NewReplacer {
31
+ if (!oldReplacer) {
32
+ return null;
33
+ }
34
+ return (element: DOMNode, data: RichTextData) => {
35
+ return oldReplacer(element, data, meta, renderMacroInEditMode);
36
+ };
37
+ }
41
38
 
42
- if (ref && href) {
43
- const domNodes = el.children as DOMNode[];
44
- return <Link href={getUrl(href, meta)}>{domToReact(domNodes, {replace: replacerFn})}</Link>;
45
- }
46
- break;
47
- case UrlProcessor.MACRO_TAG:
48
- ref = el.attribs[UrlProcessor.MACRO_ATTR];
49
- const data = ref && allData.macros.find((d) => d.ref === ref);
50
- if (data) {
51
- return <BaseMacro data={data} meta={meta} renderInEditMode={renderMacroInEditMode}/>;
52
- }
53
- break;
54
- default:
55
- if (customReplacer) {
56
- const result = customReplacer(domNode, allData, meta, renderMacroInEditMode);
57
- if (result) {
58
- return result;
59
- }
60
- }
61
- break;
62
- }
63
- return el;
39
+ function MacroAdapter(props: MacroComponentParams<ExtraRichTextProps>) {
40
+ const name = props.descriptor.substring(props.descriptor.indexOf(':') + 1);
41
+ const data = {
42
+ name: name,
43
+ descriptor: props.descriptor,
44
+ config: {
45
+ [name]: props.config as Record<string, MacroConfig>,
46
+ },
64
47
  };
65
- return replacerFn;
48
+
49
+ return <BaseMacro data={data} meta={props.meta} renderInEditMode={props.renderInEditMode}/>;
66
50
  }
67
51
 
68
- const RichTextView = ({className, tag, data, meta, renderMacroInEditMode, customReplacer}: RichTextViewProps) => {
69
- const CustomTag = tag as keyof JSX.IntrinsicElements || 'section';
70
- return <CustomTag className={className}>
71
- {data.processedHtml ? HTMLReactParser(data.processedHtml, {replace: createReplacer(data, meta, renderMacroInEditMode, customReplacer)}) : ''}
72
- </CustomTag>;
73
- };
52
+ function LinkAdapter(props: LinkComponentParams<ExtraRichTextProps>) {
53
+ return <Link href={getUrl(props.href, props.meta)}>{props.children}</Link>;
54
+ }
55
+
56
+ function ImageAdapter(props: ImageComponentParams<ExtraRichTextProps>) {
57
+ return <img src={getUrl(props.src, props.meta)} alt={props.alt} sizes={props.sizes} srcSet={props.srcSet}/>;
58
+ }
74
59
 
75
60
  export default RichTextView;
@@ -1,5 +1,6 @@
1
1
  import type { XP_COMPONENT_TYPE } from '../common/constants';
2
2
  import type { Context } from './next';
3
+ import type { RichTextData as CompsRichTextData, LinkData as CompsLinkData, ImageData as CompsImageData, MacroData as CompsMacroData } from '@enonic/react-components';
3
4
  export interface ComponentDefinitionParams {
4
5
  query?: SelectedQueryMaybeVariablesFunc;
5
6
  configQuery?: string;
@@ -32,32 +33,15 @@ export interface FragmentData {
32
33
  components: PageComponent[];
33
34
  };
34
35
  }
35
- export interface ImageData {
36
- ref: string;
37
- image: {
38
- id: string;
39
- } | null;
40
- }
36
+ export type ImageData = CompsImageData;
41
37
  export interface LayoutData {
42
38
  descriptor: string;
43
39
  config?: any;
44
40
  [customKeysFromQuery: string]: any;
45
41
  }
46
- export interface LinkData {
47
- ref: string;
48
- media: {
49
- content: {
50
- id: string;
51
- };
52
- } | null;
53
- }
42
+ export type LinkData = CompsLinkData;
54
43
  export type MacroConfig = Record<string, any>;
55
- export interface MacroData {
56
- ref: string;
57
- name: string;
58
- descriptor: string;
59
- config: Record<string, MacroConfig>;
60
- }
44
+ export type MacroData = CompsMacroData;
61
45
  export interface PageComponent {
62
46
  [key: string]: any;
63
47
  type: XP_COMPONENT_TYPE;
@@ -97,12 +81,7 @@ export type SelectedQueryMaybeVariablesFunc = string | QueryGetter | {
97
81
  variables: VariablesGetter;
98
82
  } | [string | QueryGetter, VariablesGetter];
99
83
  export type RegionTree = Record<string, PageRegion>;
100
- export interface RichTextData {
101
- processedHtml: string;
102
- links: LinkData[];
103
- macros: MacroData[];
104
- images: ImageData[];
105
- }
84
+ export type RichTextData = CompsRichTextData;
106
85
  export interface TextData {
107
86
  value: RichTextData;
108
87
  }
@@ -14,7 +14,7 @@ export interface BaseLayoutProps {
14
14
  meta: MetaData;
15
15
  }
16
16
  export interface BaseMacroProps {
17
- data: MacroData;
17
+ data: Omit<MacroData, 'ref'>;
18
18
  meta: MetaData;
19
19
  renderInEditMode?: boolean;
20
20
  }
@@ -52,6 +52,7 @@ export interface MacroProps {
52
52
  meta: MetaData;
53
53
  }
54
54
  export interface MetaData {
55
+ id: string;
55
56
  type: string;
56
57
  path: string;
57
58
  requestType: XP_REQUEST_TYPE;
@@ -46,6 +46,7 @@ export interface GuillotineRequestHeaders {
46
46
  export type GuillotineResult = Result & Record<string, any>;
47
47
  export interface MetaResult extends Result {
48
48
  meta?: {
49
+ _id: string;
49
50
  _path: string;
50
51
  type: string;
51
52
  pageAsJson?: PageData;
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
  import type { BaseComponentProps, MetaData } from '../types';
3
- declare const BaseComponent: ({ component, meta, common }: BaseComponentProps) => JSX.Element;
3
+ declare const BaseComponent: ({ component, meta, common }: BaseComponentProps) => React.JSX.Element;
4
4
  export default BaseComponent;
5
5
  export declare const MissingComponent: ({ descriptor, type }: {
6
6
  descriptor?: string;
@@ -1,5 +1,3 @@
1
- import type { MetaData, Replacer, ReplacerResult, RichTextData, RichTextViewProps } from '../types';
2
- import { DOMNode } from 'html-react-parser';
3
- export declare function createReplacer(allData: RichTextData, meta: MetaData, renderMacroInEditMode?: boolean, customReplacer?: Replacer): (domNode: DOMNode) => ReplacerResult;
4
- declare const RichTextView: ({ className, tag, data, meta, renderMacroInEditMode, customReplacer }: RichTextViewProps) => import("react").JSX.Element;
1
+ import type { RichTextViewProps } from '../types';
2
+ declare const RichTextView: (props: RichTextViewProps) => import("react").JSX.Element;
5
3
  export default RichTextView;
@@ -1,65 +1,34 @@
1
- import { getUrl, UrlProcessor } from '../common/UrlProcessor';
2
- import HTMLReactParser, { domToReact } from 'html-react-parser';
3
- import { ElementType } from 'domelementtype';
1
+ import { getUrl } from '../common/UrlProcessor';
4
2
  import BaseMacro from './BaseMacro';
5
3
  import Link from 'next/link';
6
- export function createReplacer(allData, meta, renderMacroInEditMode = true, customReplacer) {
7
- // eslint-disable-next-line react/display-name
8
- const replacerFn = (domNode) => {
9
- if (domNode.type !== ElementType.Tag) {
10
- return domNode;
11
- }
12
- const el = domNode;
13
- let ref;
14
- switch (el.tagName) {
15
- case UrlProcessor.IMG_TAG:
16
- ref = el.attribs[UrlProcessor.IMG_ATTR];
17
- if (ref) {
18
- if (UrlProcessor.isContentImage(ref, allData.images)) {
19
- const src = el.attribs['src'];
20
- if (src) {
21
- el.attribs['src'] = getUrl(src, meta);
22
- }
23
- const srcset = el.attribs['srcset'];
24
- if (srcset) {
25
- el.attribs['srcset'] = UrlProcessor.processSrcSet(srcset, meta);
26
- }
27
- }
28
- }
29
- break;
30
- case UrlProcessor.LINK_TAG:
31
- ref = el.attribs[UrlProcessor.LINK_ATTR];
32
- const href = el.attribs['href'];
33
- if (ref && href) {
34
- const domNodes = el.children;
35
- return <Link href={getUrl(href, meta)}>{domToReact(domNodes, { replace: replacerFn })}</Link>;
36
- }
37
- break;
38
- case UrlProcessor.MACRO_TAG:
39
- ref = el.attribs[UrlProcessor.MACRO_ATTR];
40
- const data = ref && allData.macros.find((d) => d.ref === ref);
41
- if (data) {
42
- return <BaseMacro data={data} meta={meta} renderInEditMode={renderMacroInEditMode}/>;
43
- }
44
- break;
45
- default:
46
- if (customReplacer) {
47
- const result = customReplacer(domNode, allData, meta, renderMacroInEditMode);
48
- if (result) {
49
- return result;
50
- }
51
- }
52
- break;
53
- }
54
- return el;
4
+ import { RichText } from '@enonic/react-components';
5
+ const RichTextView = (props) => {
6
+ return <RichText data={props.data} meta={props.meta} className={props.className} tag={props.tag} replacer={wrapReplacer(props.customReplacer, props.meta, props.renderMacroInEditMode)} renderInEditMode={props.renderMacroInEditMode} Macro={MacroAdapter} Link={LinkAdapter} Image={ImageAdapter}/>;
7
+ };
8
+ function wrapReplacer(oldReplacer, meta, renderMacroInEditMode) {
9
+ if (!oldReplacer) {
10
+ return null;
11
+ }
12
+ return (element, data) => {
13
+ return oldReplacer(element, data, meta, renderMacroInEditMode);
55
14
  };
56
- return replacerFn;
57
15
  }
58
- const RichTextView = ({ className, tag, data, meta, renderMacroInEditMode, customReplacer }) => {
59
- const CustomTag = tag || 'section';
60
- return <CustomTag className={className}>
61
- {data.processedHtml ? HTMLReactParser(data.processedHtml, { replace: createReplacer(data, meta, renderMacroInEditMode, customReplacer) }) : ''}
62
- </CustomTag>;
63
- };
16
+ function MacroAdapter(props) {
17
+ const name = props.descriptor.substring(props.descriptor.indexOf(':') + 1);
18
+ const data = {
19
+ name: name,
20
+ descriptor: props.descriptor,
21
+ config: {
22
+ [name]: props.config,
23
+ },
24
+ };
25
+ return <BaseMacro data={data} meta={props.meta} renderInEditMode={props.renderInEditMode}/>;
26
+ }
27
+ function LinkAdapter(props) {
28
+ return <Link href={getUrl(props.href, props.meta)}>{props.children}</Link>;
29
+ }
30
+ function ImageAdapter(props) {
31
+ return <img src={getUrl(props.src, props.meta)} alt={props.alt} sizes={props.sizes} srcSet={props.srcSet}/>;
32
+ }
64
33
  export default RichTextView;
65
34
  //# sourceMappingURL=RichTextView.jsx.map
@@ -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":"AAGA,OAAO,EAAC,MAAM,EAAC,MAAM,wBAAwB,CAAC;AAC9C,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,KAAK,CAAC,qBAAqB,CAAC,CAC9C,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,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;IAC3E,MAAM,IAAI,GAAG;QACT,IAAI,EAAE,IAAI;QACV,UAAU,EAAE,KAAK,CAAC,UAAU;QAC5B,MAAM,EAAE;YACJ,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,MAAqC;SACtD;KACJ,CAAC;IAEF,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,gBAAgB,CAAC,EAAE,CAAC;AAChG,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,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;AAChH,CAAC;AAED,eAAe,YAAY,CAAC"}