@contentstack/live-preview-utils 4.4.2 → 4.4.4

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 (268) hide show
  1. package/README.md +4 -2
  2. package/dist/legacy/common/inIframe.cjs +9 -0
  3. package/dist/legacy/common/inIframe.cjs.map +1 -1
  4. package/dist/legacy/common/inIframe.d.cts +2 -1
  5. package/dist/legacy/common/inIframe.d.ts +2 -1
  6. package/dist/legacy/common/inIframe.js +8 -0
  7. package/dist/legacy/common/inIframe.js.map +1 -1
  8. package/dist/legacy/configManager/config.default.cjs +8 -1
  9. package/dist/legacy/configManager/config.default.cjs.map +1 -1
  10. package/dist/legacy/configManager/config.default.js +8 -1
  11. package/dist/legacy/configManager/config.default.js.map +1 -1
  12. package/dist/legacy/configManager/configManager.cjs +24 -5
  13. package/dist/legacy/configManager/configManager.cjs.map +1 -1
  14. package/dist/legacy/configManager/configManager.d.cts +11 -1
  15. package/dist/legacy/configManager/configManager.d.ts +11 -1
  16. package/dist/legacy/configManager/configManager.js +23 -5
  17. package/dist/legacy/configManager/configManager.js.map +1 -1
  18. package/dist/legacy/configManager/handleUserConfig.cjs +6 -3
  19. package/dist/legacy/configManager/handleUserConfig.cjs.map +1 -1
  20. package/dist/legacy/configManager/handleUserConfig.js +6 -3
  21. package/dist/legacy/configManager/handleUserConfig.js.map +1 -1
  22. package/dist/legacy/configManager/index.d.cts +1 -1
  23. package/dist/legacy/configManager/index.d.ts +1 -1
  24. package/dist/legacy/cslp/cslpdata.cjs +26 -12
  25. package/dist/legacy/cslp/cslpdata.cjs.map +1 -1
  26. package/dist/legacy/cslp/cslpdata.d.cts +0 -5
  27. package/dist/legacy/cslp/cslpdata.d.ts +0 -5
  28. package/dist/legacy/cslp/cslpdata.js +26 -12
  29. package/dist/legacy/cslp/cslpdata.js.map +1 -1
  30. package/dist/legacy/light-sdk.cjs +1 -1
  31. package/dist/legacy/light-sdk.js +1 -1
  32. package/dist/legacy/livePreview/editButton/editButton.cjs +20 -0
  33. package/dist/legacy/livePreview/editButton/editButton.cjs.map +1 -1
  34. package/dist/legacy/livePreview/editButton/editButton.d.cts +1 -0
  35. package/dist/legacy/livePreview/editButton/editButton.d.ts +1 -0
  36. package/dist/legacy/livePreview/editButton/editButton.js +20 -0
  37. package/dist/legacy/livePreview/editButton/editButton.js.map +1 -1
  38. package/dist/legacy/livePreview/eventManager/postMessageEvent.hooks.cjs +13 -10
  39. package/dist/legacy/livePreview/eventManager/postMessageEvent.hooks.cjs.map +1 -1
  40. package/dist/legacy/livePreview/eventManager/postMessageEvent.hooks.js +15 -12
  41. package/dist/legacy/livePreview/eventManager/postMessageEvent.hooks.js.map +1 -1
  42. package/dist/legacy/livePreview/live-preview.cjs +2 -0
  43. package/dist/legacy/livePreview/live-preview.cjs.map +1 -1
  44. package/dist/legacy/livePreview/live-preview.js +2 -0
  45. package/dist/legacy/livePreview/live-preview.js.map +1 -1
  46. package/dist/legacy/livePreview/onPageTraversal.cjs +1 -1
  47. package/dist/legacy/livePreview/onPageTraversal.cjs.map +1 -1
  48. package/dist/legacy/livePreview/onPageTraversal.js +1 -1
  49. package/dist/legacy/livePreview/onPageTraversal.js.map +1 -1
  50. package/dist/legacy/preview/contentstack-live-preview-HOC.cjs +37 -1
  51. package/dist/legacy/preview/contentstack-live-preview-HOC.cjs.map +1 -1
  52. package/dist/legacy/preview/contentstack-live-preview-HOC.d.cts +19 -0
  53. package/dist/legacy/preview/contentstack-live-preview-HOC.d.ts +19 -0
  54. package/dist/legacy/preview/contentstack-live-preview-HOC.js +39 -1
  55. package/dist/legacy/preview/contentstack-live-preview-HOC.js.map +1 -1
  56. package/dist/legacy/types/global.d.cjs +19 -0
  57. package/dist/legacy/types/global.d.cjs.map +1 -0
  58. package/dist/legacy/types/global.d.d.cts +8 -0
  59. package/dist/legacy/types/global.d.d.ts +8 -0
  60. package/dist/legacy/types/global.d.js +1 -0
  61. package/dist/legacy/types/global.d.js.map +1 -0
  62. package/dist/legacy/types/types.cjs.map +1 -1
  63. package/dist/legacy/types/types.d.cts +20 -1
  64. package/dist/legacy/types/types.d.ts +20 -1
  65. package/dist/legacy/types/types.js.map +1 -1
  66. package/dist/legacy/visualBuilder/components/FieldToolbar.cjs +32 -1
  67. package/dist/legacy/visualBuilder/components/FieldToolbar.cjs.map +1 -1
  68. package/dist/legacy/visualBuilder/components/FieldToolbar.js +32 -1
  69. package/dist/legacy/visualBuilder/components/FieldToolbar.js.map +1 -1
  70. package/dist/legacy/visualBuilder/eventManager/useCollab.cjs +8 -8
  71. package/dist/legacy/visualBuilder/eventManager/useCollab.cjs.map +1 -1
  72. package/dist/legacy/visualBuilder/eventManager/useCollab.js +8 -8
  73. package/dist/legacy/visualBuilder/eventManager/useCollab.js.map +1 -1
  74. package/dist/legacy/visualBuilder/index.cjs +8 -3
  75. package/dist/legacy/visualBuilder/index.cjs.map +1 -1
  76. package/dist/legacy/visualBuilder/index.js +8 -3
  77. package/dist/legacy/visualBuilder/index.js.map +1 -1
  78. package/dist/legacy/visualBuilder/listeners/mouseClick.cjs +26 -0
  79. package/dist/legacy/visualBuilder/listeners/mouseClick.cjs.map +1 -1
  80. package/dist/legacy/visualBuilder/listeners/mouseClick.js +26 -0
  81. package/dist/legacy/visualBuilder/listeners/mouseClick.js.map +1 -1
  82. package/dist/legacy/visualBuilder/listeners/mouseHover.cjs +29 -0
  83. package/dist/legacy/visualBuilder/listeners/mouseHover.cjs.map +1 -1
  84. package/dist/legacy/visualBuilder/listeners/mouseHover.js +29 -0
  85. package/dist/legacy/visualBuilder/listeners/mouseHover.js.map +1 -1
  86. package/dist/legacy/visualBuilder/utils/getCsDataOfElement.cjs +19 -1
  87. package/dist/legacy/visualBuilder/utils/getCsDataOfElement.cjs.map +1 -1
  88. package/dist/legacy/visualBuilder/utils/getCsDataOfElement.d.cts +8 -1
  89. package/dist/legacy/visualBuilder/utils/getCsDataOfElement.d.ts +8 -1
  90. package/dist/legacy/visualBuilder/utils/getCsDataOfElement.js +9 -1
  91. package/dist/legacy/visualBuilder/utils/getCsDataOfElement.js.map +1 -1
  92. package/dist/legacy/visualBuilder/utils/getVisualBuilderRedirectionUrl.cjs +8 -0
  93. package/dist/legacy/visualBuilder/utils/getVisualBuilderRedirectionUrl.cjs.map +1 -1
  94. package/dist/legacy/visualBuilder/utils/getVisualBuilderRedirectionUrl.js +8 -0
  95. package/dist/legacy/visualBuilder/utils/getVisualBuilderRedirectionUrl.js.map +1 -1
  96. package/dist/legacy/{utils/handlePageTraversal.cjs → visualBuilder/utils/getWholeFieldElement.cjs} +15 -24
  97. package/dist/legacy/visualBuilder/utils/getWholeFieldElement.cjs.map +1 -0
  98. package/dist/legacy/visualBuilder/utils/getWholeFieldElement.d.cts +4 -0
  99. package/dist/legacy/visualBuilder/utils/getWholeFieldElement.d.ts +4 -0
  100. package/dist/legacy/visualBuilder/utils/getWholeFieldElement.js +14 -0
  101. package/dist/legacy/visualBuilder/utils/getWholeFieldElement.js.map +1 -0
  102. package/dist/legacy/visualBuilder/utils/handleIndividualFields.cjs +2 -1
  103. package/dist/legacy/visualBuilder/utils/handleIndividualFields.cjs.map +1 -1
  104. package/dist/legacy/visualBuilder/utils/handleIndividualFields.js +2 -1
  105. package/dist/legacy/visualBuilder/utils/handleIndividualFields.js.map +1 -1
  106. package/dist/legacy/visualBuilder/utils/isCustomFieldMultipleInstance.cjs +38 -0
  107. package/dist/legacy/visualBuilder/utils/isCustomFieldMultipleInstance.cjs.map +1 -0
  108. package/dist/legacy/visualBuilder/utils/isCustomFieldMultipleInstance.d.cts +7 -0
  109. package/dist/legacy/visualBuilder/utils/isCustomFieldMultipleInstance.d.ts +7 -0
  110. package/dist/legacy/visualBuilder/utils/isCustomFieldMultipleInstance.js +15 -0
  111. package/dist/legacy/visualBuilder/utils/isCustomFieldMultipleInstance.js.map +1 -0
  112. package/dist/legacy/visualBuilder/utils/resolvePageContext.cjs +49 -0
  113. package/dist/legacy/visualBuilder/utils/resolvePageContext.cjs.map +1 -0
  114. package/dist/legacy/visualBuilder/utils/resolvePageContext.d.cts +6 -0
  115. package/dist/legacy/visualBuilder/utils/resolvePageContext.d.ts +6 -0
  116. package/dist/legacy/visualBuilder/utils/resolvePageContext.js +16 -0
  117. package/dist/legacy/visualBuilder/utils/resolvePageContext.js.map +1 -0
  118. package/dist/legacy/visualBuilder/utils/types/postMessage.types.cjs +1 -0
  119. package/dist/legacy/visualBuilder/utils/types/postMessage.types.cjs.map +1 -1
  120. package/dist/legacy/visualBuilder/utils/types/postMessage.types.d.cts +6 -1
  121. package/dist/legacy/visualBuilder/utils/types/postMessage.types.d.ts +6 -1
  122. package/dist/legacy/visualBuilder/utils/types/postMessage.types.js +1 -0
  123. package/dist/legacy/visualBuilder/utils/types/postMessage.types.js.map +1 -1
  124. package/dist/legacy/visualBuilder/visualBuilder.style.cjs +12 -0
  125. package/dist/legacy/visualBuilder/visualBuilder.style.cjs.map +1 -1
  126. package/dist/legacy/visualBuilder/visualBuilder.style.d.cts +1 -0
  127. package/dist/legacy/visualBuilder/visualBuilder.style.d.ts +1 -0
  128. package/dist/legacy/visualBuilder/visualBuilder.style.js +12 -0
  129. package/dist/legacy/visualBuilder/visualBuilder.style.js.map +1 -1
  130. package/dist/modern/common/inIframe.cjs +9 -0
  131. package/dist/modern/common/inIframe.cjs.map +1 -1
  132. package/dist/modern/common/inIframe.d.cts +2 -1
  133. package/dist/modern/common/inIframe.d.ts +2 -1
  134. package/dist/modern/common/inIframe.js +8 -0
  135. package/dist/modern/common/inIframe.js.map +1 -1
  136. package/dist/modern/configManager/config.default.cjs +8 -1
  137. package/dist/modern/configManager/config.default.cjs.map +1 -1
  138. package/dist/modern/configManager/config.default.js +8 -1
  139. package/dist/modern/configManager/config.default.js.map +1 -1
  140. package/dist/modern/configManager/configManager.cjs +24 -5
  141. package/dist/modern/configManager/configManager.cjs.map +1 -1
  142. package/dist/modern/configManager/configManager.d.cts +11 -1
  143. package/dist/modern/configManager/configManager.d.ts +11 -1
  144. package/dist/modern/configManager/configManager.js +23 -5
  145. package/dist/modern/configManager/configManager.js.map +1 -1
  146. package/dist/modern/configManager/handleUserConfig.cjs +3 -0
  147. package/dist/modern/configManager/handleUserConfig.cjs.map +1 -1
  148. package/dist/modern/configManager/handleUserConfig.js +3 -0
  149. package/dist/modern/configManager/handleUserConfig.js.map +1 -1
  150. package/dist/modern/configManager/index.d.cts +1 -1
  151. package/dist/modern/configManager/index.d.ts +1 -1
  152. package/dist/modern/cslp/cslpdata.cjs +25 -12
  153. package/dist/modern/cslp/cslpdata.cjs.map +1 -1
  154. package/dist/modern/cslp/cslpdata.d.cts +0 -5
  155. package/dist/modern/cslp/cslpdata.d.ts +0 -5
  156. package/dist/modern/cslp/cslpdata.js +25 -12
  157. package/dist/modern/cslp/cslpdata.js.map +1 -1
  158. package/dist/modern/light-sdk.cjs +1 -1
  159. package/dist/modern/light-sdk.js +1 -1
  160. package/dist/modern/livePreview/editButton/editButton.cjs +19 -0
  161. package/dist/modern/livePreview/editButton/editButton.cjs.map +1 -1
  162. package/dist/modern/livePreview/editButton/editButton.d.cts +1 -0
  163. package/dist/modern/livePreview/editButton/editButton.d.ts +1 -0
  164. package/dist/modern/livePreview/editButton/editButton.js +19 -0
  165. package/dist/modern/livePreview/editButton/editButton.js.map +1 -1
  166. package/dist/modern/livePreview/eventManager/postMessageEvent.hooks.cjs +13 -10
  167. package/dist/modern/livePreview/eventManager/postMessageEvent.hooks.cjs.map +1 -1
  168. package/dist/modern/livePreview/eventManager/postMessageEvent.hooks.js +15 -12
  169. package/dist/modern/livePreview/eventManager/postMessageEvent.hooks.js.map +1 -1
  170. package/dist/modern/livePreview/live-preview.cjs +1 -0
  171. package/dist/modern/livePreview/live-preview.cjs.map +1 -1
  172. package/dist/modern/livePreview/live-preview.js +1 -0
  173. package/dist/modern/livePreview/live-preview.js.map +1 -1
  174. package/dist/modern/livePreview/onPageTraversal.cjs +1 -1
  175. package/dist/modern/livePreview/onPageTraversal.cjs.map +1 -1
  176. package/dist/modern/livePreview/onPageTraversal.js +1 -1
  177. package/dist/modern/livePreview/onPageTraversal.js.map +1 -1
  178. package/dist/modern/preview/contentstack-live-preview-HOC.cjs +36 -1
  179. package/dist/modern/preview/contentstack-live-preview-HOC.cjs.map +1 -1
  180. package/dist/modern/preview/contentstack-live-preview-HOC.d.cts +19 -0
  181. package/dist/modern/preview/contentstack-live-preview-HOC.d.ts +19 -0
  182. package/dist/modern/preview/contentstack-live-preview-HOC.js +38 -1
  183. package/dist/modern/preview/contentstack-live-preview-HOC.js.map +1 -1
  184. package/dist/modern/types/global.d.cjs +19 -0
  185. package/dist/modern/types/global.d.cjs.map +1 -0
  186. package/dist/modern/types/global.d.d.cts +8 -0
  187. package/dist/modern/types/global.d.d.ts +8 -0
  188. package/dist/modern/types/global.d.js +1 -0
  189. package/dist/modern/types/global.d.js.map +1 -0
  190. package/dist/modern/types/types.cjs.map +1 -1
  191. package/dist/modern/types/types.d.cts +20 -1
  192. package/dist/modern/types/types.d.ts +20 -1
  193. package/dist/modern/types/types.js.map +1 -1
  194. package/dist/modern/visualBuilder/components/FieldToolbar.cjs +32 -1
  195. package/dist/modern/visualBuilder/components/FieldToolbar.cjs.map +1 -1
  196. package/dist/modern/visualBuilder/components/FieldToolbar.js +32 -1
  197. package/dist/modern/visualBuilder/components/FieldToolbar.js.map +1 -1
  198. package/dist/modern/visualBuilder/eventManager/useCollab.cjs +5 -5
  199. package/dist/modern/visualBuilder/eventManager/useCollab.cjs.map +1 -1
  200. package/dist/modern/visualBuilder/eventManager/useCollab.js +5 -5
  201. package/dist/modern/visualBuilder/eventManager/useCollab.js.map +1 -1
  202. package/dist/modern/visualBuilder/index.cjs +8 -3
  203. package/dist/modern/visualBuilder/index.cjs.map +1 -1
  204. package/dist/modern/visualBuilder/index.js +8 -3
  205. package/dist/modern/visualBuilder/index.js.map +1 -1
  206. package/dist/modern/visualBuilder/listeners/mouseClick.cjs +26 -0
  207. package/dist/modern/visualBuilder/listeners/mouseClick.cjs.map +1 -1
  208. package/dist/modern/visualBuilder/listeners/mouseClick.js +26 -0
  209. package/dist/modern/visualBuilder/listeners/mouseClick.js.map +1 -1
  210. package/dist/modern/visualBuilder/listeners/mouseHover.cjs +29 -0
  211. package/dist/modern/visualBuilder/listeners/mouseHover.cjs.map +1 -1
  212. package/dist/modern/visualBuilder/listeners/mouseHover.js +29 -0
  213. package/dist/modern/visualBuilder/listeners/mouseHover.js.map +1 -1
  214. package/dist/modern/visualBuilder/utils/getCsDataOfElement.cjs +19 -1
  215. package/dist/modern/visualBuilder/utils/getCsDataOfElement.cjs.map +1 -1
  216. package/dist/modern/visualBuilder/utils/getCsDataOfElement.d.cts +8 -1
  217. package/dist/modern/visualBuilder/utils/getCsDataOfElement.d.ts +8 -1
  218. package/dist/modern/visualBuilder/utils/getCsDataOfElement.js +9 -1
  219. package/dist/modern/visualBuilder/utils/getCsDataOfElement.js.map +1 -1
  220. package/dist/modern/visualBuilder/utils/getVisualBuilderRedirectionUrl.cjs +8 -0
  221. package/dist/modern/visualBuilder/utils/getVisualBuilderRedirectionUrl.cjs.map +1 -1
  222. package/dist/modern/visualBuilder/utils/getVisualBuilderRedirectionUrl.js +8 -0
  223. package/dist/modern/visualBuilder/utils/getVisualBuilderRedirectionUrl.js.map +1 -1
  224. package/dist/modern/{utils/handlePageTraversal.cjs → visualBuilder/utils/getWholeFieldElement.cjs} +15 -24
  225. package/dist/modern/visualBuilder/utils/getWholeFieldElement.cjs.map +1 -0
  226. package/dist/modern/visualBuilder/utils/getWholeFieldElement.d.cts +4 -0
  227. package/dist/modern/visualBuilder/utils/getWholeFieldElement.d.ts +4 -0
  228. package/dist/modern/visualBuilder/utils/getWholeFieldElement.js +14 -0
  229. package/dist/modern/visualBuilder/utils/getWholeFieldElement.js.map +1 -0
  230. package/dist/modern/visualBuilder/utils/handleIndividualFields.cjs +2 -1
  231. package/dist/modern/visualBuilder/utils/handleIndividualFields.cjs.map +1 -1
  232. package/dist/modern/visualBuilder/utils/handleIndividualFields.js +2 -1
  233. package/dist/modern/visualBuilder/utils/handleIndividualFields.js.map +1 -1
  234. package/dist/modern/visualBuilder/utils/isCustomFieldMultipleInstance.cjs +37 -0
  235. package/dist/modern/visualBuilder/utils/isCustomFieldMultipleInstance.cjs.map +1 -0
  236. package/dist/modern/visualBuilder/utils/isCustomFieldMultipleInstance.d.cts +7 -0
  237. package/dist/modern/visualBuilder/utils/isCustomFieldMultipleInstance.d.ts +7 -0
  238. package/dist/modern/visualBuilder/utils/isCustomFieldMultipleInstance.js +14 -0
  239. package/dist/modern/visualBuilder/utils/isCustomFieldMultipleInstance.js.map +1 -0
  240. package/dist/modern/visualBuilder/utils/resolvePageContext.cjs +48 -0
  241. package/dist/modern/visualBuilder/utils/resolvePageContext.cjs.map +1 -0
  242. package/dist/modern/visualBuilder/utils/resolvePageContext.d.cts +6 -0
  243. package/dist/modern/visualBuilder/utils/resolvePageContext.d.ts +6 -0
  244. package/dist/modern/visualBuilder/utils/resolvePageContext.js +15 -0
  245. package/dist/modern/visualBuilder/utils/resolvePageContext.js.map +1 -0
  246. package/dist/modern/visualBuilder/utils/types/postMessage.types.cjs +1 -0
  247. package/dist/modern/visualBuilder/utils/types/postMessage.types.cjs.map +1 -1
  248. package/dist/modern/visualBuilder/utils/types/postMessage.types.d.cts +6 -1
  249. package/dist/modern/visualBuilder/utils/types/postMessage.types.d.ts +6 -1
  250. package/dist/modern/visualBuilder/utils/types/postMessage.types.js +1 -0
  251. package/dist/modern/visualBuilder/utils/types/postMessage.types.js.map +1 -1
  252. package/dist/modern/visualBuilder/visualBuilder.style.cjs +12 -0
  253. package/dist/modern/visualBuilder/visualBuilder.style.cjs.map +1 -1
  254. package/dist/modern/visualBuilder/visualBuilder.style.d.cts +1 -0
  255. package/dist/modern/visualBuilder/visualBuilder.style.d.ts +1 -0
  256. package/dist/modern/visualBuilder/visualBuilder.style.js +12 -0
  257. package/dist/modern/visualBuilder/visualBuilder.style.js.map +1 -1
  258. package/package.json +1 -1
  259. package/dist/legacy/utils/handlePageTraversal.cjs.map +0 -1
  260. package/dist/legacy/utils/handlePageTraversal.d.cts +0 -3
  261. package/dist/legacy/utils/handlePageTraversal.d.ts +0 -3
  262. package/dist/legacy/utils/handlePageTraversal.js +0 -24
  263. package/dist/legacy/utils/handlePageTraversal.js.map +0 -1
  264. package/dist/modern/utils/handlePageTraversal.cjs.map +0 -1
  265. package/dist/modern/utils/handlePageTraversal.d.cts +0 -3
  266. package/dist/modern/utils/handlePageTraversal.d.ts +0 -3
  267. package/dist/modern/utils/handlePageTraversal.js +0 -24
  268. package/dist/modern/utils/handlePageTraversal.js.map +0 -1
package/README.md CHANGED
@@ -29,11 +29,11 @@ npm install @contentstack/live-preview-utils
29
29
 
30
30
  ### Load from a CDN (advanced)
31
31
 
32
- Pin the version to match your app (update `4.4.2` when you upgrade):
32
+ Pin the version to match your app (update `4.4.4` when you upgrade):
33
33
 
34
34
  ```html
35
35
  <script type="module" crossorigin="anonymous">
36
- import ContentstackLivePreview from "https://esm.sh/@contentstack/live-preview-utils@4.4.2";
36
+ import ContentstackLivePreview from "https://esm.sh/@contentstack/live-preview-utils@4.4.4";
37
37
 
38
38
  ContentstackLivePreview.init({
39
39
  stackDetails: {
@@ -71,6 +71,7 @@ You can configure the SDK using the following options:
71
71
  - [`mode`](docs/live-preview-configs.md#mode) (`preview` vs `builder`)
72
72
  - [`editButton`](docs/live-preview-configs.md#editbutton)
73
73
  - [`editInVisualBuilderButton`](docs/live-preview-configs.md#editinvisualbuilderbutton) (Start Editing outside Visual Editor)
74
+ - [`overlayPropagation`](docs/live-preview-configs.md#overlaypropagation) (opt-in fallback to pierce blocking sibling overlays during hover/click detection)
74
75
  - [`cleanCslpOnProduction`](docs/live-preview-configs.md#cleancslponproduction)
75
76
  - [`stackDetails`](docs/live-preview-configs.md#stackdetails) ([`apiKey`](docs/live-preview-configs.md#apikey), [`environment`](docs/live-preview-configs.md#environment))
76
77
  - [`clientUrlParams`](docs/live-preview-configs.md#clienturlparams) — [NA](docs/live-preview-configs.md#na-config) / [EU](docs/live-preview-configs.md#eu-config)
@@ -83,6 +84,7 @@ Full tables and examples: **[docs/live-preview-configs.md](docs/live-preview-con
83
84
  - [`onLiveEdit`](docs/live-preview-configs.md#onliveeditcallback---void): Trigger actions on live edits
84
85
  - [`onEntryChange`](docs/live-preview-configs.md#onentrychangecallback---void): Listen for entry updates
85
86
  - [`hash`](docs/live-preview-configs.md#hash): Access preview state identifier
87
+ - [`setPageContext`](docs/live-preview-configs.md#setpagecontextcontext): Tell Visual Builder which entry the current page renders so “Start Editing” targets the right entry (needed for custom-URL pages)
86
88
  - [`config`](docs/live-preview-configs.md#config): Includes runtime context (for example Live Preview / Timeline preview, Visual Editor, or independent)
87
89
 
88
90
  The [configs table of contents](docs/live-preview-configs.md#contentstack-live-preview-utils-sdk-configs) also lists `setConfigFromParams` and `getGatsbyDataFormat` for deeper workflows.
@@ -21,6 +21,7 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
21
21
  var inIframe_exports = {};
22
22
  __export(inIframe_exports, {
23
23
  inIframe: () => inIframe,
24
+ inVisualEditor: () => inVisualEditor,
24
25
  isOpeningInNewTab: () => isOpeningInNewTab
25
26
  });
26
27
  module.exports = __toCommonJS(inIframe_exports);
@@ -32,6 +33,13 @@ function inIframe() {
32
33
  return true;
33
34
  }
34
35
  }
36
+ function inVisualEditor() {
37
+ try {
38
+ return inIframe() && (window == null ? void 0 : window.name) == "visual-editor";
39
+ } catch (e) {
40
+ return false;
41
+ }
42
+ }
35
43
  function isOpeningInNewTab() {
36
44
  try {
37
45
  if ((0, import_utils.hasWindow)()) {
@@ -45,6 +53,7 @@ function isOpeningInNewTab() {
45
53
  // Annotate the CommonJS export names for ESM import in node:
46
54
  0 && (module.exports = {
47
55
  inIframe,
56
+ inVisualEditor,
48
57
  isOpeningInNewTab
49
58
  });
50
59
  //# sourceMappingURL=inIframe.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/common/inIframe.ts"],"sourcesContent":["import { hasWindow } from \"../utils\";\n\nexport function inIframe(): boolean {\n try {\n return window.self !== window.top;\n } catch (e) {\n return true;\n }\n}\n\nexport function isOpeningInNewTab(): boolean {\n try {\n if(hasWindow()) {\n return !!window.opener;\n }\n return false;\n } catch (e) {\n return false;\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAA0B;AAEnB,SAAS,WAAoB;AAChC,MAAI;AACA,WAAO,OAAO,SAAS,OAAO;AAAA,EAClC,SAAS,GAAG;AACR,WAAO;AAAA,EACX;AACJ;AAEO,SAAS,oBAA6B;AACzC,MAAI;AACA,YAAG,wBAAU,GAAG;AACZ,aAAO,CAAC,CAAC,OAAO;AAAA,IACpB;AACA,WAAO;AAAA,EACX,SAAS,GAAG;AACR,WAAO;AAAA,EACX;AACJ;","names":[]}
1
+ {"version":3,"sources":["../../../src/common/inIframe.ts"],"sourcesContent":["import { hasWindow } from \"../utils\";\n\nexport function inIframe(): boolean {\n try {\n return window.self !== window.top;\n } catch (e) {\n return true;\n }\n}\n\nexport function inVisualEditor(): boolean{\n try {\n return inIframe() && window?.name == 'visual-editor'\n } catch (e) {\n return false;\n }\n}\n\nexport function isOpeningInNewTab(): boolean {\n try {\n if(hasWindow()) {\n return !!window.opener;\n }\n return false;\n } catch (e) {\n return false;\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAA0B;AAEnB,SAAS,WAAoB;AAChC,MAAI;AACA,WAAO,OAAO,SAAS,OAAO;AAAA,EAClC,SAAS,GAAG;AACR,WAAO;AAAA,EACX;AACJ;AAEO,SAAS,iBAAyB;AACrC,MAAI;AACA,WAAO,SAAS,MAAK,iCAAQ,SAAQ;AAAA,EACzC,SAAS,GAAG;AACR,WAAO;AAAA,EACX;AACJ;AAEO,SAAS,oBAA6B;AACzC,MAAI;AACA,YAAG,wBAAU,GAAG;AACZ,aAAO,CAAC,CAAC,OAAO;AAAA,IACpB;AACA,WAAO;AAAA,EACX,SAAS,GAAG;AACR,WAAO;AAAA,EACX;AACJ;","names":[]}
@@ -1,4 +1,5 @@
1
1
  declare function inIframe(): boolean;
2
+ declare function inVisualEditor(): boolean;
2
3
  declare function isOpeningInNewTab(): boolean;
3
4
 
4
- export { inIframe, isOpeningInNewTab };
5
+ export { inIframe, inVisualEditor, isOpeningInNewTab };
@@ -1,4 +1,5 @@
1
1
  declare function inIframe(): boolean;
2
+ declare function inVisualEditor(): boolean;
2
3
  declare function isOpeningInNewTab(): boolean;
3
4
 
4
- export { inIframe, isOpeningInNewTab };
5
+ export { inIframe, inVisualEditor, isOpeningInNewTab };
@@ -9,6 +9,13 @@ function inIframe() {
9
9
  return true;
10
10
  }
11
11
  }
12
+ function inVisualEditor() {
13
+ try {
14
+ return inIframe() && (window == null ? void 0 : window.name) == "visual-editor";
15
+ } catch (e) {
16
+ return false;
17
+ }
18
+ }
12
19
  function isOpeningInNewTab() {
13
20
  try {
14
21
  if (hasWindow()) {
@@ -21,6 +28,7 @@ function isOpeningInNewTab() {
21
28
  }
22
29
  export {
23
30
  inIframe,
31
+ inVisualEditor,
24
32
  isOpeningInNewTab
25
33
  };
26
34
  //# sourceMappingURL=inIframe.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/common/inIframe.ts"],"sourcesContent":["import { hasWindow } from \"../utils\";\n\nexport function inIframe(): boolean {\n try {\n return window.self !== window.top;\n } catch (e) {\n return true;\n }\n}\n\nexport function isOpeningInNewTab(): boolean {\n try {\n if(hasWindow()) {\n return !!window.opener;\n }\n return false;\n } catch (e) {\n return false;\n }\n}\n"],"mappings":";;;AAAA,SAAS,iBAAiB;AAEnB,SAAS,WAAoB;AAChC,MAAI;AACA,WAAO,OAAO,SAAS,OAAO;AAAA,EAClC,SAAS,GAAG;AACR,WAAO;AAAA,EACX;AACJ;AAEO,SAAS,oBAA6B;AACzC,MAAI;AACA,QAAG,UAAU,GAAG;AACZ,aAAO,CAAC,CAAC,OAAO;AAAA,IACpB;AACA,WAAO;AAAA,EACX,SAAS,GAAG;AACR,WAAO;AAAA,EACX;AACJ;","names":[]}
1
+ {"version":3,"sources":["../../../src/common/inIframe.ts"],"sourcesContent":["import { hasWindow } from \"../utils\";\n\nexport function inIframe(): boolean {\n try {\n return window.self !== window.top;\n } catch (e) {\n return true;\n }\n}\n\nexport function inVisualEditor(): boolean{\n try {\n return inIframe() && window?.name == 'visual-editor'\n } catch (e) {\n return false;\n }\n}\n\nexport function isOpeningInNewTab(): boolean {\n try {\n if(hasWindow()) {\n return !!window.opener;\n }\n return false;\n } catch (e) {\n return false;\n }\n}\n"],"mappings":";;;AAAA,SAAS,iBAAiB;AAEnB,SAAS,WAAoB;AAChC,MAAI;AACA,WAAO,OAAO,SAAS,OAAO;AAAA,EAClC,SAAS,GAAG;AACR,WAAO;AAAA,EACX;AACJ;AAEO,SAAS,iBAAyB;AACrC,MAAI;AACA,WAAO,SAAS,MAAK,iCAAQ,SAAQ;AAAA,EACzC,SAAS,GAAG;AACR,WAAO;AAAA,EACX;AACJ;AAEO,SAAS,oBAA6B;AACzC,MAAI;AACA,QAAG,UAAU,GAAG;AACZ,aAAO,CAAC,CAAC,OAAO;AAAA,IACpB;AACA,WAAO;AAAA,EACX,SAAS,GAAG;AACR,WAAO;AAAA,EACX;AACJ;","names":[]}
@@ -41,6 +41,9 @@ function getUserInitData() {
41
41
  enable: true,
42
42
  position: "bottom-right"
43
43
  },
44
+ overlayPropagation: {
45
+ enable: false
46
+ },
44
47
  mode: "preview",
45
48
  stackDetails: {
46
49
  apiKey: "",
@@ -76,6 +79,9 @@ function getDefaultConfig() {
76
79
  enable: true,
77
80
  position: "bottom-right"
78
81
  },
82
+ overlayPropagation: {
83
+ enable: false
84
+ },
79
85
  hash: "",
80
86
  mode: 1,
81
87
  windowType: import_types.ILivePreviewWindowType.INDEPENDENT,
@@ -123,7 +129,8 @@ function getDefaultConfig() {
123
129
  },
124
130
  payload: []
125
131
  },
126
- enableLivePreviewOutsideIframe: void 0
132
+ enableLivePreviewOutsideIframe: void 0,
133
+ pageContext: null
127
134
  };
128
135
  }
129
136
  // Annotate the CommonJS export names for ESM import in node:
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/configManager/config.default.ts"],"sourcesContent":["import {\n ILivePreviewWindowType,\n type IConfig,\n type IInitData,\n} from \"../types/types\";\n\nexport function getUserInitData(): IInitData {\n return {\n ssr: true,\n enable: true,\n debug: false,\n cleanCslpOnProduction: true,\n editButton: {\n enable: true,\n exclude: [],\n position: \"top\",\n includeByQueryParameter: true,\n },\n editInVisualBuilderButton: {\n enable: true,\n position: \"bottom-right\"\n },\n\n mode: \"preview\",\n\n stackDetails: {\n apiKey: \"\",\n environment: \"\",\n branch: \"\",\n },\n\n clientUrlParams: {\n protocol: \"https\",\n host: \"app.contentstack.com\",\n port: 443,\n },\n stackSdk: {\n live_preview: {},\n environment: \"\",\n },\n runScriptsOnUpdate: false,\n enableLivePreviewOutsideIframe: undefined,\n };\n}\n\nexport function getDefaultConfig(): IConfig {\n return {\n ssr: true,\n enable: true,\n debug: false,\n cleanCslpOnProduction: true,\n editButton: {\n enable: true,\n exclude: [],\n position: \"top\",\n includeByQueryParameter: true,\n },\n editInVisualBuilderButton: {\n enable: true,\n position: \"bottom-right\"\n },\n\n hash: \"\",\n mode: 1,\n windowType: ILivePreviewWindowType.INDEPENDENT,\n\n stackDetails: {\n apiKey: \"\",\n environment: \"\",\n contentTypeUid: \"\",\n entryUid: \"\",\n locale: \"en-us\",\n branch: \"main\",\n masterLocale: \"en-us\",\n },\n\n clientUrlParams: {\n protocol: \"https\",\n host: \"app.contentstack.com\",\n port: 443,\n url: \"https://app.contentstack.com:443\",\n },\n stackSdk: {\n live_preview: {},\n headers: {\n api_key: \"\",\n },\n environment: \"\",\n },\n runScriptsOnUpdate: false,\n\n onChange() {\n return;\n },\n\n elements: {\n highlightedElement: null,\n },\n collab: {\n enable: false,\n fromShare: false,\n pauseFeedback: false,\n isFeedbackMode: false,\n inviteMetadata: {\n currentUser: {\n email: \"\",\n uid: \"\",\n },\n users: [],\n inviteUid: \"\",\n },\n payload: [],\n },\n enableLivePreviewOutsideIframe: undefined,\n };\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAIO;AAEA,SAAS,kBAA6B;AACzC,SAAO;AAAA,IACH,KAAK;AAAA,IACL,QAAQ;AAAA,IACR,OAAO;AAAA,IACP,uBAAuB;AAAA,IACvB,YAAY;AAAA,MACR,QAAQ;AAAA,MACR,SAAS,CAAC;AAAA,MACV,UAAU;AAAA,MACV,yBAAyB;AAAA,IAC7B;AAAA,IACA,2BAA2B;AAAA,MACvB,QAAQ;AAAA,MACR,UAAU;AAAA,IACd;AAAA,IAEA,MAAM;AAAA,IAEN,cAAc;AAAA,MACV,QAAQ;AAAA,MACR,aAAa;AAAA,MACb,QAAQ;AAAA,IACZ;AAAA,IAEA,iBAAiB;AAAA,MACb,UAAU;AAAA,MACV,MAAM;AAAA,MACN,MAAM;AAAA,IACV;AAAA,IACA,UAAU;AAAA,MACN,cAAc,CAAC;AAAA,MACf,aAAa;AAAA,IACjB;AAAA,IACA,oBAAoB;AAAA,IACpB,gCAAgC;AAAA,EACpC;AACJ;AAEO,SAAS,mBAA4B;AACxC,SAAO;AAAA,IACH,KAAK;AAAA,IACL,QAAQ;AAAA,IACR,OAAO;AAAA,IACP,uBAAuB;AAAA,IACvB,YAAY;AAAA,MACR,QAAQ;AAAA,MACR,SAAS,CAAC;AAAA,MACV,UAAU;AAAA,MACV,yBAAyB;AAAA,IAC7B;AAAA,IACA,2BAA2B;AAAA,MACvB,QAAQ;AAAA,MACR,UAAU;AAAA,IACd;AAAA,IAEA,MAAM;AAAA,IACN,MAAM;AAAA,IACN,YAAY,oCAAuB;AAAA,IAEnC,cAAc;AAAA,MACV,QAAQ;AAAA,MACR,aAAa;AAAA,MACb,gBAAgB;AAAA,MAChB,UAAU;AAAA,MACV,QAAQ;AAAA,MACR,QAAQ;AAAA,MACR,cAAc;AAAA,IAClB;AAAA,IAEA,iBAAiB;AAAA,MACb,UAAU;AAAA,MACV,MAAM;AAAA,MACN,MAAM;AAAA,MACN,KAAK;AAAA,IACT;AAAA,IACA,UAAU;AAAA,MACN,cAAc,CAAC;AAAA,MACf,SAAS;AAAA,QACL,SAAS;AAAA,MACb;AAAA,MACA,aAAa;AAAA,IACjB;AAAA,IACA,oBAAoB;AAAA,IAEpB,WAAW;AACP;AAAA,IACJ;AAAA,IAEA,UAAU;AAAA,MACN,oBAAoB;AAAA,IACxB;AAAA,IACA,QAAQ;AAAA,MACJ,QAAQ;AAAA,MACR,WAAW;AAAA,MACX,eAAe;AAAA,MACf,gBAAgB;AAAA,MAChB,gBAAgB;AAAA,QACZ,aAAa;AAAA,UACT,OAAO;AAAA,UACP,KAAK;AAAA,QACT;AAAA,QACA,OAAO,CAAC;AAAA,QACR,WAAW;AAAA,MACf;AAAA,MACA,SAAS,CAAC;AAAA,IACd;AAAA,IACA,gCAAgC;AAAA,EACpC;AACJ;","names":[]}
1
+ {"version":3,"sources":["../../../src/configManager/config.default.ts"],"sourcesContent":["import {\n ILivePreviewWindowType,\n type IConfig,\n type IInitData,\n} from \"../types/types\";\n\nexport function getUserInitData(): IInitData {\n return {\n ssr: true,\n enable: true,\n debug: false,\n cleanCslpOnProduction: true,\n editButton: {\n enable: true,\n exclude: [],\n position: \"top\",\n includeByQueryParameter: true,\n },\n editInVisualBuilderButton: {\n enable: true,\n position: \"bottom-right\"\n },\n overlayPropagation: {\n enable: false,\n },\n\n mode: \"preview\",\n\n stackDetails: {\n apiKey: \"\",\n environment: \"\",\n branch: \"\",\n },\n\n clientUrlParams: {\n protocol: \"https\",\n host: \"app.contentstack.com\",\n port: 443,\n },\n stackSdk: {\n live_preview: {},\n environment: \"\",\n },\n runScriptsOnUpdate: false,\n enableLivePreviewOutsideIframe: undefined,\n };\n}\n\nexport function getDefaultConfig(): IConfig {\n return {\n ssr: true,\n enable: true,\n debug: false,\n cleanCslpOnProduction: true,\n editButton: {\n enable: true,\n exclude: [],\n position: \"top\",\n includeByQueryParameter: true,\n },\n editInVisualBuilderButton: {\n enable: true,\n position: \"bottom-right\"\n },\n overlayPropagation: {\n enable: false,\n },\n\n hash: \"\",\n mode: 1,\n windowType: ILivePreviewWindowType.INDEPENDENT,\n\n stackDetails: {\n apiKey: \"\",\n environment: \"\",\n contentTypeUid: \"\",\n entryUid: \"\",\n locale: \"en-us\",\n branch: \"main\",\n masterLocale: \"en-us\",\n },\n\n clientUrlParams: {\n protocol: \"https\",\n host: \"app.contentstack.com\",\n port: 443,\n url: \"https://app.contentstack.com:443\",\n },\n stackSdk: {\n live_preview: {},\n headers: {\n api_key: \"\",\n },\n environment: \"\",\n },\n runScriptsOnUpdate: false,\n\n onChange() {\n return;\n },\n\n elements: {\n highlightedElement: null,\n },\n collab: {\n enable: false,\n fromShare: false,\n pauseFeedback: false,\n isFeedbackMode: false,\n inviteMetadata: {\n currentUser: {\n email: \"\",\n uid: \"\",\n },\n users: [],\n inviteUid: \"\",\n },\n payload: [],\n },\n enableLivePreviewOutsideIframe: undefined,\n pageContext: null,\n };\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAIO;AAEA,SAAS,kBAA6B;AACzC,SAAO;AAAA,IACH,KAAK;AAAA,IACL,QAAQ;AAAA,IACR,OAAO;AAAA,IACP,uBAAuB;AAAA,IACvB,YAAY;AAAA,MACR,QAAQ;AAAA,MACR,SAAS,CAAC;AAAA,MACV,UAAU;AAAA,MACV,yBAAyB;AAAA,IAC7B;AAAA,IACA,2BAA2B;AAAA,MACvB,QAAQ;AAAA,MACR,UAAU;AAAA,IACd;AAAA,IACA,oBAAoB;AAAA,MAChB,QAAQ;AAAA,IACZ;AAAA,IAEA,MAAM;AAAA,IAEN,cAAc;AAAA,MACV,QAAQ;AAAA,MACR,aAAa;AAAA,MACb,QAAQ;AAAA,IACZ;AAAA,IAEA,iBAAiB;AAAA,MACb,UAAU;AAAA,MACV,MAAM;AAAA,MACN,MAAM;AAAA,IACV;AAAA,IACA,UAAU;AAAA,MACN,cAAc,CAAC;AAAA,MACf,aAAa;AAAA,IACjB;AAAA,IACA,oBAAoB;AAAA,IACpB,gCAAgC;AAAA,EACpC;AACJ;AAEO,SAAS,mBAA4B;AACxC,SAAO;AAAA,IACH,KAAK;AAAA,IACL,QAAQ;AAAA,IACR,OAAO;AAAA,IACP,uBAAuB;AAAA,IACvB,YAAY;AAAA,MACR,QAAQ;AAAA,MACR,SAAS,CAAC;AAAA,MACV,UAAU;AAAA,MACV,yBAAyB;AAAA,IAC7B;AAAA,IACA,2BAA2B;AAAA,MACvB,QAAQ;AAAA,MACR,UAAU;AAAA,IACd;AAAA,IACA,oBAAoB;AAAA,MAChB,QAAQ;AAAA,IACZ;AAAA,IAEA,MAAM;AAAA,IACN,MAAM;AAAA,IACN,YAAY,oCAAuB;AAAA,IAEnC,cAAc;AAAA,MACV,QAAQ;AAAA,MACR,aAAa;AAAA,MACb,gBAAgB;AAAA,MAChB,UAAU;AAAA,MACV,QAAQ;AAAA,MACR,QAAQ;AAAA,MACR,cAAc;AAAA,IAClB;AAAA,IAEA,iBAAiB;AAAA,MACb,UAAU;AAAA,MACV,MAAM;AAAA,MACN,MAAM;AAAA,MACN,KAAK;AAAA,IACT;AAAA,IACA,UAAU;AAAA,MACN,cAAc,CAAC;AAAA,MACf,SAAS;AAAA,QACL,SAAS;AAAA,MACb;AAAA,MACA,aAAa;AAAA,IACjB;AAAA,IACA,oBAAoB;AAAA,IAEpB,WAAW;AACP;AAAA,IACJ;AAAA,IAEA,UAAU;AAAA,MACN,oBAAoB;AAAA,IACxB;AAAA,IACA,QAAQ;AAAA,MACJ,QAAQ;AAAA,MACR,WAAW;AAAA,MACX,eAAe;AAAA,MACf,gBAAgB;AAAA,MAChB,gBAAgB;AAAA,QACZ,aAAa;AAAA,UACT,OAAO;AAAA,UACP,KAAK;AAAA,QACT;AAAA,QACA,OAAO,CAAC;AAAA,QACR,WAAW;AAAA,MACf;AAAA,MACA,SAAS,CAAC;AAAA,IACd;AAAA,IACA,gCAAgC;AAAA,IAChC,aAAa;AAAA,EACjB;AACJ;","names":[]}
@@ -20,6 +20,9 @@ function getUserInitData() {
20
20
  enable: true,
21
21
  position: "bottom-right"
22
22
  },
23
+ overlayPropagation: {
24
+ enable: false
25
+ },
23
26
  mode: "preview",
24
27
  stackDetails: {
25
28
  apiKey: "",
@@ -55,6 +58,9 @@ function getDefaultConfig() {
55
58
  enable: true,
56
59
  position: "bottom-right"
57
60
  },
61
+ overlayPropagation: {
62
+ enable: false
63
+ },
58
64
  hash: "",
59
65
  mode: 1,
60
66
  windowType: ILivePreviewWindowType.INDEPENDENT,
@@ -102,7 +108,8 @@ function getDefaultConfig() {
102
108
  },
103
109
  payload: []
104
110
  },
105
- enableLivePreviewOutsideIframe: void 0
111
+ enableLivePreviewOutsideIframe: void 0,
112
+ pageContext: null
106
113
  };
107
114
  }
108
115
  export {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/configManager/config.default.ts"],"sourcesContent":["import {\n ILivePreviewWindowType,\n type IConfig,\n type IInitData,\n} from \"../types/types\";\n\nexport function getUserInitData(): IInitData {\n return {\n ssr: true,\n enable: true,\n debug: false,\n cleanCslpOnProduction: true,\n editButton: {\n enable: true,\n exclude: [],\n position: \"top\",\n includeByQueryParameter: true,\n },\n editInVisualBuilderButton: {\n enable: true,\n position: \"bottom-right\"\n },\n\n mode: \"preview\",\n\n stackDetails: {\n apiKey: \"\",\n environment: \"\",\n branch: \"\",\n },\n\n clientUrlParams: {\n protocol: \"https\",\n host: \"app.contentstack.com\",\n port: 443,\n },\n stackSdk: {\n live_preview: {},\n environment: \"\",\n },\n runScriptsOnUpdate: false,\n enableLivePreviewOutsideIframe: undefined,\n };\n}\n\nexport function getDefaultConfig(): IConfig {\n return {\n ssr: true,\n enable: true,\n debug: false,\n cleanCslpOnProduction: true,\n editButton: {\n enable: true,\n exclude: [],\n position: \"top\",\n includeByQueryParameter: true,\n },\n editInVisualBuilderButton: {\n enable: true,\n position: \"bottom-right\"\n },\n\n hash: \"\",\n mode: 1,\n windowType: ILivePreviewWindowType.INDEPENDENT,\n\n stackDetails: {\n apiKey: \"\",\n environment: \"\",\n contentTypeUid: \"\",\n entryUid: \"\",\n locale: \"en-us\",\n branch: \"main\",\n masterLocale: \"en-us\",\n },\n\n clientUrlParams: {\n protocol: \"https\",\n host: \"app.contentstack.com\",\n port: 443,\n url: \"https://app.contentstack.com:443\",\n },\n stackSdk: {\n live_preview: {},\n headers: {\n api_key: \"\",\n },\n environment: \"\",\n },\n runScriptsOnUpdate: false,\n\n onChange() {\n return;\n },\n\n elements: {\n highlightedElement: null,\n },\n collab: {\n enable: false,\n fromShare: false,\n pauseFeedback: false,\n isFeedbackMode: false,\n inviteMetadata: {\n currentUser: {\n email: \"\",\n uid: \"\",\n },\n users: [],\n inviteUid: \"\",\n },\n payload: [],\n },\n enableLivePreviewOutsideIframe: undefined,\n };\n}\n"],"mappings":";;;AAAA;AAAA,EACI;AAAA,OAGG;AAEA,SAAS,kBAA6B;AACzC,SAAO;AAAA,IACH,KAAK;AAAA,IACL,QAAQ;AAAA,IACR,OAAO;AAAA,IACP,uBAAuB;AAAA,IACvB,YAAY;AAAA,MACR,QAAQ;AAAA,MACR,SAAS,CAAC;AAAA,MACV,UAAU;AAAA,MACV,yBAAyB;AAAA,IAC7B;AAAA,IACA,2BAA2B;AAAA,MACvB,QAAQ;AAAA,MACR,UAAU;AAAA,IACd;AAAA,IAEA,MAAM;AAAA,IAEN,cAAc;AAAA,MACV,QAAQ;AAAA,MACR,aAAa;AAAA,MACb,QAAQ;AAAA,IACZ;AAAA,IAEA,iBAAiB;AAAA,MACb,UAAU;AAAA,MACV,MAAM;AAAA,MACN,MAAM;AAAA,IACV;AAAA,IACA,UAAU;AAAA,MACN,cAAc,CAAC;AAAA,MACf,aAAa;AAAA,IACjB;AAAA,IACA,oBAAoB;AAAA,IACpB,gCAAgC;AAAA,EACpC;AACJ;AAEO,SAAS,mBAA4B;AACxC,SAAO;AAAA,IACH,KAAK;AAAA,IACL,QAAQ;AAAA,IACR,OAAO;AAAA,IACP,uBAAuB;AAAA,IACvB,YAAY;AAAA,MACR,QAAQ;AAAA,MACR,SAAS,CAAC;AAAA,MACV,UAAU;AAAA,MACV,yBAAyB;AAAA,IAC7B;AAAA,IACA,2BAA2B;AAAA,MACvB,QAAQ;AAAA,MACR,UAAU;AAAA,IACd;AAAA,IAEA,MAAM;AAAA,IACN,MAAM;AAAA,IACN,YAAY,uBAAuB;AAAA,IAEnC,cAAc;AAAA,MACV,QAAQ;AAAA,MACR,aAAa;AAAA,MACb,gBAAgB;AAAA,MAChB,UAAU;AAAA,MACV,QAAQ;AAAA,MACR,QAAQ;AAAA,MACR,cAAc;AAAA,IAClB;AAAA,IAEA,iBAAiB;AAAA,MACb,UAAU;AAAA,MACV,MAAM;AAAA,MACN,MAAM;AAAA,MACN,KAAK;AAAA,IACT;AAAA,IACA,UAAU;AAAA,MACN,cAAc,CAAC;AAAA,MACf,SAAS;AAAA,QACL,SAAS;AAAA,MACb;AAAA,MACA,aAAa;AAAA,IACjB;AAAA,IACA,oBAAoB;AAAA,IAEpB,WAAW;AACP;AAAA,IACJ;AAAA,IAEA,UAAU;AAAA,MACN,oBAAoB;AAAA,IACxB;AAAA,IACA,QAAQ;AAAA,MACJ,QAAQ;AAAA,MACR,WAAW;AAAA,MACX,eAAe;AAAA,MACf,gBAAgB;AAAA,MAChB,gBAAgB;AAAA,QACZ,aAAa;AAAA,UACT,OAAO;AAAA,UACP,KAAK;AAAA,QACT;AAAA,QACA,OAAO,CAAC;AAAA,QACR,WAAW;AAAA,MACf;AAAA,MACA,SAAS,CAAC;AAAA,IACd;AAAA,IACA,gCAAgC;AAAA,EACpC;AACJ;","names":[]}
1
+ {"version":3,"sources":["../../../src/configManager/config.default.ts"],"sourcesContent":["import {\n ILivePreviewWindowType,\n type IConfig,\n type IInitData,\n} from \"../types/types\";\n\nexport function getUserInitData(): IInitData {\n return {\n ssr: true,\n enable: true,\n debug: false,\n cleanCslpOnProduction: true,\n editButton: {\n enable: true,\n exclude: [],\n position: \"top\",\n includeByQueryParameter: true,\n },\n editInVisualBuilderButton: {\n enable: true,\n position: \"bottom-right\"\n },\n overlayPropagation: {\n enable: false,\n },\n\n mode: \"preview\",\n\n stackDetails: {\n apiKey: \"\",\n environment: \"\",\n branch: \"\",\n },\n\n clientUrlParams: {\n protocol: \"https\",\n host: \"app.contentstack.com\",\n port: 443,\n },\n stackSdk: {\n live_preview: {},\n environment: \"\",\n },\n runScriptsOnUpdate: false,\n enableLivePreviewOutsideIframe: undefined,\n };\n}\n\nexport function getDefaultConfig(): IConfig {\n return {\n ssr: true,\n enable: true,\n debug: false,\n cleanCslpOnProduction: true,\n editButton: {\n enable: true,\n exclude: [],\n position: \"top\",\n includeByQueryParameter: true,\n },\n editInVisualBuilderButton: {\n enable: true,\n position: \"bottom-right\"\n },\n overlayPropagation: {\n enable: false,\n },\n\n hash: \"\",\n mode: 1,\n windowType: ILivePreviewWindowType.INDEPENDENT,\n\n stackDetails: {\n apiKey: \"\",\n environment: \"\",\n contentTypeUid: \"\",\n entryUid: \"\",\n locale: \"en-us\",\n branch: \"main\",\n masterLocale: \"en-us\",\n },\n\n clientUrlParams: {\n protocol: \"https\",\n host: \"app.contentstack.com\",\n port: 443,\n url: \"https://app.contentstack.com:443\",\n },\n stackSdk: {\n live_preview: {},\n headers: {\n api_key: \"\",\n },\n environment: \"\",\n },\n runScriptsOnUpdate: false,\n\n onChange() {\n return;\n },\n\n elements: {\n highlightedElement: null,\n },\n collab: {\n enable: false,\n fromShare: false,\n pauseFeedback: false,\n isFeedbackMode: false,\n inviteMetadata: {\n currentUser: {\n email: \"\",\n uid: \"\",\n },\n users: [],\n inviteUid: \"\",\n },\n payload: [],\n },\n enableLivePreviewOutsideIframe: undefined,\n pageContext: null,\n };\n}\n"],"mappings":";;;AAAA;AAAA,EACI;AAAA,OAGG;AAEA,SAAS,kBAA6B;AACzC,SAAO;AAAA,IACH,KAAK;AAAA,IACL,QAAQ;AAAA,IACR,OAAO;AAAA,IACP,uBAAuB;AAAA,IACvB,YAAY;AAAA,MACR,QAAQ;AAAA,MACR,SAAS,CAAC;AAAA,MACV,UAAU;AAAA,MACV,yBAAyB;AAAA,IAC7B;AAAA,IACA,2BAA2B;AAAA,MACvB,QAAQ;AAAA,MACR,UAAU;AAAA,IACd;AAAA,IACA,oBAAoB;AAAA,MAChB,QAAQ;AAAA,IACZ;AAAA,IAEA,MAAM;AAAA,IAEN,cAAc;AAAA,MACV,QAAQ;AAAA,MACR,aAAa;AAAA,MACb,QAAQ;AAAA,IACZ;AAAA,IAEA,iBAAiB;AAAA,MACb,UAAU;AAAA,MACV,MAAM;AAAA,MACN,MAAM;AAAA,IACV;AAAA,IACA,UAAU;AAAA,MACN,cAAc,CAAC;AAAA,MACf,aAAa;AAAA,IACjB;AAAA,IACA,oBAAoB;AAAA,IACpB,gCAAgC;AAAA,EACpC;AACJ;AAEO,SAAS,mBAA4B;AACxC,SAAO;AAAA,IACH,KAAK;AAAA,IACL,QAAQ;AAAA,IACR,OAAO;AAAA,IACP,uBAAuB;AAAA,IACvB,YAAY;AAAA,MACR,QAAQ;AAAA,MACR,SAAS,CAAC;AAAA,MACV,UAAU;AAAA,MACV,yBAAyB;AAAA,IAC7B;AAAA,IACA,2BAA2B;AAAA,MACvB,QAAQ;AAAA,MACR,UAAU;AAAA,IACd;AAAA,IACA,oBAAoB;AAAA,MAChB,QAAQ;AAAA,IACZ;AAAA,IAEA,MAAM;AAAA,IACN,MAAM;AAAA,IACN,YAAY,uBAAuB;AAAA,IAEnC,cAAc;AAAA,MACV,QAAQ;AAAA,MACR,aAAa;AAAA,MACb,gBAAgB;AAAA,MAChB,UAAU;AAAA,MACV,QAAQ;AAAA,MACR,QAAQ;AAAA,MACR,cAAc;AAAA,IAClB;AAAA,IAEA,iBAAiB;AAAA,MACb,UAAU;AAAA,MACV,MAAM;AAAA,MACN,MAAM;AAAA,MACN,KAAK;AAAA,IACT;AAAA,IACA,UAAU;AAAA,MACN,cAAc,CAAC;AAAA,MACf,SAAS;AAAA,QACL,SAAS;AAAA,MACb;AAAA,MACA,aAAa;AAAA,IACjB;AAAA,IACA,oBAAoB;AAAA,IAEpB,WAAW;AACP;AAAA,IACJ;AAAA,IAEA,UAAU;AAAA,MACN,oBAAoB;AAAA,IACxB;AAAA,IACA,QAAQ;AAAA,MACJ,QAAQ;AAAA,MACR,WAAW;AAAA,MACX,eAAe;AAAA,MACf,gBAAgB;AAAA,MAChB,gBAAgB;AAAA,QACZ,aAAa;AAAA,UACT,OAAO;AAAA,UACP,KAAK;AAAA,QACT;AAAA,QACA,OAAO,CAAC;AAAA,QACR,WAAW;AAAA,MACf;AAAA,MACA,SAAS,CAAC;AAAA,IACd;AAAA,IACA,gCAAgC;AAAA,IAChC,aAAa;AAAA,EACjB;AACJ;","names":[]}
@@ -22,6 +22,7 @@ var configManager_exports = {};
22
22
  __export(configManager_exports, {
23
23
  default: () => configManager_default,
24
24
  setConfigFromParams: () => setConfigFromParams,
25
+ syncToStackSdk: () => syncToStackSdk,
25
26
  updateConfigFromUrl: () => updateConfigFromUrl
26
27
  });
27
28
  module.exports = __toCommonJS(configManager_exports);
@@ -59,25 +60,43 @@ function setConfigFromParams(params = {}) {
59
60
  const live_preview = urlParams.get("live_preview");
60
61
  const content_type_uid = urlParams.get("content_type_uid");
61
62
  const entry_uid = urlParams.get("entry_uid");
62
- const stackSdkLivePreview = Config.get().stackSdk.live_preview;
63
63
  if (live_preview) {
64
64
  Config.set("hash", live_preview);
65
- stackSdkLivePreview.hash = live_preview;
66
- stackSdkLivePreview.live_preview = live_preview;
67
65
  }
68
66
  if (content_type_uid) {
69
67
  Config.set("stackDetails.contentTypeUid", content_type_uid);
70
- stackSdkLivePreview.content_type_uid = content_type_uid;
71
68
  }
72
69
  if (entry_uid) {
73
70
  Config.set("stackDetails.entryUid", entry_uid);
74
- stackSdkLivePreview.entry_uid = entry_uid;
71
+ }
72
+ syncToStackSdk({
73
+ hash: live_preview,
74
+ contentTypeUid: content_type_uid,
75
+ entryUid: entry_uid
76
+ });
77
+ }
78
+ function syncToStackSdk({
79
+ hash,
80
+ contentTypeUid,
81
+ entryUid
82
+ }) {
83
+ const stackSdkLivePreview = Config.get().stackSdk.live_preview;
84
+ if (hash) {
85
+ stackSdkLivePreview.hash = hash;
86
+ stackSdkLivePreview.live_preview = hash;
87
+ }
88
+ if (contentTypeUid) {
89
+ stackSdkLivePreview.content_type_uid = contentTypeUid;
90
+ }
91
+ if (entryUid) {
92
+ stackSdkLivePreview.entry_uid = entryUid;
75
93
  }
76
94
  Config.set("stackSdk.live_preview", stackSdkLivePreview);
77
95
  }
78
96
  // Annotate the CommonJS export names for ESM import in node:
79
97
  0 && (module.exports = {
80
98
  setConfigFromParams,
99
+ syncToStackSdk,
81
100
  updateConfigFromUrl
82
101
  });
83
102
  //# sourceMappingURL=configManager.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/configManager/configManager.ts"],"sourcesContent":["import { DeepSignal, deepSignal } from \"deepsignal\";\nimport type { IConfig, IInitData } from \"../types/types\";\nimport { getDefaultConfig, getUserInitData } from \"./config.default\";\nimport { handleInitData } from \"./handleUserConfig\";\nimport { has as lodashHas, set as lodashSet } from \"lodash-es\";\n\nclass Config {\n static config: {\n state: DeepSignal<IConfig>;\n } = {\n state: deepSignal(getDefaultConfig()),\n };\n\n static replace(userInput: Partial<IInitData> = getUserInitData()): void {\n handleInitData(userInput);\n }\n\n static set(key: string, value: any): void {\n if (!lodashHas(this.config.state, key)) {\n throw new Error(`Invalid key: ${key}`);\n }\n lodashSet(this.config.state, key, value);\n }\n\n static get(): DeepSignal<IConfig> {\n return this.config.state;\n }\n\n static reset(): void {\n lodashSet(this.config, \"state\", getDefaultConfig());\n }\n}\n\nexport default Config;\n\n/**\n * Updates the configuration from the URL parameters.\n * It will receive live_preview containing the hash, content_type_uid and entry_uid.\n */\n\nexport function updateConfigFromUrl(): void {\n const searchParams = new URLSearchParams(window.location.search);\n setConfigFromParams(searchParams.toString());\n}\n\n/**\n * Sets the live preview hash, content_type_uid and entry_uid\n * from the query param to config.\n *\n * @param params query param in an object form, query string.\n *\n * @example\n * ```js\n * setConfigFromParams({\n * live_preview: \"hash\",\n * content_type_uid: \"content_type_uid\",\n * entry_uid: \"entry_uid\",\n * });\n * ```\n *\n * @example\n * ```js\n * setConfigFromParams(\"?live_preview=hash&content_type_uid=content_type_uid&entry_uid=entry_uid\");\n * ```\n * Basically anything that can be passed to `URLSearchParams` constructor.\n */\n\nexport function setConfigFromParams(\n params: ConstructorParameters<typeof URLSearchParams>[0] = {}\n): void {\n const urlParams = new URLSearchParams(params);\n const live_preview = urlParams.get(\"live_preview\");\n const content_type_uid = urlParams.get(\"content_type_uid\");\n const entry_uid = urlParams.get(\"entry_uid\");\n\n const stackSdkLivePreview = Config.get().stackSdk.live_preview;\n\n if (live_preview) {\n Config.set(\"hash\", live_preview);\n stackSdkLivePreview.hash = live_preview;\n stackSdkLivePreview.live_preview = live_preview;\n }\n\n if (content_type_uid) {\n Config.set(\"stackDetails.contentTypeUid\", content_type_uid);\n stackSdkLivePreview.content_type_uid = content_type_uid;\n }\n\n if (entry_uid) {\n Config.set(\"stackDetails.entryUid\", entry_uid);\n stackSdkLivePreview.entry_uid = entry_uid;\n }\n\n Config.set(\"stackSdk.live_preview\", stackSdkLivePreview);\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,wBAAuC;AAEvC,oBAAkD;AAClD,8BAA+B;AAC/B,uBAAmD;AAEnD,IAAM,SAAN,MAAa;AAAA,EAOT,OAAO,QAAQ,gBAAgC,+BAAgB,GAAS;AACpE,gDAAe,SAAS;AAAA,EAC5B;AAAA,EAEA,OAAO,IAAI,KAAa,OAAkB;AACtC,QAAI,KAAC,iBAAAA,KAAU,KAAK,OAAO,OAAO,GAAG,GAAG;AACpC,YAAM,IAAI,MAAM,gBAAgB,GAAG,EAAE;AAAA,IACzC;AACA,yBAAAC,KAAU,KAAK,OAAO,OAAO,KAAK,KAAK;AAAA,EAC3C;AAAA,EAEA,OAAO,MAA2B;AAC9B,WAAO,KAAK,OAAO;AAAA,EACvB;AAAA,EAEA,OAAO,QAAc;AACjB,yBAAAA,KAAU,KAAK,QAAQ,aAAS,gCAAiB,CAAC;AAAA,EACtD;AACJ;AAzBM,OACK,SAEH;AAAA,EACA,WAAO,kCAAW,gCAAiB,CAAC;AACxC;AAsBJ,IAAO,wBAAQ;AAOR,SAAS,sBAA4B;AACxC,QAAM,eAAe,IAAI,gBAAgB,OAAO,SAAS,MAAM;AAC/D,sBAAoB,aAAa,SAAS,CAAC;AAC/C;AAwBO,SAAS,oBACZ,SAA2D,CAAC,GACxD;AACJ,QAAM,YAAY,IAAI,gBAAgB,MAAM;AAC5C,QAAM,eAAe,UAAU,IAAI,cAAc;AACjD,QAAM,mBAAmB,UAAU,IAAI,kBAAkB;AACzD,QAAM,YAAY,UAAU,IAAI,WAAW;AAE3C,QAAM,sBAAsB,OAAO,IAAI,EAAE,SAAS;AAElD,MAAI,cAAc;AACd,WAAO,IAAI,QAAQ,YAAY;AAC/B,wBAAoB,OAAO;AAC3B,wBAAoB,eAAe;AAAA,EACvC;AAEA,MAAI,kBAAkB;AAClB,WAAO,IAAI,+BAA+B,gBAAgB;AAC1D,wBAAoB,mBAAmB;AAAA,EAC3C;AAEA,MAAI,WAAW;AACX,WAAO,IAAI,yBAAyB,SAAS;AAC7C,wBAAoB,YAAY;AAAA,EACpC;AAEA,SAAO,IAAI,yBAAyB,mBAAmB;AAC3D;","names":["lodashHas","lodashSet"]}
1
+ {"version":3,"sources":["../../../src/configManager/configManager.ts"],"sourcesContent":["import { DeepSignal, deepSignal } from \"deepsignal\";\nimport type { IConfig, IInitData } from \"../types/types\";\nimport { getDefaultConfig, getUserInitData } from \"./config.default\";\nimport { handleInitData } from \"./handleUserConfig\";\nimport { has as lodashHas, set as lodashSet } from \"lodash-es\";\n\nclass Config {\n static config: {\n state: DeepSignal<IConfig>;\n } = {\n state: deepSignal(getDefaultConfig()),\n };\n\n static replace(userInput: Partial<IInitData> = getUserInitData()): void {\n handleInitData(userInput);\n }\n\n static set(key: string, value: any): void {\n if (!lodashHas(this.config.state, key)) {\n throw new Error(`Invalid key: ${key}`);\n }\n lodashSet(this.config.state, key, value);\n }\n\n static get(): DeepSignal<IConfig> {\n return this.config.state;\n }\n\n static reset(): void {\n lodashSet(this.config, \"state\", getDefaultConfig());\n }\n}\n\nexport default Config;\n\n/**\n * Updates the configuration from the URL parameters.\n * It will receive live_preview containing the hash, content_type_uid and entry_uid.\n */\n\nexport function updateConfigFromUrl(): void {\n const searchParams = new URLSearchParams(window.location.search);\n setConfigFromParams(searchParams.toString());\n}\n\n/**\n * Sets the live preview hash, content_type_uid and entry_uid\n * from the query param to config.\n *\n * @param params query param in an object form, query string.\n *\n * @example\n * ```js\n * setConfigFromParams({\n * live_preview: \"hash\",\n * content_type_uid: \"content_type_uid\",\n * entry_uid: \"entry_uid\",\n * });\n * ```\n *\n * @example\n * ```js\n * setConfigFromParams(\"?live_preview=hash&content_type_uid=content_type_uid&entry_uid=entry_uid\");\n * ```\n * Basically anything that can be passed to `URLSearchParams` constructor.\n */\n\nexport function setConfigFromParams(\n params: ConstructorParameters<typeof URLSearchParams>[0] = {}\n): void {\n const urlParams = new URLSearchParams(params);\n const live_preview = urlParams.get(\"live_preview\");\n const content_type_uid = urlParams.get(\"content_type_uid\");\n const entry_uid = urlParams.get(\"entry_uid\");\n\n if (live_preview) {\n Config.set(\"hash\", live_preview);\n }\n\n if (content_type_uid) {\n Config.set(\"stackDetails.contentTypeUid\", content_type_uid);\n }\n\n if (entry_uid) {\n Config.set(\"stackDetails.entryUid\", entry_uid);\n }\n\n syncToStackSdk({\n hash: live_preview,\n contentTypeUid: content_type_uid,\n entryUid: entry_uid,\n });\n}\n\n/**\n * Syncs hash, contentTypeUid, and entryUid into the user's stackSdk.live_preview object.\n * Auto-effects via deepsignal were ruled out because Config.reset() replaces the deepSignal\n * instance, which would blind any bound effect. Explicit sync is the safe alternative.\n */\nexport function syncToStackSdk({\n hash,\n contentTypeUid,\n entryUid,\n}: {\n hash?: string | null;\n contentTypeUid?: string | null;\n entryUid?: string | null;\n}): void {\n const stackSdkLivePreview = Config.get().stackSdk.live_preview;\n\n if (hash) {\n stackSdkLivePreview.hash = hash;\n stackSdkLivePreview.live_preview = hash;\n }\n if (contentTypeUid) {\n stackSdkLivePreview.content_type_uid = contentTypeUid;\n }\n if (entryUid) {\n stackSdkLivePreview.entry_uid = entryUid;\n }\n\n Config.set(\"stackSdk.live_preview\", stackSdkLivePreview);\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,wBAAuC;AAEvC,oBAAkD;AAClD,8BAA+B;AAC/B,uBAAmD;AAEnD,IAAM,SAAN,MAAa;AAAA,EAOT,OAAO,QAAQ,gBAAgC,+BAAgB,GAAS;AACpE,gDAAe,SAAS;AAAA,EAC5B;AAAA,EAEA,OAAO,IAAI,KAAa,OAAkB;AACtC,QAAI,KAAC,iBAAAA,KAAU,KAAK,OAAO,OAAO,GAAG,GAAG;AACpC,YAAM,IAAI,MAAM,gBAAgB,GAAG,EAAE;AAAA,IACzC;AACA,yBAAAC,KAAU,KAAK,OAAO,OAAO,KAAK,KAAK;AAAA,EAC3C;AAAA,EAEA,OAAO,MAA2B;AAC9B,WAAO,KAAK,OAAO;AAAA,EACvB;AAAA,EAEA,OAAO,QAAc;AACjB,yBAAAA,KAAU,KAAK,QAAQ,aAAS,gCAAiB,CAAC;AAAA,EACtD;AACJ;AAzBM,OACK,SAEH;AAAA,EACA,WAAO,kCAAW,gCAAiB,CAAC;AACxC;AAsBJ,IAAO,wBAAQ;AAOR,SAAS,sBAA4B;AACxC,QAAM,eAAe,IAAI,gBAAgB,OAAO,SAAS,MAAM;AAC/D,sBAAoB,aAAa,SAAS,CAAC;AAC/C;AAwBO,SAAS,oBACZ,SAA2D,CAAC,GACxD;AACJ,QAAM,YAAY,IAAI,gBAAgB,MAAM;AAC5C,QAAM,eAAe,UAAU,IAAI,cAAc;AACjD,QAAM,mBAAmB,UAAU,IAAI,kBAAkB;AACzD,QAAM,YAAY,UAAU,IAAI,WAAW;AAE3C,MAAI,cAAc;AACd,WAAO,IAAI,QAAQ,YAAY;AAAA,EACnC;AAEA,MAAI,kBAAkB;AAClB,WAAO,IAAI,+BAA+B,gBAAgB;AAAA,EAC9D;AAEA,MAAI,WAAW;AACX,WAAO,IAAI,yBAAyB,SAAS;AAAA,EACjD;AAEA,iBAAe;AAAA,IACX,MAAM;AAAA,IACN,gBAAgB;AAAA,IAChB,UAAU;AAAA,EACd,CAAC;AACL;AAOO,SAAS,eAAe;AAAA,EAC3B;AAAA,EACA;AAAA,EACA;AACJ,GAIS;AACL,QAAM,sBAAsB,OAAO,IAAI,EAAE,SAAS;AAElD,MAAI,MAAM;AACN,wBAAoB,OAAO;AAC3B,wBAAoB,eAAe;AAAA,EACvC;AACA,MAAI,gBAAgB;AAChB,wBAAoB,mBAAmB;AAAA,EAC3C;AACA,MAAI,UAAU;AACV,wBAAoB,YAAY;AAAA,EACpC;AAEA,SAAO,IAAI,yBAAyB,mBAAmB;AAC3D;","names":["lodashHas","lodashSet"]}
@@ -39,5 +39,15 @@ declare function updateConfigFromUrl(): void;
39
39
  * Basically anything that can be passed to `URLSearchParams` constructor.
40
40
  */
41
41
  declare function setConfigFromParams(params?: ConstructorParameters<typeof URLSearchParams>[0]): void;
42
+ /**
43
+ * Syncs hash, contentTypeUid, and entryUid into the user's stackSdk.live_preview object.
44
+ * Auto-effects via deepsignal were ruled out because Config.reset() replaces the deepSignal
45
+ * instance, which would blind any bound effect. Explicit sync is the safe alternative.
46
+ */
47
+ declare function syncToStackSdk({ hash, contentTypeUid, entryUid, }: {
48
+ hash?: string | null;
49
+ contentTypeUid?: string | null;
50
+ entryUid?: string | null;
51
+ }): void;
42
52
 
43
- export { Config as default, setConfigFromParams, updateConfigFromUrl };
53
+ export { Config as default, setConfigFromParams, syncToStackSdk, updateConfigFromUrl };
@@ -39,5 +39,15 @@ declare function updateConfigFromUrl(): void;
39
39
  * Basically anything that can be passed to `URLSearchParams` constructor.
40
40
  */
41
41
  declare function setConfigFromParams(params?: ConstructorParameters<typeof URLSearchParams>[0]): void;
42
+ /**
43
+ * Syncs hash, contentTypeUid, and entryUid into the user's stackSdk.live_preview object.
44
+ * Auto-effects via deepsignal were ruled out because Config.reset() replaces the deepSignal
45
+ * instance, which would blind any bound effect. Explicit sync is the safe alternative.
46
+ */
47
+ declare function syncToStackSdk({ hash, contentTypeUid, entryUid, }: {
48
+ hash?: string | null;
49
+ contentTypeUid?: string | null;
50
+ entryUid?: string | null;
51
+ }): void;
42
52
 
43
- export { Config as default, setConfigFromParams, updateConfigFromUrl };
53
+ export { Config as default, setConfigFromParams, syncToStackSdk, updateConfigFromUrl };
@@ -35,25 +35,43 @@ function setConfigFromParams(params = {}) {
35
35
  const live_preview = urlParams.get("live_preview");
36
36
  const content_type_uid = urlParams.get("content_type_uid");
37
37
  const entry_uid = urlParams.get("entry_uid");
38
- const stackSdkLivePreview = Config.get().stackSdk.live_preview;
39
38
  if (live_preview) {
40
39
  Config.set("hash", live_preview);
41
- stackSdkLivePreview.hash = live_preview;
42
- stackSdkLivePreview.live_preview = live_preview;
43
40
  }
44
41
  if (content_type_uid) {
45
42
  Config.set("stackDetails.contentTypeUid", content_type_uid);
46
- stackSdkLivePreview.content_type_uid = content_type_uid;
47
43
  }
48
44
  if (entry_uid) {
49
45
  Config.set("stackDetails.entryUid", entry_uid);
50
- stackSdkLivePreview.entry_uid = entry_uid;
46
+ }
47
+ syncToStackSdk({
48
+ hash: live_preview,
49
+ contentTypeUid: content_type_uid,
50
+ entryUid: entry_uid
51
+ });
52
+ }
53
+ function syncToStackSdk({
54
+ hash,
55
+ contentTypeUid,
56
+ entryUid
57
+ }) {
58
+ const stackSdkLivePreview = Config.get().stackSdk.live_preview;
59
+ if (hash) {
60
+ stackSdkLivePreview.hash = hash;
61
+ stackSdkLivePreview.live_preview = hash;
62
+ }
63
+ if (contentTypeUid) {
64
+ stackSdkLivePreview.content_type_uid = contentTypeUid;
65
+ }
66
+ if (entryUid) {
67
+ stackSdkLivePreview.entry_uid = entryUid;
51
68
  }
52
69
  Config.set("stackSdk.live_preview", stackSdkLivePreview);
53
70
  }
54
71
  export {
55
72
  configManager_default as default,
56
73
  setConfigFromParams,
74
+ syncToStackSdk,
57
75
  updateConfigFromUrl
58
76
  };
59
77
  //# sourceMappingURL=configManager.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/configManager/configManager.ts"],"sourcesContent":["import { DeepSignal, deepSignal } from \"deepsignal\";\nimport type { IConfig, IInitData } from \"../types/types\";\nimport { getDefaultConfig, getUserInitData } from \"./config.default\";\nimport { handleInitData } from \"./handleUserConfig\";\nimport { has as lodashHas, set as lodashSet } from \"lodash-es\";\n\nclass Config {\n static config: {\n state: DeepSignal<IConfig>;\n } = {\n state: deepSignal(getDefaultConfig()),\n };\n\n static replace(userInput: Partial<IInitData> = getUserInitData()): void {\n handleInitData(userInput);\n }\n\n static set(key: string, value: any): void {\n if (!lodashHas(this.config.state, key)) {\n throw new Error(`Invalid key: ${key}`);\n }\n lodashSet(this.config.state, key, value);\n }\n\n static get(): DeepSignal<IConfig> {\n return this.config.state;\n }\n\n static reset(): void {\n lodashSet(this.config, \"state\", getDefaultConfig());\n }\n}\n\nexport default Config;\n\n/**\n * Updates the configuration from the URL parameters.\n * It will receive live_preview containing the hash, content_type_uid and entry_uid.\n */\n\nexport function updateConfigFromUrl(): void {\n const searchParams = new URLSearchParams(window.location.search);\n setConfigFromParams(searchParams.toString());\n}\n\n/**\n * Sets the live preview hash, content_type_uid and entry_uid\n * from the query param to config.\n *\n * @param params query param in an object form, query string.\n *\n * @example\n * ```js\n * setConfigFromParams({\n * live_preview: \"hash\",\n * content_type_uid: \"content_type_uid\",\n * entry_uid: \"entry_uid\",\n * });\n * ```\n *\n * @example\n * ```js\n * setConfigFromParams(\"?live_preview=hash&content_type_uid=content_type_uid&entry_uid=entry_uid\");\n * ```\n * Basically anything that can be passed to `URLSearchParams` constructor.\n */\n\nexport function setConfigFromParams(\n params: ConstructorParameters<typeof URLSearchParams>[0] = {}\n): void {\n const urlParams = new URLSearchParams(params);\n const live_preview = urlParams.get(\"live_preview\");\n const content_type_uid = urlParams.get(\"content_type_uid\");\n const entry_uid = urlParams.get(\"entry_uid\");\n\n const stackSdkLivePreview = Config.get().stackSdk.live_preview;\n\n if (live_preview) {\n Config.set(\"hash\", live_preview);\n stackSdkLivePreview.hash = live_preview;\n stackSdkLivePreview.live_preview = live_preview;\n }\n\n if (content_type_uid) {\n Config.set(\"stackDetails.contentTypeUid\", content_type_uid);\n stackSdkLivePreview.content_type_uid = content_type_uid;\n }\n\n if (entry_uid) {\n Config.set(\"stackDetails.entryUid\", entry_uid);\n stackSdkLivePreview.entry_uid = entry_uid;\n }\n\n Config.set(\"stackSdk.live_preview\", stackSdkLivePreview);\n}\n"],"mappings":";;;AAAA,SAAqB,kBAAkB;AAEvC,SAAS,kBAAkB,uBAAuB;AAClD,SAAS,sBAAsB;AAC/B,SAAS,OAAO,WAAW,OAAO,iBAAiB;AAEnD,IAAM,SAAN,MAAa;AAAA,EAOT,OAAO,QAAQ,YAAgC,gBAAgB,GAAS;AACpE,mBAAe,SAAS;AAAA,EAC5B;AAAA,EAEA,OAAO,IAAI,KAAa,OAAkB;AACtC,QAAI,CAAC,UAAU,KAAK,OAAO,OAAO,GAAG,GAAG;AACpC,YAAM,IAAI,MAAM,gBAAgB,GAAG,EAAE;AAAA,IACzC;AACA,cAAU,KAAK,OAAO,OAAO,KAAK,KAAK;AAAA,EAC3C;AAAA,EAEA,OAAO,MAA2B;AAC9B,WAAO,KAAK,OAAO;AAAA,EACvB;AAAA,EAEA,OAAO,QAAc;AACjB,cAAU,KAAK,QAAQ,SAAS,iBAAiB,CAAC;AAAA,EACtD;AACJ;AAzBM,OACK,SAEH;AAAA,EACA,OAAO,WAAW,iBAAiB,CAAC;AACxC;AAsBJ,IAAO,wBAAQ;AAOR,SAAS,sBAA4B;AACxC,QAAM,eAAe,IAAI,gBAAgB,OAAO,SAAS,MAAM;AAC/D,sBAAoB,aAAa,SAAS,CAAC;AAC/C;AAwBO,SAAS,oBACZ,SAA2D,CAAC,GACxD;AACJ,QAAM,YAAY,IAAI,gBAAgB,MAAM;AAC5C,QAAM,eAAe,UAAU,IAAI,cAAc;AACjD,QAAM,mBAAmB,UAAU,IAAI,kBAAkB;AACzD,QAAM,YAAY,UAAU,IAAI,WAAW;AAE3C,QAAM,sBAAsB,OAAO,IAAI,EAAE,SAAS;AAElD,MAAI,cAAc;AACd,WAAO,IAAI,QAAQ,YAAY;AAC/B,wBAAoB,OAAO;AAC3B,wBAAoB,eAAe;AAAA,EACvC;AAEA,MAAI,kBAAkB;AAClB,WAAO,IAAI,+BAA+B,gBAAgB;AAC1D,wBAAoB,mBAAmB;AAAA,EAC3C;AAEA,MAAI,WAAW;AACX,WAAO,IAAI,yBAAyB,SAAS;AAC7C,wBAAoB,YAAY;AAAA,EACpC;AAEA,SAAO,IAAI,yBAAyB,mBAAmB;AAC3D;","names":[]}
1
+ {"version":3,"sources":["../../../src/configManager/configManager.ts"],"sourcesContent":["import { DeepSignal, deepSignal } from \"deepsignal\";\nimport type { IConfig, IInitData } from \"../types/types\";\nimport { getDefaultConfig, getUserInitData } from \"./config.default\";\nimport { handleInitData } from \"./handleUserConfig\";\nimport { has as lodashHas, set as lodashSet } from \"lodash-es\";\n\nclass Config {\n static config: {\n state: DeepSignal<IConfig>;\n } = {\n state: deepSignal(getDefaultConfig()),\n };\n\n static replace(userInput: Partial<IInitData> = getUserInitData()): void {\n handleInitData(userInput);\n }\n\n static set(key: string, value: any): void {\n if (!lodashHas(this.config.state, key)) {\n throw new Error(`Invalid key: ${key}`);\n }\n lodashSet(this.config.state, key, value);\n }\n\n static get(): DeepSignal<IConfig> {\n return this.config.state;\n }\n\n static reset(): void {\n lodashSet(this.config, \"state\", getDefaultConfig());\n }\n}\n\nexport default Config;\n\n/**\n * Updates the configuration from the URL parameters.\n * It will receive live_preview containing the hash, content_type_uid and entry_uid.\n */\n\nexport function updateConfigFromUrl(): void {\n const searchParams = new URLSearchParams(window.location.search);\n setConfigFromParams(searchParams.toString());\n}\n\n/**\n * Sets the live preview hash, content_type_uid and entry_uid\n * from the query param to config.\n *\n * @param params query param in an object form, query string.\n *\n * @example\n * ```js\n * setConfigFromParams({\n * live_preview: \"hash\",\n * content_type_uid: \"content_type_uid\",\n * entry_uid: \"entry_uid\",\n * });\n * ```\n *\n * @example\n * ```js\n * setConfigFromParams(\"?live_preview=hash&content_type_uid=content_type_uid&entry_uid=entry_uid\");\n * ```\n * Basically anything that can be passed to `URLSearchParams` constructor.\n */\n\nexport function setConfigFromParams(\n params: ConstructorParameters<typeof URLSearchParams>[0] = {}\n): void {\n const urlParams = new URLSearchParams(params);\n const live_preview = urlParams.get(\"live_preview\");\n const content_type_uid = urlParams.get(\"content_type_uid\");\n const entry_uid = urlParams.get(\"entry_uid\");\n\n if (live_preview) {\n Config.set(\"hash\", live_preview);\n }\n\n if (content_type_uid) {\n Config.set(\"stackDetails.contentTypeUid\", content_type_uid);\n }\n\n if (entry_uid) {\n Config.set(\"stackDetails.entryUid\", entry_uid);\n }\n\n syncToStackSdk({\n hash: live_preview,\n contentTypeUid: content_type_uid,\n entryUid: entry_uid,\n });\n}\n\n/**\n * Syncs hash, contentTypeUid, and entryUid into the user's stackSdk.live_preview object.\n * Auto-effects via deepsignal were ruled out because Config.reset() replaces the deepSignal\n * instance, which would blind any bound effect. Explicit sync is the safe alternative.\n */\nexport function syncToStackSdk({\n hash,\n contentTypeUid,\n entryUid,\n}: {\n hash?: string | null;\n contentTypeUid?: string | null;\n entryUid?: string | null;\n}): void {\n const stackSdkLivePreview = Config.get().stackSdk.live_preview;\n\n if (hash) {\n stackSdkLivePreview.hash = hash;\n stackSdkLivePreview.live_preview = hash;\n }\n if (contentTypeUid) {\n stackSdkLivePreview.content_type_uid = contentTypeUid;\n }\n if (entryUid) {\n stackSdkLivePreview.entry_uid = entryUid;\n }\n\n Config.set(\"stackSdk.live_preview\", stackSdkLivePreview);\n}\n"],"mappings":";;;AAAA,SAAqB,kBAAkB;AAEvC,SAAS,kBAAkB,uBAAuB;AAClD,SAAS,sBAAsB;AAC/B,SAAS,OAAO,WAAW,OAAO,iBAAiB;AAEnD,IAAM,SAAN,MAAa;AAAA,EAOT,OAAO,QAAQ,YAAgC,gBAAgB,GAAS;AACpE,mBAAe,SAAS;AAAA,EAC5B;AAAA,EAEA,OAAO,IAAI,KAAa,OAAkB;AACtC,QAAI,CAAC,UAAU,KAAK,OAAO,OAAO,GAAG,GAAG;AACpC,YAAM,IAAI,MAAM,gBAAgB,GAAG,EAAE;AAAA,IACzC;AACA,cAAU,KAAK,OAAO,OAAO,KAAK,KAAK;AAAA,EAC3C;AAAA,EAEA,OAAO,MAA2B;AAC9B,WAAO,KAAK,OAAO;AAAA,EACvB;AAAA,EAEA,OAAO,QAAc;AACjB,cAAU,KAAK,QAAQ,SAAS,iBAAiB,CAAC;AAAA,EACtD;AACJ;AAzBM,OACK,SAEH;AAAA,EACA,OAAO,WAAW,iBAAiB,CAAC;AACxC;AAsBJ,IAAO,wBAAQ;AAOR,SAAS,sBAA4B;AACxC,QAAM,eAAe,IAAI,gBAAgB,OAAO,SAAS,MAAM;AAC/D,sBAAoB,aAAa,SAAS,CAAC;AAC/C;AAwBO,SAAS,oBACZ,SAA2D,CAAC,GACxD;AACJ,QAAM,YAAY,IAAI,gBAAgB,MAAM;AAC5C,QAAM,eAAe,UAAU,IAAI,cAAc;AACjD,QAAM,mBAAmB,UAAU,IAAI,kBAAkB;AACzD,QAAM,YAAY,UAAU,IAAI,WAAW;AAE3C,MAAI,cAAc;AACd,WAAO,IAAI,QAAQ,YAAY;AAAA,EACnC;AAEA,MAAI,kBAAkB;AAClB,WAAO,IAAI,+BAA+B,gBAAgB;AAAA,EAC9D;AAEA,MAAI,WAAW;AACX,WAAO,IAAI,yBAAyB,SAAS;AAAA,EACjD;AAEA,iBAAe;AAAA,IACX,MAAM;AAAA,IACN,gBAAgB;AAAA,IAChB,UAAU;AAAA,EACd,CAAC;AACL;AAOO,SAAS,eAAe;AAAA,EAC3B;AAAA,EACA;AAAA,EACA;AACJ,GAIS;AACL,QAAM,sBAAsB,OAAO,IAAI,EAAE,SAAS;AAElD,MAAI,MAAM;AACN,wBAAoB,OAAO;AAC3B,wBAAoB,eAAe;AAAA,EACvC;AACA,MAAI,gBAAgB;AAChB,wBAAoB,mBAAmB;AAAA,EAC3C;AACA,MAAI,UAAU;AACV,wBAAoB,YAAY;AAAA,EACpC;AAEA,SAAO,IAAI,yBAAyB,mBAAmB;AAC3D;","names":[]}
@@ -69,7 +69,7 @@ var handleClientUrlParams = (userConfig) => {
69
69
  import_configManager.default.set("clientUrlParams.url", url);
70
70
  };
71
71
  var handleInitData = (initData) => {
72
- var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x;
72
+ var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _A;
73
73
  const config = import_configManager.default.get();
74
74
  const stackSdk = initData.stackSdk || config.stackSdk;
75
75
  import_configManager.default.set(
@@ -100,12 +100,15 @@ var handleInitData = (initData) => {
100
100
  enable: ((_r = initData.editInVisualBuilderButton) == null ? void 0 : _r.enable) ?? ((_t = (_s = stackSdk.live_preview) == null ? void 0 : _s.editInVisualBuilderButton) == null ? void 0 : _t.enable) ?? config.editInVisualBuilderButton.enable,
101
101
  position: ((_u = initData.editInVisualBuilderButton) == null ? void 0 : _u.position) ?? ((_v = stackSdk.live_preview) == null ? void 0 : _v.position) ?? config.editInVisualBuilderButton.position ?? "bottom-right"
102
102
  });
103
+ import_configManager.default.set("overlayPropagation", {
104
+ enable: ((_w = initData.overlayPropagation) == null ? void 0 : _w.enable) ?? ((_y = (_x = stackSdk.live_preview) == null ? void 0 : _x.overlayPropagation) == null ? void 0 : _y.enable) ?? config.overlayPropagation.enable
105
+ });
103
106
  import_configManager.default.set(
104
107
  "enableLivePreviewOutsideIframe",
105
108
  initData.enableLivePreviewOutsideIframe ?? config.enableLivePreviewOutsideIframe
106
109
  );
107
110
  handleClientUrlParams(
108
- initData.clientUrlParams ?? ((_w = stackSdk.live_preview) == null ? void 0 : _w.clientUrlParams) ?? config.clientUrlParams
111
+ initData.clientUrlParams ?? ((_z = stackSdk.live_preview) == null ? void 0 : _z.clientUrlParams) ?? config.clientUrlParams
109
112
  );
110
113
  if (initData.mode) {
111
114
  switch (initData.mode) {
@@ -126,7 +129,7 @@ var handleInitData = (initData) => {
126
129
  }
127
130
  import_configManager.default.set(
128
131
  "debug",
129
- initData.debug ?? ((_x = stackSdk.live_preview) == null ? void 0 : _x.debug) ?? config.debug
132
+ initData.debug ?? ((_A = stackSdk.live_preview) == null ? void 0 : _A.debug) ?? config.debug
130
133
  );
131
134
  handleStackDetails(initData, stackSdk);
132
135
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/configManager/handleUserConfig.ts"],"sourcesContent":["import {\n type IClientUrlParams,\n type IInitData,\n ILivePreviewModeConfig,\n type IStackSdk,\n} from \"../types/types\";\nimport Config from \"./configManager\";\n\nconst handleClientUrlParams = (userConfig: Partial<IClientUrlParams>): void => {\n const config = Config.get();\n const clientUrlParams = config.clientUrlParams;\n\n Config.set(\n \"clientUrlParams.host\",\n userConfig.host ?? config.clientUrlParams.host\n );\n\n Config.set(\n \"clientUrlParams.protocol\",\n userConfig.protocol ?? clientUrlParams.protocol\n );\n Config.set(\"clientUrlParams.port\", userConfig.port ?? clientUrlParams.port);\n\n if (userConfig.protocol !== undefined && userConfig.port === undefined) {\n switch (userConfig.protocol) {\n case \"http\": {\n Config.set(\"clientUrlParams.port\", 80);\n break;\n }\n case \"https\": {\n Config.set(\"clientUrlParams.port\", 443);\n break;\n }\n }\n }\n\n let host = config.clientUrlParams.host;\n\n // build url\n if (typeof host == \"string\" && host.endsWith(\"/\")) {\n host = host.slice(0, -1);\n Config.set(\"clientUrlParams.host\", host);\n }\n\n const url = `${clientUrlParams.protocol}://${config.clientUrlParams.host}:${clientUrlParams.port}`;\n\n Config.set(\"clientUrlParams.url\", url);\n};\n\n// TODO: add documentation mentioning that you cannot pass stack sdk in the init data\n\nexport const handleInitData = (initData: Partial<IInitData>): void => {\n const config = Config.get();\n const stackSdk = initData.stackSdk || config.stackSdk;\n\n Config.set(\n \"enable\",\n initData.enable ?? stackSdk.live_preview?.enable ?? config.enable\n );\n\n Config.set(\n \"ssr\",\n stackSdk.live_preview?.ssr ??\n initData.ssr ??\n (typeof initData.stackSdk === \"object\" ? false : true) ??\n true\n );\n\n Config.set(\n \"runScriptsOnUpdate\",\n initData.runScriptsOnUpdate ??\n stackSdk.live_preview?.runScriptsOnUpdate ??\n config.runScriptsOnUpdate\n );\n\n Config.set(\"stackSdk\", initData.stackSdk ?? config.stackSdk);\n\n Config.set(\n \"cleanCslpOnProduction\",\n initData.cleanCslpOnProduction ??\n stackSdk.live_preview?.cleanCslpOnProduction ??\n config.cleanCslpOnProduction\n );\n\n Config.set(\"editButton\", {\n enable:\n initData.editButton?.enable ??\n stackSdk.live_preview?.editButton?.enable ??\n config.editButton.enable,\n // added extra check if exclude data passed by user is array or not\n exclude:\n Array.isArray(initData.editButton?.exclude) &&\n initData.editButton?.exclude\n ? initData.editButton?.exclude\n : Array.isArray(stackSdk.live_preview?.exclude) &&\n stackSdk.live_preview?.exclude\n ? stackSdk.live_preview?.exclude\n : (config.editButton.exclude ?? []),\n position:\n initData.editButton?.position ??\n stackSdk.live_preview?.position ??\n config.editButton.position ??\n \"top\",\n\n includeByQueryParameter:\n initData.editButton?.includeByQueryParameter ??\n stackSdk.live_preview?.includeByQueryParameter ??\n config.editButton.includeByQueryParameter ??\n true,\n });\n \n Config.set(\"editInVisualBuilderButton\", {\n enable:\n initData.editInVisualBuilderButton?.enable ??\n stackSdk.live_preview?.editInVisualBuilderButton?.enable ??\n config.editInVisualBuilderButton.enable,\n position: \n initData.editInVisualBuilderButton?.position ??\n stackSdk.live_preview?.position ??\n config.editInVisualBuilderButton.position ??\n \"bottom-right\",\n })\n\n Config.set(\n \"enableLivePreviewOutsideIframe\",\n initData.enableLivePreviewOutsideIframe ??\n config.enableLivePreviewOutsideIframe\n );\n\n // client URL params\n handleClientUrlParams(\n initData.clientUrlParams ??\n stackSdk.live_preview?.clientUrlParams ??\n config.clientUrlParams\n );\n\n if (initData.mode) {\n switch (initData.mode) {\n case \"preview\": {\n Config.set(\"mode\", ILivePreviewModeConfig.PREVIEW);\n break;\n }\n case \"builder\": {\n Config.set(\"mode\", ILivePreviewModeConfig.BUILDER);\n break;\n }\n default: {\n throw new TypeError(\n \"Live Preview SDK: The mode must be either 'builder' or 'preview'\"\n );\n }\n }\n }\n\n Config.set(\n \"debug\",\n initData.debug ?? stackSdk.live_preview?.debug ?? config.debug\n );\n\n handleStackDetails(initData, stackSdk as IStackSdk);\n};\n\nfunction handleStackDetails(\n initData: Partial<IInitData>,\n stackSdk: Partial<IStackSdk>\n): void {\n const config = Config.get();\n\n Config.set(\n \"stackDetails.apiKey\",\n initData.stackDetails?.apiKey ?? config.stackDetails.apiKey\n );\n\n Config.set(\n \"stackDetails.environment\",\n initData.stackDetails?.environment ??\n stackSdk.environment ??\n config.stackDetails.environment\n );\n\n Config.set(\n \"stackDetails.branch\",\n initData.stackDetails?.branch ??\n stackSdk.branch ??\n stackSdk.headers?.branch ??\n config.stackDetails.branch\n );\n\n Config.set(\n \"stackDetails.locale\",\n initData.stackDetails?.locale ?? config.stackDetails.locale\n );\n\n if (config.mode >= ILivePreviewModeConfig.BUILDER) {\n if (!config.stackDetails.environment) {\n throw Error(\"Live preview SDK: environment is required\");\n }\n\n if (!config.stackDetails.apiKey) {\n throw Error(\"Live preview SDK: api key is required\");\n }\n }\n}\n\nexport const handleUserConfig = {\n clientUrlParams: handleClientUrlParams,\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAKO;AACP,2BAAmB;AAEnB,IAAM,wBAAwB,CAAC,eAAgD;AAC3E,QAAM,SAAS,qBAAAA,QAAO,IAAI;AAC1B,QAAM,kBAAkB,OAAO;AAE/B,uBAAAA,QAAO;AAAA,IACH;AAAA,IACA,WAAW,QAAQ,OAAO,gBAAgB;AAAA,EAC9C;AAEA,uBAAAA,QAAO;AAAA,IACH;AAAA,IACA,WAAW,YAAY,gBAAgB;AAAA,EAC3C;AACA,uBAAAA,QAAO,IAAI,wBAAwB,WAAW,QAAQ,gBAAgB,IAAI;AAE1E,MAAI,WAAW,aAAa,UAAa,WAAW,SAAS,QAAW;AACpE,YAAQ,WAAW,UAAU;AAAA,MACzB,KAAK,QAAQ;AACT,6BAAAA,QAAO,IAAI,wBAAwB,EAAE;AACrC;AAAA,MACJ;AAAA,MACA,KAAK,SAAS;AACV,6BAAAA,QAAO,IAAI,wBAAwB,GAAG;AACtC;AAAA,MACJ;AAAA,IACJ;AAAA,EACJ;AAEA,MAAI,OAAO,OAAO,gBAAgB;AAGlC,MAAI,OAAO,QAAQ,YAAY,KAAK,SAAS,GAAG,GAAG;AAC/C,WAAO,KAAK,MAAM,GAAG,EAAE;AACvB,yBAAAA,QAAO,IAAI,wBAAwB,IAAI;AAAA,EAC3C;AAEA,QAAM,MAAM,GAAG,gBAAgB,QAAQ,MAAM,OAAO,gBAAgB,IAAI,IAAI,gBAAgB,IAAI;AAEhG,uBAAAA,QAAO,IAAI,uBAAuB,GAAG;AACzC;AAIO,IAAM,iBAAiB,CAAC,aAAuC;AAnDtE;AAoDI,QAAM,SAAS,qBAAAA,QAAO,IAAI;AAC1B,QAAM,WAAW,SAAS,YAAY,OAAO;AAE7C,uBAAAA,QAAO;AAAA,IACH;AAAA,IACA,SAAS,YAAU,cAAS,iBAAT,mBAAuB,WAAU,OAAO;AAAA,EAC/D;AAEA,uBAAAA,QAAO;AAAA,IACH;AAAA,MACA,cAAS,iBAAT,mBAAuB,QACnB,SAAS,QACR,OAAO,SAAS,aAAa,WAAW,QAAQ,SACjD;AAAA,EACR;AAEA,uBAAAA,QAAO;AAAA,IACH;AAAA,IACA,SAAS,wBACL,cAAS,iBAAT,mBAAuB,uBACvB,OAAO;AAAA,EACf;AAEA,uBAAAA,QAAO,IAAI,YAAY,SAAS,YAAY,OAAO,QAAQ;AAE3D,uBAAAA,QAAO;AAAA,IACH;AAAA,IACA,SAAS,2BACL,cAAS,iBAAT,mBAAuB,0BACvB,OAAO;AAAA,EACf;AAEA,uBAAAA,QAAO,IAAI,cAAc;AAAA,IACrB,UACI,cAAS,eAAT,mBAAqB,aACrB,oBAAS,iBAAT,mBAAuB,eAAvB,mBAAmC,WACnC,OAAO,WAAW;AAAA;AAAA,IAEtB,SACI,MAAM,SAAQ,cAAS,eAAT,mBAAqB,OAAO,OAC1C,cAAS,eAAT,mBAAqB,YACf,cAAS,eAAT,mBAAqB,UACrB,MAAM,SAAQ,cAAS,iBAAT,mBAAuB,OAAO,OAC1C,cAAS,iBAAT,mBAAuB,YACvB,cAAS,iBAAT,mBAAuB,UACtB,OAAO,WAAW,WAAW,CAAC;AAAA,IAC3C,YACI,cAAS,eAAT,mBAAqB,eACrB,cAAS,iBAAT,mBAAuB,aACvB,OAAO,WAAW,YAClB;AAAA,IAEJ,2BACI,cAAS,eAAT,mBAAqB,8BACrB,cAAS,iBAAT,mBAAuB,4BACvB,OAAO,WAAW,2BAClB;AAAA,EACR,CAAC;AAED,uBAAAA,QAAO,IAAI,6BAA6B;AAAA,IACpC,UACI,cAAS,8BAAT,mBAAoC,aACpC,oBAAS,iBAAT,mBAAuB,8BAAvB,mBAAkD,WAClD,OAAO,0BAA0B;AAAA,IACrC,YACI,cAAS,8BAAT,mBAAoC,eACpC,cAAS,iBAAT,mBAAuB,aACvB,OAAO,0BAA0B,YACjC;AAAA,EACR,CAAC;AAED,uBAAAA,QAAO;AAAA,IACH;AAAA,IACA,SAAS,kCACL,OAAO;AAAA,EACf;AAGA;AAAA,IACI,SAAS,qBACL,cAAS,iBAAT,mBAAuB,oBACvB,OAAO;AAAA,EACf;AAEA,MAAI,SAAS,MAAM;AACf,YAAQ,SAAS,MAAM;AAAA,MACnB,KAAK,WAAW;AACZ,6BAAAA,QAAO,IAAI,QAAQ,oCAAuB,OAAO;AACjD;AAAA,MACJ;AAAA,MACA,KAAK,WAAW;AACZ,6BAAAA,QAAO,IAAI,QAAQ,oCAAuB,OAAO;AACjD;AAAA,MACJ;AAAA,MACA,SAAS;AACL,cAAM,IAAI;AAAA,UACN;AAAA,QACJ;AAAA,MACJ;AAAA,IACJ;AAAA,EACJ;AAEA,uBAAAA,QAAO;AAAA,IACH;AAAA,IACA,SAAS,WAAS,cAAS,iBAAT,mBAAuB,UAAS,OAAO;AAAA,EAC7D;AAEA,qBAAmB,UAAU,QAAqB;AACtD;AAEA,SAAS,mBACL,UACA,UACI;AArKR;AAsKI,QAAM,SAAS,qBAAAA,QAAO,IAAI;AAE1B,uBAAAA,QAAO;AAAA,IACH;AAAA,MACA,cAAS,iBAAT,mBAAuB,WAAU,OAAO,aAAa;AAAA,EACzD;AAEA,uBAAAA,QAAO;AAAA,IACH;AAAA,MACA,cAAS,iBAAT,mBAAuB,gBACnB,SAAS,eACT,OAAO,aAAa;AAAA,EAC5B;AAEA,uBAAAA,QAAO;AAAA,IACH;AAAA,MACA,cAAS,iBAAT,mBAAuB,WACnB,SAAS,YACT,cAAS,YAAT,mBAAkB,WAClB,OAAO,aAAa;AAAA,EAC5B;AAEA,uBAAAA,QAAO;AAAA,IACH;AAAA,MACA,cAAS,iBAAT,mBAAuB,WAAU,OAAO,aAAa;AAAA,EACzD;AAEA,MAAI,OAAO,QAAQ,oCAAuB,SAAS;AAC/C,QAAI,CAAC,OAAO,aAAa,aAAa;AAClC,YAAM,MAAM,2CAA2C;AAAA,IAC3D;AAEA,QAAI,CAAC,OAAO,aAAa,QAAQ;AAC7B,YAAM,MAAM,uCAAuC;AAAA,IACvD;AAAA,EACJ;AACJ;AAEO,IAAM,mBAAmB;AAAA,EAC5B,iBAAiB;AACrB;","names":["Config"]}
1
+ {"version":3,"sources":["../../../src/configManager/handleUserConfig.ts"],"sourcesContent":["import {\n type IClientUrlParams,\n type IInitData,\n ILivePreviewModeConfig,\n type IStackSdk,\n} from \"../types/types\";\nimport Config from \"./configManager\";\n\nconst handleClientUrlParams = (userConfig: Partial<IClientUrlParams>): void => {\n const config = Config.get();\n const clientUrlParams = config.clientUrlParams;\n\n Config.set(\n \"clientUrlParams.host\",\n userConfig.host ?? config.clientUrlParams.host\n );\n\n Config.set(\n \"clientUrlParams.protocol\",\n userConfig.protocol ?? clientUrlParams.protocol\n );\n Config.set(\"clientUrlParams.port\", userConfig.port ?? clientUrlParams.port);\n\n if (userConfig.protocol !== undefined && userConfig.port === undefined) {\n switch (userConfig.protocol) {\n case \"http\": {\n Config.set(\"clientUrlParams.port\", 80);\n break;\n }\n case \"https\": {\n Config.set(\"clientUrlParams.port\", 443);\n break;\n }\n }\n }\n\n let host = config.clientUrlParams.host;\n\n // build url\n if (typeof host == \"string\" && host.endsWith(\"/\")) {\n host = host.slice(0, -1);\n Config.set(\"clientUrlParams.host\", host);\n }\n\n const url = `${clientUrlParams.protocol}://${config.clientUrlParams.host}:${clientUrlParams.port}`;\n\n Config.set(\"clientUrlParams.url\", url);\n};\n\n// TODO: add documentation mentioning that you cannot pass stack sdk in the init data\n\nexport const handleInitData = (initData: Partial<IInitData>): void => {\n const config = Config.get();\n const stackSdk = initData.stackSdk || config.stackSdk;\n\n Config.set(\n \"enable\",\n initData.enable ?? stackSdk.live_preview?.enable ?? config.enable\n );\n\n Config.set(\n \"ssr\",\n stackSdk.live_preview?.ssr ??\n initData.ssr ??\n (typeof initData.stackSdk === \"object\" ? false : true) ??\n true\n );\n\n Config.set(\n \"runScriptsOnUpdate\",\n initData.runScriptsOnUpdate ??\n stackSdk.live_preview?.runScriptsOnUpdate ??\n config.runScriptsOnUpdate\n );\n\n Config.set(\"stackSdk\", initData.stackSdk ?? config.stackSdk);\n\n Config.set(\n \"cleanCslpOnProduction\",\n initData.cleanCslpOnProduction ??\n stackSdk.live_preview?.cleanCslpOnProduction ??\n config.cleanCslpOnProduction\n );\n\n Config.set(\"editButton\", {\n enable:\n initData.editButton?.enable ??\n stackSdk.live_preview?.editButton?.enable ??\n config.editButton.enable,\n // added extra check if exclude data passed by user is array or not\n exclude:\n Array.isArray(initData.editButton?.exclude) &&\n initData.editButton?.exclude\n ? initData.editButton?.exclude\n : Array.isArray(stackSdk.live_preview?.exclude) &&\n stackSdk.live_preview?.exclude\n ? stackSdk.live_preview?.exclude\n : (config.editButton.exclude ?? []),\n position:\n initData.editButton?.position ??\n stackSdk.live_preview?.position ??\n config.editButton.position ??\n \"top\",\n\n includeByQueryParameter:\n initData.editButton?.includeByQueryParameter ??\n stackSdk.live_preview?.includeByQueryParameter ??\n config.editButton.includeByQueryParameter ??\n true,\n });\n \n Config.set(\"editInVisualBuilderButton\", {\n enable:\n initData.editInVisualBuilderButton?.enable ??\n stackSdk.live_preview?.editInVisualBuilderButton?.enable ??\n config.editInVisualBuilderButton.enable,\n position:\n initData.editInVisualBuilderButton?.position ??\n stackSdk.live_preview?.position ??\n config.editInVisualBuilderButton.position ??\n \"bottom-right\",\n })\n\n Config.set(\"overlayPropagation\", {\n enable:\n initData.overlayPropagation?.enable ??\n stackSdk.live_preview?.overlayPropagation?.enable ??\n config.overlayPropagation.enable,\n });\n\n Config.set(\n \"enableLivePreviewOutsideIframe\",\n initData.enableLivePreviewOutsideIframe ??\n config.enableLivePreviewOutsideIframe\n );\n\n // client URL params\n handleClientUrlParams(\n initData.clientUrlParams ??\n stackSdk.live_preview?.clientUrlParams ??\n config.clientUrlParams\n );\n\n if (initData.mode) {\n switch (initData.mode) {\n case \"preview\": {\n Config.set(\"mode\", ILivePreviewModeConfig.PREVIEW);\n break;\n }\n case \"builder\": {\n Config.set(\"mode\", ILivePreviewModeConfig.BUILDER);\n break;\n }\n default: {\n throw new TypeError(\n \"Live Preview SDK: The mode must be either 'builder' or 'preview'\"\n );\n }\n }\n }\n\n Config.set(\n \"debug\",\n initData.debug ?? stackSdk.live_preview?.debug ?? config.debug\n );\n\n handleStackDetails(initData, stackSdk as IStackSdk);\n};\n\nfunction handleStackDetails(\n initData: Partial<IInitData>,\n stackSdk: Partial<IStackSdk>\n): void {\n const config = Config.get();\n\n Config.set(\n \"stackDetails.apiKey\",\n initData.stackDetails?.apiKey ?? config.stackDetails.apiKey\n );\n\n Config.set(\n \"stackDetails.environment\",\n initData.stackDetails?.environment ??\n stackSdk.environment ??\n config.stackDetails.environment\n );\n\n Config.set(\n \"stackDetails.branch\",\n initData.stackDetails?.branch ??\n stackSdk.branch ??\n stackSdk.headers?.branch ??\n config.stackDetails.branch\n );\n\n Config.set(\n \"stackDetails.locale\",\n initData.stackDetails?.locale ?? config.stackDetails.locale\n );\n\n if (config.mode >= ILivePreviewModeConfig.BUILDER) {\n if (!config.stackDetails.environment) {\n throw Error(\"Live preview SDK: environment is required\");\n }\n\n if (!config.stackDetails.apiKey) {\n throw Error(\"Live preview SDK: api key is required\");\n }\n }\n}\n\nexport const handleUserConfig = {\n clientUrlParams: handleClientUrlParams,\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAKO;AACP,2BAAmB;AAEnB,IAAM,wBAAwB,CAAC,eAAgD;AAC3E,QAAM,SAAS,qBAAAA,QAAO,IAAI;AAC1B,QAAM,kBAAkB,OAAO;AAE/B,uBAAAA,QAAO;AAAA,IACH;AAAA,IACA,WAAW,QAAQ,OAAO,gBAAgB;AAAA,EAC9C;AAEA,uBAAAA,QAAO;AAAA,IACH;AAAA,IACA,WAAW,YAAY,gBAAgB;AAAA,EAC3C;AACA,uBAAAA,QAAO,IAAI,wBAAwB,WAAW,QAAQ,gBAAgB,IAAI;AAE1E,MAAI,WAAW,aAAa,UAAa,WAAW,SAAS,QAAW;AACpE,YAAQ,WAAW,UAAU;AAAA,MACzB,KAAK,QAAQ;AACT,6BAAAA,QAAO,IAAI,wBAAwB,EAAE;AACrC;AAAA,MACJ;AAAA,MACA,KAAK,SAAS;AACV,6BAAAA,QAAO,IAAI,wBAAwB,GAAG;AACtC;AAAA,MACJ;AAAA,IACJ;AAAA,EACJ;AAEA,MAAI,OAAO,OAAO,gBAAgB;AAGlC,MAAI,OAAO,QAAQ,YAAY,KAAK,SAAS,GAAG,GAAG;AAC/C,WAAO,KAAK,MAAM,GAAG,EAAE;AACvB,yBAAAA,QAAO,IAAI,wBAAwB,IAAI;AAAA,EAC3C;AAEA,QAAM,MAAM,GAAG,gBAAgB,QAAQ,MAAM,OAAO,gBAAgB,IAAI,IAAI,gBAAgB,IAAI;AAEhG,uBAAAA,QAAO,IAAI,uBAAuB,GAAG;AACzC;AAIO,IAAM,iBAAiB,CAAC,aAAuC;AAnDtE;AAoDI,QAAM,SAAS,qBAAAA,QAAO,IAAI;AAC1B,QAAM,WAAW,SAAS,YAAY,OAAO;AAE7C,uBAAAA,QAAO;AAAA,IACH;AAAA,IACA,SAAS,YAAU,cAAS,iBAAT,mBAAuB,WAAU,OAAO;AAAA,EAC/D;AAEA,uBAAAA,QAAO;AAAA,IACH;AAAA,MACA,cAAS,iBAAT,mBAAuB,QACnB,SAAS,QACR,OAAO,SAAS,aAAa,WAAW,QAAQ,SACjD;AAAA,EACR;AAEA,uBAAAA,QAAO;AAAA,IACH;AAAA,IACA,SAAS,wBACL,cAAS,iBAAT,mBAAuB,uBACvB,OAAO;AAAA,EACf;AAEA,uBAAAA,QAAO,IAAI,YAAY,SAAS,YAAY,OAAO,QAAQ;AAE3D,uBAAAA,QAAO;AAAA,IACH;AAAA,IACA,SAAS,2BACL,cAAS,iBAAT,mBAAuB,0BACvB,OAAO;AAAA,EACf;AAEA,uBAAAA,QAAO,IAAI,cAAc;AAAA,IACrB,UACI,cAAS,eAAT,mBAAqB,aACrB,oBAAS,iBAAT,mBAAuB,eAAvB,mBAAmC,WACnC,OAAO,WAAW;AAAA;AAAA,IAEtB,SACI,MAAM,SAAQ,cAAS,eAAT,mBAAqB,OAAO,OAC1C,cAAS,eAAT,mBAAqB,YACf,cAAS,eAAT,mBAAqB,UACrB,MAAM,SAAQ,cAAS,iBAAT,mBAAuB,OAAO,OAC1C,cAAS,iBAAT,mBAAuB,YACvB,cAAS,iBAAT,mBAAuB,UACtB,OAAO,WAAW,WAAW,CAAC;AAAA,IAC3C,YACI,cAAS,eAAT,mBAAqB,eACrB,cAAS,iBAAT,mBAAuB,aACvB,OAAO,WAAW,YAClB;AAAA,IAEJ,2BACI,cAAS,eAAT,mBAAqB,8BACrB,cAAS,iBAAT,mBAAuB,4BACvB,OAAO,WAAW,2BAClB;AAAA,EACR,CAAC;AAED,uBAAAA,QAAO,IAAI,6BAA6B;AAAA,IACpC,UACI,cAAS,8BAAT,mBAAoC,aACpC,oBAAS,iBAAT,mBAAuB,8BAAvB,mBAAkD,WAClD,OAAO,0BAA0B;AAAA,IACrC,YACI,cAAS,8BAAT,mBAAoC,eACpC,cAAS,iBAAT,mBAAuB,aACvB,OAAO,0BAA0B,YACjC;AAAA,EACR,CAAC;AAED,uBAAAA,QAAO,IAAI,sBAAsB;AAAA,IAC7B,UACI,cAAS,uBAAT,mBAA6B,aAC7B,oBAAS,iBAAT,mBAAuB,uBAAvB,mBAA2C,WAC3C,OAAO,mBAAmB;AAAA,EAClC,CAAC;AAED,uBAAAA,QAAO;AAAA,IACH;AAAA,IACA,SAAS,kCACL,OAAO;AAAA,EACf;AAGA;AAAA,IACI,SAAS,qBACL,cAAS,iBAAT,mBAAuB,oBACvB,OAAO;AAAA,EACf;AAEA,MAAI,SAAS,MAAM;AACf,YAAQ,SAAS,MAAM;AAAA,MACnB,KAAK,WAAW;AACZ,6BAAAA,QAAO,IAAI,QAAQ,oCAAuB,OAAO;AACjD;AAAA,MACJ;AAAA,MACA,KAAK,WAAW;AACZ,6BAAAA,QAAO,IAAI,QAAQ,oCAAuB,OAAO;AACjD;AAAA,MACJ;AAAA,MACA,SAAS;AACL,cAAM,IAAI;AAAA,UACN;AAAA,QACJ;AAAA,MACJ;AAAA,IACJ;AAAA,EACJ;AAEA,uBAAAA,QAAO;AAAA,IACH;AAAA,IACA,SAAS,WAAS,cAAS,iBAAT,mBAAuB,UAAS,OAAO;AAAA,EAC7D;AAEA,qBAAmB,UAAU,QAAqB;AACtD;AAEA,SAAS,mBACL,UACA,UACI;AA5KR;AA6KI,QAAM,SAAS,qBAAAA,QAAO,IAAI;AAE1B,uBAAAA,QAAO;AAAA,IACH;AAAA,MACA,cAAS,iBAAT,mBAAuB,WAAU,OAAO,aAAa;AAAA,EACzD;AAEA,uBAAAA,QAAO;AAAA,IACH;AAAA,MACA,cAAS,iBAAT,mBAAuB,gBACnB,SAAS,eACT,OAAO,aAAa;AAAA,EAC5B;AAEA,uBAAAA,QAAO;AAAA,IACH;AAAA,MACA,cAAS,iBAAT,mBAAuB,WACnB,SAAS,YACT,cAAS,YAAT,mBAAkB,WAClB,OAAO,aAAa;AAAA,EAC5B;AAEA,uBAAAA,QAAO;AAAA,IACH;AAAA,MACA,cAAS,iBAAT,mBAAuB,WAAU,OAAO,aAAa;AAAA,EACzD;AAEA,MAAI,OAAO,QAAQ,oCAAuB,SAAS;AAC/C,QAAI,CAAC,OAAO,aAAa,aAAa;AAClC,YAAM,MAAM,2CAA2C;AAAA,IAC3D;AAEA,QAAI,CAAC,OAAO,aAAa,QAAQ;AAC7B,YAAM,MAAM,uCAAuC;AAAA,IACvD;AAAA,EACJ;AACJ;AAEO,IAAM,mBAAmB;AAAA,EAC5B,iBAAiB;AACrB;","names":["Config"]}
@@ -38,7 +38,7 @@ var handleClientUrlParams = (userConfig) => {
38
38
  Config.set("clientUrlParams.url", url);
39
39
  };
40
40
  var handleInitData = (initData) => {
41
- var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x;
41
+ var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _A;
42
42
  const config = Config.get();
43
43
  const stackSdk = initData.stackSdk || config.stackSdk;
44
44
  Config.set(
@@ -69,12 +69,15 @@ var handleInitData = (initData) => {
69
69
  enable: ((_r = initData.editInVisualBuilderButton) == null ? void 0 : _r.enable) ?? ((_t = (_s = stackSdk.live_preview) == null ? void 0 : _s.editInVisualBuilderButton) == null ? void 0 : _t.enable) ?? config.editInVisualBuilderButton.enable,
70
70
  position: ((_u = initData.editInVisualBuilderButton) == null ? void 0 : _u.position) ?? ((_v = stackSdk.live_preview) == null ? void 0 : _v.position) ?? config.editInVisualBuilderButton.position ?? "bottom-right"
71
71
  });
72
+ Config.set("overlayPropagation", {
73
+ enable: ((_w = initData.overlayPropagation) == null ? void 0 : _w.enable) ?? ((_y = (_x = stackSdk.live_preview) == null ? void 0 : _x.overlayPropagation) == null ? void 0 : _y.enable) ?? config.overlayPropagation.enable
74
+ });
72
75
  Config.set(
73
76
  "enableLivePreviewOutsideIframe",
74
77
  initData.enableLivePreviewOutsideIframe ?? config.enableLivePreviewOutsideIframe
75
78
  );
76
79
  handleClientUrlParams(
77
- initData.clientUrlParams ?? ((_w = stackSdk.live_preview) == null ? void 0 : _w.clientUrlParams) ?? config.clientUrlParams
80
+ initData.clientUrlParams ?? ((_z = stackSdk.live_preview) == null ? void 0 : _z.clientUrlParams) ?? config.clientUrlParams
78
81
  );
79
82
  if (initData.mode) {
80
83
  switch (initData.mode) {
@@ -95,7 +98,7 @@ var handleInitData = (initData) => {
95
98
  }
96
99
  Config.set(
97
100
  "debug",
98
- initData.debug ?? ((_x = stackSdk.live_preview) == null ? void 0 : _x.debug) ?? config.debug
101
+ initData.debug ?? ((_A = stackSdk.live_preview) == null ? void 0 : _A.debug) ?? config.debug
99
102
  );
100
103
  handleStackDetails(initData, stackSdk);
101
104
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/configManager/handleUserConfig.ts"],"sourcesContent":["import {\n type IClientUrlParams,\n type IInitData,\n ILivePreviewModeConfig,\n type IStackSdk,\n} from \"../types/types\";\nimport Config from \"./configManager\";\n\nconst handleClientUrlParams = (userConfig: Partial<IClientUrlParams>): void => {\n const config = Config.get();\n const clientUrlParams = config.clientUrlParams;\n\n Config.set(\n \"clientUrlParams.host\",\n userConfig.host ?? config.clientUrlParams.host\n );\n\n Config.set(\n \"clientUrlParams.protocol\",\n userConfig.protocol ?? clientUrlParams.protocol\n );\n Config.set(\"clientUrlParams.port\", userConfig.port ?? clientUrlParams.port);\n\n if (userConfig.protocol !== undefined && userConfig.port === undefined) {\n switch (userConfig.protocol) {\n case \"http\": {\n Config.set(\"clientUrlParams.port\", 80);\n break;\n }\n case \"https\": {\n Config.set(\"clientUrlParams.port\", 443);\n break;\n }\n }\n }\n\n let host = config.clientUrlParams.host;\n\n // build url\n if (typeof host == \"string\" && host.endsWith(\"/\")) {\n host = host.slice(0, -1);\n Config.set(\"clientUrlParams.host\", host);\n }\n\n const url = `${clientUrlParams.protocol}://${config.clientUrlParams.host}:${clientUrlParams.port}`;\n\n Config.set(\"clientUrlParams.url\", url);\n};\n\n// TODO: add documentation mentioning that you cannot pass stack sdk in the init data\n\nexport const handleInitData = (initData: Partial<IInitData>): void => {\n const config = Config.get();\n const stackSdk = initData.stackSdk || config.stackSdk;\n\n Config.set(\n \"enable\",\n initData.enable ?? stackSdk.live_preview?.enable ?? config.enable\n );\n\n Config.set(\n \"ssr\",\n stackSdk.live_preview?.ssr ??\n initData.ssr ??\n (typeof initData.stackSdk === \"object\" ? false : true) ??\n true\n );\n\n Config.set(\n \"runScriptsOnUpdate\",\n initData.runScriptsOnUpdate ??\n stackSdk.live_preview?.runScriptsOnUpdate ??\n config.runScriptsOnUpdate\n );\n\n Config.set(\"stackSdk\", initData.stackSdk ?? config.stackSdk);\n\n Config.set(\n \"cleanCslpOnProduction\",\n initData.cleanCslpOnProduction ??\n stackSdk.live_preview?.cleanCslpOnProduction ??\n config.cleanCslpOnProduction\n );\n\n Config.set(\"editButton\", {\n enable:\n initData.editButton?.enable ??\n stackSdk.live_preview?.editButton?.enable ??\n config.editButton.enable,\n // added extra check if exclude data passed by user is array or not\n exclude:\n Array.isArray(initData.editButton?.exclude) &&\n initData.editButton?.exclude\n ? initData.editButton?.exclude\n : Array.isArray(stackSdk.live_preview?.exclude) &&\n stackSdk.live_preview?.exclude\n ? stackSdk.live_preview?.exclude\n : (config.editButton.exclude ?? []),\n position:\n initData.editButton?.position ??\n stackSdk.live_preview?.position ??\n config.editButton.position ??\n \"top\",\n\n includeByQueryParameter:\n initData.editButton?.includeByQueryParameter ??\n stackSdk.live_preview?.includeByQueryParameter ??\n config.editButton.includeByQueryParameter ??\n true,\n });\n \n Config.set(\"editInVisualBuilderButton\", {\n enable:\n initData.editInVisualBuilderButton?.enable ??\n stackSdk.live_preview?.editInVisualBuilderButton?.enable ??\n config.editInVisualBuilderButton.enable,\n position: \n initData.editInVisualBuilderButton?.position ??\n stackSdk.live_preview?.position ??\n config.editInVisualBuilderButton.position ??\n \"bottom-right\",\n })\n\n Config.set(\n \"enableLivePreviewOutsideIframe\",\n initData.enableLivePreviewOutsideIframe ??\n config.enableLivePreviewOutsideIframe\n );\n\n // client URL params\n handleClientUrlParams(\n initData.clientUrlParams ??\n stackSdk.live_preview?.clientUrlParams ??\n config.clientUrlParams\n );\n\n if (initData.mode) {\n switch (initData.mode) {\n case \"preview\": {\n Config.set(\"mode\", ILivePreviewModeConfig.PREVIEW);\n break;\n }\n case \"builder\": {\n Config.set(\"mode\", ILivePreviewModeConfig.BUILDER);\n break;\n }\n default: {\n throw new TypeError(\n \"Live Preview SDK: The mode must be either 'builder' or 'preview'\"\n );\n }\n }\n }\n\n Config.set(\n \"debug\",\n initData.debug ?? stackSdk.live_preview?.debug ?? config.debug\n );\n\n handleStackDetails(initData, stackSdk as IStackSdk);\n};\n\nfunction handleStackDetails(\n initData: Partial<IInitData>,\n stackSdk: Partial<IStackSdk>\n): void {\n const config = Config.get();\n\n Config.set(\n \"stackDetails.apiKey\",\n initData.stackDetails?.apiKey ?? config.stackDetails.apiKey\n );\n\n Config.set(\n \"stackDetails.environment\",\n initData.stackDetails?.environment ??\n stackSdk.environment ??\n config.stackDetails.environment\n );\n\n Config.set(\n \"stackDetails.branch\",\n initData.stackDetails?.branch ??\n stackSdk.branch ??\n stackSdk.headers?.branch ??\n config.stackDetails.branch\n );\n\n Config.set(\n \"stackDetails.locale\",\n initData.stackDetails?.locale ?? config.stackDetails.locale\n );\n\n if (config.mode >= ILivePreviewModeConfig.BUILDER) {\n if (!config.stackDetails.environment) {\n throw Error(\"Live preview SDK: environment is required\");\n }\n\n if (!config.stackDetails.apiKey) {\n throw Error(\"Live preview SDK: api key is required\");\n }\n }\n}\n\nexport const handleUserConfig = {\n clientUrlParams: handleClientUrlParams,\n};\n"],"mappings":"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","names":[]}
1
+ {"version":3,"sources":["../../../src/configManager/handleUserConfig.ts"],"sourcesContent":["import {\n type IClientUrlParams,\n type IInitData,\n ILivePreviewModeConfig,\n type IStackSdk,\n} from \"../types/types\";\nimport Config from \"./configManager\";\n\nconst handleClientUrlParams = (userConfig: Partial<IClientUrlParams>): void => {\n const config = Config.get();\n const clientUrlParams = config.clientUrlParams;\n\n Config.set(\n \"clientUrlParams.host\",\n userConfig.host ?? config.clientUrlParams.host\n );\n\n Config.set(\n \"clientUrlParams.protocol\",\n userConfig.protocol ?? clientUrlParams.protocol\n );\n Config.set(\"clientUrlParams.port\", userConfig.port ?? clientUrlParams.port);\n\n if (userConfig.protocol !== undefined && userConfig.port === undefined) {\n switch (userConfig.protocol) {\n case \"http\": {\n Config.set(\"clientUrlParams.port\", 80);\n break;\n }\n case \"https\": {\n Config.set(\"clientUrlParams.port\", 443);\n break;\n }\n }\n }\n\n let host = config.clientUrlParams.host;\n\n // build url\n if (typeof host == \"string\" && host.endsWith(\"/\")) {\n host = host.slice(0, -1);\n Config.set(\"clientUrlParams.host\", host);\n }\n\n const url = `${clientUrlParams.protocol}://${config.clientUrlParams.host}:${clientUrlParams.port}`;\n\n Config.set(\"clientUrlParams.url\", url);\n};\n\n// TODO: add documentation mentioning that you cannot pass stack sdk in the init data\n\nexport const handleInitData = (initData: Partial<IInitData>): void => {\n const config = Config.get();\n const stackSdk = initData.stackSdk || config.stackSdk;\n\n Config.set(\n \"enable\",\n initData.enable ?? stackSdk.live_preview?.enable ?? config.enable\n );\n\n Config.set(\n \"ssr\",\n stackSdk.live_preview?.ssr ??\n initData.ssr ??\n (typeof initData.stackSdk === \"object\" ? false : true) ??\n true\n );\n\n Config.set(\n \"runScriptsOnUpdate\",\n initData.runScriptsOnUpdate ??\n stackSdk.live_preview?.runScriptsOnUpdate ??\n config.runScriptsOnUpdate\n );\n\n Config.set(\"stackSdk\", initData.stackSdk ?? config.stackSdk);\n\n Config.set(\n \"cleanCslpOnProduction\",\n initData.cleanCslpOnProduction ??\n stackSdk.live_preview?.cleanCslpOnProduction ??\n config.cleanCslpOnProduction\n );\n\n Config.set(\"editButton\", {\n enable:\n initData.editButton?.enable ??\n stackSdk.live_preview?.editButton?.enable ??\n config.editButton.enable,\n // added extra check if exclude data passed by user is array or not\n exclude:\n Array.isArray(initData.editButton?.exclude) &&\n initData.editButton?.exclude\n ? initData.editButton?.exclude\n : Array.isArray(stackSdk.live_preview?.exclude) &&\n stackSdk.live_preview?.exclude\n ? stackSdk.live_preview?.exclude\n : (config.editButton.exclude ?? []),\n position:\n initData.editButton?.position ??\n stackSdk.live_preview?.position ??\n config.editButton.position ??\n \"top\",\n\n includeByQueryParameter:\n initData.editButton?.includeByQueryParameter ??\n stackSdk.live_preview?.includeByQueryParameter ??\n config.editButton.includeByQueryParameter ??\n true,\n });\n \n Config.set(\"editInVisualBuilderButton\", {\n enable:\n initData.editInVisualBuilderButton?.enable ??\n stackSdk.live_preview?.editInVisualBuilderButton?.enable ??\n config.editInVisualBuilderButton.enable,\n position:\n initData.editInVisualBuilderButton?.position ??\n stackSdk.live_preview?.position ??\n config.editInVisualBuilderButton.position ??\n \"bottom-right\",\n })\n\n Config.set(\"overlayPropagation\", {\n enable:\n initData.overlayPropagation?.enable ??\n stackSdk.live_preview?.overlayPropagation?.enable ??\n config.overlayPropagation.enable,\n });\n\n Config.set(\n \"enableLivePreviewOutsideIframe\",\n initData.enableLivePreviewOutsideIframe ??\n config.enableLivePreviewOutsideIframe\n );\n\n // client URL params\n handleClientUrlParams(\n initData.clientUrlParams ??\n stackSdk.live_preview?.clientUrlParams ??\n config.clientUrlParams\n );\n\n if (initData.mode) {\n switch (initData.mode) {\n case \"preview\": {\n Config.set(\"mode\", ILivePreviewModeConfig.PREVIEW);\n break;\n }\n case \"builder\": {\n Config.set(\"mode\", ILivePreviewModeConfig.BUILDER);\n break;\n }\n default: {\n throw new TypeError(\n \"Live Preview SDK: The mode must be either 'builder' or 'preview'\"\n );\n }\n }\n }\n\n Config.set(\n \"debug\",\n initData.debug ?? stackSdk.live_preview?.debug ?? config.debug\n );\n\n handleStackDetails(initData, stackSdk as IStackSdk);\n};\n\nfunction handleStackDetails(\n initData: Partial<IInitData>,\n stackSdk: Partial<IStackSdk>\n): void {\n const config = Config.get();\n\n Config.set(\n \"stackDetails.apiKey\",\n initData.stackDetails?.apiKey ?? config.stackDetails.apiKey\n );\n\n Config.set(\n \"stackDetails.environment\",\n initData.stackDetails?.environment ??\n stackSdk.environment ??\n config.stackDetails.environment\n );\n\n Config.set(\n \"stackDetails.branch\",\n initData.stackDetails?.branch ??\n stackSdk.branch ??\n stackSdk.headers?.branch ??\n config.stackDetails.branch\n );\n\n Config.set(\n \"stackDetails.locale\",\n initData.stackDetails?.locale ?? config.stackDetails.locale\n );\n\n if (config.mode >= ILivePreviewModeConfig.BUILDER) {\n if (!config.stackDetails.environment) {\n throw Error(\"Live preview SDK: environment is required\");\n }\n\n if (!config.stackDetails.apiKey) {\n throw Error(\"Live preview SDK: api key is required\");\n }\n }\n}\n\nexport const handleUserConfig = {\n clientUrlParams: handleClientUrlParams,\n};\n"],"mappings":"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","names":[]}
@@ -1,4 +1,4 @@
1
- export { setConfigFromParams, updateConfigFromUrl } from './configManager.cjs';
1
+ export { setConfigFromParams, syncToStackSdk, updateConfigFromUrl } from './configManager.cjs';
2
2
  import 'deepsignal';
3
3
  import '../types/types.cjs';
4
4
  import '../visualBuilder/types/collab.types.cjs';
@@ -1,4 +1,4 @@
1
- export { setConfigFromParams, updateConfigFromUrl } from './configManager.js';
1
+ export { setConfigFromParams, syncToStackSdk, updateConfigFromUrl } from './configManager.js';
2
2
  import 'deepsignal';
3
3
  import '../types/types.js';
4
4
  import '../visualBuilder/types/collab.types.js';