@sitecore-content-sdk/core 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 (342) hide show
  1. package/README.md +7 -7
  2. package/dist/cjs/cache-client.js +55 -54
  3. package/dist/cjs/client/constants.js +7 -7
  4. package/dist/cjs/client/edge-proxy.js +24 -22
  5. package/dist/cjs/client/index.js +15 -15
  6. package/dist/cjs/client/models.js +2 -2
  7. package/dist/cjs/client/sitecore-client.js +421 -419
  8. package/dist/cjs/client/utils.js +47 -46
  9. package/dist/cjs/config/define-config.js +194 -193
  10. package/dist/cjs/config/index.js +7 -7
  11. package/dist/cjs/config/models.js +12 -11
  12. package/dist/cjs/config-cli/define-cli-config.js +23 -22
  13. package/dist/cjs/config-cli/index.js +7 -7
  14. package/dist/cjs/config-cli/models.js +8 -7
  15. package/dist/cjs/constants.js +49 -17
  16. package/dist/cjs/debug.js +48 -46
  17. package/dist/cjs/editing/codegen/index.js +14 -9
  18. package/dist/cjs/editing/codegen/preview.js +277 -193
  19. package/dist/cjs/editing/component-layout-service.js +62 -61
  20. package/dist/cjs/editing/design-library.js +183 -126
  21. package/dist/cjs/editing/editing-service.js +75 -74
  22. package/dist/cjs/editing/index.js +33 -27
  23. package/dist/cjs/editing/metadata.js +42 -42
  24. package/dist/cjs/editing/models.js +44 -38
  25. package/dist/cjs/editing/utils.js +108 -90
  26. package/dist/cjs/form/form.js +81 -78
  27. package/dist/cjs/form/index.js +7 -7
  28. package/dist/cjs/graphql-request-client.js +108 -107
  29. package/dist/cjs/i18n/dictionary-service.js +122 -121
  30. package/dist/cjs/i18n/index.js +7 -7
  31. package/dist/cjs/i18n/utils.js +16 -15
  32. package/dist/cjs/index.js +60 -60
  33. package/dist/cjs/layout/content-styles.js +72 -71
  34. package/dist/cjs/layout/index.js +24 -24
  35. package/dist/cjs/layout/layout-service.js +62 -57
  36. package/dist/cjs/layout/models.js +39 -34
  37. package/dist/cjs/layout/themes.js +76 -75
  38. package/dist/cjs/layout/utils.js +117 -110
  39. package/dist/cjs/media/index.js +38 -38
  40. package/dist/cjs/media/media-api.js +100 -96
  41. package/dist/cjs/models.js +2 -2
  42. package/dist/cjs/native-fetcher.js +194 -179
  43. package/dist/cjs/personalize/index.js +15 -15
  44. package/dist/cjs/personalize/layout-personalizer.js +98 -97
  45. package/dist/cjs/personalize/personalize-service.js +98 -94
  46. package/dist/cjs/personalize/utils.js +143 -136
  47. package/dist/cjs/retries.js +43 -42
  48. package/dist/cjs/site/error-pages-service.js +65 -64
  49. package/dist/cjs/site/index.js +26 -26
  50. package/dist/cjs/site/models.js +2 -2
  51. package/dist/cjs/site/redirects-service.js +94 -81
  52. package/dist/cjs/site/robots-service.js +66 -65
  53. package/dist/cjs/site/site-resolver.js +73 -72
  54. package/dist/cjs/site/siteinfo-service.js +84 -80
  55. package/dist/cjs/site/sitemap-xml-service.js +84 -83
  56. package/dist/cjs/site/sitepath-service.js +165 -164
  57. package/dist/cjs/site/utils.js +55 -47
  58. package/dist/cjs/sitecore-service-base.js +36 -36
  59. package/dist/cjs/tools/auth/flow.js +65 -64
  60. package/dist/cjs/tools/auth/index.js +5 -5
  61. package/dist/cjs/tools/auth/models.js +2 -2
  62. package/dist/cjs/tools/auth/tenant-store.js +38 -38
  63. package/dist/cjs/tools/codegen/component-generation.js +52 -50
  64. package/dist/cjs/tools/codegen/extract-files.js +105 -107
  65. package/dist/cjs/tools/codegen/import-map.js +401 -349
  66. package/dist/cjs/tools/codegen/utils.js +418 -418
  67. package/dist/cjs/tools/generate-map.js +2 -2
  68. package/dist/cjs/tools/generateMetadata.js +36 -35
  69. package/dist/cjs/tools/generateSites.js +59 -58
  70. package/dist/cjs/tools/index.js +75 -73
  71. package/dist/cjs/tools/scaffold.js +60 -59
  72. package/dist/cjs/tools/templating/components.js +96 -266
  73. package/dist/cjs/tools/templating/index.js +11 -14
  74. package/dist/cjs/tools/templating/plugins.js +80 -78
  75. package/dist/cjs/tools/templating/utils.js +67 -66
  76. package/dist/cjs/utils/ensurePath.js +20 -20
  77. package/dist/cjs/utils/env.js +28 -27
  78. package/dist/cjs/utils/globalCache.js +55 -0
  79. package/dist/cjs/utils/index.js +26 -21
  80. package/dist/cjs/utils/is-server.js +11 -10
  81. package/dist/cjs/utils/normalize-url.js +5 -5
  82. package/dist/cjs/utils/timeout-promise.js +31 -31
  83. package/dist/cjs/utils/utils.js +254 -229
  84. package/dist/esm/cache-client.js +51 -50
  85. package/dist/esm/client/constants.js +4 -4
  86. package/dist/esm/client/edge-proxy.js +19 -17
  87. package/dist/esm/client/index.js +5 -5
  88. package/dist/esm/client/models.js +1 -1
  89. package/dist/esm/client/sitecore-client.js +414 -412
  90. package/dist/esm/client/utils.js +43 -42
  91. package/dist/esm/config/define-config.js +188 -187
  92. package/dist/esm/config/index.js +2 -2
  93. package/dist/esm/config/models.js +9 -8
  94. package/dist/esm/config-cli/define-cli-config.js +19 -18
  95. package/dist/esm/config-cli/index.js +2 -2
  96. package/dist/esm/config-cli/models.js +5 -4
  97. package/dist/esm/constants.js +46 -14
  98. package/dist/esm/debug.js +41 -39
  99. package/dist/esm/editing/codegen/index.js +1 -1
  100. package/dist/esm/editing/codegen/preview.js +263 -185
  101. package/dist/esm/editing/component-layout-service.js +55 -54
  102. package/dist/esm/editing/design-library.js +171 -117
  103. package/dist/esm/editing/editing-service.js +68 -67
  104. package/dist/esm/editing/index.js +6 -5
  105. package/dist/esm/editing/metadata.js +39 -39
  106. package/dist/esm/editing/models.js +41 -35
  107. package/dist/esm/editing/utils.js +98 -80
  108. package/dist/esm/form/form.js +72 -69
  109. package/dist/esm/form/index.js +1 -1
  110. package/dist/esm/graphql-request-client.js +101 -100
  111. package/dist/esm/i18n/dictionary-service.js +115 -114
  112. package/dist/esm/i18n/index.js +2 -2
  113. package/dist/esm/i18n/utils.js +13 -12
  114. package/dist/esm/index.js +13 -13
  115. package/dist/esm/layout/content-styles.js +64 -63
  116. package/dist/esm/layout/index.js +6 -6
  117. package/dist/esm/layout/layout-service.js +55 -50
  118. package/dist/esm/layout/models.js +36 -31
  119. package/dist/esm/layout/themes.js +71 -70
  120. package/dist/esm/layout/utils.js +109 -102
  121. package/dist/esm/media/index.js +2 -2
  122. package/dist/esm/media/media-api.js +90 -86
  123. package/dist/esm/models.js +1 -1
  124. package/dist/esm/native-fetcher.js +187 -172
  125. package/dist/esm/personalize/index.js +3 -3
  126. package/dist/esm/personalize/layout-personalizer.js +93 -92
  127. package/dist/esm/personalize/personalize-service.js +91 -87
  128. package/dist/esm/personalize/utils.js +135 -128
  129. package/dist/esm/retries.js +39 -38
  130. package/dist/esm/site/error-pages-service.js +58 -57
  131. package/dist/esm/site/index.js +8 -8
  132. package/dist/esm/site/models.js +1 -1
  133. package/dist/esm/site/redirects-service.js +87 -74
  134. package/dist/esm/site/robots-service.js +59 -58
  135. package/dist/esm/site/site-resolver.js +69 -68
  136. package/dist/esm/site/siteinfo-service.js +77 -73
  137. package/dist/esm/site/sitemap-xml-service.js +77 -76
  138. package/dist/esm/site/sitepath-service.js +157 -156
  139. package/dist/esm/site/utils.js +49 -41
  140. package/dist/esm/sitecore-service-base.js +29 -29
  141. package/dist/esm/tools/auth/flow.js +62 -61
  142. package/dist/esm/tools/auth/index.js +1 -1
  143. package/dist/esm/tools/auth/models.js +1 -1
  144. package/dist/esm/tools/auth/tenant-store.js +35 -35
  145. package/dist/esm/tools/codegen/component-generation.js +44 -42
  146. package/dist/esm/tools/codegen/extract-files.js +99 -101
  147. package/dist/esm/tools/codegen/import-map.js +358 -306
  148. package/dist/esm/tools/codegen/utils.js +373 -373
  149. package/dist/esm/tools/generate-map.js +1 -1
  150. package/dist/esm/tools/generateMetadata.js +29 -28
  151. package/dist/esm/tools/generateSites.js +52 -51
  152. package/dist/esm/tools/index.js +28 -27
  153. package/dist/esm/tools/scaffold.js +52 -51
  154. package/dist/esm/tools/templating/components.js +59 -223
  155. package/dist/esm/tools/templating/index.js +3 -3
  156. package/dist/esm/tools/templating/plugins.js +72 -70
  157. package/dist/esm/tools/templating/utils.js +59 -58
  158. package/dist/esm/utils/ensurePath.js +13 -13
  159. package/dist/esm/utils/env.js +24 -23
  160. package/dist/esm/utils/globalCache.js +49 -0
  161. package/dist/esm/utils/index.js +4 -3
  162. package/dist/esm/utils/is-server.js +9 -8
  163. package/dist/esm/utils/normalize-url.js +1 -1
  164. package/dist/esm/utils/timeout-promise.js +28 -28
  165. package/dist/esm/utils/utils.js +238 -213
  166. package/package.json +73 -5
  167. package/types/cache-client.d.ts +68 -64
  168. package/types/cache-client.d.ts.map +1 -0
  169. package/types/client/constants.d.ts +5 -4
  170. package/types/client/constants.d.ts.map +1 -0
  171. package/types/client/edge-proxy.d.ts +18 -15
  172. package/types/client/edge-proxy.d.ts.map +1 -0
  173. package/types/client/index.d.ts +8 -7
  174. package/types/client/index.d.ts.map +1 -0
  175. package/types/client/models.d.ts +21 -19
  176. package/types/client/models.d.ts.map +1 -0
  177. package/types/client/sitecore-client.d.ts +338 -327
  178. package/types/client/sitecore-client.d.ts.map +1 -0
  179. package/types/client/utils.d.ts +15 -9
  180. package/types/client/utils.d.ts.map +1 -0
  181. package/types/config/define-config.d.ts +20 -18
  182. package/types/config/define-config.d.ts.map +1 -0
  183. package/types/config/index.d.ts +3 -2
  184. package/types/config/index.d.ts.map +1 -0
  185. package/types/config/models.d.ts +287 -268
  186. package/types/config/models.d.ts.map +1 -0
  187. package/types/config-cli/define-cli-config.d.ts +9 -7
  188. package/types/config-cli/define-cli-config.d.ts.map +1 -0
  189. package/types/config-cli/index.d.ts +3 -2
  190. package/types/config-cli/index.d.ts.map +1 -0
  191. package/types/config-cli/models.d.ts +6 -4
  192. package/types/config-cli/models.d.ts.map +1 -0
  193. package/types/constants.d.ts +44 -11
  194. package/types/constants.d.ts.map +1 -0
  195. package/types/debug.d.ts +35 -28
  196. package/types/debug.d.ts.map +1 -0
  197. package/types/editing/codegen/index.d.ts +2 -1
  198. package/types/editing/codegen/index.d.ts.map +1 -0
  199. package/types/editing/codegen/preview.d.ts +256 -195
  200. package/types/editing/codegen/preview.d.ts.map +1 -0
  201. package/types/editing/component-layout-service.d.ts +84 -80
  202. package/types/editing/component-layout-service.d.ts.map +1 -0
  203. package/types/editing/design-library.d.ts +111 -63
  204. package/types/editing/design-library.d.ts.map +1 -0
  205. package/types/editing/editing-service.d.ts +72 -62
  206. package/types/editing/editing-service.d.ts.map +1 -0
  207. package/types/editing/index.d.ts +7 -6
  208. package/types/editing/index.d.ts.map +1 -0
  209. package/types/editing/metadata.d.ts +8 -7
  210. package/types/editing/metadata.d.ts.map +1 -0
  211. package/types/editing/models.d.ts +103 -92
  212. package/types/editing/models.d.ts.map +1 -0
  213. package/types/editing/utils.d.ts +91 -74
  214. package/types/editing/utils.d.ts.map +1 -0
  215. package/types/form/form.d.ts +25 -21
  216. package/types/form/form.d.ts.map +1 -0
  217. package/types/form/index.d.ts +2 -1
  218. package/types/form/index.d.ts.map +1 -0
  219. package/types/graphql-request-client.d.ts +112 -105
  220. package/types/graphql-request-client.d.ts.map +1 -0
  221. package/types/i18n/dictionary-service.d.ts +135 -131
  222. package/types/i18n/dictionary-service.d.ts.map +1 -0
  223. package/types/i18n/index.d.ts +3 -2
  224. package/types/i18n/index.d.ts.map +1 -0
  225. package/types/i18n/utils.d.ts +9 -7
  226. package/types/i18n/utils.d.ts.map +1 -0
  227. package/types/index.d.ts +13 -12
  228. package/types/index.d.ts.map +1 -0
  229. package/types/layout/content-styles.d.ts +20 -18
  230. package/types/layout/content-styles.d.ts.map +1 -0
  231. package/types/layout/index.d.ts +6 -5
  232. package/types/layout/index.d.ts.map +1 -0
  233. package/types/layout/layout-service.d.ts +45 -35
  234. package/types/layout/layout-service.d.ts.map +1 -0
  235. package/types/layout/models.d.ts +174 -151
  236. package/types/layout/models.d.ts.map +1 -0
  237. package/types/layout/themes.d.ts +13 -11
  238. package/types/layout/themes.d.ts.map +1 -0
  239. package/types/layout/utils.d.ts +56 -41
  240. package/types/layout/utils.d.ts.map +1 -0
  241. package/types/media/index.d.ts +3 -2
  242. package/types/media/index.d.ts.map +1 -0
  243. package/types/media/media-api.d.ts +60 -55
  244. package/types/media/media-api.d.ts.map +1 -0
  245. package/types/models.d.ts +94 -84
  246. package/types/models.d.ts.map +1 -0
  247. package/types/native-fetcher.d.ts +124 -114
  248. package/types/native-fetcher.d.ts.map +1 -0
  249. package/types/personalize/index.d.ts +4 -3
  250. package/types/personalize/index.d.ts.map +1 -0
  251. package/types/personalize/layout-personalizer.d.ts +29 -27
  252. package/types/personalize/layout-personalizer.d.ts.map +1 -0
  253. package/types/personalize/personalize-service.d.ts +90 -80
  254. package/types/personalize/personalize-service.d.ts.map +1 -0
  255. package/types/personalize/utils.d.ts +78 -69
  256. package/types/personalize/utils.d.ts.map +1 -0
  257. package/types/retries.d.ts +26 -24
  258. package/types/retries.d.ts.map +1 -0
  259. package/types/site/error-pages-service.d.ts +64 -57
  260. package/types/site/error-pages-service.d.ts.map +1 -0
  261. package/types/site/index.d.ts +10 -9
  262. package/types/site/index.d.ts.map +1 -0
  263. package/types/site/models.d.ts +23 -18
  264. package/types/site/models.d.ts.map +1 -0
  265. package/types/site/redirects-service.d.ts +92 -69
  266. package/types/site/redirects-service.d.ts.map +1 -0
  267. package/types/site/robots-service.d.ts +57 -50
  268. package/types/site/robots-service.d.ts.map +1 -0
  269. package/types/site/site-resolver.d.ts +28 -26
  270. package/types/site/site-resolver.d.ts.map +1 -0
  271. package/types/site/siteinfo-service.d.ts +65 -52
  272. package/types/site/siteinfo-service.d.ts.map +1 -0
  273. package/types/site/sitemap-xml-service.d.ts +63 -56
  274. package/types/site/sitemap-xml-service.d.ts.map +1 -0
  275. package/types/site/sitepath-service.d.ts +137 -134
  276. package/types/site/sitepath-service.d.ts.map +1 -0
  277. package/types/site/utils.d.ts +41 -28
  278. package/types/site/utils.d.ts.map +1 -0
  279. package/types/sitecore-service-base.d.ts +31 -30
  280. package/types/sitecore-service-base.d.ts.map +1 -0
  281. package/types/tools/auth/flow.d.ts +29 -27
  282. package/types/tools/auth/flow.d.ts.map +1 -0
  283. package/types/tools/auth/index.d.ts +2 -1
  284. package/types/tools/auth/index.d.ts.map +1 -0
  285. package/types/tools/auth/models.d.ts +35 -33
  286. package/types/tools/auth/models.d.ts.map +1 -0
  287. package/types/tools/auth/tenant-store.d.ts +12 -11
  288. package/types/tools/auth/tenant-store.d.ts.map +1 -0
  289. package/types/tools/codegen/component-generation.d.ts +50 -47
  290. package/types/tools/codegen/component-generation.d.ts.map +1 -0
  291. package/types/tools/codegen/extract-files.d.ts +24 -22
  292. package/types/tools/codegen/extract-files.d.ts.map +1 -0
  293. package/types/tools/codegen/import-map.d.ts +103 -70
  294. package/types/tools/codegen/import-map.d.ts.map +1 -0
  295. package/types/tools/codegen/utils.d.ts +76 -75
  296. package/types/tools/codegen/utils.d.ts.map +1 -0
  297. package/types/tools/generate-map.d.ts +36 -26
  298. package/types/tools/generate-map.d.ts.map +1 -0
  299. package/types/tools/generateMetadata.d.ts +24 -22
  300. package/types/tools/generateMetadata.d.ts.map +1 -0
  301. package/types/tools/generateSites.d.ts +25 -22
  302. package/types/tools/generateSites.d.ts.map +1 -0
  303. package/types/tools/index.d.ts +22 -20
  304. package/types/tools/index.d.ts.map +1 -0
  305. package/types/tools/scaffold.d.ts +27 -25
  306. package/types/tools/scaffold.d.ts.map +1 -0
  307. package/types/tools/templating/components.d.ts +104 -103
  308. package/types/tools/templating/components.d.ts.map +1 -0
  309. package/types/tools/templating/index.d.ts +4 -3
  310. package/types/tools/templating/index.d.ts.map +1 -0
  311. package/types/tools/templating/plugins.d.ts +71 -67
  312. package/types/tools/templating/plugins.d.ts.map +1 -0
  313. package/types/tools/templating/utils.d.ts +42 -40
  314. package/types/tools/templating/utils.d.ts.map +1 -0
  315. package/types/utils/ensurePath.d.ts +7 -6
  316. package/types/utils/ensurePath.d.ts.map +1 -0
  317. package/types/utils/env.d.ts +9 -7
  318. package/types/utils/env.d.ts.map +1 -0
  319. package/types/utils/globalCache.d.ts +37 -0
  320. package/types/utils/globalCache.d.ts.map +1 -0
  321. package/types/utils/index.d.ts +5 -3
  322. package/types/utils/index.d.ts.map +1 -0
  323. package/types/utils/is-server.d.ts +8 -6
  324. package/types/utils/is-server.d.ts.map +1 -0
  325. package/types/utils/normalize-url.d.ts +2 -1
  326. package/types/utils/normalize-url.d.ts.map +1 -0
  327. package/types/utils/timeout-promise.d.ts +18 -17
  328. package/types/utils/timeout-promise.d.ts.map +1 -0
  329. package/types/utils/utils.d.ts +104 -79
  330. package/types/utils/utils.d.ts.map +1 -0
  331. package/client.js +0 -1
  332. package/codegen.js +0 -1
  333. package/config-cli.js +0 -1
  334. package/config.js +0 -1
  335. package/editing.js +0 -1
  336. package/i18n.js +0 -1
  337. package/layout.js +0 -1
  338. package/media.js +0 -1
  339. package/personalize.js +0 -1
  340. package/site.js +0 -1
  341. package/tools.js +0 -1
  342. package/utils.js +0 -1
@@ -1,39 +1,39 @@
1
- import { execSync } from 'child_process';
2
- const trackedScopes = [
3
- '@sitecore',
4
- '@sitecore-cloudsdk',
5
- '@sitecore-feaas',
6
- '@sitecore-content-sdk',
7
- ];
8
- /**
9
- * Get application metadata
10
- * @param {boolean} allowWorkspaces - Whether to allow workspaces in the metadata generation.
11
- * @returns {Metadata} The generated metadata.
12
- */
13
- export function getMetadata(allowWorkspaces = false) {
14
- const metadata = { packages: {} };
15
- let queryResult = [];
16
- try {
17
- queryResult = JSON.parse(execSync(`npm query [name*=@sitecore] --workspaces ${allowWorkspaces}`).toString());
18
- }
19
- catch (error) {
20
- console.error('Failed to retrieve sitecore packages using npm query', error);
21
- return metadata;
22
- }
23
- metadata.packages = getPackagesFromQueryResult(queryResult);
24
- return metadata;
25
- }
26
- /**
27
- * Retrieve all packages of the tracked scopes with their exact versions
28
- * @param {Package[]} scPackages list of packages
29
- * @returns {Record<string, string>} an object with the packages with their exact versions
30
- */
31
- function getPackagesFromQueryResult(scPackages) {
32
- const packages = {};
33
- scPackages.forEach((scPackage) => {
34
- if (trackedScopes.some((trackedScope) => scPackage.name.startsWith(trackedScope))) {
35
- packages[scPackage.name] = scPackage.version;
36
- }
37
- });
38
- return packages;
39
- }
1
+ import { execSync } from 'child_process';
2
+ const trackedScopes = [
3
+ '@sitecore',
4
+ '@sitecore-cloudsdk',
5
+ '@sitecore-feaas',
6
+ '@sitecore-content-sdk',
7
+ ];
8
+ /**
9
+ * Get application metadata
10
+ * @param {boolean} allowWorkspaces - Whether to allow workspaces in the metadata generation.
11
+ * @returns {Metadata} The generated metadata.
12
+ */
13
+ export function getMetadata(allowWorkspaces = false) {
14
+ const metadata = { packages: {} };
15
+ let queryResult = [];
16
+ try {
17
+ queryResult = JSON.parse(execSync(`npm query [name*=@sitecore] --workspaces ${allowWorkspaces}`).toString());
18
+ }
19
+ catch (error) {
20
+ console.error('Failed to retrieve sitecore packages using npm query', error);
21
+ return metadata;
22
+ }
23
+ metadata.packages = getPackagesFromQueryResult(queryResult);
24
+ return metadata;
25
+ }
26
+ /**
27
+ * Retrieve all packages of the tracked scopes with their exact versions
28
+ * @param {Package[]} scPackages list of packages
29
+ * @returns {Record<string, string>} an object with the packages with their exact versions
30
+ */
31
+ function getPackagesFromQueryResult(scPackages) {
32
+ const packages = {};
33
+ scPackages.forEach((scPackage) => {
34
+ if (trackedScopes.some((trackedScope) => scPackage.name.startsWith(trackedScope))) {
35
+ packages[scPackage.name] = scPackage.version;
36
+ }
37
+ });
38
+ return packages;
39
+ }
@@ -1,35 +1,41 @@
1
- /**
2
- * Represents the Editing Layout variant.
3
- * - shared - shared layout
4
- * - final - final layout
5
- */
6
- export var LayoutKind;
7
- (function (LayoutKind) {
8
- LayoutKind["Final"] = "final";
9
- LayoutKind["Shared"] = "shared";
10
- })(LayoutKind || (LayoutKind = {}));
11
- /**
12
- * Represents the kind of metadata element.
13
- * - open - starting chrome element
14
- * - close - closing chrome element
15
- */
16
- export var MetadataKind;
17
- (function (MetadataKind) {
18
- MetadataKind["Open"] = "open";
19
- MetadataKind["Close"] = "close";
20
- })(MetadataKind || (MetadataKind = {}));
21
- /** Represents the mode of the Design Library */
22
- export var DesignLibraryMode;
23
- (function (DesignLibraryMode) {
24
- /** Normal mode */
25
- DesignLibraryMode["Normal"] = "library";
26
- /** Metadata mode */
27
- DesignLibraryMode["Metadata"] = "library-metadata";
28
- })(DesignLibraryMode || (DesignLibraryMode = {}));
29
- /**
30
- * Variant generation mode for Design Library
31
- */
32
- export var DesignLibraryVariantGeneration;
33
- (function (DesignLibraryVariantGeneration) {
34
- DesignLibraryVariantGeneration["Variant"] = "variant";
35
- })(DesignLibraryVariantGeneration || (DesignLibraryVariantGeneration = {}));
1
+ /**
2
+ * Represents the Editing Layout variant.
3
+ * - shared - shared layout
4
+ * - final - final layout
5
+ * @public
6
+ */
7
+ export var LayoutKind;
8
+ (function (LayoutKind) {
9
+ LayoutKind["Final"] = "final";
10
+ LayoutKind["Shared"] = "shared";
11
+ })(LayoutKind || (LayoutKind = {}));
12
+ /**
13
+ * Represents the kind of metadata element.
14
+ * - open - starting chrome element
15
+ * - close - closing chrome element
16
+ * @internal
17
+ */
18
+ export var MetadataKind;
19
+ (function (MetadataKind) {
20
+ MetadataKind["Open"] = "open";
21
+ MetadataKind["Close"] = "close";
22
+ })(MetadataKind || (MetadataKind = {}));
23
+ /**
24
+ * Represents the mode of the Design Library
25
+ * @public
26
+ */
27
+ export var DesignLibraryMode;
28
+ (function (DesignLibraryMode) {
29
+ /** Normal mode */
30
+ DesignLibraryMode["Normal"] = "library";
31
+ /** Metadata mode */
32
+ DesignLibraryMode["Metadata"] = "library-metadata";
33
+ })(DesignLibraryMode || (DesignLibraryMode = {}));
34
+ /**
35
+ * Variant generation mode for Design Library
36
+ * @public
37
+ */
38
+ export var DesignLibraryVariantGeneration;
39
+ (function (DesignLibraryVariantGeneration) {
40
+ DesignLibraryVariantGeneration["Variant"] = "variant";
41
+ })(DesignLibraryVariantGeneration || (DesignLibraryVariantGeneration = {}));
@@ -1,80 +1,98 @@
1
- import isServer from '../utils/is-server';
2
- /**
3
- * Default value of uid for root placeholder when uid is not present.
4
- */
5
- export const DEFAULT_PLACEHOLDER_UID = '00000000-0000-0000-0000-000000000000';
6
- /**
7
- * Query parameter for editing secret
8
- */
9
- export const QUERY_PARAM_EDITING_SECRET = 'secret';
10
- /**
11
- * Key to identify whether the app is running in Sitecore Preview mode
12
- */
13
- export const PREVIEW_KEY = 'sc_preview';
14
- /**
15
- * ID to be used as a marker for a script rendered in XMC Pages
16
- * Should identify app is in XM Cloud Pages editing mode
17
- */
18
- export const PAGES_EDITING_MARKER = 'jss-hrz-editing';
19
- /**
20
- * Default allowed origins for editing requests. This is used to enforce CORS, CSP headers.
21
- */
22
- export const EDITING_ALLOWED_ORIGINS = ['https://pages.sitecorecloud.io'];
23
- /**
24
- * Copy of chrome rediscovery contract from Horizon (chrome-rediscovery.contract.ts)
25
- */
26
- export const ChromeRediscoveryGlobalFunctionName = {
27
- name: 'Sitecore.Horizon.ResetChromes',
28
- };
29
- /**
30
- * Static utility class for Sitecore Pages Editor
31
- */
32
- export class PagesEditor {
33
- /**
34
- * Determines whether the current execution context is within a Pages Editor.
35
- * Pages Editor environment can be identified only in the browser
36
- * @returns true if executing within a Pages Editor
37
- */
38
- static isActive() {
39
- if (isServer()) {
40
- return false;
41
- }
42
- // Check for Chromes mode
43
- const chromesCheck = window.location.search.indexOf('sc_headless_mode=edit') > -1;
44
- // Content SDK will render a content-sdk-exclusive script element in Metadata mode to indicate edit mode in Pages
45
- return chromesCheck || !!window.document.getElementById(PAGES_EDITING_MARKER);
46
- }
47
- static resetChromes() {
48
- if (isServer()) {
49
- return;
50
- }
51
- // Reset chromes in Pages
52
- window[ChromeRediscoveryGlobalFunctionName.name] &&
53
- window[ChromeRediscoveryGlobalFunctionName.name]();
54
- }
55
- }
56
- /**
57
- * Determines whether the current execution context is within a Sitecore editor.
58
- * Sitecore Editor environment can be identified only in the browser
59
- * @returns true if executing within a Sitecore editor
60
- */
61
- export const isEditorActive = () => {
62
- return PagesEditor.isActive();
63
- };
64
- /**
65
- * Resets Sitecore editor "chromes"
66
- */
67
- export const resetEditorChromes = () => {
68
- if (PagesEditor.isActive()) {
69
- PagesEditor.resetChromes();
70
- }
71
- };
72
- /**
73
- * Gets extra Content SDK clientData scripts to render in XMC Pages in addition to clientData from Pages itself
74
- * @returns {Record} collection of clientData
75
- */
76
- export const getContentSdkPagesClientData = () => {
77
- const clientData = {};
78
- clientData[PAGES_EDITING_MARKER] = {};
79
- return clientData;
80
- };
1
+ import isServer from '../utils/is-server';
2
+ /**
3
+ * Default value of uid for root placeholder when uid is not present.
4
+ * @internal
5
+ */
6
+ export const DEFAULT_PLACEHOLDER_UID = '00000000-0000-0000-0000-000000000000';
7
+ /**
8
+ * Query parameter for editing secret
9
+ * @internal
10
+ */
11
+ export const QUERY_PARAM_EDITING_SECRET = 'secret';
12
+ /**
13
+ * HTML returned for invalid or missing secret
14
+ * @internal
15
+ */
16
+ export const INVALID_SECRET_HTML_MESSAGE = '<html><body>Missing or invalid secret</body></html>';
17
+ /**
18
+ * Key to identify whether the app is running in Sitecore Preview mode
19
+ * @internal
20
+ */
21
+ export const PREVIEW_KEY = 'sc_preview';
22
+ /**
23
+ * ID to be used as a marker for a script rendered in XMC Pages
24
+ * Should identify app is in XM Cloud Pages editing mode
25
+ * @internal
26
+ */
27
+ export const PAGES_EDITING_MARKER = 'jss-hrz-editing';
28
+ /**
29
+ * Default allowed origins for editing requests. This is used to enforce CORS, CSP headers.
30
+ * @internal
31
+ */
32
+ export const EDITING_ALLOWED_ORIGINS = [
33
+ 'https://pages.sitecorecloud.io',
34
+ 'https://xmapps.sitecorecloud.io',
35
+ 'https://designlibrary.sitecorecloud.io',
36
+ ];
37
+ /**
38
+ * Copy of chrome rediscovery contract from Horizon (chrome-rediscovery.contract.ts)
39
+ */
40
+ export const ChromeRediscoveryGlobalFunctionName = {
41
+ name: 'Sitecore.Horizon.ResetChromes',
42
+ };
43
+ /**
44
+ * Static utility class for Sitecore Pages Editor
45
+ * @public
46
+ */
47
+ export class PagesEditor {
48
+ /**
49
+ * Determines whether the current execution context is within a Pages Editor.
50
+ * Pages Editor environment can be identified only in the browser
51
+ * @returns true if executing within a Pages Editor
52
+ */
53
+ static isActive() {
54
+ if (isServer()) {
55
+ return false;
56
+ }
57
+ // Check for Chromes mode
58
+ const chromesCheck = window.location.search.indexOf('sc_headless_mode=edit') > -1;
59
+ // Content SDK will render a content-sdk-exclusive script element in Metadata mode to indicate edit mode in Pages
60
+ return chromesCheck || !!window.document.getElementById(PAGES_EDITING_MARKER);
61
+ }
62
+ static resetChromes() {
63
+ if (isServer()) {
64
+ return;
65
+ }
66
+ // Reset chromes in Pages
67
+ window[ChromeRediscoveryGlobalFunctionName.name] &&
68
+ window[ChromeRediscoveryGlobalFunctionName.name]();
69
+ }
70
+ }
71
+ /**
72
+ * Determines whether the current execution context is within a Sitecore editor.
73
+ * Sitecore Editor environment can be identified only in the browser
74
+ * @returns true if executing within a Sitecore editor
75
+ * @public
76
+ */
77
+ export const isEditorActive = () => {
78
+ return PagesEditor.isActive();
79
+ };
80
+ /**
81
+ * Resets Sitecore editor "chromes"
82
+ * @public
83
+ */
84
+ export const resetEditorChromes = () => {
85
+ if (PagesEditor.isActive()) {
86
+ PagesEditor.resetChromes();
87
+ }
88
+ };
89
+ /**
90
+ * Gets extra Content SDK clientData scripts to render in XMC Pages in addition to clientData from Pages itself
91
+ * @returns {Record} collection of clientData
92
+ * @internal
93
+ */
94
+ export const getContentSdkPagesClientData = () => {
95
+ const clientData = {};
96
+ clientData[PAGES_EDITING_MARKER] = {};
97
+ return clientData;
98
+ };
@@ -1,69 +1,72 @@
1
- import { form } from '@sitecore-cloudsdk/events/browser';
2
- import { getEdgeProxyFormsUrl } from '../client';
3
- import debug from '../debug';
4
- /**
5
- * Fetches the form markup from the Sitecore Edge service and renders it in the component's template.
6
- * @param {string} contextId - The unique identifier of the current context
7
- * @param {string} formId - The unique identifier of the form
8
- * @param {string} [edgeUrl] - The URL of the Sitecore Edge Platform
9
- */
10
- export const loadForm = async (contextId, formId, edgeUrl) => {
11
- if (!contextId) {
12
- debug.form('Form was not able to render since context id was not provided');
13
- return '';
14
- }
15
- const url = getEdgeProxyFormsUrl(contextId, formId, edgeUrl);
16
- try {
17
- debug.form(`Fetching form data from ${url}`);
18
- const rsp = await fetch(url, {
19
- method: 'GET',
20
- cache: 'no-cache',
21
- });
22
- if (rsp.status !== 200) {
23
- throw new Error('Failed to fetch form data');
24
- }
25
- const content = await rsp.text();
26
- debug.form(`Form data fetch response: ${content}`);
27
- return content;
28
- }
29
- catch (error) {
30
- debug.form(`Form '${formId}' was not able to render`, error);
31
- throw error;
32
- }
33
- };
34
- /**
35
- * When you set the innerHTML property of an element, the browser does not execute any <script> tags included in the HTML string
36
- * This method ensures that any <script> elements within the loaded HTML are executed.
37
- * It re-creates the script elements and appends the to the component's template, then removes old script elements to avoid duplication.
38
- * @param {HTMLElement} rootElement - The root element to execute script elements within
39
- */
40
- export const executeScriptElements = (rootElement) => {
41
- const scriptElements = rootElement.querySelectorAll('script');
42
- if (!scriptElements) {
43
- return;
44
- }
45
- Array.from(scriptElements).forEach((scriptElement) => {
46
- var _a;
47
- const clonedElement = document.createElement('script');
48
- Array.from(scriptElement.attributes).forEach((attribute) => {
49
- clonedElement.setAttribute(attribute.name, attribute.value);
50
- });
51
- clonedElement.text = scriptElement.text;
52
- (_a = scriptElement === null || scriptElement === void 0 ? void 0 : scriptElement.parentNode) === null || _a === void 0 ? void 0 : _a.replaceChild(clonedElement, scriptElement);
53
- });
54
- };
55
- /**
56
- * Subscribes to the Form event and then sends data to CloudSDK.
57
- * This listener captures interactions such as form views or submissions
58
- * @param {HTMLElement} formElement - The form element to subscribe to events on
59
- * @param {string} [componentId] - The unique identifier of the component
60
- */
61
- export const subscribeToFormSubmitEvent = (formElement, componentId) => {
62
- formElement.addEventListener('form:engage', ((e) => {
63
- const { formId, name } = e.detail;
64
- if (formId && name) {
65
- debug.form('Sending form event', formId, name);
66
- form(formId, name, (componentId === null || componentId === void 0 ? void 0 : componentId.replace(/-/g, '')) || '');
67
- }
68
- }));
69
- };
1
+ import { form } from '@sitecore-cloudsdk/events/browser';
2
+ import { getEdgeProxyFormsUrl } from '../client';
3
+ import debug from '../debug';
4
+ /**
5
+ * Fetches the form markup from the Sitecore Edge service and renders it in the component's template.
6
+ * @param {string} contextId - The unique identifier of the current context
7
+ * @param {string} formId - The unique identifier of the form
8
+ * @param {string} [edgeUrl] - The URL of the Sitecore Edge Platform
9
+ * @internal
10
+ */
11
+ export const loadForm = async (contextId, formId, edgeUrl) => {
12
+ if (!contextId) {
13
+ debug.form('Form was not able to render since context id was not provided');
14
+ return '';
15
+ }
16
+ const url = getEdgeProxyFormsUrl(contextId, formId, edgeUrl);
17
+ try {
18
+ debug.form(`Fetching form data from ${url}`);
19
+ const rsp = await fetch(url, {
20
+ method: 'GET',
21
+ cache: 'no-cache',
22
+ });
23
+ if (rsp.status !== 200) {
24
+ throw new Error('Failed to fetch form data');
25
+ }
26
+ const content = await rsp.text();
27
+ debug.form(`Form data fetch response: ${content}`);
28
+ return content;
29
+ }
30
+ catch (error) {
31
+ debug.form(`Form '${formId}' was not able to render`, error);
32
+ throw error;
33
+ }
34
+ };
35
+ /**
36
+ * When you set the innerHTML property of an element, the browser does not execute any <script> tags included in the HTML string
37
+ * This method ensures that any <script> elements within the loaded HTML are executed.
38
+ * It re-creates the script elements and appends the to the component's template, then removes old script elements to avoid duplication.
39
+ * @param {HTMLElement} rootElement - The root element to execute script elements within
40
+ * @internal
41
+ */
42
+ export const executeScriptElements = (rootElement) => {
43
+ const scriptElements = rootElement.querySelectorAll('script');
44
+ if (!scriptElements) {
45
+ return;
46
+ }
47
+ Array.from(scriptElements).forEach((scriptElement) => {
48
+ var _a;
49
+ const clonedElement = document.createElement('script');
50
+ Array.from(scriptElement.attributes).forEach((attribute) => {
51
+ clonedElement.setAttribute(attribute.name, attribute.value);
52
+ });
53
+ clonedElement.text = scriptElement.text;
54
+ (_a = scriptElement === null || scriptElement === void 0 ? void 0 : scriptElement.parentNode) === null || _a === void 0 ? void 0 : _a.replaceChild(clonedElement, scriptElement);
55
+ });
56
+ };
57
+ /**
58
+ * Subscribes to the Form event and then sends data to CloudSDK.
59
+ * This listener captures interactions such as form views or submissions
60
+ * @param {HTMLElement} formElement - The form element to subscribe to events on
61
+ * @param {string} [componentId] - The unique identifier of the component
62
+ * @internal
63
+ */
64
+ export const subscribeToFormSubmitEvent = (formElement, componentId) => {
65
+ formElement.addEventListener('form:engage', ((e) => {
66
+ const { formId, name } = e.detail;
67
+ if (formId && name) {
68
+ debug.form('Sending form event', formId, name);
69
+ form(formId, name, (componentId === null || componentId === void 0 ? void 0 : componentId.replace(/-/g, '')) || '');
70
+ }
71
+ }));
72
+ };
@@ -1 +1 @@
1
- export { executeScriptElements, loadForm, subscribeToFormSubmitEvent } from './form';
1
+ export { executeScriptElements, loadForm, subscribeToFormSubmitEvent } from './form';