@makeswift/runtime 0.14.5 → 0.16.0-canary.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 (472) 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/builder/serialization/control-serialization.js +3 -2
  6. package/dist/cjs/builder/serialization/control-serialization.js.map +1 -1
  7. package/dist/cjs/components/builtin/Box/Box.js +1 -0
  8. package/dist/cjs/components/builtin/Box/Box.js.map +1 -1
  9. package/dist/cjs/components/builtin/Box/animations.js +1 -0
  10. package/dist/cjs/components/builtin/Box/animations.js.map +1 -1
  11. package/dist/cjs/components/builtin/Box/register.js +2 -3
  12. package/dist/cjs/components/builtin/Box/register.js.map +1 -1
  13. package/dist/cjs/components/builtin/Button/Button.js.map +1 -1
  14. package/dist/cjs/components/builtin/Button/register.js +15 -15
  15. package/dist/cjs/components/builtin/Button/register.js.map +1 -1
  16. package/dist/cjs/components/builtin/Carousel/Carousel.js +1 -0
  17. package/dist/cjs/components/builtin/Carousel/Carousel.js.map +1 -1
  18. package/dist/cjs/components/builtin/Carousel/register.js +2 -3
  19. package/dist/cjs/components/builtin/Carousel/register.js.map +1 -1
  20. package/dist/cjs/components/builtin/Countdown/Countdown.js +1 -0
  21. package/dist/cjs/components/builtin/Countdown/Countdown.js.map +1 -1
  22. package/dist/cjs/components/builtin/Countdown/register.js +2 -3
  23. package/dist/cjs/components/builtin/Countdown/register.js.map +1 -1
  24. package/dist/cjs/components/builtin/Divider/register.js +2 -3
  25. package/dist/cjs/components/builtin/Divider/register.js.map +1 -1
  26. package/dist/cjs/components/builtin/Embed/Embed.js +1 -0
  27. package/dist/cjs/components/builtin/Embed/Embed.js.map +1 -1
  28. package/dist/cjs/components/builtin/Embed/register.js +2 -3
  29. package/dist/cjs/components/builtin/Embed/register.js.map +1 -1
  30. package/dist/cjs/components/builtin/Form/Form.js +3 -2
  31. package/dist/cjs/components/builtin/Form/Form.js.map +1 -1
  32. package/dist/cjs/components/builtin/Form/context/FormContext.js +1 -0
  33. package/dist/cjs/components/builtin/Form/context/FormContext.js.map +1 -1
  34. package/dist/cjs/components/builtin/Form/register.js +4 -4
  35. package/dist/cjs/components/builtin/Form/register.js.map +1 -1
  36. package/dist/cjs/components/builtin/Image/Image.js +1 -0
  37. package/dist/cjs/components/builtin/Image/Image.js.map +1 -1
  38. package/dist/cjs/components/builtin/Image/register.js +4 -4
  39. package/dist/cjs/components/builtin/Image/register.js.map +1 -1
  40. package/dist/cjs/components/builtin/Navigation/Navigation.js +1 -0
  41. package/dist/cjs/components/builtin/Navigation/Navigation.js.map +1 -1
  42. package/dist/cjs/components/builtin/Navigation/components/DropDownButton/index.js.map +1 -1
  43. package/dist/cjs/components/builtin/Navigation/components/MobileMenu/components/MobileDropDownButton/index.js.map +1 -1
  44. package/dist/cjs/components/builtin/Navigation/register.js +4 -4
  45. package/dist/cjs/components/builtin/Navigation/register.js.map +1 -1
  46. package/dist/cjs/components/builtin/Root/register.js +2 -3
  47. package/dist/cjs/components/builtin/Root/register.js.map +1 -1
  48. package/dist/cjs/components/builtin/SocialLinks/register.js +2 -3
  49. package/dist/cjs/components/builtin/SocialLinks/register.js.map +1 -1
  50. package/dist/cjs/components/builtin/Text/register.js +2 -3
  51. package/dist/cjs/components/builtin/Text/register.js.map +1 -1
  52. package/dist/cjs/components/builtin/Video/Video.js +1 -0
  53. package/dist/cjs/components/builtin/Video/Video.js.map +1 -1
  54. package/dist/cjs/components/builtin/Video/register.js +2 -3
  55. package/dist/cjs/components/builtin/Video/register.js.map +1 -1
  56. package/dist/cjs/components/hooks/index.js +3 -1
  57. package/dist/cjs/components/hooks/index.js.map +1 -1
  58. package/dist/cjs/components/hooks/usePageSnippets.js +93 -0
  59. package/dist/cjs/components/hooks/usePageSnippets.js.map +1 -0
  60. package/dist/cjs/components/hooks/usePropControllerLinkData.js +34 -0
  61. package/dist/cjs/components/hooks/usePropControllerLinkData.js.map +1 -0
  62. package/dist/cjs/components/hooks/useRouterLocaleSync.js +49 -0
  63. package/dist/cjs/components/hooks/useRouterLocaleSync.js.map +1 -0
  64. package/dist/cjs/components/page/BodySnippet.js +1 -1
  65. package/dist/cjs/components/page/BodySnippet.js.map +1 -1
  66. package/dist/cjs/components/page/HeadSnippet.js +134 -0
  67. package/dist/cjs/components/page/HeadSnippet.js.map +1 -0
  68. package/dist/cjs/components/page/Page.js +9 -178
  69. package/dist/cjs/components/page/Page.js.map +1 -1
  70. package/dist/cjs/components/page/PageHead.js +109 -0
  71. package/dist/cjs/components/page/PageHead.js.map +1 -0
  72. package/dist/cjs/components/shared/BackgroundsContainer/index.js +1 -0
  73. package/dist/cjs/components/shared/BackgroundsContainer/index.js.map +1 -1
  74. package/dist/cjs/components/shared/Link/index.js +5 -1
  75. package/dist/cjs/components/shared/Link/index.js.map +1 -1
  76. package/dist/cjs/controls/control.js +2 -1
  77. package/dist/cjs/controls/control.js.map +1 -1
  78. package/dist/cjs/controls/rich-text/introspection.js +2 -9
  79. package/dist/cjs/controls/rich-text/introspection.js.map +1 -1
  80. package/dist/cjs/index.js +0 -2
  81. package/dist/cjs/index.js.map +1 -1
  82. package/dist/cjs/next/api-handler/handlers/element-tree.js +17 -8
  83. package/dist/cjs/next/api-handler/handlers/element-tree.js.map +1 -1
  84. package/dist/cjs/next/api-handler/handlers/fonts.js +7 -2
  85. package/dist/cjs/next/api-handler/handlers/fonts.js.map +1 -1
  86. package/dist/cjs/next/api-handler/handlers/manifest.js +20 -8
  87. package/dist/cjs/next/api-handler/handlers/manifest.js.map +1 -1
  88. package/dist/cjs/next/api-handler/handlers/merge-translated-data.js +17 -6
  89. package/dist/cjs/next/api-handler/handlers/merge-translated-data.js.map +1 -1
  90. package/dist/cjs/next/api-handler/handlers/proxy-draft-mode.js +69 -0
  91. package/dist/cjs/next/api-handler/handlers/proxy-draft-mode.js.map +1 -0
  92. package/dist/cjs/next/api-handler/handlers/proxy-preview-mode.js +55 -44
  93. package/dist/cjs/next/api-handler/handlers/proxy-preview-mode.js.map +1 -1
  94. package/dist/cjs/next/api-handler/handlers/revalidate.js +27 -16
  95. package/dist/cjs/next/api-handler/handlers/revalidate.js.map +1 -1
  96. package/dist/cjs/next/api-handler/handlers/translatable-data.js +16 -5
  97. package/dist/cjs/next/api-handler/handlers/translatable-data.js.map +1 -1
  98. package/dist/cjs/next/api-handler/index.js +68 -34
  99. package/dist/cjs/next/api-handler/index.js.map +1 -1
  100. package/dist/cjs/next/client.js +3 -2
  101. package/dist/cjs/next/client.js.map +1 -1
  102. package/dist/cjs/next/components/head-tags.js +77 -0
  103. package/dist/cjs/next/components/head-tags.js.map +1 -0
  104. package/dist/cjs/next/components/page.js +56 -0
  105. package/dist/cjs/next/components/page.js.map +1 -0
  106. package/dist/cjs/next/context/makeswift-host-api-client.js +46 -0
  107. package/dist/cjs/next/context/makeswift-host-api-client.js.map +1 -0
  108. package/dist/cjs/next/context/react-runtime.js +44 -0
  109. package/dist/cjs/next/context/react-runtime.js.map +1 -0
  110. package/dist/cjs/next/draft-mode/draft-mode-script.js +123 -0
  111. package/dist/cjs/next/draft-mode/draft-mode-script.js.map +1 -0
  112. package/dist/cjs/next/draft-mode/index.js +56 -0
  113. package/dist/cjs/next/draft-mode/index.js.map +1 -0
  114. package/dist/cjs/next/hooks/use-is-pages-router.js +37 -0
  115. package/dist/cjs/next/hooks/use-is-pages-router.js.map +1 -0
  116. package/dist/cjs/next/index.js +10 -36
  117. package/dist/cjs/next/index.js.map +1 -1
  118. package/dist/cjs/next/preview-mode.js +4 -2
  119. package/dist/cjs/next/preview-mode.js.map +1 -1
  120. package/dist/cjs/next/root-style-registry.js +90 -0
  121. package/dist/cjs/next/root-style-registry.js.map +1 -0
  122. package/dist/cjs/next/server.js +8 -2
  123. package/dist/cjs/next/server.js.map +1 -1
  124. package/dist/cjs/prop-controllers/copy/navigation-links.js +2 -2
  125. package/dist/cjs/prop-controllers/copy/navigation-links.js.map +1 -1
  126. package/dist/cjs/prop-controllers/copy.js +4 -3
  127. package/dist/cjs/prop-controllers/copy.js.map +1 -1
  128. package/dist/cjs/prop-controllers/descriptors.js +0 -6
  129. package/dist/cjs/prop-controllers/descriptors.js.map +1 -1
  130. package/dist/cjs/prop-controllers/index.js.map +1 -1
  131. package/dist/cjs/prop-controllers/introspection.js +3 -10
  132. package/dist/cjs/prop-controllers/introspection.js.map +1 -1
  133. package/dist/cjs/runtimes/react/components/Element.js +1 -0
  134. package/dist/cjs/runtimes/react/components/Element.js.map +1 -1
  135. package/dist/cjs/runtimes/react/components/LiveProvider.js +6 -13
  136. package/dist/cjs/runtimes/react/components/LiveProvider.js.map +1 -1
  137. package/dist/cjs/runtimes/react/components/PreviewProvider.js +6 -8
  138. package/dist/cjs/runtimes/react/components/PreviewProvider.js.map +1 -1
  139. package/dist/cjs/runtimes/react/components/RuntimeProvider.js +3 -3
  140. package/dist/cjs/runtimes/react/components/RuntimeProvider.js.map +1 -1
  141. package/dist/cjs/runtimes/react/controls/link.js +1 -1
  142. package/dist/cjs/runtimes/react/controls/link.js.map +1 -1
  143. package/dist/cjs/runtimes/react/controls/rich-text/rich-text.js +2 -4
  144. package/dist/cjs/runtimes/react/controls/rich-text/rich-text.js.map +1 -1
  145. package/dist/cjs/runtimes/react/controls/rich-text-v2/rich-text-v2.js +4 -11
  146. package/dist/cjs/runtimes/react/controls/rich-text-v2/rich-text-v2.js.map +1 -1
  147. package/dist/cjs/runtimes/react/controls.js +11 -0
  148. package/dist/cjs/runtimes/react/controls.js.map +1 -1
  149. package/dist/cjs/runtimes/react/hooks/makeswift-api.js +11 -10
  150. package/dist/cjs/runtimes/react/hooks/makeswift-api.js.map +1 -1
  151. package/dist/cjs/runtimes/react/hooks/use-document-key.js +1 -0
  152. package/dist/cjs/runtimes/react/hooks/use-document-key.js.map +1 -1
  153. package/dist/cjs/runtimes/react/hooks/use-page-id.js +1 -0
  154. package/dist/cjs/runtimes/react/hooks/use-page-id.js.map +1 -1
  155. package/dist/cjs/runtimes/react/hooks/use-store.js +1 -0
  156. package/dist/cjs/runtimes/react/hooks/use-store.js.map +1 -1
  157. package/dist/cjs/runtimes/react/use-global-style.js +15 -10
  158. package/dist/cjs/runtimes/react/use-global-style.js.map +1 -1
  159. package/dist/cjs/runtimes/react/use-style.js +7 -6
  160. package/dist/cjs/runtimes/react/use-style.js.map +1 -1
  161. package/dist/cjs/state/actions.js +0 -25
  162. package/dist/cjs/state/actions.js.map +1 -1
  163. package/dist/cjs/state/react-builder-preview.js +1 -24
  164. package/dist/cjs/state/react-builder-preview.js.map +1 -1
  165. package/dist/esm/api/react.js +2 -14
  166. package/dist/esm/api/react.js.map +1 -1
  167. package/dist/esm/api/resource-types.js +8 -0
  168. package/dist/esm/api/resource-types.js.map +1 -0
  169. package/dist/esm/builder/serialization/control-serialization.js +5 -2
  170. package/dist/esm/builder/serialization/control-serialization.js.map +1 -1
  171. package/dist/esm/components/builtin/Box/Box.js +1 -0
  172. package/dist/esm/components/builtin/Box/Box.js.map +1 -1
  173. package/dist/esm/components/builtin/Box/animations.js +1 -0
  174. package/dist/esm/components/builtin/Box/animations.js.map +1 -1
  175. package/dist/esm/components/builtin/Box/register.js +2 -3
  176. package/dist/esm/components/builtin/Box/register.js.map +1 -1
  177. package/dist/esm/components/builtin/Button/Button.js.map +1 -1
  178. package/dist/esm/components/builtin/Button/register.js +4 -4
  179. package/dist/esm/components/builtin/Button/register.js.map +1 -1
  180. package/dist/esm/components/builtin/Carousel/Carousel.js +1 -0
  181. package/dist/esm/components/builtin/Carousel/Carousel.js.map +1 -1
  182. package/dist/esm/components/builtin/Carousel/register.js +2 -3
  183. package/dist/esm/components/builtin/Carousel/register.js.map +1 -1
  184. package/dist/esm/components/builtin/Countdown/Countdown.js +1 -0
  185. package/dist/esm/components/builtin/Countdown/Countdown.js.map +1 -1
  186. package/dist/esm/components/builtin/Countdown/register.js +2 -3
  187. package/dist/esm/components/builtin/Countdown/register.js.map +1 -1
  188. package/dist/esm/components/builtin/Divider/register.js +2 -3
  189. package/dist/esm/components/builtin/Divider/register.js.map +1 -1
  190. package/dist/esm/components/builtin/Embed/Embed.js +1 -0
  191. package/dist/esm/components/builtin/Embed/Embed.js.map +1 -1
  192. package/dist/esm/components/builtin/Embed/register.js +2 -3
  193. package/dist/esm/components/builtin/Embed/register.js.map +1 -1
  194. package/dist/esm/components/builtin/Form/Form.js +3 -2
  195. package/dist/esm/components/builtin/Form/Form.js.map +1 -1
  196. package/dist/esm/components/builtin/Form/context/FormContext.js +1 -0
  197. package/dist/esm/components/builtin/Form/context/FormContext.js.map +1 -1
  198. package/dist/esm/components/builtin/Form/register.js +4 -4
  199. package/dist/esm/components/builtin/Form/register.js.map +1 -1
  200. package/dist/esm/components/builtin/Image/Image.js +1 -0
  201. package/dist/esm/components/builtin/Image/Image.js.map +1 -1
  202. package/dist/esm/components/builtin/Image/register.js +4 -4
  203. package/dist/esm/components/builtin/Image/register.js.map +1 -1
  204. package/dist/esm/components/builtin/Navigation/Navigation.js +1 -0
  205. package/dist/esm/components/builtin/Navigation/Navigation.js.map +1 -1
  206. package/dist/esm/components/builtin/Navigation/components/DropDownButton/index.js.map +1 -1
  207. package/dist/esm/components/builtin/Navigation/components/MobileMenu/components/MobileDropDownButton/index.js.map +1 -1
  208. package/dist/esm/components/builtin/Navigation/register.js +4 -4
  209. package/dist/esm/components/builtin/Navigation/register.js.map +1 -1
  210. package/dist/esm/components/builtin/Root/register.js +2 -3
  211. package/dist/esm/components/builtin/Root/register.js.map +1 -1
  212. package/dist/esm/components/builtin/SocialLinks/register.js +2 -3
  213. package/dist/esm/components/builtin/SocialLinks/register.js.map +1 -1
  214. package/dist/esm/components/builtin/Text/register.js +2 -3
  215. package/dist/esm/components/builtin/Text/register.js.map +1 -1
  216. package/dist/esm/components/builtin/Video/Video.js +1 -0
  217. package/dist/esm/components/builtin/Video/Video.js.map +1 -1
  218. package/dist/esm/components/builtin/Video/register.js +2 -3
  219. package/dist/esm/components/builtin/Video/register.js.map +1 -1
  220. package/dist/esm/components/hooks/index.js +1 -0
  221. package/dist/esm/components/hooks/index.js.map +1 -1
  222. package/dist/esm/components/hooks/usePageSnippets.js +59 -0
  223. package/dist/esm/components/hooks/usePageSnippets.js.map +1 -0
  224. package/dist/esm/components/hooks/usePropControllerLinkData.js +12 -0
  225. package/dist/esm/components/hooks/usePropControllerLinkData.js.map +1 -0
  226. package/dist/esm/components/hooks/useRouterLocaleSync.js +25 -0
  227. package/dist/esm/components/hooks/useRouterLocaleSync.js.map +1 -0
  228. package/dist/esm/components/page/BodySnippet.js +1 -1
  229. package/dist/esm/components/page/BodySnippet.js.map +1 -1
  230. package/dist/esm/components/page/HeadSnippet.js +100 -0
  231. package/dist/esm/components/page/HeadSnippet.js.map +1 -0
  232. package/dist/esm/components/page/Page.js +7 -166
  233. package/dist/esm/components/page/Page.js.map +1 -1
  234. package/dist/esm/components/page/PageHead.js +85 -0
  235. package/dist/esm/components/page/PageHead.js.map +1 -0
  236. package/dist/esm/components/shared/BackgroundsContainer/index.js +1 -0
  237. package/dist/esm/components/shared/BackgroundsContainer/index.js.map +1 -1
  238. package/dist/esm/components/shared/Link/index.js +5 -1
  239. package/dist/esm/components/shared/Link/index.js.map +1 -1
  240. package/dist/esm/controls/control.js +2 -1
  241. package/dist/esm/controls/control.js.map +1 -1
  242. package/dist/esm/controls/rich-text/introspection.js +2 -9
  243. package/dist/esm/controls/rich-text/introspection.js.map +1 -1
  244. package/dist/esm/index.js +0 -2
  245. package/dist/esm/index.js.map +1 -1
  246. package/dist/esm/next/api-handler/handlers/element-tree.js +17 -8
  247. package/dist/esm/next/api-handler/handlers/element-tree.js.map +1 -1
  248. package/dist/esm/next/api-handler/handlers/fonts.js +7 -2
  249. package/dist/esm/next/api-handler/handlers/fonts.js.map +1 -1
  250. package/dist/esm/next/api-handler/handlers/manifest.js +20 -8
  251. package/dist/esm/next/api-handler/handlers/manifest.js.map +1 -1
  252. package/dist/esm/next/api-handler/handlers/merge-translated-data.js +17 -6
  253. package/dist/esm/next/api-handler/handlers/merge-translated-data.js.map +1 -1
  254. package/dist/esm/next/api-handler/handlers/proxy-draft-mode.js +49 -0
  255. package/dist/esm/next/api-handler/handlers/proxy-draft-mode.js.map +1 -0
  256. package/dist/esm/next/api-handler/handlers/proxy-preview-mode.js +55 -44
  257. package/dist/esm/next/api-handler/handlers/proxy-preview-mode.js.map +1 -1
  258. package/dist/esm/next/api-handler/handlers/revalidate.js +27 -16
  259. package/dist/esm/next/api-handler/handlers/revalidate.js.map +1 -1
  260. package/dist/esm/next/api-handler/handlers/translatable-data.js +16 -5
  261. package/dist/esm/next/api-handler/handlers/translatable-data.js.map +1 -1
  262. package/dist/esm/next/api-handler/index.js +68 -34
  263. package/dist/esm/next/api-handler/index.js.map +1 -1
  264. package/dist/esm/next/client.js +3 -2
  265. package/dist/esm/next/client.js.map +1 -1
  266. package/dist/esm/next/components/head-tags.js +40 -0
  267. package/dist/esm/next/components/head-tags.js.map +1 -0
  268. package/dist/esm/next/components/page.js +32 -0
  269. package/dist/esm/next/components/page.js.map +1 -0
  270. package/dist/esm/next/context/makeswift-host-api-client.js +21 -0
  271. package/dist/esm/next/context/makeswift-host-api-client.js.map +1 -0
  272. package/dist/esm/next/context/react-runtime.js +19 -0
  273. package/dist/esm/next/context/react-runtime.js.map +1 -0
  274. package/dist/esm/next/draft-mode/draft-mode-script.js +99 -0
  275. package/dist/esm/next/draft-mode/draft-mode-script.js.map +1 -0
  276. package/dist/esm/next/draft-mode/index.js +30 -0
  277. package/dist/esm/next/draft-mode/index.js.map +1 -0
  278. package/dist/esm/next/hooks/use-is-pages-router.js +13 -0
  279. package/dist/esm/next/hooks/use-is-pages-router.js.map +1 -0
  280. package/dist/esm/next/index.js +5 -32
  281. package/dist/esm/next/index.js.map +1 -1
  282. package/dist/esm/next/preview-mode.js +2 -1
  283. package/dist/esm/next/preview-mode.js.map +1 -1
  284. package/dist/esm/next/root-style-registry.js +55 -0
  285. package/dist/esm/next/root-style-registry.js.map +1 -0
  286. package/dist/esm/next/server.js +5 -1
  287. package/dist/esm/next/server.js.map +1 -1
  288. package/dist/esm/prop-controllers/copy/navigation-links.js +2 -2
  289. package/dist/esm/prop-controllers/copy/navigation-links.js.map +1 -1
  290. package/dist/esm/prop-controllers/copy.js +4 -3
  291. package/dist/esm/prop-controllers/copy.js.map +1 -1
  292. package/dist/esm/prop-controllers/descriptors.js +0 -5
  293. package/dist/esm/prop-controllers/descriptors.js.map +1 -1
  294. package/dist/esm/prop-controllers/index.js.map +1 -1
  295. package/dist/esm/prop-controllers/introspection.js +6 -10
  296. package/dist/esm/prop-controllers/introspection.js.map +1 -1
  297. package/dist/esm/runtimes/react/components/Element.js +1 -0
  298. package/dist/esm/runtimes/react/components/Element.js.map +1 -1
  299. package/dist/esm/runtimes/react/components/LiveProvider.js +6 -13
  300. package/dist/esm/runtimes/react/components/LiveProvider.js.map +1 -1
  301. package/dist/esm/runtimes/react/components/PreviewProvider.js +6 -8
  302. package/dist/esm/runtimes/react/components/PreviewProvider.js.map +1 -1
  303. package/dist/esm/runtimes/react/components/RuntimeProvider.js +3 -3
  304. package/dist/esm/runtimes/react/components/RuntimeProvider.js.map +1 -1
  305. package/dist/esm/runtimes/react/controls/link.js +1 -1
  306. package/dist/esm/runtimes/react/controls/link.js.map +1 -1
  307. package/dist/esm/runtimes/react/controls/rich-text/rich-text.js +3 -5
  308. package/dist/esm/runtimes/react/controls/rich-text/rich-text.js.map +1 -1
  309. package/dist/esm/runtimes/react/controls/rich-text-v2/rich-text-v2.js +4 -11
  310. package/dist/esm/runtimes/react/controls/rich-text-v2/rich-text-v2.js.map +1 -1
  311. package/dist/esm/runtimes/react/controls.js +13 -1
  312. package/dist/esm/runtimes/react/controls.js.map +1 -1
  313. package/dist/esm/runtimes/react/hooks/makeswift-api.js +11 -10
  314. package/dist/esm/runtimes/react/hooks/makeswift-api.js.map +1 -1
  315. package/dist/esm/runtimes/react/hooks/use-document-key.js +1 -0
  316. package/dist/esm/runtimes/react/hooks/use-document-key.js.map +1 -1
  317. package/dist/esm/runtimes/react/hooks/use-page-id.js +1 -0
  318. package/dist/esm/runtimes/react/hooks/use-page-id.js.map +1 -1
  319. package/dist/esm/runtimes/react/hooks/use-store.js +1 -0
  320. package/dist/esm/runtimes/react/hooks/use-store.js.map +1 -1
  321. package/dist/esm/runtimes/react/use-global-style.js +8 -3
  322. package/dist/esm/runtimes/react/use-global-style.js.map +1 -1
  323. package/dist/esm/runtimes/react/use-style.js +2 -1
  324. package/dist/esm/runtimes/react/use-style.js.map +1 -1
  325. package/dist/esm/state/actions.js +0 -22
  326. package/dist/esm/state/actions.js.map +1 -1
  327. package/dist/esm/state/react-builder-preview.js +2 -28
  328. package/dist/esm/state/react-builder-preview.js.map +1 -1
  329. package/dist/types/api/react.d.ts +1 -9
  330. package/dist/types/api/react.d.ts.map +1 -1
  331. package/dist/types/api/resource-types.d.ts +20 -0
  332. package/dist/types/api/resource-types.d.ts.map +1 -0
  333. package/dist/types/builder/serialization/control-serialization.d.ts +9 -8
  334. package/dist/types/builder/serialization/control-serialization.d.ts.map +1 -1
  335. package/dist/types/components/builtin/Box/Box.d.ts.map +1 -1
  336. package/dist/types/components/builtin/Box/animations.d.ts.map +1 -1
  337. package/dist/types/components/builtin/Box/register.d.ts.map +1 -1
  338. package/dist/types/components/builtin/Button/Button.d.ts +3 -2
  339. package/dist/types/components/builtin/Button/Button.d.ts.map +1 -1
  340. package/dist/types/components/builtin/Button/register.d.ts.map +1 -1
  341. package/dist/types/components/builtin/Carousel/Carousel.d.ts.map +1 -1
  342. package/dist/types/components/builtin/Carousel/register.d.ts.map +1 -1
  343. package/dist/types/components/builtin/Countdown/Countdown.d.ts.map +1 -1
  344. package/dist/types/components/builtin/Countdown/register.d.ts.map +1 -1
  345. package/dist/types/components/builtin/Divider/register.d.ts.map +1 -1
  346. package/dist/types/components/builtin/Embed/Embed.d.ts.map +1 -1
  347. package/dist/types/components/builtin/Embed/register.d.ts.map +1 -1
  348. package/dist/types/components/builtin/Form/Form.d.ts +3 -2
  349. package/dist/types/components/builtin/Form/Form.d.ts.map +1 -1
  350. package/dist/types/components/builtin/Form/components/Field/components/Checkbox/index.d.ts +1 -1
  351. package/dist/types/components/builtin/Form/context/FormContext.d.ts.map +1 -1
  352. package/dist/types/components/builtin/Form/register.d.ts.map +1 -1
  353. package/dist/types/components/builtin/Image/Image.d.ts +3 -2
  354. package/dist/types/components/builtin/Image/Image.d.ts.map +1 -1
  355. package/dist/types/components/builtin/Image/register.d.ts.map +1 -1
  356. package/dist/types/components/builtin/Navigation/Navigation.d.ts +3 -2
  357. package/dist/types/components/builtin/Navigation/Navigation.d.ts.map +1 -1
  358. package/dist/types/components/builtin/Navigation/components/DropDownButton/index.d.ts +3 -2
  359. package/dist/types/components/builtin/Navigation/components/DropDownButton/index.d.ts.map +1 -1
  360. package/dist/types/components/builtin/Navigation/components/MobileMenu/components/MobileDropDownButton/index.d.ts +3 -2
  361. package/dist/types/components/builtin/Navigation/components/MobileMenu/components/MobileDropDownButton/index.d.ts.map +1 -1
  362. package/dist/types/components/builtin/Navigation/register.d.ts.map +1 -1
  363. package/dist/types/components/builtin/Root/register.d.ts.map +1 -1
  364. package/dist/types/components/builtin/SocialLinks/register.d.ts.map +1 -1
  365. package/dist/types/components/builtin/Text/register.d.ts.map +1 -1
  366. package/dist/types/components/builtin/Video/Video.d.ts.map +1 -1
  367. package/dist/types/components/builtin/Video/register.d.ts.map +1 -1
  368. package/dist/types/components/hooks/index.d.ts +1 -0
  369. package/dist/types/components/hooks/index.d.ts.map +1 -1
  370. package/dist/types/components/hooks/usePageSnippets.d.ts +36 -0
  371. package/dist/types/components/hooks/usePageSnippets.d.ts.map +1 -0
  372. package/dist/types/components/hooks/usePropControllerLinkData.d.ts +3 -0
  373. package/dist/types/components/hooks/usePropControllerLinkData.d.ts.map +1 -0
  374. package/dist/types/components/hooks/useRouterLocaleSync.d.ts +2 -0
  375. package/dist/types/components/hooks/useRouterLocaleSync.d.ts.map +1 -0
  376. package/dist/types/components/page/BodySnippet.d.ts.map +1 -1
  377. package/dist/types/components/page/HeadSnippet.d.ts +7 -0
  378. package/dist/types/components/page/HeadSnippet.d.ts.map +1 -0
  379. package/dist/types/components/page/Page.d.ts.map +1 -1
  380. package/dist/types/components/page/PageHead.d.ts +8 -0
  381. package/dist/types/components/page/PageHead.d.ts.map +1 -0
  382. package/dist/types/components/shared/BackgroundsContainer/index.d.ts.map +1 -1
  383. package/dist/types/components/shared/Link/index.d.ts +1 -1
  384. package/dist/types/components/shared/Link/index.d.ts.map +1 -1
  385. package/dist/types/controls/control.d.ts.map +1 -1
  386. package/dist/types/controls/rich-text/introspection.d.ts.map +1 -1
  387. package/dist/types/index.d.ts +1 -1
  388. package/dist/types/index.d.ts.map +1 -1
  389. package/dist/types/next/api-handler/handlers/element-tree.d.ts +9 -1
  390. package/dist/types/next/api-handler/handlers/element-tree.d.ts.map +1 -1
  391. package/dist/types/next/api-handler/handlers/fonts.d.ts +10 -1
  392. package/dist/types/next/api-handler/handlers/fonts.d.ts.map +1 -1
  393. package/dist/types/next/api-handler/handlers/manifest.d.ts +9 -0
  394. package/dist/types/next/api-handler/handlers/manifest.d.ts.map +1 -1
  395. package/dist/types/next/api-handler/handlers/merge-translated-data.d.ts +7 -0
  396. package/dist/types/next/api-handler/handlers/merge-translated-data.d.ts.map +1 -1
  397. package/dist/types/next/api-handler/handlers/proxy-draft-mode.d.ts +20 -0
  398. package/dist/types/next/api-handler/handlers/proxy-draft-mode.d.ts.map +1 -0
  399. package/dist/types/next/api-handler/handlers/proxy-preview-mode.d.ts +14 -2
  400. package/dist/types/next/api-handler/handlers/proxy-preview-mode.d.ts.map +1 -1
  401. package/dist/types/next/api-handler/handlers/revalidate.d.ts +9 -0
  402. package/dist/types/next/api-handler/handlers/revalidate.d.ts.map +1 -1
  403. package/dist/types/next/api-handler/handlers/translatable-data.d.ts +7 -0
  404. package/dist/types/next/api-handler/handlers/translatable-data.d.ts.map +1 -1
  405. package/dist/types/next/api-handler/index.d.ts +11 -3
  406. package/dist/types/next/api-handler/index.d.ts.map +1 -1
  407. package/dist/types/next/client.d.ts.map +1 -1
  408. package/dist/types/next/components/head-tags.d.ts +19 -0
  409. package/dist/types/next/components/head-tags.d.ts.map +1 -0
  410. package/dist/types/next/components/page.d.ts +7 -0
  411. package/dist/types/next/components/page.d.ts.map +1 -0
  412. package/dist/types/next/context/makeswift-host-api-client.d.ts +8 -0
  413. package/dist/types/next/context/makeswift-host-api-client.d.ts.map +1 -0
  414. package/dist/types/next/context/react-runtime.d.ts +8 -0
  415. package/dist/types/next/context/react-runtime.d.ts.map +1 -0
  416. package/dist/types/next/draft-mode/draft-mode-script.d.ts +6 -0
  417. package/dist/types/next/draft-mode/draft-mode-script.d.ts.map +1 -0
  418. package/dist/types/next/draft-mode/index.d.ts +15 -0
  419. package/dist/types/next/draft-mode/index.d.ts.map +1 -0
  420. package/dist/types/next/hooks/use-is-pages-router.d.ts +2 -0
  421. package/dist/types/next/hooks/use-is-pages-router.d.ts.map +1 -0
  422. package/dist/types/next/index.d.ts +4 -9
  423. package/dist/types/next/index.d.ts.map +1 -1
  424. package/dist/types/next/preview-mode.d.ts +1 -1
  425. package/dist/types/next/preview-mode.d.ts.map +1 -1
  426. package/dist/types/next/root-style-registry.d.ts +7 -0
  427. package/dist/types/next/root-style-registry.d.ts.map +1 -0
  428. package/dist/types/next/server.d.ts +2 -0
  429. package/dist/types/next/server.d.ts.map +1 -1
  430. package/dist/types/prop-controllers/copy/navigation-links.d.ts.map +1 -1
  431. package/dist/types/prop-controllers/copy.d.ts.map +1 -1
  432. package/dist/types/prop-controllers/descriptors.d.ts +7 -66
  433. package/dist/types/prop-controllers/descriptors.d.ts.map +1 -1
  434. package/dist/types/prop-controllers/index.d.ts +2 -1
  435. package/dist/types/prop-controllers/index.d.ts.map +1 -1
  436. package/dist/types/prop-controllers/introspection.d.ts.map +1 -1
  437. package/dist/types/runtimes/react/components/Element.d.ts.map +1 -1
  438. package/dist/types/runtimes/react/components/LiveProvider.d.ts +3 -5
  439. package/dist/types/runtimes/react/components/LiveProvider.d.ts.map +1 -1
  440. package/dist/types/runtimes/react/components/PreviewProvider.d.ts +3 -5
  441. package/dist/types/runtimes/react/components/PreviewProvider.d.ts.map +1 -1
  442. package/dist/types/runtimes/react/components/RuntimeProvider.d.ts +2 -2
  443. package/dist/types/runtimes/react/components/RuntimeProvider.d.ts.map +1 -1
  444. package/dist/types/runtimes/react/controls/link.d.ts.map +1 -1
  445. package/dist/types/runtimes/react/controls/rich-text/rich-text.d.ts.map +1 -1
  446. package/dist/types/runtimes/react/controls/rich-text-v2/rich-text-v2.d.ts.map +1 -1
  447. package/dist/types/runtimes/react/controls.d.ts.map +1 -1
  448. package/dist/types/runtimes/react/hooks/makeswift-api.d.ts +2 -1
  449. package/dist/types/runtimes/react/hooks/makeswift-api.d.ts.map +1 -1
  450. package/dist/types/runtimes/react/hooks/use-document-key.d.ts.map +1 -1
  451. package/dist/types/runtimes/react/hooks/use-page-id.d.ts.map +1 -1
  452. package/dist/types/runtimes/react/hooks/use-store.d.ts.map +1 -1
  453. package/dist/types/runtimes/react/use-global-style.d.ts.map +1 -1
  454. package/dist/types/runtimes/react/use-style.d.ts.map +1 -1
  455. package/dist/types/state/actions.d.ts +1 -19
  456. package/dist/types/state/actions.d.ts.map +1 -1
  457. package/dist/types/state/react-builder-preview.d.ts +3 -3
  458. package/dist/types/state/react-builder-preview.d.ts.map +1 -1
  459. package/next/plugin/package.json +1 -0
  460. package/package.json +7 -10
  461. package/dist/cjs/next/dynamic.js +0 -52
  462. package/dist/cjs/next/dynamic.js.map +0 -1
  463. package/dist/cjs/prop-controllers/copy/link.js +0 -63
  464. package/dist/cjs/prop-controllers/copy/link.js.map +0 -1
  465. package/dist/esm/next/dynamic.js +0 -31
  466. package/dist/esm/next/dynamic.js.map +0 -1
  467. package/dist/esm/prop-controllers/copy/link.js +0 -39
  468. package/dist/esm/prop-controllers/copy/link.js.map +0 -1
  469. package/dist/types/next/dynamic.d.ts +0 -13
  470. package/dist/types/next/dynamic.d.ts.map +0 -1
  471. package/dist/types/prop-controllers/copy/link.d.ts +0 -4
  472. package/dist/types/prop-controllers/copy/link.d.ts.map +0 -1
@@ -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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AA+BM;AA/BN,mBAAmC;AAEnC,2BAA6B;AAC7B,uBAA6B;AAC7B,gBAA2B;AAC3B,IAAAA,gBAAmD;AASpC,SAAR,aAA8B;AAAA,EACnC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAAuB;AACrB,QAAM,YAAQ;AAAA,IACZ,MACE,UAAU,eAAe;AAAA,MACvB,gBAAgB,UAAU,QAAQ,MAAM,SAAS,IAAI,kCAAa,MAAM,SAAS;AAAA,MACjF;AAAA,IACF,CAAC;AAAA,IACH,CAAC,cAAc,OAAO;AAAA,EACxB;AAEA,SACE,4CAAC,8BAAa,UAAb,EAAsB,OAAO,OAC5B,sDAAC,mCAAkB,QAAiB,UAAS,GAC/C;AAEJ;","names":["import_react"]}
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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAuBM;AAvBN,mBAAmC;AAEnC,uBAA6B;AAC7B,gBAA2B;AAE3B,2BAAgC;AAChC,uCAA+C;AAQhC,SAAR,aAA8B,EAAE,QAAQ,UAAU,aAAa,GAAuB;AAC3F,QAAM,cAAU,sCAAgB;AAChC,QAAM,YAAQ;AAAA,IACZ,MAAM,UAAU,eAAe,EAAE,gBAAgB,QAAQ,MAAM,SAAS,GAAG,aAAa,CAAC;AAAA,IACzF,CAAC,cAAc,OAAO;AAAA,EACxB;AAEA,SACE,4CAAC,8BAAa,UAAb,EAAsB,OAAO,OAC5B,sDAAC,mEAA+B,QAAiB,UAAS,GAC5D;AAEJ;","names":[]}
@@ -1,4 +1,5 @@
1
1
  "use strict";
2
+ "use client";
2
3
  var __create = Object.create;
3
4
  var __defProp = Object.defineProperty;
4
5
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
@@ -37,14 +38,11 @@ var import_react_runtime = require("../react-runtime");
37
38
  var import_use_store = require("../hooks/use-store");
38
39
  var ReactBuilderPreview = __toESM(require("../../../state/react-builder-preview"));
39
40
  var ReactPage = __toESM(require("../../../state/react-page"));
40
- var import_react2 = require("../../../api/react");
41
41
  var import_actions = require("../../../state/actions");
42
- function PreviewProvider({
43
- client,
44
- children,
45
- rootElements,
46
- runtime
47
- }) {
42
+ var import_react_runtime2 = require("../../../next/context/react-runtime");
43
+ var import_makeswift_host_api_client = require("../../../next/context/makeswift-host-api-client");
44
+ function PreviewProvider({ client, children, rootElements }) {
45
+ const runtime = (0, import_react_runtime2.useReactRuntime)();
48
46
  const store = (0, import_react.useMemo)(
49
47
  () => ReactBuilderPreview.configureStore({
50
48
  preloadedState: runtime ? runtime.store.getState() : import_react_runtime.ReactRuntime.store.getState(),
@@ -63,6 +61,6 @@ function PreviewProvider({
63
61
  });
64
62
  };
65
63
  }, [store, rootElements]);
66
- return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_use_store.StoreContext.Provider, { value: store, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_react2.MakeswiftProvider, { client, children }) });
64
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_use_store.StoreContext.Provider, { value: store, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_makeswift_host_api_client.MakeswiftHostApiClientProvider, { client, children }) });
67
65
  }
68
66
  //# sourceMappingURL=PreviewProvider.js.map
@@ -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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AA+CM;AA/CN,mBAA8C;AAE9C,2BAA6B;AAC7B,uBAA6B;AAC7B,0BAAqC;AACrC,gBAA2B;AAC3B,IAAAA,gBAAmD;AACnD,qBAAuC;AASxB,SAAR,gBAAiC;AAAA,EACtC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAAuB;AACrB,QAAM,YAAQ;AAAA,IACZ,MACE,oBAAoB,eAAe;AAAA,MACjC,gBAAgB,UAAU,QAAQ,MAAM,SAAS,IAAI,kCAAa,MAAM,SAAS;AAAA,MACjF;AAAA,MACA;AAAA,IACF,CAAC;AAAA,IACH,CAAC,QAAQ,cAAc,OAAO;AAAA,EAChC;AAEA,8BAAU,MAAM;AACd,UAAM,sBAAsB,MAAM,KAAK,cAAc,QAAQ,KAAK,CAAC,CAAC,EAAE;AAAA,MACpE,CAAC,CAAC,aAAa,WAAW,MACxB,MAAM,aAAS,uCAAuB,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,4CAAC,8BAAa,UAAb,EAAsB,OAAO,OAC5B,sDAAC,mCAAkB,QAAiB,UAAS,GAC/C;AAEJ;","names":["import_react"]}
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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AA8CM;AA5CN,mBAA8C;AAE9C,2BAA6B;AAC7B,uBAA6B;AAC7B,0BAAqC;AACrC,gBAA2B;AAE3B,qBAAuC;AACvC,IAAAA,wBAAgC;AAChC,uCAA+C;AAQhC,SAAR,gBAAiC,EAAE,QAAQ,UAAU,aAAa,GAAuB;AAC9F,QAAM,cAAU,uCAAgB;AAChC,QAAM,YAAQ;AAAA,IACZ,MACE,oBAAoB,eAAe;AAAA,MACjC,gBAAgB,UAAU,QAAQ,MAAM,SAAS,IAAI,kCAAa,MAAM,SAAS;AAAA,MACjF;AAAA,MACA;AAAA,IACF,CAAC;AAAA,IACH,CAAC,QAAQ,cAAc,OAAO;AAAA,EAChC;AAEA,8BAAU,MAAM;AACd,UAAM,sBAAsB,MAAM,KAAK,cAAc,QAAQ,KAAK,CAAC,CAAC,EAAE;AAAA,MACpE,CAAC,CAAC,aAAa,WAAW,MACxB,MAAM,aAAS,uCAAuB,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,4CAAC,8BAAa,UAAb,EAAsB,OAAO,OAC5B,sDAAC,mEAA+B,QAAiB,UAAS,GAC5D;AAEJ;","names":["import_react_runtime"]}
@@ -32,9 +32,9 @@ __export(RuntimeProvider_exports, {
32
32
  });
33
33
  module.exports = __toCommonJS(RuntimeProvider_exports);
34
34
  var import_jsx_runtime = require("react/jsx-runtime");
35
- var import_dynamic = __toESM(require("next/dynamic"));
36
- const PreviewProvider = (0, import_dynamic.default)(() => Promise.resolve().then(() => __toESM(require("./PreviewProvider"))));
37
- const LiveProvider = (0, import_dynamic.default)(() => Promise.resolve().then(() => __toESM(require("./LiveProvider"))));
35
+ var import_react = require("react");
36
+ const PreviewProvider = (0, import_react.lazy)(() => Promise.resolve().then(() => __toESM(require("./PreviewProvider"))));
37
+ const LiveProvider = (0, import_react.lazy)(() => Promise.resolve().then(() => __toESM(require("./LiveProvider"))));
38
38
  function RuntimeProvider({ preview, ...props }) {
39
39
  return preview ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(PreviewProvider, { ...props }) : /* @__PURE__ */ (0, import_jsx_runtime.jsx)(LiveProvider, { ...props });
40
40
  }
@@ -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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAkBmB;AAdnB,qBAAoB;AAUpB,MAAM,sBAAkB,eAAAA,SAAQ,MAAM,6CAAO,mBAAmB,GAAC;AACjE,MAAM,mBAAe,eAAAA,SAAQ,MAAM,6CAAO,gBAAgB,GAAC;AAEpD,SAAS,gBAAgB,EAAE,SAAS,GAAG,MAAM,GAAsC;AACxF,SAAO,UAAU,4CAAC,mBAAiB,GAAG,OAAO,IAAK,4CAAC,gBAAc,GAAG,OAAO;AAC7E;","names":["dynamic"]}
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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAiBmB;AAjBnB,mBAAgC;AAahC,MAAM,sBAAkB,mBAAK,MAAM,6CAAO,mBAAmB,GAAC;AAC9D,MAAM,mBAAe,mBAAK,MAAM,6CAAO,gBAAgB,GAAC;AAEjD,SAAS,gBAAgB,EAAE,SAAS,GAAG,MAAM,GAAsC;AACxF,SAAO,UAAU,4CAAC,mBAAiB,GAAG,OAAO,IAAK,4CAAC,gBAAc,GAAG,OAAO;AAC7E;","names":[]}
@@ -47,7 +47,7 @@ function useLinkControlValue(link, _definition) {
47
47
  switch (link.type) {
48
48
  case "OPEN_PAGE": {
49
49
  if (page)
50
- href = `/${page.pathname}`;
50
+ href = `/${page.localizedPathname ?? page.pathname}`;
51
51
  target = link.payload.openInNewTab ? "_blank" : "_self";
52
52
  break;
53
53
  }
@@ -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;AAAA;AAAA;AAAA;AAAA;AAAA,mBAAiD;AAEjD,wCAA2B;AAC3B,eAA6B;AAE7B,2BAAqC;AAU9B,SAAS,oBACd,MACA,aACqB;AACrB,QAAM,SAAS,QAAQ,KAAK,SAAS,cAAc,KAAK,QAAQ,SAAS;AACzE,QAAM,WAAO,2CAAqB,UAAU,IAAI;AAChD,QAAM,aACJ,MAAM,SAAS,sBAAsB,KAAK,QAAQ,iBAAiB,aAAa;AAClF,QAAM,gBAAY,uBAAa,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,kBAAc;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,gDAAAA,SAAe,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,UAAM,sBAAQ,OAAO,EAAE,MAAM,QAAQ,SAAS,YAAY,IAAI,CAAC,MAAM,QAAQ,WAAW,CAAC;AAE/F,SAAO;AACT;","names":["scrollIntoView"]}
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;AAAA;AAAA;AAAA;AAAA;AAAA,mBAAiD;AAEjD,wCAA2B;AAC3B,eAA6B;AAE7B,2BAAqC;AAU9B,SAAS,oBACd,MACA,aACqB;AACrB,QAAM,SAAS,QAAQ,KAAK,SAAS,cAAc,KAAK,QAAQ,SAAS;AACzE,QAAM,WAAO,2CAAqB,UAAU,IAAI;AAEhD,QAAM,aACJ,MAAM,SAAS,sBAAsB,KAAK,QAAQ,iBAAiB,aAAa;AAClF,QAAM,gBAAY,uBAAa,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,kBAAc;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,gDAAAA,SAAe,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,UAAM,sBAAQ,OAAO,EAAE,MAAM,QAAQ,SAAS,YAAY,IAAI,CAAC,MAAM,QAAQ,WAAW,CAAC;AAE/F,SAAO;AACT;","names":["scrollIntoView"]}
@@ -32,13 +32,11 @@ __export(rich_text_exports, {
32
32
  });
33
33
  module.exports = __toCommonJS(rich_text_exports);
34
34
  var import_jsx_runtime = require("react/jsx-runtime");
35
- var import_dynamic = __toESM(require("next/dynamic"));
36
35
  var import_react = require("react");
37
- var import_dynamic2 = require("../../../../next/dynamic");
38
36
  var import_prop_controller_handles = require("../../../../state/modules/prop-controller-handles");
39
37
  var import_use_is_preview = require("../../hooks/use-is-preview");
40
- const EditableText = (0, import_dynamic2.forwardNextDynamicRef)((patch) => (0, import_dynamic.default)(() => patch(Promise.resolve().then(() => __toESM(require("./EditableText"))))));
41
- const ReadOnlyText = (0, import_dynamic2.forwardNextDynamicRef)((patch) => (0, import_dynamic.default)(() => patch(Promise.resolve().then(() => __toESM(require("./ReadOnlyText"))))));
38
+ const EditableText = (0, import_react.lazy)(() => Promise.resolve().then(() => __toESM(require("./EditableText"))));
39
+ const ReadOnlyText = (0, import_react.lazy)(() => Promise.resolve().then(() => __toESM(require("./ReadOnlyText"))));
42
40
  function useRichText(data, control) {
43
41
  const textCallbackRef = (0, import_react.useCallback)(
44
42
  (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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAiCI;AAjCJ,qBAAoB;AACpB,mBAAuC;AAMvC,IAAAA,kBAAsC;AACtC,qCAGO;AACP,4BAA6B;AAE7B,MAAM,mBAAe,uCAAsB,eAAS,eAAAC,SAAQ,MAAM,MAAM,6CAAO,gBAAgB,GAAC,CAAC,CAAC;AAClG,MAAM,mBAAe,uCAAsB,eAAS,eAAAA,SAAQ,MAAM,MAAM,6CAAO,gBAAgB,GAAC,CAAC,CAAC;AAM3F,SAAS,YAAY,MAA2B,SAAiC;AACtF,QAAM,sBAAkB;AAAA,IACtB,CAAC,WAAgE;AAC/D,cAAI,wDAAwB,MAAM;AAChC,gBAAQ,qBAAqB,WAAW,OAAO,OAAO,EAAE,MAAM,QAAQ,CAAC;AAAA,IAC3E;AAAA,IACA,CAAC,OAAO;AAAA,EACV;AAEA,QAAM,gBAAY,oCAAa;AAE/B,SAAO,YACL,4CAAC,gBAAa,MAAM,MAAM,KAAK,iBAAiB,IAEhD,4CAAC,gBAAa,MAAM,MAAM,KAAK,iBAAiB;AAEpD;","names":["import_dynamic","dynamic"]}
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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AA+BI;AA/BJ,mBAA6C;AAM7C,qCAGO;AACP,4BAA6B;AAE7B,MAAM,mBAAe,mBAAK,MAAM,6CAAO,gBAAgB,GAAC;AACxD,MAAM,mBAAe,mBAAK,MAAM,6CAAO,gBAAgB,GAAC;AAMjD,SAAS,YAAY,MAA2B,SAAiC;AACtF,QAAM,sBAAkB;AAAA,IACtB,CAAC,WAAuE;AACtE,cAAI,wDAAwB,MAAM;AAChC,gBAAQ,qBAAqB,WAAW,OAAO,OAAO,EAAE,MAAM,QAAQ,CAAC;AAAA,IAC3E;AAAA,IACA,CAAC,OAAO;AAAA,EACV;AAEA,QAAM,gBAAY,oCAAa;AAE/B,SAAO,YACL,4CAAC,gBAAa,MAAM,MAAM,KAAK,iBAAiB,IAEhD,4CAAC,gBAAa,MAAM,MAAM,KAAK,iBAAiB;AAEpD;","names":[]}
@@ -32,19 +32,12 @@ __export(rich_text_v2_exports, {
32
32
  });
33
33
  module.exports = __toCommonJS(rich_text_v2_exports);
34
34
  var import_jsx_runtime = require("react/jsx-runtime");
35
+ var import_react = require("react");
35
36
  var import_controls = require("../../../../controls");
36
37
  var import_react2 = require("../../../react");
37
- var import_dynamic = require("../../../../next/dynamic");
38
- var import_dynamic2 = __toESM(require("next/dynamic"));
39
- const EditableText = (0, import_dynamic.forwardNextDynamicRef)(
40
- (patch) => (0, import_dynamic2.default)(() => patch(Promise.resolve().then(() => __toESM(require("./EditableTextV2")))))
41
- );
42
- const ReadOnlyText = (0, import_dynamic.forwardNextDynamicRef)(
43
- (patch) => (0, import_dynamic2.default)(() => patch(Promise.resolve().then(() => __toESM(require("./ReadOnlyTextV2")))))
44
- );
45
- const ReadOnlyTextV1 = (0, import_dynamic.forwardNextDynamicRef)(
46
- (patch) => (0, import_dynamic2.default)(() => patch(Promise.resolve().then(() => __toESM(require("../rich-text/ReadOnlyText")))))
47
- );
38
+ const EditableText = (0, import_react.lazy)(() => Promise.resolve().then(() => __toESM(require("./EditableTextV2"))));
39
+ const ReadOnlyText = (0, import_react.lazy)(() => Promise.resolve().then(() => __toESM(require("./ReadOnlyTextV2"))));
40
+ const ReadOnlyTextV1 = (0, import_react.lazy)(() => Promise.resolve().then(() => __toESM(require("../rich-text/ReadOnlyText"))));
48
41
  function useRichTextV2(data, definition, control) {
49
42
  const isPreview = (0, import_react2.useIsPreview)();
50
43
  if ((0, import_controls.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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAoCW;AAlCX,sBAMO;AACP,IAAAA,gBAA6B;AAC7B,qBAAsC;AACtC,IAAAC,kBAAoB;AAMpB,MAAM,mBAAe;AAAA,EAAsB,eACzC,gBAAAC,SAAQ,MAAM,MAAM,6CAAO,kBAAkB,GAAC,CAAC;AACjD;AACA,MAAM,mBAAe;AAAA,EAAsB,eACzC,gBAAAA,SAAQ,MAAM,MAAM,6CAAO,kBAAkB,GAAC,CAAC;AACjD;AAEA,MAAM,qBAAiB;AAAA,EAAsB,eAC3C,gBAAAA,SAAQ,MAAM,MAAM,6CAAO,2BAA2B,GAAC,CAAC;AAC1D;AAEO,SAAS,cACd,MACA,YACA,SACA;AACA,QAAM,gBAAY,4BAAa;AAE/B,UAAI,kCAAiB,IAAI,GAAG;AAC1B,WAAO,4CAAC,kBAAe,MAAM,MAAM;AAAA,EACrC;AAEA,SAAO,YACL,4CAAC,gBAAa,MAAM,MAAM,YAAwB,SAAkB,IAEpE,4CAAC,gBAAa,MAAM,MAAM,YAAwB;AAEtD;","names":["import_react","import_dynamic","dynamic"]}
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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AA4BW;AA5BX,mBAAgC;AAEhC,sBAMO;AACP,IAAAA,gBAA6B;AAM7B,MAAM,mBAAe,mBAAK,MAAM,6CAAO,kBAAkB,GAAC;AAC1D,MAAM,mBAAe,mBAAK,MAAM,6CAAO,kBAAkB,GAAC;AAE1D,MAAM,qBAAiB,mBAAK,MAAM,6CAAO,2BAA2B,GAAC;AAE9D,SAAS,cACd,MACA,YACA,SACA;AACA,QAAM,gBAAY,4BAAa;AAE/B,UAAI,kCAAiB,IAAI,GAAG;AAC1B,WAAO,4CAAC,kBAAe,MAAM,MAAM;AAAA,EACrC;AAEA,SAAO,YACL,4CAAC,gBAAa,MAAM,MAAM,YAAwB,SAAkB,IAEpE,4CAAC,gBAAa,MAAM,MAAM,YAAwB;AAEtD;","names":["import_react"]}
@@ -53,6 +53,7 @@ var import_icon_radio_group = require("../../controls/icon-radio-group");
53
53
  var import_use_store = require("./hooks/use-store");
54
54
  var import_use_document_key = require("./hooks/use-document-key");
55
55
  var import_use_selector = require("./hooks/use-selector");
56
+ var import_prop_controllers2 = require("@makeswift/prop-controllers");
56
57
  function useWidthStyle(value, descriptor) {
57
58
  return (0, import_use_style.useStyle)((0, import_responsive_style.useResponsiveWidth)(value, descriptor.options.defaultValue));
58
59
  }
@@ -259,6 +260,16 @@ function PropsValue({ element, children }) {
259
260
  },
260
261
  descriptor.type
261
262
  );
263
+ case import_prop_controllers2.Types.Link:
264
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
265
+ import_components.RenderHook,
266
+ {
267
+ hook: import_hooks.usePropControllerLinkData,
268
+ parameters: [props[propName]],
269
+ children: (value) => renderFn({ ...propsValue, [propName]: value })
270
+ },
271
+ descriptor.type
272
+ );
262
273
  default:
263
274
  return renderFn({ ...propsValue, [propName]: props[propName] });
264
275
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/runtimes/react/controls.tsx"],"sourcesContent":["import { useRef } from 'react'\n\nimport * as ReactPage from '../../state/react-page'\nimport { Props } from '../../prop-controllers'\nimport {\n BorderDescriptor,\n BorderPropControllerFormat,\n BorderRadiusDescriptor,\n BorderRadiusPropControllerFormat,\n BorderRadiusValue,\n BorderValue,\n Descriptor,\n MarginDescriptor,\n MarginPropControllerFormat,\n MarginValue,\n PaddingDescriptor,\n PaddingPropControllerFormat,\n PaddingValue,\n ResolveOptions,\n ResponsiveValue,\n ShadowsDescriptor,\n ShadowsPropControllerFormat,\n ShadowsValue,\n WidthPropControllerFormat,\n WidthDescriptor,\n WidthValue,\n} from '../../prop-controllers/descriptors'\nimport {\n useBoxShadow,\n useResponsiveColor,\n useBorder as useBorderData,\n} from '../../components/hooks'\nimport type { ColorValue } from '../../components/utils/types'\nimport {\n useResponsiveBorder,\n useResponsiveBorderRadius,\n useResponsiveMargin,\n useResponsivePadding,\n useResponsiveShadow,\n useResponsiveWidth,\n} from '../../components/utils/responsive-style'\nimport {\n CheckboxControlType,\n ColorControlType,\n ComboboxControlType,\n ImageControlType,\n LinkControlType,\n ListControlType,\n NumberControlType,\n SelectControlType,\n ShapeControlType,\n SlotControl,\n SlotControlType,\n StyleControlType,\n TextAreaControlType,\n TextInputControlType,\n RichTextControl,\n RichTextControlType,\n StyleControl,\n RichTextV2Control,\n RichTextV2ControlType,\n StyleV2ControlType,\n TypographyControlType,\n} from '../../controls'\nimport { useFormattedStyle } from './controls/style'\nimport { ControlValue } from './controls/control'\nimport { RenderHook } from './components'\nimport { useSlot } from './controls/slot'\nimport { useStyle } from './use-style'\nimport { useRichText } from './controls/rich-text/rich-text'\nimport { useRichTextV2 } from './controls/rich-text-v2'\nimport { IconRadioGroupControlType } from '../../controls/icon-radio-group'\nimport { useStore } from './hooks/use-store'\nimport { useDocumentKey } from './hooks/use-document-key'\nimport { useSelector } from './hooks/use-selector'\n\nexport type ResponsiveColor = ResponsiveValue<ColorValue>\n\nfunction useWidthStyle(value: WidthValue | undefined, descriptor: WidthDescriptor): string {\n return useStyle(useResponsiveWidth(value, descriptor.options.defaultValue))\n}\n\nexport type ResolveWidthControlValue<T extends Descriptor> = T extends WidthDescriptor\n ? undefined extends ResolveOptions<T['options']>['format']\n ? WidthValue | undefined\n : ResolveOptions<T['options']>['format'] extends typeof WidthPropControllerFormat.ClassName\n ? string\n : ResolveOptions<\n T['options']\n >['format'] extends typeof WidthPropControllerFormat.ResponsiveValue\n ? WidthValue | undefined\n : never\n : never\n\nfunction usePaddingStyle(value: PaddingValue | undefined): string {\n return useStyle(useResponsivePadding(value))\n}\n\nexport type ResolvePaddingControlValue<T extends Descriptor> = T extends PaddingDescriptor\n ? undefined extends ResolveOptions<T['options']>['format']\n ? PaddingValue | undefined\n : ResolveOptions<T['options']>['format'] extends typeof PaddingPropControllerFormat.ClassName\n ? string\n : ResolveOptions<\n T['options']\n >['format'] extends typeof PaddingPropControllerFormat.ResponsiveValue\n ? PaddingValue | undefined\n : never\n : never\n\nfunction useMarginStyle(value: MarginValue | undefined): string {\n return useStyle(useResponsiveMargin(value))\n}\n\nexport type ResolveMarginControlValue<T extends Descriptor> = T extends MarginDescriptor\n ? undefined extends ResolveOptions<T['options']>['format']\n ? MarginValue | undefined\n : ResolveOptions<T['options']>['format'] extends typeof MarginPropControllerFormat.ClassName\n ? string\n : ResolveOptions<\n T['options']\n >['format'] extends typeof MarginPropControllerFormat.ResponsiveValue\n ? MarginValue | undefined\n : never\n : never\n\nexport function useBorderRadiusStyle(value: BorderRadiusValue | undefined): string {\n return useStyle(useResponsiveBorderRadius(value))\n}\n\nexport function useShadowsStyle(\n value: ShadowsValue | undefined,\n): string | ShadowsValue | undefined {\n const shadowValue = useBoxShadow(value)\n\n return useStyle(useResponsiveShadow(shadowValue ?? undefined))\n}\n\nexport type ResolveBorderRadiusControlValue<T extends Descriptor> = T extends BorderRadiusDescriptor\n ? undefined extends ResolveOptions<T['options']>['format']\n ? BorderRadiusValue | undefined\n : ResolveOptions<\n T['options']\n >['format'] extends typeof BorderRadiusPropControllerFormat.ClassName\n ? string\n : ResolveOptions<\n T['options']\n >['format'] extends typeof BorderRadiusPropControllerFormat.ResponsiveValue\n ? BorderRadiusValue | undefined\n : never\n : never\n\nexport function useBorderStyle(value: BorderValue | undefined): string | BorderValue | undefined {\n const borderData = useBorderData(value)\n\n return useStyle(useResponsiveBorder(borderData ?? undefined))\n}\nexport type ResolveShadowsControlValue<T extends Descriptor> = T extends ShadowsDescriptor\n ? undefined extends ResolveOptions<T['options']>['format']\n ? ShadowsValue | undefined\n : ResolveOptions<T['options']>['format'] extends typeof ShadowsPropControllerFormat.ClassName\n ? string\n : ResolveOptions<\n T['options']\n >['format'] extends typeof ShadowsPropControllerFormat.ResponsiveValue\n ? ShadowsValue | undefined\n : never\n : never\n\nexport type ResolveBorderControlValue<T extends Descriptor> = T extends BorderDescriptor\n ? undefined extends ResolveOptions<T['options']>['format']\n ? BorderValue | undefined\n : ResolveOptions<T['options']>['format'] extends typeof BorderPropControllerFormat.ClassName\n ? string\n : ResolveOptions<\n T['options']\n >['format'] extends typeof BorderPropControllerFormat.ResponsiveValue\n ? BorderValue | undefined\n : never\n : never\n\ntype PropsValueProps = {\n element: ReactPage.ElementData\n children(props: Record<string, unknown>): JSX.Element\n}\n\nexport function PropsValue({ element, children }: PropsValueProps): JSX.Element {\n const store = useStore()\n const propControllerDescriptorsRef = useRef(\n ReactPage.getComponentPropControllerDescriptors(store.getState(), element.type) ?? {},\n )\n const props = element.props as Record<string, any>\n const documentKey = useDocumentKey()\n\n const propControllers = useSelector(state => {\n if (documentKey == null) return null\n\n return ReactPage.getPropControllers(state, documentKey, element.key)\n })\n\n return Object.entries(propControllerDescriptorsRef.current).reduceRight(\n (renderFn, [propName, descriptor]) =>\n propsValue => {\n switch (descriptor.type) {\n case CheckboxControlType:\n case NumberControlType:\n case TextInputControlType:\n case TextAreaControlType:\n case SelectControlType:\n case ColorControlType:\n case IconRadioGroupControlType:\n case ImageControlType:\n case ComboboxControlType:\n case ShapeControlType:\n case ListControlType:\n case LinkControlType:\n case StyleV2ControlType:\n case TypographyControlType:\n return (\n <ControlValue\n definition={descriptor}\n data={props[propName]}\n control={propControllers?.[propName]}\n >\n {value => renderFn({ ...propsValue, [propName]: value })}\n </ControlValue>\n )\n\n case StyleControlType: {\n const control = (propControllers?.[propName] ?? null) as StyleControl | null\n\n return (\n <RenderHook\n key={descriptor.type}\n hook={useFormattedStyle}\n parameters={[props[propName], descriptor, control]}\n >\n {value => renderFn({ ...propsValue, [propName]: value })}\n </RenderHook>\n )\n }\n\n case RichTextControlType: {\n const control = (propControllers?.[propName] ?? null) as RichTextControl | null\n\n return (\n <RenderHook\n key={descriptor.type}\n hook={useRichText}\n parameters={[props[propName], control]}\n >\n {value => renderFn({ ...propsValue, [propName]: value })}\n </RenderHook>\n )\n }\n\n case RichTextV2ControlType: {\n const control = (propControllers?.[propName] ?? null) as RichTextV2Control | null\n\n return (\n <RenderHook\n key={descriptor.type}\n hook={useRichTextV2}\n parameters={[props[propName], descriptor, control]}\n >\n {value => renderFn({ ...propsValue, [propName]: value })}\n </RenderHook>\n )\n }\n\n case SlotControlType: {\n const control = (propControllers?.[propName] ?? null) as SlotControl | null\n\n return (\n <RenderHook\n key={descriptor.type}\n hook={useSlot}\n parameters={[props[propName], control]}\n >\n {value => renderFn({ ...propsValue, [propName]: value })}\n </RenderHook>\n )\n }\n\n case Props.Types.Width:\n switch (descriptor.options.format) {\n case WidthPropControllerFormat.ClassName:\n return (\n <RenderHook\n key={descriptor.type}\n hook={useWidthStyle}\n parameters={[props[propName], descriptor]}\n >\n {value => renderFn({ ...propsValue, [propName]: value })}\n </RenderHook>\n )\n\n default:\n return renderFn({ ...propsValue, [propName]: props[propName] })\n }\n\n case Props.Types.Padding:\n switch (descriptor.options.format) {\n case PaddingPropControllerFormat.ClassName:\n return (\n <RenderHook\n key={descriptor.type}\n hook={usePaddingStyle}\n parameters={[props[propName]]}\n >\n {value => renderFn({ ...propsValue, [propName]: value })}\n </RenderHook>\n )\n\n default:\n return renderFn({ ...propsValue, [propName]: props[propName] })\n }\n\n case Props.Types.Margin:\n switch (descriptor.options.format) {\n case MarginPropControllerFormat.ClassName:\n return (\n <RenderHook\n key={descriptor.type}\n hook={useMarginStyle}\n parameters={[props[propName]]}\n >\n {value => renderFn({ ...propsValue, [propName]: value })}\n </RenderHook>\n )\n\n default:\n return renderFn({ ...propsValue, [propName]: props[propName] })\n }\n\n case Props.Types.BorderRadius:\n switch (descriptor.options.format) {\n case BorderRadiusPropControllerFormat.ClassName:\n return (\n <RenderHook\n key={descriptor.type}\n hook={useBorderRadiusStyle}\n parameters={[props[propName]]}\n >\n {value => renderFn({ ...propsValue, [propName]: value })}\n </RenderHook>\n )\n\n default:\n return renderFn({ ...propsValue, [propName]: props[propName] })\n }\n\n case Props.Types.Shadows:\n switch (descriptor.options.format) {\n case ShadowsPropControllerFormat.ClassName:\n return (\n <RenderHook\n key={descriptor.type}\n hook={useShadowsStyle}\n parameters={[props[propName]]}\n >\n {value => renderFn({ ...propsValue, [propName]: value })}\n </RenderHook>\n )\n\n default:\n return renderFn({ ...propsValue, [propName]: props[propName] })\n }\n\n case Props.Types.Border:\n switch (descriptor.options.format) {\n case BorderPropControllerFormat.ClassName:\n return (\n <RenderHook\n key={descriptor.type}\n hook={useBorderStyle}\n parameters={[props[propName]]}\n >\n {value => renderFn({ ...propsValue, [propName]: value })}\n </RenderHook>\n )\n\n default:\n return renderFn({ ...propsValue, [propName]: props[propName] })\n }\n\n case Props.Types.ResponsiveColor:\n return (\n <RenderHook\n key={descriptor.type}\n hook={useResponsiveColor}\n parameters={[props[propName]]}\n >\n {value => renderFn({ ...propsValue, [propName]: value })}\n </RenderHook>\n )\n\n default:\n return renderFn({ ...propsValue, [propName]: props[propName] })\n }\n },\n children,\n )({})\n}\n"],"mappings":"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","names":["useBorderData"]}
1
+ {"version":3,"sources":["../../../../src/runtimes/react/controls.tsx"],"sourcesContent":["import { useRef } from 'react'\n\nimport * as ReactPage from '../../state/react-page'\nimport { Props } from '../../prop-controllers'\nimport {\n BorderDescriptor,\n BorderPropControllerFormat,\n BorderRadiusDescriptor,\n BorderRadiusPropControllerFormat,\n BorderRadiusValue,\n BorderValue,\n Descriptor,\n MarginDescriptor,\n MarginPropControllerFormat,\n MarginValue,\n PaddingDescriptor,\n PaddingPropControllerFormat,\n PaddingValue,\n ResolveOptions,\n ResponsiveValue,\n ShadowsDescriptor,\n ShadowsPropControllerFormat,\n ShadowsValue,\n WidthPropControllerFormat,\n WidthDescriptor,\n WidthValue,\n} from '../../prop-controllers/descriptors'\nimport {\n useBoxShadow,\n useResponsiveColor,\n useBorder as useBorderData,\n usePropControllerLinkData,\n} from '../../components/hooks'\nimport type { ColorValue } from '../../components/utils/types'\nimport {\n useResponsiveBorder,\n useResponsiveBorderRadius,\n useResponsiveMargin,\n useResponsivePadding,\n useResponsiveShadow,\n useResponsiveWidth,\n} from '../../components/utils/responsive-style'\nimport {\n CheckboxControlType,\n ColorControlType,\n ComboboxControlType,\n ImageControlType,\n LinkControlType,\n ListControlType,\n NumberControlType,\n SelectControlType,\n ShapeControlType,\n SlotControl,\n SlotControlType,\n StyleControlType,\n TextAreaControlType,\n TextInputControlType,\n RichTextControl,\n RichTextControlType,\n StyleControl,\n RichTextV2Control,\n RichTextV2ControlType,\n StyleV2ControlType,\n TypographyControlType,\n} from '../../controls'\nimport { useFormattedStyle } from './controls/style'\nimport { ControlValue } from './controls/control'\nimport { RenderHook } from './components'\nimport { useSlot } from './controls/slot'\nimport { useStyle } from './use-style'\nimport { useRichText } from './controls/rich-text/rich-text'\nimport { useRichTextV2 } from './controls/rich-text-v2'\nimport { IconRadioGroupControlType } from '../../controls/icon-radio-group'\nimport { useStore } from './hooks/use-store'\nimport { useDocumentKey } from './hooks/use-document-key'\nimport { useSelector } from './hooks/use-selector'\nimport { Types as PropControllerTypes } from '@makeswift/prop-controllers'\n\nexport type ResponsiveColor = ResponsiveValue<ColorValue>\n\nfunction useWidthStyle(value: WidthValue | undefined, descriptor: WidthDescriptor): string {\n return useStyle(useResponsiveWidth(value, descriptor.options.defaultValue))\n}\n\nexport type ResolveWidthControlValue<T extends Descriptor> = T extends WidthDescriptor\n ? undefined extends ResolveOptions<T['options']>['format']\n ? WidthValue | undefined\n : ResolveOptions<T['options']>['format'] extends typeof WidthPropControllerFormat.ClassName\n ? string\n : ResolveOptions<\n T['options']\n >['format'] extends typeof WidthPropControllerFormat.ResponsiveValue\n ? WidthValue | undefined\n : never\n : never\n\nfunction usePaddingStyle(value: PaddingValue | undefined): string {\n return useStyle(useResponsivePadding(value))\n}\n\nexport type ResolvePaddingControlValue<T extends Descriptor> = T extends PaddingDescriptor\n ? undefined extends ResolveOptions<T['options']>['format']\n ? PaddingValue | undefined\n : ResolveOptions<T['options']>['format'] extends typeof PaddingPropControllerFormat.ClassName\n ? string\n : ResolveOptions<\n T['options']\n >['format'] extends typeof PaddingPropControllerFormat.ResponsiveValue\n ? PaddingValue | undefined\n : never\n : never\n\nfunction useMarginStyle(value: MarginValue | undefined): string {\n return useStyle(useResponsiveMargin(value))\n}\n\nexport type ResolveMarginControlValue<T extends Descriptor> = T extends MarginDescriptor\n ? undefined extends ResolveOptions<T['options']>['format']\n ? MarginValue | undefined\n : ResolveOptions<T['options']>['format'] extends typeof MarginPropControllerFormat.ClassName\n ? string\n : ResolveOptions<\n T['options']\n >['format'] extends typeof MarginPropControllerFormat.ResponsiveValue\n ? MarginValue | undefined\n : never\n : never\n\nexport function useBorderRadiusStyle(value: BorderRadiusValue | undefined): string {\n return useStyle(useResponsiveBorderRadius(value))\n}\n\nexport function useShadowsStyle(\n value: ShadowsValue | undefined,\n): string | ShadowsValue | undefined {\n const shadowValue = useBoxShadow(value)\n\n return useStyle(useResponsiveShadow(shadowValue ?? undefined))\n}\n\nexport type ResolveBorderRadiusControlValue<T extends Descriptor> = T extends BorderRadiusDescriptor\n ? undefined extends ResolveOptions<T['options']>['format']\n ? BorderRadiusValue | undefined\n : ResolveOptions<\n T['options']\n >['format'] extends typeof BorderRadiusPropControllerFormat.ClassName\n ? string\n : ResolveOptions<\n T['options']\n >['format'] extends typeof BorderRadiusPropControllerFormat.ResponsiveValue\n ? BorderRadiusValue | undefined\n : never\n : never\n\nexport function useBorderStyle(value: BorderValue | undefined): string | BorderValue | undefined {\n const borderData = useBorderData(value)\n\n return useStyle(useResponsiveBorder(borderData ?? undefined))\n}\nexport type ResolveShadowsControlValue<T extends Descriptor> = T extends ShadowsDescriptor\n ? undefined extends ResolveOptions<T['options']>['format']\n ? ShadowsValue | undefined\n : ResolveOptions<T['options']>['format'] extends typeof ShadowsPropControllerFormat.ClassName\n ? string\n : ResolveOptions<\n T['options']\n >['format'] extends typeof ShadowsPropControllerFormat.ResponsiveValue\n ? ShadowsValue | undefined\n : never\n : never\n\nexport type ResolveBorderControlValue<T extends Descriptor> = T extends BorderDescriptor\n ? undefined extends ResolveOptions<T['options']>['format']\n ? BorderValue | undefined\n : ResolveOptions<T['options']>['format'] extends typeof BorderPropControllerFormat.ClassName\n ? string\n : ResolveOptions<\n T['options']\n >['format'] extends typeof BorderPropControllerFormat.ResponsiveValue\n ? BorderValue | undefined\n : never\n : never\n\ntype PropsValueProps = {\n element: ReactPage.ElementData\n children(props: Record<string, unknown>): JSX.Element\n}\n\nexport function PropsValue({ element, children }: PropsValueProps): JSX.Element {\n const store = useStore()\n const propControllerDescriptorsRef = useRef(\n ReactPage.getComponentPropControllerDescriptors(store.getState(), element.type) ?? {},\n )\n const props = element.props as Record<string, any>\n const documentKey = useDocumentKey()\n\n const propControllers = useSelector(state => {\n if (documentKey == null) return null\n\n return ReactPage.getPropControllers(state, documentKey, element.key)\n })\n\n return Object.entries(propControllerDescriptorsRef.current).reduceRight(\n (renderFn, [propName, descriptor]) =>\n propsValue => {\n switch (descriptor.type) {\n case CheckboxControlType:\n case NumberControlType:\n case TextInputControlType:\n case TextAreaControlType:\n case SelectControlType:\n case ColorControlType:\n case IconRadioGroupControlType:\n case ImageControlType:\n case ComboboxControlType:\n case ShapeControlType:\n case ListControlType:\n case LinkControlType:\n case StyleV2ControlType:\n case TypographyControlType:\n return (\n <ControlValue\n definition={descriptor}\n data={props[propName]}\n control={propControllers?.[propName]}\n >\n {value => renderFn({ ...propsValue, [propName]: value })}\n </ControlValue>\n )\n\n case StyleControlType: {\n const control = (propControllers?.[propName] ?? null) as StyleControl | null\n\n return (\n <RenderHook\n key={descriptor.type}\n hook={useFormattedStyle}\n parameters={[props[propName], descriptor, control]}\n >\n {value => renderFn({ ...propsValue, [propName]: value })}\n </RenderHook>\n )\n }\n\n case RichTextControlType: {\n const control = (propControllers?.[propName] ?? null) as RichTextControl | null\n\n return (\n <RenderHook\n key={descriptor.type}\n hook={useRichText}\n parameters={[props[propName], control]}\n >\n {value => renderFn({ ...propsValue, [propName]: value })}\n </RenderHook>\n )\n }\n\n case RichTextV2ControlType: {\n const control = (propControllers?.[propName] ?? null) as RichTextV2Control | null\n\n return (\n <RenderHook\n key={descriptor.type}\n hook={useRichTextV2}\n parameters={[props[propName], descriptor, control]}\n >\n {value => renderFn({ ...propsValue, [propName]: value })}\n </RenderHook>\n )\n }\n\n case SlotControlType: {\n const control = (propControllers?.[propName] ?? null) as SlotControl | null\n\n return (\n <RenderHook\n key={descriptor.type}\n hook={useSlot}\n parameters={[props[propName], control]}\n >\n {value => renderFn({ ...propsValue, [propName]: value })}\n </RenderHook>\n )\n }\n\n case Props.Types.Width:\n switch (descriptor.options.format) {\n case WidthPropControllerFormat.ClassName:\n return (\n <RenderHook\n key={descriptor.type}\n hook={useWidthStyle}\n parameters={[props[propName], descriptor]}\n >\n {value => renderFn({ ...propsValue, [propName]: value })}\n </RenderHook>\n )\n\n default:\n return renderFn({ ...propsValue, [propName]: props[propName] })\n }\n\n case Props.Types.Padding:\n switch (descriptor.options.format) {\n case PaddingPropControllerFormat.ClassName:\n return (\n <RenderHook\n key={descriptor.type}\n hook={usePaddingStyle}\n parameters={[props[propName]]}\n >\n {value => renderFn({ ...propsValue, [propName]: value })}\n </RenderHook>\n )\n\n default:\n return renderFn({ ...propsValue, [propName]: props[propName] })\n }\n\n case Props.Types.Margin:\n switch (descriptor.options.format) {\n case MarginPropControllerFormat.ClassName:\n return (\n <RenderHook\n key={descriptor.type}\n hook={useMarginStyle}\n parameters={[props[propName]]}\n >\n {value => renderFn({ ...propsValue, [propName]: value })}\n </RenderHook>\n )\n\n default:\n return renderFn({ ...propsValue, [propName]: props[propName] })\n }\n\n case Props.Types.BorderRadius:\n switch (descriptor.options.format) {\n case BorderRadiusPropControllerFormat.ClassName:\n return (\n <RenderHook\n key={descriptor.type}\n hook={useBorderRadiusStyle}\n parameters={[props[propName]]}\n >\n {value => renderFn({ ...propsValue, [propName]: value })}\n </RenderHook>\n )\n\n default:\n return renderFn({ ...propsValue, [propName]: props[propName] })\n }\n\n case Props.Types.Shadows:\n switch (descriptor.options.format) {\n case ShadowsPropControllerFormat.ClassName:\n return (\n <RenderHook\n key={descriptor.type}\n hook={useShadowsStyle}\n parameters={[props[propName]]}\n >\n {value => renderFn({ ...propsValue, [propName]: value })}\n </RenderHook>\n )\n\n default:\n return renderFn({ ...propsValue, [propName]: props[propName] })\n }\n\n case Props.Types.Border:\n switch (descriptor.options.format) {\n case BorderPropControllerFormat.ClassName:\n return (\n <RenderHook\n key={descriptor.type}\n hook={useBorderStyle}\n parameters={[props[propName]]}\n >\n {value => renderFn({ ...propsValue, [propName]: value })}\n </RenderHook>\n )\n\n default:\n return renderFn({ ...propsValue, [propName]: props[propName] })\n }\n\n case Props.Types.ResponsiveColor:\n return (\n <RenderHook\n key={descriptor.type}\n hook={useResponsiveColor}\n parameters={[props[propName]]}\n >\n {value => renderFn({ ...propsValue, [propName]: value })}\n </RenderHook>\n )\n\n case PropControllerTypes.Link:\n return (\n <RenderHook\n key={descriptor.type}\n hook={usePropControllerLinkData}\n parameters={[props[propName]]}\n >\n {value => renderFn({ ...propsValue, [propName]: value })}\n </RenderHook>\n )\n\n default:\n return renderFn({ ...propsValue, [propName]: props[propName] })\n }\n },\n children,\n )({})\n}\n"],"mappings":"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","names":["import_prop_controllers","useBorderData","PropControllerTypes"]}
@@ -1,4 +1,5 @@
1
1
  "use strict";
2
+ "use client";
2
3
  var __defProp = Object.defineProperty;
3
4
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
5
  var __getOwnPropNames = Object.getOwnPropertyNames;
@@ -31,9 +32,9 @@ __export(makeswift_api_exports, {
31
32
  module.exports = __toCommonJS(makeswift_api_exports);
32
33
  var import_react = require("react");
33
34
  var import_shim = require("use-sync-external-store/shim");
34
- var import_react2 = require("../../../api/react");
35
+ var import_makeswift_host_api_client = require("../../../next/context/makeswift-host-api-client");
35
36
  function useSwatch(swatchId) {
36
- const client = (0, import_react2.useMakeswiftClient)();
37
+ const client = (0, import_makeswift_host_api_client.useMakeswiftHostApiClient)();
37
38
  const readSwatch = () => swatchId == null ? null : client.readSwatch(swatchId);
38
39
  const swatch = (0, import_shim.useSyncExternalStore)(client.subscribe, readSwatch, readSwatch);
39
40
  (0, import_react.useEffect)(() => {
@@ -43,7 +44,7 @@ function useSwatch(swatchId) {
43
44
  return swatch;
44
45
  }
45
46
  function useSwatches(swatchIds) {
46
- const client = (0, import_react2.useMakeswiftClient)();
47
+ const client = (0, import_makeswift_host_api_client.useMakeswiftHostApiClient)();
47
48
  const lastSnapshot = (0, import_react.useRef)();
48
49
  function getSnapshot() {
49
50
  const swatches2 = swatchIds.map((swatchId) => client.readSwatch(swatchId));
@@ -59,7 +60,7 @@ function useSwatches(swatchIds) {
59
60
  return swatches;
60
61
  }
61
62
  function useFile(fileId) {
62
- const client = (0, import_react2.useMakeswiftClient)();
63
+ const client = (0, import_makeswift_host_api_client.useMakeswiftHostApiClient)();
63
64
  const readFile = () => fileId == null ? null : client.readFile(fileId);
64
65
  const file = (0, import_shim.useSyncExternalStore)(client.subscribe, readFile, readFile);
65
66
  (0, import_react.useEffect)(() => {
@@ -69,7 +70,7 @@ function useFile(fileId) {
69
70
  return file;
70
71
  }
71
72
  function useFiles(fileIds) {
72
- const client = (0, import_react2.useMakeswiftClient)();
73
+ const client = (0, import_makeswift_host_api_client.useMakeswiftHostApiClient)();
73
74
  const lastSnapshot = (0, import_react.useRef)();
74
75
  function getSnapshot() {
75
76
  const files2 = fileIds.map((fileId) => client.readFile(fileId));
@@ -85,7 +86,7 @@ function useFiles(fileIds) {
85
86
  return files;
86
87
  }
87
88
  function useTypography(typographyId) {
88
- const client = (0, import_react2.useMakeswiftClient)();
89
+ const client = (0, import_makeswift_host_api_client.useMakeswiftHostApiClient)();
89
90
  const readTypography = () => typographyId == null ? null : client.readTypography(typographyId);
90
91
  const typography = (0, import_shim.useSyncExternalStore)(client.subscribe, readTypography, readTypography);
91
92
  (0, import_react.useEffect)(() => {
@@ -95,7 +96,7 @@ function useTypography(typographyId) {
95
96
  return typography;
96
97
  }
97
98
  function useGlobalElement(globalElementId) {
98
- const client = (0, import_react2.useMakeswiftClient)();
99
+ const client = (0, import_makeswift_host_api_client.useMakeswiftHostApiClient)();
99
100
  const readGlobalElement = () => globalElementId == null ? null : client.readGlobalElement(globalElementId);
100
101
  const globalElement = (0, import_shim.useSyncExternalStore)(client.subscribe, readGlobalElement, readGlobalElement);
101
102
  (0, import_react.useEffect)(() => {
@@ -105,7 +106,7 @@ function useGlobalElement(globalElementId) {
105
106
  return globalElement;
106
107
  }
107
108
  function useLocalizedGlobalElement(globalElementId) {
108
- const client = (0, import_react2.useMakeswiftClient)();
109
+ const client = (0, import_makeswift_host_api_client.useMakeswiftHostApiClient)();
109
110
  const readLocalizedGlobalElement = () => globalElementId == null ? null : client.readLocalizedGlobalElement(globalElementId);
110
111
  const localizedGlobalElement = (0, import_shim.useSyncExternalStore)(
111
112
  client.subscribe,
@@ -120,7 +121,7 @@ function useLocalizedGlobalElement(globalElementId) {
120
121
  return localizedGlobalElement;
121
122
  }
122
123
  function usePagePathnameSlice(pageId) {
123
- const client = (0, import_react2.useMakeswiftClient)();
124
+ const client = (0, import_makeswift_host_api_client.useMakeswiftHostApiClient)();
124
125
  const readPagePathnameSlice = () => pageId == null ? null : client.readPagePathnameSlice(pageId);
125
126
  const pagePathnameSlice = (0, import_shim.useSyncExternalStore)(
126
127
  client.subscribe,
@@ -134,7 +135,7 @@ function usePagePathnameSlice(pageId) {
134
135
  return pagePathnameSlice;
135
136
  }
136
137
  function useTable(tableId) {
137
- const client = (0, import_react2.useMakeswiftClient)();
138
+ const client = (0, import_makeswift_host_api_client.useMakeswiftHostApiClient)();
138
139
  const readTable = () => tableId == null ? null : client.readTable(tableId);
139
140
  const table = (0, import_shim.useSyncExternalStore)(client.subscribe, readTable, readTable);
140
141
  (0, import_react.useEffect)(() => {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/runtimes/react/hooks/makeswift-api.ts"],"sourcesContent":["import { useEffect, useRef } from 'react'\nimport { useSyncExternalStore } from 'use-sync-external-store/shim'\nimport {\n File,\n GlobalElement,\n LocalizedGlobalElement,\n PagePathnameSlice,\n Swatch,\n Table,\n Typography,\n} from '../../../api'\nimport { useMakeswiftClient } from '../../../api/react'\n\nexport function useSwatch(swatchId: string | null): Swatch | null {\n const client = useMakeswiftClient()\n const readSwatch = () => (swatchId == null ? null : client.readSwatch(swatchId))\n const swatch = useSyncExternalStore(client.subscribe, readSwatch, readSwatch)\n\n useEffect(() => {\n if (swatchId != null) client.fetchSwatch(swatchId).catch(console.error)\n }, [client, swatchId])\n\n return swatch\n}\n\nexport function useSwatches(swatchIds: string[]): (Swatch | null)[] {\n const client = useMakeswiftClient()\n const lastSnapshot = useRef<(Swatch | null)[]>()\n\n function getSnapshot() {\n const swatches = swatchIds.map(swatchId => client.readSwatch(swatchId))\n\n if (\n lastSnapshot.current != null &&\n lastSnapshot.current.length === swatches.length &&\n lastSnapshot.current.every((swatch, idx) => swatches[idx] === swatch)\n ) {\n return lastSnapshot.current\n }\n\n return (lastSnapshot.current = swatches)\n }\n\n const swatches = useSyncExternalStore(client.subscribe, getSnapshot, getSnapshot)\n\n useEffect(() => {\n Promise.all(swatchIds.map(swatchId => client.fetchSwatch(swatchId))).catch(console.error)\n }, [client, swatchIds])\n\n return swatches\n}\n\nexport function useFile(fileId: string | null): File | null {\n const client = useMakeswiftClient()\n const readFile = () => (fileId == null ? null : client.readFile(fileId))\n const file = useSyncExternalStore(client.subscribe, readFile, readFile)\n\n useEffect(() => {\n if (fileId != null) client.fetchFile(fileId)\n }, [client, fileId])\n\n return file\n}\n\nexport function useFiles(fileIds: string[]): (File | null)[] {\n const client = useMakeswiftClient()\n const lastSnapshot = useRef<(File | null)[]>()\n\n function getSnapshot() {\n const files = fileIds.map(fileId => client.readFile(fileId))\n\n if (\n lastSnapshot.current != null &&\n lastSnapshot.current.length === files.length &&\n lastSnapshot.current.every((file, idx) => files[idx] === file)\n ) {\n return lastSnapshot.current\n }\n\n return (lastSnapshot.current = files)\n }\n\n const files = useSyncExternalStore(client.subscribe, getSnapshot, getSnapshot)\n\n useEffect(() => {\n Promise.all(fileIds.map(fileId => client.fetchFile(fileId))).catch(console.error)\n }, [client, fileIds])\n\n return files\n}\n\nexport function useTypography(typographyId: string | null): Typography | null {\n const client = useMakeswiftClient()\n const readTypography = () => (typographyId == null ? null : client.readTypography(typographyId))\n const typography = useSyncExternalStore(client.subscribe, readTypography, readTypography)\n\n useEffect(() => {\n if (typographyId != null) client.fetchTypography(typographyId).catch(console.error)\n }, [client, typographyId])\n\n return typography\n}\n\nexport function useGlobalElement(globalElementId: string | null): GlobalElement | null {\n const client = useMakeswiftClient()\n const readGlobalElement = () =>\n globalElementId == null ? null : client.readGlobalElement(globalElementId)\n const globalElement = useSyncExternalStore(client.subscribe, readGlobalElement, readGlobalElement)\n\n useEffect(() => {\n if (globalElementId != null) client.fetchGlobalElement(globalElementId).catch(console.error)\n }, [client, globalElementId])\n\n return globalElement\n}\n\nexport function useLocalizedGlobalElement(\n globalElementId: string | null,\n): LocalizedGlobalElement | null {\n const client = useMakeswiftClient()\n const readLocalizedGlobalElement = () =>\n globalElementId == null ? null : client.readLocalizedGlobalElement(globalElementId)\n const localizedGlobalElement = useSyncExternalStore(\n client.subscribe,\n readLocalizedGlobalElement,\n readLocalizedGlobalElement,\n )\n\n useEffect(() => {\n if (globalElementId != null) {\n client.fetchLocalizedGlobalElement(globalElementId).catch(console.error)\n }\n }, [client, globalElementId])\n\n return localizedGlobalElement\n}\n\nexport function usePagePathnameSlice(pageId: string | null): PagePathnameSlice | null {\n const client = useMakeswiftClient()\n const readPagePathnameSlice = () => (pageId == null ? null : client.readPagePathnameSlice(pageId))\n const pagePathnameSlice = useSyncExternalStore(\n client.subscribe,\n readPagePathnameSlice,\n readPagePathnameSlice,\n )\n\n useEffect(() => {\n if (pageId != null) client.fetchPagePathnameSlice(pageId).catch(console.error)\n }, [client, pageId])\n\n return pagePathnameSlice\n}\n\nexport function useTable(tableId: string | null): Table | null {\n const client = useMakeswiftClient()\n const readTable = () => (tableId == null ? null : client.readTable(tableId))\n const table = useSyncExternalStore(client.subscribe, readTable, readTable)\n\n useEffect(() => {\n if (tableId != null) client.fetchTable(tableId).catch(console.error)\n }, [client, tableId])\n\n return table\n}\n"],"mappings":"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","names":["import_react","swatches","files"]}
1
+ {"version":3,"sources":["../../../../../src/runtimes/react/hooks/makeswift-api.ts"],"sourcesContent":["'use client'\n\nimport { useEffect, useRef } from 'react'\nimport { useSyncExternalStore } from 'use-sync-external-store/shim'\nimport {\n File,\n GlobalElement,\n LocalizedGlobalElement,\n Swatch,\n Table,\n Typography,\n} from '../../../api'\nimport { PagePathnameSlice } from '../../../api/resource-types'\nimport { useMakeswiftHostApiClient } from '../../../next/context/makeswift-host-api-client'\n\nexport function useSwatch(swatchId: string | null): Swatch | null {\n const client = useMakeswiftHostApiClient()\n const readSwatch = () => (swatchId == null ? null : client.readSwatch(swatchId))\n const swatch = useSyncExternalStore(client.subscribe, readSwatch, readSwatch)\n\n useEffect(() => {\n if (swatchId != null) client.fetchSwatch(swatchId).catch(console.error)\n }, [client, swatchId])\n\n return swatch\n}\n\nexport function useSwatches(swatchIds: string[]): (Swatch | null)[] {\n const client = useMakeswiftHostApiClient()\n const lastSnapshot = useRef<(Swatch | null)[]>()\n\n function getSnapshot() {\n const swatches = swatchIds.map(swatchId => client.readSwatch(swatchId))\n\n if (\n lastSnapshot.current != null &&\n lastSnapshot.current.length === swatches.length &&\n lastSnapshot.current.every((swatch, idx) => swatches[idx] === swatch)\n ) {\n return lastSnapshot.current\n }\n\n return (lastSnapshot.current = swatches)\n }\n\n const swatches = useSyncExternalStore(client.subscribe, getSnapshot, getSnapshot)\n\n useEffect(() => {\n Promise.all(swatchIds.map(swatchId => client.fetchSwatch(swatchId))).catch(console.error)\n }, [client, swatchIds])\n\n return swatches\n}\n\nexport function useFile(fileId: string | null): File | null {\n const client = useMakeswiftHostApiClient()\n const readFile = () => (fileId == null ? null : client.readFile(fileId))\n const file = useSyncExternalStore(client.subscribe, readFile, readFile)\n\n useEffect(() => {\n if (fileId != null) client.fetchFile(fileId)\n }, [client, fileId])\n\n return file\n}\n\nexport function useFiles(fileIds: string[]): (File | null)[] {\n const client = useMakeswiftHostApiClient()\n const lastSnapshot = useRef<(File | null)[]>()\n\n function getSnapshot() {\n const files = fileIds.map(fileId => client.readFile(fileId))\n\n if (\n lastSnapshot.current != null &&\n lastSnapshot.current.length === files.length &&\n lastSnapshot.current.every((file, idx) => files[idx] === file)\n ) {\n return lastSnapshot.current\n }\n\n return (lastSnapshot.current = files)\n }\n\n const files = useSyncExternalStore(client.subscribe, getSnapshot, getSnapshot)\n\n useEffect(() => {\n Promise.all(fileIds.map(fileId => client.fetchFile(fileId))).catch(console.error)\n }, [client, fileIds])\n\n return files\n}\n\nexport function useTypography(typographyId: string | null): Typography | null {\n const client = useMakeswiftHostApiClient()\n const readTypography = () => (typographyId == null ? null : client.readTypography(typographyId))\n const typography = useSyncExternalStore(client.subscribe, readTypography, readTypography)\n\n useEffect(() => {\n if (typographyId != null) client.fetchTypography(typographyId).catch(console.error)\n }, [client, typographyId])\n\n return typography\n}\n\nexport function useGlobalElement(globalElementId: string | null): GlobalElement | null {\n const client = useMakeswiftHostApiClient()\n const readGlobalElement = () =>\n globalElementId == null ? null : client.readGlobalElement(globalElementId)\n const globalElement = useSyncExternalStore(client.subscribe, readGlobalElement, readGlobalElement)\n\n useEffect(() => {\n if (globalElementId != null) client.fetchGlobalElement(globalElementId).catch(console.error)\n }, [client, globalElementId])\n\n return globalElement\n}\n\nexport function useLocalizedGlobalElement(\n globalElementId: string | null,\n): LocalizedGlobalElement | null {\n const client = useMakeswiftHostApiClient()\n const readLocalizedGlobalElement = () =>\n globalElementId == null ? null : client.readLocalizedGlobalElement(globalElementId)\n const localizedGlobalElement = useSyncExternalStore(\n client.subscribe,\n readLocalizedGlobalElement,\n readLocalizedGlobalElement,\n )\n\n useEffect(() => {\n if (globalElementId != null) {\n client.fetchLocalizedGlobalElement(globalElementId).catch(console.error)\n }\n }, [client, globalElementId])\n\n return localizedGlobalElement\n}\n\nexport function usePagePathnameSlice(pageId: string | null): PagePathnameSlice | null {\n const client = useMakeswiftHostApiClient()\n const readPagePathnameSlice = () => (pageId == null ? null : client.readPagePathnameSlice(pageId))\n const pagePathnameSlice = useSyncExternalStore(\n client.subscribe,\n readPagePathnameSlice,\n readPagePathnameSlice,\n )\n\n useEffect(() => {\n if (pageId != null) client.fetchPagePathnameSlice(pageId).catch(console.error)\n }, [client, pageId])\n\n return pagePathnameSlice\n}\n\nexport function useTable(tableId: string | null): Table | null {\n const client = useMakeswiftHostApiClient()\n const readTable = () => (tableId == null ? null : client.readTable(tableId))\n const table = useSyncExternalStore(client.subscribe, readTable, readTable)\n\n useEffect(() => {\n if (tableId != null) client.fetchTable(tableId).catch(console.error)\n }, [client, tableId])\n\n return table\n}\n"],"mappings":"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","names":["swatches","files"]}
@@ -1,4 +1,5 @@
1
1
  "use strict";
2
+ "use client";
2
3
  var __defProp = Object.defineProperty;
3
4
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
5
  var __getOwnPropNames = Object.getOwnPropertyNames;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/runtimes/react/hooks/use-document-key.ts"],"sourcesContent":["import { createContext, useContext } from 'react'\n\nexport const DocumentContext = createContext<string | null>(null)\n\nexport function useDocumentKey(): string | null {\n return useContext(DocumentContext)\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAA0C;AAEnC,MAAM,sBAAkB,4BAA6B,IAAI;AAEzD,SAAS,iBAAgC;AAC9C,aAAO,yBAAW,eAAe;AACnC;","names":[]}
1
+ {"version":3,"sources":["../../../../../src/runtimes/react/hooks/use-document-key.ts"],"sourcesContent":["'use client'\n\nimport { createContext, useContext } from 'react'\n\nexport const DocumentContext = createContext<string | null>(null)\n\nexport function useDocumentKey(): string | null {\n return useContext(DocumentContext)\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,mBAA0C;AAEnC,MAAM,sBAAkB,4BAA6B,IAAI;AAEzD,SAAS,iBAAgC;AAC9C,aAAO,yBAAW,eAAe;AACnC;","names":[]}
@@ -1,4 +1,5 @@
1
1
  "use strict";
2
+ "use client";
2
3
  var __defProp = Object.defineProperty;
3
4
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
5
  var __getOwnPropNames = Object.getOwnPropertyNames;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/runtimes/react/hooks/use-page-id.ts"],"sourcesContent":["import { createContext, useContext } from 'react'\n\nexport const PageContext = createContext<string | null>(null)\n\nfunction usePageIdOrNull(): string | null {\n return useContext(PageContext)\n}\n\nexport function usePageId(): string {\n const pageIdOrNull = usePageIdOrNull()\n\n if (pageIdOrNull == null) throw new Error('`usePageId` must be used with `<PageProvider>`')\n\n return pageIdOrNull\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAA0C;AAEnC,MAAM,kBAAc,4BAA6B,IAAI;AAE5D,SAAS,kBAAiC;AACxC,aAAO,yBAAW,WAAW;AAC/B;AAEO,SAAS,YAAoB;AAClC,QAAM,eAAe,gBAAgB;AAErC,MAAI,gBAAgB;AAAM,UAAM,IAAI,MAAM,gDAAgD;AAE1F,SAAO;AACT;","names":[]}
1
+ {"version":3,"sources":["../../../../../src/runtimes/react/hooks/use-page-id.ts"],"sourcesContent":["'use client'\n\nimport { createContext, useContext } from 'react'\n\nexport const PageContext = createContext<string | null>(null)\n\nfunction usePageIdOrNull(): string | null {\n return useContext(PageContext)\n}\n\nexport function usePageId(): string {\n const pageIdOrNull = usePageIdOrNull()\n\n if (pageIdOrNull == null) throw new Error('`usePageId` must be used with `<PageProvider>`')\n\n return pageIdOrNull\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,mBAA0C;AAEnC,MAAM,kBAAc,4BAA6B,IAAI;AAE5D,SAAS,kBAAiC;AACxC,aAAO,yBAAW,WAAW;AAC/B;AAEO,SAAS,YAAoB;AAClC,QAAM,eAAe,gBAAgB;AAErC,MAAI,gBAAgB;AAAM,UAAM,IAAI,MAAM,gDAAgD;AAE1F,SAAO;AACT;","names":[]}
@@ -1,4 +1,5 @@
1
1
  "use strict";
2
+ "use client";
2
3
  var __defProp = Object.defineProperty;
3
4
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
5
  var __getOwnPropNames = Object.getOwnPropertyNames;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/runtimes/react/hooks/use-store.ts"],"sourcesContent":["import { createContext, useContext } from 'react'\nimport { ReactRuntime } from '../react-runtime'\nimport { Store } from '../../../state/react-page'\n\nexport const StoreContext = createContext(ReactRuntime.store)\n\nexport function useStore(): Store {\n return useContext(StoreContext)\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAA0C;AAC1C,2BAA6B;AAGtB,MAAM,mBAAe,4BAAc,kCAAa,KAAK;AAErD,SAAS,WAAkB;AAChC,aAAO,yBAAW,YAAY;AAChC;","names":[]}
1
+ {"version":3,"sources":["../../../../../src/runtimes/react/hooks/use-store.ts"],"sourcesContent":["'use client'\n\nimport { createContext, useContext } from 'react'\nimport { ReactRuntime } from '../react-runtime'\nimport { Store } from '../../../state/react-page'\n\nexport const StoreContext = createContext(ReactRuntime.store)\n\nexport function useStore(): Store {\n return useContext(StoreContext)\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,mBAA0C;AAC1C,2BAA6B;AAGtB,MAAM,mBAAe,4BAAc,kCAAa,KAAK;AAErD,SAAS,WAAkB;AAChC,aAAO,yBAAW,YAAY;AAChC;","names":[]}
@@ -1,4 +1,5 @@
1
1
  "use strict";
2
+ "use client";
2
3
  var __create = Object.create;
3
4
  var __defProp = Object.defineProperty;
4
5
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
@@ -33,20 +34,24 @@ __export(use_global_style_exports, {
33
34
  module.exports = __toCommonJS(use_global_style_exports);
34
35
  var React = __toESM(require("react"));
35
36
  var import_react = require("react");
36
- var import_css = require("@emotion/css");
37
37
  var import_serialize = require("@emotion/serialize");
38
38
  var import_utils = require("@emotion/utils");
39
+ var import_root_style_registry = require("../../next/root-style-registry");
39
40
  const isServer = typeof window === "undefined";
40
41
  const useInsertionEffectSpecifier = "useInsertionEffect";
41
42
  const useInsertionEffect = React[useInsertionEffectSpecifier] ?? React.useLayoutEffect;
42
43
  function useGlobalStyle(...args) {
43
- if (isServer)
44
- return (0, import_css.injectGlobal)(args);
45
- const serialized = (0, import_serialize.serializeStyles)(args, import_css.cache.registered);
44
+ const cache = (0, import_root_style_registry.useCache)();
45
+ const serialized = (0, import_serialize.serializeStyles)(args, cache.registered);
46
+ if (isServer) {
47
+ if (cache.inserted[serialized.name] === void 0) {
48
+ cache.insert("", serialized, cache.sheet, true);
49
+ }
50
+ }
46
51
  const sheetRef = (0, import_react.useRef)();
47
52
  useInsertionEffect(() => {
48
- const key = `${import_css.cache.key}-global`;
49
- const cacheSheet = import_css.cache.sheet;
53
+ const key = `${cache.key}-global`;
54
+ const cacheSheet = cache.sheet;
50
55
  const sheet = new cacheSheet.constructor({
51
56
  key,
52
57
  nonce: cacheSheet.nonce,
@@ -56,8 +61,8 @@ function useGlobalStyle(...args) {
56
61
  const node = document.querySelector(
57
62
  `style[data-emotion="${key} ${serialized.name}"]`
58
63
  );
59
- if (import_css.cache.sheet.tags.length > 0) {
60
- sheet.before = import_css.cache.sheet.tags[0];
64
+ if (cache.sheet.tags.length > 0) {
65
+ sheet.before = cache.sheet.tags[0];
61
66
  }
62
67
  let rehydrating = false;
63
68
  if (node != null) {
@@ -79,14 +84,14 @@ function useGlobalStyle(...args) {
79
84
  return;
80
85
  }
81
86
  if (serialized.next != null) {
82
- (0, import_utils.insertStyles)(import_css.cache, serialized.next, true);
87
+ (0, import_utils.insertStyles)(cache, serialized.next, true);
83
88
  }
84
89
  if (sheet.tags.length > 0) {
85
90
  const element = sheet.tags[sheet.tags.length - 1].nextElementSibling;
86
91
  sheet.before = element;
87
92
  sheet.flush();
88
93
  }
89
- import_css.cache.insert("", serialized, sheet, false);
94
+ cache.insert("", serialized, sheet, false);
90
95
  });
91
96
  }
92
97
  // Annotate the CommonJS export names for ESM import in node:
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/runtimes/react/use-global-style.ts"],"sourcesContent":["import * as React from 'react'\nimport { useRef } from 'react'\nimport { cache, injectGlobal } from '@emotion/css'\nimport { CSSInterpolation, serializeStyles } from '@emotion/serialize'\nimport { StyleSheet } from '@emotion/sheet'\nimport { insertStyles } from '@emotion/utils'\n\nconst isServer = typeof window === 'undefined'\nconst useInsertionEffectSpecifier = 'useInsertionEffect'\nconst useInsertionEffect = React[useInsertionEffectSpecifier] ?? React.useLayoutEffect\n\nexport function useGlobalStyle(...args: CSSInterpolation[]): void {\n if (isServer) return injectGlobal(args)\n\n const serialized = serializeStyles(args, cache.registered)\n const sheetRef = useRef<[StyleSheet, boolean]>()\n\n // Hydration\n useInsertionEffect(() => {\n const key = `${cache.key}-global`\n\n const cacheSheet = cache.sheet as StyleSheet\n const sheet = new (cacheSheet.constructor as typeof StyleSheet)({\n key,\n nonce: cacheSheet.nonce,\n container: cacheSheet.container,\n speedy: cacheSheet.isSpeedy,\n })\n\n const node = document.querySelector<HTMLStyleElement>(\n `style[data-emotion=\"${key} ${serialized.name}\"]`,\n )\n\n if (cache.sheet.tags.length > 0) {\n sheet.before = cache.sheet.tags[0]\n }\n\n let rehydrating = false\n\n if (node != null) {\n rehydrating = true\n node.setAttribute('data-emotion', key)\n sheet.hydrate([node])\n }\n\n sheetRef.current = [sheet, rehydrating]\n\n return () => {\n sheet.flush()\n }\n })\n\n // Insertion\n useInsertionEffect(() => {\n const [sheet, rehydrating] = sheetRef.current ?? []\n\n if (sheet == null || rehydrating == null) return\n\n if (rehydrating) {\n sheetRef.current = [sheet, false]\n\n return\n }\n\n if (serialized.next != null) {\n insertStyles(cache, serialized.next, true)\n }\n\n if (sheet.tags.length > 0) {\n const element = sheet.tags[sheet.tags.length - 1].nextElementSibling\n\n sheet.before = element\n\n sheet.flush()\n }\n\n cache.insert('', serialized, sheet, false)\n })\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,YAAuB;AACvB,mBAAuB;AACvB,iBAAoC;AACpC,uBAAkD;AAElD,mBAA6B;AAE7B,MAAM,WAAW,OAAO,WAAW;AACnC,MAAM,8BAA8B;AACpC,MAAM,qBAAqB,MAAM,2BAA2B,KAAK,MAAM;AAEhE,SAAS,kBAAkB,MAAgC;AAChE,MAAI;AAAU,eAAO,yBAAa,IAAI;AAEtC,QAAM,iBAAa,kCAAgB,MAAM,iBAAM,UAAU;AACzD,QAAM,eAAW,qBAA8B;AAG/C,qBAAmB,MAAM;AACvB,UAAM,MAAM,GAAG,iBAAM,GAAG;AAExB,UAAM,aAAa,iBAAM;AACzB,UAAM,QAAQ,IAAK,WAAW,YAAkC;AAAA,MAC9D;AAAA,MACA,OAAO,WAAW;AAAA,MAClB,WAAW,WAAW;AAAA,MACtB,QAAQ,WAAW;AAAA,IACrB,CAAC;AAED,UAAM,OAAO,SAAS;AAAA,MACpB,uBAAuB,GAAG,IAAI,WAAW,IAAI;AAAA,IAC/C;AAEA,QAAI,iBAAM,MAAM,KAAK,SAAS,GAAG;AAC/B,YAAM,SAAS,iBAAM,MAAM,KAAK,CAAC;AAAA,IACnC;AAEA,QAAI,cAAc;AAElB,QAAI,QAAQ,MAAM;AAChB,oBAAc;AACd,WAAK,aAAa,gBAAgB,GAAG;AACrC,YAAM,QAAQ,CAAC,IAAI,CAAC;AAAA,IACtB;AAEA,aAAS,UAAU,CAAC,OAAO,WAAW;AAEtC,WAAO,MAAM;AACX,YAAM,MAAM;AAAA,IACd;AAAA,EACF,CAAC;AAGD,qBAAmB,MAAM;AACvB,UAAM,CAAC,OAAO,WAAW,IAAI,SAAS,WAAW,CAAC;AAElD,QAAI,SAAS,QAAQ,eAAe;AAAM;AAE1C,QAAI,aAAa;AACf,eAAS,UAAU,CAAC,OAAO,KAAK;AAEhC;AAAA,IACF;AAEA,QAAI,WAAW,QAAQ,MAAM;AAC3B,qCAAa,kBAAO,WAAW,MAAM,IAAI;AAAA,IAC3C;AAEA,QAAI,MAAM,KAAK,SAAS,GAAG;AACzB,YAAM,UAAU,MAAM,KAAK,MAAM,KAAK,SAAS,CAAC,EAAE;AAElD,YAAM,SAAS;AAEf,YAAM,MAAM;AAAA,IACd;AAEA,qBAAM,OAAO,IAAI,YAAY,OAAO,KAAK;AAAA,EAC3C,CAAC;AACH;","names":[]}
1
+ {"version":3,"sources":["../../../../src/runtimes/react/use-global-style.ts"],"sourcesContent":["'use client'\n\nimport * as React from 'react'\nimport { useRef } from 'react'\nimport { CSSInterpolation, serializeStyles } from '@emotion/serialize'\nimport { StyleSheet } from '@emotion/sheet'\nimport { insertStyles } from '@emotion/utils'\nimport { useCache } from '../../next/root-style-registry'\n\nconst isServer = typeof window === 'undefined'\nconst useInsertionEffectSpecifier = 'useInsertionEffect'\nconst useInsertionEffect = React[useInsertionEffectSpecifier] ?? React.useLayoutEffect\n\nexport function useGlobalStyle(...args: CSSInterpolation[]): void {\n const cache = useCache()\n const serialized = serializeStyles(args, cache.registered)\n\n if (isServer) {\n if (cache.inserted[serialized.name] === undefined) {\n cache.insert('', serialized, cache.sheet, true)\n }\n }\n\n const sheetRef = useRef<[StyleSheet, boolean]>()\n\n // Hydration\n useInsertionEffect(() => {\n const key = `${cache.key}-global`\n\n const cacheSheet = cache.sheet as StyleSheet\n const sheet = new (cacheSheet.constructor as typeof StyleSheet)({\n key,\n nonce: cacheSheet.nonce,\n container: cacheSheet.container,\n speedy: cacheSheet.isSpeedy,\n })\n\n const node = document.querySelector<HTMLStyleElement>(\n `style[data-emotion=\"${key} ${serialized.name}\"]`,\n )\n\n if (cache.sheet.tags.length > 0) {\n sheet.before = cache.sheet.tags[0]\n }\n\n let rehydrating = false\n\n if (node != null) {\n rehydrating = true\n node.setAttribute('data-emotion', key)\n sheet.hydrate([node])\n }\n\n sheetRef.current = [sheet, rehydrating]\n\n return () => {\n sheet.flush()\n }\n })\n\n // Insertion\n useInsertionEffect(() => {\n const [sheet, rehydrating] = sheetRef.current ?? []\n\n if (sheet == null || rehydrating == null) return\n\n if (rehydrating) {\n sheetRef.current = [sheet, false]\n\n return\n }\n\n if (serialized.next != null) {\n insertStyles(cache, serialized.next, true)\n }\n\n if (sheet.tags.length > 0) {\n const element = sheet.tags[sheet.tags.length - 1].nextElementSibling\n\n sheet.before = element\n\n sheet.flush()\n }\n\n cache.insert('', serialized, sheet, false)\n })\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,YAAuB;AACvB,mBAAuB;AACvB,uBAAkD;AAElD,mBAA6B;AAC7B,iCAAyB;AAEzB,MAAM,WAAW,OAAO,WAAW;AACnC,MAAM,8BAA8B;AACpC,MAAM,qBAAqB,MAAM,2BAA2B,KAAK,MAAM;AAEhE,SAAS,kBAAkB,MAAgC;AAChE,QAAM,YAAQ,qCAAS;AACvB,QAAM,iBAAa,kCAAgB,MAAM,MAAM,UAAU;AAEzD,MAAI,UAAU;AACZ,QAAI,MAAM,SAAS,WAAW,IAAI,MAAM,QAAW;AACjD,YAAM,OAAO,IAAI,YAAY,MAAM,OAAO,IAAI;AAAA,IAChD;AAAA,EACF;AAEA,QAAM,eAAW,qBAA8B;AAG/C,qBAAmB,MAAM;AACvB,UAAM,MAAM,GAAG,MAAM,GAAG;AAExB,UAAM,aAAa,MAAM;AACzB,UAAM,QAAQ,IAAK,WAAW,YAAkC;AAAA,MAC9D;AAAA,MACA,OAAO,WAAW;AAAA,MAClB,WAAW,WAAW;AAAA,MACtB,QAAQ,WAAW;AAAA,IACrB,CAAC;AAED,UAAM,OAAO,SAAS;AAAA,MACpB,uBAAuB,GAAG,IAAI,WAAW,IAAI;AAAA,IAC/C;AAEA,QAAI,MAAM,MAAM,KAAK,SAAS,GAAG;AAC/B,YAAM,SAAS,MAAM,MAAM,KAAK,CAAC;AAAA,IACnC;AAEA,QAAI,cAAc;AAElB,QAAI,QAAQ,MAAM;AAChB,oBAAc;AACd,WAAK,aAAa,gBAAgB,GAAG;AACrC,YAAM,QAAQ,CAAC,IAAI,CAAC;AAAA,IACtB;AAEA,aAAS,UAAU,CAAC,OAAO,WAAW;AAEtC,WAAO,MAAM;AACX,YAAM,MAAM;AAAA,IACd;AAAA,EACF,CAAC;AAGD,qBAAmB,MAAM;AACvB,UAAM,CAAC,OAAO,WAAW,IAAI,SAAS,WAAW,CAAC;AAElD,QAAI,SAAS,QAAQ,eAAe;AAAM;AAE1C,QAAI,aAAa;AACf,eAAS,UAAU,CAAC,OAAO,KAAK;AAEhC;AAAA,IACF;AAEA,QAAI,WAAW,QAAQ,MAAM;AAC3B,qCAAa,OAAO,WAAW,MAAM,IAAI;AAAA,IAC3C;AAEA,QAAI,MAAM,KAAK,SAAS,GAAG;AACzB,YAAM,UAAU,MAAM,KAAK,MAAM,KAAK,SAAS,CAAC,EAAE;AAElD,YAAM,SAAS;AAEf,YAAM,MAAM;AAAA,IACd;AAEA,UAAM,OAAO,IAAI,YAAY,OAAO,KAAK;AAAA,EAC3C,CAAC;AACH;","names":[]}