@makeswift/runtime 0.14.4 → 0.15.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (393) hide show
  1. package/dist/cjs/api/react.js +3 -17
  2. package/dist/cjs/api/react.js.map +1 -1
  3. package/dist/cjs/api/resource-types.js +24 -0
  4. package/dist/cjs/api/resource-types.js.map +1 -0
  5. package/dist/cjs/components/builtin/Box/Box.js +1 -0
  6. package/dist/cjs/components/builtin/Box/Box.js.map +1 -1
  7. package/dist/cjs/components/builtin/Box/animations.js +1 -0
  8. package/dist/cjs/components/builtin/Box/animations.js.map +1 -1
  9. package/dist/cjs/components/builtin/Box/register.js +2 -3
  10. package/dist/cjs/components/builtin/Box/register.js.map +1 -1
  11. package/dist/cjs/components/builtin/Button/register.js +2 -3
  12. package/dist/cjs/components/builtin/Button/register.js.map +1 -1
  13. package/dist/cjs/components/builtin/Carousel/Carousel.js +1 -0
  14. package/dist/cjs/components/builtin/Carousel/Carousel.js.map +1 -1
  15. package/dist/cjs/components/builtin/Carousel/register.js +2 -3
  16. package/dist/cjs/components/builtin/Carousel/register.js.map +1 -1
  17. package/dist/cjs/components/builtin/Countdown/Countdown.js +1 -0
  18. package/dist/cjs/components/builtin/Countdown/Countdown.js.map +1 -1
  19. package/dist/cjs/components/builtin/Countdown/register.js +2 -3
  20. package/dist/cjs/components/builtin/Countdown/register.js.map +1 -1
  21. package/dist/cjs/components/builtin/Divider/register.js +2 -3
  22. package/dist/cjs/components/builtin/Divider/register.js.map +1 -1
  23. package/dist/cjs/components/builtin/Embed/Embed.js +1 -0
  24. package/dist/cjs/components/builtin/Embed/Embed.js.map +1 -1
  25. package/dist/cjs/components/builtin/Embed/register.js +2 -3
  26. package/dist/cjs/components/builtin/Embed/register.js.map +1 -1
  27. package/dist/cjs/components/builtin/Form/Form.js +3 -2
  28. package/dist/cjs/components/builtin/Form/Form.js.map +1 -1
  29. package/dist/cjs/components/builtin/Form/context/FormContext.js +1 -0
  30. package/dist/cjs/components/builtin/Form/context/FormContext.js.map +1 -1
  31. package/dist/cjs/components/builtin/Form/register.js +2 -3
  32. package/dist/cjs/components/builtin/Form/register.js.map +1 -1
  33. package/dist/cjs/components/builtin/Image/Image.js +1 -0
  34. package/dist/cjs/components/builtin/Image/Image.js.map +1 -1
  35. package/dist/cjs/components/builtin/Image/register.js +2 -3
  36. package/dist/cjs/components/builtin/Image/register.js.map +1 -1
  37. package/dist/cjs/components/builtin/Navigation/Navigation.js +1 -0
  38. package/dist/cjs/components/builtin/Navigation/Navigation.js.map +1 -1
  39. package/dist/cjs/components/builtin/Navigation/register.js +2 -3
  40. package/dist/cjs/components/builtin/Navigation/register.js.map +1 -1
  41. package/dist/cjs/components/builtin/Root/register.js +2 -3
  42. package/dist/cjs/components/builtin/Root/register.js.map +1 -1
  43. package/dist/cjs/components/builtin/SocialLinks/register.js +2 -3
  44. package/dist/cjs/components/builtin/SocialLinks/register.js.map +1 -1
  45. package/dist/cjs/components/builtin/Text/register.js +2 -3
  46. package/dist/cjs/components/builtin/Text/register.js.map +1 -1
  47. package/dist/cjs/components/builtin/Video/Video.js +1 -0
  48. package/dist/cjs/components/builtin/Video/Video.js.map +1 -1
  49. package/dist/cjs/components/builtin/Video/register.js +2 -3
  50. package/dist/cjs/components/builtin/Video/register.js.map +1 -1
  51. package/dist/cjs/components/hooks/usePageSnippets.js +93 -0
  52. package/dist/cjs/components/hooks/usePageSnippets.js.map +1 -0
  53. package/dist/cjs/components/hooks/useRouterLocaleSync.js +49 -0
  54. package/dist/cjs/components/hooks/useRouterLocaleSync.js.map +1 -0
  55. package/dist/cjs/components/page/BodySnippet.js +1 -1
  56. package/dist/cjs/components/page/BodySnippet.js.map +1 -1
  57. package/dist/cjs/components/page/HeadSnippet.js +134 -0
  58. package/dist/cjs/components/page/HeadSnippet.js.map +1 -0
  59. package/dist/cjs/components/page/Page.js +9 -178
  60. package/dist/cjs/components/page/Page.js.map +1 -1
  61. package/dist/cjs/components/page/PageHead.js +109 -0
  62. package/dist/cjs/components/page/PageHead.js.map +1 -0
  63. package/dist/cjs/components/shared/BackgroundsContainer/index.js +1 -0
  64. package/dist/cjs/components/shared/BackgroundsContainer/index.js.map +1 -1
  65. package/dist/cjs/components/shared/Link/index.js +5 -1
  66. package/dist/cjs/components/shared/Link/index.js.map +1 -1
  67. package/dist/cjs/index.js +0 -2
  68. package/dist/cjs/index.js.map +1 -1
  69. package/dist/cjs/next/api-handler/handlers/element-tree.js +17 -8
  70. package/dist/cjs/next/api-handler/handlers/element-tree.js.map +1 -1
  71. package/dist/cjs/next/api-handler/handlers/fonts.js +7 -2
  72. package/dist/cjs/next/api-handler/handlers/fonts.js.map +1 -1
  73. package/dist/cjs/next/api-handler/handlers/manifest.js +20 -8
  74. package/dist/cjs/next/api-handler/handlers/manifest.js.map +1 -1
  75. package/dist/cjs/next/api-handler/handlers/merge-translated-data.js +17 -6
  76. package/dist/cjs/next/api-handler/handlers/merge-translated-data.js.map +1 -1
  77. package/dist/cjs/next/api-handler/handlers/proxy-draft-mode.js +69 -0
  78. package/dist/cjs/next/api-handler/handlers/proxy-draft-mode.js.map +1 -0
  79. package/dist/cjs/next/api-handler/handlers/proxy-preview-mode.js +55 -44
  80. package/dist/cjs/next/api-handler/handlers/proxy-preview-mode.js.map +1 -1
  81. package/dist/cjs/next/api-handler/handlers/revalidate.js +27 -16
  82. package/dist/cjs/next/api-handler/handlers/revalidate.js.map +1 -1
  83. package/dist/cjs/next/api-handler/handlers/translatable-data.js +16 -5
  84. package/dist/cjs/next/api-handler/handlers/translatable-data.js.map +1 -1
  85. package/dist/cjs/next/api-handler/index.js +68 -34
  86. package/dist/cjs/next/api-handler/index.js.map +1 -1
  87. package/dist/cjs/next/client.js +3 -2
  88. package/dist/cjs/next/client.js.map +1 -1
  89. package/dist/cjs/next/components/head-tags.js +77 -0
  90. package/dist/cjs/next/components/head-tags.js.map +1 -0
  91. package/dist/cjs/next/components/page.js +56 -0
  92. package/dist/cjs/next/components/page.js.map +1 -0
  93. package/dist/cjs/next/context/makeswift-host-api-client.js +46 -0
  94. package/dist/cjs/next/context/makeswift-host-api-client.js.map +1 -0
  95. package/dist/cjs/next/context/react-runtime.js +44 -0
  96. package/dist/cjs/next/context/react-runtime.js.map +1 -0
  97. package/dist/cjs/next/draft-mode/draft-mode-script.js +123 -0
  98. package/dist/cjs/next/draft-mode/draft-mode-script.js.map +1 -0
  99. package/dist/cjs/next/draft-mode/index.js +56 -0
  100. package/dist/cjs/next/draft-mode/index.js.map +1 -0
  101. package/dist/cjs/next/hooks/use-is-pages-router.js +37 -0
  102. package/dist/cjs/next/hooks/use-is-pages-router.js.map +1 -0
  103. package/dist/cjs/next/index.js +10 -36
  104. package/dist/cjs/next/index.js.map +1 -1
  105. package/dist/cjs/next/preview-mode.js +4 -2
  106. package/dist/cjs/next/preview-mode.js.map +1 -1
  107. package/dist/cjs/next/root-style-registry.js +90 -0
  108. package/dist/cjs/next/root-style-registry.js.map +1 -0
  109. package/dist/cjs/next/server.js +8 -2
  110. package/dist/cjs/next/server.js.map +1 -1
  111. package/dist/cjs/runtimes/react/components/Element.js +1 -0
  112. package/dist/cjs/runtimes/react/components/Element.js.map +1 -1
  113. package/dist/cjs/runtimes/react/components/LiveProvider.js +6 -13
  114. package/dist/cjs/runtimes/react/components/LiveProvider.js.map +1 -1
  115. package/dist/cjs/runtimes/react/components/PreviewProvider.js +6 -8
  116. package/dist/cjs/runtimes/react/components/PreviewProvider.js.map +1 -1
  117. package/dist/cjs/runtimes/react/components/RuntimeProvider.js +3 -3
  118. package/dist/cjs/runtimes/react/components/RuntimeProvider.js.map +1 -1
  119. package/dist/cjs/runtimes/react/controls/link.js +1 -1
  120. package/dist/cjs/runtimes/react/controls/link.js.map +1 -1
  121. package/dist/cjs/runtimes/react/controls/rich-text/rich-text.js +2 -4
  122. package/dist/cjs/runtimes/react/controls/rich-text/rich-text.js.map +1 -1
  123. package/dist/cjs/runtimes/react/controls/rich-text-v2/rich-text-v2.js +4 -11
  124. package/dist/cjs/runtimes/react/controls/rich-text-v2/rich-text-v2.js.map +1 -1
  125. package/dist/cjs/runtimes/react/hooks/makeswift-api.js +11 -10
  126. package/dist/cjs/runtimes/react/hooks/makeswift-api.js.map +1 -1
  127. package/dist/cjs/runtimes/react/hooks/use-document-key.js +1 -0
  128. package/dist/cjs/runtimes/react/hooks/use-document-key.js.map +1 -1
  129. package/dist/cjs/runtimes/react/hooks/use-page-id.js +1 -0
  130. package/dist/cjs/runtimes/react/hooks/use-page-id.js.map +1 -1
  131. package/dist/cjs/runtimes/react/hooks/use-store.js +1 -0
  132. package/dist/cjs/runtimes/react/hooks/use-store.js.map +1 -1
  133. package/dist/cjs/runtimes/react/use-global-style.js +15 -10
  134. package/dist/cjs/runtimes/react/use-global-style.js.map +1 -1
  135. package/dist/cjs/runtimes/react/use-style.js +7 -6
  136. package/dist/cjs/runtimes/react/use-style.js.map +1 -1
  137. package/dist/cjs/state/actions.js +0 -25
  138. package/dist/cjs/state/actions.js.map +1 -1
  139. package/dist/cjs/state/react-builder-preview.js +1 -24
  140. package/dist/cjs/state/react-builder-preview.js.map +1 -1
  141. package/dist/esm/api/react.js +2 -14
  142. package/dist/esm/api/react.js.map +1 -1
  143. package/dist/esm/api/resource-types.js +8 -0
  144. package/dist/esm/api/resource-types.js.map +1 -0
  145. package/dist/esm/components/builtin/Box/Box.js +1 -0
  146. package/dist/esm/components/builtin/Box/Box.js.map +1 -1
  147. package/dist/esm/components/builtin/Box/animations.js +1 -0
  148. package/dist/esm/components/builtin/Box/animations.js.map +1 -1
  149. package/dist/esm/components/builtin/Box/register.js +2 -3
  150. package/dist/esm/components/builtin/Box/register.js.map +1 -1
  151. package/dist/esm/components/builtin/Button/register.js +2 -3
  152. package/dist/esm/components/builtin/Button/register.js.map +1 -1
  153. package/dist/esm/components/builtin/Carousel/Carousel.js +1 -0
  154. package/dist/esm/components/builtin/Carousel/Carousel.js.map +1 -1
  155. package/dist/esm/components/builtin/Carousel/register.js +2 -3
  156. package/dist/esm/components/builtin/Carousel/register.js.map +1 -1
  157. package/dist/esm/components/builtin/Countdown/Countdown.js +1 -0
  158. package/dist/esm/components/builtin/Countdown/Countdown.js.map +1 -1
  159. package/dist/esm/components/builtin/Countdown/register.js +2 -3
  160. package/dist/esm/components/builtin/Countdown/register.js.map +1 -1
  161. package/dist/esm/components/builtin/Divider/register.js +2 -3
  162. package/dist/esm/components/builtin/Divider/register.js.map +1 -1
  163. package/dist/esm/components/builtin/Embed/Embed.js +1 -0
  164. package/dist/esm/components/builtin/Embed/Embed.js.map +1 -1
  165. package/dist/esm/components/builtin/Embed/register.js +2 -3
  166. package/dist/esm/components/builtin/Embed/register.js.map +1 -1
  167. package/dist/esm/components/builtin/Form/Form.js +3 -2
  168. package/dist/esm/components/builtin/Form/Form.js.map +1 -1
  169. package/dist/esm/components/builtin/Form/context/FormContext.js +1 -0
  170. package/dist/esm/components/builtin/Form/context/FormContext.js.map +1 -1
  171. package/dist/esm/components/builtin/Form/register.js +2 -3
  172. package/dist/esm/components/builtin/Form/register.js.map +1 -1
  173. package/dist/esm/components/builtin/Image/Image.js +1 -0
  174. package/dist/esm/components/builtin/Image/Image.js.map +1 -1
  175. package/dist/esm/components/builtin/Image/register.js +2 -3
  176. package/dist/esm/components/builtin/Image/register.js.map +1 -1
  177. package/dist/esm/components/builtin/Navigation/Navigation.js +1 -0
  178. package/dist/esm/components/builtin/Navigation/Navigation.js.map +1 -1
  179. package/dist/esm/components/builtin/Navigation/register.js +2 -3
  180. package/dist/esm/components/builtin/Navigation/register.js.map +1 -1
  181. package/dist/esm/components/builtin/Root/register.js +2 -3
  182. package/dist/esm/components/builtin/Root/register.js.map +1 -1
  183. package/dist/esm/components/builtin/SocialLinks/register.js +2 -3
  184. package/dist/esm/components/builtin/SocialLinks/register.js.map +1 -1
  185. package/dist/esm/components/builtin/Text/register.js +2 -3
  186. package/dist/esm/components/builtin/Text/register.js.map +1 -1
  187. package/dist/esm/components/builtin/Video/Video.js +1 -0
  188. package/dist/esm/components/builtin/Video/Video.js.map +1 -1
  189. package/dist/esm/components/builtin/Video/register.js +2 -3
  190. package/dist/esm/components/builtin/Video/register.js.map +1 -1
  191. package/dist/esm/components/hooks/usePageSnippets.js +59 -0
  192. package/dist/esm/components/hooks/usePageSnippets.js.map +1 -0
  193. package/dist/esm/components/hooks/useRouterLocaleSync.js +25 -0
  194. package/dist/esm/components/hooks/useRouterLocaleSync.js.map +1 -0
  195. package/dist/esm/components/page/BodySnippet.js +1 -1
  196. package/dist/esm/components/page/BodySnippet.js.map +1 -1
  197. package/dist/esm/components/page/HeadSnippet.js +100 -0
  198. package/dist/esm/components/page/HeadSnippet.js.map +1 -0
  199. package/dist/esm/components/page/Page.js +7 -166
  200. package/dist/esm/components/page/Page.js.map +1 -1
  201. package/dist/esm/components/page/PageHead.js +85 -0
  202. package/dist/esm/components/page/PageHead.js.map +1 -0
  203. package/dist/esm/components/shared/BackgroundsContainer/index.js +1 -0
  204. package/dist/esm/components/shared/BackgroundsContainer/index.js.map +1 -1
  205. package/dist/esm/components/shared/Link/index.js +5 -1
  206. package/dist/esm/components/shared/Link/index.js.map +1 -1
  207. package/dist/esm/index.js +0 -2
  208. package/dist/esm/index.js.map +1 -1
  209. package/dist/esm/next/api-handler/handlers/element-tree.js +17 -8
  210. package/dist/esm/next/api-handler/handlers/element-tree.js.map +1 -1
  211. package/dist/esm/next/api-handler/handlers/fonts.js +7 -2
  212. package/dist/esm/next/api-handler/handlers/fonts.js.map +1 -1
  213. package/dist/esm/next/api-handler/handlers/manifest.js +20 -8
  214. package/dist/esm/next/api-handler/handlers/manifest.js.map +1 -1
  215. package/dist/esm/next/api-handler/handlers/merge-translated-data.js +17 -6
  216. package/dist/esm/next/api-handler/handlers/merge-translated-data.js.map +1 -1
  217. package/dist/esm/next/api-handler/handlers/proxy-draft-mode.js +49 -0
  218. package/dist/esm/next/api-handler/handlers/proxy-draft-mode.js.map +1 -0
  219. package/dist/esm/next/api-handler/handlers/proxy-preview-mode.js +55 -44
  220. package/dist/esm/next/api-handler/handlers/proxy-preview-mode.js.map +1 -1
  221. package/dist/esm/next/api-handler/handlers/revalidate.js +27 -16
  222. package/dist/esm/next/api-handler/handlers/revalidate.js.map +1 -1
  223. package/dist/esm/next/api-handler/handlers/translatable-data.js +16 -5
  224. package/dist/esm/next/api-handler/handlers/translatable-data.js.map +1 -1
  225. package/dist/esm/next/api-handler/index.js +68 -34
  226. package/dist/esm/next/api-handler/index.js.map +1 -1
  227. package/dist/esm/next/client.js +3 -2
  228. package/dist/esm/next/client.js.map +1 -1
  229. package/dist/esm/next/components/head-tags.js +40 -0
  230. package/dist/esm/next/components/head-tags.js.map +1 -0
  231. package/dist/esm/next/components/page.js +32 -0
  232. package/dist/esm/next/components/page.js.map +1 -0
  233. package/dist/esm/next/context/makeswift-host-api-client.js +21 -0
  234. package/dist/esm/next/context/makeswift-host-api-client.js.map +1 -0
  235. package/dist/esm/next/context/react-runtime.js +19 -0
  236. package/dist/esm/next/context/react-runtime.js.map +1 -0
  237. package/dist/esm/next/draft-mode/draft-mode-script.js +99 -0
  238. package/dist/esm/next/draft-mode/draft-mode-script.js.map +1 -0
  239. package/dist/esm/next/draft-mode/index.js +30 -0
  240. package/dist/esm/next/draft-mode/index.js.map +1 -0
  241. package/dist/esm/next/hooks/use-is-pages-router.js +13 -0
  242. package/dist/esm/next/hooks/use-is-pages-router.js.map +1 -0
  243. package/dist/esm/next/index.js +5 -32
  244. package/dist/esm/next/index.js.map +1 -1
  245. package/dist/esm/next/preview-mode.js +2 -1
  246. package/dist/esm/next/preview-mode.js.map +1 -1
  247. package/dist/esm/next/root-style-registry.js +55 -0
  248. package/dist/esm/next/root-style-registry.js.map +1 -0
  249. package/dist/esm/next/server.js +5 -1
  250. package/dist/esm/next/server.js.map +1 -1
  251. package/dist/esm/runtimes/react/components/Element.js +1 -0
  252. package/dist/esm/runtimes/react/components/Element.js.map +1 -1
  253. package/dist/esm/runtimes/react/components/LiveProvider.js +6 -13
  254. package/dist/esm/runtimes/react/components/LiveProvider.js.map +1 -1
  255. package/dist/esm/runtimes/react/components/PreviewProvider.js +6 -8
  256. package/dist/esm/runtimes/react/components/PreviewProvider.js.map +1 -1
  257. package/dist/esm/runtimes/react/components/RuntimeProvider.js +3 -3
  258. package/dist/esm/runtimes/react/components/RuntimeProvider.js.map +1 -1
  259. package/dist/esm/runtimes/react/controls/link.js +1 -1
  260. package/dist/esm/runtimes/react/controls/link.js.map +1 -1
  261. package/dist/esm/runtimes/react/controls/rich-text/rich-text.js +3 -5
  262. package/dist/esm/runtimes/react/controls/rich-text/rich-text.js.map +1 -1
  263. package/dist/esm/runtimes/react/controls/rich-text-v2/rich-text-v2.js +4 -11
  264. package/dist/esm/runtimes/react/controls/rich-text-v2/rich-text-v2.js.map +1 -1
  265. package/dist/esm/runtimes/react/hooks/makeswift-api.js +11 -10
  266. package/dist/esm/runtimes/react/hooks/makeswift-api.js.map +1 -1
  267. package/dist/esm/runtimes/react/hooks/use-document-key.js +1 -0
  268. package/dist/esm/runtimes/react/hooks/use-document-key.js.map +1 -1
  269. package/dist/esm/runtimes/react/hooks/use-page-id.js +1 -0
  270. package/dist/esm/runtimes/react/hooks/use-page-id.js.map +1 -1
  271. package/dist/esm/runtimes/react/hooks/use-store.js +1 -0
  272. package/dist/esm/runtimes/react/hooks/use-store.js.map +1 -1
  273. package/dist/esm/runtimes/react/use-global-style.js +8 -3
  274. package/dist/esm/runtimes/react/use-global-style.js.map +1 -1
  275. package/dist/esm/runtimes/react/use-style.js +2 -1
  276. package/dist/esm/runtimes/react/use-style.js.map +1 -1
  277. package/dist/esm/state/actions.js +0 -22
  278. package/dist/esm/state/actions.js.map +1 -1
  279. package/dist/esm/state/react-builder-preview.js +2 -28
  280. package/dist/esm/state/react-builder-preview.js.map +1 -1
  281. package/dist/types/api/react.d.ts +1 -9
  282. package/dist/types/api/react.d.ts.map +1 -1
  283. package/dist/types/api/resource-types.d.ts +20 -0
  284. package/dist/types/api/resource-types.d.ts.map +1 -0
  285. package/dist/types/components/builtin/Box/Box.d.ts.map +1 -1
  286. package/dist/types/components/builtin/Box/animations.d.ts.map +1 -1
  287. package/dist/types/components/builtin/Box/register.d.ts.map +1 -1
  288. package/dist/types/components/builtin/Button/register.d.ts.map +1 -1
  289. package/dist/types/components/builtin/Carousel/Carousel.d.ts.map +1 -1
  290. package/dist/types/components/builtin/Carousel/register.d.ts.map +1 -1
  291. package/dist/types/components/builtin/Countdown/Countdown.d.ts.map +1 -1
  292. package/dist/types/components/builtin/Countdown/register.d.ts.map +1 -1
  293. package/dist/types/components/builtin/Divider/register.d.ts.map +1 -1
  294. package/dist/types/components/builtin/Embed/Embed.d.ts.map +1 -1
  295. package/dist/types/components/builtin/Embed/register.d.ts.map +1 -1
  296. package/dist/types/components/builtin/Form/Form.d.ts.map +1 -1
  297. package/dist/types/components/builtin/Form/components/Field/components/Checkbox/index.d.ts +1 -1
  298. package/dist/types/components/builtin/Form/context/FormContext.d.ts.map +1 -1
  299. package/dist/types/components/builtin/Form/register.d.ts.map +1 -1
  300. package/dist/types/components/builtin/Image/Image.d.ts.map +1 -1
  301. package/dist/types/components/builtin/Image/register.d.ts.map +1 -1
  302. package/dist/types/components/builtin/Navigation/Navigation.d.ts.map +1 -1
  303. package/dist/types/components/builtin/Navigation/register.d.ts.map +1 -1
  304. package/dist/types/components/builtin/Root/register.d.ts.map +1 -1
  305. package/dist/types/components/builtin/SocialLinks/register.d.ts.map +1 -1
  306. package/dist/types/components/builtin/Text/register.d.ts.map +1 -1
  307. package/dist/types/components/builtin/Video/Video.d.ts.map +1 -1
  308. package/dist/types/components/builtin/Video/register.d.ts.map +1 -1
  309. package/dist/types/components/hooks/usePageSnippets.d.ts +36 -0
  310. package/dist/types/components/hooks/usePageSnippets.d.ts.map +1 -0
  311. package/dist/types/components/hooks/useRouterLocaleSync.d.ts +2 -0
  312. package/dist/types/components/hooks/useRouterLocaleSync.d.ts.map +1 -0
  313. package/dist/types/components/page/BodySnippet.d.ts.map +1 -1
  314. package/dist/types/components/page/HeadSnippet.d.ts +7 -0
  315. package/dist/types/components/page/HeadSnippet.d.ts.map +1 -0
  316. package/dist/types/components/page/Page.d.ts.map +1 -1
  317. package/dist/types/components/page/PageHead.d.ts +8 -0
  318. package/dist/types/components/page/PageHead.d.ts.map +1 -0
  319. package/dist/types/components/shared/BackgroundsContainer/index.d.ts.map +1 -1
  320. package/dist/types/components/shared/Link/index.d.ts.map +1 -1
  321. package/dist/types/index.d.ts +1 -1
  322. package/dist/types/index.d.ts.map +1 -1
  323. package/dist/types/next/api-handler/handlers/element-tree.d.ts +9 -1
  324. package/dist/types/next/api-handler/handlers/element-tree.d.ts.map +1 -1
  325. package/dist/types/next/api-handler/handlers/fonts.d.ts +10 -1
  326. package/dist/types/next/api-handler/handlers/fonts.d.ts.map +1 -1
  327. package/dist/types/next/api-handler/handlers/manifest.d.ts +9 -0
  328. package/dist/types/next/api-handler/handlers/manifest.d.ts.map +1 -1
  329. package/dist/types/next/api-handler/handlers/merge-translated-data.d.ts +7 -0
  330. package/dist/types/next/api-handler/handlers/merge-translated-data.d.ts.map +1 -1
  331. package/dist/types/next/api-handler/handlers/proxy-draft-mode.d.ts +20 -0
  332. package/dist/types/next/api-handler/handlers/proxy-draft-mode.d.ts.map +1 -0
  333. package/dist/types/next/api-handler/handlers/proxy-preview-mode.d.ts +14 -2
  334. package/dist/types/next/api-handler/handlers/proxy-preview-mode.d.ts.map +1 -1
  335. package/dist/types/next/api-handler/handlers/revalidate.d.ts +9 -0
  336. package/dist/types/next/api-handler/handlers/revalidate.d.ts.map +1 -1
  337. package/dist/types/next/api-handler/handlers/translatable-data.d.ts +7 -0
  338. package/dist/types/next/api-handler/handlers/translatable-data.d.ts.map +1 -1
  339. package/dist/types/next/api-handler/index.d.ts +11 -3
  340. package/dist/types/next/api-handler/index.d.ts.map +1 -1
  341. package/dist/types/next/client.d.ts.map +1 -1
  342. package/dist/types/next/components/head-tags.d.ts +19 -0
  343. package/dist/types/next/components/head-tags.d.ts.map +1 -0
  344. package/dist/types/next/components/page.d.ts +7 -0
  345. package/dist/types/next/components/page.d.ts.map +1 -0
  346. package/dist/types/next/context/makeswift-host-api-client.d.ts +8 -0
  347. package/dist/types/next/context/makeswift-host-api-client.d.ts.map +1 -0
  348. package/dist/types/next/context/react-runtime.d.ts +8 -0
  349. package/dist/types/next/context/react-runtime.d.ts.map +1 -0
  350. package/dist/types/next/draft-mode/draft-mode-script.d.ts +6 -0
  351. package/dist/types/next/draft-mode/draft-mode-script.d.ts.map +1 -0
  352. package/dist/types/next/draft-mode/index.d.ts +15 -0
  353. package/dist/types/next/draft-mode/index.d.ts.map +1 -0
  354. package/dist/types/next/hooks/use-is-pages-router.d.ts +2 -0
  355. package/dist/types/next/hooks/use-is-pages-router.d.ts.map +1 -0
  356. package/dist/types/next/index.d.ts +4 -9
  357. package/dist/types/next/index.d.ts.map +1 -1
  358. package/dist/types/next/preview-mode.d.ts +1 -1
  359. package/dist/types/next/preview-mode.d.ts.map +1 -1
  360. package/dist/types/next/root-style-registry.d.ts +7 -0
  361. package/dist/types/next/root-style-registry.d.ts.map +1 -0
  362. package/dist/types/next/server.d.ts +2 -0
  363. package/dist/types/next/server.d.ts.map +1 -1
  364. package/dist/types/runtimes/react/components/Element.d.ts.map +1 -1
  365. package/dist/types/runtimes/react/components/LiveProvider.d.ts +3 -5
  366. package/dist/types/runtimes/react/components/LiveProvider.d.ts.map +1 -1
  367. package/dist/types/runtimes/react/components/PreviewProvider.d.ts +3 -5
  368. package/dist/types/runtimes/react/components/PreviewProvider.d.ts.map +1 -1
  369. package/dist/types/runtimes/react/components/RuntimeProvider.d.ts +2 -2
  370. package/dist/types/runtimes/react/components/RuntimeProvider.d.ts.map +1 -1
  371. package/dist/types/runtimes/react/controls/link.d.ts.map +1 -1
  372. package/dist/types/runtimes/react/controls/rich-text/rich-text.d.ts.map +1 -1
  373. package/dist/types/runtimes/react/controls/rich-text-v2/rich-text-v2.d.ts.map +1 -1
  374. package/dist/types/runtimes/react/hooks/makeswift-api.d.ts +2 -1
  375. package/dist/types/runtimes/react/hooks/makeswift-api.d.ts.map +1 -1
  376. package/dist/types/runtimes/react/hooks/use-document-key.d.ts.map +1 -1
  377. package/dist/types/runtimes/react/hooks/use-page-id.d.ts.map +1 -1
  378. package/dist/types/runtimes/react/hooks/use-store.d.ts.map +1 -1
  379. package/dist/types/runtimes/react/use-global-style.d.ts.map +1 -1
  380. package/dist/types/runtimes/react/use-style.d.ts.map +1 -1
  381. package/dist/types/state/actions.d.ts +1 -19
  382. package/dist/types/state/actions.d.ts.map +1 -1
  383. package/dist/types/state/react-builder-preview.d.ts +3 -3
  384. package/dist/types/state/react-builder-preview.d.ts.map +1 -1
  385. package/next/plugin/package.json +1 -0
  386. package/package.json +6 -10
  387. package/slate/package.json +1 -1
  388. package/dist/cjs/next/dynamic.js +0 -52
  389. package/dist/cjs/next/dynamic.js.map +0 -1
  390. package/dist/esm/next/dynamic.js +0 -31
  391. package/dist/esm/next/dynamic.js.map +0 -1
  392. package/dist/types/next/dynamic.d.ts +0 -13
  393. package/dist/types/next/dynamic.d.ts.map +0 -1
@@ -0,0 +1,99 @@
1
+ import { Fragment, jsx, jsxs } from "react/jsx-runtime";
2
+ import { draftMode } from "next/headers";
3
+ import { ActionTypes } from "../../react";
4
+ function DraftModeScript({ appOrigin = "https://app.makeswift.com" }) {
5
+ const { isEnabled: isDraftModeEnabled } = draftMode();
6
+ const draftModeScript = `
7
+ const isDraft = ${isDraftModeEnabled}
8
+ const appOrigin = '${appOrigin.replace("'", "\\'")}'
9
+ const searchParamName = 'x-makeswift-draft-mode'
10
+ const headerName = 'X-Makeswift-Draft-Mode'
11
+ const originalUrl = new URL(window.location.href)
12
+
13
+ if (window.parent !== window) {
14
+ window.addEventListener('message', event => {
15
+ if (event.origin === appOrigin && event.data.type === 'makeswift_draft_mode') {
16
+ const { secret } = event.data
17
+
18
+ if (!isDraft && !originalUrl.searchParams.has(searchParamName)) {
19
+ const url = new URL(originalUrl)
20
+
21
+ url.searchParams.set(searchParamName, secret)
22
+
23
+ window.location.replace(url)
24
+ } else {
25
+ const originalFetch = window.fetch
26
+
27
+ window.fetch = function patchedFetch(resource, options) {
28
+ const request = new Request(resource, options)
29
+
30
+ if (new URL(request.url).origin !== window.location.origin) {
31
+ return originalFetch.call(this, resource, options)
32
+ }
33
+
34
+ return originalFetch.call(
35
+ this,
36
+ new Request(request, { headers: { [headerName]: secret } }),
37
+ )
38
+ }
39
+ }
40
+ }
41
+ })
42
+
43
+ window.parent.postMessage({ type: 'makeswift_draft_mode' }, appOrigin)
44
+ }
45
+
46
+ if (originalUrl.searchParams.has(searchParamName)) {
47
+ const url = new URL(originalUrl)
48
+
49
+ url.searchParams.delete(searchParamName)
50
+
51
+ window.history.replaceState(null, '', url)
52
+ }
53
+ `;
54
+ const makeswiftConnectionCheckScript = `
55
+ const appOrigin = '${appOrigin.replace("'", "\\'")}'
56
+
57
+ if (window.parent !== window) {
58
+ window.addEventListener('message', event => {
59
+ if (
60
+ event.origin === appOrigin &&
61
+ event.data.type === '${ActionTypes.MAKESWIFT_CONNECTION_INIT}'
62
+ ) {
63
+ setInterval(() => {
64
+ window.parent.postMessage({
65
+ type: '${ActionTypes.MAKESWIFT_CONNECTION_CHECK}',
66
+ payload: {
67
+ currentUrl: window.location.href
68
+ }
69
+ }, appOrigin)
70
+ }, 20)
71
+ }
72
+ })
73
+
74
+ window.parent.postMessage({ type: '${ActionTypes.MAKESWIFT_CONNECTION_INIT}' }, appOrigin)
75
+ }
76
+ `;
77
+ return /* @__PURE__ */ jsxs(Fragment, { children: [
78
+ /* @__PURE__ */ jsx(
79
+ "script",
80
+ {
81
+ id: "makeswift-draft-mode",
82
+ type: "module",
83
+ dangerouslySetInnerHTML: { __html: draftModeScript }
84
+ }
85
+ ),
86
+ /* @__PURE__ */ jsx(
87
+ "script",
88
+ {
89
+ id: "makeswift-connection-check",
90
+ type: "module",
91
+ dangerouslySetInnerHTML: { __html: makeswiftConnectionCheckScript }
92
+ }
93
+ )
94
+ ] });
95
+ }
96
+ export {
97
+ DraftModeScript
98
+ };
99
+ //# sourceMappingURL=draft-mode-script.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/next/draft-mode/draft-mode-script.tsx"],"sourcesContent":["import { draftMode } from 'next/headers'\nimport { ActionTypes } from '../../react'\n\ntype Props = {\n appOrigin?: string\n}\n\nexport function DraftModeScript({ appOrigin = 'https://app.makeswift.com' }: Props) {\n const { isEnabled: isDraftModeEnabled } = draftMode()\n const draftModeScript = `\nconst isDraft = ${isDraftModeEnabled}\nconst appOrigin = '${appOrigin.replace(\"'\", \"\\\\'\")}'\nconst searchParamName = 'x-makeswift-draft-mode'\nconst headerName = 'X-Makeswift-Draft-Mode'\nconst originalUrl = new URL(window.location.href)\n\nif (window.parent !== window) {\n window.addEventListener('message', event => {\n if (event.origin === appOrigin && event.data.type === 'makeswift_draft_mode') {\n const { secret } = event.data\n\n if (!isDraft && !originalUrl.searchParams.has(searchParamName)) {\n const url = new URL(originalUrl)\n\n url.searchParams.set(searchParamName, secret)\n\n window.location.replace(url)\n } else {\n const originalFetch = window.fetch\n\n window.fetch = function patchedFetch(resource, options) {\n const request = new Request(resource, options)\n\n if (new URL(request.url).origin !== window.location.origin) {\n return originalFetch.call(this, resource, options)\n }\n\n return originalFetch.call(\n this,\n new Request(request, { headers: { [headerName]: secret } }),\n )\n }\n }\n }\n })\n\n window.parent.postMessage({ type: 'makeswift_draft_mode' }, appOrigin)\n}\n\nif (originalUrl.searchParams.has(searchParamName)) {\n const url = new URL(originalUrl)\n\n url.searchParams.delete(searchParamName)\n\n window.history.replaceState(null, '', url)\n}\n`\n\n const makeswiftConnectionCheckScript = `\nconst appOrigin = '${appOrigin.replace(\"'\", \"\\\\'\")}'\n\nif (window.parent !== window) {\n window.addEventListener('message', event => {\n if (\n event.origin === appOrigin && \n event.data.type === '${ActionTypes.MAKESWIFT_CONNECTION_INIT}'\n ) {\n setInterval(() => {\n window.parent.postMessage({ \n type: '${ActionTypes.MAKESWIFT_CONNECTION_CHECK}',\n payload: { \n currentUrl: window.location.href \n }\n }, appOrigin)\n }, 20)\n }\n })\n\n window.parent.postMessage({ type: '${ActionTypes.MAKESWIFT_CONNECTION_INIT}' }, appOrigin)\n}\n`\n\n return (\n <>\n <script\n id=\"makeswift-draft-mode\"\n type=\"module\"\n dangerouslySetInnerHTML={{ __html: draftModeScript }}\n />\n <script\n id=\"makeswift-connection-check\"\n type=\"module\"\n dangerouslySetInnerHTML={{ __html: makeswiftConnectionCheckScript }}\n />\n </>\n )\n}\n"],"mappings":"AAmFI,mBACE,KADF;AAnFJ,SAAS,iBAAiB;AAC1B,SAAS,mBAAmB;AAMrB,SAAS,gBAAgB,EAAE,YAAY,4BAA4B,GAAU;AAClF,QAAM,EAAE,WAAW,mBAAmB,IAAI,UAAU;AACpD,QAAM,kBAAkB;AAAA,kBACR,kBAAkB;AAAA,qBACf,UAAU,QAAQ,KAAK,KAAK,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AA+ChD,QAAM,iCAAiC;AAAA,qBACpB,UAAU,QAAQ,KAAK,KAAK,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,6BAMrB,YAAY,yBAAyB;AAAA;AAAA;AAAA;AAAA,mBAI/C,YAAY,0BAA0B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uCASlB,YAAY,yBAAyB;AAAA;AAAA;AAI1E,SACE,iCACE;AAAA;AAAA,MAAC;AAAA;AAAA,QACC,IAAG;AAAA,QACH,MAAK;AAAA,QACL,yBAAyB,EAAE,QAAQ,gBAAgB;AAAA;AAAA,IACrD;AAAA,IACA;AAAA,MAAC;AAAA;AAAA,QACC,IAAG;AAAA,QACH,MAAK;AAAA,QACL,yBAAyB,EAAE,QAAQ,+BAA+B;AAAA;AAAA,IACpE;AAAA,KACF;AAEJ;","names":[]}
@@ -0,0 +1,30 @@
1
+ import { z } from "zod";
2
+ import { cookies, draftMode } from "next/headers";
3
+ import { makeswiftSiteVersionSchema, MakeswiftSiteVersion } from "../preview-mode";
4
+ const MAKESWIFT_DRAFT_MODE_DATA_COOKIE = "x-makeswift-draft-data";
5
+ const makeswiftDraftDataSchema = z.object({
6
+ makeswift: z.literal(true),
7
+ siteVersion: makeswiftSiteVersionSchema
8
+ });
9
+ function getDraftData() {
10
+ const { isEnabled: isDraftModeEnabled } = draftMode();
11
+ if (!isDraftModeEnabled)
12
+ return null;
13
+ const cookie = cookies().get(MAKESWIFT_DRAFT_MODE_DATA_COOKIE);
14
+ if (cookie == null)
15
+ return null;
16
+ const draftData = JSON.parse(cookie.value);
17
+ const result = makeswiftDraftDataSchema.safeParse(draftData);
18
+ if (result.success)
19
+ return result.data;
20
+ return null;
21
+ }
22
+ function getSiteVersion() {
23
+ return getDraftData()?.siteVersion ?? MakeswiftSiteVersion.Live;
24
+ }
25
+ export {
26
+ MAKESWIFT_DRAFT_MODE_DATA_COOKIE,
27
+ getSiteVersion,
28
+ makeswiftDraftDataSchema
29
+ };
30
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/next/draft-mode/index.tsx"],"sourcesContent":["import { z } from 'zod'\nimport { cookies, draftMode } from 'next/headers'\nimport { makeswiftSiteVersionSchema, MakeswiftSiteVersion } from '../preview-mode'\n\nexport const MAKESWIFT_DRAFT_MODE_DATA_COOKIE = 'x-makeswift-draft-data'\n\nexport const makeswiftDraftDataSchema = z.object({\n makeswift: z.literal(true),\n siteVersion: makeswiftSiteVersionSchema,\n})\n\nexport type MakeswiftDraftData = z.infer<typeof makeswiftDraftDataSchema>\n\nfunction getDraftData(): MakeswiftDraftData | null {\n const { isEnabled: isDraftModeEnabled } = draftMode()\n if (!isDraftModeEnabled) return null\n\n const cookie = cookies().get(MAKESWIFT_DRAFT_MODE_DATA_COOKIE)\n if (cookie == null) return null\n\n const draftData = JSON.parse(cookie.value)\n const result = makeswiftDraftDataSchema.safeParse(draftData)\n\n if (result.success) return result.data\n return null\n}\n\nexport function getSiteVersion() {\n return getDraftData()?.siteVersion ?? MakeswiftSiteVersion.Live\n}\n"],"mappings":"AAAA,SAAS,SAAS;AAClB,SAAS,SAAS,iBAAiB;AACnC,SAAS,4BAA4B,4BAA4B;AAE1D,MAAM,mCAAmC;AAEzC,MAAM,2BAA2B,EAAE,OAAO;AAAA,EAC/C,WAAW,EAAE,QAAQ,IAAI;AAAA,EACzB,aAAa;AACf,CAAC;AAID,SAAS,eAA0C;AACjD,QAAM,EAAE,WAAW,mBAAmB,IAAI,UAAU;AACpD,MAAI,CAAC;AAAoB,WAAO;AAEhC,QAAM,SAAS,QAAQ,EAAE,IAAI,gCAAgC;AAC7D,MAAI,UAAU;AAAM,WAAO;AAE3B,QAAM,YAAY,KAAK,MAAM,OAAO,KAAK;AACzC,QAAM,SAAS,yBAAyB,UAAU,SAAS;AAE3D,MAAI,OAAO;AAAS,WAAO,OAAO;AAClC,SAAO;AACT;AAEO,SAAS,iBAAiB;AAC/B,SAAO,aAAa,GAAG,eAAe,qBAAqB;AAC7D;","names":[]}
@@ -0,0 +1,13 @@
1
+ import { useRouter } from "next/router";
2
+ function useIsPagesRouter() {
3
+ try {
4
+ useRouter();
5
+ return true;
6
+ } catch (error) {
7
+ return false;
8
+ }
9
+ }
10
+ export {
11
+ useIsPagesRouter
12
+ };
13
+ //# sourceMappingURL=use-is-pages-router.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/next/hooks/use-is-pages-router.ts"],"sourcesContent":["import { useRouter } from 'next/router'\n\nexport function useIsPagesRouter() {\n try {\n useRouter()\n return true\n } catch (error) {\n return false\n }\n}\n"],"mappings":"AAAA,SAAS,iBAAiB;AAEnB,SAAS,mBAAmB;AACjC,MAAI;AACF,cAAU;AACV,WAAO;AAAA,EACT,SAAS,OAAO;AACd,WAAO;AAAA,EACT;AACF;","names":[]}
@@ -1,42 +1,15 @@
1
- import { jsx } from "react/jsx-runtime";
2
- import { memo, useMemo } from "react";
3
- import { RuntimeProvider } from "../runtimes/react";
4
- import { Page as PageMeta } from "../components/page";
5
- import { MakeswiftClient } from "../api/react";
6
- const Page = memo(({ snapshot, runtime }) => {
7
- const client = useMemo(
8
- () => new MakeswiftClient({
9
- uri: new URL("graphql", snapshot.apiOrigin).href,
10
- cacheData: snapshot.cacheData,
11
- localizedResourcesMap: snapshot.localizedResourcesMap,
12
- locale: snapshot.locale ? new Intl.Locale(snapshot.locale) : void 0
13
- }),
14
- [snapshot]
15
- );
16
- const rootElements = /* @__PURE__ */ new Map([[snapshot.document.id, snapshot.document.data]]);
17
- snapshot.document.localizedPages.forEach((localizedPage) => {
18
- rootElements.set(localizedPage.elementTreeId, localizedPage.data);
19
- });
20
- return /* @__PURE__ */ jsx(
21
- RuntimeProvider,
22
- {
23
- client,
24
- rootElements,
25
- preview: snapshot.preview,
26
- runtime,
27
- children: /* @__PURE__ */ jsx(PageMeta, { document: snapshot.document }, snapshot.document.data.key)
28
- }
29
- );
30
- });
1
+ import { Page } from "./components/page";
31
2
  import { Makeswift } from "./client";
32
3
  import { PreviewModeScript } from "./preview-mode";
33
4
  import { Document } from "./document";
34
- import { forwardNextDynamicRef } from "./dynamic";
5
+ import { RootStyleRegistry } from "./root-style-registry";
6
+ import { ReactRuntimeProvider } from "./context/react-runtime";
35
7
  export {
36
8
  Document,
37
9
  Makeswift,
38
10
  Page,
39
11
  PreviewModeScript,
40
- forwardNextDynamicRef
12
+ ReactRuntimeProvider,
13
+ RootStyleRegistry
41
14
  };
42
15
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/next/index.tsx"],"sourcesContent":["import { memo, useMemo } from 'react'\n\nimport { RuntimeProvider, ReactRuntime } from '../runtimes/react'\nimport { Page as PageMeta } from '../components/page'\nimport { MakeswiftClient } from '../api/react'\nimport { MakeswiftPageSnapshot } from './client'\n\nexport type PageProps = {\n snapshot: MakeswiftPageSnapshot\n runtime?: ReactRuntime\n}\n\nexport const Page = memo(({ snapshot, runtime }: PageProps) => {\n const client = useMemo(\n () =>\n new MakeswiftClient({\n uri: new URL('graphql', snapshot.apiOrigin).href,\n cacheData: snapshot.cacheData,\n localizedResourcesMap: snapshot.localizedResourcesMap,\n locale: snapshot.locale ? new Intl.Locale(snapshot.locale) : undefined,\n }),\n [snapshot],\n )\n const rootElements = new Map([[snapshot.document.id, snapshot.document.data]])\n\n snapshot.document.localizedPages.forEach(localizedPage => {\n rootElements.set(localizedPage.elementTreeId, localizedPage.data)\n })\n\n return (\n <RuntimeProvider\n client={client}\n rootElements={rootElements}\n preview={snapshot.preview}\n runtime={runtime}\n >\n {/* We use a key here to reset the Snippets state in the PageMeta component */}\n <PageMeta key={snapshot.document.data.key} document={snapshot.document} />\n </RuntimeProvider>\n )\n})\n\nexport type { MakeswiftPage, MakeswiftPageDocument, MakeswiftPageSnapshot, Sitemap } from './client'\nexport { Makeswift } from './client'\nexport type { MakeswiftPreviewData } from './preview-mode'\nexport { PreviewModeScript } from './preview-mode'\nexport { Document } from './document'\nexport { forwardNextDynamicRef } from './dynamic'\n"],"mappings":"AAqCM;AArCN,SAAS,MAAM,eAAe;AAE9B,SAAS,uBAAqC;AAC9C,SAAS,QAAQ,gBAAgB;AACjC,SAAS,uBAAuB;AAQzB,MAAM,OAAO,KAAK,CAAC,EAAE,UAAU,QAAQ,MAAiB;AAC7D,QAAM,SAAS;AAAA,IACb,MACE,IAAI,gBAAgB;AAAA,MAClB,KAAK,IAAI,IAAI,WAAW,SAAS,SAAS,EAAE;AAAA,MAC5C,WAAW,SAAS;AAAA,MACpB,uBAAuB,SAAS;AAAA,MAChC,QAAQ,SAAS,SAAS,IAAI,KAAK,OAAO,SAAS,MAAM,IAAI;AAAA,IAC/D,CAAC;AAAA,IACH,CAAC,QAAQ;AAAA,EACX;AACA,QAAM,eAAe,oBAAI,IAAI,CAAC,CAAC,SAAS,SAAS,IAAI,SAAS,SAAS,IAAI,CAAC,CAAC;AAE7E,WAAS,SAAS,eAAe,QAAQ,mBAAiB;AACxD,iBAAa,IAAI,cAAc,eAAe,cAAc,IAAI;AAAA,EAClE,CAAC;AAED,SACE;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA;AAAA,MACA,SAAS,SAAS;AAAA,MAClB;AAAA,MAGA,8BAAC,YAA0C,UAAU,SAAS,YAA/C,SAAS,SAAS,KAAK,GAAkC;AAAA;AAAA,EAC1E;AAEJ,CAAC;AAGD,SAAS,iBAAiB;AAE1B,SAAS,yBAAyB;AAClC,SAAS,gBAAgB;AACzB,SAAS,6BAA6B;","names":[]}
1
+ {"version":3,"sources":["../../../src/next/index.tsx"],"sourcesContent":["export type { PageProps } from './components/page'\nexport { Page } from './components/page'\nexport type { MakeswiftPage, MakeswiftPageDocument, MakeswiftPageSnapshot, Sitemap } from './client'\nexport { Makeswift } from './client'\nexport type { MakeswiftPreviewData } from './preview-mode'\nexport { PreviewModeScript } from './preview-mode'\nexport { Document } from './document'\nexport { RootStyleRegistry } from './root-style-registry'\nexport { ReactRuntimeProvider } from './context/react-runtime'\n"],"mappings":"AACA,SAAS,YAAY;AAErB,SAAS,iBAAiB;AAE1B,SAAS,yBAAyB;AAClC,SAAS,gBAAgB;AACzB,SAAS,yBAAyB;AAClC,SAAS,4BAA4B;","names":[]}
@@ -110,6 +110,7 @@ if (window.parent !== window) {
110
110
  export {
111
111
  MakeswiftSiteVersion,
112
112
  PreviewModeScript,
113
- getMakeswiftSiteVersion
113
+ getMakeswiftSiteVersion,
114
+ makeswiftSiteVersionSchema
114
115
  };
115
116
  //# sourceMappingURL=preview-mode.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/next/preview-mode.tsx"],"sourcesContent":["import { PreviewData } from 'next'\nimport { z } from 'zod'\nimport { ActionTypes } from '../react'\n\nconst makeswiftSiteVersionSchema = z.enum(['Live', 'Working'])\nexport const MakeswiftSiteVersion = makeswiftSiteVersionSchema.Enum\nexport type MakeswiftSiteVersion = z.infer<typeof makeswiftSiteVersionSchema>\n\nconst makeswiftPreviewDataSchema = z.object({\n makeswift: z.literal(true),\n siteVersion: makeswiftSiteVersionSchema,\n})\nexport type MakeswiftPreviewData = z.infer<typeof makeswiftPreviewDataSchema>\n\nexport function getMakeswiftSiteVersion(previewData: PreviewData): MakeswiftSiteVersion | null {\n const result = makeswiftPreviewDataSchema.safeParse(previewData)\n\n if (result.success) return result.data.siteVersion\n\n return null\n}\n\ntype Props = {\n isPreview?: boolean\n appOrigin?: string\n}\n\nexport function PreviewModeScript({\n isPreview = false,\n appOrigin = 'https://app.makeswift.com',\n}: Props) {\n const previewModeScript = `\nconst isPreview = ${isPreview}\nconst appOrigin = '${appOrigin.replace(\"'\", \"\\\\'\")}'\nconst searchParamName = 'x-makeswift-preview-mode'\nconst headerName = 'X-Makeswift-Preview-Mode'\nconst originalUrl = new URL(window.location.href)\n\nif (window.parent !== window) {\n window.addEventListener('message', event => {\n if (event.origin === appOrigin && event.data.type === 'makeswift_preview_mode') {\n const { secret } = event.data\n\n if (!isPreview && !originalUrl.searchParams.has(searchParamName)) {\n const url = new URL(originalUrl)\n\n url.searchParams.set(searchParamName, secret)\n\n window.location.replace(url)\n } else {\n const originalFetch = window.fetch\n\n window.fetch = function patchedFetch(resource, options) {\n const request = new Request(resource, options)\n\n if (new URL(request.url).origin !== window.location.origin) {\n return originalFetch.call(this, resource, options)\n }\n\n return originalFetch.call(\n this,\n new Request(request, { headers: { [headerName]: secret } }),\n )\n }\n }\n }\n })\n\n window.parent.postMessage({ type: 'makeswift_preview_mode' }, appOrigin)\n}\n\nif (originalUrl.searchParams.has(searchParamName)) {\n const url = new URL(originalUrl)\n\n url.searchParams.delete(searchParamName)\n\n window.history.replaceState(null, '', url)\n}\n`\n\n const makeswiftConnectionCheckScript = `\nconst appOrigin = '${appOrigin.replace(\"'\", \"\\\\'\")}'\n\nif (window.parent !== window) {\n window.addEventListener('message', event => {\n if (\n event.origin === appOrigin && \n event.data.type === '${ActionTypes.MAKESWIFT_CONNECTION_INIT}'\n ) {\n setInterval(() => {\n window.parent.postMessage({ \n type: '${ActionTypes.MAKESWIFT_CONNECTION_CHECK}',\n payload: { \n currentUrl: window.location.href \n }\n }, appOrigin)\n }, 20)\n }\n })\n\n window.parent.postMessage({ type: '${ActionTypes.MAKESWIFT_CONNECTION_INIT}' }, appOrigin)\n}\n`\n\n return (\n <>\n <script\n id=\"makeswift-preview-mode\"\n type=\"module\"\n dangerouslySetInnerHTML={{ __html: previewModeScript }}\n />\n <script\n id=\"makeswift-connection-check\"\n type=\"module\"\n dangerouslySetInnerHTML={{ __html: makeswiftConnectionCheckScript }}\n />\n </>\n )\n}\n"],"mappings":"AAyGI,mBACE,KADF;AAxGJ,SAAS,SAAS;AAClB,SAAS,mBAAmB;AAE5B,MAAM,6BAA6B,EAAE,KAAK,CAAC,QAAQ,SAAS,CAAC;AACtD,MAAM,uBAAuB,2BAA2B;AAG/D,MAAM,6BAA6B,EAAE,OAAO;AAAA,EAC1C,WAAW,EAAE,QAAQ,IAAI;AAAA,EACzB,aAAa;AACf,CAAC;AAGM,SAAS,wBAAwB,aAAuD;AAC7F,QAAM,SAAS,2BAA2B,UAAU,WAAW;AAE/D,MAAI,OAAO;AAAS,WAAO,OAAO,KAAK;AAEvC,SAAO;AACT;AAOO,SAAS,kBAAkB;AAAA,EAChC,YAAY;AAAA,EACZ,YAAY;AACd,GAAU;AACR,QAAM,oBAAoB;AAAA,oBACR,SAAS;AAAA,qBACR,UAAU,QAAQ,KAAK,KAAK,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AA+ChD,QAAM,iCAAiC;AAAA,qBACpB,UAAU,QAAQ,KAAK,KAAK,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,6BAMrB,YAAY,yBAAyB;AAAA;AAAA;AAAA;AAAA,mBAI/C,YAAY,0BAA0B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uCASlB,YAAY,yBAAyB;AAAA;AAAA;AAI1E,SACE,iCACE;AAAA;AAAA,MAAC;AAAA;AAAA,QACC,IAAG;AAAA,QACH,MAAK;AAAA,QACL,yBAAyB,EAAE,QAAQ,kBAAkB;AAAA;AAAA,IACvD;AAAA,IACA;AAAA,MAAC;AAAA;AAAA,QACC,IAAG;AAAA,QACH,MAAK;AAAA,QACL,yBAAyB,EAAE,QAAQ,+BAA+B;AAAA;AAAA,IACpE;AAAA,KACF;AAEJ;","names":[]}
1
+ {"version":3,"sources":["../../../src/next/preview-mode.tsx"],"sourcesContent":["import { PreviewData } from 'next'\nimport { z } from 'zod'\nimport { ActionTypes } from '../react'\n\nexport const makeswiftSiteVersionSchema = z.enum(['Live', 'Working'])\nexport const MakeswiftSiteVersion = makeswiftSiteVersionSchema.Enum\nexport type MakeswiftSiteVersion = z.infer<typeof makeswiftSiteVersionSchema>\n\nconst makeswiftPreviewDataSchema = z.object({\n makeswift: z.literal(true),\n siteVersion: makeswiftSiteVersionSchema,\n})\nexport type MakeswiftPreviewData = z.infer<typeof makeswiftPreviewDataSchema>\n\nexport function getMakeswiftSiteVersion(previewData: PreviewData): MakeswiftSiteVersion | null {\n const result = makeswiftPreviewDataSchema.safeParse(previewData)\n\n if (result.success) return result.data.siteVersion\n\n return null\n}\n\ntype Props = {\n isPreview?: boolean\n appOrigin?: string\n}\n\nexport function PreviewModeScript({\n isPreview = false,\n appOrigin = 'https://app.makeswift.com',\n}: Props) {\n const previewModeScript = `\nconst isPreview = ${isPreview}\nconst appOrigin = '${appOrigin.replace(\"'\", \"\\\\'\")}'\nconst searchParamName = 'x-makeswift-preview-mode'\nconst headerName = 'X-Makeswift-Preview-Mode'\nconst originalUrl = new URL(window.location.href)\n\nif (window.parent !== window) {\n window.addEventListener('message', event => {\n if (event.origin === appOrigin && event.data.type === 'makeswift_preview_mode') {\n const { secret } = event.data\n\n if (!isPreview && !originalUrl.searchParams.has(searchParamName)) {\n const url = new URL(originalUrl)\n\n url.searchParams.set(searchParamName, secret)\n\n window.location.replace(url)\n } else {\n const originalFetch = window.fetch\n\n window.fetch = function patchedFetch(resource, options) {\n const request = new Request(resource, options)\n\n if (new URL(request.url).origin !== window.location.origin) {\n return originalFetch.call(this, resource, options)\n }\n\n return originalFetch.call(\n this,\n new Request(request, { headers: { [headerName]: secret } }),\n )\n }\n }\n }\n })\n\n window.parent.postMessage({ type: 'makeswift_preview_mode' }, appOrigin)\n}\n\nif (originalUrl.searchParams.has(searchParamName)) {\n const url = new URL(originalUrl)\n\n url.searchParams.delete(searchParamName)\n\n window.history.replaceState(null, '', url)\n}\n`\n\n const makeswiftConnectionCheckScript = `\nconst appOrigin = '${appOrigin.replace(\"'\", \"\\\\'\")}'\n\nif (window.parent !== window) {\n window.addEventListener('message', event => {\n if (\n event.origin === appOrigin && \n event.data.type === '${ActionTypes.MAKESWIFT_CONNECTION_INIT}'\n ) {\n setInterval(() => {\n window.parent.postMessage({ \n type: '${ActionTypes.MAKESWIFT_CONNECTION_CHECK}',\n payload: { \n currentUrl: window.location.href \n }\n }, appOrigin)\n }, 20)\n }\n })\n\n window.parent.postMessage({ type: '${ActionTypes.MAKESWIFT_CONNECTION_INIT}' }, appOrigin)\n}\n`\n\n return (\n <>\n <script\n id=\"makeswift-preview-mode\"\n type=\"module\"\n dangerouslySetInnerHTML={{ __html: previewModeScript }}\n />\n <script\n id=\"makeswift-connection-check\"\n type=\"module\"\n dangerouslySetInnerHTML={{ __html: makeswiftConnectionCheckScript }}\n />\n </>\n )\n}\n"],"mappings":"AAyGI,mBACE,KADF;AAxGJ,SAAS,SAAS;AAClB,SAAS,mBAAmB;AAErB,MAAM,6BAA6B,EAAE,KAAK,CAAC,QAAQ,SAAS,CAAC;AAC7D,MAAM,uBAAuB,2BAA2B;AAG/D,MAAM,6BAA6B,EAAE,OAAO;AAAA,EAC1C,WAAW,EAAE,QAAQ,IAAI;AAAA,EACzB,aAAa;AACf,CAAC;AAGM,SAAS,wBAAwB,aAAuD;AAC7F,QAAM,SAAS,2BAA2B,UAAU,WAAW;AAE/D,MAAI,OAAO;AAAS,WAAO,OAAO,KAAK;AAEvC,SAAO;AACT;AAOO,SAAS,kBAAkB;AAAA,EAChC,YAAY;AAAA,EACZ,YAAY;AACd,GAAU;AACR,QAAM,oBAAoB;AAAA,oBACR,SAAS;AAAA,qBACR,UAAU,QAAQ,KAAK,KAAK,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AA+ChD,QAAM,iCAAiC;AAAA,qBACpB,UAAU,QAAQ,KAAK,KAAK,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,6BAMrB,YAAY,yBAAyB;AAAA;AAAA;AAAA;AAAA,mBAI/C,YAAY,0BAA0B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uCASlB,YAAY,yBAAyB;AAAA;AAAA;AAI1E,SACE,iCACE;AAAA;AAAA,MAAC;AAAA;AAAA,QACC,IAAG;AAAA,QACH,MAAK;AAAA,QACL,yBAAyB,EAAE,QAAQ,kBAAkB;AAAA;AAAA,IACvD;AAAA,IACA;AAAA,MAAC;AAAA;AAAA,QACC,IAAG;AAAA,QACH,MAAK;AAAA,QACL,yBAAyB,EAAE,QAAQ,+BAA+B;AAAA;AAAA,IACpE;AAAA,KACF;AAEJ;","names":[]}
@@ -0,0 +1,55 @@
1
+ "use client";
2
+ import { jsx } from "react/jsx-runtime";
3
+ import createCache from "@emotion/cache";
4
+ import { cache } from "@emotion/css";
5
+ import { useServerInsertedHTML } from "next/navigation";
6
+ import { createContext, useContext, useState } from "react";
7
+ const CacheContext = createContext(cache);
8
+ function RootStyleRegistry({ children }) {
9
+ const [{ cache: cache2, flush }] = useState(() => {
10
+ const cache3 = createCache({ key: "css" });
11
+ cache3.compat = true;
12
+ const prevInsert = cache3.insert;
13
+ let inserted = [];
14
+ cache3.insert = (...args) => {
15
+ const serialized = args[1];
16
+ if (cache3.inserted[serialized.name] === void 0) {
17
+ inserted.push(serialized.name);
18
+ }
19
+ return prevInsert(...args);
20
+ };
21
+ const flush2 = () => {
22
+ const prevInserted = inserted;
23
+ inserted = [];
24
+ return prevInserted;
25
+ };
26
+ return { cache: cache3, flush: flush2 };
27
+ });
28
+ useServerInsertedHTML(() => {
29
+ const names = flush();
30
+ if (names.length === 0)
31
+ return null;
32
+ let styles = "";
33
+ for (const name of names) {
34
+ styles += cache2.inserted[name];
35
+ }
36
+ return /* @__PURE__ */ jsx(
37
+ "style",
38
+ {
39
+ "data-emotion": `${cache2.key} ${names.join(" ")}`,
40
+ dangerouslySetInnerHTML: {
41
+ __html: styles
42
+ }
43
+ }
44
+ );
45
+ });
46
+ return /* @__PURE__ */ jsx(CacheContext.Provider, { value: cache2, children });
47
+ }
48
+ function useCache() {
49
+ return useContext(CacheContext);
50
+ }
51
+ export {
52
+ RootStyleRegistry,
53
+ useCache
54
+ };
55
+ //# sourceMappingURL=root-style-registry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/next/root-style-registry.tsx"],"sourcesContent":["'use client'\n\nimport createCache, { EmotionCache } from '@emotion/cache'\nimport { cache } from '@emotion/css'\nimport { useServerInsertedHTML } from 'next/navigation'\nimport { ReactNode, createContext, useContext, useState } from 'react'\n\nconst CacheContext = createContext(cache)\n\nexport function RootStyleRegistry({ children }: { children: ReactNode }) {\n const [{ cache, flush }] = useState(() => {\n const cache = createCache({ key: 'css' })\n cache.compat = true\n const prevInsert = cache.insert\n let inserted: string[] = []\n cache.insert = (...args) => {\n const serialized = args[1]\n if (cache.inserted[serialized.name] === undefined) {\n inserted.push(serialized.name)\n }\n return prevInsert(...args)\n }\n const flush = () => {\n const prevInserted = inserted\n inserted = []\n return prevInserted\n }\n return { cache, flush }\n })\n\n useServerInsertedHTML(() => {\n const names = flush()\n if (names.length === 0) return null\n let styles = ''\n for (const name of names) {\n styles += cache.inserted[name]\n }\n return (\n <style\n data-emotion={`${cache.key} ${names.join(' ')}`}\n dangerouslySetInnerHTML={{\n __html: styles,\n }}\n />\n )\n })\n\n return <CacheContext.Provider value={cache}>{children}</CacheContext.Provider>\n}\n\nexport function useCache(): EmotionCache {\n return useContext(CacheContext)\n}\n"],"mappings":";AAsCM;AApCN,OAAO,iBAAmC;AAC1C,SAAS,aAAa;AACtB,SAAS,6BAA6B;AACtC,SAAoB,eAAe,YAAY,gBAAgB;AAE/D,MAAM,eAAe,cAAc,KAAK;AAEjC,SAAS,kBAAkB,EAAE,SAAS,GAA4B;AACvE,QAAM,CAAC,EAAE,OAAAA,QAAO,MAAM,CAAC,IAAI,SAAS,MAAM;AACxC,UAAMA,SAAQ,YAAY,EAAE,KAAK,MAAM,CAAC;AACxC,IAAAA,OAAM,SAAS;AACf,UAAM,aAAaA,OAAM;AACzB,QAAI,WAAqB,CAAC;AAC1B,IAAAA,OAAM,SAAS,IAAI,SAAS;AAC1B,YAAM,aAAa,KAAK,CAAC;AACzB,UAAIA,OAAM,SAAS,WAAW,IAAI,MAAM,QAAW;AACjD,iBAAS,KAAK,WAAW,IAAI;AAAA,MAC/B;AACA,aAAO,WAAW,GAAG,IAAI;AAAA,IAC3B;AACA,UAAMC,SAAQ,MAAM;AAClB,YAAM,eAAe;AACrB,iBAAW,CAAC;AACZ,aAAO;AAAA,IACT;AACA,WAAO,EAAE,OAAAD,QAAO,OAAAC,OAAM;AAAA,EACxB,CAAC;AAED,wBAAsB,MAAM;AAC1B,UAAM,QAAQ,MAAM;AACpB,QAAI,MAAM,WAAW;AAAG,aAAO;AAC/B,QAAI,SAAS;AACb,eAAW,QAAQ,OAAO;AACxB,gBAAUD,OAAM,SAAS,IAAI;AAAA,IAC/B;AACA,WACE;AAAA,MAAC;AAAA;AAAA,QACC,gBAAc,GAAGA,OAAM,GAAG,IAAI,MAAM,KAAK,GAAG,CAAC;AAAA,QAC7C,yBAAyB;AAAA,UACvB,QAAQ;AAAA,QACV;AAAA;AAAA,IACF;AAAA,EAEJ,CAAC;AAED,SAAO,oBAAC,aAAa,UAAb,EAAsB,OAAOA,QAAQ,UAAS;AACxD;AAEO,SAAS,WAAyB;AACvC,SAAO,WAAW,YAAY;AAChC;","names":["cache","flush"]}
@@ -1,5 +1,9 @@
1
1
  import { MakeswiftApiHandler } from "./api-handler";
2
+ import { getSiteVersion } from "./draft-mode";
3
+ import { DraftModeScript } from "./draft-mode/draft-mode-script";
2
4
  export {
3
- MakeswiftApiHandler
5
+ DraftModeScript,
6
+ MakeswiftApiHandler,
7
+ getSiteVersion
4
8
  };
5
9
  //# sourceMappingURL=server.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/next/server.ts"],"sourcesContent":["export { MakeswiftApiHandler } from './api-handler'\nexport type { Manifest, Font, MakeswiftApiHandlerResponse } from './api-handler'\n"],"mappings":"AAAA,SAAS,2BAA2B;","names":[]}
1
+ {"version":3,"sources":["../../../src/next/server.ts"],"sourcesContent":["export { MakeswiftApiHandler } from './api-handler'\nexport type { Manifest, Font, MakeswiftApiHandlerResponse } from './api-handler'\nexport { getSiteVersion } from './draft-mode'\nexport { DraftModeScript } from './draft-mode/draft-mode-script'\n"],"mappings":"AAAA,SAAS,2BAA2B;AAEpC,SAAS,sBAAsB;AAC/B,SAAS,uBAAuB;","names":[]}
@@ -1,3 +1,4 @@
1
+ "use client";
1
2
  import { jsx } from "react/jsx-runtime";
2
3
  import { forwardRef, memo, useCallback, useEffect, useImperativeHandle, useRef } from "react";
3
4
  import { isElementReference } from "../../../state/react-page";
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/runtimes/react/components/Element.tsx"],"sourcesContent":["import { Ref, forwardRef, memo, useCallback, useEffect, useImperativeHandle, useRef } from 'react'\nimport { Element as ReactPageElement, isElementReference } from '../../../state/react-page'\nimport { ElementImperativeHandle } from '../element-imperative-handle'\nimport { useDispatch } from '../hooks/use-dispatch'\nimport { useDocumentKey } from '../hooks/use-document-key'\nimport { useDisableRegisterElement } from '../hooks/use-disable-register-element'\nimport { mountComponentEffect, registerComponentHandleEffect } from '../../../state/actions'\nimport { ElementReference } from './ElementReference'\nimport { ElementData } from './ElementData'\nimport { FindDomNode } from '../find-dom-node'\n\ntype ElementProps = {\n element: ReactPageElement\n}\n\nexport const Element = memo(\n forwardRef(function Element(\n { element }: ElementProps,\n ref: Ref<ElementImperativeHandle>,\n ): JSX.Element {\n const elementKey = element.key\n const dispatch = useDispatch()\n const documentKey = useDocumentKey()\n const useFindDomNodeRef = useRef(true)\n const imperativeHandleRef = useRef(new ElementImperativeHandle())\n const findDomNodeCallbackRef = useCallback((current: (() => Element | Text | null) | null) => {\n if (useFindDomNodeRef.current === true) {\n imperativeHandleRef.current.callback(() => current?.() ?? null)\n }\n }, [])\n const elementCallbackRef = useCallback((current: unknown | null) => {\n useFindDomNodeRef.current = false\n\n imperativeHandleRef.current.callback(() => current)\n }, [])\n const isRegisterElementDisabled = useDisableRegisterElement()\n\n useImperativeHandle(ref, () => imperativeHandleRef.current, [])\n\n useEffect(() => {\n if (documentKey == null || isRegisterElementDisabled) return\n\n return dispatch(\n registerComponentHandleEffect(documentKey, elementKey, imperativeHandleRef.current),\n )\n }, [dispatch, documentKey, elementKey, isRegisterElementDisabled])\n\n useEffect(() => {\n if (documentKey == null || isRegisterElementDisabled) return\n\n return dispatch(mountComponentEffect(documentKey, elementKey))\n }, [dispatch, documentKey, elementKey, isRegisterElementDisabled])\n\n return (\n <FindDomNode ref={findDomNodeCallbackRef}>\n {isElementReference(element) ? (\n <ElementReference key={elementKey} ref={elementCallbackRef} elementReference={element} />\n ) : (\n <ElementData key={elementKey} ref={elementCallbackRef} elementData={element} />\n )}\n </FindDomNode>\n )\n }),\n)\n"],"mappings":"AAwDU;AAxDV,SAAc,YAAY,MAAM,aAAa,WAAW,qBAAqB,cAAc;AAC3F,SAAsC,0BAA0B;AAChE,SAAS,+BAA+B;AACxC,SAAS,mBAAmB;AAC5B,SAAS,sBAAsB;AAC/B,SAAS,iCAAiC;AAC1C,SAAS,sBAAsB,qCAAqC;AACpE,SAAS,wBAAwB;AACjC,SAAS,mBAAmB;AAC5B,SAAS,mBAAmB;AAMrB,MAAM,UAAU;AAAA,EACrB,WAAW,SAASA,SAClB,EAAE,QAAQ,GACV,KACa;AACb,UAAM,aAAa,QAAQ;AAC3B,UAAM,WAAW,YAAY;AAC7B,UAAM,cAAc,eAAe;AACnC,UAAM,oBAAoB,OAAO,IAAI;AACrC,UAAM,sBAAsB,OAAO,IAAI,wBAAwB,CAAC;AAChE,UAAM,yBAAyB,YAAY,CAAC,YAAkD;AAC5F,UAAI,kBAAkB,YAAY,MAAM;AACtC,4BAAoB,QAAQ,SAAS,MAAM,UAAU,KAAK,IAAI;AAAA,MAChE;AAAA,IACF,GAAG,CAAC,CAAC;AACL,UAAM,qBAAqB,YAAY,CAAC,YAA4B;AAClE,wBAAkB,UAAU;AAE5B,0BAAoB,QAAQ,SAAS,MAAM,OAAO;AAAA,IACpD,GAAG,CAAC,CAAC;AACL,UAAM,4BAA4B,0BAA0B;AAE5D,wBAAoB,KAAK,MAAM,oBAAoB,SAAS,CAAC,CAAC;AAE9D,cAAU,MAAM;AACd,UAAI,eAAe,QAAQ;AAA2B;AAEtD,aAAO;AAAA,QACL,8BAA8B,aAAa,YAAY,oBAAoB,OAAO;AAAA,MACpF;AAAA,IACF,GAAG,CAAC,UAAU,aAAa,YAAY,yBAAyB,CAAC;AAEjE,cAAU,MAAM;AACd,UAAI,eAAe,QAAQ;AAA2B;AAEtD,aAAO,SAAS,qBAAqB,aAAa,UAAU,CAAC;AAAA,IAC/D,GAAG,CAAC,UAAU,aAAa,YAAY,yBAAyB,CAAC;AAEjE,WACE,oBAAC,eAAY,KAAK,wBACf,6BAAmB,OAAO,IACzB,oBAAC,oBAAkC,KAAK,oBAAoB,kBAAkB,WAAvD,UAAgE,IAEvF,oBAAC,eAA6B,KAAK,oBAAoB,aAAa,WAAlD,UAA2D,GAEjF;AAAA,EAEJ,CAAC;AACH;","names":["Element"]}
1
+ {"version":3,"sources":["../../../../../src/runtimes/react/components/Element.tsx"],"sourcesContent":["'use client'\n\nimport { Ref, forwardRef, memo, useCallback, useEffect, useImperativeHandle, useRef } from 'react'\nimport { Element as ReactPageElement, isElementReference } from '../../../state/react-page'\nimport { ElementImperativeHandle } from '../element-imperative-handle'\nimport { useDispatch } from '../hooks/use-dispatch'\nimport { useDocumentKey } from '../hooks/use-document-key'\nimport { useDisableRegisterElement } from '../hooks/use-disable-register-element'\nimport { mountComponentEffect, registerComponentHandleEffect } from '../../../state/actions'\nimport { ElementReference } from './ElementReference'\nimport { ElementData } from './ElementData'\nimport { FindDomNode } from '../find-dom-node'\n\ntype ElementProps = {\n element: ReactPageElement\n}\n\nexport const Element = memo(\n forwardRef(function Element(\n { element }: ElementProps,\n ref: Ref<ElementImperativeHandle>,\n ): JSX.Element {\n const elementKey = element.key\n const dispatch = useDispatch()\n const documentKey = useDocumentKey()\n const useFindDomNodeRef = useRef(true)\n const imperativeHandleRef = useRef(new ElementImperativeHandle())\n const findDomNodeCallbackRef = useCallback((current: (() => Element | Text | null) | null) => {\n if (useFindDomNodeRef.current === true) {\n imperativeHandleRef.current.callback(() => current?.() ?? null)\n }\n }, [])\n const elementCallbackRef = useCallback((current: unknown | null) => {\n useFindDomNodeRef.current = false\n\n imperativeHandleRef.current.callback(() => current)\n }, [])\n const isRegisterElementDisabled = useDisableRegisterElement()\n\n useImperativeHandle(ref, () => imperativeHandleRef.current, [])\n\n useEffect(() => {\n if (documentKey == null || isRegisterElementDisabled) return\n\n return dispatch(\n registerComponentHandleEffect(documentKey, elementKey, imperativeHandleRef.current),\n )\n }, [dispatch, documentKey, elementKey, isRegisterElementDisabled])\n\n useEffect(() => {\n if (documentKey == null || isRegisterElementDisabled) return\n\n return dispatch(mountComponentEffect(documentKey, elementKey))\n }, [dispatch, documentKey, elementKey, isRegisterElementDisabled])\n\n return (\n <FindDomNode ref={findDomNodeCallbackRef}>\n {isElementReference(element) ? (\n <ElementReference key={elementKey} ref={elementCallbackRef} elementReference={element} />\n ) : (\n <ElementData key={elementKey} ref={elementCallbackRef} elementData={element} />\n )}\n </FindDomNode>\n )\n }),\n)\n"],"mappings":";AA0DU;AAxDV,SAAc,YAAY,MAAM,aAAa,WAAW,qBAAqB,cAAc;AAC3F,SAAsC,0BAA0B;AAChE,SAAS,+BAA+B;AACxC,SAAS,mBAAmB;AAC5B,SAAS,sBAAsB;AAC/B,SAAS,iCAAiC;AAC1C,SAAS,sBAAsB,qCAAqC;AACpE,SAAS,wBAAwB;AACjC,SAAS,mBAAmB;AAC5B,SAAS,mBAAmB;AAMrB,MAAM,UAAU;AAAA,EACrB,WAAW,SAASA,SAClB,EAAE,QAAQ,GACV,KACa;AACb,UAAM,aAAa,QAAQ;AAC3B,UAAM,WAAW,YAAY;AAC7B,UAAM,cAAc,eAAe;AACnC,UAAM,oBAAoB,OAAO,IAAI;AACrC,UAAM,sBAAsB,OAAO,IAAI,wBAAwB,CAAC;AAChE,UAAM,yBAAyB,YAAY,CAAC,YAAkD;AAC5F,UAAI,kBAAkB,YAAY,MAAM;AACtC,4BAAoB,QAAQ,SAAS,MAAM,UAAU,KAAK,IAAI;AAAA,MAChE;AAAA,IACF,GAAG,CAAC,CAAC;AACL,UAAM,qBAAqB,YAAY,CAAC,YAA4B;AAClE,wBAAkB,UAAU;AAE5B,0BAAoB,QAAQ,SAAS,MAAM,OAAO;AAAA,IACpD,GAAG,CAAC,CAAC;AACL,UAAM,4BAA4B,0BAA0B;AAE5D,wBAAoB,KAAK,MAAM,oBAAoB,SAAS,CAAC,CAAC;AAE9D,cAAU,MAAM;AACd,UAAI,eAAe,QAAQ;AAA2B;AAEtD,aAAO;AAAA,QACL,8BAA8B,aAAa,YAAY,oBAAoB,OAAO;AAAA,MACpF;AAAA,IACF,GAAG,CAAC,UAAU,aAAa,YAAY,yBAAyB,CAAC;AAEjE,cAAU,MAAM;AACd,UAAI,eAAe,QAAQ;AAA2B;AAEtD,aAAO,SAAS,qBAAqB,aAAa,UAAU,CAAC;AAAA,IAC/D,GAAG,CAAC,UAAU,aAAa,YAAY,yBAAyB,CAAC;AAEjE,WACE,oBAAC,eAAY,KAAK,wBACf,6BAAmB,OAAO,IACzB,oBAAC,oBAAkC,KAAK,oBAAoB,kBAAkB,WAAvD,UAAgE,IAEvF,oBAAC,eAA6B,KAAK,oBAAoB,aAAa,WAAlD,UAA2D,GAEjF;AAAA,EAEJ,CAAC;AACH;","names":["Element"]}
@@ -1,23 +1,16 @@
1
1
  import { jsx } from "react/jsx-runtime";
2
2
  import { useMemo } from "react";
3
- import { ReactRuntime } from "../react-runtime";
4
3
  import { StoreContext } from "../hooks/use-store";
5
4
  import * as ReactPage from "../../../state/react-page";
6
- import { MakeswiftProvider } from "../../../api/react";
7
- function LiveProvider({
8
- client,
9
- children,
10
- rootElements,
11
- runtime
12
- }) {
5
+ import { useReactRuntime } from "../../../next/context/react-runtime";
6
+ import { MakeswiftHostApiClientProvider } from "../../../next/context/makeswift-host-api-client";
7
+ function LiveProvider({ client, children, rootElements }) {
8
+ const runtime = useReactRuntime();
13
9
  const store = useMemo(
14
- () => ReactPage.configureStore({
15
- preloadedState: runtime ? runtime.store.getState() : ReactRuntime.store.getState(),
16
- rootElements
17
- }),
10
+ () => ReactPage.configureStore({ preloadedState: runtime.store.getState(), rootElements }),
18
11
  [rootElements, runtime]
19
12
  );
20
- return /* @__PURE__ */ jsx(StoreContext.Provider, { value: store, children: /* @__PURE__ */ jsx(MakeswiftProvider, { client, children }) });
13
+ return /* @__PURE__ */ jsx(StoreContext.Provider, { value: store, children: /* @__PURE__ */ jsx(MakeswiftHostApiClientProvider, { client, children }) });
21
14
  }
22
15
  export {
23
16
  LiveProvider as default
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/runtimes/react/components/LiveProvider.tsx"],"sourcesContent":["import { ReactNode, useMemo } from 'react'\n\nimport { ReactRuntime } from '../react-runtime'\nimport { StoreContext } from '../hooks/use-store'\nimport * as ReactPage from '../../../state/react-page'\nimport { MakeswiftProvider, MakeswiftClient } from '../../../api/react'\n\ntype Props = {\n client: MakeswiftClient\n rootElements?: Map<string, ReactPage.Element>\n children?: ReactNode\n runtime?: ReactRuntime\n}\n\nexport default function LiveProvider({\n client,\n children,\n rootElements,\n runtime,\n}: Props): JSX.Element {\n const store = useMemo(\n () =>\n ReactPage.configureStore({\n preloadedState: runtime ? runtime.store.getState() : ReactRuntime.store.getState(),\n rootElements,\n }),\n [rootElements, runtime],\n )\n\n return (\n <StoreContext.Provider value={store}>\n <MakeswiftProvider client={client}>{children}</MakeswiftProvider>\n </StoreContext.Provider>\n )\n}\n"],"mappings":"AA+BM;AA/BN,SAAoB,eAAe;AAEnC,SAAS,oBAAoB;AAC7B,SAAS,oBAAoB;AAC7B,YAAY,eAAe;AAC3B,SAAS,yBAA0C;AASpC,SAAR,aAA8B;AAAA,EACnC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAAuB;AACrB,QAAM,QAAQ;AAAA,IACZ,MACE,UAAU,eAAe;AAAA,MACvB,gBAAgB,UAAU,QAAQ,MAAM,SAAS,IAAI,aAAa,MAAM,SAAS;AAAA,MACjF;AAAA,IACF,CAAC;AAAA,IACH,CAAC,cAAc,OAAO;AAAA,EACxB;AAEA,SACE,oBAAC,aAAa,UAAb,EAAsB,OAAO,OAC5B,8BAAC,qBAAkB,QAAiB,UAAS,GAC/C;AAEJ;","names":[]}
1
+ {"version":3,"sources":["../../../../../src/runtimes/react/components/LiveProvider.tsx"],"sourcesContent":["import { ReactNode, useMemo } from 'react'\n\nimport { StoreContext } from '../hooks/use-store'\nimport * as ReactPage from '../../../state/react-page'\nimport { MakeswiftHostApiClient } from '../../../api/react'\nimport { useReactRuntime } from '../../../next/context/react-runtime'\nimport { MakeswiftHostApiClientProvider } from '../../../next/context/makeswift-host-api-client'\n\ntype Props = {\n client: MakeswiftHostApiClient\n rootElements?: Map<string, ReactPage.Element>\n children?: ReactNode\n}\n\nexport default function LiveProvider({ client, children, rootElements }: Props): JSX.Element {\n const runtime = useReactRuntime()\n const store = useMemo(\n () => ReactPage.configureStore({ preloadedState: runtime.store.getState(), rootElements }),\n [rootElements, runtime],\n )\n\n return (\n <StoreContext.Provider value={store}>\n <MakeswiftHostApiClientProvider client={client}>{children}</MakeswiftHostApiClientProvider>\n </StoreContext.Provider>\n )\n}\n"],"mappings":"AAuBM;AAvBN,SAAoB,eAAe;AAEnC,SAAS,oBAAoB;AAC7B,YAAY,eAAe;AAE3B,SAAS,uBAAuB;AAChC,SAAS,sCAAsC;AAQhC,SAAR,aAA8B,EAAE,QAAQ,UAAU,aAAa,GAAuB;AAC3F,QAAM,UAAU,gBAAgB;AAChC,QAAM,QAAQ;AAAA,IACZ,MAAM,UAAU,eAAe,EAAE,gBAAgB,QAAQ,MAAM,SAAS,GAAG,aAAa,CAAC;AAAA,IACzF,CAAC,cAAc,OAAO;AAAA,EACxB;AAEA,SACE,oBAAC,aAAa,UAAb,EAAsB,OAAO,OAC5B,8BAAC,kCAA+B,QAAiB,UAAS,GAC5D;AAEJ;","names":[]}
@@ -1,17 +1,15 @@
1
+ "use client";
1
2
  import { jsx } from "react/jsx-runtime";
2
3
  import { useEffect, useMemo } from "react";
3
4
  import { ReactRuntime } from "../react-runtime";
4
5
  import { StoreContext } from "../hooks/use-store";
5
6
  import * as ReactBuilderPreview from "../../../state/react-builder-preview";
6
7
  import * as ReactPage from "../../../state/react-page";
7
- import { MakeswiftProvider } from "../../../api/react";
8
8
  import { registerDocumentEffect } from "../../../state/actions";
9
- function PreviewProvider({
10
- client,
11
- children,
12
- rootElements,
13
- runtime
14
- }) {
9
+ import { useReactRuntime } from "../../../next/context/react-runtime";
10
+ import { MakeswiftHostApiClientProvider } from "../../../next/context/makeswift-host-api-client";
11
+ function PreviewProvider({ client, children, rootElements }) {
12
+ const runtime = useReactRuntime();
15
13
  const store = useMemo(
16
14
  () => ReactBuilderPreview.configureStore({
17
15
  preloadedState: runtime ? runtime.store.getState() : ReactRuntime.store.getState(),
@@ -30,7 +28,7 @@ function PreviewProvider({
30
28
  });
31
29
  };
32
30
  }, [store, rootElements]);
33
- return /* @__PURE__ */ jsx(StoreContext.Provider, { value: store, children: /* @__PURE__ */ jsx(MakeswiftProvider, { client, children }) });
31
+ return /* @__PURE__ */ jsx(StoreContext.Provider, { value: store, children: /* @__PURE__ */ jsx(MakeswiftHostApiClientProvider, { client, children }) });
34
32
  }
35
33
  export {
36
34
  PreviewProvider as default
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/runtimes/react/components/PreviewProvider.tsx"],"sourcesContent":["import { ReactNode, useEffect, useMemo } from 'react'\n\nimport { ReactRuntime } from '../react-runtime'\nimport { StoreContext } from '../hooks/use-store'\nimport * as ReactBuilderPreview from '../../../state/react-builder-preview'\nimport * as ReactPage from '../../../state/react-page'\nimport { MakeswiftProvider, MakeswiftClient } from '../../../api/react'\nimport { registerDocumentEffect } from '../../../state/actions'\n\ntype Props = {\n client: MakeswiftClient\n rootElements?: Map<string, ReactPage.Element>\n children?: ReactNode\n runtime?: ReactRuntime\n}\n\nexport default function PreviewProvider({\n client,\n children,\n rootElements,\n runtime,\n}: Props): JSX.Element {\n const store = useMemo(\n () =>\n ReactBuilderPreview.configureStore({\n preloadedState: runtime ? runtime.store.getState() : ReactRuntime.store.getState(),\n rootElements,\n client,\n }),\n [client, rootElements, runtime],\n )\n\n useEffect(() => {\n const unregisterDocuments = Array.from(rootElements?.entries() ?? []).map(\n ([documentKey, rootElement]) =>\n store.dispatch(registerDocumentEffect(ReactPage.createDocument(documentKey, rootElement))),\n )\n\n return () => {\n unregisterDocuments.forEach(unregisterDocument => {\n unregisterDocument()\n })\n }\n }, [store, rootElements])\n\n return (\n <StoreContext.Provider value={store}>\n <MakeswiftProvider client={client}>{children}</MakeswiftProvider>\n </StoreContext.Provider>\n )\n}\n"],"mappings":"AA+CM;AA/CN,SAAoB,WAAW,eAAe;AAE9C,SAAS,oBAAoB;AAC7B,SAAS,oBAAoB;AAC7B,YAAY,yBAAyB;AACrC,YAAY,eAAe;AAC3B,SAAS,yBAA0C;AACnD,SAAS,8BAA8B;AASxB,SAAR,gBAAiC;AAAA,EACtC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAAuB;AACrB,QAAM,QAAQ;AAAA,IACZ,MACE,oBAAoB,eAAe;AAAA,MACjC,gBAAgB,UAAU,QAAQ,MAAM,SAAS,IAAI,aAAa,MAAM,SAAS;AAAA,MACjF;AAAA,MACA;AAAA,IACF,CAAC;AAAA,IACH,CAAC,QAAQ,cAAc,OAAO;AAAA,EAChC;AAEA,YAAU,MAAM;AACd,UAAM,sBAAsB,MAAM,KAAK,cAAc,QAAQ,KAAK,CAAC,CAAC,EAAE;AAAA,MACpE,CAAC,CAAC,aAAa,WAAW,MACxB,MAAM,SAAS,uBAAuB,UAAU,eAAe,aAAa,WAAW,CAAC,CAAC;AAAA,IAC7F;AAEA,WAAO,MAAM;AACX,0BAAoB,QAAQ,wBAAsB;AAChD,2BAAmB;AAAA,MACrB,CAAC;AAAA,IACH;AAAA,EACF,GAAG,CAAC,OAAO,YAAY,CAAC;AAExB,SACE,oBAAC,aAAa,UAAb,EAAsB,OAAO,OAC5B,8BAAC,qBAAkB,QAAiB,UAAS,GAC/C;AAEJ;","names":[]}
1
+ {"version":3,"sources":["../../../../../src/runtimes/react/components/PreviewProvider.tsx"],"sourcesContent":["'use client'\n\nimport { ReactNode, useEffect, useMemo } from 'react'\n\nimport { ReactRuntime } from '../react-runtime'\nimport { StoreContext } from '../hooks/use-store'\nimport * as ReactBuilderPreview from '../../../state/react-builder-preview'\nimport * as ReactPage from '../../../state/react-page'\nimport { MakeswiftHostApiClient } from '../../../api/react'\nimport { registerDocumentEffect } from '../../../state/actions'\nimport { useReactRuntime } from '../../../next/context/react-runtime'\nimport { MakeswiftHostApiClientProvider } from '../../../next/context/makeswift-host-api-client'\n\ntype Props = {\n client: MakeswiftHostApiClient\n rootElements?: Map<string, ReactPage.Element>\n children?: ReactNode\n}\n\nexport default function PreviewProvider({ client, children, rootElements }: Props): JSX.Element {\n const runtime = useReactRuntime()\n const store = useMemo(\n () =>\n ReactBuilderPreview.configureStore({\n preloadedState: runtime ? runtime.store.getState() : ReactRuntime.store.getState(),\n rootElements,\n client,\n }),\n [client, rootElements, runtime],\n )\n\n useEffect(() => {\n const unregisterDocuments = Array.from(rootElements?.entries() ?? []).map(\n ([documentKey, rootElement]) =>\n store.dispatch(registerDocumentEffect(ReactPage.createDocument(documentKey, rootElement))),\n )\n\n return () => {\n unregisterDocuments.forEach(unregisterDocument => {\n unregisterDocument()\n })\n }\n }, [store, rootElements])\n\n return (\n <StoreContext.Provider value={store}>\n <MakeswiftHostApiClientProvider client={client}>{children}</MakeswiftHostApiClientProvider>\n </StoreContext.Provider>\n )\n}\n"],"mappings":";AA8CM;AA5CN,SAAoB,WAAW,eAAe;AAE9C,SAAS,oBAAoB;AAC7B,SAAS,oBAAoB;AAC7B,YAAY,yBAAyB;AACrC,YAAY,eAAe;AAE3B,SAAS,8BAA8B;AACvC,SAAS,uBAAuB;AAChC,SAAS,sCAAsC;AAQhC,SAAR,gBAAiC,EAAE,QAAQ,UAAU,aAAa,GAAuB;AAC9F,QAAM,UAAU,gBAAgB;AAChC,QAAM,QAAQ;AAAA,IACZ,MACE,oBAAoB,eAAe;AAAA,MACjC,gBAAgB,UAAU,QAAQ,MAAM,SAAS,IAAI,aAAa,MAAM,SAAS;AAAA,MACjF;AAAA,MACA;AAAA,IACF,CAAC;AAAA,IACH,CAAC,QAAQ,cAAc,OAAO;AAAA,EAChC;AAEA,YAAU,MAAM;AACd,UAAM,sBAAsB,MAAM,KAAK,cAAc,QAAQ,KAAK,CAAC,CAAC,EAAE;AAAA,MACpE,CAAC,CAAC,aAAa,WAAW,MACxB,MAAM,SAAS,uBAAuB,UAAU,eAAe,aAAa,WAAW,CAAC,CAAC;AAAA,IAC7F;AAEA,WAAO,MAAM;AACX,0BAAoB,QAAQ,wBAAsB;AAChD,2BAAmB;AAAA,MACrB,CAAC;AAAA,IACH;AAAA,EACF,GAAG,CAAC,OAAO,YAAY,CAAC;AAExB,SACE,oBAAC,aAAa,UAAb,EAAsB,OAAO,OAC5B,8BAAC,kCAA+B,QAAiB,UAAS,GAC5D;AAEJ;","names":[]}
@@ -1,7 +1,7 @@
1
1
  import { jsx } from "react/jsx-runtime";
2
- import dynamic from "next/dynamic";
3
- const PreviewProvider = dynamic(() => import("./PreviewProvider"));
4
- const LiveProvider = dynamic(() => import("./LiveProvider"));
2
+ import { lazy } from "react";
3
+ const PreviewProvider = lazy(() => import("./PreviewProvider"));
4
+ const LiveProvider = lazy(() => import("./LiveProvider"));
5
5
  function RuntimeProvider({ preview, ...props }) {
6
6
  return preview ? /* @__PURE__ */ jsx(PreviewProvider, { ...props }) : /* @__PURE__ */ jsx(LiveProvider, { ...props });
7
7
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/runtimes/react/components/RuntimeProvider.tsx"],"sourcesContent":["import { ReactNode } from 'react'\nimport { MakeswiftClient } from '../../../api/react'\nimport { Element as ReactPageElement } from '../../../state/react-page'\nimport { ReactRuntime } from '../react-runtime'\nimport dynamic from 'next/dynamic'\n\ntype RuntimeProviderProps = {\n client: MakeswiftClient\n preview: boolean\n rootElements?: Map<string, ReactPageElement>\n children?: ReactNode\n runtime?: ReactRuntime\n}\n\nconst PreviewProvider = dynamic(() => import('./PreviewProvider'))\nconst LiveProvider = dynamic(() => import('./LiveProvider'))\n\nexport function RuntimeProvider({ preview, ...props }: RuntimeProviderProps): JSX.Element {\n return preview ? <PreviewProvider {...props} /> : <LiveProvider {...props} />\n}\n"],"mappings":"AAkBmB;AAdnB,OAAO,aAAa;AAUpB,MAAM,kBAAkB,QAAQ,MAAM,OAAO,mBAAmB,CAAC;AACjE,MAAM,eAAe,QAAQ,MAAM,OAAO,gBAAgB,CAAC;AAEpD,SAAS,gBAAgB,EAAE,SAAS,GAAG,MAAM,GAAsC;AACxF,SAAO,UAAU,oBAAC,mBAAiB,GAAG,OAAO,IAAK,oBAAC,gBAAc,GAAG,OAAO;AAC7E;","names":[]}
1
+ {"version":3,"sources":["../../../../../src/runtimes/react/components/RuntimeProvider.tsx"],"sourcesContent":["import { ReactNode, lazy } from 'react'\nimport { MakeswiftHostApiClient } from '../../../api/react'\nimport { Element as ReactPageElement } from '../../../state/react-page'\nimport { ReactRuntime } from '../react-runtime'\n\ntype RuntimeProviderProps = {\n client: MakeswiftHostApiClient\n preview: boolean\n rootElements?: Map<string, ReactPageElement>\n children?: ReactNode\n runtime?: ReactRuntime\n}\n\nconst PreviewProvider = lazy(() => import('./PreviewProvider'))\nconst LiveProvider = lazy(() => import('./LiveProvider'))\n\nexport function RuntimeProvider({ preview, ...props }: RuntimeProviderProps): JSX.Element {\n return preview ? <PreviewProvider {...props} /> : <LiveProvider {...props} />\n}\n"],"mappings":"AAiBmB;AAjBnB,SAAoB,YAAY;AAahC,MAAM,kBAAkB,KAAK,MAAM,OAAO,mBAAmB,CAAC;AAC9D,MAAM,eAAe,KAAK,MAAM,OAAO,gBAAgB,CAAC;AAEjD,SAAS,gBAAgB,EAAE,SAAS,GAAG,MAAM,GAAsC;AACxF,SAAO,UAAU,oBAAC,mBAAiB,GAAG,OAAO,IAAK,oBAAC,gBAAc,GAAG,OAAO;AAC7E;","names":[]}
@@ -14,7 +14,7 @@ function useLinkControlValue(link, _definition) {
14
14
  switch (link.type) {
15
15
  case "OPEN_PAGE": {
16
16
  if (page)
17
- href = `/${page.pathname}`;
17
+ href = `/${page.localizedPathname ?? page.pathname}`;
18
18
  target = link.payload.openInNewTab ? "_blank" : "_self";
19
19
  break;
20
20
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/runtimes/react/controls/link.ts"],"sourcesContent":["import { MouseEvent, useCallback, useMemo } from 'react'\n\nimport scrollIntoView from 'scroll-into-view-if-needed'\nimport { useElementId } from '../'\nimport { LinkControlData, LinkControlDefinition } from '../../../controls'\nimport { usePagePathnameSlice } from '../hooks/makeswift-api'\n\ntype LinkValue = {\n href: string\n target: '_blank' | '_self' | undefined\n onClick: (event: MouseEvent<HTMLElement>) => void\n}\n\nexport type LinkControlValue<_T extends LinkControlDefinition> = LinkValue | undefined\n\nexport function useLinkControlValue<T extends LinkControlDefinition>(\n link: LinkControlData | undefined,\n _definition: T,\n): LinkControlValue<T> {\n const pageId = link && link.type === 'OPEN_PAGE' ? link.payload.pageId : null\n const page = usePagePathnameSlice(pageId ?? null)\n const elementKey =\n link?.type === 'SCROLL_TO_ELEMENT' ? link.payload.elementIdConfig?.elementKey : null\n const elementId = useElementId(elementKey)\n\n let href = '#'\n let target: '_blank' | '_self' | undefined\n let block: 'start' | 'center' | 'end' | undefined\n\n if (link) {\n switch (link.type) {\n case 'OPEN_PAGE': {\n if (page) href = `/${page.pathname}`\n\n target = link.payload.openInNewTab ? '_blank' : '_self'\n\n break\n }\n\n case 'OPEN_URL': {\n href = link.payload.url\n\n target = link.payload.openInNewTab ? '_blank' : '_self'\n\n break\n }\n\n case 'SEND_EMAIL': {\n const { to, subject = '', body = '' } = link.payload\n\n if (to != null) href = `mailto:${to}?subject=${subject}&body=${body}`\n\n break\n }\n\n case 'CALL_PHONE': {\n href = `tel:${link.payload.phoneNumber}`\n\n break\n }\n\n case 'SCROLL_TO_ELEMENT': {\n href = `#${elementId ?? ''}`\n block = link.payload.block\n\n break\n }\n\n default:\n throw new RangeError(`Invalid link type \"${(link as any).type}.\"`)\n }\n }\n\n const handleClick = useCallback(\n (event: MouseEvent<HTMLElement>) => {\n if (event.defaultPrevented) return\n\n if (link && link.type === 'SCROLL_TO_ELEMENT') {\n let hash: string | undefined\n\n try {\n hash = new URL(`http://www.example.com/${href}`).hash\n } catch (error) {\n console.error(`Link received invalid href: ${href}`, error)\n }\n\n if (href != null && href === hash) {\n event.preventDefault()\n const view = event.view as unknown as Window\n\n scrollIntoView(view.document.querySelector(hash)!, {\n behavior: 'smooth',\n block,\n })\n\n if (view.location.hash !== hash) view.history.pushState({}, '', hash)\n }\n }\n },\n [link, href, block],\n )\n\n const res = useMemo(() => ({ href, target, onClick: handleClick }), [href, target, handleClick])\n\n return res\n}\n"],"mappings":"AAAA,SAAqB,aAAa,eAAe;AAEjD,OAAO,oBAAoB;AAC3B,SAAS,oBAAoB;AAE7B,SAAS,4BAA4B;AAU9B,SAAS,oBACd,MACA,aACqB;AACrB,QAAM,SAAS,QAAQ,KAAK,SAAS,cAAc,KAAK,QAAQ,SAAS;AACzE,QAAM,OAAO,qBAAqB,UAAU,IAAI;AAChD,QAAM,aACJ,MAAM,SAAS,sBAAsB,KAAK,QAAQ,iBAAiB,aAAa;AAClF,QAAM,YAAY,aAAa,UAAU;AAEzC,MAAI,OAAO;AACX,MAAI;AACJ,MAAI;AAEJ,MAAI,MAAM;AACR,YAAQ,KAAK,MAAM;AAAA,MACjB,KAAK,aAAa;AAChB,YAAI;AAAM,iBAAO,IAAI,KAAK,QAAQ;AAElC,iBAAS,KAAK,QAAQ,eAAe,WAAW;AAEhD;AAAA,MACF;AAAA,MAEA,KAAK,YAAY;AACf,eAAO,KAAK,QAAQ;AAEpB,iBAAS,KAAK,QAAQ,eAAe,WAAW;AAEhD;AAAA,MACF;AAAA,MAEA,KAAK,cAAc;AACjB,cAAM,EAAE,IAAI,UAAU,IAAI,OAAO,GAAG,IAAI,KAAK;AAE7C,YAAI,MAAM;AAAM,iBAAO,UAAU,EAAE,YAAY,OAAO,SAAS,IAAI;AAEnE;AAAA,MACF;AAAA,MAEA,KAAK,cAAc;AACjB,eAAO,OAAO,KAAK,QAAQ,WAAW;AAEtC;AAAA,MACF;AAAA,MAEA,KAAK,qBAAqB;AACxB,eAAO,IAAI,aAAa,EAAE;AAC1B,gBAAQ,KAAK,QAAQ;AAErB;AAAA,MACF;AAAA,MAEA;AACE,cAAM,IAAI,WAAW,sBAAuB,KAAa,IAAI,IAAI;AAAA,IACrE;AAAA,EACF;AAEA,QAAM,cAAc;AAAA,IAClB,CAAC,UAAmC;AAClC,UAAI,MAAM;AAAkB;AAE5B,UAAI,QAAQ,KAAK,SAAS,qBAAqB;AAC7C,YAAI;AAEJ,YAAI;AACF,iBAAO,IAAI,IAAI,0BAA0B,IAAI,EAAE,EAAE;AAAA,QACnD,SAAS,OAAO;AACd,kBAAQ,MAAM,+BAA+B,IAAI,IAAI,KAAK;AAAA,QAC5D;AAEA,YAAI,QAAQ,QAAQ,SAAS,MAAM;AACjC,gBAAM,eAAe;AACrB,gBAAM,OAAO,MAAM;AAEnB,yBAAe,KAAK,SAAS,cAAc,IAAI,GAAI;AAAA,YACjD,UAAU;AAAA,YACV;AAAA,UACF,CAAC;AAED,cAAI,KAAK,SAAS,SAAS;AAAM,iBAAK,QAAQ,UAAU,CAAC,GAAG,IAAI,IAAI;AAAA,QACtE;AAAA,MACF;AAAA,IACF;AAAA,IACA,CAAC,MAAM,MAAM,KAAK;AAAA,EACpB;AAEA,QAAM,MAAM,QAAQ,OAAO,EAAE,MAAM,QAAQ,SAAS,YAAY,IAAI,CAAC,MAAM,QAAQ,WAAW,CAAC;AAE/F,SAAO;AACT;","names":[]}
1
+ {"version":3,"sources":["../../../../../src/runtimes/react/controls/link.ts"],"sourcesContent":["import { MouseEvent, useCallback, useMemo } from 'react'\n\nimport scrollIntoView from 'scroll-into-view-if-needed'\nimport { useElementId } from '../'\nimport { LinkControlData, LinkControlDefinition } from '../../../controls'\nimport { usePagePathnameSlice } from '../hooks/makeswift-api'\n\ntype LinkValue = {\n href: string\n target: '_blank' | '_self' | undefined\n onClick: (event: MouseEvent<HTMLElement>) => void\n}\n\nexport type LinkControlValue<_T extends LinkControlDefinition> = LinkValue | undefined\n\nexport function useLinkControlValue<T extends LinkControlDefinition>(\n link: LinkControlData | undefined,\n _definition: T,\n): LinkControlValue<T> {\n const pageId = link && link.type === 'OPEN_PAGE' ? link.payload.pageId : null\n const page = usePagePathnameSlice(pageId ?? null)\n\n const elementKey =\n link?.type === 'SCROLL_TO_ELEMENT' ? link.payload.elementIdConfig?.elementKey : null\n const elementId = useElementId(elementKey)\n\n let href = '#'\n let target: '_blank' | '_self' | undefined\n let block: 'start' | 'center' | 'end' | undefined\n\n if (link) {\n switch (link.type) {\n case 'OPEN_PAGE': {\n if (page) href = `/${page.localizedPathname ?? page.pathname}`\n\n target = link.payload.openInNewTab ? '_blank' : '_self'\n\n break\n }\n\n case 'OPEN_URL': {\n href = link.payload.url\n\n target = link.payload.openInNewTab ? '_blank' : '_self'\n\n break\n }\n\n case 'SEND_EMAIL': {\n const { to, subject = '', body = '' } = link.payload\n\n if (to != null) href = `mailto:${to}?subject=${subject}&body=${body}`\n\n break\n }\n\n case 'CALL_PHONE': {\n href = `tel:${link.payload.phoneNumber}`\n\n break\n }\n\n case 'SCROLL_TO_ELEMENT': {\n href = `#${elementId ?? ''}`\n block = link.payload.block\n\n break\n }\n\n default:\n throw new RangeError(`Invalid link type \"${(link as any).type}.\"`)\n }\n }\n\n const handleClick = useCallback(\n (event: MouseEvent<HTMLElement>) => {\n if (event.defaultPrevented) return\n\n if (link && link.type === 'SCROLL_TO_ELEMENT') {\n let hash: string | undefined\n\n try {\n hash = new URL(`http://www.example.com/${href}`).hash\n } catch (error) {\n console.error(`Link received invalid href: ${href}`, error)\n }\n\n if (href != null && href === hash) {\n event.preventDefault()\n const view = event.view as unknown as Window\n\n scrollIntoView(view.document.querySelector(hash)!, {\n behavior: 'smooth',\n block,\n })\n\n if (view.location.hash !== hash) view.history.pushState({}, '', hash)\n }\n }\n },\n [link, href, block],\n )\n\n const res = useMemo(() => ({ href, target, onClick: handleClick }), [href, target, handleClick])\n\n return res\n}\n"],"mappings":"AAAA,SAAqB,aAAa,eAAe;AAEjD,OAAO,oBAAoB;AAC3B,SAAS,oBAAoB;AAE7B,SAAS,4BAA4B;AAU9B,SAAS,oBACd,MACA,aACqB;AACrB,QAAM,SAAS,QAAQ,KAAK,SAAS,cAAc,KAAK,QAAQ,SAAS;AACzE,QAAM,OAAO,qBAAqB,UAAU,IAAI;AAEhD,QAAM,aACJ,MAAM,SAAS,sBAAsB,KAAK,QAAQ,iBAAiB,aAAa;AAClF,QAAM,YAAY,aAAa,UAAU;AAEzC,MAAI,OAAO;AACX,MAAI;AACJ,MAAI;AAEJ,MAAI,MAAM;AACR,YAAQ,KAAK,MAAM;AAAA,MACjB,KAAK,aAAa;AAChB,YAAI;AAAM,iBAAO,IAAI,KAAK,qBAAqB,KAAK,QAAQ;AAE5D,iBAAS,KAAK,QAAQ,eAAe,WAAW;AAEhD;AAAA,MACF;AAAA,MAEA,KAAK,YAAY;AACf,eAAO,KAAK,QAAQ;AAEpB,iBAAS,KAAK,QAAQ,eAAe,WAAW;AAEhD;AAAA,MACF;AAAA,MAEA,KAAK,cAAc;AACjB,cAAM,EAAE,IAAI,UAAU,IAAI,OAAO,GAAG,IAAI,KAAK;AAE7C,YAAI,MAAM;AAAM,iBAAO,UAAU,EAAE,YAAY,OAAO,SAAS,IAAI;AAEnE;AAAA,MACF;AAAA,MAEA,KAAK,cAAc;AACjB,eAAO,OAAO,KAAK,QAAQ,WAAW;AAEtC;AAAA,MACF;AAAA,MAEA,KAAK,qBAAqB;AACxB,eAAO,IAAI,aAAa,EAAE;AAC1B,gBAAQ,KAAK,QAAQ;AAErB;AAAA,MACF;AAAA,MAEA;AACE,cAAM,IAAI,WAAW,sBAAuB,KAAa,IAAI,IAAI;AAAA,IACrE;AAAA,EACF;AAEA,QAAM,cAAc;AAAA,IAClB,CAAC,UAAmC;AAClC,UAAI,MAAM;AAAkB;AAE5B,UAAI,QAAQ,KAAK,SAAS,qBAAqB;AAC7C,YAAI;AAEJ,YAAI;AACF,iBAAO,IAAI,IAAI,0BAA0B,IAAI,EAAE,EAAE;AAAA,QACnD,SAAS,OAAO;AACd,kBAAQ,MAAM,+BAA+B,IAAI,IAAI,KAAK;AAAA,QAC5D;AAEA,YAAI,QAAQ,QAAQ,SAAS,MAAM;AACjC,gBAAM,eAAe;AACrB,gBAAM,OAAO,MAAM;AAEnB,yBAAe,KAAK,SAAS,cAAc,IAAI,GAAI;AAAA,YACjD,UAAU;AAAA,YACV;AAAA,UACF,CAAC;AAED,cAAI,KAAK,SAAS,SAAS;AAAM,iBAAK,QAAQ,UAAU,CAAC,GAAG,IAAI,IAAI;AAAA,QACtE;AAAA,MACF;AAAA,IACF;AAAA,IACA,CAAC,MAAM,MAAM,KAAK;AAAA,EACpB;AAEA,QAAM,MAAM,QAAQ,OAAO,EAAE,MAAM,QAAQ,SAAS,YAAY,IAAI,CAAC,MAAM,QAAQ,WAAW,CAAC;AAE/F,SAAO;AACT;","names":[]}
@@ -1,13 +1,11 @@
1
1
  import { jsx } from "react/jsx-runtime";
2
- import dynamic from "next/dynamic";
3
- import { useCallback } from "react";
4
- import { forwardNextDynamicRef } from "../../../../next/dynamic";
2
+ import { lazy, useCallback } from "react";
5
3
  import {
6
4
  isPropControllersHandle
7
5
  } from "../../../../state/modules/prop-controller-handles";
8
6
  import { useIsPreview } from "../../hooks/use-is-preview";
9
- const EditableText = forwardNextDynamicRef((patch) => dynamic(() => patch(import("./EditableText"))));
10
- const ReadOnlyText = forwardNextDynamicRef((patch) => dynamic(() => patch(import("./ReadOnlyText"))));
7
+ const EditableText = lazy(() => import("./EditableText"));
8
+ const ReadOnlyText = lazy(() => import("./ReadOnlyText"));
11
9
  function useRichText(data, control) {
12
10
  const textCallbackRef = useCallback(
13
11
  (handle) => {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../src/runtimes/react/controls/rich-text/rich-text.tsx"],"sourcesContent":["import dynamic from 'next/dynamic'\nimport { ReactNode, useCallback } from 'react'\nimport {\n RichTextControl,\n RichTextControlData,\n RichTextControlDefinition,\n} from '../../../../controls/rich-text'\nimport { forwardNextDynamicRef } from '../../../../next/dynamic'\nimport {\n isPropControllersHandle,\n PropControllersHandle,\n} from '../../../../state/modules/prop-controller-handles'\nimport { useIsPreview } from '../../hooks/use-is-preview'\n\nconst EditableText = forwardNextDynamicRef(patch => dynamic(() => patch(import('./EditableText'))))\nconst ReadOnlyText = forwardNextDynamicRef(patch => dynamic(() => patch(import('./ReadOnlyText'))))\n\nexport type RichTextControlValue = ReactNode\n\nexport type Descriptors = { text?: RichTextControlDefinition }\n\nexport function useRichText(data: RichTextControlData, control: RichTextControl | null) {\n const textCallbackRef = useCallback(\n (handle: PropControllersHandle<Descriptors> | HTMLDivElement) => {\n if (isPropControllersHandle(handle))\n handle?.setPropControllers?.(control == null ? null : { text: control })\n },\n [control],\n )\n\n const isPreview = useIsPreview()\n\n return isPreview ? (\n <EditableText text={data} ref={textCallbackRef} />\n ) : (\n <ReadOnlyText text={data} ref={textCallbackRef} />\n )\n}\n"],"mappings":"AAiCI;AAjCJ,OAAO,aAAa;AACpB,SAAoB,mBAAmB;AAMvC,SAAS,6BAA6B;AACtC;AAAA,EACE;AAAA,OAEK;AACP,SAAS,oBAAoB;AAE7B,MAAM,eAAe,sBAAsB,WAAS,QAAQ,MAAM,MAAM,OAAO,gBAAgB,CAAC,CAAC,CAAC;AAClG,MAAM,eAAe,sBAAsB,WAAS,QAAQ,MAAM,MAAM,OAAO,gBAAgB,CAAC,CAAC,CAAC;AAM3F,SAAS,YAAY,MAA2B,SAAiC;AACtF,QAAM,kBAAkB;AAAA,IACtB,CAAC,WAAgE;AAC/D,UAAI,wBAAwB,MAAM;AAChC,gBAAQ,qBAAqB,WAAW,OAAO,OAAO,EAAE,MAAM,QAAQ,CAAC;AAAA,IAC3E;AAAA,IACA,CAAC,OAAO;AAAA,EACV;AAEA,QAAM,YAAY,aAAa;AAE/B,SAAO,YACL,oBAAC,gBAAa,MAAM,MAAM,KAAK,iBAAiB,IAEhD,oBAAC,gBAAa,MAAM,MAAM,KAAK,iBAAiB;AAEpD;","names":[]}
1
+ {"version":3,"sources":["../../../../../../src/runtimes/react/controls/rich-text/rich-text.tsx"],"sourcesContent":["import { ReactNode, lazy, useCallback } from 'react'\nimport {\n RichTextControl,\n RichTextControlData,\n RichTextControlDefinition,\n} from '../../../../controls/rich-text'\nimport {\n isPropControllersHandle,\n PropControllersHandle,\n} from '../../../../state/modules/prop-controller-handles'\nimport { useIsPreview } from '../../hooks/use-is-preview'\n\nconst EditableText = lazy(() => import('./EditableText'))\nconst ReadOnlyText = lazy(() => import('./ReadOnlyText'))\n\nexport type RichTextControlValue = ReactNode\n\nexport type Descriptors = { text?: RichTextControlDefinition }\n\nexport function useRichText(data: RichTextControlData, control: RichTextControl | null) {\n const textCallbackRef = useCallback(\n (handle: PropControllersHandle<Descriptors> | HTMLDivElement | null) => {\n if (isPropControllersHandle(handle))\n handle?.setPropControllers?.(control == null ? null : { text: control })\n },\n [control],\n )\n\n const isPreview = useIsPreview()\n\n return isPreview ? (\n <EditableText text={data} ref={textCallbackRef} />\n ) : (\n <ReadOnlyText text={data} ref={textCallbackRef} />\n )\n}\n"],"mappings":"AA+BI;AA/BJ,SAAoB,MAAM,mBAAmB;AAM7C;AAAA,EACE;AAAA,OAEK;AACP,SAAS,oBAAoB;AAE7B,MAAM,eAAe,KAAK,MAAM,OAAO,gBAAgB,CAAC;AACxD,MAAM,eAAe,KAAK,MAAM,OAAO,gBAAgB,CAAC;AAMjD,SAAS,YAAY,MAA2B,SAAiC;AACtF,QAAM,kBAAkB;AAAA,IACtB,CAAC,WAAuE;AACtE,UAAI,wBAAwB,MAAM;AAChC,gBAAQ,qBAAqB,WAAW,OAAO,OAAO,EAAE,MAAM,QAAQ,CAAC;AAAA,IAC3E;AAAA,IACA,CAAC,OAAO;AAAA,EACV;AAEA,QAAM,YAAY,aAAa;AAE/B,SAAO,YACL,oBAAC,gBAAa,MAAM,MAAM,KAAK,iBAAiB,IAEhD,oBAAC,gBAAa,MAAM,MAAM,KAAK,iBAAiB;AAEpD;","names":[]}
@@ -1,19 +1,12 @@
1
1
  import { jsx } from "react/jsx-runtime";
2
+ import { lazy } from "react";
2
3
  import {
3
4
  isRichTextV1Data
4
5
  } from "../../../../controls";
5
6
  import { useIsPreview } from "../../../react";
6
- import { forwardNextDynamicRef } from "../../../../next/dynamic";
7
- import dynamic from "next/dynamic";
8
- const EditableText = forwardNextDynamicRef(
9
- (patch) => dynamic(() => patch(import("./EditableTextV2")))
10
- );
11
- const ReadOnlyText = forwardNextDynamicRef(
12
- (patch) => dynamic(() => patch(import("./ReadOnlyTextV2")))
13
- );
14
- const ReadOnlyTextV1 = forwardNextDynamicRef(
15
- (patch) => dynamic(() => patch(import("../rich-text/ReadOnlyText")))
16
- );
7
+ const EditableText = lazy(() => import("./EditableTextV2"));
8
+ const ReadOnlyText = lazy(() => import("./ReadOnlyTextV2"));
9
+ const ReadOnlyTextV1 = lazy(() => import("../rich-text/ReadOnlyText"));
17
10
  function useRichTextV2(data, definition, control) {
18
11
  const isPreview = useIsPreview();
19
12
  if (isRichTextV1Data(data)) {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../src/runtimes/react/controls/rich-text-v2/rich-text-v2.tsx"],"sourcesContent":["import { ReactNode } from 'react'\n\nimport {\n RichTextControlData,\n RichTextV2Control,\n RichTextV2ControlData,\n RichTextV2ControlDefinition,\n isRichTextV1Data,\n} from '../../../../controls'\nimport { useIsPreview } from '../../../react'\nimport { forwardNextDynamicRef } from '../../../../next/dynamic'\nimport dynamic from 'next/dynamic'\n\nexport type RichTextV2ControlValue = ReactNode\n\nexport type Descriptors = { text?: RichTextV2ControlDefinition }\n\nconst EditableText = forwardNextDynamicRef(patch =>\n dynamic(() => patch(import('./EditableTextV2'))),\n)\nconst ReadOnlyText = forwardNextDynamicRef(patch =>\n dynamic(() => patch(import('./ReadOnlyTextV2'))),\n)\n\nconst ReadOnlyTextV1 = forwardNextDynamicRef(patch =>\n dynamic(() => patch(import('../rich-text/ReadOnlyText'))),\n)\n\nexport function useRichTextV2(\n data: RichTextV2ControlData | RichTextControlData,\n definition: RichTextV2ControlDefinition,\n control: RichTextV2Control | null,\n) {\n const isPreview = useIsPreview()\n\n if (isRichTextV1Data(data)) {\n return <ReadOnlyTextV1 text={data} />\n }\n\n return isPreview ? (\n <EditableText text={data} definition={definition} control={control} />\n ) : (\n <ReadOnlyText text={data} definition={definition} />\n )\n}\n"],"mappings":"AAoCW;AAlCX;AAAA,EAKE;AAAA,OACK;AACP,SAAS,oBAAoB;AAC7B,SAAS,6BAA6B;AACtC,OAAO,aAAa;AAMpB,MAAM,eAAe;AAAA,EAAsB,WACzC,QAAQ,MAAM,MAAM,OAAO,kBAAkB,CAAC,CAAC;AACjD;AACA,MAAM,eAAe;AAAA,EAAsB,WACzC,QAAQ,MAAM,MAAM,OAAO,kBAAkB,CAAC,CAAC;AACjD;AAEA,MAAM,iBAAiB;AAAA,EAAsB,WAC3C,QAAQ,MAAM,MAAM,OAAO,2BAA2B,CAAC,CAAC;AAC1D;AAEO,SAAS,cACd,MACA,YACA,SACA;AACA,QAAM,YAAY,aAAa;AAE/B,MAAI,iBAAiB,IAAI,GAAG;AAC1B,WAAO,oBAAC,kBAAe,MAAM,MAAM;AAAA,EACrC;AAEA,SAAO,YACL,oBAAC,gBAAa,MAAM,MAAM,YAAwB,SAAkB,IAEpE,oBAAC,gBAAa,MAAM,MAAM,YAAwB;AAEtD;","names":[]}
1
+ {"version":3,"sources":["../../../../../../src/runtimes/react/controls/rich-text-v2/rich-text-v2.tsx"],"sourcesContent":["import { ReactNode, lazy } from 'react'\n\nimport {\n RichTextControlData,\n RichTextV2Control,\n RichTextV2ControlData,\n RichTextV2ControlDefinition,\n isRichTextV1Data,\n} from '../../../../controls'\nimport { useIsPreview } from '../../../react'\n\nexport type RichTextV2ControlValue = ReactNode\n\nexport type Descriptors = { text?: RichTextV2ControlDefinition }\n\nconst EditableText = lazy(() => import('./EditableTextV2'))\nconst ReadOnlyText = lazy(() => import('./ReadOnlyTextV2'))\n\nconst ReadOnlyTextV1 = lazy(() => import('../rich-text/ReadOnlyText'))\n\nexport function useRichTextV2(\n data: RichTextV2ControlData | RichTextControlData,\n definition: RichTextV2ControlDefinition,\n control: RichTextV2Control | null,\n) {\n const isPreview = useIsPreview()\n\n if (isRichTextV1Data(data)) {\n return <ReadOnlyTextV1 text={data} />\n }\n\n return isPreview ? (\n <EditableText text={data} definition={definition} control={control} />\n ) : (\n <ReadOnlyText text={data} definition={definition} />\n )\n}\n"],"mappings":"AA4BW;AA5BX,SAAoB,YAAY;AAEhC;AAAA,EAKE;AAAA,OACK;AACP,SAAS,oBAAoB;AAM7B,MAAM,eAAe,KAAK,MAAM,OAAO,kBAAkB,CAAC;AAC1D,MAAM,eAAe,KAAK,MAAM,OAAO,kBAAkB,CAAC;AAE1D,MAAM,iBAAiB,KAAK,MAAM,OAAO,2BAA2B,CAAC;AAE9D,SAAS,cACd,MACA,YACA,SACA;AACA,QAAM,YAAY,aAAa;AAE/B,MAAI,iBAAiB,IAAI,GAAG;AAC1B,WAAO,oBAAC,kBAAe,MAAM,MAAM;AAAA,EACrC;AAEA,SAAO,YACL,oBAAC,gBAAa,MAAM,MAAM,YAAwB,SAAkB,IAEpE,oBAAC,gBAAa,MAAM,MAAM,YAAwB;AAEtD;","names":[]}