@makeswift/runtime 0.22.3 → 0.23.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 (499) hide show
  1. package/dist/cjs/api/{graphql/fragments.js → fragments.js} +1 -1
  2. package/dist/cjs/api/fragments.js.map +1 -0
  3. package/dist/cjs/api/index.js +4 -4
  4. package/dist/cjs/api/index.js.map +1 -1
  5. package/dist/cjs/api/react.js +46 -46
  6. package/dist/cjs/api/react.js.map +1 -1
  7. package/dist/cjs/api/{graphql/types.js → types.js} +9 -4
  8. package/dist/cjs/api/types.js.map +1 -0
  9. package/dist/cjs/builder/serialization/control-serialization.js +13 -9
  10. package/dist/cjs/builder/serialization/control-serialization.js.map +1 -1
  11. package/dist/cjs/components/builtin/Form/Form.js +2 -2
  12. package/dist/cjs/components/builtin/Form/Form.js.map +1 -1
  13. package/dist/cjs/components/builtin/Slot/Slot.js +33 -0
  14. package/dist/cjs/components/builtin/Slot/Slot.js.map +1 -0
  15. package/dist/cjs/components/builtin/Slot/index.js +35 -0
  16. package/dist/cjs/components/builtin/Slot/index.js.map +1 -0
  17. package/dist/cjs/components/builtin/Slot/register.js +56 -0
  18. package/dist/cjs/components/builtin/Slot/register.js.map +1 -0
  19. package/dist/cjs/components/builtin/constants.js +1 -0
  20. package/dist/cjs/components/builtin/constants.js.map +1 -1
  21. package/dist/cjs/components/builtin/index.js +3 -0
  22. package/dist/cjs/components/builtin/index.js.map +1 -1
  23. package/dist/cjs/components/builtin/register.js +9 -6
  24. package/dist/cjs/components/builtin/register.js.map +1 -1
  25. package/dist/cjs/components/hooks/usePageSnippets.js +2 -2
  26. package/dist/cjs/components/hooks/usePageSnippets.js.map +1 -1
  27. package/dist/cjs/components/page/Page.js +2 -3
  28. package/dist/cjs/components/page/Page.js.map +1 -1
  29. package/dist/cjs/components/page/PageHead.js +2 -2
  30. package/dist/cjs/components/page/PageHead.js.map +1 -1
  31. package/dist/cjs/components/shared/BackgroundsContainer/index.js +5 -3
  32. package/dist/cjs/components/shared/BackgroundsContainer/index.js.map +1 -1
  33. package/dist/cjs/controls/index.js +10 -0
  34. package/dist/cjs/controls/index.js.map +1 -1
  35. package/dist/cjs/core/index.js +4 -2
  36. package/dist/cjs/core/index.js.map +1 -1
  37. package/dist/cjs/index.js +2 -2
  38. package/dist/cjs/index.js.map +1 -1
  39. package/dist/cjs/jest-setup.js +2 -1
  40. package/dist/cjs/jest-setup.js.map +1 -1
  41. package/dist/cjs/next/api-handler/handlers/manifest.js +4 -2
  42. package/dist/cjs/next/api-handler/handlers/manifest.js.map +1 -1
  43. package/dist/cjs/next/api-handler/handlers/webhook/index.js +55 -0
  44. package/dist/cjs/next/api-handler/handlers/webhook/index.js.map +1 -0
  45. package/dist/cjs/next/api-handler/handlers/webhook/site-published.js +36 -0
  46. package/dist/cjs/next/api-handler/handlers/webhook/site-published.js.map +1 -0
  47. package/dist/cjs/next/api-handler/handlers/webhook/types.js +46 -0
  48. package/dist/cjs/next/api-handler/handlers/webhook/types.js.map +1 -0
  49. package/dist/cjs/next/api-handler/index.js +7 -7
  50. package/dist/cjs/next/api-handler/index.js.map +1 -1
  51. package/dist/cjs/next/client.js +136 -18
  52. package/dist/cjs/next/client.js.map +1 -1
  53. package/dist/cjs/next/components/MakeswiftComponent.js +50 -0
  54. package/dist/cjs/next/components/MakeswiftComponent.js.map +1 -0
  55. package/dist/cjs/next/components/Slot.js +50 -0
  56. package/dist/cjs/next/components/Slot.js.map +1 -0
  57. package/dist/cjs/next/components/SlotProvider.js +41 -0
  58. package/dist/cjs/next/components/SlotProvider.js.map +1 -0
  59. package/dist/cjs/next/components/page.js +20 -18
  60. package/dist/cjs/next/components/page.js.map +1 -1
  61. package/dist/cjs/next/components/tests/controls/page-control-prop-rendering.js +6 -5
  62. package/dist/cjs/next/components/tests/controls/page-control-prop-rendering.js.map +1 -1
  63. package/dist/cjs/next/components/tests/prop-controllers/page-prop-controller.js +6 -6
  64. package/dist/cjs/next/components/tests/prop-controllers/page-prop-controller.js.map +1 -1
  65. package/dist/cjs/next/document.js +1 -1
  66. package/dist/cjs/next/document.js.map +1 -1
  67. package/dist/cjs/next/draft-mode/draft-mode-script.js +17 -3
  68. package/dist/cjs/next/draft-mode/draft-mode-script.js.map +1 -1
  69. package/dist/cjs/next/index.js +10 -4
  70. package/dist/cjs/next/index.js.map +1 -1
  71. package/dist/cjs/next/preview-mode.js +4 -1
  72. package/dist/cjs/next/preview-mode.js.map +1 -1
  73. package/dist/cjs/prop-controllers/introspection.js +1 -1
  74. package/dist/cjs/prop-controllers/introspection.js.map +1 -1
  75. package/dist/cjs/react.js +2 -4
  76. package/dist/cjs/react.js.map +1 -1
  77. package/dist/cjs/runtimes/react/components/Document.js +3 -2
  78. package/dist/cjs/runtimes/react/components/Document.js.map +1 -1
  79. package/dist/cjs/runtimes/react/components/{DocumentReference.js → DocumentRoot.js} +9 -9
  80. package/dist/cjs/runtimes/react/components/DocumentRoot.js.map +1 -0
  81. package/dist/cjs/runtimes/react/components/Element.js +10 -22
  82. package/dist/cjs/runtimes/react/components/Element.js.map +1 -1
  83. package/dist/cjs/runtimes/react/components/ElementReference.js +3 -1
  84. package/dist/cjs/runtimes/react/components/ElementReference.js.map +1 -1
  85. package/dist/cjs/runtimes/react/components/ElementRegistration.js +55 -0
  86. package/dist/cjs/runtimes/react/components/ElementRegistration.js.map +1 -0
  87. package/dist/cjs/runtimes/react/components/LiveProvider.js +10 -8
  88. package/dist/cjs/runtimes/react/components/LiveProvider.js.map +1 -1
  89. package/dist/cjs/runtimes/react/components/PreviewProvider.js +9 -22
  90. package/dist/cjs/runtimes/react/components/PreviewProvider.js.map +1 -1
  91. package/dist/cjs/runtimes/react/components/RuntimeProvider.js +23 -5
  92. package/dist/cjs/runtimes/react/components/RuntimeProvider.js.map +1 -1
  93. package/dist/cjs/runtimes/react/controls/group.js +45 -0
  94. package/dist/cjs/runtimes/react/controls/group.js.map +1 -0
  95. package/dist/cjs/runtimes/react/hooks/makeswift-api.js +20 -18
  96. package/dist/cjs/runtimes/react/hooks/makeswift-api.js.map +1 -1
  97. package/dist/cjs/runtimes/react/hooks/use-cache-data.js +35 -0
  98. package/dist/cjs/runtimes/react/hooks/use-cache-data.js.map +1 -0
  99. package/dist/cjs/runtimes/react/hooks/use-dispatch.js +1 -2
  100. package/dist/cjs/runtimes/react/hooks/use-dispatch.js.map +1 -1
  101. package/dist/cjs/runtimes/react/hooks/use-document-context.js +49 -0
  102. package/dist/cjs/runtimes/react/hooks/use-document-context.js.map +1 -0
  103. package/dist/cjs/runtimes/react/hooks/use-element-id.js +2 -2
  104. package/dist/cjs/runtimes/react/hooks/use-element-id.js.map +1 -1
  105. package/dist/cjs/{next/context/react-runtime.js → runtimes/react/hooks/use-react-runtime.js} +12 -16
  106. package/dist/cjs/runtimes/react/hooks/use-react-runtime.js.map +1 -0
  107. package/dist/cjs/runtimes/react/hooks/use-register-document.js +42 -0
  108. package/dist/cjs/runtimes/react/hooks/use-register-document.js.map +1 -0
  109. package/dist/cjs/runtimes/react/hooks/use-resolved-props.js +2 -2
  110. package/dist/cjs/runtimes/react/hooks/use-resolved-props.js.map +1 -1
  111. package/dist/cjs/runtimes/react/hooks/use-resource-resolver.js +6 -6
  112. package/dist/cjs/runtimes/react/hooks/use-resource-resolver.js.map +1 -1
  113. package/dist/cjs/runtimes/react/hooks/use-store.js +6 -3
  114. package/dist/cjs/runtimes/react/hooks/use-store.js.map +1 -1
  115. package/dist/cjs/runtimes/react/hooks/use-universal-dispatch.js +38 -0
  116. package/dist/cjs/runtimes/react/hooks/use-universal-dispatch.js.map +1 -0
  117. package/dist/cjs/{next/context/makeswift-host-api-client.js → runtimes/react/host-api-client.js} +4 -4
  118. package/dist/cjs/runtimes/react/host-api-client.js.map +1 -0
  119. package/dist/cjs/runtimes/react/index.js +8 -8
  120. package/dist/cjs/runtimes/react/index.js.map +1 -1
  121. package/dist/cjs/runtimes/react/react-runtime.js +0 -24
  122. package/dist/cjs/runtimes/react/react-runtime.js.map +1 -1
  123. package/dist/cjs/runtimes/react/runtime-core.js +2 -17
  124. package/dist/cjs/runtimes/react/runtime-core.js.map +1 -1
  125. package/dist/cjs/state/actions.js +33 -16
  126. package/dist/cjs/state/actions.js.map +1 -1
  127. package/dist/cjs/state/makeswift-api-client.js +98 -18
  128. package/dist/cjs/state/makeswift-api-client.js.map +1 -1
  129. package/dist/cjs/{runtimes/react/hooks/use-document-key.js → state/mixins/setup-teardown.js} +12 -13
  130. package/dist/cjs/state/mixins/setup-teardown.js.map +1 -0
  131. package/dist/cjs/state/modules/api-resources.js +62 -24
  132. package/dist/cjs/state/modules/api-resources.js.map +1 -1
  133. package/dist/cjs/state/modules/element-trees.js +14 -7
  134. package/dist/cjs/state/modules/element-trees.js.map +1 -1
  135. package/dist/cjs/state/modules/localized-resources-map.js +80 -0
  136. package/dist/cjs/state/modules/localized-resources-map.js.map +1 -0
  137. package/dist/cjs/state/modules/read-only-documents.js +16 -13
  138. package/dist/cjs/state/modules/read-only-documents.js.map +1 -1
  139. package/dist/cjs/state/modules/read-write-documents.js +9 -8
  140. package/dist/cjs/state/modules/read-write-documents.js.map +1 -1
  141. package/dist/cjs/state/react-builder-preview.js +18 -61
  142. package/dist/cjs/state/react-builder-preview.js.map +1 -1
  143. package/dist/cjs/state/react-page.js +64 -8
  144. package/dist/cjs/state/react-page.js.map +1 -1
  145. package/dist/cjs/{api/resource-types.js → utils/branded.js} +3 -10
  146. package/dist/cjs/utils/branded.js.map +1 -0
  147. package/dist/cjs/utils/canonicalize.js +39 -0
  148. package/dist/cjs/utils/canonicalize.js.map +1 -0
  149. package/dist/cjs/utils/deterministic-uuid.js +35 -0
  150. package/dist/cjs/utils/deterministic-uuid.js.map +1 -0
  151. package/dist/cjs/utils/is-server.js +31 -0
  152. package/dist/cjs/utils/is-server.js.map +1 -0
  153. package/dist/cjs/utils/serializeState.js +42 -0
  154. package/dist/cjs/utils/serializeState.js.map +1 -0
  155. package/dist/cjs/utils/tests/element-data-test-test.js +10 -9
  156. package/dist/cjs/utils/tests/element-data-test-test.js.map +1 -1
  157. package/dist/esm/api/fragments.js +6 -0
  158. package/dist/esm/api/fragments.js.map +1 -0
  159. package/dist/esm/api/index.js +2 -2
  160. package/dist/esm/api/index.js.map +1 -1
  161. package/dist/esm/api/react.js +45 -46
  162. package/dist/esm/api/react.js.map +1 -1
  163. package/dist/esm/api/{graphql/types.js → types.js} +7 -3
  164. package/dist/esm/api/types.js.map +1 -0
  165. package/dist/esm/builder/serialization/control-serialization.js +19 -11
  166. package/dist/esm/builder/serialization/control-serialization.js.map +1 -1
  167. package/dist/esm/components/builtin/Form/Form.js +1 -1
  168. package/dist/esm/components/builtin/Form/Form.js.map +1 -1
  169. package/dist/esm/components/builtin/Slot/Slot.js +13 -0
  170. package/dist/esm/components/builtin/Slot/Slot.js.map +1 -0
  171. package/dist/esm/components/builtin/Slot/index.js +5 -0
  172. package/dist/esm/components/builtin/Slot/index.js.map +1 -0
  173. package/dist/esm/components/builtin/Slot/register.js +22 -0
  174. package/dist/esm/components/builtin/Slot/register.js.map +1 -0
  175. package/dist/esm/components/builtin/constants.js +1 -0
  176. package/dist/esm/components/builtin/constants.js.map +1 -1
  177. package/dist/esm/components/builtin/index.js +8 -6
  178. package/dist/esm/components/builtin/index.js.map +1 -1
  179. package/dist/esm/components/builtin/register.js +3 -0
  180. package/dist/esm/components/builtin/register.js.map +1 -1
  181. package/dist/esm/components/hooks/usePageSnippets.js +1 -1
  182. package/dist/esm/components/hooks/usePageSnippets.js.map +1 -1
  183. package/dist/esm/components/page/Page.js +3 -4
  184. package/dist/esm/components/page/Page.js.map +1 -1
  185. package/dist/esm/components/page/PageHead.js +1 -1
  186. package/dist/esm/components/page/PageHead.js.map +1 -1
  187. package/dist/esm/components/shared/BackgroundsContainer/index.js +5 -3
  188. package/dist/esm/components/shared/BackgroundsContainer/index.js.map +1 -1
  189. package/dist/esm/controls/index.js +17 -7
  190. package/dist/esm/controls/index.js.map +1 -1
  191. package/dist/esm/core/index.js +4 -2
  192. package/dist/esm/core/index.js.map +1 -1
  193. package/dist/esm/index.js +2 -2
  194. package/dist/esm/index.js.map +1 -1
  195. package/dist/esm/jest-setup.js +2 -1
  196. package/dist/esm/jest-setup.js.map +1 -1
  197. package/dist/esm/next/api-handler/handlers/manifest.js +4 -2
  198. package/dist/esm/next/api-handler/handlers/manifest.js.map +1 -1
  199. package/dist/esm/next/api-handler/handlers/webhook/index.js +38 -0
  200. package/dist/esm/next/api-handler/handlers/webhook/index.js.map +1 -0
  201. package/dist/esm/next/api-handler/handlers/webhook/site-published.js +11 -0
  202. package/dist/esm/next/api-handler/handlers/webhook/site-published.js.map +1 -0
  203. package/dist/esm/next/api-handler/handlers/webhook/types.js +21 -0
  204. package/dist/esm/next/api-handler/handlers/webhook/types.js.map +1 -0
  205. package/dist/esm/next/api-handler/index.js +7 -7
  206. package/dist/esm/next/api-handler/index.js.map +1 -1
  207. package/dist/esm/next/client.js +133 -17
  208. package/dist/esm/next/client.js.map +1 -1
  209. package/dist/esm/next/components/MakeswiftComponent.js +26 -0
  210. package/dist/esm/next/components/MakeswiftComponent.js.map +1 -0
  211. package/dist/esm/next/components/Slot.js +16 -0
  212. package/dist/esm/next/components/Slot.js.map +1 -0
  213. package/dist/esm/next/components/SlotProvider.js +17 -0
  214. package/dist/esm/next/components/SlotProvider.js.map +1 -0
  215. package/dist/esm/next/components/page.js +24 -20
  216. package/dist/esm/next/components/page.js.map +1 -1
  217. package/dist/esm/next/components/tests/controls/page-control-prop-rendering.js +4 -3
  218. package/dist/esm/next/components/tests/controls/page-control-prop-rendering.js.map +1 -1
  219. package/dist/esm/next/components/tests/prop-controllers/page-prop-controller.js +3 -3
  220. package/dist/esm/next/components/tests/prop-controllers/page-prop-controller.js.map +1 -1
  221. package/dist/esm/next/document.js +1 -1
  222. package/dist/esm/next/document.js.map +1 -1
  223. package/dist/esm/next/draft-mode/draft-mode-script.js +7 -3
  224. package/dist/esm/next/draft-mode/draft-mode-script.js.map +1 -1
  225. package/dist/esm/next/index.js +6 -2
  226. package/dist/esm/next/index.js.map +1 -1
  227. package/dist/esm/next/preview-mode.js +4 -1
  228. package/dist/esm/next/preview-mode.js.map +1 -1
  229. package/dist/esm/prop-controllers/introspection.js +2 -2
  230. package/dist/esm/prop-controllers/introspection.js.map +1 -1
  231. package/dist/esm/react.js +2 -4
  232. package/dist/esm/react.js.map +1 -1
  233. package/dist/esm/runtimes/react/components/Document.js +3 -2
  234. package/dist/esm/runtimes/react/components/Document.js.map +1 -1
  235. package/dist/esm/runtimes/react/components/{DocumentReference.js → DocumentRoot.js} +7 -7
  236. package/dist/esm/runtimes/react/components/DocumentRoot.js.map +1 -0
  237. package/dist/esm/runtimes/react/components/Element.js +11 -23
  238. package/dist/esm/runtimes/react/components/Element.js.map +1 -1
  239. package/dist/esm/runtimes/react/components/ElementReference.js +3 -1
  240. package/dist/esm/runtimes/react/components/ElementReference.js.map +1 -1
  241. package/dist/esm/runtimes/react/components/ElementRegistration.js +31 -0
  242. package/dist/esm/runtimes/react/components/ElementRegistration.js.map +1 -0
  243. package/dist/esm/runtimes/react/components/LiveProvider.js +9 -7
  244. package/dist/esm/runtimes/react/components/LiveProvider.js.map +1 -1
  245. package/dist/esm/runtimes/react/components/PreviewProvider.js +8 -21
  246. package/dist/esm/runtimes/react/components/PreviewProvider.js.map +1 -1
  247. package/dist/esm/runtimes/react/components/RuntimeProvider.js +23 -5
  248. package/dist/esm/runtimes/react/components/RuntimeProvider.js.map +1 -1
  249. package/dist/esm/runtimes/react/controls/group.js +23 -0
  250. package/dist/esm/runtimes/react/controls/group.js.map +1 -0
  251. package/dist/esm/runtimes/react/hooks/makeswift-api.js +11 -9
  252. package/dist/esm/runtimes/react/hooks/makeswift-api.js.map +1 -1
  253. package/dist/esm/runtimes/react/hooks/use-cache-data.js +11 -0
  254. package/dist/esm/runtimes/react/hooks/use-cache-data.js.map +1 -0
  255. package/dist/esm/runtimes/react/hooks/use-dispatch.js +2 -3
  256. package/dist/esm/runtimes/react/hooks/use-dispatch.js.map +1 -1
  257. package/dist/esm/runtimes/react/hooks/use-document-context.js +22 -0
  258. package/dist/esm/runtimes/react/hooks/use-document-context.js.map +1 -0
  259. package/dist/esm/runtimes/react/hooks/use-element-id.js +1 -1
  260. package/dist/esm/runtimes/react/hooks/use-element-id.js.map +1 -1
  261. package/dist/esm/runtimes/react/hooks/use-react-runtime.js +15 -0
  262. package/dist/esm/runtimes/react/hooks/use-react-runtime.js.map +1 -0
  263. package/dist/esm/runtimes/react/hooks/use-register-document.js +18 -0
  264. package/dist/esm/runtimes/react/hooks/use-register-document.js.map +1 -0
  265. package/dist/esm/runtimes/react/hooks/use-resolved-props.js +1 -1
  266. package/dist/esm/runtimes/react/hooks/use-resolved-props.js.map +1 -1
  267. package/dist/esm/runtimes/react/hooks/use-resource-resolver.js +5 -5
  268. package/dist/esm/runtimes/react/hooks/use-resource-resolver.js.map +1 -1
  269. package/dist/esm/runtimes/react/hooks/use-store.js +6 -3
  270. package/dist/esm/runtimes/react/hooks/use-store.js.map +1 -1
  271. package/dist/esm/runtimes/react/hooks/use-universal-dispatch.js +14 -0
  272. package/dist/esm/runtimes/react/hooks/use-universal-dispatch.js.map +1 -0
  273. package/dist/esm/{next/context/makeswift-host-api-client.js → runtimes/react/host-api-client.js} +1 -1
  274. package/dist/esm/runtimes/react/host-api-client.js.map +1 -0
  275. package/dist/esm/runtimes/react/index.js +5 -5
  276. package/dist/esm/runtimes/react/index.js.map +1 -1
  277. package/dist/esm/runtimes/react/react-runtime.js +0 -24
  278. package/dist/esm/runtimes/react/react-runtime.js.map +1 -1
  279. package/dist/esm/runtimes/react/runtime-core.js +2 -17
  280. package/dist/esm/runtimes/react/runtime-core.js.map +1 -1
  281. package/dist/esm/state/actions.js +29 -14
  282. package/dist/esm/state/actions.js.map +1 -1
  283. package/dist/esm/state/makeswift-api-client.js +103 -18
  284. package/dist/esm/state/makeswift-api-client.js.map +1 -1
  285. package/dist/esm/state/mixins/setup-teardown.js +11 -0
  286. package/dist/esm/state/mixins/setup-teardown.js.map +1 -0
  287. package/dist/esm/state/modules/api-resources.js +66 -25
  288. package/dist/esm/state/modules/api-resources.js.map +1 -1
  289. package/dist/esm/state/modules/element-trees.js +14 -7
  290. package/dist/esm/state/modules/element-trees.js.map +1 -1
  291. package/dist/esm/state/modules/localized-resources-map.js +53 -0
  292. package/dist/esm/state/modules/localized-resources-map.js.map +1 -0
  293. package/dist/esm/state/modules/read-only-documents.js +13 -12
  294. package/dist/esm/state/modules/read-only-documents.js.map +1 -1
  295. package/dist/esm/state/modules/read-write-documents.js +9 -8
  296. package/dist/esm/state/modules/read-write-documents.js.map +1 -1
  297. package/dist/esm/state/react-builder-preview.js +18 -64
  298. package/dist/esm/state/react-builder-preview.js.map +1 -1
  299. package/dist/esm/state/react-page.js +73 -9
  300. package/dist/esm/state/react-page.js.map +1 -1
  301. package/dist/esm/utils/branded.js +1 -0
  302. package/dist/esm/utils/branded.js.map +1 -0
  303. package/dist/esm/utils/canonicalize.js +15 -0
  304. package/dist/esm/utils/canonicalize.js.map +1 -0
  305. package/dist/esm/utils/deterministic-uuid.js +11 -0
  306. package/dist/esm/utils/deterministic-uuid.js.map +1 -0
  307. package/dist/esm/utils/is-server.js +7 -0
  308. package/dist/esm/utils/is-server.js.map +1 -0
  309. package/dist/esm/utils/serializeState.js +18 -0
  310. package/dist/esm/utils/serializeState.js.map +1 -0
  311. package/dist/esm/utils/tests/element-data-test-test.js +10 -9
  312. package/dist/esm/utils/tests/element-data-test-test.js.map +1 -1
  313. package/dist/types/api/{graphql/fragments.d.ts → fragments.d.ts} +1 -1
  314. package/dist/types/api/fragments.d.ts.map +1 -0
  315. package/dist/types/api/index.d.ts +2 -2
  316. package/dist/types/api/index.d.ts.map +1 -1
  317. package/dist/types/api/react.d.ts +28 -22
  318. package/dist/types/api/react.d.ts.map +1 -1
  319. package/dist/types/api/types.d.ts +18 -0
  320. package/dist/types/api/types.d.ts.map +1 -0
  321. package/dist/types/builder/serialization/control-serialization.d.ts.map +1 -1
  322. package/dist/types/components/builtin/Form/Form.d.ts.map +1 -1
  323. package/dist/types/components/builtin/Slot/Slot.d.ts +8 -0
  324. package/dist/types/components/builtin/Slot/Slot.d.ts.map +1 -0
  325. package/dist/types/components/builtin/Slot/index.d.ts +2 -0
  326. package/dist/types/components/builtin/Slot/index.d.ts.map +1 -0
  327. package/dist/types/components/builtin/Slot/register.d.ts +3 -0
  328. package/dist/types/components/builtin/Slot/register.d.ts.map +1 -0
  329. package/dist/types/components/builtin/constants.d.ts +1 -0
  330. package/dist/types/components/builtin/constants.d.ts.map +1 -1
  331. package/dist/types/components/builtin/index.d.ts +1 -0
  332. package/dist/types/components/builtin/index.d.ts.map +1 -1
  333. package/dist/types/components/builtin/register.d.ts.map +1 -1
  334. package/dist/types/components/hooks/usePageSnippets.d.ts +1 -1
  335. package/dist/types/components/hooks/usePageSnippets.d.ts.map +1 -1
  336. package/dist/types/components/page/Page.d.ts +4 -3
  337. package/dist/types/components/page/Page.d.ts.map +1 -1
  338. package/dist/types/components/shared/BackgroundsContainer/index.d.ts.map +1 -1
  339. package/dist/types/controls/index.d.ts +1 -1
  340. package/dist/types/controls/index.d.ts.map +1 -1
  341. package/dist/types/controls/rich-text-v2/rich-text-v2.d.ts +4 -4
  342. package/dist/types/core/index.d.ts +1 -1
  343. package/dist/types/core/index.d.ts.map +1 -1
  344. package/dist/types/index.d.ts +1 -1
  345. package/dist/types/index.d.ts.map +1 -1
  346. package/dist/types/locale.d.ts +1 -1
  347. package/dist/types/next/api-handler/handlers/manifest.d.ts +1 -0
  348. package/dist/types/next/api-handler/handlers/manifest.d.ts.map +1 -1
  349. package/dist/types/next/api-handler/handlers/webhook/index.d.ts +21 -0
  350. package/dist/types/next/api-handler/handlers/webhook/index.d.ts.map +1 -0
  351. package/dist/types/next/api-handler/handlers/webhook/site-published.d.ts +4 -0
  352. package/dist/types/next/api-handler/handlers/webhook/site-published.d.ts.map +1 -0
  353. package/dist/types/next/api-handler/handlers/webhook/types.d.ts +121 -0
  354. package/dist/types/next/api-handler/handlers/webhook/types.d.ts.map +1 -0
  355. package/dist/types/next/api-handler/index.d.ts +4 -3
  356. package/dist/types/next/api-handler/index.d.ts.map +1 -1
  357. package/dist/types/next/client.d.ts +356 -50
  358. package/dist/types/next/client.d.ts.map +1 -1
  359. package/dist/types/next/components/MakeswiftComponent.d.ts +10 -0
  360. package/dist/types/next/components/MakeswiftComponent.d.ts.map +1 -0
  361. package/dist/types/next/components/Slot.d.ts +10 -0
  362. package/dist/types/next/components/Slot.d.ts.map +1 -0
  363. package/dist/types/next/components/SlotProvider.d.ts +12 -0
  364. package/dist/types/next/components/SlotProvider.d.ts.map +1 -0
  365. package/dist/types/next/components/page.d.ts +1 -1
  366. package/dist/types/next/components/page.d.ts.map +1 -1
  367. package/dist/types/next/components/tests/controls/font-control.test.d.ts +2 -0
  368. package/dist/types/next/components/tests/controls/font-control.test.d.ts.map +1 -0
  369. package/dist/types/next/components/tests/controls/group-control.test.d.ts +2 -0
  370. package/dist/types/next/components/tests/controls/group-control.test.d.ts.map +1 -0
  371. package/dist/types/next/components/tests/controls/page-control-prop-rendering.d.ts +3 -2
  372. package/dist/types/next/components/tests/controls/page-control-prop-rendering.d.ts.map +1 -1
  373. package/dist/types/next/components/tests/global-element-rendering.test.d.ts +3 -0
  374. package/dist/types/next/components/tests/global-element-rendering.test.d.ts.map +1 -0
  375. package/dist/types/next/components/tests/makeswift-component-rendering.test.d.ts +3 -0
  376. package/dist/types/next/components/tests/makeswift-component-rendering.test.d.ts.map +1 -0
  377. package/dist/types/next/document.d.ts +5 -1
  378. package/dist/types/next/document.d.ts.map +1 -1
  379. package/dist/types/next/draft-mode/draft-mode-script.d.ts.map +1 -1
  380. package/dist/types/next/index.d.ts +3 -1
  381. package/dist/types/next/index.d.ts.map +1 -1
  382. package/dist/types/next/preview-mode.d.ts.map +1 -1
  383. package/dist/types/next/tests/client.get-component-snapshot.test.d.ts +2 -0
  384. package/dist/types/next/tests/client.get-component-snapshot.test.d.ts.map +1 -0
  385. package/dist/types/react.d.ts +1 -1
  386. package/dist/types/react.d.ts.map +1 -1
  387. package/dist/types/runtimes/react/components/Document.d.ts +1 -1
  388. package/dist/types/runtimes/react/components/Document.d.ts.map +1 -1
  389. package/dist/types/runtimes/react/components/DocumentRoot.d.ts +9 -0
  390. package/dist/types/runtimes/react/components/DocumentRoot.d.ts.map +1 -0
  391. package/dist/types/runtimes/react/components/Element.d.ts +3 -3
  392. package/dist/types/runtimes/react/components/Element.d.ts.map +1 -1
  393. package/dist/types/runtimes/react/components/ElementReference.d.ts.map +1 -1
  394. package/dist/types/runtimes/react/components/ElementRegistration.d.ts +10 -0
  395. package/dist/types/runtimes/react/components/ElementRegistration.d.ts.map +1 -0
  396. package/dist/types/runtimes/react/components/LiveProvider.d.ts +2 -10
  397. package/dist/types/runtimes/react/components/LiveProvider.d.ts.map +1 -1
  398. package/dist/types/runtimes/react/components/PreviewProvider.d.ts +2 -10
  399. package/dist/types/runtimes/react/components/PreviewProvider.d.ts.map +1 -1
  400. package/dist/types/runtimes/react/components/RuntimeProvider.d.ts +7 -11
  401. package/dist/types/runtimes/react/components/RuntimeProvider.d.ts.map +1 -1
  402. package/dist/types/runtimes/react/controls/group.d.ts +11 -0
  403. package/dist/types/runtimes/react/controls/group.d.ts.map +1 -0
  404. package/dist/types/runtimes/react/hooks/makeswift-api.d.ts +2 -3
  405. package/dist/types/runtimes/react/hooks/makeswift-api.d.ts.map +1 -1
  406. package/dist/types/runtimes/react/hooks/use-cache-data.d.ts +3 -0
  407. package/dist/types/runtimes/react/hooks/use-cache-data.d.ts.map +1 -0
  408. package/dist/types/runtimes/react/hooks/use-dispatch.d.ts.map +1 -1
  409. package/dist/types/runtimes/react/hooks/use-document-context.d.ts +11 -0
  410. package/dist/types/runtimes/react/hooks/use-document-context.d.ts.map +1 -0
  411. package/dist/types/runtimes/react/hooks/use-react-runtime.d.ts +5 -0
  412. package/dist/types/runtimes/react/hooks/use-react-runtime.d.ts.map +1 -0
  413. package/dist/types/runtimes/react/hooks/use-register-document.d.ts +6 -0
  414. package/dist/types/runtimes/react/hooks/use-register-document.d.ts.map +1 -0
  415. package/dist/types/runtimes/react/hooks/use-store.d.ts +1 -1
  416. package/dist/types/runtimes/react/hooks/use-store.d.ts.map +1 -1
  417. package/dist/types/runtimes/react/hooks/use-universal-dispatch.d.ts +6 -0
  418. package/dist/types/runtimes/react/hooks/use-universal-dispatch.d.ts.map +1 -0
  419. package/dist/types/{next/context/makeswift-host-api-client.d.ts → runtimes/react/host-api-client.d.ts} +1 -1
  420. package/dist/types/runtimes/react/host-api-client.d.ts.map +1 -0
  421. package/dist/types/runtimes/react/index.d.ts +3 -3
  422. package/dist/types/runtimes/react/index.d.ts.map +1 -1
  423. package/dist/types/runtimes/react/react-runtime.d.ts +0 -9
  424. package/dist/types/runtimes/react/react-runtime.d.ts.map +1 -1
  425. package/dist/types/runtimes/react/runtime-core.d.ts +0 -5
  426. package/dist/types/runtimes/react/runtime-core.d.ts.map +1 -1
  427. package/dist/types/slate/test-helpers/slate-test-helper.d.ts +4 -4
  428. package/dist/types/state/actions.d.ts +45 -13
  429. package/dist/types/state/actions.d.ts.map +1 -1
  430. package/dist/types/state/makeswift-api-client.d.ts +18 -11
  431. package/dist/types/state/makeswift-api-client.d.ts.map +1 -1
  432. package/dist/types/state/mixins/setup-teardown.d.ts +7 -0
  433. package/dist/types/state/mixins/setup-teardown.d.ts.map +1 -0
  434. package/dist/types/state/modules/__tests__/api-resources.test.d.ts +2 -0
  435. package/dist/types/state/modules/__tests__/api-resources.test.d.ts.map +1 -0
  436. package/dist/types/state/modules/__tests__/fixtures/element-trees.d.ts +1 -1
  437. package/dist/types/state/modules/__tests__/localized-resources-map.test.d.ts +2 -0
  438. package/dist/types/state/modules/__tests__/localized-resources-map.test.d.ts.map +1 -0
  439. package/dist/types/state/modules/api-resources.d.ts +8 -5
  440. package/dist/types/state/modules/api-resources.d.ts.map +1 -1
  441. package/dist/types/state/modules/element-trees.d.ts +2 -1
  442. package/dist/types/state/modules/element-trees.d.ts.map +1 -1
  443. package/dist/types/state/modules/localized-resources-map.d.ts +13 -0
  444. package/dist/types/state/modules/localized-resources-map.d.ts.map +1 -0
  445. package/dist/types/state/modules/read-only-documents.d.ts +22 -5
  446. package/dist/types/state/modules/read-only-documents.d.ts.map +1 -1
  447. package/dist/types/state/modules/read-write-documents.d.ts +2 -2
  448. package/dist/types/state/modules/read-write-documents.d.ts.map +1 -1
  449. package/dist/types/state/react-builder-preview.d.ts +5 -11
  450. package/dist/types/state/react-builder-preview.d.ts.map +1 -1
  451. package/dist/types/state/react-page.d.ts +8 -6
  452. package/dist/types/state/react-page.d.ts.map +1 -1
  453. package/dist/types/utils/__tests__/serializeState.test.d.ts +2 -0
  454. package/dist/types/utils/__tests__/serializeState.test.d.ts.map +1 -0
  455. package/dist/types/utils/branded.d.ts +7 -0
  456. package/dist/types/utils/branded.d.ts.map +1 -0
  457. package/dist/types/utils/canonicalize.d.ts +7 -0
  458. package/dist/types/utils/canonicalize.d.ts.map +1 -0
  459. package/dist/types/utils/canonicalize.test.d.ts +2 -0
  460. package/dist/types/utils/canonicalize.test.d.ts.map +1 -0
  461. package/dist/types/utils/deterministic-uuid.d.ts +2 -0
  462. package/dist/types/utils/deterministic-uuid.d.ts.map +1 -0
  463. package/dist/types/utils/is-server.d.ts +2 -0
  464. package/dist/types/utils/is-server.d.ts.map +1 -0
  465. package/dist/types/utils/serializeState.d.ts +3 -0
  466. package/dist/types/utils/serializeState.d.ts.map +1 -0
  467. package/dist/types/utils/tests/element-data-test-test.d.ts +6 -3
  468. package/dist/types/utils/tests/element-data-test-test.d.ts.map +1 -1
  469. package/package.json +5 -4
  470. package/dist/cjs/api/graphql/fragments.js.map +0 -1
  471. package/dist/cjs/api/graphql/types.js.map +0 -1
  472. package/dist/cjs/api/resource-types.js.map +0 -1
  473. package/dist/cjs/next/context/makeswift-host-api-client.js.map +0 -1
  474. package/dist/cjs/next/context/react-runtime.js.map +0 -1
  475. package/dist/cjs/runtimes/react/components/DocumentReference.js.map +0 -1
  476. package/dist/cjs/runtimes/react/hooks/use-document-key.js.map +0 -1
  477. package/dist/esm/api/graphql/fragments.js +0 -6
  478. package/dist/esm/api/graphql/fragments.js.map +0 -1
  479. package/dist/esm/api/graphql/types.js.map +0 -1
  480. package/dist/esm/api/resource-types.js +0 -8
  481. package/dist/esm/api/resource-types.js.map +0 -1
  482. package/dist/esm/next/context/makeswift-host-api-client.js.map +0 -1
  483. package/dist/esm/next/context/react-runtime.js +0 -19
  484. package/dist/esm/next/context/react-runtime.js.map +0 -1
  485. package/dist/esm/runtimes/react/components/DocumentReference.js.map +0 -1
  486. package/dist/esm/runtimes/react/hooks/use-document-key.js +0 -11
  487. package/dist/esm/runtimes/react/hooks/use-document-key.js.map +0 -1
  488. package/dist/types/api/graphql/fragments.d.ts.map +0 -1
  489. package/dist/types/api/graphql/types.d.ts +0 -8
  490. package/dist/types/api/graphql/types.d.ts.map +0 -1
  491. package/dist/types/api/resource-types.d.ts +0 -20
  492. package/dist/types/api/resource-types.d.ts.map +0 -1
  493. package/dist/types/next/context/makeswift-host-api-client.d.ts.map +0 -1
  494. package/dist/types/next/context/react-runtime.d.ts +0 -8
  495. package/dist/types/next/context/react-runtime.d.ts.map +0 -1
  496. package/dist/types/runtimes/react/components/DocumentReference.d.ts +0 -9
  497. package/dist/types/runtimes/react/components/DocumentReference.d.ts.map +0 -1
  498. package/dist/types/runtimes/react/hooks/use-document-key.d.ts +0 -4
  499. package/dist/types/runtimes/react/hooks/use-document-key.d.ts.map +0 -1
@@ -9,9 +9,10 @@ import { default as default8 } from "./Form";
9
9
  import { default as default9 } from "./Image";
10
10
  import { default as default10 } from "./Navigation";
11
11
  import { default as default11 } from "./Root";
12
- import { default as default12 } from "./SocialLinks";
13
- import { default as default13 } from "./Text";
14
- import { default as default14 } from "./Video";
12
+ import { default as default12 } from "./Slot";
13
+ import { default as default13 } from "./SocialLinks";
14
+ import { default as default14 } from "./Text";
15
+ import { default as default15 } from "./Video";
15
16
  import { MakeswiftComponentType } from "./constants";
16
17
  export {
17
18
  default2 as Box,
@@ -25,8 +26,9 @@ export {
25
26
  MakeswiftComponentType,
26
27
  default10 as Navigation,
27
28
  default11 as Root,
28
- default12 as SocialLinks,
29
- default13 as Text,
30
- default14 as Video
29
+ default12 as Slot,
30
+ default13 as SocialLinks,
31
+ default14 as Text,
32
+ default15 as Video
31
33
  };
32
34
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/builtin/index.ts"],"sourcesContent":["export * from './Box'\nexport { default as Box } from './Box'\nexport { default as Button } from './Button'\nexport { default as Carousel } from './Carousel'\nexport { default as Countdown } from './Countdown'\nexport { default as Divider } from './Divider'\nexport { default as Embed } from './Embed'\nexport { default as Form } from './Form'\nexport { default as Image } from './Image'\nexport { default as Navigation } from './Navigation'\nexport { default as Root } from './Root'\nexport { default as SocialLinks } from './SocialLinks'\nexport { default as Text } from './Text'\nexport { default as Video } from './Video'\n\nexport { MakeswiftComponentType } from './constants'\n"],"mappings":"AAAA,cAAc;AACd,SAAoB,WAAXA,gBAAsB;AAC/B,SAAoB,WAAXA,gBAAyB;AAClC,SAAoB,WAAXA,gBAA2B;AACpC,SAAoB,WAAXA,gBAA4B;AACrC,SAAoB,WAAXA,gBAA0B;AACnC,SAAoB,WAAXA,gBAAwB;AACjC,SAAoB,WAAXA,gBAAuB;AAChC,SAAoB,WAAXA,gBAAwB;AACjC,SAAoB,WAAXA,iBAA6B;AACtC,SAAoB,WAAXA,iBAAuB;AAChC,SAAoB,WAAXA,iBAA8B;AACvC,SAAoB,WAAXA,iBAAuB;AAChC,SAAoB,WAAXA,iBAAwB;AAEjC,SAAS,8BAA8B;","names":["default"]}
1
+ {"version":3,"sources":["../../../../src/components/builtin/index.ts"],"sourcesContent":["export * from './Box'\nexport { default as Box } from './Box'\nexport { default as Button } from './Button'\nexport { default as Carousel } from './Carousel'\nexport { default as Countdown } from './Countdown'\nexport { default as Divider } from './Divider'\nexport { default as Embed } from './Embed'\nexport { default as Form } from './Form'\nexport { default as Image } from './Image'\nexport { default as Navigation } from './Navigation'\nexport { default as Root } from './Root'\nexport { default as Slot } from './Slot'\nexport { default as SocialLinks } from './SocialLinks'\nexport { default as Text } from './Text'\nexport { default as Video } from './Video'\n\nexport { MakeswiftComponentType } from './constants'\n"],"mappings":"AAAA,cAAc;AACd,SAAoB,WAAXA,gBAAsB;AAC/B,SAAoB,WAAXA,gBAAyB;AAClC,SAAoB,WAAXA,gBAA2B;AACpC,SAAoB,WAAXA,gBAA4B;AACrC,SAAoB,WAAXA,gBAA0B;AACnC,SAAoB,WAAXA,gBAAwB;AACjC,SAAoB,WAAXA,gBAAuB;AAChC,SAAoB,WAAXA,gBAAwB;AACjC,SAAoB,WAAXA,iBAA6B;AACtC,SAAoB,WAAXA,iBAAuB;AAChC,SAAoB,WAAXA,iBAAuB;AAChC,SAAoB,WAAXA,iBAA8B;AACvC,SAAoB,WAAXA,iBAAuB;AAChC,SAAoB,WAAXA,iBAAwB;AAEjC,SAAS,8BAA8B;","names":["default"]}
@@ -8,6 +8,7 @@ import { registerComponent as registerFormComponent } from "./Form/register";
8
8
  import { registerComponent as registerImageComponent } from "./Image/register";
9
9
  import { registerComponent as registerNavigationComponent } from "./Navigation/register";
10
10
  import { registerComponent as registerRootComponent } from "./Root/register";
11
+ import { registerComponent as registerSlotComponent } from "./Slot/register";
11
12
  import { registerComponent as registerSocialLinksComponent } from "./SocialLinks/register";
12
13
  import { registerComponent as registerTextComponent } from "./Text/register";
13
14
  import { registerComponent as registerVideoComponent } from "./Video/register";
@@ -22,6 +23,7 @@ function registerBuiltinComponents(runtime) {
22
23
  const unregisterImageComponent = registerImageComponent(runtime);
23
24
  const unregisterNavigationComponent = registerNavigationComponent(runtime);
24
25
  const unregisterRootComponent = registerRootComponent(runtime);
26
+ const unregisterSlotComponent = registerSlotComponent(runtime);
25
27
  const unregisterSocialLinksComponent = registerSocialLinksComponent(runtime);
26
28
  const unregisterTextComponent = registerTextComponent(runtime);
27
29
  const unregisterVideoComponent = registerVideoComponent(runtime);
@@ -36,6 +38,7 @@ function registerBuiltinComponents(runtime) {
36
38
  unregisterImageComponent();
37
39
  unregisterNavigationComponent();
38
40
  unregisterRootComponent();
41
+ unregisterSlotComponent();
39
42
  unregisterSocialLinksComponent();
40
43
  unregisterTextComponent();
41
44
  unregisterVideoComponent();
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/builtin/register.ts"],"sourcesContent":["import { type ReactRuntime } from '../../runtimes/react'\nimport { registerComponent as registerBoxComponent } from './Box/register'\nimport { registerComponent as registerButtonComponent } from './Button/register'\nimport { registerComponent as registerCarouselComponent } from './Carousel/register'\nimport { registerComponent as registerCountdownComponent } from './Countdown/register'\nimport { registerComponent as registerDividerComponent } from './Divider/register'\nimport { registerComponent as registerEmbedComponent } from './Embed/register'\nimport { registerComponent as registerFormComponent } from './Form/register'\nimport { registerComponent as registerImageComponent } from './Image/register'\nimport { registerComponent as registerNavigationComponent } from './Navigation/register'\nimport { registerComponent as registerRootComponent } from './Root/register'\nimport { registerComponent as registerSocialLinksComponent } from './SocialLinks/register'\nimport { registerComponent as registerTextComponent } from './Text/register'\nimport { registerComponent as registerVideoComponent } from './Video/register'\n\nexport function registerBuiltinComponents(runtime: ReactRuntime) {\n const unregisterBoxComponent = registerBoxComponent(runtime)\n const unregisterButtonComponent = registerButtonComponent(runtime)\n const unregisterCarouselComponent = registerCarouselComponent(runtime)\n const unregisterCountdownComponent = registerCountdownComponent(runtime)\n const unregisterDividerComponent = registerDividerComponent(runtime)\n const unregisterEmbedComponent = registerEmbedComponent(runtime)\n const unregisterFormComponent = registerFormComponent(runtime)\n const unregisterImageComponent = registerImageComponent(runtime)\n const unregisterNavigationComponent = registerNavigationComponent(runtime)\n const unregisterRootComponent = registerRootComponent(runtime)\n const unregisterSocialLinksComponent = registerSocialLinksComponent(runtime)\n const unregisterTextComponent = registerTextComponent(runtime)\n const unregisterVideoComponent = registerVideoComponent(runtime)\n\n return () => {\n unregisterBoxComponent()\n unregisterButtonComponent()\n unregisterCarouselComponent()\n unregisterCountdownComponent()\n unregisterDividerComponent()\n unregisterEmbedComponent()\n unregisterFormComponent()\n unregisterImageComponent()\n unregisterNavigationComponent()\n unregisterRootComponent()\n unregisterSocialLinksComponent()\n unregisterTextComponent()\n unregisterVideoComponent()\n }\n}\n"],"mappings":"AACA,SAAS,qBAAqB,4BAA4B;AAC1D,SAAS,qBAAqB,+BAA+B;AAC7D,SAAS,qBAAqB,iCAAiC;AAC/D,SAAS,qBAAqB,kCAAkC;AAChE,SAAS,qBAAqB,gCAAgC;AAC9D,SAAS,qBAAqB,8BAA8B;AAC5D,SAAS,qBAAqB,6BAA6B;AAC3D,SAAS,qBAAqB,8BAA8B;AAC5D,SAAS,qBAAqB,mCAAmC;AACjE,SAAS,qBAAqB,6BAA6B;AAC3D,SAAS,qBAAqB,oCAAoC;AAClE,SAAS,qBAAqB,6BAA6B;AAC3D,SAAS,qBAAqB,8BAA8B;AAErD,SAAS,0BAA0B,SAAuB;AAC/D,QAAM,yBAAyB,qBAAqB,OAAO;AAC3D,QAAM,4BAA4B,wBAAwB,OAAO;AACjE,QAAM,8BAA8B,0BAA0B,OAAO;AACrE,QAAM,+BAA+B,2BAA2B,OAAO;AACvE,QAAM,6BAA6B,yBAAyB,OAAO;AACnE,QAAM,2BAA2B,uBAAuB,OAAO;AAC/D,QAAM,0BAA0B,sBAAsB,OAAO;AAC7D,QAAM,2BAA2B,uBAAuB,OAAO;AAC/D,QAAM,gCAAgC,4BAA4B,OAAO;AACzE,QAAM,0BAA0B,sBAAsB,OAAO;AAC7D,QAAM,iCAAiC,6BAA6B,OAAO;AAC3E,QAAM,0BAA0B,sBAAsB,OAAO;AAC7D,QAAM,2BAA2B,uBAAuB,OAAO;AAE/D,SAAO,MAAM;AACX,2BAAuB;AACvB,8BAA0B;AAC1B,gCAA4B;AAC5B,iCAA6B;AAC7B,+BAA2B;AAC3B,6BAAyB;AACzB,4BAAwB;AACxB,6BAAyB;AACzB,kCAA8B;AAC9B,4BAAwB;AACxB,mCAA+B;AAC/B,4BAAwB;AACxB,6BAAyB;AAAA,EAC3B;AACF;","names":[]}
1
+ {"version":3,"sources":["../../../../src/components/builtin/register.ts"],"sourcesContent":["import { type ReactRuntime } from '../../runtimes/react'\nimport { registerComponent as registerBoxComponent } from './Box/register'\nimport { registerComponent as registerButtonComponent } from './Button/register'\nimport { registerComponent as registerCarouselComponent } from './Carousel/register'\nimport { registerComponent as registerCountdownComponent } from './Countdown/register'\nimport { registerComponent as registerDividerComponent } from './Divider/register'\nimport { registerComponent as registerEmbedComponent } from './Embed/register'\nimport { registerComponent as registerFormComponent } from './Form/register'\nimport { registerComponent as registerImageComponent } from './Image/register'\nimport { registerComponent as registerNavigationComponent } from './Navigation/register'\nimport { registerComponent as registerRootComponent } from './Root/register'\nimport { registerComponent as registerSlotComponent } from './Slot/register'\nimport { registerComponent as registerSocialLinksComponent } from './SocialLinks/register'\nimport { registerComponent as registerTextComponent } from './Text/register'\nimport { registerComponent as registerVideoComponent } from './Video/register'\n\nexport function registerBuiltinComponents(runtime: ReactRuntime) {\n const unregisterBoxComponent = registerBoxComponent(runtime)\n const unregisterButtonComponent = registerButtonComponent(runtime)\n const unregisterCarouselComponent = registerCarouselComponent(runtime)\n const unregisterCountdownComponent = registerCountdownComponent(runtime)\n const unregisterDividerComponent = registerDividerComponent(runtime)\n const unregisterEmbedComponent = registerEmbedComponent(runtime)\n const unregisterFormComponent = registerFormComponent(runtime)\n const unregisterImageComponent = registerImageComponent(runtime)\n const unregisterNavigationComponent = registerNavigationComponent(runtime)\n const unregisterRootComponent = registerRootComponent(runtime)\n const unregisterSlotComponent = registerSlotComponent(runtime)\n const unregisterSocialLinksComponent = registerSocialLinksComponent(runtime)\n const unregisterTextComponent = registerTextComponent(runtime)\n const unregisterVideoComponent = registerVideoComponent(runtime)\n\n return () => {\n unregisterBoxComponent()\n unregisterButtonComponent()\n unregisterCarouselComponent()\n unregisterCountdownComponent()\n unregisterDividerComponent()\n unregisterEmbedComponent()\n unregisterFormComponent()\n unregisterImageComponent()\n unregisterNavigationComponent()\n unregisterRootComponent()\n unregisterSlotComponent()\n unregisterSocialLinksComponent()\n unregisterTextComponent()\n unregisterVideoComponent()\n }\n}\n"],"mappings":"AACA,SAAS,qBAAqB,4BAA4B;AAC1D,SAAS,qBAAqB,+BAA+B;AAC7D,SAAS,qBAAqB,iCAAiC;AAC/D,SAAS,qBAAqB,kCAAkC;AAChE,SAAS,qBAAqB,gCAAgC;AAC9D,SAAS,qBAAqB,8BAA8B;AAC5D,SAAS,qBAAqB,6BAA6B;AAC3D,SAAS,qBAAqB,8BAA8B;AAC5D,SAAS,qBAAqB,mCAAmC;AACjE,SAAS,qBAAqB,6BAA6B;AAC3D,SAAS,qBAAqB,6BAA6B;AAC3D,SAAS,qBAAqB,oCAAoC;AAClE,SAAS,qBAAqB,6BAA6B;AAC3D,SAAS,qBAAqB,8BAA8B;AAErD,SAAS,0BAA0B,SAAuB;AAC/D,QAAM,yBAAyB,qBAAqB,OAAO;AAC3D,QAAM,4BAA4B,wBAAwB,OAAO;AACjE,QAAM,8BAA8B,0BAA0B,OAAO;AACrE,QAAM,+BAA+B,2BAA2B,OAAO;AACvE,QAAM,6BAA6B,yBAAyB,OAAO;AACnE,QAAM,2BAA2B,uBAAuB,OAAO;AAC/D,QAAM,0BAA0B,sBAAsB,OAAO;AAC7D,QAAM,2BAA2B,uBAAuB,OAAO;AAC/D,QAAM,gCAAgC,4BAA4B,OAAO;AACzE,QAAM,0BAA0B,sBAAsB,OAAO;AAC7D,QAAM,0BAA0B,sBAAsB,OAAO;AAC7D,QAAM,iCAAiC,6BAA6B,OAAO;AAC3E,QAAM,0BAA0B,sBAAsB,OAAO;AAC7D,QAAM,2BAA2B,uBAAuB,OAAO;AAE/D,SAAO,MAAM;AACX,2BAAuB;AACvB,8BAA0B;AAC1B,gCAA4B;AAC5B,iCAA6B;AAC7B,+BAA2B;AAC3B,6BAAyB;AACzB,4BAAwB;AACxB,6BAAyB;AACzB,kCAA8B;AAC9B,4BAAwB;AACxB,4BAAwB;AACxB,mCAA+B;AAC/B,4BAAwB;AACxB,6BAAyB;AAAA,EAC3B;AACF;","names":[]}
@@ -1,7 +1,7 @@
1
1
  import { useEffect, useMemo, useState } from "react";
2
2
  import { useIsInBuilder } from "../../react";
3
3
  import deepEqual from "../../utils/deepEqual";
4
- import { useMakeswiftHostApiClient } from "../../next/context/makeswift-host-api-client";
4
+ import { useMakeswiftHostApiClient } from "../../runtimes/react/host-api-client";
5
5
  import { useSyncExternalStore } from "use-sync-external-store/shim";
6
6
  const SnippetLocation = {
7
7
  Body: "BODY",
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/hooks/usePageSnippets.ts"],"sourcesContent":["import { useEffect, useMemo, useState } from 'react'\nimport { useIsInBuilder } from '../../react'\nimport { MakeswiftPageDocument } from '../../next'\nimport deepEqual from '../../utils/deepEqual'\nimport { useMakeswiftHostApiClient } from '../../next/context/makeswift-host-api-client'\nimport { useSyncExternalStore } from 'use-sync-external-store/shim'\nimport { Page as PageType } from '../../api'\n\nconst SnippetLocation = {\n Body: 'BODY',\n Head: 'HEAD',\n} as const\n\nexport type SnippetLocation = typeof SnippetLocation[keyof typeof SnippetLocation]\n\nexport type Snippet = {\n builderEnabled: boolean\n cleanup: string | null\n code: string\n id: string\n liveEnabled: boolean\n location: SnippetLocation\n}\n\nconst filterUsedSnippetProperties = ({\n code,\n builderEnabled,\n liveEnabled,\n location,\n cleanup,\n}: Snippet) => ({\n code,\n builderEnabled,\n liveEnabled,\n location,\n cleanup,\n})\n\nexport function usePageSnippets({ page }: { page: MakeswiftPageDocument }) {\n const isInBuilder = useIsInBuilder()\n const [snippets, setSnippets] = useState(page.snippets)\n\n // We're using cached results here for page snippets so that anytime the user\n // changes the snippets or fonts on the builder, the change would be reflected\n // here. See this PR for discussions and things we can do to improve it in the\n // future: https://github.com/makeswift/makeswift/pull/77\n const cachedPage = useCachedPage(isInBuilder ? page.id : null)\n useEffect(() => {\n if (cachedPage == null) return\n\n const oldSnippets = snippets.map(filterUsedSnippetProperties)\n const newSnippets = cachedPage.snippets.map(filterUsedSnippetProperties)\n\n if (deepEqual(newSnippets, oldSnippets)) return\n\n setSnippets(cachedPage.snippets)\n }, [cachedPage])\n\n const filteredSnippets = useMemo(\n () => snippets.filter(snippet => (isInBuilder ? snippet.builderEnabled : snippet.liveEnabled)),\n [snippets, isInBuilder],\n )\n\n const headSnippets = useMemo(\n () => filteredSnippets.filter(snippet => snippet.location === SnippetLocation.Head),\n [filteredSnippets],\n )\n\n const bodySnippets = useMemo(\n () => filteredSnippets.filter(snippet => snippet.location === SnippetLocation.Body),\n [filteredSnippets],\n )\n\n return { headSnippets, bodySnippets }\n}\n\nfunction useCachedPage(pageId: string | null): PageType | null {\n const client = useMakeswiftHostApiClient()\n const getSnapshot = () => (pageId == null ? null : client.readPage(pageId))\n\n const page = useSyncExternalStore(client.subscribe, getSnapshot, getSnapshot)\n\n return page\n}\n"],"mappings":"AAAA,SAAS,WAAW,SAAS,gBAAgB;AAC7C,SAAS,sBAAsB;AAE/B,OAAO,eAAe;AACtB,SAAS,iCAAiC;AAC1C,SAAS,4BAA4B;AAGrC,MAAM,kBAAkB;AAAA,EACtB,MAAM;AAAA,EACN,MAAM;AACR;AAaA,MAAM,8BAA8B,CAAC;AAAA,EACnC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,OAAgB;AAAA,EACd;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AAEO,SAAS,gBAAgB,EAAE,KAAK,GAAoC;AACzE,QAAM,cAAc,eAAe;AACnC,QAAM,CAAC,UAAU,WAAW,IAAI,SAAS,KAAK,QAAQ;AAMtD,QAAM,aAAa,cAAc,cAAc,KAAK,KAAK,IAAI;AAC7D,YAAU,MAAM;AACd,QAAI,cAAc;AAAM;AAExB,UAAM,cAAc,SAAS,IAAI,2BAA2B;AAC5D,UAAM,cAAc,WAAW,SAAS,IAAI,2BAA2B;AAEvE,QAAI,UAAU,aAAa,WAAW;AAAG;AAEzC,gBAAY,WAAW,QAAQ;AAAA,EACjC,GAAG,CAAC,UAAU,CAAC;AAEf,QAAM,mBAAmB;AAAA,IACvB,MAAM,SAAS,OAAO,aAAY,cAAc,QAAQ,iBAAiB,QAAQ,WAAY;AAAA,IAC7F,CAAC,UAAU,WAAW;AAAA,EACxB;AAEA,QAAM,eAAe;AAAA,IACnB,MAAM,iBAAiB,OAAO,aAAW,QAAQ,aAAa,gBAAgB,IAAI;AAAA,IAClF,CAAC,gBAAgB;AAAA,EACnB;AAEA,QAAM,eAAe;AAAA,IACnB,MAAM,iBAAiB,OAAO,aAAW,QAAQ,aAAa,gBAAgB,IAAI;AAAA,IAClF,CAAC,gBAAgB;AAAA,EACnB;AAEA,SAAO,EAAE,cAAc,aAAa;AACtC;AAEA,SAAS,cAAc,QAAwC;AAC7D,QAAM,SAAS,0BAA0B;AACzC,QAAM,cAAc,MAAO,UAAU,OAAO,OAAO,OAAO,SAAS,MAAM;AAEzE,QAAM,OAAO,qBAAqB,OAAO,WAAW,aAAa,WAAW;AAE5E,SAAO;AACT;","names":[]}
1
+ {"version":3,"sources":["../../../../src/components/hooks/usePageSnippets.ts"],"sourcesContent":["import { useEffect, useMemo, useState } from 'react'\nimport { useIsInBuilder } from '../../react'\nimport { MakeswiftPageDocument } from '../../next'\nimport deepEqual from '../../utils/deepEqual'\nimport { useMakeswiftHostApiClient } from '../../runtimes/react/host-api-client'\nimport { useSyncExternalStore } from 'use-sync-external-store/shim'\nimport { Page as PageType } from '../../api'\n\nconst SnippetLocation = {\n Body: 'BODY',\n Head: 'HEAD',\n} as const\n\nexport type SnippetLocation = (typeof SnippetLocation)[keyof typeof SnippetLocation]\n\nexport type Snippet = {\n builderEnabled: boolean\n cleanup: string | null\n code: string\n id: string\n liveEnabled: boolean\n location: SnippetLocation\n}\n\nconst filterUsedSnippetProperties = ({\n code,\n builderEnabled,\n liveEnabled,\n location,\n cleanup,\n}: Snippet) => ({\n code,\n builderEnabled,\n liveEnabled,\n location,\n cleanup,\n})\n\nexport function usePageSnippets({ page }: { page: MakeswiftPageDocument }) {\n const isInBuilder = useIsInBuilder()\n const [snippets, setSnippets] = useState(page.snippets)\n\n // We're using cached results here for page snippets so that anytime the user\n // changes the snippets or fonts on the builder, the change would be reflected\n // here. See this PR for discussions and things we can do to improve it in the\n // future: https://github.com/makeswift/makeswift/pull/77\n const cachedPage = useCachedPage(isInBuilder ? page.id : null)\n useEffect(() => {\n if (cachedPage == null) return\n\n const oldSnippets = snippets.map(filterUsedSnippetProperties)\n const newSnippets = cachedPage.snippets.map(filterUsedSnippetProperties)\n\n if (deepEqual(newSnippets, oldSnippets)) return\n\n setSnippets(cachedPage.snippets)\n }, [cachedPage])\n\n const filteredSnippets = useMemo(\n () => snippets.filter(snippet => (isInBuilder ? snippet.builderEnabled : snippet.liveEnabled)),\n [snippets, isInBuilder],\n )\n\n const headSnippets = useMemo(\n () => filteredSnippets.filter(snippet => snippet.location === SnippetLocation.Head),\n [filteredSnippets],\n )\n\n const bodySnippets = useMemo(\n () => filteredSnippets.filter(snippet => snippet.location === SnippetLocation.Body),\n [filteredSnippets],\n )\n\n return { headSnippets, bodySnippets }\n}\n\nfunction useCachedPage(pageId: string | null): PageType | null {\n const client = useMakeswiftHostApiClient()\n const getSnapshot = () => (pageId == null ? null : client.readPage(pageId))\n\n const page = useSyncExternalStore(client.subscribe, getSnapshot, getSnapshot)\n\n return page\n}\n"],"mappings":"AAAA,SAAS,WAAW,SAAS,gBAAgB;AAC7C,SAAS,sBAAsB;AAE/B,OAAO,eAAe;AACtB,SAAS,iCAAiC;AAC1C,SAAS,4BAA4B;AAGrC,MAAM,kBAAkB;AAAA,EACtB,MAAM;AAAA,EACN,MAAM;AACR;AAaA,MAAM,8BAA8B,CAAC;AAAA,EACnC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,OAAgB;AAAA,EACd;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AAEO,SAAS,gBAAgB,EAAE,KAAK,GAAoC;AACzE,QAAM,cAAc,eAAe;AACnC,QAAM,CAAC,UAAU,WAAW,IAAI,SAAS,KAAK,QAAQ;AAMtD,QAAM,aAAa,cAAc,cAAc,KAAK,KAAK,IAAI;AAC7D,YAAU,MAAM;AACd,QAAI,cAAc;AAAM;AAExB,UAAM,cAAc,SAAS,IAAI,2BAA2B;AAC5D,UAAM,cAAc,WAAW,SAAS,IAAI,2BAA2B;AAEvE,QAAI,UAAU,aAAa,WAAW;AAAG;AAEzC,gBAAY,WAAW,QAAQ;AAAA,EACjC,GAAG,CAAC,UAAU,CAAC;AAEf,QAAM,mBAAmB;AAAA,IACvB,MAAM,SAAS,OAAO,aAAY,cAAc,QAAQ,iBAAiB,QAAQ,WAAY;AAAA,IAC7F,CAAC,UAAU,WAAW;AAAA,EACxB;AAEA,QAAM,eAAe;AAAA,IACnB,MAAM,iBAAiB,OAAO,aAAW,QAAQ,aAAa,gBAAgB,IAAI;AAAA,IAClF,CAAC,gBAAgB;AAAA,EACnB;AAEA,QAAM,eAAe;AAAA,IACnB,MAAM,iBAAiB,OAAO,aAAW,QAAQ,aAAa,gBAAgB,IAAI;AAAA,IAClF,CAAC,gBAAgB;AAAA,EACnB;AAEA,SAAO,EAAE,cAAc,aAAa;AACtC;AAEA,SAAS,cAAc,QAAwC;AAC7D,QAAM,SAAS,0BAA0B;AACzC,QAAM,cAAc,MAAO,UAAU,OAAO,OAAO,OAAO,SAAS,MAAM;AAEzE,QAAM,OAAO,qBAAqB,OAAO,WAAW,aAAa,WAAW;AAE5E,SAAO;AACT;","names":[]}
@@ -1,17 +1,16 @@
1
1
  "use client";
2
2
  import { Fragment, jsx, jsxs } from "react/jsx-runtime";
3
3
  import { BodySnippet } from "./BodySnippet";
4
- import { DocumentReference } from "../../runtimes/react";
5
- import { createDocumentReference } from "../../state/react-page";
4
+ import { DocumentRoot } from "../../runtimes/react";
6
5
  import { useRouterLocaleSync } from "../hooks/useRouterLocaleSync";
7
6
  import { usePageSnippets } from "../hooks/usePageSnippets";
8
7
  import { PageHead } from "./PageHead";
9
- function Page({ pageDocument: page, documentKey }) {
8
+ function Page({ page, rootDocument }) {
10
9
  const { bodySnippets } = usePageSnippets({ page });
11
10
  useRouterLocaleSync();
12
11
  return /* @__PURE__ */ jsxs(Fragment, { children: [
13
12
  /* @__PURE__ */ jsx(PageHead, { document: page }),
14
- /* @__PURE__ */ jsx(DocumentReference, { documentReference: createDocumentReference(documentKey) }),
13
+ /* @__PURE__ */ jsx(DocumentRoot, { rootDocument }),
15
14
  bodySnippets.map((snippet) => /* @__PURE__ */ jsx(BodySnippet, { code: snippet.code, cleanup: snippet.cleanup }, snippet.id))
16
15
  ] });
17
16
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/page/Page.tsx"],"sourcesContent":["'use client'\n\nimport { BodySnippet } from './BodySnippet'\nimport { DocumentReference } from '../../runtimes/react'\nimport { createDocumentReference } from '../../state/react-page'\nimport { MakeswiftPageDocument } from '../../next'\nimport { useRouterLocaleSync } from '../hooks/useRouterLocaleSync'\nimport { usePageSnippets } from '../hooks/usePageSnippets'\nimport { PageHead } from './PageHead'\n\ntype Props = {\n pageDocument: MakeswiftPageDocument\n documentKey: string\n}\n\nexport function Page({ pageDocument: page, documentKey }: Props): JSX.Element {\n const { bodySnippets } = usePageSnippets({ page })\n\n useRouterLocaleSync()\n\n return (\n <>\n <PageHead document={page} />\n\n <DocumentReference documentReference={createDocumentReference(documentKey)} />\n\n {bodySnippets.map(snippet => (\n <BodySnippet key={snippet.id} code={snippet.code} cleanup={snippet.cleanup} />\n ))}\n </>\n )\n}\n"],"mappings":";AAqBI,mBACE,KADF;AAnBJ,SAAS,mBAAmB;AAC5B,SAAS,yBAAyB;AAClC,SAAS,+BAA+B;AAExC,SAAS,2BAA2B;AACpC,SAAS,uBAAuB;AAChC,SAAS,gBAAgB;AAOlB,SAAS,KAAK,EAAE,cAAc,MAAM,YAAY,GAAuB;AAC5E,QAAM,EAAE,aAAa,IAAI,gBAAgB,EAAE,KAAK,CAAC;AAEjD,sBAAoB;AAEpB,SACE,iCACE;AAAA,wBAAC,YAAS,UAAU,MAAM;AAAA,IAE1B,oBAAC,qBAAkB,mBAAmB,wBAAwB,WAAW,GAAG;AAAA,IAE3E,aAAa,IAAI,aAChB,oBAAC,eAA6B,MAAM,QAAQ,MAAM,SAAS,QAAQ,WAAjD,QAAQ,EAAkD,CAC7E;AAAA,KACH;AAEJ;","names":[]}
1
+ {"version":3,"sources":["../../../../src/components/page/Page.tsx"],"sourcesContent":["'use client'\n\nimport { BodySnippet } from './BodySnippet'\nimport { DocumentRoot } from '../../runtimes/react'\nimport { type Document } from '../../state/react-page'\nimport { MakeswiftPageDocument } from '../../next'\nimport { useRouterLocaleSync } from '../hooks/useRouterLocaleSync'\nimport { usePageSnippets } from '../hooks/usePageSnippets'\nimport { PageHead } from './PageHead'\n\ntype Props = {\n page: MakeswiftPageDocument\n rootDocument: Document\n}\n\nexport function Page({ page, rootDocument }: Props): JSX.Element {\n const { bodySnippets } = usePageSnippets({ page })\n\n useRouterLocaleSync()\n\n return (\n <>\n <PageHead document={page} />\n\n <DocumentRoot rootDocument={rootDocument} />\n\n {bodySnippets.map(snippet => (\n <BodySnippet key={snippet.id} code={snippet.code} cleanup={snippet.cleanup} />\n ))}\n </>\n )\n}\n"],"mappings":";AAqBI,mBACE,KADF;AAnBJ,SAAS,mBAAmB;AAC5B,SAAS,oBAAoB;AAG7B,SAAS,2BAA2B;AACpC,SAAS,uBAAuB;AAChC,SAAS,gBAAgB;AAOlB,SAAS,KAAK,EAAE,MAAM,aAAa,GAAuB;AAC/D,QAAM,EAAE,aAAa,IAAI,gBAAgB,EAAE,KAAK,CAAC;AAEjD,sBAAoB;AAEpB,SACE,iCACE;AAAA,wBAAC,YAAS,UAAU,MAAM;AAAA,IAE1B,oBAAC,gBAAa,cAA4B;AAAA,IAEzC,aAAa,IAAI,aAChB,oBAAC,eAA6B,MAAM,QAAQ,MAAM,SAAS,QAAQ,WAAjD,QAAQ,EAAkD,CAC7E;AAAA,KACH;AAEJ;","names":[]}
@@ -3,7 +3,7 @@ import { Fragment, jsx, jsxs } from "react/jsx-runtime";
3
3
  import { useMemo } from "react";
4
4
  import { usePageSnippets } from "../hooks/usePageSnippets";
5
5
  import { useIsInBuilder } from "../../react";
6
- import { useMakeswiftHostApiClient } from "../../next/context/makeswift-host-api-client";
6
+ import { useMakeswiftHostApiClient } from "../../runtimes/react/host-api-client";
7
7
  import { useSyncExternalStore } from "use-sync-external-store/shim";
8
8
  import { PageTitle, PageMeta, PageLink, PageStyle } from "../../next/components/head-tags";
9
9
  import { HeadSnippet } from "./HeadSnippet";
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/page/PageHead.tsx"],"sourcesContent":["'use client'\n\nimport { useMemo } from 'react'\nimport { MakeswiftPageDocument } from '../../next'\nimport { usePageSnippets } from '../hooks/usePageSnippets'\nimport { useIsInBuilder } from '../../react'\nimport { useMakeswiftHostApiClient } from '../../next/context/makeswift-host-api-client'\nimport { useSyncExternalStore } from 'use-sync-external-store/shim'\nimport { Site } from '../../api'\nimport { PageTitle, PageMeta, PageLink, PageStyle } from '../../next/components/head-tags'\nimport { HeadSnippet } from './HeadSnippet'\n\nconst defaultFavicon = {\n id: 'default-favicon',\n mimetype: 'image/png',\n publicUrl:\n 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACIAAAAiCAYAAAA6RwvCAAAACXBIWXMAABcRAAAXEQHKJvM/AAABjElEQVRYhc2XzU3EMBCFB8TddAAXn6EE6GCpgNABZ1/IXnymBOgAOmA7YM8+ABVsXEHQQFaKQryeN3Yk3ilKJtEnv/nLUd/3pFG0riGi88yrnQn+UfJ5FUi0riWiB2H4nQn+KRd0DFP8agXEfkqCYJBoHdtxIQxfm+DfFgEhoith3NYE30o/qgGR2BJB+xY7kdYEL8oNFUi0jiFMJuxVWrJqEMFxsyUNCsE6AeNztvBp7aJ143vXksoRnwhYtmNdSoIQa6RlO9YXEWW7KgoCleOgxgTf1QZBT+RZ2lXFING6UxCCq+ceeUE8fYdknY599v9sJvzGBP+yCEgC7GPmETc0OJ+0awAlkhe2pAbIXAeFZ8xe2g2Nk3c3ub0xwWt6zY9qbmiqGVMbZK21ZC/YmhlbeBMTzZNDQqcvDb1kM1x32iqZSt1HaqukfKvq34BAOTLsrH+ETNmUkKHHA+428RgeclPVWozeSyAI2EdWB34jtqXNTAySOY3i/KgFIlqOa4GkFmBegorzg4joG07he/M7zl6jAAAAAElFTkSuQmCC',\n}\n\ntype Props = {\n document: MakeswiftPageDocument\n}\n\nexport function PageHead({ document: page }: Props): JSX.Element {\n const { headSnippets } = usePageSnippets({ page })\n\n const isInBuilder = useIsInBuilder()\n\n const site = useCachedSite(isInBuilder ? page.site.id : null)\n const baseLocalizedPage = page.localizedPages.find(({ parentId }) => parentId == null)\n\n const favicon = page.meta.favicon ?? defaultFavicon\n const title = baseLocalizedPage?.meta.title ?? page.meta.title\n const description = baseLocalizedPage?.meta.description ?? page.meta.description\n const keywords = baseLocalizedPage?.meta.keywords ?? page.meta.keywords\n const socialImage = baseLocalizedPage?.meta.socialImage ?? page.meta.socialImage\n const canonicalUrl = baseLocalizedPage?.seo.canonicalUrl ?? page.seo.canonicalUrl\n const isIndexingBlocked = baseLocalizedPage?.seo.isIndexingBlocked ?? page.seo.isIndexingBlocked\n\n const fontFamilyParamValue = useMemo(() => {\n if (site == null) {\n return page.fonts\n .map(({ family, variants }) => {\n return `${family.replace(/ /g, '+')}:${variants.join()}`\n })\n .join('|')\n }\n\n return site.googleFonts.edges\n .filter((edge): edge is NonNullable<typeof edge> => edge != null)\n .map(({ activeVariants, node: { family, variants } }) => {\n const activeVariantSpecifiers = variants\n .filter(variant =>\n activeVariants.some(activeVariant => activeVariant.specifier === variant.specifier),\n )\n .map(variant => variant.specifier)\n .join()\n\n return `${family.replace(/ /g, '+')}:${activeVariantSpecifiers}`\n })\n .join('|')\n }, [site, page])\n\n return (\n <>\n <PageStyle precedence=\"high\" href=\"makeswift-base-styles\">\n {`\n html {\n font-family: sans-serif;\n }\n div#__next {\n overflow: hidden;\n }\n `}\n </PageStyle>\n {title && <PageTitle>{title}</PageTitle>}\n {favicon && <PageLink rel=\"icon\" type={favicon.mimetype} href={favicon.publicUrl} />}\n {canonicalUrl && <PageLink rel=\"canonical\" href={canonicalUrl} />}\n {isIndexingBlocked && <PageMeta name=\"robots\" content=\"noindex\" />}\n {description && (\n <>\n <PageMeta name=\"description\" content={description} />\n <PageMeta property=\"og:description\" content={description} />\n <PageMeta name=\"twitter:description\" content={description} />\n </>\n )}\n {keywords && <PageMeta name=\"keywords\" content={keywords} />}\n {socialImage && (\n <>\n <PageMeta property=\"og:image\" content={socialImage.publicUrl} />\n <PageMeta property=\"og:image:type\" content={socialImage.mimetype} />\n <PageMeta name=\"twitter:image\" content={socialImage.publicUrl} />\n <PageMeta name=\"twitter:card\" content=\"summary_large_image\" />\n </>\n )}\n {fontFamilyParamValue !== '' && (\n <PageLink\n precedence=\"medium\"\n rel=\"stylesheet\"\n href={`https://fonts.googleapis.com/css?family=${fontFamilyParamValue}&display=swap`}\n />\n )}\n {headSnippets.map(snippet => (\n <HeadSnippet key={snippet.id} snippet={snippet} />\n ))}\n </>\n )\n}\n\nfunction useCachedSite(siteId: string | null): Site | null {\n const client = useMakeswiftHostApiClient()\n const getSnapshot = () => (siteId == null ? null : client.readSite(siteId))\n\n const site = useSyncExternalStore(client.subscribe, getSnapshot, getSnapshot)\n\n return site\n}\n"],"mappings":"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","names":[]}
1
+ {"version":3,"sources":["../../../../src/components/page/PageHead.tsx"],"sourcesContent":["'use client'\n\nimport { useMemo } from 'react'\nimport { MakeswiftPageDocument } from '../../next'\nimport { usePageSnippets } from '../hooks/usePageSnippets'\nimport { useIsInBuilder } from '../../react'\nimport { useMakeswiftHostApiClient } from '../../runtimes/react/host-api-client'\nimport { useSyncExternalStore } from 'use-sync-external-store/shim'\nimport { Site } from '../../api'\nimport { PageTitle, PageMeta, PageLink, PageStyle } from '../../next/components/head-tags'\nimport { HeadSnippet } from './HeadSnippet'\n\nconst defaultFavicon = {\n id: 'default-favicon',\n mimetype: 'image/png',\n publicUrl:\n 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACIAAAAiCAYAAAA6RwvCAAAACXBIWXMAABcRAAAXEQHKJvM/AAABjElEQVRYhc2XzU3EMBCFB8TddAAXn6EE6GCpgNABZ1/IXnymBOgAOmA7YM8+ABVsXEHQQFaKQryeN3Yk3ilKJtEnv/nLUd/3pFG0riGi88yrnQn+UfJ5FUi0riWiB2H4nQn+KRd0DFP8agXEfkqCYJBoHdtxIQxfm+DfFgEhoith3NYE30o/qgGR2BJB+xY7kdYEL8oNFUi0jiFMJuxVWrJqEMFxsyUNCsE6AeNztvBp7aJ143vXksoRnwhYtmNdSoIQa6RlO9YXEWW7KgoCleOgxgTf1QZBT+RZ2lXFING6UxCCq+ceeUE8fYdknY599v9sJvzGBP+yCEgC7GPmETc0OJ+0awAlkhe2pAbIXAeFZ8xe2g2Nk3c3ub0xwWt6zY9qbmiqGVMbZK21ZC/YmhlbeBMTzZNDQqcvDb1kM1x32iqZSt1HaqukfKvq34BAOTLsrH+ETNmUkKHHA+428RgeclPVWozeSyAI2EdWB34jtqXNTAySOY3i/KgFIlqOa4GkFmBegorzg4joG07he/M7zl6jAAAAAElFTkSuQmCC',\n}\n\ntype Props = {\n document: MakeswiftPageDocument\n}\n\nexport function PageHead({ document: page }: Props): JSX.Element {\n const { headSnippets } = usePageSnippets({ page })\n\n const isInBuilder = useIsInBuilder()\n\n const site = useCachedSite(isInBuilder ? page.site.id : null)\n const baseLocalizedPage = page.localizedPages.find(({ parentId }) => parentId == null)\n\n const favicon = page.meta.favicon ?? defaultFavicon\n const title = baseLocalizedPage?.meta.title ?? page.meta.title\n const description = baseLocalizedPage?.meta.description ?? page.meta.description\n const keywords = baseLocalizedPage?.meta.keywords ?? page.meta.keywords\n const socialImage = baseLocalizedPage?.meta.socialImage ?? page.meta.socialImage\n const canonicalUrl = baseLocalizedPage?.seo.canonicalUrl ?? page.seo.canonicalUrl\n const isIndexingBlocked = baseLocalizedPage?.seo.isIndexingBlocked ?? page.seo.isIndexingBlocked\n\n const fontFamilyParamValue = useMemo(() => {\n if (site == null) {\n return page.fonts\n .map(({ family, variants }) => {\n return `${family.replace(/ /g, '+')}:${variants.join()}`\n })\n .join('|')\n }\n\n return site.googleFonts.edges\n .filter((edge): edge is NonNullable<typeof edge> => edge != null)\n .map(({ activeVariants, node: { family, variants } }) => {\n const activeVariantSpecifiers = variants\n .filter(variant =>\n activeVariants.some(activeVariant => activeVariant.specifier === variant.specifier),\n )\n .map(variant => variant.specifier)\n .join()\n\n return `${family.replace(/ /g, '+')}:${activeVariantSpecifiers}`\n })\n .join('|')\n }, [site, page])\n\n return (\n <>\n <PageStyle precedence=\"high\" href=\"makeswift-base-styles\">\n {`\n html {\n font-family: sans-serif;\n }\n div#__next {\n overflow: hidden;\n }\n `}\n </PageStyle>\n {title && <PageTitle>{title}</PageTitle>}\n {favicon && <PageLink rel=\"icon\" type={favicon.mimetype} href={favicon.publicUrl} />}\n {canonicalUrl && <PageLink rel=\"canonical\" href={canonicalUrl} />}\n {isIndexingBlocked && <PageMeta name=\"robots\" content=\"noindex\" />}\n {description && (\n <>\n <PageMeta name=\"description\" content={description} />\n <PageMeta property=\"og:description\" content={description} />\n <PageMeta name=\"twitter:description\" content={description} />\n </>\n )}\n {keywords && <PageMeta name=\"keywords\" content={keywords} />}\n {socialImage && (\n <>\n <PageMeta property=\"og:image\" content={socialImage.publicUrl} />\n <PageMeta property=\"og:image:type\" content={socialImage.mimetype} />\n <PageMeta name=\"twitter:image\" content={socialImage.publicUrl} />\n <PageMeta name=\"twitter:card\" content=\"summary_large_image\" />\n </>\n )}\n {fontFamilyParamValue !== '' && (\n <PageLink\n precedence=\"medium\"\n rel=\"stylesheet\"\n href={`https://fonts.googleapis.com/css?family=${fontFamilyParamValue}&display=swap`}\n />\n )}\n {headSnippets.map(snippet => (\n <HeadSnippet key={snippet.id} snippet={snippet} />\n ))}\n </>\n )\n}\n\nfunction useCachedSite(siteId: string | null): Site | null {\n const client = useMakeswiftHostApiClient()\n const getSnapshot = () => (siteId == null ? null : client.readSite(siteId))\n\n const site = useSyncExternalStore(client.subscribe, getSnapshot, getSnapshot)\n\n return site\n}\n"],"mappings":"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","names":[]}
@@ -9,6 +9,10 @@ import { useStyle } from "../../../runtimes/react/use-style";
9
9
  import { useBackgrounds } from "../../hooks";
10
10
  import Backgrounds from "./components/Backgrounds";
11
11
  var BackgroundsContainer_default = forwardRef(function BackgroundsContainer({ backgrounds, children, className, ...restOfProps }, ref) {
12
+ const widthAndMarginStyle = useStyle({
13
+ width: "100%",
14
+ margin: "0 auto"
15
+ });
12
16
  return /* @__PURE__ */ jsxs(
13
17
  "div",
14
18
  {
@@ -17,8 +21,6 @@ var BackgroundsContainer_default = forwardRef(function BackgroundsContainer({ ba
17
21
  className: cx(
18
22
  useStyle({
19
23
  position: "relative",
20
- width: "100%",
21
- margin: "0 auto",
22
24
  "> *": {
23
25
  borderRadius: "inherit",
24
26
  height: "inherit"
@@ -27,7 +29,7 @@ var BackgroundsContainer_default = forwardRef(function BackgroundsContainer({ ba
27
29
  position: "relative"
28
30
  }
29
31
  }),
30
- className
32
+ className ? className : widthAndMarginStyle
31
33
  ),
32
34
  children: [
33
35
  /* @__PURE__ */ jsx(Backgrounds, { backgrounds: useBackgrounds(backgrounds) }),
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/components/shared/BackgroundsContainer/index.tsx"],"sourcesContent":["'use client'\n\nimport { cx } from '@emotion/css'\nimport {\n Children,\n ComponentPropsWithoutRef,\n ElementType,\n forwardRef,\n ReactElement,\n Ref,\n} from 'react'\nimport { useStyle } from '../../../runtimes/react/use-style'\nimport { useBackgrounds } from '../../hooks'\nimport Backgrounds from './components/Backgrounds'\nimport { ResponsiveBackgroundsData } from '@makeswift/prop-controllers'\n\ntype BaseProps = {\n backgrounds: ResponsiveBackgroundsData | undefined\n children: ReactElement<ElementType>\n}\n\ntype Props = BaseProps & Omit<ComponentPropsWithoutRef<'div'>, keyof BaseProps>\n\nexport default forwardRef<HTMLDivElement | null, Props>(function BackgroundsContainer(\n { backgrounds, children, className, ...restOfProps }: Props,\n ref: Ref<HTMLDivElement>,\n) {\n return (\n <div\n {...restOfProps}\n ref={ref}\n className={cx(\n useStyle({\n position: 'relative',\n width: '100%',\n margin: '0 auto',\n '> *': {\n borderRadius: 'inherit',\n height: 'inherit',\n },\n '> :last-child': {\n position: 'relative',\n },\n }),\n className,\n )}\n >\n <Backgrounds backgrounds={useBackgrounds(backgrounds)} />\n {Children.only(children)}\n </div>\n )\n})\n"],"mappings":";AA4BI,SAmBE,KAnBF;AA1BJ,SAAS,UAAU;AACnB;AAAA,EACE;AAAA,EAGA;AAAA,OAGK;AACP,SAAS,gBAAgB;AACzB,SAAS,sBAAsB;AAC/B,OAAO,iBAAiB;AAUxB,IAAO,+BAAQ,WAAyC,SAAS,qBAC/D,EAAE,aAAa,UAAU,WAAW,GAAG,YAAY,GACnD,KACA;AACA,SACE;AAAA,IAAC;AAAA;AAAA,MACE,GAAG;AAAA,MACJ;AAAA,MACA,WAAW;AAAA,QACT,SAAS;AAAA,UACP,UAAU;AAAA,UACV,OAAO;AAAA,UACP,QAAQ;AAAA,UACR,OAAO;AAAA,YACL,cAAc;AAAA,YACd,QAAQ;AAAA,UACV;AAAA,UACA,iBAAiB;AAAA,YACf,UAAU;AAAA,UACZ;AAAA,QACF,CAAC;AAAA,QACD;AAAA,MACF;AAAA,MAEA;AAAA,4BAAC,eAAY,aAAa,eAAe,WAAW,GAAG;AAAA,QACtD,SAAS,KAAK,QAAQ;AAAA;AAAA;AAAA,EACzB;AAEJ,CAAC;","names":[]}
1
+ {"version":3,"sources":["../../../../../src/components/shared/BackgroundsContainer/index.tsx"],"sourcesContent":["'use client'\n\nimport { cx } from '@emotion/css'\nimport {\n Children,\n ComponentPropsWithoutRef,\n ElementType,\n forwardRef,\n ReactElement,\n Ref,\n} from 'react'\nimport { useStyle } from '../../../runtimes/react/use-style'\nimport { useBackgrounds } from '../../hooks'\nimport Backgrounds from './components/Backgrounds'\nimport { ResponsiveBackgroundsData } from '@makeswift/prop-controllers'\n\ntype BaseProps = {\n backgrounds: ResponsiveBackgroundsData | undefined\n children: ReactElement<ElementType>\n}\n\ntype Props = BaseProps & Omit<ComponentPropsWithoutRef<'div'>, keyof BaseProps>\n\nexport default forwardRef<HTMLDivElement | null, Props>(function BackgroundsContainer(\n { backgrounds, children, className, ...restOfProps }: Props,\n ref: Ref<HTMLDivElement>,\n) {\n const widthAndMarginStyle = useStyle({\n width: '100%',\n margin: '0 auto',\n })\n\n return (\n <div\n {...restOfProps}\n ref={ref}\n className={cx(\n useStyle({\n position: 'relative',\n '> *': {\n borderRadius: 'inherit',\n height: 'inherit',\n },\n '> :last-child': {\n position: 'relative',\n },\n }),\n className ? className : widthAndMarginStyle,\n )}\n >\n <Backgrounds backgrounds={useBackgrounds(backgrounds)} />\n {Children.only(children)}\n </div>\n )\n})\n"],"mappings":";AAiCI,SAiBE,KAjBF;AA/BJ,SAAS,UAAU;AACnB;AAAA,EACE;AAAA,EAGA;AAAA,OAGK;AACP,SAAS,gBAAgB;AACzB,SAAS,sBAAsB;AAC/B,OAAO,iBAAiB;AAUxB,IAAO,+BAAQ,WAAyC,SAAS,qBAC/D,EAAE,aAAa,UAAU,WAAW,GAAG,YAAY,GACnD,KACA;AACA,QAAM,sBAAsB,SAAS;AAAA,IACnC,OAAO;AAAA,IACP,QAAQ;AAAA,EACV,CAAC;AAED,SACE;AAAA,IAAC;AAAA;AAAA,MACE,GAAG;AAAA,MACJ;AAAA,MACA,WAAW;AAAA,QACT,SAAS;AAAA,UACP,UAAU;AAAA,UACV,OAAO;AAAA,YACL,cAAc;AAAA,YACd,QAAQ;AAAA,UACV;AAAA,UACA,iBAAiB;AAAA,YACf,UAAU;AAAA,UACZ;AAAA,QACF,CAAC;AAAA,QACD,YAAY,YAAY;AAAA,MAC1B;AAAA,MAEA;AAAA,4BAAC,eAAY,aAAa,eAAe,WAAW,GAAG;AAAA,QACtD,SAAS,KAAK,QAAQ;AAAA;AAAA;AAAA,EACzB;AAEJ,CAAC;","names":[]}
@@ -7,6 +7,11 @@ import {
7
7
  ColorDefinition,
8
8
  Combobox,
9
9
  ComboboxDefinition,
10
+ Font,
11
+ FontDefinition,
12
+ Group,
13
+ GroupDefinition,
14
+ GroupControl,
10
15
  IconRadioGroupDefinition,
11
16
  unstable_IconRadioGroup,
12
17
  Image,
@@ -14,20 +19,20 @@ import {
14
19
  List,
15
20
  ListDefinition,
16
21
  ListControl,
17
- Shape,
18
- ShapeDefinition,
19
- ShapeControl,
20
22
  Number,
21
23
  NumberDefinition,
22
- TextInput,
23
- TextInputDefinition,
24
- TextArea,
25
- TextAreaDefinition,
26
24
  Select,
27
25
  SelectDefinition,
26
+ Shape,
27
+ ShapeDefinition,
28
+ ShapeControl,
28
29
  Style,
29
30
  StyleDefinition,
30
31
  StyleControl,
32
+ TextInput,
33
+ TextInputDefinition,
34
+ TextArea,
35
+ TextAreaDefinition,
31
36
  unstable_Typography,
32
37
  unstable_TypographyDefinition
33
38
  } from "@makeswift/controls";
@@ -44,6 +49,11 @@ export {
44
49
  Combobox,
45
50
  ComboboxDefinition,
46
51
  ControlDefinition,
52
+ Font,
53
+ FontDefinition,
54
+ Group,
55
+ GroupControl,
56
+ GroupDefinition,
47
57
  IconRadioGroupDefinition,
48
58
  Image,
49
59
  ImageDefinition,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/controls/index.ts"],"sourcesContent":["export * from './control'\n\nexport {\n ControlDefinition,\n Checkbox,\n CheckboxDefinition,\n Color,\n ColorDefinition,\n Combobox,\n ComboboxDefinition,\n IconRadioGroupDefinition,\n type IconRadioGroupIcon,\n unstable_IconRadioGroup,\n Image,\n ImageDefinition,\n List,\n ListDefinition,\n ListControl,\n Shape,\n ShapeDefinition,\n ShapeControl,\n Number,\n NumberDefinition,\n TextInput,\n TextInputDefinition,\n TextArea,\n TextAreaDefinition,\n Select,\n SelectDefinition,\n Style,\n StyleDefinition,\n type StyleProperty,\n StyleControl,\n unstable_Typography,\n unstable_TypographyDefinition,\n} from '@makeswift/controls'\n\nexport { Link, LinkDefinition } from './link'\nexport { RichTextV1Definition, RichTextV1Control } from './rich-text'\nexport { RichText, RichTextV2Definition, RichTextV2Control } from './rich-text-v2'\nexport { Slot, SlotDefinition, SlotControl } from './slot'\nexport { unstable_StyleV2, StyleV2Definition, StyleV2Control } from './style-v2/style-v2'\n"],"mappings":"AAAA,cAAc;AAEd;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EAEA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EAEA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AAEP,SAAS,MAAM,sBAAsB;AACrC,SAAS,sBAAsB,yBAAyB;AACxD,SAAS,UAAU,sBAAsB,yBAAyB;AAClE,SAAS,MAAM,gBAAgB,mBAAmB;AAClD,SAAS,kBAAkB,mBAAmB,sBAAsB;","names":[]}
1
+ {"version":3,"sources":["../../../src/controls/index.ts"],"sourcesContent":["export * from './control'\n\nexport {\n ControlDefinition,\n Checkbox,\n CheckboxDefinition,\n Color,\n ColorDefinition,\n Combobox,\n ComboboxDefinition,\n Font,\n FontDefinition,\n Group,\n GroupDefinition,\n GroupControl,\n IconRadioGroupDefinition,\n type IconRadioGroupIcon,\n unstable_IconRadioGroup,\n Image,\n ImageDefinition,\n List,\n ListDefinition,\n ListControl,\n Number,\n NumberDefinition,\n Select,\n SelectDefinition,\n Shape,\n ShapeDefinition,\n ShapeControl,\n Style,\n StyleDefinition,\n type StyleProperty,\n StyleControl,\n TextInput,\n TextInputDefinition,\n TextArea,\n TextAreaDefinition,\n unstable_Typography,\n unstable_TypographyDefinition,\n} from '@makeswift/controls'\n\nexport { Link, LinkDefinition } from './link'\nexport { RichTextV1Definition, RichTextV1Control } from './rich-text'\nexport { RichText, RichTextV2Definition, RichTextV2Control } from './rich-text-v2'\nexport { Slot, SlotDefinition, SlotControl } from './slot'\nexport { unstable_StyleV2, StyleV2Definition, StyleV2Control } from './style-v2/style-v2'\n"],"mappings":"AAAA,cAAc;AAEd;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EAEA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EAEA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AAEP,SAAS,MAAM,sBAAsB;AACrC,SAAS,sBAAsB,yBAAyB;AACxD,SAAS,UAAU,sBAAsB,yBAAyB;AAClE,SAAS,MAAM,gBAAgB,mBAAmB;AAClD,SAAS,kBAAkB,mBAAmB,sBAAsB;","names":[]}
@@ -1,11 +1,13 @@
1
1
  import {
2
2
  ControlDefinition,
3
3
  ControlInstance,
4
- DefaultControlInstance
4
+ DefaultControlInstance,
5
+ ShapeV2Control
5
6
  } from "@makeswift/controls";
6
7
  export {
7
8
  ControlDefinition,
8
9
  ControlInstance,
9
- DefaultControlInstance
10
+ DefaultControlInstance,
11
+ ShapeV2Control
10
12
  };
11
13
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/core/index.ts"],"sourcesContent":["export {\n type Data,\n type DataType,\n type ValueType,\n type ResolvedValueType,\n type ControlMessage,\n type ReplacementContext,\n type SendMessageType,\n ControlDefinition,\n ControlInstance,\n DefaultControlInstance,\n} from '@makeswift/controls'\n"],"mappings":"AAAA;AAAA,EAQE;AAAA,EACA;AAAA,EACA;AAAA,OACK;","names":[]}
1
+ {"version":3,"sources":["../../../src/core/index.ts"],"sourcesContent":["export {\n type ConfigType,\n type Data,\n type DataType,\n type ValueType,\n type ResolvedValueType,\n type ControlMessage,\n type ReplacementContext,\n type SendMessageType,\n ControlDefinition,\n ControlInstance,\n DefaultControlInstance,\n ShapeV2Control,\n} from '@makeswift/controls'\n"],"mappings":"AAAA;AAAA,EASE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;","names":[]}
package/dist/esm/index.js CHANGED
@@ -17,7 +17,7 @@ import {
17
17
  setLocalizedResourceId
18
18
  } from "./state/actions";
19
19
  import { ComponentIcon } from "./state/modules/components-meta";
20
- import { createDocument } from "./state/react-page";
20
+ import { createBaseDocument } from "./state/react-page";
21
21
  import { MakeswiftComponentType } from "./components/builtin/constants";
22
22
  export {
23
23
  ActionTypes,
@@ -28,7 +28,7 @@ export {
28
28
  changeDocument,
29
29
  changeDocumentElementScrollTop,
30
30
  cleanUp,
31
- createDocument,
31
+ createBaseDocument,
32
32
  evictApiResource,
33
33
  init,
34
34
  messageHostPropController,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/index.ts"],"sourcesContent":["export type { Action, SetBreakpointsAction } from './state/actions'\nexport {\n ActionTypes,\n changeDocument,\n changeDocumentElementScrollTop,\n cleanUp,\n init,\n messageHostPropController,\n changeApiResource,\n evictApiResource,\n registerDocument,\n scrollDocumentElement,\n unregisterDocument,\n setBuilderEditMode,\n builderPointerMove,\n setBreakpoints,\n setLocale,\n setLocalizedResourceId,\n} from './state/actions'\nexport type { Operation } from './state/modules/read-write-documents'\nexport type { ComponentMeta } from './state/modules/components-meta'\nexport { ComponentIcon } from './state/modules/components-meta'\nexport type {\n PropControllerDescriptor,\n PropControllerDescriptorValueType,\n} from './prop-controllers'\nexport type { Element } from './state/react-page'\nexport { createDocument } from './state/react-page'\nexport { MakeswiftComponentType } from './components/builtin/constants'\n"],"mappings":"AACA;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AAGP,SAAS,qBAAqB;AAM9B,SAAS,sBAAsB;AAC/B,SAAS,8BAA8B;","names":[]}
1
+ {"version":3,"sources":["../../src/index.ts"],"sourcesContent":["export type { Action, SetBreakpointsAction } from './state/actions'\nexport {\n ActionTypes,\n changeDocument,\n changeDocumentElementScrollTop,\n cleanUp,\n init,\n messageHostPropController,\n changeApiResource,\n evictApiResource,\n registerDocument,\n scrollDocumentElement,\n unregisterDocument,\n setBuilderEditMode,\n builderPointerMove,\n setBreakpoints,\n setLocale,\n setLocalizedResourceId,\n} from './state/actions'\nexport type { Operation } from './state/modules/read-write-documents'\nexport type { ComponentMeta } from './state/modules/components-meta'\nexport { ComponentIcon } from './state/modules/components-meta'\nexport type {\n PropControllerDescriptor,\n PropControllerDescriptorValueType,\n} from './prop-controllers'\nexport type { Element } from './state/react-page'\nexport { createBaseDocument } from './state/react-page'\nexport { MakeswiftComponentType } from './components/builtin/constants'\n"],"mappings":"AACA;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AAGP,SAAS,qBAAqB;AAM9B,SAAS,0BAA0B;AACnC,SAAS,8BAA8B;","names":[]}
@@ -6,7 +6,8 @@ afterEach(() => server.resetHandlers());
6
6
  afterAll(() => server.close());
7
7
  expect.extend(matchers);
8
8
  jest.mock("uuid", () => ({
9
- v4: jest.fn(() => "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx")
9
+ v4: jest.fn(() => "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"),
10
+ v5: jest.fn(() => "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx")
10
11
  }));
11
12
  if (typeof window !== "undefined") {
12
13
  Object.defineProperty(window, "matchMedia", {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/jest-setup.ts"],"sourcesContent":["import '@testing-library/jest-dom'\nimport { matchers } from '@emotion/jest'\nimport { server } from './mocks/server'\n\nbeforeAll(() => server.listen())\nafterEach(() => server.resetHandlers())\nafterAll(() => server.close())\n\nexpect.extend(matchers)\n\njest.mock('uuid', () => ({\n v4: jest.fn(() => 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx'),\n}))\n\nif (typeof window !== 'undefined') {\n Object.defineProperty(window, 'matchMedia', {\n writable: true,\n value: jest.fn().mockImplementation(query => ({\n matches: false,\n media: query,\n onchange: null,\n addListener: jest.fn(), // deprecated\n removeListener: jest.fn(), // deprecated\n addEventListener: jest.fn(),\n removeEventListener: jest.fn(),\n dispatchEvent: jest.fn(),\n })),\n })\n\n Object.defineProperty(window, 'IntersectionObserver', {\n writable: true,\n value: jest.fn().mockImplementation(() => ({\n observe: jest.fn(),\n unobserve: jest.fn(),\n disconnect: jest.fn(),\n })),\n })\n}\n"],"mappings":"AAAA,OAAO;AACP,SAAS,gBAAgB;AACzB,SAAS,cAAc;AAEvB,UAAU,MAAM,OAAO,OAAO,CAAC;AAC/B,UAAU,MAAM,OAAO,cAAc,CAAC;AACtC,SAAS,MAAM,OAAO,MAAM,CAAC;AAE7B,OAAO,OAAO,QAAQ;AAEtB,KAAK,KAAK,QAAQ,OAAO;AAAA,EACvB,IAAI,KAAK,GAAG,MAAM,sCAAsC;AAC1D,EAAE;AAEF,IAAI,OAAO,WAAW,aAAa;AACjC,SAAO,eAAe,QAAQ,cAAc;AAAA,IAC1C,UAAU;AAAA,IACV,OAAO,KAAK,GAAG,EAAE,mBAAmB,YAAU;AAAA,MAC5C,SAAS;AAAA,MACT,OAAO;AAAA,MACP,UAAU;AAAA,MACV,aAAa,KAAK,GAAG;AAAA;AAAA,MACrB,gBAAgB,KAAK,GAAG;AAAA;AAAA,MACxB,kBAAkB,KAAK,GAAG;AAAA,MAC1B,qBAAqB,KAAK,GAAG;AAAA,MAC7B,eAAe,KAAK,GAAG;AAAA,IACzB,EAAE;AAAA,EACJ,CAAC;AAED,SAAO,eAAe,QAAQ,wBAAwB;AAAA,IACpD,UAAU;AAAA,IACV,OAAO,KAAK,GAAG,EAAE,mBAAmB,OAAO;AAAA,MACzC,SAAS,KAAK,GAAG;AAAA,MACjB,WAAW,KAAK,GAAG;AAAA,MACnB,YAAY,KAAK,GAAG;AAAA,IACtB,EAAE;AAAA,EACJ,CAAC;AACH;","names":[]}
1
+ {"version":3,"sources":["../../src/jest-setup.ts"],"sourcesContent":["import '@testing-library/jest-dom'\nimport { matchers } from '@emotion/jest'\nimport { server } from './mocks/server'\n\nbeforeAll(() => server.listen())\nafterEach(() => server.resetHandlers())\nafterAll(() => server.close())\n\nexpect.extend(matchers)\n\njest.mock('uuid', () => ({\n v4: jest.fn(() => 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx'),\n v5: jest.fn(() => 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx'),\n}))\n\nif (typeof window !== 'undefined') {\n Object.defineProperty(window, 'matchMedia', {\n writable: true,\n value: jest.fn().mockImplementation(query => ({\n matches: false,\n media: query,\n onchange: null,\n addListener: jest.fn(), // deprecated\n removeListener: jest.fn(), // deprecated\n addEventListener: jest.fn(),\n removeEventListener: jest.fn(),\n dispatchEvent: jest.fn(),\n })),\n })\n\n Object.defineProperty(window, 'IntersectionObserver', {\n writable: true,\n value: jest.fn().mockImplementation(() => ({\n observe: jest.fn(),\n unobserve: jest.fn(),\n disconnect: jest.fn(),\n })),\n })\n}\n"],"mappings":"AAAA,OAAO;AACP,SAAS,gBAAgB;AACzB,SAAS,cAAc;AAEvB,UAAU,MAAM,OAAO,OAAO,CAAC;AAC/B,UAAU,MAAM,OAAO,cAAc,CAAC;AACtC,SAAS,MAAM,OAAO,MAAM,CAAC;AAE7B,OAAO,OAAO,QAAQ;AAEtB,KAAK,KAAK,QAAQ,OAAO;AAAA,EACvB,IAAI,KAAK,GAAG,MAAM,sCAAsC;AAAA,EACxD,IAAI,KAAK,GAAG,MAAM,sCAAsC;AAC1D,EAAE;AAEF,IAAI,OAAO,WAAW,aAAa;AACjC,SAAO,eAAe,QAAQ,cAAc;AAAA,IAC1C,UAAU;AAAA,IACV,OAAO,KAAK,GAAG,EAAE,mBAAmB,YAAU;AAAA,MAC5C,SAAS;AAAA,MACT,OAAO;AAAA,MACP,UAAU;AAAA,MACV,aAAa,KAAK,GAAG;AAAA;AAAA,MACrB,gBAAgB,KAAK,GAAG;AAAA;AAAA,MACxB,kBAAkB,KAAK,GAAG;AAAA,MAC1B,qBAAqB,KAAK,GAAG;AAAA,MAC7B,eAAe,KAAK,GAAG;AAAA,IACzB,EAAE;AAAA,EACJ,CAAC;AAED,SAAO,eAAe,QAAQ,wBAAwB;AAAA,IACpD,UAAU;AAAA,IACV,OAAO,KAAK,GAAG,EAAE,mBAAmB,OAAO;AAAA,MACzC,SAAS,KAAK,GAAG;AAAA,MACjB,WAAW,KAAK,GAAG;AAAA,MACnB,YAAY,KAAK,GAAG;AAAA,IACtB,EAAE;AAAA,EACJ,CAAC;AACH;","names":[]}
@@ -12,8 +12,9 @@ async function handler(...args) {
12
12
  }
13
13
  const supportsPreviewMode = match(args).with(routeHandlerPattern, () => false).with(apiRoutePattern, () => true).exhaustive();
14
14
  const supportsDraftMode = match(args).with(routeHandlerPattern, () => true).with(apiRoutePattern, () => false).exhaustive();
15
+ const supportsWebhook = match(args).with(routeHandlerPattern, () => true).with(apiRoutePattern, () => false).exhaustive();
15
16
  const body = {
16
- version: "0.22.3",
17
+ version: "0.23.0",
17
18
  previewMode: supportsPreviewMode,
18
19
  draftMode: supportsDraftMode,
19
20
  interactionMode: true,
@@ -22,7 +23,8 @@ async function handler(...args) {
22
23
  customBreakpoints: true,
23
24
  siteVersions: true,
24
25
  unstable_siteVersions: true,
25
- localizedPageSSR: true
26
+ localizedPageSSR: true,
27
+ webhook: supportsWebhook
26
28
  };
27
29
  return match(args).with(routeHandlerPattern, () => NextResponse.json(body)).with(apiRoutePattern, ([, res]) => res.json(body)).exhaustive();
28
30
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/next/api-handler/handlers/manifest.ts"],"sourcesContent":["import { NextApiRequest, NextApiResponse } from 'next'\nimport { NextRequest, NextResponse } from 'next/server'\nimport { P, match } from 'ts-pattern'\n\ntype Context = { params: { [key: string]: string | string[] } }\n\nexport type Manifest = {\n version: string\n previewMode: boolean\n interactionMode: boolean\n clientSideNavigation: boolean\n elementFromPoint: boolean\n customBreakpoints: boolean\n siteVersions: boolean\n unstable_siteVersions: boolean\n localizedPageSSR: boolean\n}\n\ntype ManifestError = { message: string }\n\nexport type ManifestResponse = Manifest | ManifestError\n\ntype ManifestHandlerArgs =\n | [request: NextRequest, context: Context, params: { apiKey: string }]\n | [req: NextApiRequest, res: NextApiResponse<ManifestResponse>, params: { apiKey: string }]\n\nconst routeHandlerPattern = [P.instanceOf(Request), P.any, P.any] as const\nconst apiRoutePattern = [P.any, P.any, P.any] as const\n\nexport default async function handler(\n request: NextRequest,\n context: Context,\n { apiKey }: { apiKey: string },\n): Promise<NextResponse<ManifestResponse>>\nexport default async function handler(\n req: NextApiRequest,\n res: NextApiResponse<ManifestResponse>,\n { apiKey }: { apiKey: string },\n): Promise<void>\nexport default async function handler(\n ...args: ManifestHandlerArgs\n): Promise<NextResponse<ManifestResponse> | void> {\n const [, , { apiKey }] = args\n\n const secret = match(args)\n .with(routeHandlerPattern, ([request]) => request.nextUrl.searchParams.get('secret'))\n .with(apiRoutePattern, ([req]) => req.query.secret)\n .exhaustive()\n\n if (secret !== apiKey) {\n const status = 401\n const body = { message: 'Unauthorized' }\n\n return match(args)\n .with(routeHandlerPattern, () => NextResponse.json(body, { status }))\n .with(apiRoutePattern, ([, res]) => res.status(status).json(body))\n .exhaustive()\n }\n\n const supportsPreviewMode = match(args)\n .with(routeHandlerPattern, () => false)\n .with(apiRoutePattern, () => true)\n .exhaustive()\n\n const supportsDraftMode = match(args)\n .with(routeHandlerPattern, () => true)\n .with(apiRoutePattern, () => false)\n .exhaustive()\n\n const body = {\n version: PACKAGE_VERSION,\n previewMode: supportsPreviewMode,\n draftMode: supportsDraftMode,\n interactionMode: true,\n clientSideNavigation: false,\n elementFromPoint: false,\n customBreakpoints: true,\n siteVersions: true,\n unstable_siteVersions: true,\n localizedPageSSR: true,\n }\n\n return match(args)\n .with(routeHandlerPattern, () => NextResponse.json(body))\n .with(apiRoutePattern, ([, res]) => res.json(body))\n .exhaustive()\n}\n"],"mappings":"AACA,SAAsB,oBAAoB;AAC1C,SAAS,GAAG,aAAa;AAwBzB,MAAM,sBAAsB,CAAC,EAAE,WAAW,OAAO,GAAG,EAAE,KAAK,EAAE,GAAG;AAChE,MAAM,kBAAkB,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG;AAY5C,eAAO,WACF,MAC6C;AAChD,QAAM,CAAC,EAAE,EAAE,EAAE,OAAO,CAAC,IAAI;AAEzB,QAAM,SAAS,MAAM,IAAI,EACtB,KAAK,qBAAqB,CAAC,CAAC,OAAO,MAAM,QAAQ,QAAQ,aAAa,IAAI,QAAQ,CAAC,EACnF,KAAK,iBAAiB,CAAC,CAAC,GAAG,MAAM,IAAI,MAAM,MAAM,EACjD,WAAW;AAEd,MAAI,WAAW,QAAQ;AACrB,UAAM,SAAS;AACf,UAAMA,QAAO,EAAE,SAAS,eAAe;AAEvC,WAAO,MAAM,IAAI,EACd,KAAK,qBAAqB,MAAM,aAAa,KAAKA,OAAM,EAAE,OAAO,CAAC,CAAC,EACnE,KAAK,iBAAiB,CAAC,CAAC,EAAE,GAAG,MAAM,IAAI,OAAO,MAAM,EAAE,KAAKA,KAAI,CAAC,EAChE,WAAW;AAAA,EAChB;AAEA,QAAM,sBAAsB,MAAM,IAAI,EACnC,KAAK,qBAAqB,MAAM,KAAK,EACrC,KAAK,iBAAiB,MAAM,IAAI,EAChC,WAAW;AAEd,QAAM,oBAAoB,MAAM,IAAI,EACjC,KAAK,qBAAqB,MAAM,IAAI,EACpC,KAAK,iBAAiB,MAAM,KAAK,EACjC,WAAW;AAEd,QAAM,OAAO;AAAA,IACX,SAAS;AAAA,IACT,aAAa;AAAA,IACb,WAAW;AAAA,IACX,iBAAiB;AAAA,IACjB,sBAAsB;AAAA,IACtB,kBAAkB;AAAA,IAClB,mBAAmB;AAAA,IACnB,cAAc;AAAA,IACd,uBAAuB;AAAA,IACvB,kBAAkB;AAAA,EACpB;AAEA,SAAO,MAAM,IAAI,EACd,KAAK,qBAAqB,MAAM,aAAa,KAAK,IAAI,CAAC,EACvD,KAAK,iBAAiB,CAAC,CAAC,EAAE,GAAG,MAAM,IAAI,KAAK,IAAI,CAAC,EACjD,WAAW;AAChB;","names":["body"]}
1
+ {"version":3,"sources":["../../../../../src/next/api-handler/handlers/manifest.ts"],"sourcesContent":["import { NextApiRequest, NextApiResponse } from 'next'\nimport { NextRequest, NextResponse } from 'next/server'\nimport { P, match } from 'ts-pattern'\n\ntype Context = { params: { [key: string]: string | string[] } }\n\nexport type Manifest = {\n version: string\n previewMode: boolean\n interactionMode: boolean\n clientSideNavigation: boolean\n elementFromPoint: boolean\n customBreakpoints: boolean\n siteVersions: boolean\n unstable_siteVersions: boolean\n localizedPageSSR: boolean\n webhook: boolean\n}\n\ntype ManifestError = { message: string }\n\nexport type ManifestResponse = Manifest | ManifestError\n\ntype ManifestHandlerArgs =\n | [request: NextRequest, context: Context, params: { apiKey: string }]\n | [req: NextApiRequest, res: NextApiResponse<ManifestResponse>, params: { apiKey: string }]\n\nconst routeHandlerPattern = [P.instanceOf(Request), P.any, P.any] as const\nconst apiRoutePattern = [P.any, P.any, P.any] as const\n\nexport default async function handler(\n request: NextRequest,\n context: Context,\n { apiKey }: { apiKey: string },\n): Promise<NextResponse<ManifestResponse>>\nexport default async function handler(\n req: NextApiRequest,\n res: NextApiResponse<ManifestResponse>,\n { apiKey }: { apiKey: string },\n): Promise<void>\nexport default async function handler(\n ...args: ManifestHandlerArgs\n): Promise<NextResponse<ManifestResponse> | void> {\n const [, , { apiKey }] = args\n\n const secret = match(args)\n .with(routeHandlerPattern, ([request]) => request.nextUrl.searchParams.get('secret'))\n .with(apiRoutePattern, ([req]) => req.query.secret)\n .exhaustive()\n\n if (secret !== apiKey) {\n const status = 401\n const body = { message: 'Unauthorized' }\n\n return match(args)\n .with(routeHandlerPattern, () => NextResponse.json(body, { status }))\n .with(apiRoutePattern, ([, res]) => res.status(status).json(body))\n .exhaustive()\n }\n\n const supportsPreviewMode = match(args)\n .with(routeHandlerPattern, () => false)\n .with(apiRoutePattern, () => true)\n .exhaustive()\n\n const supportsDraftMode = match(args)\n .with(routeHandlerPattern, () => true)\n .with(apiRoutePattern, () => false)\n .exhaustive()\n\n const supportsWebhook = match(args)\n .with(routeHandlerPattern, () => true)\n .with(apiRoutePattern, () => false)\n .exhaustive()\n\n const body = {\n version: PACKAGE_VERSION,\n previewMode: supportsPreviewMode,\n draftMode: supportsDraftMode,\n interactionMode: true,\n clientSideNavigation: false,\n elementFromPoint: false,\n customBreakpoints: true,\n siteVersions: true,\n unstable_siteVersions: true,\n localizedPageSSR: true,\n webhook: supportsWebhook,\n }\n\n return match(args)\n .with(routeHandlerPattern, () => NextResponse.json(body))\n .with(apiRoutePattern, ([, res]) => res.json(body))\n .exhaustive()\n}\n"],"mappings":"AACA,SAAsB,oBAAoB;AAC1C,SAAS,GAAG,aAAa;AAyBzB,MAAM,sBAAsB,CAAC,EAAE,WAAW,OAAO,GAAG,EAAE,KAAK,EAAE,GAAG;AAChE,MAAM,kBAAkB,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG;AAY5C,eAAO,WACF,MAC6C;AAChD,QAAM,CAAC,EAAE,EAAE,EAAE,OAAO,CAAC,IAAI;AAEzB,QAAM,SAAS,MAAM,IAAI,EACtB,KAAK,qBAAqB,CAAC,CAAC,OAAO,MAAM,QAAQ,QAAQ,aAAa,IAAI,QAAQ,CAAC,EACnF,KAAK,iBAAiB,CAAC,CAAC,GAAG,MAAM,IAAI,MAAM,MAAM,EACjD,WAAW;AAEd,MAAI,WAAW,QAAQ;AACrB,UAAM,SAAS;AACf,UAAMA,QAAO,EAAE,SAAS,eAAe;AAEvC,WAAO,MAAM,IAAI,EACd,KAAK,qBAAqB,MAAM,aAAa,KAAKA,OAAM,EAAE,OAAO,CAAC,CAAC,EACnE,KAAK,iBAAiB,CAAC,CAAC,EAAE,GAAG,MAAM,IAAI,OAAO,MAAM,EAAE,KAAKA,KAAI,CAAC,EAChE,WAAW;AAAA,EAChB;AAEA,QAAM,sBAAsB,MAAM,IAAI,EACnC,KAAK,qBAAqB,MAAM,KAAK,EACrC,KAAK,iBAAiB,MAAM,IAAI,EAChC,WAAW;AAEd,QAAM,oBAAoB,MAAM,IAAI,EACjC,KAAK,qBAAqB,MAAM,IAAI,EACpC,KAAK,iBAAiB,MAAM,KAAK,EACjC,WAAW;AAEd,QAAM,kBAAkB,MAAM,IAAI,EAC/B,KAAK,qBAAqB,MAAM,IAAI,EACpC,KAAK,iBAAiB,MAAM,KAAK,EACjC,WAAW;AAEd,QAAM,OAAO;AAAA,IACX,SAAS;AAAA,IACT,aAAa;AAAA,IACb,WAAW;AAAA,IACX,iBAAiB;AAAA,IACjB,sBAAsB;AAAA,IACtB,kBAAkB;AAAA,IAClB,mBAAmB;AAAA,IACnB,cAAc;AAAA,IACd,uBAAuB;AAAA,IACvB,kBAAkB;AAAA,IAClB,SAAS;AAAA,EACX;AAEA,SAAO,MAAM,IAAI,EACd,KAAK,qBAAqB,MAAM,aAAa,KAAK,IAAI,CAAC,EACvD,KAAK,iBAAiB,CAAC,CAAC,EAAE,GAAG,MAAM,IAAI,KAAK,IAAI,CAAC,EACjD,WAAW;AAChB;","names":["body"]}
@@ -0,0 +1,38 @@
1
+ import { NextResponse } from "next/server";
2
+ import { P, match } from "ts-pattern";
3
+ import { handleSitePublished } from "./site-published";
4
+ import {
5
+ sitePublishedWebhookPayloadSchema,
6
+ WebhookEventType
7
+ } from "./types";
8
+ const routeHandlerPattern = [P.instanceOf(Request), P.any, P.any];
9
+ const apiRoutePattern = [P.any, P.any, P.any];
10
+ function getSecret(args) {
11
+ return match(args).with(routeHandlerPattern, ([request]) => request.nextUrl.searchParams.get("secret")).with(apiRoutePattern, ([req]) => req.query.secret).exhaustive();
12
+ }
13
+ function getRequestBody(args) {
14
+ return match(args).with(routeHandlerPattern, ([request]) => request.json()).with(apiRoutePattern, ([req]) => req.body).exhaustive();
15
+ }
16
+ function respond(args, response, status) {
17
+ return match(args).with(routeHandlerPattern, () => NextResponse.json(response, { status })).with(apiRoutePattern, ([, res]) => res.json(response)).exhaustive();
18
+ }
19
+ async function handler(...args) {
20
+ const [, , { apiKey }] = args;
21
+ const secret = getSecret(args);
22
+ if (secret !== apiKey)
23
+ return respond(args, { message: "Unauthorized" }, 401);
24
+ let payload;
25
+ try {
26
+ const body = await getRequestBody(args);
27
+ payload = sitePublishedWebhookPayloadSchema.parse(body);
28
+ } catch (error) {
29
+ console.error(error);
30
+ return respond(args, { message: "Invalid request body" }, 400);
31
+ }
32
+ const result = match(payload.type).with(WebhookEventType.SITE_PUBLISHED, () => handleSitePublished(payload)).exhaustive();
33
+ return respond(args, result.body, result.status);
34
+ }
35
+ export {
36
+ handler as default
37
+ };
38
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../../src/next/api-handler/handlers/webhook/index.ts"],"sourcesContent":["import { NextApiRequest, NextApiResponse } from 'next'\nimport { NextRequest, NextResponse } from 'next/server'\nimport { P, match } from 'ts-pattern'\nimport { handleSitePublished } from './site-published'\nimport {\n sitePublishedWebhookPayloadSchema,\n WebhookEventType,\n WebhookPayloadSchema,\n WebhookResponseBody,\n} from './types'\n\ntype Context = { params: { [key: string]: string | string[] } }\n\nexport type WebhookHandlerArgs =\n | [request: NextRequest, context: Context, params: { apiKey: string }]\n | [req: NextApiRequest, res: NextApiResponse<WebhookResponseBody>, params: { apiKey: string }]\n\nconst routeHandlerPattern = [P.instanceOf(Request), P.any, P.any] as const\nconst apiRoutePattern = [P.any, P.any, P.any] as const\n\nfunction getSecret(args: WebhookHandlerArgs) {\n return match(args)\n .with(routeHandlerPattern, ([request]) => request.nextUrl.searchParams.get('secret'))\n .with(apiRoutePattern, ([req]) => req.query.secret)\n .exhaustive()\n}\n\nfunction getRequestBody(args: WebhookHandlerArgs) {\n return match(args)\n .with(routeHandlerPattern, ([request]) => request.json())\n .with(apiRoutePattern, ([req]) => req.body)\n .exhaustive()\n}\n\nfunction respond(args: WebhookHandlerArgs, response: WebhookResponseBody, status?: number) {\n return match(args)\n .with(routeHandlerPattern, () => NextResponse.json(response, { status }))\n .with(apiRoutePattern, ([, res]) => res.json(response))\n .exhaustive()\n}\n\nexport default async function handler(\n request: NextRequest,\n context: Context,\n { apiKey }: { apiKey: string },\n): Promise<NextResponse<WebhookResponseBody>>\nexport default async function handler(\n req: NextApiRequest,\n res: NextApiResponse<WebhookResponseBody>,\n { apiKey }: { apiKey: string },\n): Promise<void>\nexport default async function handler(\n ...args: WebhookHandlerArgs\n): Promise<NextResponse<WebhookResponseBody> | void> {\n const [, , { apiKey }] = args\n const secret = getSecret(args)\n\n if (secret !== apiKey) return respond(args, { message: 'Unauthorized' }, 401)\n\n let payload: WebhookPayloadSchema\n\n try {\n const body = await getRequestBody(args)\n payload = sitePublishedWebhookPayloadSchema.parse(body)\n } catch (error) {\n console.error(error)\n return respond(args, { message: 'Invalid request body' }, 400)\n }\n\n const result = match(payload.type)\n .with(WebhookEventType.SITE_PUBLISHED, () => handleSitePublished(payload))\n .exhaustive()\n\n return respond(args, result.body, result.status)\n}\n"],"mappings":"AACA,SAAsB,oBAAoB;AAC1C,SAAS,GAAG,aAAa;AACzB,SAAS,2BAA2B;AACpC;AAAA,EACE;AAAA,EACA;AAAA,OAGK;AAQP,MAAM,sBAAsB,CAAC,EAAE,WAAW,OAAO,GAAG,EAAE,KAAK,EAAE,GAAG;AAChE,MAAM,kBAAkB,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG;AAE5C,SAAS,UAAU,MAA0B;AAC3C,SAAO,MAAM,IAAI,EACd,KAAK,qBAAqB,CAAC,CAAC,OAAO,MAAM,QAAQ,QAAQ,aAAa,IAAI,QAAQ,CAAC,EACnF,KAAK,iBAAiB,CAAC,CAAC,GAAG,MAAM,IAAI,MAAM,MAAM,EACjD,WAAW;AAChB;AAEA,SAAS,eAAe,MAA0B;AAChD,SAAO,MAAM,IAAI,EACd,KAAK,qBAAqB,CAAC,CAAC,OAAO,MAAM,QAAQ,KAAK,CAAC,EACvD,KAAK,iBAAiB,CAAC,CAAC,GAAG,MAAM,IAAI,IAAI,EACzC,WAAW;AAChB;AAEA,SAAS,QAAQ,MAA0B,UAA+B,QAAiB;AACzF,SAAO,MAAM,IAAI,EACd,KAAK,qBAAqB,MAAM,aAAa,KAAK,UAAU,EAAE,OAAO,CAAC,CAAC,EACvE,KAAK,iBAAiB,CAAC,CAAC,EAAE,GAAG,MAAM,IAAI,KAAK,QAAQ,CAAC,EACrD,WAAW;AAChB;AAYA,eAAO,WACF,MACgD;AACnD,QAAM,CAAC,EAAE,EAAE,EAAE,OAAO,CAAC,IAAI;AACzB,QAAM,SAAS,UAAU,IAAI;AAE7B,MAAI,WAAW;AAAQ,WAAO,QAAQ,MAAM,EAAE,SAAS,eAAe,GAAG,GAAG;AAE5E,MAAI;AAEJ,MAAI;AACF,UAAM,OAAO,MAAM,eAAe,IAAI;AACtC,cAAU,kCAAkC,MAAM,IAAI;AAAA,EACxD,SAAS,OAAO;AACd,YAAQ,MAAM,KAAK;AACnB,WAAO,QAAQ,MAAM,EAAE,SAAS,uBAAuB,GAAG,GAAG;AAAA,EAC/D;AAEA,QAAM,SAAS,MAAM,QAAQ,IAAI,EAC9B,KAAK,iBAAiB,gBAAgB,MAAM,oBAAoB,OAAO,CAAC,EACxE,WAAW;AAEd,SAAO,QAAQ,MAAM,OAAO,MAAM,OAAO,MAAM;AACjD;","names":[]}
@@ -0,0 +1,11 @@
1
+ import { revalidateTag } from "next/cache";
2
+ function handleSitePublished(_payload) {
3
+ revalidateTag(MAKESWIFT_CACHE_TAG);
4
+ return { body: { success: true }, status: 200 };
5
+ }
6
+ const MAKESWIFT_CACHE_TAG = "@@makeswift";
7
+ export {
8
+ MAKESWIFT_CACHE_TAG,
9
+ handleSitePublished
10
+ };
11
+ //# sourceMappingURL=site-published.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../../src/next/api-handler/handlers/webhook/site-published.ts"],"sourcesContent":["import { revalidateTag } from 'next/cache'\nimport { SitePublishedWebhookPayload, WebhookHandlerResult } from './types'\n\nexport function handleSitePublished(_payload: SitePublishedWebhookPayload): WebhookHandlerResult {\n revalidateTag(MAKESWIFT_CACHE_TAG)\n\n return { body: { success: true }, status: 200 }\n}\n\nexport const MAKESWIFT_CACHE_TAG = '@@makeswift'\n"],"mappings":"AAAA,SAAS,qBAAqB;AAGvB,SAAS,oBAAoB,UAA6D;AAC/F,gBAAc,mBAAmB;AAEjC,SAAO,EAAE,MAAM,EAAE,SAAS,KAAK,GAAG,QAAQ,IAAI;AAChD;AAEO,MAAM,sBAAsB;","names":[]}
@@ -0,0 +1,21 @@
1
+ import { z } from "zod";
2
+ const WebhookEventType = {
3
+ SITE_PUBLISHED: "site.published"
4
+ };
5
+ const sitePublishedWebhookPayloadSchema = z.object({
6
+ type: z.literal(WebhookEventType.SITE_PUBLISHED),
7
+ data: z.object({
8
+ siteId: z.string().uuid(),
9
+ publish: z.object({
10
+ from: z.string().uuid().nullable(),
11
+ to: z.string().uuid()
12
+ }),
13
+ at: z.number()
14
+ })
15
+ });
16
+ const webhookPayloadSchema = sitePublishedWebhookPayloadSchema;
17
+ export {
18
+ WebhookEventType,
19
+ sitePublishedWebhookPayloadSchema
20
+ };
21
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../../src/next/api-handler/handlers/webhook/types.ts"],"sourcesContent":["import { z } from 'zod'\n\nexport const WebhookEventType = {\n SITE_PUBLISHED: 'site.published',\n} as const\n\nexport const sitePublishedWebhookPayloadSchema = z.object({\n type: z.literal(WebhookEventType.SITE_PUBLISHED),\n data: z.object({\n siteId: z.string().uuid(),\n publish: z.object({\n from: z.string().uuid().nullable(),\n to: z.string().uuid(),\n }),\n at: z.number(),\n }),\n})\n\nexport type SitePublishedWebhookPayload = z.infer<typeof sitePublishedWebhookPayloadSchema>\n\nconst webhookPayloadSchema = sitePublishedWebhookPayloadSchema\n\nexport type WebhookPayloadSchema = z.infer<typeof webhookPayloadSchema>\n\ntype WebhookSuccessBody = { success: true }\n\ntype WebhookErrorBody = { message: string }\n\nexport type WebhookResponseBody = WebhookSuccessBody | WebhookErrorBody\n\nexport type WebhookHandlerResult = {\n body: WebhookResponseBody\n status: 200\n}\n"],"mappings":"AAAA,SAAS,SAAS;AAEX,MAAM,mBAAmB;AAAA,EAC9B,gBAAgB;AAClB;AAEO,MAAM,oCAAoC,EAAE,OAAO;AAAA,EACxD,MAAM,EAAE,QAAQ,iBAAiB,cAAc;AAAA,EAC/C,MAAM,EAAE,OAAO;AAAA,IACb,QAAQ,EAAE,OAAO,EAAE,KAAK;AAAA,IACxB,SAAS,EAAE,OAAO;AAAA,MAChB,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS;AAAA,MACjC,IAAI,EAAE,OAAO,EAAE,KAAK;AAAA,IACtB,CAAC;AAAA,IACD,IAAI,EAAE,OAAO;AAAA,EACf,CAAC;AACH,CAAC;AAID,MAAM,uBAAuB;","names":[]}
@@ -10,7 +10,7 @@ import proxyDraftMode from "./handlers/proxy-draft-mode";
10
10
  import { revalidate } from "./handlers/revalidate";
11
11
  import translatableData from "./handlers/translatable-data";
12
12
  import mergeTranslatedData from "./handlers/merge-translated-data";
13
- import { ReactRuntime } from "../../react";
13
+ import webhook from "./handlers/webhook";
14
14
  import { P, match } from "ts-pattern";
15
15
  import { getSiteVersion } from "../draft-mode";
16
16
  function apiRequestParams(request) {
@@ -20,8 +20,8 @@ function MakeswiftApiHandler(apiKey, {
20
20
  appOrigin = "https://app.makeswift.com",
21
21
  apiOrigin = "https://api.makeswift.com",
22
22
  getFonts,
23
- runtime = ReactRuntime
24
- } = {}) {
23
+ runtime
24
+ }) {
25
25
  const cors = Cors({ origin: appOrigin });
26
26
  if (typeof apiKey !== "string") {
27
27
  throw new Error(
@@ -90,6 +90,9 @@ Read more about dynamic catch-all routes here: https://nextjs.org/docs/routing/d
90
90
  if (matches("/merge-translated-data")) {
91
91
  return match(args).with(routeHandlerPattern, (args2) => mergeTranslatedData(...args2, client)).with(apiRoutePattern, (args2) => mergeTranslatedData(...args2, client)).exhaustive();
92
92
  }
93
+ if (matches("/webhook")) {
94
+ return match(args).with(routeHandlerPattern, (args2) => webhook(...args2, { apiKey })).with(apiRoutePattern, (args2) => webhook(...args2, { apiKey })).exhaustive();
95
+ }
93
96
  const handleResource = (resource) => {
94
97
  const status2 = resource === null ? 404 : 200;
95
98
  const body2 = resource === null ? { message: "Not Found" } : resource;
@@ -110,10 +113,7 @@ Read more about dynamic catch-all routes here: https://nextjs.org/docs/routing/d
110
113
  if (m = matches(
111
114
  "/localized-global-elements/:globalElementId/:locale"
112
115
  )) {
113
- return client.getLocalizedGlobalElement(m.params.globalElementId, m.params.locale, siteVersion).then((resource) => {
114
- const body2 = resource === null ? { message: "Not Found" } : resource;
115
- return match(args).with(routeHandlerPattern, () => NextResponse.json(body2)).with(apiRoutePattern, ([, res]) => res.json(body2)).exhaustive();
116
- });
116
+ return client.getLocalizedGlobalElement(m.params.globalElementId, m.params.locale, siteVersion).then(handleResource);
117
117
  }
118
118
  if (m = matches("/page-pathname-slices/:id")) {
119
119
  const localeParam = match(args).with(routeHandlerPattern, ([request]) => request.nextUrl.searchParams.get("locale")).with(apiRoutePattern, ([req]) => req.query.locale).exhaustive();