@sitecore-content-sdk/nextjs 1.3.0-canary.9 → 1.4.0-canary.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.
Files changed (234) hide show
  1. package/README.md +11 -11
  2. package/dist/cjs/client/index.js +10 -10
  3. package/dist/cjs/client/models.js +2 -2
  4. package/dist/cjs/client/sitecore-nextjs-client.js +160 -156
  5. package/dist/cjs/components/BYOCWrapper.js +31 -30
  6. package/dist/cjs/components/ComponentPropsContext.js +66 -59
  7. package/dist/cjs/components/FEaaSWrapper.js +33 -32
  8. package/dist/cjs/components/Link.js +117 -90
  9. package/dist/cjs/components/NextImage.js +66 -62
  10. package/dist/cjs/components/Placeholder.js +55 -50
  11. package/dist/cjs/components/RichText.js +133 -128
  12. package/dist/cjs/config/define-config.js +26 -25
  13. package/dist/cjs/config/index.js +5 -5
  14. package/dist/cjs/config-cli/define-cli-config.js +40 -39
  15. package/dist/cjs/config-cli/index.js +5 -5
  16. package/dist/cjs/editing/codegen/import-map.js +129 -118
  17. package/dist/cjs/editing/codegen/index.js +6 -6
  18. package/dist/cjs/editing/constants.js +10 -10
  19. package/dist/cjs/editing/editing-config-middleware.js +70 -69
  20. package/dist/cjs/editing/editing-render-middleware.js +145 -144
  21. package/dist/cjs/editing/feaas-render-middleware.js +102 -101
  22. package/dist/cjs/editing/index.js +19 -19
  23. package/dist/cjs/editing/render-middleware.js +46 -46
  24. package/dist/cjs/editing/utils.js +260 -257
  25. package/dist/cjs/index.js +132 -131
  26. package/dist/cjs/middleware/app-router-multisite-middleware.js +41 -20
  27. package/dist/cjs/middleware/index.js +30 -30
  28. package/dist/cjs/middleware/locale-middleware.js +85 -84
  29. package/dist/cjs/middleware/middleware.js +195 -192
  30. package/dist/cjs/middleware/multisite-middleware.js +141 -118
  31. package/dist/cjs/middleware/personalize-middleware.js +240 -236
  32. package/dist/cjs/middleware/redirects-middleware.js +323 -297
  33. package/dist/cjs/middleware/robots-middleware.js +45 -44
  34. package/dist/cjs/middleware/sitemap-middleware.js +50 -49
  35. package/dist/cjs/monitoring/healthcheck-middleware.js +31 -30
  36. package/dist/cjs/monitoring/index.js +5 -5
  37. package/dist/cjs/route-handler/editing-config-route-handler.js +110 -106
  38. package/dist/cjs/route-handler/editing-render-route-handler.js +270 -165
  39. package/dist/cjs/route-handler/index.js +11 -11
  40. package/dist/cjs/route-handler/robots-route-handler.js +69 -68
  41. package/dist/cjs/route-handler/sitemap-route-handler.js +66 -65
  42. package/dist/cjs/search/index.js +17 -0
  43. package/dist/cjs/services/component-props-service.js +142 -138
  44. package/dist/cjs/sharedTypes/component-props.js +2 -2
  45. package/dist/cjs/sharedTypes/sitecore-page-props.js +2 -2
  46. package/dist/cjs/site/index.js +5 -5
  47. package/dist/cjs/tools/codegen/import-map.js +15 -0
  48. package/dist/cjs/tools/component-props.loader.js +95 -95
  49. package/dist/cjs/tools/generate-map.js +317 -317
  50. package/dist/cjs/tools/index.js +14 -13
  51. package/dist/cjs/tools/templating/byoc-component.js +36 -36
  52. package/dist/cjs/tools/templating/constants.js +7 -7
  53. package/dist/cjs/tools/templating/default-component.js +35 -35
  54. package/dist/cjs/tools/templating/utils.js +200 -0
  55. package/dist/cjs/utils/index.js +14 -14
  56. package/dist/cjs/utils/utils.js +82 -73
  57. package/dist/esm/client/index.js +2 -2
  58. package/dist/esm/client/models.js +1 -1
  59. package/dist/esm/client/sitecore-nextjs-client.js +156 -152
  60. package/dist/esm/components/BYOCWrapper.js +27 -26
  61. package/dist/esm/components/ComponentPropsContext.js +28 -21
  62. package/dist/esm/components/FEaaSWrapper.js +29 -28
  63. package/dist/esm/components/Link.js +78 -51
  64. package/dist/esm/components/NextImage.js +60 -56
  65. package/dist/esm/components/Placeholder.js +18 -13
  66. package/dist/esm/components/RichText.js +96 -91
  67. package/dist/esm/config/define-config.js +21 -20
  68. package/dist/esm/config/index.js +1 -1
  69. package/dist/esm/config-cli/define-cli-config.js +36 -35
  70. package/dist/esm/config-cli/index.js +1 -1
  71. package/dist/esm/editing/codegen/import-map.js +92 -81
  72. package/dist/esm/editing/codegen/index.js +1 -1
  73. package/dist/esm/editing/constants.js +7 -7
  74. package/dist/esm/editing/editing-config-middleware.js +66 -65
  75. package/dist/esm/editing/editing-render-middleware.js +141 -140
  76. package/dist/esm/editing/feaas-render-middleware.js +98 -97
  77. package/dist/esm/editing/index.js +6 -6
  78. package/dist/esm/editing/render-middleware.js +42 -42
  79. package/dist/esm/editing/utils.js +246 -243
  80. package/dist/esm/index.js +25 -25
  81. package/dist/esm/middleware/app-router-multisite-middleware.js +37 -16
  82. package/dist/esm/middleware/index.js +11 -11
  83. package/dist/esm/middleware/locale-middleware.js +81 -80
  84. package/dist/esm/middleware/middleware.js +189 -186
  85. package/dist/esm/middleware/multisite-middleware.js +137 -114
  86. package/dist/esm/middleware/personalize-middleware.js +236 -232
  87. package/dist/esm/middleware/redirects-middleware.js +316 -290
  88. package/dist/esm/middleware/robots-middleware.js +41 -40
  89. package/dist/esm/middleware/sitemap-middleware.js +46 -45
  90. package/dist/esm/monitoring/healthcheck-middleware.js +27 -26
  91. package/dist/esm/monitoring/index.js +1 -1
  92. package/dist/esm/route-handler/editing-config-route-handler.js +106 -102
  93. package/dist/esm/route-handler/editing-render-route-handler.js +265 -160
  94. package/dist/esm/route-handler/index.js +4 -4
  95. package/dist/esm/route-handler/robots-route-handler.js +65 -64
  96. package/dist/esm/route-handler/sitemap-route-handler.js +63 -62
  97. package/dist/esm/search/index.js +1 -0
  98. package/dist/esm/services/component-props-service.js +135 -131
  99. package/dist/esm/sharedTypes/component-props.js +1 -1
  100. package/dist/esm/sharedTypes/sitecore-page-props.js +1 -1
  101. package/dist/esm/site/index.js +1 -1
  102. package/dist/esm/tools/codegen/import-map.js +11 -0
  103. package/dist/esm/tools/component-props.loader.js +59 -59
  104. package/dist/esm/tools/generate-map.js +279 -279
  105. package/dist/esm/tools/index.js +3 -2
  106. package/dist/esm/tools/templating/byoc-component.js +30 -30
  107. package/dist/esm/tools/templating/constants.js +4 -4
  108. package/dist/esm/tools/templating/default-component.js +29 -29
  109. package/dist/esm/tools/templating/utils.js +190 -0
  110. package/dist/esm/utils/index.js +3 -3
  111. package/dist/esm/utils/utils.js +74 -65
  112. package/package.json +87 -13
  113. package/search.d.ts +1 -0
  114. package/types/client/index.d.ts +3 -2
  115. package/types/client/index.d.ts.map +1 -0
  116. package/types/client/models.d.ts +9 -8
  117. package/types/client/models.d.ts.map +1 -0
  118. package/types/client/sitecore-nextjs-client.d.ts +68 -63
  119. package/types/client/sitecore-nextjs-client.d.ts.map +1 -0
  120. package/types/components/BYOCWrapper.d.ts +16 -14
  121. package/types/components/BYOCWrapper.d.ts.map +1 -0
  122. package/types/components/ComponentPropsContext.d.ts +30 -18
  123. package/types/components/ComponentPropsContext.d.ts.map +1 -0
  124. package/types/components/FEaaSWrapper.d.ts +17 -15
  125. package/types/components/FEaaSWrapper.d.ts.map +1 -0
  126. package/types/components/Link.d.ts +25 -15
  127. package/types/components/Link.d.ts.map +1 -0
  128. package/types/components/NextImage.d.ts +11 -6
  129. package/types/components/NextImage.d.ts.map +1 -0
  130. package/types/components/Placeholder.d.ts +14 -8
  131. package/types/components/Placeholder.d.ts.map +1 -0
  132. package/types/components/RichText.d.ts +35 -25
  133. package/types/components/RichText.d.ts.map +1 -0
  134. package/types/config/define-config.d.ts +42 -38
  135. package/types/config/define-config.d.ts.map +1 -0
  136. package/types/config/index.d.ts +2 -1
  137. package/types/config/index.d.ts.map +1 -0
  138. package/types/config-cli/define-cli-config.d.ts +10 -8
  139. package/types/config-cli/define-cli-config.d.ts.map +1 -0
  140. package/types/config-cli/index.d.ts +2 -1
  141. package/types/config-cli/index.d.ts.map +1 -0
  142. package/types/editing/codegen/import-map.d.ts +15 -3
  143. package/types/editing/codegen/import-map.d.ts.map +1 -0
  144. package/types/editing/codegen/index.d.ts +3 -2
  145. package/types/editing/codegen/index.d.ts.map +1 -0
  146. package/types/editing/constants.d.ts +8 -7
  147. package/types/editing/constants.d.ts.map +1 -0
  148. package/types/editing/editing-config-middleware.d.ts +37 -31
  149. package/types/editing/editing-config-middleware.d.ts.map +1 -0
  150. package/types/editing/editing-render-middleware.d.ts +47 -44
  151. package/types/editing/editing-render-middleware.d.ts.map +1 -0
  152. package/types/editing/feaas-render-middleware.d.ts +35 -32
  153. package/types/editing/feaas-render-middleware.d.ts.map +1 -0
  154. package/types/editing/index.d.ts +7 -6
  155. package/types/editing/index.d.ts.map +1 -0
  156. package/types/editing/render-middleware.d.ts +26 -25
  157. package/types/editing/render-middleware.d.ts.map +1 -0
  158. package/types/editing/utils.d.ts +110 -106
  159. package/types/editing/utils.d.ts.map +1 -0
  160. package/types/index.d.ts +25 -24
  161. package/types/index.d.ts.map +1 -0
  162. package/types/middleware/app-router-multisite-middleware.d.ts +28 -13
  163. package/types/middleware/app-router-multisite-middleware.d.ts.map +1 -0
  164. package/types/middleware/index.d.ts +12 -11
  165. package/types/middleware/index.d.ts.map +1 -0
  166. package/types/middleware/locale-middleware.d.ts +35 -32
  167. package/types/middleware/locale-middleware.d.ts.map +1 -0
  168. package/types/middleware/middleware.d.ts +135 -127
  169. package/types/middleware/middleware.d.ts.map +1 -0
  170. package/types/middleware/multisite-middleware.d.ts +54 -37
  171. package/types/middleware/multisite-middleware.d.ts.map +1 -0
  172. package/types/middleware/personalize-middleware.d.ts +81 -65
  173. package/types/middleware/personalize-middleware.d.ts.map +1 -0
  174. package/types/middleware/redirects-middleware.d.ts +68 -65
  175. package/types/middleware/redirects-middleware.d.ts.map +1 -0
  176. package/types/middleware/robots-middleware.d.ts +15 -13
  177. package/types/middleware/robots-middleware.d.ts.map +1 -0
  178. package/types/middleware/sitemap-middleware.d.ts +16 -14
  179. package/types/middleware/sitemap-middleware.d.ts.map +1 -0
  180. package/types/monitoring/healthcheck-middleware.d.ts +14 -12
  181. package/types/monitoring/healthcheck-middleware.d.ts.map +1 -0
  182. package/types/monitoring/index.d.ts +2 -1
  183. package/types/monitoring/index.d.ts.map +1 -0
  184. package/types/route-handler/editing-config-route-handler.d.ts +30 -24
  185. package/types/route-handler/editing-config-route-handler.d.ts.map +1 -0
  186. package/types/route-handler/editing-render-route-handler.d.ts +33 -25
  187. package/types/route-handler/editing-render-route-handler.d.ts.map +1 -0
  188. package/types/route-handler/index.d.ts +5 -4
  189. package/types/route-handler/index.d.ts.map +1 -0
  190. package/types/route-handler/robots-route-handler.d.ts +30 -28
  191. package/types/route-handler/robots-route-handler.d.ts.map +1 -0
  192. package/types/route-handler/sitemap-route-handler.d.ts +30 -28
  193. package/types/route-handler/sitemap-route-handler.d.ts.map +1 -0
  194. package/types/search/index.d.ts +2 -0
  195. package/types/search/index.d.ts.map +1 -0
  196. package/types/services/component-props-service.d.ts +62 -57
  197. package/types/services/component-props-service.d.ts.map +1 -0
  198. package/types/sharedTypes/component-props.d.ts +62 -47
  199. package/types/sharedTypes/component-props.d.ts.map +1 -0
  200. package/types/sharedTypes/sitecore-page-props.d.ts +14 -9
  201. package/types/sharedTypes/sitecore-page-props.d.ts.map +1 -0
  202. package/types/site/index.d.ts +2 -1
  203. package/types/site/index.d.ts.map +1 -0
  204. package/types/tools/codegen/import-map.d.ts +10 -0
  205. package/types/tools/codegen/import-map.d.ts.map +1 -0
  206. package/types/tools/component-props.loader.d.ts +8 -7
  207. package/types/tools/component-props.loader.d.ts.map +1 -0
  208. package/types/tools/generate-map.d.ts +26 -24
  209. package/types/tools/generate-map.d.ts.map +1 -0
  210. package/types/tools/index.d.ts +4 -2
  211. package/types/tools/index.d.ts.map +1 -0
  212. package/types/tools/templating/byoc-component.d.ts +3 -2
  213. package/types/tools/templating/byoc-component.d.ts.map +1 -0
  214. package/types/tools/templating/constants.d.ts +5 -4
  215. package/types/tools/templating/constants.d.ts.map +1 -0
  216. package/types/tools/templating/default-component.d.ts +3 -2
  217. package/types/tools/templating/default-component.d.ts.map +1 -0
  218. package/types/tools/templating/utils.d.ts +44 -0
  219. package/types/tools/templating/utils.d.ts.map +1 -0
  220. package/types/utils/index.d.ts +4 -3
  221. package/types/utils/index.d.ts.map +1 -0
  222. package/types/utils/utils.d.ts +34 -24
  223. package/types/utils/utils.d.ts.map +1 -0
  224. package/client.js +0 -1
  225. package/codegen.js +0 -1
  226. package/config-cli.js +0 -1
  227. package/config.js +0 -1
  228. package/editing.js +0 -1
  229. package/middleware.js +0 -1
  230. package/monitoring.js +0 -1
  231. package/route-handler.js +0 -1
  232. package/site.js +0 -1
  233. package/tools.js +0 -1
  234. package/utils.js +0 -1
@@ -1,128 +1,133 @@
1
- "use strict";
2
- 'use client';
3
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
4
- if (k2 === undefined) k2 = k;
5
- var desc = Object.getOwnPropertyDescriptor(m, k);
6
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
7
- desc = { enumerable: true, get: function() { return m[k]; } };
8
- }
9
- Object.defineProperty(o, k2, desc);
10
- }) : (function(o, m, k, k2) {
11
- if (k2 === undefined) k2 = k;
12
- o[k2] = m[k];
13
- }));
14
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
15
- Object.defineProperty(o, "default", { enumerable: true, value: v });
16
- }) : function(o, v) {
17
- o["default"] = v;
18
- });
19
- var __importStar = (this && this.__importStar) || (function () {
20
- var ownKeys = function(o) {
21
- ownKeys = Object.getOwnPropertyNames || function (o) {
22
- var ar = [];
23
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
24
- return ar;
25
- };
26
- return ownKeys(o);
27
- };
28
- return function (mod) {
29
- if (mod && mod.__esModule) return mod;
30
- var result = {};
31
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
32
- __setModuleDefault(result, mod);
33
- return result;
34
- };
35
- })();
36
- var __rest = (this && this.__rest) || function (s, e) {
37
- var t = {};
38
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
39
- t[p] = s[p];
40
- if (s != null && typeof Object.getOwnPropertySymbols === "function")
41
- for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
42
- if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
43
- t[p[i]] = s[p[i]];
44
- }
45
- return t;
46
- };
47
- Object.defineProperty(exports, "__esModule", { value: true });
48
- exports.RichText = exports.prefetched = void 0;
49
- const react_1 = __importStar(require("react"));
50
- const router_1 = require("next/compat/router");
51
- const navigation_1 = require("next/navigation");
52
- const react_2 = require("@sitecore-content-sdk/react");
53
- exports.prefetched = {};
54
- const useAppRouterWrapper = () => {
55
- try {
56
- return (0, navigation_1.useRouter)();
57
- }
58
- catch (_a) {
59
- return null;
60
- }
61
- };
62
- const useCompatibleRouter = () => {
63
- let pageRouter = (0, router_1.useRouter)();
64
- let appRouter = useAppRouterWrapper();
65
- return { pageRouter, appRouter };
66
- };
67
- const RichText = (props) => {
68
- const { internalLinksSelector = 'a[href^="/"]', prefetchLinks = true, editable = true } = props, rest = __rest(props, ["internalLinksSelector", "prefetchLinks", "editable"]);
69
- const hasText = props.field && props.field.value;
70
- const isEditing = editable && props.field && props.field.metadata;
71
- const { pageRouter, appRouter } = useCompatibleRouter();
72
- const richTextRef = (0, react_1.useRef)(null);
73
- (0, react_1.useEffect)(() => {
74
- // NOT IN EDIT MODE
75
- if (hasText && !isEditing) {
76
- initializeLinks();
77
- }
78
- // eslint-disable-next-line react-hooks/exhaustive-deps
79
- }, [hasText]);
80
- const routeHandler = (ev) => {
81
- if (!ev.currentTarget)
82
- return;
83
- ev.preventDefault();
84
- const pathname = ev.currentTarget.href;
85
- if (pageRouter) {
86
- pageRouter.push(pathname, pathname, { locale: false });
87
- }
88
- else if (appRouter) {
89
- appRouter.push(pathname);
90
- }
91
- };
92
- const initializeLinks = () => {
93
- const node = richTextRef.current;
94
- // selects all links that start with '/'
95
- const internalLinks = node && node.querySelectorAll(internalLinksSelector);
96
- if (!internalLinks || !internalLinks.length)
97
- return;
98
- internalLinks.forEach((link) => {
99
- if (link.target === '_blank')
100
- return;
101
- const prefetch = () => {
102
- if (pageRouter) {
103
- pageRouter.prefetch(link.pathname, undefined, { locale: false });
104
- }
105
- else if (appRouter) {
106
- appRouter.prefetch(link.pathname);
107
- }
108
- exports.prefetched[link.pathname] = true;
109
- };
110
- if (!exports.prefetched[link.pathname] && prefetchLinks !== false) {
111
- if (prefetchLinks === true) {
112
- prefetch();
113
- }
114
- if (prefetchLinks === 'hover') {
115
- const mouseOverHandler = () => {
116
- prefetch();
117
- link.removeEventListener('mouseover', mouseOverHandler);
118
- };
119
- link.addEventListener('mouseover', mouseOverHandler, false);
120
- }
121
- }
122
- link.addEventListener('click', routeHandler, false);
123
- });
124
- };
125
- return react_1.default.createElement(react_2.RichText, Object.assign({ ref: richTextRef, editable: editable }, rest));
126
- };
127
- exports.RichText = RichText;
128
- exports.RichText.displayName = 'NextRichText';
1
+ "use strict";
2
+ 'use client';
3
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
4
+ if (k2 === undefined) k2 = k;
5
+ var desc = Object.getOwnPropertyDescriptor(m, k);
6
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
7
+ desc = { enumerable: true, get: function() { return m[k]; } };
8
+ }
9
+ Object.defineProperty(o, k2, desc);
10
+ }) : (function(o, m, k, k2) {
11
+ if (k2 === undefined) k2 = k;
12
+ o[k2] = m[k];
13
+ }));
14
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
15
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
16
+ }) : function(o, v) {
17
+ o["default"] = v;
18
+ });
19
+ var __importStar = (this && this.__importStar) || (function () {
20
+ var ownKeys = function(o) {
21
+ ownKeys = Object.getOwnPropertyNames || function (o) {
22
+ var ar = [];
23
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
24
+ return ar;
25
+ };
26
+ return ownKeys(o);
27
+ };
28
+ return function (mod) {
29
+ if (mod && mod.__esModule) return mod;
30
+ var result = {};
31
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
32
+ __setModuleDefault(result, mod);
33
+ return result;
34
+ };
35
+ })();
36
+ var __rest = (this && this.__rest) || function (s, e) {
37
+ var t = {};
38
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
39
+ t[p] = s[p];
40
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
41
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
42
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
43
+ t[p[i]] = s[p[i]];
44
+ }
45
+ return t;
46
+ };
47
+ Object.defineProperty(exports, "__esModule", { value: true });
48
+ exports.RichText = exports.prefetched = void 0;
49
+ const react_1 = __importStar(require("react"));
50
+ const router_1 = require("next/compat/router");
51
+ const navigation_1 = require("next/navigation");
52
+ const react_2 = require("@sitecore-content-sdk/react");
53
+ exports.prefetched = {};
54
+ const useAppRouterWrapper = () => {
55
+ try {
56
+ return (0, navigation_1.useRouter)();
57
+ }
58
+ catch (_a) {
59
+ return null;
60
+ }
61
+ };
62
+ const useCompatibleRouter = () => {
63
+ let pageRouter = (0, router_1.useRouter)();
64
+ let appRouter = useAppRouterWrapper();
65
+ return { pageRouter, appRouter };
66
+ };
67
+ /**
68
+ * The RichText component.
69
+ * @param {RichTextProps} props - The props for the RichText component.
70
+ * @public
71
+ */
72
+ const RichText = (props) => {
73
+ const { internalLinksSelector = 'a[href^="/"]', prefetchLinks = true, editable = true } = props, rest = __rest(props, ["internalLinksSelector", "prefetchLinks", "editable"]);
74
+ const hasText = props.field && props.field.value;
75
+ const isEditing = editable && props.field && props.field.metadata;
76
+ const { pageRouter, appRouter } = useCompatibleRouter();
77
+ const richTextRef = (0, react_1.useRef)(null);
78
+ (0, react_1.useEffect)(() => {
79
+ // NOT IN EDIT MODE
80
+ if (hasText && !isEditing) {
81
+ initializeLinks();
82
+ }
83
+ // eslint-disable-next-line react-hooks/exhaustive-deps
84
+ }, [hasText]);
85
+ const routeHandler = (ev) => {
86
+ if (!ev.currentTarget)
87
+ return;
88
+ ev.preventDefault();
89
+ const pathname = ev.currentTarget.href;
90
+ if (pageRouter) {
91
+ pageRouter.push(pathname, pathname, { locale: false });
92
+ }
93
+ else if (appRouter) {
94
+ appRouter.push(pathname);
95
+ }
96
+ };
97
+ const initializeLinks = () => {
98
+ const node = richTextRef.current;
99
+ // selects all links that start with '/'
100
+ const internalLinks = node && node.querySelectorAll(internalLinksSelector);
101
+ if (!internalLinks || !internalLinks.length)
102
+ return;
103
+ internalLinks.forEach((link) => {
104
+ if (link.target === '_blank')
105
+ return;
106
+ const prefetch = () => {
107
+ if (pageRouter) {
108
+ pageRouter.prefetch(link.pathname, undefined, { locale: false });
109
+ }
110
+ else if (appRouter) {
111
+ appRouter.prefetch(link.pathname);
112
+ }
113
+ exports.prefetched[link.pathname] = true;
114
+ };
115
+ if (!exports.prefetched[link.pathname] && prefetchLinks !== false) {
116
+ if (prefetchLinks === true) {
117
+ prefetch();
118
+ }
119
+ if (prefetchLinks === 'hover') {
120
+ const mouseOverHandler = () => {
121
+ prefetch();
122
+ link.removeEventListener('mouseover', mouseOverHandler);
123
+ };
124
+ link.addEventListener('mouseover', mouseOverHandler, false);
125
+ }
126
+ }
127
+ link.addEventListener('click', routeHandler, false);
128
+ });
129
+ };
130
+ return react_1.default.createElement(react_2.RichText, Object.assign({ ref: richTextRef, editable: editable }, rest));
131
+ };
132
+ exports.RichText = RichText;
133
+ exports.RichText.displayName = 'NextRichText';
@@ -1,25 +1,26 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.defineConfig = exports.getNextFallbackConfig = void 0;
4
- const config_1 = require("@sitecore-content-sdk/core/config");
5
- /**
6
- * Provides default NextJs initial values from env variables for SitecoreConfig
7
- * @param {SitecoreConfigInput} config optional override values to be written over default config settings
8
- * @returns default nextjs input config
9
- */
10
- const getNextFallbackConfig = (config) => {
11
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r;
12
- return Object.assign(Object.assign({}, config), { api: Object.assign(Object.assign({}, config === null || config === void 0 ? void 0 : config.api), { edge: Object.assign(Object.assign({}, (_a = config === null || config === void 0 ? void 0 : config.api) === null || _a === void 0 ? void 0 : _a.edge), { contextId: ((_c = (_b = config === null || config === void 0 ? void 0 : config.api) === null || _b === void 0 ? void 0 : _b.edge) === null || _c === void 0 ? void 0 : _c.contextId) || '', clientContextId: ((_e = (_d = config === null || config === void 0 ? void 0 : config.api) === null || _d === void 0 ? void 0 : _d.edge) === null || _e === void 0 ? void 0 : _e.clientContextId) || process.env.NEXT_PUBLIC_SITECORE_EDGE_CONTEXT_ID, edgeUrl: ((_g = (_f = config === null || config === void 0 ? void 0 : config.api) === null || _f === void 0 ? void 0 : _f.edge) === null || _g === void 0 ? void 0 : _g.edgeUrl) || process.env.NEXT_PUBLIC_SITECORE_EDGE_URL }), local: Object.assign(Object.assign({}, (_h = config === null || config === void 0 ? void 0 : config.api) === null || _h === void 0 ? void 0 : _h.local), { apiKey: ((_k = (_j = config === null || config === void 0 ? void 0 : config.api) === null || _j === void 0 ? void 0 : _j.local) === null || _k === void 0 ? void 0 : _k.apiKey) || process.env.NEXT_PUBLIC_SITECORE_API_KEY || '', apiHost: ((_m = (_l = config === null || config === void 0 ? void 0 : config.api) === null || _l === void 0 ? void 0 : _l.local) === null || _m === void 0 ? void 0 : _m.apiHost) || process.env.NEXT_PUBLIC_SITECORE_API_HOST || '' }) }), defaultSite: (config === null || config === void 0 ? void 0 : config.defaultSite) || process.env.NEXT_PUBLIC_DEFAULT_SITE_NAME || '', defaultLanguage: (config === null || config === void 0 ? void 0 : config.defaultLanguage) || process.env.NEXT_PUBLIC_DEFAULT_LANGUAGE || 'en', multisite: Object.assign(Object.assign({}, config === null || config === void 0 ? void 0 : config.multisite), { useCookieResolution: (_p = (_o = config === null || config === void 0 ? void 0 : config.multisite) === null || _o === void 0 ? void 0 : _o.useCookieResolution) !== null && _p !== void 0 ? _p : (() => process.env.VERCEL_ENV === 'preview') }), personalize: Object.assign(Object.assign({}, config === null || config === void 0 ? void 0 : config.personalize), { scope: ((_q = config === null || config === void 0 ? void 0 : config.personalize) === null || _q === void 0 ? void 0 : _q.scope) || process.env.NEXT_PUBLIC_PERSONALIZE_SCOPE }), generateStaticPaths: process.env.GENERATE_STATIC_PATHS !== undefined
13
- ? process.env.GENERATE_STATIC_PATHS.toLowerCase() === 'true'
14
- : (_r = config === null || config === void 0 ? void 0 : config.generateStaticPaths) !== null && _r !== void 0 ? _r : true, sitecoreInternalEditingHostUrl: (config === null || config === void 0 ? void 0 : config.sitecoreInternalEditingHostUrl) || process.env.SITECORE_INTERNAL_EDITING_HOST_URL });
15
- };
16
- exports.getNextFallbackConfig = getNextFallbackConfig;
17
- /**
18
- * Accepts a SitecoreConfigInput object and returns full sitecore configuration
19
- * @param {SitecoreConfigInput} config override values to be written over default config settings
20
- * @returns {SitecoreConfig} full sitecore configuration to use in application
21
- */
22
- const defineConfig = (config) => {
23
- return (0, config_1.defineConfig)((0, exports.getNextFallbackConfig)(config));
24
- };
25
- exports.defineConfig = defineConfig;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.defineConfig = exports.getNextFallbackConfig = void 0;
4
+ const config_1 = require("@sitecore-content-sdk/core/config");
5
+ /**
6
+ * Provides default NextJs initial values from env variables for SitecoreConfig
7
+ * @param {SitecoreConfigInput} config optional override values to be written over default config settings
8
+ * @returns default nextjs input config
9
+ */
10
+ const getNextFallbackConfig = (config) => {
11
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r;
12
+ return Object.assign(Object.assign({}, config), { api: Object.assign(Object.assign({}, config === null || config === void 0 ? void 0 : config.api), { edge: Object.assign(Object.assign({}, (_a = config === null || config === void 0 ? void 0 : config.api) === null || _a === void 0 ? void 0 : _a.edge), { contextId: ((_c = (_b = config === null || config === void 0 ? void 0 : config.api) === null || _b === void 0 ? void 0 : _b.edge) === null || _c === void 0 ? void 0 : _c.contextId) || '', clientContextId: ((_e = (_d = config === null || config === void 0 ? void 0 : config.api) === null || _d === void 0 ? void 0 : _d.edge) === null || _e === void 0 ? void 0 : _e.clientContextId) || process.env.NEXT_PUBLIC_SITECORE_EDGE_CONTEXT_ID, edgeUrl: ((_g = (_f = config === null || config === void 0 ? void 0 : config.api) === null || _f === void 0 ? void 0 : _f.edge) === null || _g === void 0 ? void 0 : _g.edgeUrl) || process.env.NEXT_PUBLIC_SITECORE_EDGE_URL }), local: Object.assign(Object.assign({}, (_h = config === null || config === void 0 ? void 0 : config.api) === null || _h === void 0 ? void 0 : _h.local), { apiKey: ((_k = (_j = config === null || config === void 0 ? void 0 : config.api) === null || _j === void 0 ? void 0 : _j.local) === null || _k === void 0 ? void 0 : _k.apiKey) || process.env.NEXT_PUBLIC_SITECORE_API_KEY || '', apiHost: ((_m = (_l = config === null || config === void 0 ? void 0 : config.api) === null || _l === void 0 ? void 0 : _l.local) === null || _m === void 0 ? void 0 : _m.apiHost) || process.env.NEXT_PUBLIC_SITECORE_API_HOST || '' }) }), defaultSite: (config === null || config === void 0 ? void 0 : config.defaultSite) || process.env.NEXT_PUBLIC_DEFAULT_SITE_NAME || '', defaultLanguage: (config === null || config === void 0 ? void 0 : config.defaultLanguage) || process.env.NEXT_PUBLIC_DEFAULT_LANGUAGE || 'en', multisite: Object.assign(Object.assign({}, config === null || config === void 0 ? void 0 : config.multisite), { useCookieResolution: (_p = (_o = config === null || config === void 0 ? void 0 : config.multisite) === null || _o === void 0 ? void 0 : _o.useCookieResolution) !== null && _p !== void 0 ? _p : (() => process.env.VERCEL_ENV === 'preview') }), personalize: Object.assign(Object.assign({}, config === null || config === void 0 ? void 0 : config.personalize), { scope: ((_q = config === null || config === void 0 ? void 0 : config.personalize) === null || _q === void 0 ? void 0 : _q.scope) || process.env.NEXT_PUBLIC_PERSONALIZE_SCOPE }), generateStaticPaths: process.env.GENERATE_STATIC_PATHS !== undefined
13
+ ? process.env.GENERATE_STATIC_PATHS.toLowerCase() === 'true'
14
+ : (_r = config === null || config === void 0 ? void 0 : config.generateStaticPaths) !== null && _r !== void 0 ? _r : true, sitecoreInternalEditingHostUrl: (config === null || config === void 0 ? void 0 : config.sitecoreInternalEditingHostUrl) || process.env.SITECORE_INTERNAL_EDITING_HOST_URL });
15
+ };
16
+ exports.getNextFallbackConfig = getNextFallbackConfig;
17
+ /**
18
+ * Accepts a SitecoreConfigInput object and returns full sitecore configuration
19
+ * @param {SitecoreConfigInput} config override values to be written over default config settings
20
+ * @returns {SitecoreConfig} full sitecore configuration to use in application
21
+ * @public
22
+ */
23
+ const defineConfig = (config) => {
24
+ return (0, config_1.defineConfig)((0, exports.getNextFallbackConfig)(config));
25
+ };
26
+ exports.defineConfig = defineConfig;
@@ -1,5 +1,5 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.defineConfig = void 0;
4
- var define_config_1 = require("./define-config");
5
- Object.defineProperty(exports, "defineConfig", { enumerable: true, get: function () { return define_config_1.defineConfig; } });
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.defineConfig = void 0;
4
+ var define_config_1 = require("./define-config");
5
+ Object.defineProperty(exports, "defineConfig", { enumerable: true, get: function () { return define_config_1.defineConfig; } });
@@ -1,39 +1,40 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.defineCliConfig = void 0;
4
- const config_cli_1 = require("@sitecore-content-sdk/core/config-cli");
5
- const byoc_component_1 = require("../tools/templating/byoc-component");
6
- const default_component_1 = require("../tools/templating/default-component");
7
- const generate_map_1 = require("../tools/generate-map");
8
- /**
9
- * Accepts a `SitecoreCliConfigInput` object and returns the Sitecore Content SDK CLI configuration from the specified file,
10
- * updated with the required default values.
11
- * @param {SitecoreCliConfigInput} cliConfig the cli configuration provided by the application
12
- * @returns {SitecoreCliConfig} full sitecore cli configuration to use with cli
13
- */
14
- const defineCliConfig = (cliConfig) => {
15
- addDefaultScaffoldTemplates(cliConfig);
16
- addDefaultComponentMapGenerator(cliConfig);
17
- return (0, config_cli_1.defineCliConfig)(cliConfig);
18
- };
19
- exports.defineCliConfig = defineCliConfig;
20
- /**
21
- * Adds default scaffold templates to the CLI configuration.
22
- * @param {SitecoreCliConfigInput} cliConfig - The CLI configuration object
23
- */
24
- function addDefaultScaffoldTemplates(cliConfig) {
25
- if (!cliConfig.scaffold) {
26
- cliConfig.scaffold = {};
27
- }
28
- if (!cliConfig.scaffold.templates) {
29
- cliConfig.scaffold.templates = [];
30
- }
31
- cliConfig.scaffold.templates.unshift(default_component_1.defaultTemplate, byoc_component_1.byocTemplate);
32
- }
33
- /**
34
- * Add the framework-specific implementaion of the component map generator to the CLI configuration.
35
- * @param {SitecoreCliConfigInput} cliConfig - The CLI configuration object
36
- */
37
- function addDefaultComponentMapGenerator(cliConfig) {
38
- cliConfig.componentMap = Object.assign({ generator: generate_map_1.generateMap, paths: ['src/components'] }, cliConfig.componentMap);
39
- }
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.defineCliConfig = void 0;
4
+ const config_cli_1 = require("@sitecore-content-sdk/core/config-cli");
5
+ const byoc_component_1 = require("../tools/templating/byoc-component");
6
+ const default_component_1 = require("../tools/templating/default-component");
7
+ const generate_map_1 = require("../tools/generate-map");
8
+ /**
9
+ * Accepts a `SitecoreCliConfigInput` object and returns the Sitecore Content SDK CLI configuration from the specified file,
10
+ * updated with the required default values.
11
+ * @param {SitecoreCliConfigInput} cliConfig the cli configuration provided by the application
12
+ * @returns {SitecoreCliConfig} full sitecore cli configuration to use with cli
13
+ * @public
14
+ */
15
+ const defineCliConfig = (cliConfig) => {
16
+ addDefaultScaffoldTemplates(cliConfig);
17
+ addDefaultComponentMapGenerator(cliConfig);
18
+ return (0, config_cli_1.defineCliConfig)(cliConfig);
19
+ };
20
+ exports.defineCliConfig = defineCliConfig;
21
+ /**
22
+ * Adds default scaffold templates to the CLI configuration.
23
+ * @param {SitecoreCliConfigInput} cliConfig - The CLI configuration object
24
+ */
25
+ function addDefaultScaffoldTemplates(cliConfig) {
26
+ if (!cliConfig.scaffold) {
27
+ cliConfig.scaffold = {};
28
+ }
29
+ if (!cliConfig.scaffold.templates) {
30
+ cliConfig.scaffold.templates = [];
31
+ }
32
+ cliConfig.scaffold.templates.unshift(default_component_1.defaultTemplate, byoc_component_1.byocTemplate);
33
+ }
34
+ /**
35
+ * Add the framework-specific implementaion of the component map generator to the CLI configuration.
36
+ * @param {SitecoreCliConfigInput} cliConfig - The CLI configuration object
37
+ */
38
+ function addDefaultComponentMapGenerator(cliConfig) {
39
+ cliConfig.componentMap = Object.assign({ generator: generate_map_1.generateMap, paths: ['src/components'] }, cliConfig.componentMap);
40
+ }
@@ -1,5 +1,5 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.defineCliConfig = void 0;
4
- var define_cli_config_1 = require("./define-cli-config");
5
- Object.defineProperty(exports, "defineCliConfig", { enumerable: true, get: function () { return define_cli_config_1.defineCliConfig; } });
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.defineCliConfig = void 0;
4
+ var define_cli_config_1 = require("./define-cli-config");
5
+ Object.defineProperty(exports, "defineCliConfig", { enumerable: true, get: function () { return define_cli_config_1.defineCliConfig; } });