@enonic/nextjs-adapter 3.3.0-B1 → 3.3.0

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 (296) hide show
  1. package/dist/baseMappings.d.ts +1 -0
  2. package/{src/baseMappings.ts → dist/baseMappings.js} +4 -14
  3. package/dist/baseMappings.js.map +1 -0
  4. package/dist/client/getClientHydratedHtml.d.ts +1 -0
  5. package/{src/client/getClientHydratedHtml.tsx → dist/client/getClientHydratedHtml.jsx} +3 -6
  6. package/dist/client/getClientHydratedHtml.jsx.map +1 -0
  7. package/dist/client.d.ts +1 -0
  8. package/dist/client.js +3 -0
  9. package/dist/client.js.map +1 -0
  10. package/dist/common/ComponentRegistry.d.ts +34 -0
  11. package/dist/common/ComponentRegistry.js +121 -0
  12. package/dist/common/ComponentRegistry.js.map +1 -0
  13. package/dist/common/UrlProcessor.d.ts +25 -0
  14. package/{src/common/UrlProcessor.ts → dist/common/UrlProcessor.js} +49 -70
  15. package/dist/common/UrlProcessor.js.map +1 -0
  16. package/dist/common/constants.d.ts +51 -0
  17. package/{src/common/constants.ts → dist/common/constants.js} +38 -44
  18. package/dist/common/constants.js.map +1 -0
  19. package/dist/common/env.d.ts +12 -0
  20. package/{src/common/env.ts → dist/common/env.js} +3 -14
  21. package/dist/common/env.js.map +1 -0
  22. package/dist/guillotine/applyProcessors.d.ts +2 -0
  23. package/dist/guillotine/applyProcessors.js +33 -0
  24. package/dist/guillotine/applyProcessors.js.map +1 -0
  25. package/dist/guillotine/buildComponentTree.d.ts +2 -0
  26. package/{src/guillotine/buildComponentTree.ts → dist/guillotine/buildComponentTree.js} +13 -25
  27. package/dist/guillotine/buildComponentTree.js.map +1 -0
  28. package/dist/guillotine/buildErrorResponse.d.ts +3 -0
  29. package/{src/guillotine/buildErrorResponse.ts → dist/guillotine/buildErrorResponse.js} +2 -10
  30. package/dist/guillotine/buildErrorResponse.js.map +1 -0
  31. package/dist/guillotine/buildPage.d.ts +2 -0
  32. package/dist/guillotine/buildPage.js +10 -0
  33. package/dist/guillotine/buildPage.js.map +1 -0
  34. package/dist/guillotine/collectComponentDescriptors.d.ts +6 -0
  35. package/{src/guillotine/collectComponentDescriptors.ts → dist/guillotine/collectComponentDescriptors.js} +13 -26
  36. package/dist/guillotine/collectComponentDescriptors.js.map +1 -0
  37. package/dist/guillotine/combineMultipleQueries.d.ts +2 -0
  38. package/{src/guillotine/combineMultipleQueries.ts → dist/guillotine/combineMultipleQueries.js} +9 -23
  39. package/dist/guillotine/combineMultipleQueries.js.map +1 -0
  40. package/dist/guillotine/createMetaData.d.ts +18 -0
  41. package/dist/guillotine/createMetaData.js +45 -0
  42. package/dist/guillotine/createMetaData.js.map +1 -0
  43. package/dist/guillotine/fetchContent.d.ts +9 -0
  44. package/dist/guillotine/fetchContent.js +222 -0
  45. package/dist/guillotine/fetchContent.js.map +1 -0
  46. package/dist/guillotine/fetchContentData.d.ts +2 -0
  47. package/dist/guillotine/fetchContentData.js +30 -0
  48. package/dist/guillotine/fetchContentData.js.map +1 -0
  49. package/dist/guillotine/fetchContentPathsForAllLocales.d.ts +2 -0
  50. package/dist/guillotine/fetchContentPathsForAllLocales.js +21 -0
  51. package/dist/guillotine/fetchContentPathsForAllLocales.js.map +1 -0
  52. package/dist/guillotine/fetchContentPathsForLocale.d.ts +2 -0
  53. package/dist/guillotine/fetchContentPathsForLocale.js +42 -0
  54. package/dist/guillotine/fetchContentPathsForLocale.js.map +1 -0
  55. package/dist/guillotine/fetchFromApi.d.ts +3 -0
  56. package/dist/guillotine/fetchFromApi.js +76 -0
  57. package/dist/guillotine/fetchFromApi.js.map +1 -0
  58. package/dist/guillotine/fetchGuillotine.d.ts +3 -0
  59. package/dist/guillotine/fetchGuillotine.js +75 -0
  60. package/dist/guillotine/fetchGuillotine.js.map +1 -0
  61. package/dist/guillotine/fetchMetaData.d.ts +2 -0
  62. package/dist/guillotine/fetchMetaData.js +33 -0
  63. package/dist/guillotine/fetchMetaData.js.map +1 -0
  64. package/dist/guillotine/getCleanContentPathArrayOrThrow400.d.ts +2 -0
  65. package/{src/guillotine/getCleanContentPathArrayOrThrow400.ts → dist/guillotine/getCleanContentPathArrayOrThrow400.js} +7 -9
  66. package/dist/guillotine/getCleanContentPathArrayOrThrow400.js.map +1 -0
  67. package/dist/guillotine/getComponentConfig.d.ts +2 -0
  68. package/{src/guillotine/getComponentConfig.ts → dist/guillotine/getComponentConfig.js} +3 -5
  69. package/dist/guillotine/getComponentConfig.js.map +1 -0
  70. package/dist/guillotine/getContentAndComponentPaths.d.ts +1 -0
  71. package/{src/guillotine/getContentAndComponentPaths.ts → dist/guillotine/getContentAndComponentPaths.js} +6 -5
  72. package/dist/guillotine/getContentAndComponentPaths.js.map +1 -0
  73. package/dist/guillotine/getMetaData.d.ts +2 -0
  74. package/{src/guillotine/getMetaData.ts → dist/guillotine/getMetaData.js} +11 -18
  75. package/dist/guillotine/getMetaData.js.map +1 -0
  76. package/dist/guillotine/getParentRegion.d.ts +2 -0
  77. package/{src/guillotine/getParentRegion.ts → dist/guillotine/getParentRegion.js} +9 -23
  78. package/dist/guillotine/getParentRegion.js.map +1 -0
  79. package/dist/guillotine/getQueryAndVariables.d.ts +2 -0
  80. package/{src/guillotine/getQueryAndVariables.ts → dist/guillotine/getQueryAndVariables.js} +7 -23
  81. package/dist/guillotine/getQueryAndVariables.js.map +1 -0
  82. package/dist/guillotine/metadata/configQuery.d.ts +2 -0
  83. package/dist/guillotine/metadata/configQuery.js +36 -0
  84. package/dist/guillotine/metadata/configQuery.js.map +1 -0
  85. package/dist/guillotine/metadata/richTextQuery.d.ts +1 -0
  86. package/{src/guillotine/metadata/richTextQuery.ts → dist/guillotine/metadata/richTextQuery.js} +6 -8
  87. package/dist/guillotine/metadata/richTextQuery.js.map +1 -0
  88. package/dist/guillotine/parseComponentPath.d.ts +2 -0
  89. package/{src/guillotine/parseComponentPath.ts → dist/guillotine/parseComponentPath.js} +4 -8
  90. package/dist/guillotine/parseComponentPath.js.map +1 -0
  91. package/dist/guillotine/prefixFragmentCmpPath.d.ts +1 -0
  92. package/{src/guillotine/prefixFragmentCmpPath.ts → dist/guillotine/prefixFragmentCmpPath.js} +5 -5
  93. package/dist/guillotine/prefixFragmentCmpPath.js.map +1 -0
  94. package/dist/guillotine/processComponentConfig.d.ts +2 -0
  95. package/{src/guillotine/processComponentConfig.ts → dist/guillotine/processComponentConfig.js} +4 -12
  96. package/dist/guillotine/processComponentConfig.js.map +1 -0
  97. package/dist/guillotine/restrictComponentsToPath.d.ts +2 -0
  98. package/{src/guillotine/restrictComponentsToPath.ts → dist/guillotine/restrictComponentsToPath.js} +9 -19
  99. package/dist/guillotine/restrictComponentsToPath.js.map +1 -0
  100. package/dist/guillotine/validateData.d.ts +2 -0
  101. package/dist/guillotine/validateData.js +7 -0
  102. package/dist/guillotine/validateData.js.map +1 -0
  103. package/dist/guillotine/validateNotFound.d.ts +2 -0
  104. package/{src/guillotine/validateNotFound.ts → dist/guillotine/validateNotFound.js} +5 -9
  105. package/dist/guillotine/validateNotFound.js.map +1 -0
  106. package/dist/guillotine/validateShortcut.d.ts +2 -0
  107. package/{src/guillotine/validateShortcut.ts → dist/guillotine/validateShortcut.js} +12 -20
  108. package/dist/guillotine/validateShortcut.js.map +1 -0
  109. package/dist/i18n/LocaleContext.d.ts +7 -0
  110. package/dist/i18n/LocaleContext.jsx +50 -0
  111. package/dist/i18n/LocaleContext.jsx.map +1 -0
  112. package/dist/i18n/i18n.d.ts +12 -0
  113. package/dist/i18n/i18n.js +59 -0
  114. package/dist/i18n/i18n.js.map +1 -0
  115. package/dist/index.d.ts +14 -0
  116. package/dist/index.js +14 -0
  117. package/dist/index.js.map +1 -0
  118. package/dist/query/Shortcut.d.ts +1 -0
  119. package/{src/query/Shortcut.ts → dist/query/Shortcut.js} +1 -0
  120. package/dist/query/Shortcut.js.map +1 -0
  121. package/dist/server/getServerRenderedHtml.d.ts +1 -0
  122. package/dist/server/getServerRenderedHtml.js +4 -0
  123. package/dist/server/getServerRenderedHtml.js.map +1 -0
  124. package/dist/server.d.ts +5 -0
  125. package/dist/server.js +6 -0
  126. package/dist/server.js.map +1 -0
  127. package/{src/types/component.ts → dist/types/component.d.ts} +23 -62
  128. package/dist/types/component.js +2 -0
  129. package/dist/types/component.js.map +1 -0
  130. package/dist/types/componentProps.d.ts +107 -0
  131. package/dist/types/componentProps.js +2 -0
  132. package/dist/types/componentProps.js.map +1 -0
  133. package/dist/types/guillotine.d.ts +344 -0
  134. package/dist/types/guillotine.js +2 -0
  135. package/dist/types/guillotine.js.map +1 -0
  136. package/dist/types/i18n.d.ts +7 -0
  137. package/dist/types/i18n.js +2 -0
  138. package/dist/types/i18n.js.map +1 -0
  139. package/{src/types/index.ts → dist/types/index.d.ts} +19 -34
  140. package/dist/types/index.js +3 -0
  141. package/dist/types/index.js.map +1 -0
  142. package/dist/types/next.d.ts +6 -0
  143. package/dist/types/next.js +2 -0
  144. package/dist/types/next.js.map +1 -0
  145. package/dist/types/util.d.ts +3 -0
  146. package/dist/types/util.js +3 -0
  147. package/dist/types/util.js.map +1 -0
  148. package/dist/utils/addLineNumbers.d.ts +1 -0
  149. package/dist/utils/addLineNumbers.js +4 -0
  150. package/dist/utils/addLineNumbers.js.map +1 -0
  151. package/dist/utils/buildGuillotineRequestHeaders.d.ts +7 -0
  152. package/dist/utils/buildGuillotineRequestHeaders.js +16 -0
  153. package/dist/utils/buildGuillotineRequestHeaders.js.map +1 -0
  154. package/dist/utils/commonChars.d.ts +1 -0
  155. package/{src/utils/commonChars.ts → dist/utils/commonChars.js} +5 -4
  156. package/dist/utils/commonChars.js.map +1 -0
  157. package/dist/utils/enonicLog.d.ts +5 -0
  158. package/dist/utils/enonicLog.js +23 -0
  159. package/dist/utils/enonicLog.js.map +1 -0
  160. package/dist/utils/fixDoubleSlashes.d.ts +1 -0
  161. package/dist/utils/fixDoubleSlashes.js +4 -0
  162. package/dist/utils/fixDoubleSlashes.js.map +1 -0
  163. package/dist/utils/getAllLocales.d.ts +1 -0
  164. package/dist/utils/getAllLocales.js +5 -0
  165. package/dist/utils/getAllLocales.js.map +1 -0
  166. package/dist/utils/getContentApiUrl.d.ts +2 -0
  167. package/dist/utils/getContentApiUrl.js +15 -0
  168. package/dist/utils/getContentApiUrl.js.map +1 -0
  169. package/dist/utils/getLocaleMapping.d.ts +2 -0
  170. package/dist/utils/getLocaleMapping.js +19 -0
  171. package/dist/utils/getLocaleMapping.js.map +1 -0
  172. package/dist/utils/getLocaleMappingByLocale.d.ts +2 -0
  173. package/dist/utils/getLocaleMappingByLocale.js +13 -0
  174. package/dist/utils/getLocaleMappingByLocale.js.map +1 -0
  175. package/dist/utils/getLocaleMappingByProjectId.d.ts +2 -0
  176. package/dist/utils/getLocaleMappingByProjectId.js +16 -0
  177. package/dist/utils/getLocaleMappingByProjectId.js.map +1 -0
  178. package/dist/utils/getLocaleMappings.d.ts +2 -0
  179. package/{src/utils/getLocaleMappings.ts → dist/utils/getLocaleMappings.js} +8 -14
  180. package/dist/utils/getLocaleMappings.js.map +1 -0
  181. package/dist/utils/getRenderMode.d.ts +3 -0
  182. package/dist/utils/getRenderMode.js +8 -0
  183. package/dist/utils/getRenderMode.js.map +1 -0
  184. package/dist/utils/getRequestLocaleInfo.d.ts +6 -0
  185. package/{src/utils/getRequestLocaleInfo.ts → dist/utils/getRequestLocaleInfo.js} +12 -13
  186. package/dist/utils/getRequestLocaleInfo.js.map +1 -0
  187. package/dist/utils/getXpBaseUrl.d.ts +2 -0
  188. package/dist/utils/getXpBaseUrl.js +8 -0
  189. package/dist/utils/getXpBaseUrl.js.map +1 -0
  190. package/dist/utils/indent.d.ts +1 -0
  191. package/dist/utils/indent.js +5 -0
  192. package/dist/utils/indent.js.map +1 -0
  193. package/dist/utils/sanitizeGraphqlName.d.ts +1 -0
  194. package/{src/utils/sanitizeGraphqlName.ts → dist/utils/sanitizeGraphqlName.js} +3 -2
  195. package/dist/utils/sanitizeGraphqlName.js.map +1 -0
  196. package/dist/views/BaseComponent.d.ts +20 -0
  197. package/{src/views/BaseComponent.tsx → dist/views/BaseComponent.jsx} +49 -76
  198. package/dist/views/BaseComponent.jsx.map +1 -0
  199. package/dist/views/BaseContent.d.ts +3 -0
  200. package/dist/views/BaseContent.jsx +38 -0
  201. package/dist/views/BaseContent.jsx.map +1 -0
  202. package/dist/views/BaseLayout.d.ts +3 -0
  203. package/dist/views/BaseLayout.jsx +24 -0
  204. package/dist/views/BaseLayout.jsx.map +1 -0
  205. package/dist/views/BaseMacro.d.ts +6 -0
  206. package/{src/views/BaseMacro.tsx → dist/views/BaseMacro.jsx} +37 -42
  207. package/dist/views/BaseMacro.jsx.map +1 -0
  208. package/dist/views/BasePage.d.ts +3 -0
  209. package/dist/views/BasePage.jsx +34 -0
  210. package/dist/views/BasePage.jsx.map +1 -0
  211. package/dist/views/BasePart.d.ts +3 -0
  212. package/dist/views/BasePart.jsx +24 -0
  213. package/dist/views/BasePart.jsx.map +1 -0
  214. package/dist/views/Empty.d.ts +2 -0
  215. package/{src/views/Empty.tsx → dist/views/Empty.jsx} +1 -2
  216. package/dist/views/Empty.jsx.map +1 -0
  217. package/dist/views/Fragment.d.ts +3 -0
  218. package/dist/views/Fragment.jsx +30 -0
  219. package/dist/views/Fragment.jsx.map +1 -0
  220. package/dist/views/MainView.d.ts +3 -0
  221. package/dist/views/MainView.jsx +14 -0
  222. package/dist/views/MainView.jsx.map +1 -0
  223. package/dist/views/PropsView.d.ts +2 -0
  224. package/dist/views/PropsView.jsx +21 -0
  225. package/dist/views/PropsView.jsx.map +1 -0
  226. package/dist/views/Region.d.ts +6 -0
  227. package/{src/views/Region.tsx → dist/views/Region.jsx} +17 -41
  228. package/dist/views/Region.jsx.map +1 -0
  229. package/dist/views/RichTextView.d.ts +3 -0
  230. package/dist/views/RichTextView.jsx +65 -0
  231. package/dist/views/RichTextView.jsx.map +1 -0
  232. package/dist/views/SingleComponent.d.ts +4 -0
  233. package/dist/views/SingleComponent.jsx +10 -0
  234. package/dist/views/SingleComponent.jsx.map +1 -0
  235. package/dist/views/StaticContent.d.ts +10 -0
  236. package/dist/views/StaticContent.jsx +37 -0
  237. package/dist/views/StaticContent.jsx.map +1 -0
  238. package/dist/views/Text.d.ts +8 -0
  239. package/dist/views/Text.jsx +4 -0
  240. package/dist/views/Text.jsx.map +1 -0
  241. package/dist/views/macros/DefaultMacro.d.ts +3 -0
  242. package/dist/views/macros/DefaultMacro.jsx +4 -0
  243. package/dist/views/macros/DefaultMacro.jsx.map +1 -0
  244. package/dist/views/macros/DisableMacro.d.ts +3 -0
  245. package/dist/views/macros/DisableMacro.jsx +3 -0
  246. package/dist/views/macros/DisableMacro.jsx.map +1 -0
  247. package/package.json +20 -32
  248. package/src/client.ts +0 -2
  249. package/src/common/ComponentRegistry.ts +0 -159
  250. package/src/guillotine/applyProcessors.ts +0 -34
  251. package/src/guillotine/buildPage.ts +0 -15
  252. package/src/guillotine/createMetaData.ts +0 -72
  253. package/src/guillotine/fetchContent.ts +0 -240
  254. package/src/guillotine/fetchContentData.ts +0 -31
  255. package/src/guillotine/fetchContentPathsForAllLocales.ts +0 -21
  256. package/src/guillotine/fetchContentPathsForLocale.ts +0 -43
  257. package/src/guillotine/fetchFromApi.ts +0 -76
  258. package/src/guillotine/fetchGuillotine.ts +0 -76
  259. package/src/guillotine/fetchMetaData.ts +0 -31
  260. package/src/guillotine/metadata/configQuery.ts +0 -46
  261. package/src/guillotine/validateData.ts +0 -11
  262. package/src/i18n/LocaleContext.tsx +0 -59
  263. package/src/i18n/i18n.ts +0 -57
  264. package/src/index.ts +0 -42
  265. package/src/server/getServerRenderedHtml.ts +0 -3
  266. package/src/server.ts +0 -5
  267. package/src/types/componentProps.ts +0 -143
  268. package/src/types/guillotine.ts +0 -428
  269. package/src/types/i18n.ts +0 -8
  270. package/src/types/next.ts +0 -7
  271. package/src/types/util.ts +0 -5
  272. package/src/utils/addLineNumbers.ts +0 -3
  273. package/src/utils/buildGuillotineRequestHeaders.ts +0 -29
  274. package/src/utils/enonicLog.ts +0 -28
  275. package/src/utils/fixDoubleSlashes.ts +0 -3
  276. package/src/utils/getAllLocales.ts +0 -6
  277. package/src/utils/getContentApiUrl.ts +0 -20
  278. package/src/utils/getLocaleMapping.ts +0 -24
  279. package/src/utils/getLocaleMappingByLocale.ts +0 -19
  280. package/src/utils/getLocaleMappingByProjectId.ts +0 -21
  281. package/src/utils/getRenderMode.ts +0 -11
  282. package/src/utils/getXpBaseUrl.ts +0 -12
  283. package/src/utils/indent.ts +0 -4
  284. package/src/views/BaseContent.tsx +0 -47
  285. package/src/views/BaseLayout.tsx +0 -33
  286. package/src/views/BasePage.tsx +0 -42
  287. package/src/views/BasePart.tsx +0 -34
  288. package/src/views/Fragment.tsx +0 -41
  289. package/src/views/MainView.tsx +0 -22
  290. package/src/views/PropsView.tsx +0 -38
  291. package/src/views/RichTextView.tsx +0 -106
  292. package/src/views/SingleComponent.tsx +0 -19
  293. package/src/views/StaticContent.tsx +0 -39
  294. package/src/views/Text.tsx +0 -19
  295. package/src/views/macros/DefaultMacro.tsx +0 -9
  296. package/src/views/macros/DisableMacro.tsx +0 -8
@@ -1,60 +1,53 @@
1
- import type {BaseMacroProps, MacroConfig} from '../types';
2
-
3
- import {ComponentRegistry} from '../common/ComponentRegistry';
4
- import {RENDER_MODE} from '../common/constants';
5
- import {sanitizeGraphqlName} from '../utils/sanitizeGraphqlName';
1
+ import { ComponentRegistry } from '../common/ComponentRegistry';
2
+ import { RENDER_MODE } from '../common/constants';
3
+ import { sanitizeGraphqlName } from '../utils/sanitizeGraphqlName';
6
4
  import HTMLReactParser from 'html-react-parser';
7
- import {shouldShowMissingView, MissingComponent} from './BaseComponent';
5
+ import { shouldShowMissingView, MissingComponent } from './BaseComponent';
8
6
  import React from 'react';
9
-
10
-
11
7
  const unescape = require('unescape');
12
-
13
8
  export const MACRO_DISABLE = 'system:disable';
14
9
  export const MACRO_EMBED = 'system:embed';
15
-
16
-
17
- const BaseMacro = (props: BaseMacroProps) => {
18
- const {data, children, meta, renderInEditMode} = props;
19
-
20
- let config = data.config?.[sanitizeGraphqlName(data.name)] ?? {};
10
+ const BaseMacro = (props) => {
11
+ var _a, _b;
12
+ const { data, children, meta, renderInEditMode } = props;
13
+ let config = (_b = (_a = data.config) === null || _a === void 0 ? void 0 : _a[sanitizeGraphqlName(data.name)]) !== null && _b !== void 0 ? _b : {};
21
14
  if (data.descriptor !== MACRO_DISABLE) {
22
15
  // do not do any processing for disable macro
23
16
  config = normalizeValue(config);
24
17
  }
25
-
26
- if (!renderInEditMode && meta?.renderMode === RENDER_MODE.EDIT) {
18
+ if (!renderInEditMode && (meta === null || meta === void 0 ? void 0 : meta.renderMode) === RENDER_MODE.EDIT) {
27
19
  const attrs = formatAttributes(config);
28
20
  if (config.body) {
29
21
  // NB. config body takes precedence over children
30
-
31
22
  // do not parse system macros (embed, disable) in edit mode
32
23
  // but parse others because panel macros (for instance) wants its content to be html, not string
33
24
  // TODO: should we make this behavior configurable ?
34
- const bodyString = !data.descriptor.startsWith('system:') ? HTMLReactParser(config.body as string) : config.body;
25
+ const bodyString = !data.descriptor.startsWith('system:') ? HTMLReactParser(config.body) : config.body;
35
26
  return <>
36
27
  {`[${data.name}${attrs}]`}
37
28
  {bodyString}
38
29
  {`[/${data.name}]`}
39
30
  </>;
40
- } else if (children) {
31
+ }
32
+ else if (children) {
41
33
  return <>
42
34
  {`[${data.name}${attrs}]`}
43
35
  {children}
44
36
  {`[/${data.name}]`}
45
37
  </>;
46
- } else {
38
+ }
39
+ else {
47
40
  return <>
48
41
  {`[${data.name}${attrs}/]`}
49
42
  </>;
50
43
  }
51
44
  }
52
-
53
45
  const macro = ComponentRegistry.getMacro(data.descriptor);
54
- const MacroView = macro?.view;
46
+ const MacroView = macro === null || macro === void 0 ? void 0 : macro.view;
55
47
  if (MacroView) {
56
48
  return <MacroView name={data.name} config={config} meta={meta}>{children}</MacroView>;
57
- } else if (data.descriptor) {
49
+ }
50
+ else if (data.descriptor) {
58
51
  console.warn(`BaseMacro: can not render macro '${data.descriptor}': no next view or catch-all defined`);
59
52
  if (shouldShowMissingView(meta)) {
60
53
  return <MissingComponent type="macro" descriptor={data.descriptor}/>;
@@ -62,44 +55,46 @@ const BaseMacro = (props: BaseMacroProps) => {
62
55
  }
63
56
  return null;
64
57
  };
65
-
66
- function normalizeValue(value: any): any {
67
- let parsedVal: any;
58
+ function normalizeValue(value) {
59
+ let parsedVal;
68
60
  if (value instanceof Array) {
69
61
  parsedVal = value.map(normalizeValue);
70
- } else if (value instanceof Object) {
62
+ }
63
+ else if (value instanceof Object) {
71
64
  parsedVal = {};
72
65
  Object.entries(value).forEach(entry => parsedVal[entry[0]] = normalizeValue(entry[1]));
73
- } else if (typeof value === 'string') {
66
+ }
67
+ else if (typeof value === 'string') {
74
68
  const unescapedValue = unescape(value);
75
69
  if (unescapedValue.startsWith('[') && unescapedValue.endsWith(']')) {
76
70
  // Wicked array notation: "[Value 1, Value 2]"
77
71
  parsedVal = unescapedValue.substring(1, unescapedValue.length - 1).split(/,\s*/);
78
- } else {
72
+ }
73
+ else {
79
74
  try {
80
75
  parsedVal = JSON.parse(unescapedValue);
81
- } catch (e) {
76
+ }
77
+ catch (e) {
82
78
  // simple string or wrongly formatted JSON
83
79
  parsedVal = unescapedValue;
84
80
  }
85
81
  }
86
- } else {
82
+ }
83
+ else {
87
84
  // most likely a number or unknown type
88
85
  parsedVal = value;
89
86
  }
90
87
  return parsedVal;
91
88
  }
92
-
93
- function formatAttributes(config: MacroConfig): string {
94
- const attrs: string[] = Object.entries(config)
89
+ function formatAttributes(config) {
90
+ const attrs = Object.entries(config)
95
91
  .filter(entry => entry[0] !== 'body')
96
- .reduce<string[]>((accum, entry) => {
97
- // concat to make sure we account for arrays
98
- [].concat(normalizeValue(entry[1])).forEach(val => accum.push(`${entry[0]}="${val}"`));
99
- return accum;
100
- }, []);
101
-
92
+ .reduce((accum, entry) => {
93
+ // concat to make sure we account for arrays
94
+ [].concat(normalizeValue(entry[1])).forEach(val => accum.push(`${entry[0]}="${val}"`));
95
+ return accum;
96
+ }, []);
102
97
  return attrs.length ? ` ${attrs.join(' ')}` : '';
103
98
  }
104
-
105
99
  export default BaseMacro;
100
+ //# sourceMappingURL=BaseMacro.jsx.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BaseMacro.jsx","sourceRoot":"","sources":["../../src/views/BaseMacro.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { BasePageProps } from '../types';
2
+ declare const BasePage: (props: BasePageProps) => import("react").JSX.Element;
3
+ export default BasePage;
@@ -0,0 +1,34 @@
1
+ import { ComponentRegistry } from '../common/ComponentRegistry';
2
+ import { XP_COMPONENT_TYPE } from '../common/constants';
3
+ import { ErrorComponent, MissingComponent, shouldShowErrorView, shouldShowMissingView } from './BaseComponent';
4
+ const BasePage = (props) => {
5
+ const { component, data, common, error, meta, path } = props;
6
+ const desc = component === null || component === void 0 ? void 0 : component.descriptor;
7
+ if (error) {
8
+ console.warn(`BasePage: '${desc}' error: ${error}`);
9
+ if (shouldShowErrorView(meta)) {
10
+ return <ErrorComponent reason={error} descriptor={desc} type={XP_COMPONENT_TYPE.PAGE}/>;
11
+ }
12
+ else {
13
+ return null;
14
+ }
15
+ }
16
+ let pageDef;
17
+ if (desc) {
18
+ pageDef = ComponentRegistry.getPage(desc);
19
+ }
20
+ const PageView = pageDef === null || pageDef === void 0 ? void 0 : pageDef.view;
21
+ if (PageView) {
22
+ return <PageView page={component} path={path} data={data} common={common} meta={meta}/>;
23
+ }
24
+ else if (component === null || component === void 0 ? void 0 : component.descriptor) {
25
+ // empty descriptor usually means uninitialized page
26
+ console.warn(`BasePage: can not render page '${desc}': no next view or catch-all defined`);
27
+ if (shouldShowMissingView(meta)) {
28
+ return <MissingComponent type={XP_COMPONENT_TYPE.PAGE} descriptor={component.descriptor}/>;
29
+ }
30
+ }
31
+ return null;
32
+ };
33
+ export default BasePage;
34
+ //# sourceMappingURL=BasePage.jsx.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BasePage.jsx","sourceRoot":"","sources":["../../src/views/BasePage.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAC,iBAAiB,EAAC,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAC,iBAAiB,EAAC,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAC,cAAc,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,qBAAqB,EAAC,MAAM,iBAAiB,CAAC;AAG7G,MAAM,QAAQ,GAAG,CAAC,KAAoB,EAAE,EAAE;IACtC,MAAM,EAAC,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAC,GAAG,KAAK,CAAC;IAC3D,MAAM,IAAI,GAAG,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,UAAU,CAAC;IACnC,IAAI,KAAK,EAAE,CAAC;QACR,OAAO,CAAC,IAAI,CAAC,cAAc,IAAI,YAAY,KAAK,EAAE,CAAC,CAAC;QACpD,IAAI,mBAAmB,CAAC,IAAI,CAAC,EAAE,CAAC;YAC5B,OAAO,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC;QAC5F,CAAC;aAAM,CAAC;YACJ,OAAO,IAAI,CAAC;QAChB,CAAC;IACL,CAAC;IACD,IAAI,OAAO,CAAC;IACZ,IAAI,IAAI,EAAE,CAAC;QACP,OAAO,GAAG,iBAAiB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9C,CAAC;IACD,MAAM,QAAQ,GAAG,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,CAAC;IAC/B,IAAI,QAAQ,EAAE,CAAC;QACX,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,CAChB,IAAI,CAAC,CAAC,IAAI,CAAC,CACX,IAAI,CAAC,CAAC,IAAI,CAAC,CACX,MAAM,CAAC,CAAC,MAAM,CAAC,CACf,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;IACnC,CAAC;SAAM,IAAI,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,UAAU,EAAE,CAAC;QAC/B,oDAAoD;QACpD,OAAO,CAAC,IAAI,CAAC,kCAAkC,IAAI,sCAAsC,CAAC,CAAC;QAC3F,IAAI,qBAAqB,CAAC,IAAI,CAAC,EAAE,CAAC;YAC9B,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,CAAC;QAC/F,CAAC;IACL,CAAC;IACD,OAAO,IAAI,CAAC;AAChB,CAAC,CAAC;AAEF,eAAe,QAAQ,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { BasePartProps } from '../types';
2
+ declare const BasePart: (props: BasePartProps) => import("react").JSX.Element;
3
+ export default BasePart;
@@ -0,0 +1,24 @@
1
+ import { ComponentRegistry } from '../common/ComponentRegistry';
2
+ import { XP_COMPONENT_TYPE } from '../common/constants';
3
+ import { MissingComponent, shouldShowMissingView } from './BaseComponent';
4
+ const BasePart = (props) => {
5
+ const { component, data, common, meta, path } = props;
6
+ let partSelection;
7
+ if (component) {
8
+ partSelection = ComponentRegistry.getPart(component.descriptor);
9
+ }
10
+ const SelectedPartView = partSelection === null || partSelection === void 0 ? void 0 : partSelection.view;
11
+ if (SelectedPartView) {
12
+ return <SelectedPartView part={component} path={path} data={data} common={common} meta={meta}/>;
13
+ }
14
+ else if (component === null || component === void 0 ? void 0 : component.descriptor) {
15
+ // empty descriptor usually means uninitialized part
16
+ console.warn(`BasePart: can not render part '${component.descriptor}': no next view or catch-all defined`);
17
+ if (shouldShowMissingView(meta)) {
18
+ return <MissingComponent type={XP_COMPONENT_TYPE.PART} descriptor={component.descriptor}/>;
19
+ }
20
+ }
21
+ return null;
22
+ };
23
+ export default BasePart;
24
+ //# sourceMappingURL=BasePart.jsx.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BasePart.jsx","sourceRoot":"","sources":["../../src/views/BasePart.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAC,iBAAiB,EAAC,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAC,iBAAiB,EAAC,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAC,gBAAgB,EAAE,qBAAqB,EAAC,MAAM,iBAAiB,CAAC;AAGxE,MAAM,QAAQ,GAAG,CAAC,KAAoB,EAAE,EAAE;IACtC,MAAM,EAAC,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAC,GAAG,KAAK,CAAC;IAEpD,IAAI,aAAa,CAAC;IAClB,IAAI,SAAS,EAAE,CAAC;QACZ,aAAa,GAAG,iBAAiB,CAAC,OAAO,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;IACpE,CAAC;IACD,MAAM,gBAAgB,GAAG,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,IAAI,CAAC;IAC7C,IAAI,gBAAgB,EAAE,CAAC;QACnB,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,CAChB,IAAI,CAAC,CAAC,IAAI,CAAC,CACX,IAAI,CAAC,CAAC,IAAI,CAAC,CACX,MAAM,CAAC,CAAC,MAAM,CAAC,CACf,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;IAC3C,CAAC;SAAM,IAAI,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,UAAU,EAAE,CAAC;QAC/B,oDAAoD;QACpD,OAAO,CAAC,IAAI,CAAC,kCAAkC,SAAS,CAAC,UAAU,sCAAsC,CAAC,CAAC;QAC3G,IAAI,qBAAqB,CAAC,IAAI,CAAC,EAAE,CAAC;YAC9B,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,CAAC;QAC/F,CAAC;IACL,CAAC;IACD,OAAO,IAAI,CAAC;AAChB,CAAC,CAAC;AAEF,eAAe,QAAQ,CAAC"}
@@ -0,0 +1,2 @@
1
+ declare const Empty: () => import("react").JSX.Element;
2
+ export default Empty;
@@ -1,5 +1,4 @@
1
1
  /// <reference types="react" />
2
-
3
2
  const Empty = () => <></>;
4
-
5
3
  export default Empty;
4
+ //# sourceMappingURL=Empty.jsx.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Empty.jsx","sourceRoot":"","sources":["../../src/views/Empty.tsx"],"names":[],"mappings":"AAAA,+BAA+B;AAE/B,MAAM,KAAK,GAAG,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC;AAE1B,eAAe,KAAK,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { FragmentProps } from '../types';
2
+ declare const FragmentView: (props: FragmentProps) => import("react").JSX.Element;
3
+ export default FragmentView;
@@ -0,0 +1,30 @@
1
+ import { FRAGMENT_DEFAULT_REGION_NAME, XP_COMPONENT_TYPE } from '../common/constants';
2
+ import BaseComponent, { MissingComponent, shouldShowMissingView } from './BaseComponent';
3
+ const FragmentView = (props) => {
4
+ var _a;
5
+ const { component, page } = props;
6
+ const comps = [];
7
+ if (page) {
8
+ // rendering whole page
9
+ const regions = page.regions || {};
10
+ const regionComps = (_a = regions[FRAGMENT_DEFAULT_REGION_NAME]) === null || _a === void 0 ? void 0 : _a.components;
11
+ if (regionComps) {
12
+ comps.push(...regionComps);
13
+ }
14
+ }
15
+ else if (component === null || component === void 0 ? void 0 : component.fragment) {
16
+ // rendering a part of a page
17
+ comps.push(...component.fragment.components);
18
+ }
19
+ if (!comps.length && shouldShowMissingView(props.meta)) {
20
+ return <MissingComponent type={XP_COMPONENT_TYPE.FRAGMENT} descriptor={(page === null || page === void 0 ? void 0 : page.descriptor) || (component === null || component === void 0 ? void 0 : component.id)}/>;
21
+ }
22
+ else {
23
+ const { common, meta } = props;
24
+ return (<>
25
+ {comps.map((comp, i) => (<BaseComponent key={i} component={comp} common={common} meta={meta}/>))}
26
+ </>);
27
+ }
28
+ };
29
+ export default FragmentView;
30
+ //# sourceMappingURL=Fragment.jsx.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Fragment.jsx","sourceRoot":"","sources":["../../src/views/Fragment.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAC,4BAA4B,EAAE,iBAAiB,EAAC,MAAM,qBAAqB,CAAC;AACpF,OAAO,aAAa,EAAE,EAAC,gBAAgB,EAAE,qBAAqB,EAAC,MAAM,iBAAiB,CAAC;AAGvF,MAAM,YAAY,GAAG,CAAC,KAAoB,EAAE,EAAE;;IAC1C,MAAM,EAAC,SAAS,EAAE,IAAI,EAAC,GAAG,KAAK,CAAC;IAChC,MAAM,KAAK,GAAoB,EAAE,CAAC;IAClC,IAAI,IAAI,EAAE,CAAC;QACP,uBAAuB;QACvB,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC;QACnC,MAAM,WAAW,GAAG,MAAA,OAAO,CAAC,4BAA4B,CAAC,0CAAE,UAAU,CAAC;QACtE,IAAI,WAAW,EAAE,CAAC;YACd,KAAK,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC,CAAC;QAC/B,CAAC;IACL,CAAC;SAAM,IAAI,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,QAAQ,EAAE,CAAC;QAC7B,6BAA6B;QAC7B,KAAK,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;IACjD,CAAC;IAED,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,qBAAqB,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QACrD,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,CAAC,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,UAAU,MAAI,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,EAAE,CAAA,CAAC,EAAE,CAAC;IAChH,CAAC;SAAM,CAAC;QACJ,MAAM,EAAC,MAAM,EAAE,IAAI,EAAC,GAAG,KAAK,CAAC;QAE7B,OAAO,CACH,EACI;gBAAA,CACI,KAAK,CAAC,GAAG,CAAC,CAAC,IAAmB,EAAE,CAAS,EAAE,EAAE,CAAC,CAC1C,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CACxE,CACL,CACJ;YAAA,GAAG,CACN,CAAC;IACN,CAAC;AACL,CAAC,CAAC;AAEF,eAAe,YAAY,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { FetchContentResult } from '../types';
2
+ declare const _MainView: (props: FetchContentResult) => import("react").JSX.Element;
3
+ export default _MainView;
@@ -0,0 +1,14 @@
1
+ import { XP_REQUEST_TYPE } from '../common/constants';
2
+ import SingleComponent from './SingleComponent';
3
+ import BaseContent from './BaseContent';
4
+ const _MainView = (props) => {
5
+ const { meta } = props;
6
+ // Single-component render:
7
+ if ((meta === null || meta === void 0 ? void 0 : meta.requestType) === XP_REQUEST_TYPE.COMPONENT) {
8
+ return <SingleComponent {...props}/>;
9
+ }
10
+ // meta.requestType="type", and hence content-type based, is standard view for now.
11
+ return <BaseContent {...props}/>;
12
+ };
13
+ export default _MainView;
14
+ //# sourceMappingURL=MainView.jsx.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MainView.jsx","sourceRoot":"","sources":["../../src/views/MainView.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAC,eAAe,EAAC,MAAM,qBAAqB,CAAC;AACpD,OAAO,eAAe,MAAM,mBAAmB,CAAC;AAChD,OAAO,WAAW,MAAM,eAAe,CAAC;AAGxC,MAAM,SAAS,GAAG,CAAC,KAAyB,EAAE,EAAE;IAC5C,MAAM,EAAC,IAAI,EAAC,GAAG,KAAK,CAAC;IAErB,2BAA2B;IAC3B,IAAI,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,WAAW,MAAK,eAAe,CAAC,SAAS,EAAE,CAAC;QAClD,OAAO,CAAC,eAAe,CAAC,IAAI,KAAK,CAAC,EAAG,CAAC;IAC1C,CAAC;IAED,mFAAmF;IACnF,OAAO,CAAC,WAAW,CAAC,IAAI,KAAK,CAAC,EAAG,CAAC;AACtC,CAAC,CAAC;AAEF,eAAe,SAAS,CAAC"}
@@ -0,0 +1,2 @@
1
+ declare const PropsView: (props: any) => import("react").JSX.Element;
2
+ export default PropsView;
@@ -0,0 +1,21 @@
1
+ /// <reference types="react" />
2
+ const PropsView = (props) => {
3
+ return (<div className='debug' style={{ margin: '10px', padding: '10px', border: '2px solid lightgrey' }}>
4
+ <DataDump label='Page' data={props.page}/>
5
+ <DataDump label='Part' data={props.part}/>
6
+ <DataDump label='Layout' data={props.layout}/>
7
+ <DataDump label='Data' data={props.data}/>
8
+ <DataDump label='Common' data={props.common}/>
9
+ </div>);
10
+ };
11
+ export default PropsView;
12
+ const DataDump = ({ label, data }) => ((data && (<>
13
+ {label && (<h5 style={{ marginTop: '0', marginBottom: '0' }}>{label}:</h5>)}
14
+ <pre style={{
15
+ fontSize: '.8em',
16
+ width: '100%',
17
+ whiteSpace: 'pre-wrap',
18
+ wordWrap: 'break-word'
19
+ }}>{JSON.stringify(data, null, 2)}</pre>
20
+ </>)) || null);
21
+ //# sourceMappingURL=PropsView.jsx.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PropsView.jsx","sourceRoot":"","sources":["../../src/views/PropsView.tsx"],"names":[],"mappings":"AAAA,+BAA+B;AAO/B,MAAM,SAAS,GAAG,CAAC,KAAU,EAAE,EAAE;IAC7B,OAAO,CACH,CAAC,GAAG,CAAC,SAAS,CAAC,OAAO,CAClB,KAAK,CAAC,CAAC,EAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,qBAAqB,EAAC,CAAC,CACxE;YAAA,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,EACxC;YAAA,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,EACxC;YAAA,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,EAC5C;YAAA,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,EACxC;YAAA,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,EAChD;QAAA,EAAE,GAAG,CAAC,CACT,CAAC;AACN,CAAC,CAAC;AAEF,eAAe,SAAS,CAAC;AAEzB,MAAM,QAAQ,GAAG,CAAC,EAAC,KAAK,EAAE,IAAI,EAAQ,EAAE,EAAE,CAAC,CACvC,CAAC,IAAI,IAAI,CACD,EACI;gBAAA,CAAC,KAAK,IAAI,CACN,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,EAAC,SAAS,EAAE,GAAG,EAAE,YAAY,EAAE,GAAG,EAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAChE,CACD;gBAAA,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACR,QAAQ,EAAE,MAAM;QAChB,KAAK,EAAE,MAAM;QACb,UAAU,EAAE,UAAU;QACtB,QAAQ,EAAE,YAAY;KACzB,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,CAC3C;YAAA,GAAG,CACN,CACJ,IAAI,IAAI,CACZ,CAAC"}
@@ -0,0 +1,6 @@
1
+ import type { RegionProps, RegionsProps } from '../types';
2
+ /** Single region */
3
+ export declare const RegionView: (props: RegionProps) => import("react").JSX.Element;
4
+ /** Multiple regions, or only one if named in props.selected */
5
+ declare const RegionsView: (props: RegionsProps) => import("react").JSX.Element;
6
+ export default RegionsView;
@@ -1,76 +1,52 @@
1
- /// <reference types="react" />
2
- import type {PageComponent, RegionProps, RegionsProps} from '../types';
3
-
4
-
5
- import {PORTAL_REGION_ATTRIBUTE, RENDER_MODE} from '../common/constants';
1
+ import { PORTAL_REGION_ATTRIBUTE, RENDER_MODE } from '../common/constants';
6
2
  import BaseComponent from './BaseComponent';
7
-
8
-
9
3
  /** Single region */
10
- export const RegionView = (props: RegionProps) => {
11
- const {name, components, common, meta, className} = props;
12
- const regionAttrs: Record<string,string> = {};
13
-
4
+ export const RegionView = (props) => {
5
+ const { name, components, common, meta, className } = props;
6
+ const regionAttrs = {};
14
7
  if (className) {
15
8
  regionAttrs.className = className;
16
9
  }
17
-
18
10
  const children = (components || [])
19
11
  .sort(sortPageComponentsByPath)
20
- .map((component: PageComponent, i: number) => (
21
- <BaseComponent key={`${regionAttrs.id}-${i}`} component={component} common={common} meta={meta}/>
22
- ));
23
-
12
+ .map((component, i) => (<BaseComponent key={`${regionAttrs.id}-${i}`} component={component} common={common} meta={meta}/>));
24
13
  if (meta.renderMode === RENDER_MODE.EDIT) {
25
14
  regionAttrs.id = name + 'Region';
26
15
  regionAttrs[PORTAL_REGION_ATTRIBUTE] = name;
27
16
  }
28
-
29
17
  return <div {...regionAttrs}>{children}</div>;
30
18
  };
31
-
32
-
33
19
  /** Multiple regions, or only one if named in props.selected */
34
- const RegionsView = (props: RegionsProps) => {
35
- const {page, name, meta, common} = props;
36
- const regions = page?.regions;
20
+ const RegionsView = (props) => {
21
+ const { page, name, meta, common } = props;
22
+ const regions = page === null || page === void 0 ? void 0 : page.regions;
37
23
  if (!regions || !Object.keys(regions)) {
38
24
  return null;
39
25
  }
40
-
41
26
  // Detect if any single region is selected for rendering and if so, handle that
42
27
  if (name) {
43
28
  const selectedRegion = regions[name];
44
29
  if (!selectedRegion) {
45
- console.warn(
46
- `Region name '${name}' was selected but not found among regions (${JSON.stringify(Object.keys(regions))}). Skipping.`); // TODO: Throw error instead of this? Return null?
30
+ console.warn(`Region name '${name}' was selected but not found among regions (${JSON.stringify(Object.keys(regions))}). Skipping.`); // TODO: Throw error instead of this? Return null?
47
31
  return null;
48
32
  }
49
33
  return <RegionView {...selectedRegion} common={common} meta={meta}/>;
50
34
  }
51
-
52
- return (
53
- <>
54
- {
55
- Object.keys(regions).map((name: string, i) => {
56
- const region = regions[name];
57
- return <RegionView key={i} {...region} common={common} meta={meta}/>;
58
- })
59
- }
60
- </>
61
- );
35
+ return (<>
36
+ {Object.keys(regions).map((name, i) => {
37
+ const region = regions[name];
38
+ return <RegionView key={i} {...region} common={common} meta={meta}/>;
39
+ })}
40
+ </>);
62
41
  };
63
-
64
- function sortPageComponentsByPath(aComp: PageComponent, bComp: PageComponent): number {
42
+ function sortPageComponentsByPath(aComp, bComp) {
65
43
  // sort according to index in region, otherwise there will be a mismatch of views and data
66
44
  // because after 10 components the order will be: /main/1, /main/11, /main/2, /main/3,...
67
-
68
45
  let pathArr = aComp.path.split('/');
69
46
  const aIndex = +(pathArr[pathArr.length - 1] || 0);
70
47
  pathArr = bComp.path.split('/');
71
48
  const bIndex = +(pathArr[pathArr.length - 1] || 0);
72
-
73
49
  return aIndex - bIndex;
74
50
  }
75
-
76
51
  export default RegionsView;
52
+ //# sourceMappingURL=Region.jsx.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Region.jsx","sourceRoot":"","sources":["../../src/views/Region.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { RichTextViewProps } from '../types';
2
+ declare const RichTextView: (props: RichTextViewProps) => import("react").JSX.Element;
3
+ export default RichTextView;
@@ -0,0 +1,65 @@
1
+ import { getUrl, UrlProcessor } from '../common/UrlProcessor';
2
+ import BaseMacro from './BaseMacro';
3
+ import Link from 'next/link';
4
+ import { useMemo } from 'react';
5
+ import { RichText } from '@enonic/react-components';
6
+ const RichTextView = (props) => {
7
+ var _a;
8
+ const component = useMemo(() => ({
9
+ type: 'text',
10
+ path: props.meta.path,
11
+ text: props.data.processedHtml
12
+ }), [props.meta.path, props.data.processedHtml]);
13
+ return <RichText data={wrapData(props.data)} meta={toRichTextMetaData(props.meta)} nextMeta={props.meta} component={component} 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}/>;
14
+ };
15
+ function wrapReplacer(nextReplacer, meta, renderMacroInEditMode) {
16
+ if (!nextReplacer) {
17
+ return null;
18
+ }
19
+ return ({ el, data }) => {
20
+ return nextReplacer(el, data, meta, renderMacroInEditMode);
21
+ };
22
+ }
23
+ function wrapData(data) {
24
+ if (!data.macros || !data.macros.length) {
25
+ return data;
26
+ }
27
+ const macroComponents = data.macros.map(macroData => {
28
+ return {
29
+ component: {
30
+ type: 'macro',
31
+ ref: macroData.ref,
32
+ name: macroData.name,
33
+ descriptor: macroData.descriptor
34
+ },
35
+ data: {
36
+ name: macroData.name,
37
+ descriptor: macroData.descriptor,
38
+ config: macroData.config || {}
39
+ }
40
+ };
41
+ });
42
+ return Object.assign(Object.assign({}, data), { macroComponents });
43
+ }
44
+ function MacroAdapter(props) {
45
+ const { children, component, data, common, meta, nextMeta, renderInEditMode } = props;
46
+ return <BaseMacro data={data} meta={nextMeta} renderInEditMode={renderInEditMode}>{children}</BaseMacro>;
47
+ }
48
+ function LinkAdapter(props) {
49
+ return <Link href={getUrl(props.href, props.nextMeta)}>{props.children}</Link>;
50
+ }
51
+ function ImageAdapter(props) {
52
+ var _a;
53
+ const srcSet = ((_a = props.srcSet) === null || _a === void 0 ? void 0 : _a.length) ? UrlProcessor.processSrcSet(props.srcSet, props.nextMeta) : undefined;
54
+ return <img src={getUrl(props.src, props.nextMeta)} style={props.style} alt={props.alt} sizes={props.sizes} srcSet={srcSet}/>;
55
+ }
56
+ function toRichTextMetaData(meta) {
57
+ return {
58
+ type: meta.type,
59
+ mode: meta.renderMode,
60
+ path: meta.path,
61
+ id: meta.id
62
+ };
63
+ }
64
+ export default RichTextView;
65
+ //# sourceMappingURL=RichTextView.jsx.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RichTextView.jsx","sourceRoot":"","sources":["../../src/views/RichTextView.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAC,MAAM,EAAE,YAAY,EAAC,MAAM,wBAAwB,CAAC;AAC5D,OAAO,SAAS,MAAM,aAAa,CAAC;AACpC,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAC,OAAO,EAAC,MAAM,OAAO,CAAC;AAU9B,OAAO,EAAC,QAAQ,EAAmB,MAAM,0BAA0B,CAAC;AASpE,MAAM,YAAY,GAAG,CAAC,KAAwB,EAAE,EAAE;;IAC9C,MAAM,SAAS,GAAkB,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;QAC5C,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI;QACrB,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,aAAa;KACjC,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC;IAEjD,OAAO,CAAC,QAAQ,CACZ,IAAI,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAC3B,IAAI,CAAC,CAAC,kBAAkB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CACrC,QAAQ,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CACrB,SAAS,CAAC,CAAC,SAAS,CAAC,CACrB,SAAS,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAC3B,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CACf,QAAQ,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,cAAc,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,qBAAqB,CAAC,CAAC,CACtF,gBAAgB,CAAC,CAAC,MAAA,KAAK,CAAC,qBAAqB,mCAAI,IAAI,CAAC,CACtD,KAAK,CAAC,CAAC,YAAY,CAAC,CACpB,IAAI,CAAC,CAAC,WAAW,CAAC,CAClB,KAAK,CAAC,CAAC,YAAY,CAAC,EACtB,CAAC;AACP,CAAC,CAAC;AAEF,SAAS,YAAY,CAAC,YAAsC,EAAE,IAAc,EACxE,qBAA8B;IAC9B,IAAI,CAAC,YAAY,EAAE,CAAC;QAChB,OAAO,IAAI,CAAC;IAChB,CAAC;IACD,OAAO,CAAC,EAAC,EAAE,EAAE,IAAI,EAAwE,EAAE,EAAE;QACzF,OAAO,YAAY,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,qBAAqB,CAAC,CAAC;IAC/D,CAAC,CAAC;AACN,CAAC;AAED,SAAS,QAAQ,CAAC,IAAkB;IAChC,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;QACtC,OAAO,IAA4B,CAAC;IACxC,CAAC;IACD,MAAM,eAAe,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE;QAChD,OAAO;YACH,SAAS,EAAE;gBACP,IAAI,EAAE,OAAO;gBACb,GAAG,EAAE,SAAS,CAAC,GAAG;gBAClB,IAAI,EAAE,SAAS,CAAC,IAAI;gBACpB,UAAU,EAAE,SAAS,CAAC,UAAU;aACnC;YACD,IAAI,EAAE;gBACF,IAAI,EAAE,SAAS,CAAC,IAAI;gBACpB,UAAU,EAAE,SAAS,CAAC,UAAU;gBAChC,MAAM,EAAE,SAAS,CAAC,MAAM,IAAI,EAAE;aACjC;SACyC,CAAC;IACnD,CAAC,CAAC,CAAC;IACH,uCACO,IAAI,KACP,eAAe,IACjB;AACN,CAAC;AAED,SAAS,YAAY,CAAC,KAA+C;IACjE,MAAM,EAAC,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,gBAAgB,EAAC,GAAG,KAAK,CAAC;IAEpF,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,IAA8B,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,gBAAgB,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,SAAS,CAAC,CAAC;AACvI,CAAC;AAED,SAAS,WAAW,CAAC,KAA8C;IAC/D,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,CAAC;AACnF,CAAC;AAED,SAAS,YAAY,CAAC,KAA+C;;IACjE,MAAM,MAAM,GAAG,CAAA,MAAA,KAAK,CAAC,MAAM,0CAAE,MAAM,EAAC,CAAC,CAAC,YAAY,CAAC,aAAa,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC3G,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;AAClI,CAAC;AAED,SAAS,kBAAkB,CAAC,IAAc;IACtC,OAAO;QACH,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,IAAI,EAAE,IAAI,CAAC,UAAU;QACrB,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,EAAE,EAAE,IAAI,CAAC,EAAE;KACd,CAAA;AACL,CAAC;AAED,eAAe,YAAY,CAAC"}
@@ -0,0 +1,4 @@
1
+ /** Render only one component as a result of a request from XP-side .../_/component/... during edit refresh. */
2
+ import type { FetchContentResult } from '../types';
3
+ declare const SingleComponent: ({ meta, common }: FetchContentResult) => import("react").JSX.Element;
4
+ export default SingleComponent;
@@ -0,0 +1,10 @@
1
+ import BaseComponent from './BaseComponent';
2
+ const SingleComponent = ({ meta, common }) => {
3
+ if (!(meta === null || meta === void 0 ? void 0 : meta.requestedComponent)) {
4
+ // TODO: Handle missing target region (Throw a 404, "component path not found"?)
5
+ return null;
6
+ }
7
+ return <BaseComponent component={meta.requestedComponent} common={common} meta={meta}/>;
8
+ };
9
+ export default SingleComponent;
10
+ //# sourceMappingURL=SingleComponent.jsx.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SingleComponent.jsx","sourceRoot":"","sources":["../../src/views/SingleComponent.tsx"],"names":[],"mappings":"AAKA,OAAO,aAAa,MAAM,iBAAiB,CAAC;AAG5C,MAAM,eAAe,GAAG,CAAC,EAAC,IAAI,EAAE,MAAM,EAAqB,EAAE,EAAE;IAE3D,IAAI,CAAC,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,kBAAkB,CAAA,EAAE,CAAC;QAC5B,gFAAgF;QAChF,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,OAAO,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;AAC5F,CAAC,CAAC;AAEF,eAAe,eAAe,CAAC"}
@@ -0,0 +1,10 @@
1
+ import { StaticContentProps } from '../types';
2
+ export default function StaticContent({ children, element, condition, ...props }: StaticContentProps): import("react").ReactElement<{
3
+ ref: import("react").RefObject<unknown>;
4
+ suppressHydrationWarning: boolean;
5
+ dangerouslySetInnerHTML: {
6
+ __html: string;
7
+ };
8
+ }, string | import("react").JSXElementConstructor<any>> | import("react").DOMElement<{
9
+ [x: string]: any;
10
+ }, Element>;
@@ -0,0 +1,37 @@
1
+ var __rest = (this && this.__rest) || function (s, e) {
2
+ var t = {};
3
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
4
+ t[p] = s[p];
5
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
6
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
7
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
8
+ t[p[i]] = s[p[i]];
9
+ }
10
+ return t;
11
+ };
12
+ import { createElement, createRef } from 'react';
13
+ function useStaticContent(ref, isServer) {
14
+ var _a;
15
+ if (isServer) {
16
+ return false;
17
+ }
18
+ if (((_a = ref === null || ref === void 0 ? void 0 : ref.current) === null || _a === void 0 ? void 0 : _a.innerHTML) === '') {
19
+ return false;
20
+ }
21
+ return true;
22
+ }
23
+ export default function StaticContent(_a) {
24
+ var { children, element = 'div', condition = true } = _a, props = __rest(_a, ["children", "element", "condition"]);
25
+ const isServer = typeof window === 'undefined';
26
+ const ref = createRef();
27
+ const isStatic = useStaticContent(ref, isServer);
28
+ // avoid re-render on the client
29
+ if (isStatic && condition) {
30
+ return createElement(element, Object.assign(Object.assign({}, props), { ref, suppressHydrationWarning: true, dangerouslySetInnerHTML: { __html: '' } }));
31
+ }
32
+ // just render if:
33
+ // - condition is false
34
+ // - we're in the server or a spa navigation
35
+ return createElement(element, props, ...[].concat(children));
36
+ }
37
+ //# sourceMappingURL=StaticContent.jsx.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StaticContent.jsx","sourceRoot":"","sources":["../../src/views/StaticContent.tsx"],"names":[],"mappings":";;;;;;;;;;;AAGA,OAAO,EAAC,aAAa,EAAE,SAAS,EAAC,MAAM,OAAO,CAAC;AAG/C,SAAS,gBAAgB,CAAC,GAAG,EAAE,QAAQ;;IACnC,IAAI,QAAQ,EAAE,CAAC;QACX,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,IAAI,CAAA,MAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,OAAO,0CAAE,SAAS,MAAK,EAAE,EAAE,CAAC;QACjC,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,OAAO,IAAI,CAAC;AAChB,CAAC;AAGD,MAAM,CAAC,OAAO,UAAU,aAAa,CAAC,EAA2E;QAA3E,EAAC,QAAQ,EAAE,OAAO,GAAG,KAAK,EAAE,SAAS,GAAG,IAAI,OAA+B,EAA1B,KAAK,cAAtD,oCAAuD,CAAD;IACxF,MAAM,QAAQ,GAAG,OAAO,MAAM,KAAK,WAAW,CAAC;IAC/C,MAAM,GAAG,GAAG,SAAS,EAAE,CAAC;IACxB,MAAM,QAAQ,GAAG,gBAAgB,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;IAEjD,gCAAgC;IAChC,IAAI,QAAQ,IAAI,SAAS,EAAE,CAAC;QACxB,OAAO,aAAa,CAAC,OAAO,kCACrB,KAAK,KACR,GAAG,EACH,wBAAwB,EAAE,IAAI,EAC9B,uBAAuB,EAAE,EAAC,MAAM,EAAE,EAAE,EAAC,IACvC,CAAC;IACP,CAAC;IAED,kBAAkB;IAClB,uBAAuB;IACvB,4CAA4C;IAC5C,OAAO,aAAa,CAAC,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;AACjE,CAAC"}
@@ -0,0 +1,8 @@
1
+ import type { MetaData, TextData } from '../types';
2
+ interface Props {
3
+ meta: MetaData;
4
+ component: TextData;
5
+ path: string;
6
+ }
7
+ declare const DefaultTextView: ({ component, meta, path }: Props) => import("react").JSX.Element;
8
+ export default DefaultTextView;
@@ -0,0 +1,4 @@
1
+ import RichTextView from './RichTextView';
2
+ const DefaultTextView = ({ component, meta, path }) => (<RichTextView data={component.value} meta={meta} renderMacroInEditMode={false}/>);
3
+ export default DefaultTextView;
4
+ //# sourceMappingURL=Text.jsx.map