@makeswift/runtime 0.24.0-canary.1 → 0.24.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 (431) hide show
  1. package/dist/cjs/api/react.js +28 -7
  2. package/dist/cjs/api/react.js.map +1 -1
  3. package/dist/cjs/api/site-version.js +36 -0
  4. package/dist/cjs/api/site-version.js.map +1 -0
  5. package/dist/cjs/components/builtin/Box/register.js +3 -3
  6. package/dist/cjs/components/builtin/Box/register.js.map +1 -1
  7. package/dist/cjs/components/builtin/Button/register.js +2 -2
  8. package/dist/cjs/components/builtin/Button/register.js.map +1 -1
  9. package/dist/cjs/components/builtin/Carousel/Carousel.js +6 -5
  10. package/dist/cjs/components/builtin/Carousel/Carousel.js.map +1 -1
  11. package/dist/cjs/components/builtin/Carousel/register.js +2 -2
  12. package/dist/cjs/components/builtin/Carousel/register.js.map +1 -1
  13. package/dist/cjs/components/builtin/Countdown/register.js +2 -2
  14. package/dist/cjs/components/builtin/Countdown/register.js.map +1 -1
  15. package/dist/cjs/components/builtin/Form/register.js +4 -4
  16. package/dist/cjs/components/builtin/Form/register.js.map +1 -1
  17. package/dist/cjs/components/builtin/Image/Image.js +3 -3
  18. package/dist/cjs/components/builtin/Image/Image.js.map +1 -1
  19. package/dist/cjs/components/builtin/Navigation/register.js +4 -4
  20. package/dist/cjs/components/builtin/Navigation/register.js.map +1 -1
  21. package/dist/cjs/components/builtin/SocialLinks/register.js +3 -3
  22. package/dist/cjs/components/builtin/SocialLinks/register.js.map +1 -1
  23. package/dist/cjs/components/builtin/Text/register.js +3 -3
  24. package/dist/cjs/components/builtin/Text/register.js.map +1 -1
  25. package/dist/cjs/components/hooks/useMediaQuery.js +5 -5
  26. package/dist/cjs/components/hooks/useMediaQuery.js.map +1 -1
  27. package/dist/cjs/components/page/Page.js +7 -4
  28. package/dist/cjs/components/page/Page.js.map +1 -1
  29. package/dist/cjs/components/page/PageHead.js +17 -8
  30. package/dist/cjs/components/page/PageHead.js.map +1 -1
  31. package/dist/cjs/components/page/page-seo-settings.js +43 -0
  32. package/dist/cjs/components/page/page-seo-settings.js.map +1 -0
  33. package/dist/cjs/components/shared/Link/index.js +3 -1
  34. package/dist/cjs/components/shared/Link/index.js.map +1 -1
  35. package/dist/cjs/components/utils/responsive-style.js +2 -3
  36. package/dist/cjs/components/utils/responsive-style.js.map +1 -1
  37. package/dist/cjs/core/index.js +18 -2
  38. package/dist/cjs/core/index.js.map +1 -1
  39. package/dist/cjs/jest-setup.js +3 -0
  40. package/dist/cjs/jest-setup.js.map +1 -1
  41. package/dist/cjs/locale.js +79 -0
  42. package/dist/cjs/locale.js.map +1 -1
  43. package/dist/cjs/next/api-handler/handlers/clear-draft.js +64 -0
  44. package/dist/cjs/next/api-handler/handlers/clear-draft.js.map +1 -0
  45. package/dist/cjs/next/api-handler/handlers/manifest.js +3 -2
  46. package/dist/cjs/next/api-handler/handlers/manifest.js.map +1 -1
  47. package/dist/cjs/next/api-handler/handlers/redirect-draft.js +77 -0
  48. package/dist/cjs/next/api-handler/handlers/redirect-draft.js.map +1 -0
  49. package/dist/cjs/next/api-handler/handlers/redirect-preview.js +67 -0
  50. package/dist/cjs/next/api-handler/handlers/redirect-preview.js.map +1 -0
  51. package/dist/cjs/next/api-handler/handlers/utils/draft.js +53 -0
  52. package/dist/cjs/next/api-handler/handlers/utils/draft.js.map +1 -0
  53. package/dist/cjs/next/api-handler/handlers/webhook/index.js +3 -3
  54. package/dist/cjs/next/api-handler/handlers/webhook/index.js.map +1 -1
  55. package/dist/cjs/next/api-handler/handlers/webhook/site-published.js +8 -5
  56. package/dist/cjs/next/api-handler/handlers/webhook/site-published.js.map +1 -1
  57. package/dist/cjs/next/api-handler/handlers/webhook/types.js.map +1 -1
  58. package/dist/cjs/next/api-handler/index.js +24 -9
  59. package/dist/cjs/next/api-handler/index.js.map +1 -1
  60. package/dist/cjs/next/cache.js +29 -0
  61. package/dist/cjs/next/cache.js.map +1 -0
  62. package/dist/cjs/next/client.js +135 -60
  63. package/dist/cjs/next/client.js.map +1 -1
  64. package/dist/cjs/next/components/page.js +3 -2
  65. package/dist/cjs/next/components/page.js.map +1 -1
  66. package/dist/cjs/next/components/tests/controls/color-control/fixtures.js +51 -0
  67. package/dist/cjs/next/components/tests/controls/color-control/fixtures.js.map +1 -0
  68. package/dist/cjs/next/components/tests/controls/page-control-prop-rendering.js +4 -1
  69. package/dist/cjs/next/components/tests/controls/page-control-prop-rendering.js.map +1 -1
  70. package/dist/cjs/next/components/tests/controls/rich-text-v2-control/fixtures.js +91 -0
  71. package/dist/cjs/next/components/tests/controls/rich-text-v2-control/fixtures.js.map +1 -0
  72. package/dist/cjs/next/document.js +1 -3
  73. package/dist/cjs/next/document.js.map +1 -1
  74. package/dist/cjs/next/draft-mode/index.js +3 -3
  75. package/dist/cjs/next/draft-mode/index.js.map +1 -1
  76. package/dist/cjs/next/hooks/use-is-pages-router.js.map +1 -1
  77. package/dist/cjs/next/index.js +0 -3
  78. package/dist/cjs/next/index.js.map +1 -1
  79. package/dist/cjs/next/middleware/index.js +29 -0
  80. package/dist/cjs/next/middleware/index.js.map +1 -0
  81. package/dist/cjs/next/middleware/request-utils.js +49 -0
  82. package/dist/cjs/next/middleware/request-utils.js.map +1 -0
  83. package/dist/cjs/next/preview-mode.js +4 -110
  84. package/dist/cjs/next/preview-mode.js.map +1 -1
  85. package/dist/cjs/next/root-style-registry.js +7 -4
  86. package/dist/cjs/next/root-style-registry.js.map +1 -1
  87. package/dist/cjs/next/server.js +0 -3
  88. package/dist/cjs/next/server.js.map +1 -1
  89. package/dist/cjs/next/tests/test-utils.js +61 -0
  90. package/dist/cjs/next/tests/test-utils.js.map +1 -0
  91. package/dist/cjs/runtimes/react/components/Document.js +1 -1
  92. package/dist/cjs/runtimes/react/components/Document.js.map +1 -1
  93. package/dist/cjs/runtimes/react/components/ElementData.js +1 -0
  94. package/dist/cjs/runtimes/react/components/ElementData.js.map +1 -1
  95. package/dist/cjs/runtimes/react/components/RuntimeProvider.js +14 -3
  96. package/dist/cjs/runtimes/react/components/RuntimeProvider.js.map +1 -1
  97. package/dist/cjs/runtimes/react/components/draft-switcher/draft-switcher.js +72 -0
  98. package/dist/cjs/runtimes/react/components/draft-switcher/draft-switcher.js.map +1 -0
  99. package/dist/cjs/runtimes/react/components/draft-switcher/draft-toolbar.js +79 -0
  100. package/dist/cjs/runtimes/react/components/draft-switcher/draft-toolbar.js.map +1 -0
  101. package/dist/cjs/runtimes/react/components/hooks/use-builder-connection-ping.js +67 -0
  102. package/dist/cjs/runtimes/react/components/hooks/use-builder-connection-ping.js.map +1 -0
  103. package/dist/cjs/runtimes/react/components/hooks/use-builder-handshake.js +45 -0
  104. package/dist/cjs/runtimes/react/components/hooks/use-builder-handshake.js.map +1 -0
  105. package/dist/cjs/runtimes/react/controls/rich-text-v2/EditableTextV2/usePresetValue.js +1 -1
  106. package/dist/cjs/runtimes/react/controls/rich-text-v2/EditableTextV2/usePresetValue.js.map +1 -1
  107. package/dist/cjs/runtimes/react/hooks/use-cache-data.js +2 -2
  108. package/dist/cjs/runtimes/react/hooks/use-cache-data.js.map +1 -1
  109. package/dist/cjs/runtimes/react/hooks/use-document-context.js +8 -13
  110. package/dist/cjs/runtimes/react/hooks/use-document-context.js.map +1 -1
  111. package/dist/cjs/runtimes/react/hooks/use-register-document.js +8 -1
  112. package/dist/cjs/runtimes/react/hooks/use-register-document.js.map +1 -1
  113. package/dist/cjs/runtimes/react/hooks/use-resolvable-record.js +68 -0
  114. package/dist/cjs/runtimes/react/hooks/use-resolvable-record.js.map +1 -0
  115. package/dist/cjs/runtimes/react/hooks/use-resolved-props.js +3 -3
  116. package/dist/cjs/runtimes/react/hooks/use-resolved-props.js.map +1 -1
  117. package/dist/cjs/runtimes/react/hooks/use-resolved-value.js +1 -1
  118. package/dist/cjs/runtimes/react/hooks/use-resolved-value.js.map +1 -1
  119. package/dist/cjs/runtimes/react/hooks/use-resource-resolver.js +2 -1
  120. package/dist/cjs/runtimes/react/hooks/use-resource-resolver.js.map +1 -1
  121. package/dist/cjs/runtimes/react/hooks/use-stylesheet-factory.js +1 -2
  122. package/dist/cjs/runtimes/react/hooks/use-stylesheet-factory.js.map +1 -1
  123. package/dist/cjs/runtimes/react/host-api-client.js +5 -1
  124. package/dist/cjs/runtimes/react/host-api-client.js.map +1 -1
  125. package/dist/cjs/slate/BlockPlugin/setBlockKeyForDevice.js +1 -2
  126. package/dist/cjs/slate/BlockPlugin/setBlockKeyForDevice.js.map +1 -1
  127. package/dist/cjs/slate/TypographyPlugin/setActiveTypographyStyle.js +2 -2
  128. package/dist/cjs/slate/TypographyPlugin/setActiveTypographyStyle.js.map +1 -1
  129. package/dist/cjs/slate/selectors.js +2 -3
  130. package/dist/cjs/slate/selectors.js.map +1 -1
  131. package/dist/cjs/state/makeswift-api-client.js +23 -12
  132. package/dist/cjs/state/makeswift-api-client.js.map +1 -1
  133. package/dist/cjs/state/modules/breakpoints.js +1 -44
  134. package/dist/cjs/state/modules/breakpoints.js.map +1 -1
  135. package/dist/cjs/state/modules/element-trees.js +10 -7
  136. package/dist/cjs/state/modules/element-trees.js.map +1 -1
  137. package/dist/esm/api/react.js +28 -7
  138. package/dist/esm/api/react.js.map +1 -1
  139. package/dist/esm/api/site-version.js +10 -0
  140. package/dist/esm/api/site-version.js.map +1 -0
  141. package/dist/esm/components/builtin/Box/register.js +1 -1
  142. package/dist/esm/components/builtin/Box/register.js.map +1 -1
  143. package/dist/esm/components/builtin/Button/register.js +1 -1
  144. package/dist/esm/components/builtin/Button/register.js.map +1 -1
  145. package/dist/esm/components/builtin/Carousel/Carousel.js +5 -4
  146. package/dist/esm/components/builtin/Carousel/Carousel.js.map +1 -1
  147. package/dist/esm/components/builtin/Carousel/register.js +1 -1
  148. package/dist/esm/components/builtin/Carousel/register.js.map +1 -1
  149. package/dist/esm/components/builtin/Countdown/register.js +1 -1
  150. package/dist/esm/components/builtin/Countdown/register.js.map +1 -1
  151. package/dist/esm/components/builtin/Form/register.js +1 -1
  152. package/dist/esm/components/builtin/Form/register.js.map +1 -1
  153. package/dist/esm/components/builtin/Image/Image.js +1 -1
  154. package/dist/esm/components/builtin/Image/Image.js.map +1 -1
  155. package/dist/esm/components/builtin/Navigation/register.js +1 -1
  156. package/dist/esm/components/builtin/Navigation/register.js.map +1 -1
  157. package/dist/esm/components/builtin/SocialLinks/register.js +1 -1
  158. package/dist/esm/components/builtin/SocialLinks/register.js.map +1 -1
  159. package/dist/esm/components/builtin/Text/register.js +1 -1
  160. package/dist/esm/components/builtin/Text/register.js.map +1 -1
  161. package/dist/esm/components/hooks/useMediaQuery.js +1 -1
  162. package/dist/esm/components/hooks/useMediaQuery.js.map +1 -1
  163. package/dist/esm/components/page/Page.js +5 -2
  164. package/dist/esm/components/page/Page.js.map +1 -1
  165. package/dist/esm/components/page/PageHead.js +17 -8
  166. package/dist/esm/components/page/PageHead.js.map +1 -1
  167. package/dist/esm/components/page/page-seo-settings.js +19 -0
  168. package/dist/esm/components/page/page-seo-settings.js.map +1 -0
  169. package/dist/esm/components/shared/Link/index.js +3 -1
  170. package/dist/esm/components/shared/Link/index.js.map +1 -1
  171. package/dist/esm/components/utils/responsive-style.js +3 -2
  172. package/dist/esm/components/utils/responsive-style.js.map +1 -1
  173. package/dist/esm/core/index.js +18 -2
  174. package/dist/esm/core/index.js.map +1 -1
  175. package/dist/esm/jest-setup.js +4 -1
  176. package/dist/esm/jest-setup.js.map +1 -1
  177. package/dist/esm/locale.js +79 -0
  178. package/dist/esm/locale.js.map +1 -1
  179. package/dist/esm/next/api-handler/handlers/clear-draft.js +50 -0
  180. package/dist/esm/next/api-handler/handlers/clear-draft.js.map +1 -0
  181. package/dist/esm/next/api-handler/handlers/manifest.js +3 -2
  182. package/dist/esm/next/api-handler/handlers/manifest.js.map +1 -1
  183. package/dist/esm/next/api-handler/handlers/redirect-draft.js +63 -0
  184. package/dist/esm/next/api-handler/handlers/redirect-draft.js.map +1 -0
  185. package/dist/esm/next/api-handler/handlers/redirect-preview.js +53 -0
  186. package/dist/esm/next/api-handler/handlers/redirect-preview.js.map +1 -0
  187. package/dist/esm/next/api-handler/handlers/utils/draft.js +24 -0
  188. package/dist/esm/next/api-handler/handlers/utils/draft.js.map +1 -0
  189. package/dist/esm/next/api-handler/handlers/webhook/index.js +3 -3
  190. package/dist/esm/next/api-handler/handlers/webhook/index.js.map +1 -1
  191. package/dist/esm/next/api-handler/handlers/webhook/site-published.js +7 -3
  192. package/dist/esm/next/api-handler/handlers/webhook/site-published.js.map +1 -1
  193. package/dist/esm/next/api-handler/handlers/webhook/types.js.map +1 -1
  194. package/dist/esm/next/api-handler/index.js +28 -9
  195. package/dist/esm/next/api-handler/index.js.map +1 -1
  196. package/dist/esm/next/cache.js +5 -0
  197. package/dist/esm/next/cache.js.map +1 -0
  198. package/dist/esm/next/client.js +128 -54
  199. package/dist/esm/next/client.js.map +1 -1
  200. package/dist/esm/next/components/page.js +3 -2
  201. package/dist/esm/next/components/page.js.map +1 -1
  202. package/dist/esm/next/components/tests/controls/color-control/fixtures.js +24 -0
  203. package/dist/esm/next/components/tests/controls/color-control/fixtures.js.map +1 -0
  204. package/dist/esm/next/components/tests/controls/page-control-prop-rendering.js +4 -1
  205. package/dist/esm/next/components/tests/controls/page-control-prop-rendering.js.map +1 -1
  206. package/dist/esm/next/components/tests/controls/rich-text-v2-control/fixtures.js +56 -0
  207. package/dist/esm/next/components/tests/controls/rich-text-v2-control/fixtures.js.map +1 -0
  208. package/dist/esm/next/document.js +1 -3
  209. package/dist/esm/next/document.js.map +1 -1
  210. package/dist/esm/next/draft-mode/index.js +1 -1
  211. package/dist/esm/next/draft-mode/index.js.map +1 -1
  212. package/dist/esm/next/hooks/use-is-pages-router.js.map +1 -1
  213. package/dist/esm/next/index.js +0 -2
  214. package/dist/esm/next/index.js.map +1 -1
  215. package/dist/esm/next/middleware/index.js +5 -0
  216. package/dist/esm/next/middleware/index.js.map +1 -0
  217. package/dist/esm/next/middleware/request-utils.js +28 -0
  218. package/dist/esm/next/middleware/request-utils.js.map +1 -0
  219. package/dist/esm/next/preview-mode.js +2 -105
  220. package/dist/esm/next/preview-mode.js.map +1 -1
  221. package/dist/esm/next/root-style-registry.js +7 -4
  222. package/dist/esm/next/root-style-registry.js.map +1 -1
  223. package/dist/esm/next/server.js +0 -2
  224. package/dist/esm/next/server.js.map +1 -1
  225. package/dist/esm/next/tests/test-utils.js +37 -0
  226. package/dist/esm/next/tests/test-utils.js.map +1 -0
  227. package/dist/esm/runtimes/react/components/Document.js +2 -2
  228. package/dist/esm/runtimes/react/components/Document.js.map +1 -1
  229. package/dist/esm/runtimes/react/components/ElementData.js +1 -0
  230. package/dist/esm/runtimes/react/components/ElementData.js.map +1 -1
  231. package/dist/esm/runtimes/react/components/RuntimeProvider.js +15 -4
  232. package/dist/esm/runtimes/react/components/RuntimeProvider.js.map +1 -1
  233. package/dist/esm/runtimes/react/components/draft-switcher/draft-switcher.js +48 -0
  234. package/dist/esm/runtimes/react/components/draft-switcher/draft-switcher.js.map +1 -0
  235. package/dist/esm/runtimes/react/components/draft-switcher/draft-toolbar.js +55 -0
  236. package/dist/esm/runtimes/react/components/draft-switcher/draft-toolbar.js.map +1 -0
  237. package/dist/esm/runtimes/react/components/hooks/use-builder-connection-ping.js +43 -0
  238. package/dist/esm/runtimes/react/components/hooks/use-builder-connection-ping.js.map +1 -0
  239. package/dist/esm/runtimes/react/components/hooks/use-builder-handshake.js +21 -0
  240. package/dist/esm/runtimes/react/components/hooks/use-builder-handshake.js.map +1 -0
  241. package/dist/esm/runtimes/react/controls/rich-text-v2/EditableTextV2/usePresetValue.js +2 -2
  242. package/dist/esm/runtimes/react/controls/rich-text-v2/EditableTextV2/usePresetValue.js.map +1 -1
  243. package/dist/esm/runtimes/react/hooks/use-cache-data.js +2 -2
  244. package/dist/esm/runtimes/react/hooks/use-cache-data.js.map +1 -1
  245. package/dist/esm/runtimes/react/hooks/use-document-context.js +6 -11
  246. package/dist/esm/runtimes/react/hooks/use-document-context.js.map +1 -1
  247. package/dist/esm/runtimes/react/hooks/use-register-document.js +9 -2
  248. package/dist/esm/runtimes/react/hooks/use-register-document.js.map +1 -1
  249. package/dist/esm/runtimes/react/hooks/use-resolvable-record.js +44 -0
  250. package/dist/esm/runtimes/react/hooks/use-resolvable-record.js.map +1 -0
  251. package/dist/esm/runtimes/react/hooks/use-resolved-props.js +3 -3
  252. package/dist/esm/runtimes/react/hooks/use-resolved-props.js.map +1 -1
  253. package/dist/esm/runtimes/react/hooks/use-resolved-value.js +1 -1
  254. package/dist/esm/runtimes/react/hooks/use-resolved-value.js.map +1 -1
  255. package/dist/esm/runtimes/react/hooks/use-resource-resolver.js +3 -2
  256. package/dist/esm/runtimes/react/hooks/use-resource-resolver.js.map +1 -1
  257. package/dist/esm/runtimes/react/hooks/use-stylesheet-factory.js +2 -2
  258. package/dist/esm/runtimes/react/hooks/use-stylesheet-factory.js.map +1 -1
  259. package/dist/esm/runtimes/react/host-api-client.js +5 -1
  260. package/dist/esm/runtimes/react/host-api-client.js.map +1 -1
  261. package/dist/esm/slate/BlockPlugin/setBlockKeyForDevice.js +4 -2
  262. package/dist/esm/slate/BlockPlugin/setBlockKeyForDevice.js.map +1 -1
  263. package/dist/esm/slate/TypographyPlugin/setActiveTypographyStyle.js +3 -1
  264. package/dist/esm/slate/TypographyPlugin/setActiveTypographyStyle.js.map +1 -1
  265. package/dist/esm/slate/selectors.js +4 -2
  266. package/dist/esm/slate/selectors.js.map +1 -1
  267. package/dist/esm/state/makeswift-api-client.js +22 -11
  268. package/dist/esm/state/makeswift-api-client.js.map +1 -1
  269. package/dist/esm/state/modules/breakpoints.js +1 -42
  270. package/dist/esm/state/modules/breakpoints.js.map +1 -1
  271. package/dist/esm/state/modules/element-trees.js +10 -7
  272. package/dist/esm/state/modules/element-trees.js.map +1 -1
  273. package/dist/types/api/react.d.ts +4 -1
  274. package/dist/types/api/react.d.ts.map +1 -1
  275. package/dist/types/api/site-version.d.ts +6 -0
  276. package/dist/types/api/site-version.d.ts.map +1 -0
  277. package/dist/types/components/builtin/Box/register.d.ts.map +1 -1
  278. package/dist/types/components/builtin/Button/register.d.ts.map +1 -1
  279. package/dist/types/components/builtin/Carousel/Carousel.d.ts.map +1 -1
  280. package/dist/types/components/builtin/Image/Image.d.ts.map +1 -1
  281. package/dist/types/components/hooks/useMediaQuery.d.ts +1 -1
  282. package/dist/types/components/hooks/useMediaQuery.d.ts.map +1 -1
  283. package/dist/types/components/page/Page.d.ts +3 -1
  284. package/dist/types/components/page/Page.d.ts.map +1 -1
  285. package/dist/types/components/page/PageHead.d.ts +3 -1
  286. package/dist/types/components/page/PageHead.d.ts.map +1 -1
  287. package/dist/types/components/page/page-seo-settings.d.ts +11 -0
  288. package/dist/types/components/page/page-seo-settings.d.ts.map +1 -0
  289. package/dist/types/components/shared/Link/index.d.ts.map +1 -1
  290. package/dist/types/components/utils/responsive-style.d.ts +1 -1
  291. package/dist/types/components/utils/responsive-style.d.ts.map +1 -1
  292. package/dist/types/controls/link.d.ts +1 -1
  293. package/dist/types/core/index.d.ts +1 -1
  294. package/dist/types/core/index.d.ts.map +1 -1
  295. package/dist/types/locale.d.ts +3 -3
  296. package/dist/types/locale.d.ts.map +1 -1
  297. package/dist/types/next/api-handler/handlers/clear-draft.d.ts +20 -0
  298. package/dist/types/next/api-handler/handlers/clear-draft.d.ts.map +1 -0
  299. package/dist/types/next/api-handler/handlers/manifest.d.ts +1 -0
  300. package/dist/types/next/api-handler/handlers/manifest.d.ts.map +1 -1
  301. package/dist/types/next/api-handler/handlers/redirect-draft.d.ts +18 -0
  302. package/dist/types/next/api-handler/handlers/redirect-draft.d.ts.map +1 -0
  303. package/dist/types/next/api-handler/handlers/redirect-preview.d.ts +18 -0
  304. package/dist/types/next/api-handler/handlers/redirect-preview.d.ts.map +1 -0
  305. package/dist/types/next/api-handler/handlers/utils/draft.d.ts +16 -0
  306. package/dist/types/next/api-handler/handlers/utils/draft.d.ts.map +1 -0
  307. package/dist/types/next/api-handler/handlers/webhook/index.d.ts +9 -11
  308. package/dist/types/next/api-handler/handlers/webhook/index.d.ts.map +1 -1
  309. package/dist/types/next/api-handler/handlers/webhook/site-published.d.ts +6 -3
  310. package/dist/types/next/api-handler/handlers/webhook/site-published.d.ts.map +1 -1
  311. package/dist/types/next/api-handler/handlers/webhook/types.d.ts +13 -12
  312. package/dist/types/next/api-handler/handlers/webhook/types.d.ts.map +1 -1
  313. package/dist/types/next/api-handler/index.d.ts +10 -5
  314. package/dist/types/next/api-handler/index.d.ts.map +1 -1
  315. package/dist/types/next/cache.d.ts +2 -0
  316. package/dist/types/next/cache.d.ts.map +1 -0
  317. package/dist/types/next/client.d.ts +14 -12
  318. package/dist/types/next/client.d.ts.map +1 -1
  319. package/dist/types/next/components/page.d.ts +21 -1
  320. package/dist/types/next/components/page.d.ts.map +1 -1
  321. package/dist/types/next/components/tests/controls/color-control/client.test.d.ts +3 -0
  322. package/dist/types/next/components/tests/controls/color-control/client.test.d.ts.map +1 -0
  323. package/dist/types/next/components/tests/controls/color-control/fixtures.d.ts +11 -0
  324. package/dist/types/next/components/tests/controls/color-control/fixtures.d.ts.map +1 -0
  325. package/dist/types/next/components/tests/controls/color-control/server.test.d.ts +2 -0
  326. package/dist/types/next/components/tests/controls/color-control/server.test.d.ts.map +1 -0
  327. package/dist/types/next/components/tests/controls/page-control-prop-rendering.d.ts.map +1 -1
  328. package/dist/types/next/components/tests/controls/rich-text-v2-control/client.test.d.ts +2 -0
  329. package/dist/types/next/components/tests/controls/rich-text-v2-control/client.test.d.ts.map +1 -0
  330. package/dist/types/next/components/tests/controls/rich-text-v2-control/fixtures.d.ts +42 -0
  331. package/dist/types/next/components/tests/controls/rich-text-v2-control/fixtures.d.ts.map +1 -0
  332. package/dist/types/next/components/tests/controls/rich-text-v2-control/server.test.d.ts +2 -0
  333. package/dist/types/next/components/tests/controls/rich-text-v2-control/server.test.d.ts.map +1 -0
  334. package/dist/types/next/components/tests/makeswift-page-metadata-rendering.test.d.ts +3 -0
  335. package/dist/types/next/components/tests/makeswift-page-metadata-rendering.test.d.ts.map +1 -0
  336. package/dist/types/next/document.d.ts +1 -5
  337. package/dist/types/next/document.d.ts.map +1 -1
  338. package/dist/types/next/draft-mode/index.d.ts +2 -2
  339. package/dist/types/next/hooks/use-is-pages-router.d.ts.map +1 -1
  340. package/dist/types/next/index.d.ts +0 -1
  341. package/dist/types/next/index.d.ts.map +1 -1
  342. package/dist/types/next/middleware/index.d.ts +2 -0
  343. package/dist/types/next/middleware/index.d.ts.map +1 -0
  344. package/dist/types/next/middleware/request-utils.d.ts +3 -0
  345. package/dist/types/next/middleware/request-utils.d.ts.map +1 -0
  346. package/dist/types/next/middleware/request-utils.test.d.ts +2 -0
  347. package/dist/types/next/middleware/request-utils.test.d.ts.map +1 -0
  348. package/dist/types/next/preview-mode.d.ts +3 -10
  349. package/dist/types/next/preview-mode.d.ts.map +1 -1
  350. package/dist/types/next/root-style-registry.d.ts +2 -1
  351. package/dist/types/next/root-style-registry.d.ts.map +1 -1
  352. package/dist/types/next/server.d.ts +0 -1
  353. package/dist/types/next/server.d.ts.map +1 -1
  354. package/dist/types/next/tests/client.error-handling.test.d.ts +2 -0
  355. package/dist/types/next/tests/client.error-handling.test.d.ts.map +1 -0
  356. package/dist/types/next/tests/client.get-page-snapshot.test.d.ts +2 -0
  357. package/dist/types/next/tests/client.get-page-snapshot.test.d.ts.map +1 -0
  358. package/dist/types/next/tests/client.get-resources.test.d.ts +2 -0
  359. package/dist/types/next/tests/client.get-resources.test.d.ts.map +1 -0
  360. package/dist/types/next/tests/server.makeswift-api-handler.test.d.ts +2 -0
  361. package/dist/types/next/tests/server.makeswift-api-handler.test.d.ts.map +1 -0
  362. package/dist/types/next/tests/test-utils.d.ts +8 -0
  363. package/dist/types/next/tests/test-utils.d.ts.map +1 -0
  364. package/dist/types/runtimes/react/components/Document.d.ts.map +1 -1
  365. package/dist/types/runtimes/react/components/ElementData.d.ts.map +1 -1
  366. package/dist/types/runtimes/react/components/RuntimeProvider.d.ts +2 -1
  367. package/dist/types/runtimes/react/components/RuntimeProvider.d.ts.map +1 -1
  368. package/dist/types/runtimes/react/components/draft-switcher/draft-switcher.d.ts +4 -0
  369. package/dist/types/runtimes/react/components/draft-switcher/draft-switcher.d.ts.map +1 -0
  370. package/dist/types/runtimes/react/components/draft-switcher/draft-toolbar.d.ts +6 -0
  371. package/dist/types/runtimes/react/components/draft-switcher/draft-toolbar.d.ts.map +1 -0
  372. package/dist/types/runtimes/react/components/hooks/use-builder-connection-ping.d.ts +4 -0
  373. package/dist/types/runtimes/react/components/hooks/use-builder-connection-ping.d.ts.map +1 -0
  374. package/dist/types/runtimes/react/components/hooks/use-builder-handshake.d.ts +4 -0
  375. package/dist/types/runtimes/react/components/hooks/use-builder-handshake.d.ts.map +1 -0
  376. package/dist/types/runtimes/react/hooks/use-cache-data.d.ts.map +1 -1
  377. package/dist/types/runtimes/react/hooks/use-document-context.d.ts +2 -7
  378. package/dist/types/runtimes/react/hooks/use-document-context.d.ts.map +1 -1
  379. package/dist/types/runtimes/react/hooks/use-register-document.d.ts.map +1 -1
  380. package/dist/types/runtimes/react/hooks/use-resolvable-record.d.ts +3 -0
  381. package/dist/types/runtimes/react/hooks/use-resolvable-record.d.ts.map +1 -0
  382. package/dist/types/runtimes/react/hooks/use-resource-resolver.d.ts.map +1 -1
  383. package/dist/types/runtimes/react/hooks/use-stylesheet-factory.d.ts.map +1 -1
  384. package/dist/types/runtimes/react/host-api-client.d.ts.map +1 -1
  385. package/dist/types/slate/BlockPlugin/setBlockKeyForDevice.d.ts +1 -1
  386. package/dist/types/slate/BlockPlugin/setBlockKeyForDevice.d.ts.map +1 -1
  387. package/dist/types/slate/TypographyPlugin/setActiveTypographyStyle.d.ts +1 -1
  388. package/dist/types/slate/TypographyPlugin/setActiveTypographyStyle.d.ts.map +1 -1
  389. package/dist/types/slate/selectors.d.ts +1 -2
  390. package/dist/types/slate/selectors.d.ts.map +1 -1
  391. package/dist/types/state/makeswift-api-client.d.ts +2 -1
  392. package/dist/types/state/makeswift-api-client.d.ts.map +1 -1
  393. package/dist/types/state/modules/__tests__/fixtures/element-trees-demo-component.d.ts +7 -0
  394. package/dist/types/state/modules/__tests__/fixtures/element-trees-demo-component.d.ts.map +1 -0
  395. package/dist/types/state/modules/__tests__/fixtures/element-trees.d.ts +239 -0
  396. package/dist/types/state/modules/__tests__/fixtures/element-trees.d.ts.map +1 -1
  397. package/dist/types/state/modules/breakpoints.d.ts +2 -7
  398. package/dist/types/state/modules/breakpoints.d.ts.map +1 -1
  399. package/dist/types/state/modules/element-trees.d.ts +1 -1
  400. package/dist/types/state/modules/element-trees.d.ts.map +1 -1
  401. package/package.json +15 -5
  402. package/dist/cjs/next/api-handler/handlers/proxy-draft-mode.js +0 -80
  403. package/dist/cjs/next/api-handler/handlers/proxy-draft-mode.js.map +0 -1
  404. package/dist/cjs/next/api-handler/handlers/proxy-preview-mode.js +0 -100
  405. package/dist/cjs/next/api-handler/handlers/proxy-preview-mode.js.map +0 -1
  406. package/dist/cjs/next/draft-mode/draft-mode-script.js +0 -137
  407. package/dist/cjs/next/draft-mode/draft-mode-script.js.map +0 -1
  408. package/dist/cjs/runtimes/react/resolvable-record.js +0 -67
  409. package/dist/cjs/runtimes/react/resolvable-record.js.map +0 -1
  410. package/dist/esm/next/api-handler/handlers/proxy-draft-mode.js +0 -60
  411. package/dist/esm/next/api-handler/handlers/proxy-draft-mode.js.map +0 -1
  412. package/dist/esm/next/api-handler/handlers/proxy-preview-mode.js +0 -80
  413. package/dist/esm/next/api-handler/handlers/proxy-preview-mode.js.map +0 -1
  414. package/dist/esm/next/draft-mode/draft-mode-script.js +0 -103
  415. package/dist/esm/next/draft-mode/draft-mode-script.js.map +0 -1
  416. package/dist/esm/runtimes/react/resolvable-record.js +0 -43
  417. package/dist/esm/runtimes/react/resolvable-record.js.map +0 -1
  418. package/dist/types/next/api-handler/handlers/proxy-draft-mode.d.ts +0 -20
  419. package/dist/types/next/api-handler/handlers/proxy-draft-mode.d.ts.map +0 -1
  420. package/dist/types/next/api-handler/handlers/proxy-draft-mode.test.d.ts +0 -2
  421. package/dist/types/next/api-handler/handlers/proxy-draft-mode.test.d.ts.map +0 -1
  422. package/dist/types/next/api-handler/handlers/proxy-preview-mode.d.ts +0 -20
  423. package/dist/types/next/api-handler/handlers/proxy-preview-mode.d.ts.map +0 -1
  424. package/dist/types/next/components/tests/controls/color-control.test.d.ts +0 -3
  425. package/dist/types/next/components/tests/controls/color-control.test.d.ts.map +0 -1
  426. package/dist/types/next/components/tests/controls/rich-text-v2-control.test.d.ts +0 -2
  427. package/dist/types/next/components/tests/controls/rich-text-v2-control.test.d.ts.map +0 -1
  428. package/dist/types/next/draft-mode/draft-mode-script.d.ts +0 -6
  429. package/dist/types/next/draft-mode/draft-mode-script.d.ts.map +0 -1
  430. package/dist/types/runtimes/react/resolvable-record.d.ts +0 -3
  431. package/dist/types/runtimes/react/resolvable-record.d.ts.map +0 -1
@@ -0,0 +1,61 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var test_utils_exports = {};
20
+ __export(test_utils_exports, {
21
+ createNextApiRequest: () => createNextApiRequest
22
+ });
23
+ module.exports = __toCommonJS(test_utils_exports);
24
+ var import_node_mocks_http = require("node-mocks-http");
25
+ function urlToQuery(url) {
26
+ const segments = url.pathname.split("/").filter(Boolean);
27
+ if (segments.length === 0)
28
+ return {};
29
+ if (segments.length === 1)
30
+ return [segments[0]];
31
+ let structure = {};
32
+ let current = structure;
33
+ for (let i = 0; i < segments.length - 2; i++) {
34
+ current[segments[i]] = {};
35
+ current = current[segments[i]];
36
+ }
37
+ current[segments[segments.length - 2]] = [segments[segments.length - 1]];
38
+ return {
39
+ ...structure,
40
+ ...Object.fromEntries(
41
+ url.searchParams.entries()
42
+ )
43
+ };
44
+ }
45
+ function createNextApiRequest({
46
+ method,
47
+ path,
48
+ body
49
+ }) {
50
+ return (0, import_node_mocks_http.createRequest)({
51
+ method,
52
+ url: path,
53
+ query: urlToQuery(new URL(path, "http://localhost")),
54
+ body
55
+ });
56
+ }
57
+ // Annotate the CommonJS export names for ESM import in node:
58
+ 0 && (module.exports = {
59
+ createNextApiRequest
60
+ });
61
+ //# sourceMappingURL=test-utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/next/tests/test-utils.ts"],"sourcesContent":["import { NextApiRequest } from \"next\"\nimport { createRequest, RequestMethod } from \"node-mocks-http\"\n\ntype Query = { [key: string]: Query } | string[]\n\nfunction urlToQuery(url: URL): Query {\n const segments = url.pathname.split('/').filter(Boolean)\n\n if (segments.length === 0) return {}\n if (segments.length === 1) return [segments[0]]\n\n let structure: { [key: string]: any } = {}\n let current = structure\n\n for (let i = 0; i < segments.length - 2; i++) {\n current[segments[i]] = {}\n current = current[segments[i]]\n }\n\n current[segments[segments.length - 2]] = [segments[segments.length - 1]]\n\n return {\n ...structure,\n ...Object.fromEntries(\n url.searchParams.entries(),\n ),\n }\n}\n\nexport function createNextApiRequest({\n method,\n path,\n body\n}: {\n method: RequestMethod\n path: string\n body?: Record<string, unknown>\n}): NextApiRequest {\n return createRequest<NextApiRequest>({\n method,\n url: path,\n query: urlToQuery(new URL(path, 'http://localhost')),\n body\n })\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,6BAA6C;AAI7C,SAAS,WAAW,KAAiB;AACnC,QAAM,WAAW,IAAI,SAAS,MAAM,GAAG,EAAE,OAAO,OAAO;AAEvD,MAAI,SAAS,WAAW;AAAG,WAAO,CAAC;AACnC,MAAI,SAAS,WAAW;AAAG,WAAO,CAAC,SAAS,CAAC,CAAC;AAE9C,MAAI,YAAoC,CAAC;AACzC,MAAI,UAAU;AAEd,WAAS,IAAI,GAAG,IAAI,SAAS,SAAS,GAAG,KAAK;AAC5C,YAAQ,SAAS,CAAC,CAAC,IAAI,CAAC;AACxB,cAAU,QAAQ,SAAS,CAAC,CAAC;AAAA,EAC/B;AAEA,UAAQ,SAAS,SAAS,SAAS,CAAC,CAAC,IAAI,CAAC,SAAS,SAAS,SAAS,CAAC,CAAC;AAEvE,SAAO;AAAA,IACL,GAAG;AAAA,IACH,GAAG,OAAO;AAAA,MACR,IAAI,aAAa,QAAQ;AAAA,IAC3B;AAAA,EACF;AACF;AAEO,SAAS,qBAAqB;AAAA,EACnC;AAAA,EACA;AAAA,EACA;AACF,GAImB;AACjB,aAAO,sCAA8B;AAAA,IACnC;AAAA,IACA,KAAK;AAAA,IACL,OAAO,WAAW,IAAI,IAAI,MAAM,kBAAkB,CAAC;AAAA,IACnD;AAAA,EACF,CAAC;AACH;","names":[]}
@@ -28,7 +28,7 @@ var import_use_document_context = require("../hooks/use-document-context");
28
28
  var import_Element = require("./Element");
29
29
  const Document = (0, import_react.memo)(
30
30
  (0, import_react.forwardRef)(function Document2({ document }, ref) {
31
- return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_use_document_context.DocumentContext.Provider, { value: document, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_Element.Element, { ref, element: (0, import_react_page.getRootElement)(document) }) });
31
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_use_document_context.DocumentKeyContext.Provider, { value: document.key, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_use_document_context.DocumentLocaleContext.Provider, { value: document.locale, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_Element.Element, { ref, element: (0, import_react_page.getRootElement)(document) }) }) });
32
32
  })
33
33
  );
34
34
  // Annotate the CommonJS export names for ESM import in node:
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/runtimes/react/components/Document.tsx"],"sourcesContent":["import { Ref, forwardRef, memo } from 'react'\nimport { type Document as ReactPageDocument, getRootElement } from '../../../state/react-page'\nimport { ElementImperativeHandle } from '../element-imperative-handle'\nimport { DocumentContext } from '../hooks/use-document-context'\nimport { Element } from './Element'\n\ntype DocumentProps = {\n document: ReactPageDocument\n}\n\nexport const Document = memo(\n forwardRef(function Document(\n { document }: DocumentProps,\n ref: Ref<ElementImperativeHandle>,\n ): JSX.Element {\n return (\n <DocumentContext.Provider value={document}>\n <Element ref={ref} element={getRootElement(document)} />\n </DocumentContext.Provider>\n )\n }),\n)\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAiBQ;AAjBR,mBAAsC;AACtC,wBAAmE;AAEnE,kCAAgC;AAChC,qBAAwB;AAMjB,MAAM,eAAW;AAAA,MACtB,yBAAW,SAASA,UAClB,EAAE,SAAS,GACX,KACa;AACb,WACE,4CAAC,4CAAgB,UAAhB,EAAyB,OAAO,UAC/B,sDAAC,0BAAQ,KAAU,aAAS,kCAAe,QAAQ,GAAG,GACxD;AAAA,EAEJ,CAAC;AACH;","names":["Document"]}
1
+ {"version":3,"sources":["../../../../../src/runtimes/react/components/Document.tsx"],"sourcesContent":["import { Ref, forwardRef, memo } from 'react'\nimport { type Document as ReactPageDocument, getRootElement } from '../../../state/react-page'\nimport { ElementImperativeHandle } from '../element-imperative-handle'\nimport { DocumentKeyContext, DocumentLocaleContext } from '../hooks/use-document-context'\nimport { Element } from './Element'\n\ntype DocumentProps = {\n document: ReactPageDocument\n}\n\nexport const Document = memo(\n forwardRef(function Document(\n { document }: DocumentProps,\n ref: Ref<ElementImperativeHandle>,\n ): JSX.Element {\n return (\n <DocumentKeyContext.Provider value={document.key}>\n <DocumentLocaleContext.Provider value={document.locale}>\n <Element ref={ref} element={getRootElement(document)} />\n </DocumentLocaleContext.Provider>\n </DocumentKeyContext.Provider>\n )\n }),\n)\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAkBU;AAlBV,mBAAsC;AACtC,wBAAmE;AAEnE,kCAA0D;AAC1D,qBAAwB;AAMjB,MAAM,eAAW;AAAA,MACtB,yBAAW,SAASA,UAClB,EAAE,SAAS,GACX,KACa;AACb,WACE,4CAAC,+CAAmB,UAAnB,EAA4B,OAAO,SAAS,KAC3C,sDAAC,kDAAsB,UAAtB,EAA+B,OAAO,SAAS,QAC9C,sDAAC,0BAAQ,KAAU,aAAS,kCAAe,QAAQ,GAAG,GACxD,GACF;AAAA,EAEJ,CAAC;AACH;","names":["Document"]}
@@ -32,6 +32,7 @@ const ElementData = (0, import_react2.memo)(
32
32
  (0, import_react2.forwardRef)(function ElementData2({ elementData }, ref) {
33
33
  const Component = (0, import_use_component.useComponent)(elementData.type);
34
34
  if (Component == null) {
35
+ console.warn(`Unknown component '${elementData.type}'`, { elementData });
35
36
  return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_FallbackComponent.FallbackComponent, { ref, text: "Component not found" });
36
37
  }
37
38
  const forwardRef2 = (0, import_can_accept_ref.canAcceptRef)(Component);
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/runtimes/react/components/ElementData.tsx"],"sourcesContent":["import { Ref, Suspense, forwardRef, memo } from 'react'\nimport { ElementData as ReactPageElementData } from '../../../state/react-page'\nimport { useComponent } from '../hooks/use-component'\nimport { canAcceptRef } from '../utils/can-accept-ref'\nimport { FallbackComponent } from '../../../components/shared/FallbackComponent'\nimport { ResolveProps } from '../controls'\n\ntype ElementDataProps = {\n elementData: ReactPageElementData\n}\n\nexport const ElementData = memo(\n forwardRef(function ElementData(\n { elementData }: ElementDataProps,\n ref: Ref<unknown>,\n ): JSX.Element {\n const Component = useComponent(elementData.type)\n\n if (Component == null) {\n return <FallbackComponent ref={ref as Ref<HTMLDivElement>} text=\"Component not found\" />\n }\n\n const forwardRef = canAcceptRef(Component)\n\n return (\n <Suspense>\n <ResolveProps element={elementData}>\n {props =>\n forwardRef ? (\n <Component {...props} key={elementData.key} ref={ref} />\n ) : (\n <Component {...props} key={elementData.key} />\n )\n }\n </ResolveProps>\n </Suspense>\n )\n }),\n)\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAmBa;AAUC;AA7Bd,IAAAA,gBAAgD;AAEhD,2BAA6B;AAC7B,4BAA6B;AAC7B,+BAAkC;AAClC,sBAA6B;AAMtB,MAAM,kBAAc;AAAA,MACzB,0BAAW,SAASC,aAClB,EAAE,YAAY,GACd,KACa;AACb,UAAM,gBAAY,mCAAa,YAAY,IAAI;AAE/C,QAAI,aAAa,MAAM;AACrB,aAAO,4CAAC,8CAAkB,KAAiC,MAAK,uBAAsB;AAAA,IACxF;AAEA,UAAMC,kBAAa,oCAAa,SAAS;AAEzC,WACE,4CAAC,0BACC,sDAAC,gCAAa,SAAS,aACpB,qBACCA,cACE,gDAAC,aAAW,GAAG,OAAO,KAAK,YAAY,KAAK,KAAU,IAEtD,gDAAC,aAAW,GAAG,OAAO,KAAK,YAAY,KAAK,GAGlD,GACF;AAAA,EAEJ,CAAC;AACH;","names":["import_react","ElementData","forwardRef"]}
1
+ {"version":3,"sources":["../../../../../src/runtimes/react/components/ElementData.tsx"],"sourcesContent":["import { Ref, Suspense, forwardRef, memo } from 'react'\nimport { ElementData as ReactPageElementData } from '../../../state/react-page'\nimport { useComponent } from '../hooks/use-component'\nimport { canAcceptRef } from '../utils/can-accept-ref'\nimport { FallbackComponent } from '../../../components/shared/FallbackComponent'\nimport { ResolveProps } from '../controls'\n\ntype ElementDataProps = {\n elementData: ReactPageElementData\n}\n\nexport const ElementData = memo(\n forwardRef(function ElementData(\n { elementData }: ElementDataProps,\n ref: Ref<unknown>,\n ): JSX.Element {\n const Component = useComponent(elementData.type)\n\n if (Component == null) {\n console.warn(`Unknown component '${elementData.type}'`, { elementData })\n return <FallbackComponent ref={ref as Ref<HTMLDivElement>} text=\"Component not found\" />\n }\n\n const forwardRef = canAcceptRef(Component)\n\n return (\n <Suspense>\n <ResolveProps element={elementData}>\n {props =>\n forwardRef ? (\n <Component {...props} key={elementData.key} ref={ref} />\n ) : (\n <Component {...props} key={elementData.key} />\n )\n }\n </ResolveProps>\n </Suspense>\n )\n }),\n)\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAoBa;AAUC;AA9Bd,IAAAA,gBAAgD;AAEhD,2BAA6B;AAC7B,4BAA6B;AAC7B,+BAAkC;AAClC,sBAA6B;AAMtB,MAAM,kBAAc;AAAA,MACzB,0BAAW,SAASC,aAClB,EAAE,YAAY,GACd,KACa;AACb,UAAM,gBAAY,mCAAa,YAAY,IAAI;AAE/C,QAAI,aAAa,MAAM;AACrB,cAAQ,KAAK,sBAAsB,YAAY,IAAI,KAAK,EAAE,YAAY,CAAC;AACvE,aAAO,4CAAC,8CAAkB,KAAiC,MAAK,uBAAsB;AAAA,IACxF;AAEA,UAAMC,kBAAa,oCAAa,SAAS;AAEzC,WACE,4CAAC,0BACC,sDAAC,gCAAa,SAAS,aACpB,qBACCA,cACE,gDAAC,aAAW,GAAG,OAAO,KAAK,YAAY,KAAK,KAAU,IAEtD,gDAAC,aAAW,GAAG,OAAO,KAAK,YAAY,KAAK,GAGlD,GACF;AAAA,EAEJ,CAAC;AACH;","names":["import_react","ElementData","forwardRef"]}
@@ -37,24 +37,35 @@ var import_react = require("react");
37
37
  var import_react2 = require("../../../api/react");
38
38
  var import_use_react_runtime = require("../hooks/use-react-runtime");
39
39
  var import_host_api_client = require("../host-api-client");
40
+ var import_site_version = require("../../../api/site-version");
41
+ var import_draft_switcher = require("./draft-switcher/draft-switcher");
42
+ var import_use_builder_handshake = require("./hooks/use-builder-handshake");
43
+ var import_use_builder_connection_ping = require("./hooks/use-builder-connection-ping");
40
44
  const LiveProvider = (0, import_react.lazy)(() => Promise.resolve().then(() => __toESM(require("./LiveProvider"))));
41
45
  const PreviewProvider = (0, import_react.lazy)(() => Promise.resolve().then(() => __toESM(require("./PreviewProvider"))));
42
46
  function ReactRuntimeProvider({
43
47
  children,
44
48
  runtime,
45
49
  previewMode,
50
+ appOrigin = "https://app.makeswift.com",
46
51
  apiOrigin = "https://api.makeswift.com",
47
52
  locale = void 0
48
53
  }) {
49
54
  const client = (0, import_react.useMemo)(
50
55
  () => new import_react2.MakeswiftHostApiClient({
51
56
  uri: new URL("graphql", apiOrigin).href,
52
- locale
57
+ locale,
58
+ siteVersion: previewMode ? import_site_version.MakeswiftSiteVersion.Working : import_site_version.MakeswiftSiteVersion.Live
53
59
  }),
54
- [apiOrigin, locale]
60
+ [apiOrigin, locale, previewMode]
55
61
  );
56
62
  const StoreProvider = previewMode ? PreviewProvider : LiveProvider;
57
- return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_use_react_runtime.ReactRuntimeContext.Provider, { value: runtime, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_host_api_client.MakeswiftHostApiClientProvider, { client, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(StoreProvider, { children }) }) });
63
+ (0, import_use_builder_handshake.useBuilderHandshake)({ appOrigin });
64
+ (0, import_use_builder_connection_ping.useBuilderConnectionPing)({ appOrigin });
65
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_use_react_runtime.ReactRuntimeContext.Provider, { value: runtime, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_host_api_client.MakeswiftHostApiClientProvider, { client, children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(StoreProvider, { children: [
66
+ children,
67
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_draft_switcher.DraftSwitcher, { isDraft: previewMode })
68
+ ] }) }) });
58
69
  }
59
70
  // Annotate the CommonJS export names for ESM import in node:
60
71
  0 && (module.exports = {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/runtimes/react/components/RuntimeProvider.tsx"],"sourcesContent":["'use client'\n\nimport { ReactNode, useMemo, lazy } from 'react'\n\nimport { MakeswiftHostApiClient } from '../../../api/react'\nimport { ReactRuntimeContext } from '../hooks/use-react-runtime'\nimport { ReactRuntime } from '../react-runtime'\nimport { MakeswiftHostApiClientProvider } from '../host-api-client'\n\nconst LiveProvider = lazy(() => import('./LiveProvider'))\nconst PreviewProvider = lazy(() => import('./PreviewProvider'))\n\nexport function ReactRuntimeProvider({\n children,\n runtime,\n previewMode,\n apiOrigin = 'https://api.makeswift.com',\n locale = undefined,\n}: {\n children: ReactNode\n runtime: ReactRuntime\n previewMode: boolean\n apiOrigin?: string\n locale?: string\n}) {\n const client = useMemo(\n () =>\n new MakeswiftHostApiClient({\n uri: new URL('graphql', apiOrigin).href,\n locale,\n }),\n [apiOrigin, locale],\n )\n\n const StoreProvider = previewMode ? PreviewProvider : LiveProvider\n\n return (\n <ReactRuntimeContext.Provider value={runtime}>\n <MakeswiftHostApiClientProvider client={client}>\n <StoreProvider>{children}</StoreProvider>\n </MakeswiftHostApiClientProvider>\n </ReactRuntimeContext.Provider>\n )\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAuCQ;AArCR,mBAAyC;AAEzC,IAAAA,gBAAuC;AACvC,+BAAoC;AAEpC,6BAA+C;AAE/C,MAAM,mBAAe,mBAAK,MAAM,6CAAO,gBAAgB,GAAC;AACxD,MAAM,sBAAkB,mBAAK,MAAM,6CAAO,mBAAmB,GAAC;AAEvD,SAAS,qBAAqB;AAAA,EACnC;AAAA,EACA;AAAA,EACA;AAAA,EACA,YAAY;AAAA,EACZ,SAAS;AACX,GAMG;AACD,QAAM,aAAS;AAAA,IACb,MACE,IAAI,qCAAuB;AAAA,MACzB,KAAK,IAAI,IAAI,WAAW,SAAS,EAAE;AAAA,MACnC;AAAA,IACF,CAAC;AAAA,IACH,CAAC,WAAW,MAAM;AAAA,EACpB;AAEA,QAAM,gBAAgB,cAAc,kBAAkB;AAEtD,SACE,4CAAC,6CAAoB,UAApB,EAA6B,OAAO,SACnC,sDAAC,yDAA+B,QAC9B,sDAAC,iBAAe,UAAS,GAC3B,GACF;AAEJ;","names":["import_react"]}
1
+ {"version":3,"sources":["../../../../../src/runtimes/react/components/RuntimeProvider.tsx"],"sourcesContent":["'use client'\n\nimport { ReactNode, useMemo, lazy } from 'react'\n\nimport { MakeswiftHostApiClient } from '../../../api/react'\nimport { ReactRuntimeContext } from '../hooks/use-react-runtime'\nimport { ReactRuntime } from '../react-runtime'\nimport { MakeswiftHostApiClientProvider } from '../host-api-client'\nimport { MakeswiftSiteVersion } from '../../../api/site-version'\nimport { DraftSwitcher } from './draft-switcher/draft-switcher'\nimport { useBuilderHandshake } from './hooks/use-builder-handshake'\nimport { useBuilderConnectionPing } from './hooks/use-builder-connection-ping'\n\nconst LiveProvider = lazy(() => import('./LiveProvider'))\nconst PreviewProvider = lazy(() => import('./PreviewProvider'))\n\nexport function ReactRuntimeProvider({\n children,\n runtime,\n previewMode,\n appOrigin = 'https://app.makeswift.com',\n apiOrigin = 'https://api.makeswift.com',\n locale = undefined,\n}: {\n children: ReactNode\n runtime: ReactRuntime\n previewMode: boolean\n apiOrigin?: string\n appOrigin?: string\n locale?: string\n}) {\n const client = useMemo(\n () =>\n new MakeswiftHostApiClient({\n uri: new URL('graphql', apiOrigin).href,\n locale,\n siteVersion: previewMode ? MakeswiftSiteVersion.Working : MakeswiftSiteVersion.Live,\n }),\n [apiOrigin, locale, previewMode],\n )\n\n const StoreProvider = previewMode ? PreviewProvider : LiveProvider\n\n useBuilderHandshake({ appOrigin })\n useBuilderConnectionPing({ appOrigin })\n\n return (\n <ReactRuntimeContext.Provider value={runtime}>\n <MakeswiftHostApiClientProvider client={client}>\n <StoreProvider>\n {children}\n <DraftSwitcher isDraft={previewMode} />\n </StoreProvider>\n </MakeswiftHostApiClientProvider>\n </ReactRuntimeContext.Provider>\n )\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAiDQ;AA/CR,mBAAyC;AAEzC,IAAAA,gBAAuC;AACvC,+BAAoC;AAEpC,6BAA+C;AAC/C,0BAAqC;AACrC,4BAA8B;AAC9B,mCAAoC;AACpC,yCAAyC;AAEzC,MAAM,mBAAe,mBAAK,MAAM,6CAAO,gBAAgB,GAAC;AACxD,MAAM,sBAAkB,mBAAK,MAAM,6CAAO,mBAAmB,GAAC;AAEvD,SAAS,qBAAqB;AAAA,EACnC;AAAA,EACA;AAAA,EACA;AAAA,EACA,YAAY;AAAA,EACZ,YAAY;AAAA,EACZ,SAAS;AACX,GAOG;AACD,QAAM,aAAS;AAAA,IACb,MACE,IAAI,qCAAuB;AAAA,MACzB,KAAK,IAAI,IAAI,WAAW,SAAS,EAAE;AAAA,MACnC;AAAA,MACA,aAAa,cAAc,yCAAqB,UAAU,yCAAqB;AAAA,IACjF,CAAC;AAAA,IACH,CAAC,WAAW,QAAQ,WAAW;AAAA,EACjC;AAEA,QAAM,gBAAgB,cAAc,kBAAkB;AAEtD,wDAAoB,EAAE,UAAU,CAAC;AACjC,mEAAyB,EAAE,UAAU,CAAC;AAEtC,SACE,4CAAC,6CAAoB,UAApB,EAA6B,OAAO,SACnC,sDAAC,yDAA+B,QAC9B,uDAAC,iBACE;AAAA;AAAA,IACD,4CAAC,uCAAc,SAAS,aAAa;AAAA,KACvC,GACF,GACF;AAEJ;","names":["import_react"]}
@@ -0,0 +1,72 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var draft_switcher_exports = {};
20
+ __export(draft_switcher_exports, {
21
+ DraftSwitcher: () => DraftSwitcher
22
+ });
23
+ module.exports = __toCommonJS(draft_switcher_exports);
24
+ var import_jsx_runtime = require("react/jsx-runtime");
25
+ var import_react = require("react");
26
+ var import_react_dom = require("react-dom");
27
+ var import_use_is_in_builder = require("../../hooks/use-is-in-builder");
28
+ var import_draft_toolbar = require("./draft-toolbar");
29
+ const ClearDraftModeRequestPath = "/api/makeswift/clear-draft";
30
+ async function exitDraftMode() {
31
+ try {
32
+ await fetch(ClearDraftModeRequestPath);
33
+ window.location.reload();
34
+ } catch (err) {
35
+ console.error("Could not clear Makeswift cookies. Please report this error to your developer.");
36
+ console.error(err);
37
+ }
38
+ }
39
+ function DraftSwitcher({ isDraft }) {
40
+ const shadowContainerRef = (0, import_react.useRef)(null);
41
+ const [shadowRoot, setShadowRoot] = (0, import_react.useState)(null);
42
+ const isInBuilder = (0, import_use_is_in_builder.useIsInBuilder)();
43
+ const showToolbar = !isInBuilder && isDraft;
44
+ (0, import_react.useEffect)(() => {
45
+ if (!showToolbar)
46
+ return;
47
+ if (shadowContainerRef.current && shadowContainerRef.current.shadowRoot == null && shadowRoot == null) {
48
+ const root = shadowContainerRef.current.attachShadow({ mode: "open" });
49
+ setShadowRoot(root);
50
+ }
51
+ }, [showToolbar, shadowRoot, setShadowRoot]);
52
+ if (!showToolbar)
53
+ return null;
54
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, { children: [
55
+ showToolbar && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { id: "makeswift-draft-switcher", ref: shadowContainerRef, children: shadowRoot ? (0, import_react_dom.createPortal)(/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_draft_toolbar.DraftToolbar, { onExitDraft: exitDraftMode }), shadowRoot) : null }),
56
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
57
+ "script",
58
+ {
59
+ type: "application/json",
60
+ id: "makeswift-draft-info",
61
+ dangerouslySetInnerHTML: {
62
+ __html: JSON.stringify({ draft: isDraft, inBuilder: isInBuilder })
63
+ }
64
+ }
65
+ )
66
+ ] });
67
+ }
68
+ // Annotate the CommonJS export names for ESM import in node:
69
+ 0 && (module.exports = {
70
+ DraftSwitcher
71
+ });
72
+ //# sourceMappingURL=draft-switcher.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../../src/runtimes/react/components/draft-switcher/draft-switcher.tsx"],"sourcesContent":["import { useEffect, useRef, useState } from 'react'\nimport { createPortal } from 'react-dom'\n\nimport { useIsInBuilder } from '../../hooks/use-is-in-builder'\nimport { DraftToolbar } from './draft-toolbar'\n\nconst ClearDraftModeRequestPath = '/api/makeswift/clear-draft'\n\nasync function exitDraftMode() {\n try {\n await fetch(ClearDraftModeRequestPath)\n window.location.reload()\n } catch (err) {\n console.error('Could not clear Makeswift cookies. Please report this error to your developer.')\n console.error(err)\n }\n}\n\nexport function DraftSwitcher({ isDraft }: { isDraft: boolean }) {\n const shadowContainerRef = useRef<HTMLSpanElement | null>(null)\n const [shadowRoot, setShadowRoot] = useState<ShadowRoot | null>(null)\n const isInBuilder = useIsInBuilder()\n\n const showToolbar = !isInBuilder && isDraft\n\n useEffect(() => {\n if (!showToolbar) return\n if (\n shadowContainerRef.current &&\n shadowContainerRef.current.shadowRoot == null &&\n shadowRoot == null\n ) {\n const root = shadowContainerRef.current.attachShadow({ mode: 'open' })\n setShadowRoot(root)\n }\n }, [showToolbar, shadowRoot, setShadowRoot])\n\n if (!showToolbar) return null\n\n return (\n <>\n {showToolbar && (\n <span id=\"makeswift-draft-switcher\" ref={shadowContainerRef}>\n {shadowRoot\n ? createPortal(<DraftToolbar onExitDraft={exitDraftMode} />, shadowRoot)\n : null}\n </span>\n )}\n <script\n type=\"application/json\"\n id=\"makeswift-draft-info\"\n dangerouslySetInnerHTML={{\n __html: JSON.stringify({ draft: isDraft, inBuilder: isInBuilder }),\n }}\n />\n </>\n )\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAwCI;AAxCJ,mBAA4C;AAC5C,uBAA6B;AAE7B,+BAA+B;AAC/B,2BAA6B;AAE7B,MAAM,4BAA4B;AAElC,eAAe,gBAAgB;AAC7B,MAAI;AACF,UAAM,MAAM,yBAAyB;AACrC,WAAO,SAAS,OAAO;AAAA,EACzB,SAAS,KAAK;AACZ,YAAQ,MAAM,gFAAgF;AAC9F,YAAQ,MAAM,GAAG;AAAA,EACnB;AACF;AAEO,SAAS,cAAc,EAAE,QAAQ,GAAyB;AAC/D,QAAM,yBAAqB,qBAA+B,IAAI;AAC9D,QAAM,CAAC,YAAY,aAAa,QAAI,uBAA4B,IAAI;AACpE,QAAM,kBAAc,yCAAe;AAEnC,QAAM,cAAc,CAAC,eAAe;AAEpC,8BAAU,MAAM;AACd,QAAI,CAAC;AAAa;AAClB,QACE,mBAAmB,WACnB,mBAAmB,QAAQ,cAAc,QACzC,cAAc,MACd;AACA,YAAM,OAAO,mBAAmB,QAAQ,aAAa,EAAE,MAAM,OAAO,CAAC;AACrE,oBAAc,IAAI;AAAA,IACpB;AAAA,EACF,GAAG,CAAC,aAAa,YAAY,aAAa,CAAC;AAE3C,MAAI,CAAC;AAAa,WAAO;AAEzB,SACE,4EACG;AAAA,mBACC,4CAAC,UAAK,IAAG,4BAA2B,KAAK,oBACtC,2BACG,+BAAa,4CAAC,qCAAa,aAAa,eAAe,GAAI,UAAU,IACrE,MACN;AAAA,IAEF;AAAA,MAAC;AAAA;AAAA,QACC,MAAK;AAAA,QACL,IAAG;AAAA,QACH,yBAAyB;AAAA,UACvB,QAAQ,KAAK,UAAU,EAAE,OAAO,SAAS,WAAW,YAAY,CAAC;AAAA,QACnE;AAAA;AAAA,IACF;AAAA,KACF;AAEJ;","names":[]}
@@ -0,0 +1,79 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var draft_toolbar_exports = {};
20
+ __export(draft_toolbar_exports, {
21
+ DraftToolbar: () => DraftToolbar
22
+ });
23
+ module.exports = __toCommonJS(draft_toolbar_exports);
24
+ var import_jsx_runtime = require("react/jsx-runtime");
25
+ const makeswiftIcon = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACIAAAAiCAYAAAA6RwvCAAAACXBIWXMAABcRAAAXEQHKJvM/AAABjElEQVRYhc2XzU3EMBCFB8TddAAXn6EE6GCpgNABZ1/IXnymBOgAOmA7YM8+ABVsXEHQQFaKQryeN3Yk3ilKJtEnv/nLUd/3pFG0riGi88yrnQn+UfJ5FUi0riWiB2H4nQn+KRd0DFP8agXEfkqCYJBoHdtxIQxfm+DfFgEhoith3NYE30o/qgGR2BJB+xY7kdYEL8oNFUi0jiFMJuxVWrJqEMFxsyUNCsE6AeNztvBp7aJ143vXksoRnwhYtmNdSoIQa6RlO9YXEWW7KgoCleOgxgTf1QZBT+RZ2lXFING6UxCCq+ceeUE8fYdknY599v9sJvzGBP+yCEgC7GPmETc0OJ+0awAlkhe2pAbIXAeFZ8xe2g2Nk3c3ub0xwWt6zY9qbmiqGVMbZK21ZC/YmhlbeBMTzZNDQqcvDb1kM1x32iqZSt1HaqukfKvq34BAOTLsrH+ETNmUkKHHA+428RgeclPVWozeSyAI2EdWB34jtqXNTAySOY3i/KgFIlqOa4GkFmBegorzg4joG07he/M7zl6jAAAAAElFTkSuQmCC";
26
+ const styles = `
27
+ .exit-preview-container {
28
+ position: fixed;
29
+ bottom: 16px;
30
+ right: 16px;
31
+ z-index: 2147483647;
32
+ }
33
+
34
+ .exit-preview-button {
35
+ background: #2e2e2e;
36
+ padding: 10px 18px 10px 14px;
37
+ border: 0px;
38
+ border-radius: 32px;
39
+ color: #efefef;
40
+ box-shadow:
41
+ 0 11px 40px 0 rgba(0, 0, 0, 0.25),
42
+ 0 2px 10px 0 rgba(0, 0, 0, 0.12);
43
+ transition: 150ms;
44
+
45
+ font-family: system-ui, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif, 'Apple Color Emoji',
46
+ 'Segoe UI Emoji';
47
+ font-size: 14px;
48
+ cursor: pointer;
49
+
50
+ display: flex;
51
+ align-items: center;
52
+ gap: 6px;
53
+ }
54
+
55
+ .exit-preview-button > .label {
56
+ transform: translateY(-1px);
57
+ }
58
+
59
+ .exit-preview-container:hover > .exit-preview-button {
60
+ transform: translateY(-2px);
61
+ box-shadow:
62
+ 0 15px 40px 0 rgba(0, 0, 0, 0.3),
63
+ 0 6px 10px 0 rgba(0, 0, 0, 0.15);
64
+ }
65
+ `;
66
+ function DraftToolbar({ onExitDraft }) {
67
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, { children: [
68
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("style", { dangerouslySetInnerHTML: { __html: styles } }),
69
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "exit-preview-container", children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("button", { className: "exit-preview-button", onClick: onExitDraft, children: [
70
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("img", { src: makeswiftIcon, alt: "Makeswift Logo", width: 18, height: 18 }),
71
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { className: "label", children: "Exit Preview" })
72
+ ] }) })
73
+ ] });
74
+ }
75
+ // Annotate the CommonJS export names for ESM import in node:
76
+ 0 && (module.exports = {
77
+ DraftToolbar
78
+ });
79
+ //# sourceMappingURL=draft-toolbar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../../src/runtimes/react/components/draft-switcher/draft-toolbar.tsx"],"sourcesContent":["const makeswiftIcon =\n 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACIAAAAiCAYAAAA6RwvCAAAACXBIWXMAABcRAAAXEQHKJvM/AAABjElEQVRYhc2XzU3EMBCFB8TddAAXn6EE6GCpgNABZ1/IXnymBOgAOmA7YM8+ABVsXEHQQFaKQryeN3Yk3ilKJtEnv/nLUd/3pFG0riGi88yrnQn+UfJ5FUi0riWiB2H4nQn+KRd0DFP8agXEfkqCYJBoHdtxIQxfm+DfFgEhoith3NYE30o/qgGR2BJB+xY7kdYEL8oNFUi0jiFMJuxVWrJqEMFxsyUNCsE6AeNztvBp7aJ143vXksoRnwhYtmNdSoIQa6RlO9YXEWW7KgoCleOgxgTf1QZBT+RZ2lXFING6UxCCq+ceeUE8fYdknY599v9sJvzGBP+yCEgC7GPmETc0OJ+0awAlkhe2pAbIXAeFZ8xe2g2Nk3c3ub0xwWt6zY9qbmiqGVMbZK21ZC/YmhlbeBMTzZNDQqcvDb1kM1x32iqZSt1HaqukfKvq34BAOTLsrH+ETNmUkKHHA+428RgeclPVWozeSyAI2EdWB34jtqXNTAySOY3i/KgFIlqOa4GkFmBegorzg4joG07he/M7zl6jAAAAAElFTkSuQmCC'\n\nconst styles = `\n.exit-preview-container {\n position: fixed;\n bottom: 16px;\n right: 16px;\n z-index: 2147483647;\n}\n\n.exit-preview-button {\n background: #2e2e2e;\n padding: 10px 18px 10px 14px;\n border: 0px;\n border-radius: 32px;\n color: #efefef;\n box-shadow:\n 0 11px 40px 0 rgba(0, 0, 0, 0.25),\n 0 2px 10px 0 rgba(0, 0, 0, 0.12);\n transition: 150ms;\n\n font-family: system-ui, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif, 'Apple Color Emoji',\n 'Segoe UI Emoji';\n font-size: 14px;\n cursor: pointer;\n\n display: flex;\n align-items: center;\n gap: 6px;\n}\n\n.exit-preview-button > .label {\n transform: translateY(-1px);\n}\n\n.exit-preview-container:hover > .exit-preview-button {\n transform: translateY(-2px);\n box-shadow:\n 0 15px 40px 0 rgba(0, 0, 0, 0.3),\n 0 6px 10px 0 rgba(0, 0, 0, 0.15);\n}\n`\n\ntype Props = {\n onExitDraft: () => void\n}\n\nexport function DraftToolbar({ onExitDraft }: Props) {\n return (\n <>\n <style dangerouslySetInnerHTML={{ __html: styles }} />\n <div className=\"exit-preview-container\">\n <button className=\"exit-preview-button\" onClick={onExitDraft}>\n <img src={makeswiftIcon} alt=\"Makeswift Logo\" width={18} height={18} />\n <span className=\"label\">Exit Preview</span>\n </button>\n </div>\n </>\n )\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAkDI;AAlDJ,MAAM,gBACJ;AAEF,MAAM,SAAS;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;AA6CR,SAAS,aAAa,EAAE,YAAY,GAAU;AACnD,SACE,4EACE;AAAA,gDAAC,WAAM,yBAAyB,EAAE,QAAQ,OAAO,GAAG;AAAA,IACpD,4CAAC,SAAI,WAAU,0BACb,uDAAC,YAAO,WAAU,uBAAsB,SAAS,aAC/C;AAAA,kDAAC,SAAI,KAAK,eAAe,KAAI,kBAAiB,OAAO,IAAI,QAAQ,IAAI;AAAA,MACrE,4CAAC,UAAK,WAAU,SAAQ,0BAAY;AAAA,OACtC,GACF;AAAA,KACF;AAEJ;","names":[]}
@@ -0,0 +1,67 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var use_builder_connection_ping_exports = {};
20
+ __export(use_builder_connection_ping_exports, {
21
+ useBuilderConnectionPing: () => useBuilderConnectionPing
22
+ });
23
+ module.exports = __toCommonJS(use_builder_connection_ping_exports);
24
+ var import_react = require("react");
25
+ var import_react2 = require("../../../../react");
26
+ const CONNECTION_PING_INTERVAL_MS = 20;
27
+ function useBuilderConnectionPing({ appOrigin }) {
28
+ (0, import_react.useEffect)(() => {
29
+ let connectionInterval;
30
+ if (window.parent !== window) {
31
+ window.addEventListener("message", messageHandler);
32
+ window.parent.postMessage(
33
+ { type: import_react2.ActionTypes.MAKESWIFT_CONNECTION_INIT },
34
+ { targetOrigin: appOrigin }
35
+ );
36
+ }
37
+ return () => {
38
+ window.removeEventListener("message", messageHandler);
39
+ if (connectionInterval != null) {
40
+ window.clearInterval(connectionInterval);
41
+ connectionInterval = null;
42
+ }
43
+ };
44
+ function messageHandler(event) {
45
+ if (event.origin === appOrigin && event.data.type === import_react2.ActionTypes.MAKESWIFT_CONNECTION_INIT) {
46
+ if (connectionInterval != null) {
47
+ window.clearInterval(connectionInterval);
48
+ connectionInterval = null;
49
+ }
50
+ connectionInterval = window.setInterval(() => {
51
+ window.parent.postMessage(
52
+ {
53
+ type: import_react2.ActionTypes.MAKESWIFT_CONNECTION_CHECK,
54
+ payload: { currentUrl: window.location.href }
55
+ },
56
+ { targetOrigin: appOrigin }
57
+ );
58
+ }, CONNECTION_PING_INTERVAL_MS);
59
+ }
60
+ }
61
+ }, [appOrigin]);
62
+ }
63
+ // Annotate the CommonJS export names for ESM import in node:
64
+ 0 && (module.exports = {
65
+ useBuilderConnectionPing
66
+ });
67
+ //# sourceMappingURL=use-builder-connection-ping.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../../src/runtimes/react/components/hooks/use-builder-connection-ping.ts"],"sourcesContent":["import { useEffect } from 'react'\nimport { ActionTypes } from '../../../../react'\n\nconst CONNECTION_PING_INTERVAL_MS = 20\n\nexport function useBuilderConnectionPing({ appOrigin }: { appOrigin: string }) {\n useEffect(() => {\n let connectionInterval: number | null\n\n if (window.parent !== window) {\n window.addEventListener('message', messageHandler)\n window.parent.postMessage(\n { type: ActionTypes.MAKESWIFT_CONNECTION_INIT },\n { targetOrigin: appOrigin },\n )\n }\n\n return () => {\n window.removeEventListener('message', messageHandler)\n if (connectionInterval != null) {\n window.clearInterval(connectionInterval)\n connectionInterval = null\n }\n }\n\n function messageHandler(event: MessageEvent): void {\n if (event.origin === appOrigin && event.data.type === ActionTypes.MAKESWIFT_CONNECTION_INIT) {\n if (connectionInterval != null) {\n window.clearInterval(connectionInterval)\n connectionInterval = null\n }\n\n connectionInterval = window.setInterval(() => {\n window.parent.postMessage(\n {\n type: ActionTypes.MAKESWIFT_CONNECTION_CHECK,\n payload: { currentUrl: window.location.href },\n },\n { targetOrigin: appOrigin },\n )\n }, CONNECTION_PING_INTERVAL_MS)\n }\n }\n }, [appOrigin])\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAA0B;AAC1B,IAAAA,gBAA4B;AAE5B,MAAM,8BAA8B;AAE7B,SAAS,yBAAyB,EAAE,UAAU,GAA0B;AAC7E,8BAAU,MAAM;AACd,QAAI;AAEJ,QAAI,OAAO,WAAW,QAAQ;AAC5B,aAAO,iBAAiB,WAAW,cAAc;AACjD,aAAO,OAAO;AAAA,QACZ,EAAE,MAAM,0BAAY,0BAA0B;AAAA,QAC9C,EAAE,cAAc,UAAU;AAAA,MAC5B;AAAA,IACF;AAEA,WAAO,MAAM;AACX,aAAO,oBAAoB,WAAW,cAAc;AACpD,UAAI,sBAAsB,MAAM;AAC9B,eAAO,cAAc,kBAAkB;AACvC,6BAAqB;AAAA,MACvB;AAAA,IACF;AAEA,aAAS,eAAe,OAA2B;AACjD,UAAI,MAAM,WAAW,aAAa,MAAM,KAAK,SAAS,0BAAY,2BAA2B;AAC3F,YAAI,sBAAsB,MAAM;AAC9B,iBAAO,cAAc,kBAAkB;AACvC,+BAAqB;AAAA,QACvB;AAEA,6BAAqB,OAAO,YAAY,MAAM;AAC5C,iBAAO,OAAO;AAAA,YACZ;AAAA,cACE,MAAM,0BAAY;AAAA,cAClB,SAAS,EAAE,YAAY,OAAO,SAAS,KAAK;AAAA,YAC9C;AAAA,YACA,EAAE,cAAc,UAAU;AAAA,UAC5B;AAAA,QACF,GAAG,2BAA2B;AAAA,MAChC;AAAA,IACF;AAAA,EACF,GAAG,CAAC,SAAS,CAAC;AAChB;","names":["import_react"]}
@@ -0,0 +1,45 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var use_builder_handshake_exports = {};
20
+ __export(use_builder_handshake_exports, {
21
+ useBuilderHandshake: () => useBuilderHandshake
22
+ });
23
+ module.exports = __toCommonJS(use_builder_handshake_exports);
24
+ var import_react = require("react");
25
+ var import_use_is_pages_router = require("../../../../next/hooks/use-is-pages-router");
26
+ const PAGES_ROUTER_HANDSHAKE_MESSAGE = "makeswift_preview_mode";
27
+ const APP_ROUTER_HANDSHAKE_MESSAGE = "makeswift_draft_mode";
28
+ function useBuilderHandshake({ appOrigin }) {
29
+ const isPagesRouter = (0, import_use_is_pages_router.useIsPagesRouter)();
30
+ const handshakeInitiationMessage = (0, import_react.useMemo)(() => {
31
+ if (isPagesRouter)
32
+ return PAGES_ROUTER_HANDSHAKE_MESSAGE;
33
+ return APP_ROUTER_HANDSHAKE_MESSAGE;
34
+ }, [isPagesRouter]);
35
+ (0, import_react.useEffect)(() => {
36
+ if (window.parent !== window) {
37
+ window.parent.postMessage({ type: handshakeInitiationMessage }, { targetOrigin: appOrigin });
38
+ }
39
+ }, [appOrigin, handshakeInitiationMessage]);
40
+ }
41
+ // Annotate the CommonJS export names for ESM import in node:
42
+ 0 && (module.exports = {
43
+ useBuilderHandshake
44
+ });
45
+ //# sourceMappingURL=use-builder-handshake.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../../src/runtimes/react/components/hooks/use-builder-handshake.ts"],"sourcesContent":["import { useEffect, useMemo } from 'react'\nimport { useIsPagesRouter } from '../../../../next/hooks/use-is-pages-router'\n\nconst PAGES_ROUTER_HANDSHAKE_MESSAGE = 'makeswift_preview_mode'\nconst APP_ROUTER_HANDSHAKE_MESSAGE = 'makeswift_draft_mode'\n\nexport function useBuilderHandshake({ appOrigin }: { appOrigin: string }) {\n const isPagesRouter = useIsPagesRouter()\n\n const handshakeInitiationMessage = useMemo(() => {\n if (isPagesRouter) return PAGES_ROUTER_HANDSHAKE_MESSAGE\n return APP_ROUTER_HANDSHAKE_MESSAGE\n }, [isPagesRouter])\n\n useEffect(() => {\n if (window.parent !== window) {\n window.parent.postMessage({ type: handshakeInitiationMessage }, { targetOrigin: appOrigin })\n }\n }, [appOrigin, handshakeInitiationMessage])\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAAmC;AACnC,iCAAiC;AAEjC,MAAM,iCAAiC;AACvC,MAAM,+BAA+B;AAE9B,SAAS,oBAAoB,EAAE,UAAU,GAA0B;AACxE,QAAM,oBAAgB,6CAAiB;AAEvC,QAAM,iCAA6B,sBAAQ,MAAM;AAC/C,QAAI;AAAe,aAAO;AAC1B,WAAO;AAAA,EACT,GAAG,CAAC,aAAa,CAAC;AAElB,8BAAU,MAAM;AACd,QAAI,OAAO,WAAW,QAAQ;AAC5B,aAAO,OAAO,YAAY,EAAE,MAAM,2BAA2B,GAAG,EAAE,cAAc,UAAU,CAAC;AAAA,IAC7F;AAAA,EACF,GAAG,CAAC,WAAW,0BAA0B,CAAC;AAC5C;","names":[]}
@@ -40,7 +40,7 @@ function usePresetValue(definition) {
40
40
  typography: {
41
41
  style: [
42
42
  {
43
- deviceId: (0, import_breakpoints.getBaseBreakpoint)(breakpoints).id,
43
+ deviceId: (0, import_controls.getBaseBreakpoint)(breakpoints).id,
44
44
  value: {
45
45
  fontWeight: 400,
46
46
  fontSize: { value: 18, unit: "px" },
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../../src/runtimes/react/controls/rich-text-v2/EditableTextV2/usePresetValue.tsx"],"sourcesContent":["import { useMemo } from 'react'\nimport { Descendant } from 'slate'\nimport { Slate } from '@makeswift/controls'\n\nimport { getBaseBreakpoint, DefaultBreakpointID } from '../../../../../state/modules/breakpoints'\nimport { useBreakpoints } from '../../../hooks/use-breakpoints'\nimport { RichTextV2Definition, RichText } from '../../../../../controls'\n\nexport function usePresetValue(definition: RichTextV2Definition): Descendant[] {\n const breakpoints = useBreakpoints()\n return useMemo(\n () => [\n {\n type: Slate.BlockType.Default,\n children: [\n {\n text: definition.config.defaultValue ?? '',\n ...(definition.config.mode === RichText.Mode.Inline\n ? {}\n : {\n typography: {\n style: [\n {\n deviceId: getBaseBreakpoint(breakpoints).id,\n value: {\n fontWeight: 400,\n fontSize: { value: 18, unit: 'px' },\n lineHeight: 1.5,\n },\n },\n ...(breakpoints.some(({ id }) => id === DefaultBreakpointID.Mobile)\n ? [\n {\n deviceId: DefaultBreakpointID.Mobile,\n value: { fontSize: { value: 16, unit: 'px' } },\n },\n ]\n : []),\n ],\n },\n }),\n },\n ],\n },\n ],\n [definition.config.mode, definition.config.defaultValue, breakpoints],\n )\n}\n\nexport const defaultValue = [\n {\n type: Slate.BlockType.Default,\n children: [\n {\n text: '',\n },\n ],\n },\n]\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAAwB;AAExB,sBAAsB;AAEtB,yBAAuD;AACvD,6BAA+B;AAC/B,IAAAA,mBAA+C;AAExC,SAAS,eAAe,YAAgD;AAC7E,QAAM,kBAAc,uCAAe;AACnC,aAAO;AAAA,IACL,MAAM;AAAA,MACJ;AAAA,QACE,MAAM,sBAAM,UAAU;AAAA,QACtB,UAAU;AAAA,UACR;AAAA,YACE,MAAM,WAAW,OAAO,gBAAgB;AAAA,YACxC,GAAI,WAAW,OAAO,SAAS,0BAAS,KAAK,SACzC,CAAC,IACD;AAAA,cACE,YAAY;AAAA,gBACV,OAAO;AAAA,kBACL;AAAA,oBACE,cAAU,sCAAkB,WAAW,EAAE;AAAA,oBACzC,OAAO;AAAA,sBACL,YAAY;AAAA,sBACZ,UAAU,EAAE,OAAO,IAAI,MAAM,KAAK;AAAA,sBAClC,YAAY;AAAA,oBACd;AAAA,kBACF;AAAA,kBACA,GAAI,YAAY,KAAK,CAAC,EAAE,GAAG,MAAM,OAAO,uCAAoB,MAAM,IAC9D;AAAA,oBACE;AAAA,sBACE,UAAU,uCAAoB;AAAA,sBAC9B,OAAO,EAAE,UAAU,EAAE,OAAO,IAAI,MAAM,KAAK,EAAE;AAAA,oBAC/C;AAAA,kBACF,IACA,CAAC;AAAA,gBACP;AAAA,cACF;AAAA,YACF;AAAA,UACN;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAAA,IACA,CAAC,WAAW,OAAO,MAAM,WAAW,OAAO,cAAc,WAAW;AAAA,EACtE;AACF;AAEO,MAAM,eAAe;AAAA,EAC1B;AAAA,IACE,MAAM,sBAAM,UAAU;AAAA,IACtB,UAAU;AAAA,MACR;AAAA,QACE,MAAM;AAAA,MACR;AAAA,IACF;AAAA,EACF;AACF;","names":["import_controls"]}
1
+ {"version":3,"sources":["../../../../../../../src/runtimes/react/controls/rich-text-v2/EditableTextV2/usePresetValue.tsx"],"sourcesContent":["import { useMemo } from 'react'\nimport { Descendant } from 'slate'\nimport { Slate, getBaseBreakpoint } from '@makeswift/controls'\n\nimport { DefaultBreakpointID } from '../../../../../state/modules/breakpoints'\nimport { useBreakpoints } from '../../../hooks/use-breakpoints'\nimport { RichTextV2Definition, RichText } from '../../../../../controls'\n\nexport function usePresetValue(definition: RichTextV2Definition): Descendant[] {\n const breakpoints = useBreakpoints()\n return useMemo(\n () => [\n {\n type: Slate.BlockType.Default,\n children: [\n {\n text: definition.config.defaultValue ?? '',\n ...(definition.config.mode === RichText.Mode.Inline\n ? {}\n : {\n typography: {\n style: [\n {\n deviceId: getBaseBreakpoint(breakpoints).id,\n value: {\n fontWeight: 400,\n fontSize: { value: 18, unit: 'px' },\n lineHeight: 1.5,\n },\n },\n ...(breakpoints.some(({ id }) => id === DefaultBreakpointID.Mobile)\n ? [\n {\n deviceId: DefaultBreakpointID.Mobile,\n value: { fontSize: { value: 16, unit: 'px' } },\n },\n ]\n : []),\n ],\n },\n }),\n },\n ],\n },\n ],\n [definition.config.mode, definition.config.defaultValue, breakpoints],\n )\n}\n\nexport const defaultValue = [\n {\n type: Slate.BlockType.Default,\n children: [\n {\n text: '',\n },\n ],\n },\n]\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAAwB;AAExB,sBAAyC;AAEzC,yBAAoC;AACpC,6BAA+B;AAC/B,IAAAA,mBAA+C;AAExC,SAAS,eAAe,YAAgD;AAC7E,QAAM,kBAAc,uCAAe;AACnC,aAAO;AAAA,IACL,MAAM;AAAA,MACJ;AAAA,QACE,MAAM,sBAAM,UAAU;AAAA,QACtB,UAAU;AAAA,UACR;AAAA,YACE,MAAM,WAAW,OAAO,gBAAgB;AAAA,YACxC,GAAI,WAAW,OAAO,SAAS,0BAAS,KAAK,SACzC,CAAC,IACD;AAAA,cACE,YAAY;AAAA,gBACV,OAAO;AAAA,kBACL;AAAA,oBACE,cAAU,mCAAkB,WAAW,EAAE;AAAA,oBACzC,OAAO;AAAA,sBACL,YAAY;AAAA,sBACZ,UAAU,EAAE,OAAO,IAAI,MAAM,KAAK;AAAA,sBAClC,YAAY;AAAA,oBACd;AAAA,kBACF;AAAA,kBACA,GAAI,YAAY,KAAK,CAAC,EAAE,GAAG,MAAM,OAAO,uCAAoB,MAAM,IAC9D;AAAA,oBACE;AAAA,sBACE,UAAU,uCAAoB;AAAA,sBAC9B,OAAO,EAAE,UAAU,EAAE,OAAO,IAAI,MAAM,KAAK,EAAE;AAAA,oBAC/C;AAAA,kBACF,IACA,CAAC;AAAA,gBACP;AAAA,cACF;AAAA,YACF;AAAA,UACN;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAAA,IACA,CAAC,WAAW,OAAO,MAAM,WAAW,OAAO,cAAc,WAAW;AAAA,EACtE;AACF;AAEO,MAAM,eAAe;AAAA,EAC1B;AAAA,IACE,MAAM,sBAAM,UAAU;AAAA,IACtB,UAAU;AAAA,MACR;AAAA,QACE,MAAM;AAAA,MACR;AAAA,IACF;AAAA,EACF;AACF;","names":["import_controls"]}
@@ -21,12 +21,12 @@ __export(use_cache_data_exports, {
21
21
  useCacheData: () => useCacheData
22
22
  });
23
23
  module.exports = __toCommonJS(use_cache_data_exports);
24
+ var import_react = require("react");
24
25
  var import_actions = require("../../../state/actions");
25
26
  var import_host_api_client = require("../host-api-client");
26
- var import_use_universal_dispatch = require("./use-universal-dispatch");
27
27
  function useCacheData(cacheData) {
28
28
  const { makeswiftApiClient: apiStore } = (0, import_host_api_client.useMakeswiftHostApiClient)();
29
- (0, import_use_universal_dispatch.useUniversalDispatch)(apiStore.dispatch, import_actions.updateAPIClientCache, [cacheData]);
29
+ (0, import_react.useMemo)(() => apiStore.dispatch((0, import_actions.updateAPIClientCache)(cacheData)), [cacheData]);
30
30
  }
31
31
  // Annotate the CommonJS export names for ESM import in node:
32
32
  0 && (module.exports = {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/runtimes/react/hooks/use-cache-data.ts"],"sourcesContent":["import { type CacheData } from '../../../api/react'\nimport { updateAPIClientCache } from '../../../state/actions'\n\nimport { useMakeswiftHostApiClient } from '../host-api-client'\nimport { useUniversalDispatch } from './use-universal-dispatch'\n\nexport function useCacheData(cacheData: CacheData) {\n const { makeswiftApiClient: apiStore } = useMakeswiftHostApiClient()\n useUniversalDispatch(apiStore.dispatch, updateAPIClientCache, [cacheData])\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,qBAAqC;AAErC,6BAA0C;AAC1C,oCAAqC;AAE9B,SAAS,aAAa,WAAsB;AACjD,QAAM,EAAE,oBAAoB,SAAS,QAAI,kDAA0B;AACnE,0DAAqB,SAAS,UAAU,qCAAsB,CAAC,SAAS,CAAC;AAC3E;","names":[]}
1
+ {"version":3,"sources":["../../../../../src/runtimes/react/hooks/use-cache-data.ts"],"sourcesContent":["import { useMemo } from 'react'\nimport { type CacheData } from '../../../api/react'\nimport { updateAPIClientCache } from '../../../state/actions'\n\nimport { useMakeswiftHostApiClient } from '../host-api-client'\n\nexport function useCacheData(cacheData: CacheData) {\n const { makeswiftApiClient: apiStore } = useMakeswiftHostApiClient()\n\n // We perform cache hydration immediately on render - this is safe to do per\n // render because updating the API cache is idempotent. For precedence, see:\n //\n // https://github.com/TanStack/query/blob/8f9f183f11df3709a1a38c4efce1452788041f88/packages/react-query/src/HydrationBoundary.tsx#L41\n useMemo(() => apiStore.dispatch(updateAPIClientCache(cacheData)), [cacheData])\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAAwB;AAExB,qBAAqC;AAErC,6BAA0C;AAEnC,SAAS,aAAa,WAAsB;AACjD,QAAM,EAAE,oBAAoB,SAAS,QAAI,kDAA0B;AAMnE,4BAAQ,MAAM,SAAS,aAAS,qCAAqB,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC;AAC/E;","names":[]}
@@ -19,30 +19,25 @@ var __copyProps = (to, from, except, desc) => {
19
19
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
20
20
  var use_document_context_exports = {};
21
21
  __export(use_document_context_exports, {
22
- DocumentContext: () => DocumentContext,
23
- useDocumentContext: () => useDocumentContext,
22
+ DocumentKeyContext: () => DocumentKeyContext,
23
+ DocumentLocaleContext: () => DocumentLocaleContext,
24
24
  useDocumentKey: () => useDocumentKey,
25
25
  useDocumentLocale: () => useDocumentLocale
26
26
  });
27
27
  module.exports = __toCommonJS(use_document_context_exports);
28
28
  var import_react = require("react");
29
- const DocumentContext = (0, import_react.createContext)({
30
- key: null,
31
- locale: null
32
- });
33
- function useDocumentContext() {
34
- return (0, import_react.useContext)(DocumentContext);
35
- }
29
+ const DocumentKeyContext = (0, import_react.createContext)(null);
30
+ const DocumentLocaleContext = (0, import_react.createContext)(null);
36
31
  function useDocumentKey() {
37
- return useDocumentContext().key;
32
+ return (0, import_react.useContext)(DocumentKeyContext);
38
33
  }
39
34
  function useDocumentLocale() {
40
- return useDocumentContext().locale;
35
+ return (0, import_react.useContext)(DocumentLocaleContext);
41
36
  }
42
37
  // Annotate the CommonJS export names for ESM import in node:
43
38
  0 && (module.exports = {
44
- DocumentContext,
45
- useDocumentContext,
39
+ DocumentKeyContext,
40
+ DocumentLocaleContext,
46
41
  useDocumentKey,
47
42
  useDocumentLocale
48
43
  });
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/runtimes/react/hooks/use-document-context.ts"],"sourcesContent":["'use client'\n\nimport { createContext, useContext } from 'react'\n\ntype ContextValue = {\n key: string | null\n locale: string | null\n}\n\nexport const DocumentContext = createContext<ContextValue>({\n key: null,\n locale: null,\n})\n\nexport function useDocumentContext(): ContextValue {\n return useContext(DocumentContext)\n}\n\nexport function useDocumentKey(): string | null {\n return useDocumentContext().key\n}\n\nexport function useDocumentLocale(): string | null {\n return useDocumentContext().locale\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,mBAA0C;AAOnC,MAAM,sBAAkB,4BAA4B;AAAA,EACzD,KAAK;AAAA,EACL,QAAQ;AACV,CAAC;AAEM,SAAS,qBAAmC;AACjD,aAAO,yBAAW,eAAe;AACnC;AAEO,SAAS,iBAAgC;AAC9C,SAAO,mBAAmB,EAAE;AAC9B;AAEO,SAAS,oBAAmC;AACjD,SAAO,mBAAmB,EAAE;AAC9B;","names":[]}
1
+ {"version":3,"sources":["../../../../../src/runtimes/react/hooks/use-document-context.ts"],"sourcesContent":["'use client'\n\nimport { createContext, useContext } from 'react'\n\nexport const DocumentKeyContext = createContext<string | null>(null)\nexport const DocumentLocaleContext = createContext<string | null>(null)\n\nexport function useDocumentKey(): string | null {\n return useContext(DocumentKeyContext)\n}\n\nexport function useDocumentLocale(): string | null {\n return useContext(DocumentLocaleContext)\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,mBAA0C;AAEnC,MAAM,yBAAqB,4BAA6B,IAAI;AAC5D,MAAM,4BAAwB,4BAA6B,IAAI;AAE/D,SAAS,iBAAgC;AAC9C,aAAO,yBAAW,kBAAkB;AACtC;AAEO,SAAS,oBAAmC;AACjD,aAAO,yBAAW,qBAAqB;AACzC;","names":[]}
@@ -25,10 +25,17 @@ var import_react = require("react");
25
25
  var import_use_dispatch = require("./use-dispatch");
26
26
  var import_use_is_in_builder = require("./use-is-in-builder");
27
27
  var import_actions = require("../../../state/actions");
28
+ var import_is_server = require("../../../utils/is-server");
29
+ var import_useIsomorphicLayoutEffect = require("../../../components/hooks/useIsomorphicLayoutEffect");
28
30
  function useRegisterDocument(document) {
29
31
  const isInBuilder = (0, import_use_is_in_builder.useIsInBuilder)();
30
32
  const dispatch = (0, import_use_dispatch.useDispatch)();
31
- (0, import_react.useEffect)(() => dispatch((0, import_actions.registerDocumentsEffect)([document])), [document]);
33
+ if ((0, import_is_server.isServer)()) {
34
+ dispatch((0, import_actions.registerDocument)(document));
35
+ }
36
+ (0, import_useIsomorphicLayoutEffect.useIsomorphicLayoutEffect)(() => {
37
+ return dispatch((0, import_actions.registerDocumentsEffect)([document]));
38
+ }, [dispatch, document]);
32
39
  (0, import_react.useEffect)(() => {
33
40
  if (!isInBuilder)
34
41
  return;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/runtimes/react/hooks/use-register-document.ts"],"sourcesContent":["import { useEffect } from 'react'\nimport { type Document } from '../../../state/react-page'\nimport { useDispatch } from './use-dispatch'\nimport { useIsInBuilder } from './use-is-in-builder'\nimport { registerBuilderDocumentsEffect, registerDocumentsEffect } from '../../../state/actions'\n\n/**\n * @param document Document to register\n */\nexport function useRegisterDocument(document: Document): void {\n const isInBuilder = useIsInBuilder()\n const dispatch = useDispatch()\n\n useEffect(() => dispatch(registerDocumentsEffect([document])), [document])\n\n // TODO: Decide whether to do this via middleware or via explicit action (like\n // what we're doing below)\n useEffect(() => {\n if (!isInBuilder) return\n return dispatch(registerBuilderDocumentsEffect([document]))\n }, [isInBuilder, document])\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAA0B;AAE1B,0BAA4B;AAC5B,+BAA+B;AAC/B,qBAAwE;AAKjE,SAAS,oBAAoB,UAA0B;AAC5D,QAAM,kBAAc,yCAAe;AACnC,QAAM,eAAW,iCAAY;AAE7B,8BAAU,MAAM,aAAS,wCAAwB,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC;AAIzE,8BAAU,MAAM;AACd,QAAI,CAAC;AAAa;AAClB,WAAO,aAAS,+CAA+B,CAAC,QAAQ,CAAC,CAAC;AAAA,EAC5D,GAAG,CAAC,aAAa,QAAQ,CAAC;AAC5B;","names":[]}
1
+ {"version":3,"sources":["../../../../../src/runtimes/react/hooks/use-register-document.ts"],"sourcesContent":["import { useEffect } from 'react'\nimport { type Document } from '../../../state/react-page'\nimport { useDispatch } from './use-dispatch'\nimport { useIsInBuilder } from './use-is-in-builder'\nimport { registerBuilderDocumentsEffect, registerDocument, registerDocumentsEffect } from '../../../state/actions'\nimport { isServer } from '../../../utils/is-server'\nimport { useIsomorphicLayoutEffect } from '../../../components/hooks/useIsomorphicLayoutEffect'\n\n/**\n * @param document Document to register\n */\nexport function useRegisterDocument(document: Document): void {\n const isInBuilder = useIsInBuilder()\n const dispatch = useDispatch()\n\n if (isServer()) {\n dispatch(registerDocument(document))\n }\n\n /*\n Layout effect is to ensure that the document registration happens prior to the\n attempted creation/registration of prop controllers in child components.\n */\n useIsomorphicLayoutEffect(() => {\n return dispatch(registerDocumentsEffect([document]))\n }, [dispatch, document])\n\n // TODO: Decide whether to do this via middleware or via explicit action (like\n // what we're doing below)\n useEffect(() => {\n if (!isInBuilder) return\n return dispatch(registerBuilderDocumentsEffect([document]))\n }, [isInBuilder, document])\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAA0B;AAE1B,0BAA4B;AAC5B,+BAA+B;AAC/B,qBAA0F;AAC1F,uBAAyB;AACzB,uCAA0C;AAKnC,SAAS,oBAAoB,UAA0B;AAC5D,QAAM,kBAAc,yCAAe;AACnC,QAAM,eAAW,iCAAY;AAE7B,UAAI,2BAAS,GAAG;AACd,iBAAS,iCAAiB,QAAQ,CAAC;AAAA,EACrC;AAMA,kEAA0B,MAAM;AAC9B,WAAO,aAAS,wCAAwB,CAAC,QAAQ,CAAC,CAAC;AAAA,EACrD,GAAG,CAAC,UAAU,QAAQ,CAAC;AAIvB,8BAAU,MAAM;AACd,QAAI,CAAC;AAAa;AAClB,WAAO,aAAS,+CAA+B,CAAC,QAAQ,CAAC,CAAC;AAAA,EAC5D,GAAG,CAAC,aAAa,QAAQ,CAAC;AAC5B;","names":[]}