@makeswift/runtime 0.26.4-canary.0 → 0.26.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (534) hide show
  1. package/dist/cjs/api/{client.js → react.js} +4 -4
  2. package/dist/cjs/api/react.js.map +1 -0
  3. package/dist/cjs/api-handler/handlers/element-tree.js.map +1 -1
  4. package/dist/cjs/api-handler/handlers/manifest.js +1 -1
  5. package/dist/cjs/api-handler/handlers/merge-translated-data.js.map +1 -1
  6. package/dist/cjs/api-handler/handlers/translatable-data.js.map +1 -1
  7. package/dist/cjs/builder/host-to-builder-actions.js +3 -3
  8. package/dist/cjs/builder/host-to-builder-actions.js.map +1 -1
  9. package/dist/cjs/builder/index.js +2 -2
  10. package/dist/cjs/builder/index.js.map +1 -1
  11. package/dist/cjs/client/index.js +8 -8
  12. package/dist/cjs/client/index.js.map +1 -1
  13. package/dist/cjs/components/builtin/Box/Box.js +1 -1
  14. package/dist/cjs/components/builtin/Box/Box.js.map +1 -1
  15. package/dist/cjs/components/builtin/Form/Form.js +1 -1
  16. package/dist/cjs/components/builtin/Form/Form.js.map +1 -1
  17. package/dist/cjs/components/hooks/useTableFormFieldRefs.js +1 -1
  18. package/dist/cjs/components/hooks/useTableFormFieldRefs.js.map +1 -1
  19. package/dist/cjs/next/api-handler/config/app-router.js +10 -1
  20. package/dist/cjs/next/api-handler/config/app-router.js.map +1 -1
  21. package/dist/cjs/next/components/tests/controls/color-control/fixtures.js.map +1 -1
  22. package/dist/cjs/next/components/tests/controls/page-control-prop-rendering.js +2 -1
  23. package/dist/cjs/next/components/tests/controls/page-control-prop-rendering.js.map +1 -1
  24. package/dist/cjs/next/components/tests/controls/rich-text-v2-control/fixtures.js.map +1 -1
  25. package/dist/cjs/next/components/tests/makeswift-component/fixtures.js +2 -1
  26. package/dist/cjs/next/components/tests/makeswift-component/fixtures.js.map +1 -1
  27. package/dist/cjs/next/components/tests/prop-controllers/page-prop-controller.js +3 -2
  28. package/dist/cjs/next/components/tests/prop-controllers/page-prop-controller.js.map +1 -1
  29. package/dist/cjs/next/testing/element-data.js +3 -3
  30. package/dist/cjs/next/testing/element-data.js.map +1 -1
  31. package/dist/cjs/next/testing/index.js +0 -2
  32. package/dist/cjs/next/testing/index.js.map +1 -1
  33. package/dist/cjs/next/testing/page-rendering.js +3 -3
  34. package/dist/cjs/next/testing/page-rendering.js.map +1 -1
  35. package/dist/cjs/prop-controllers/descriptors.js.map +1 -1
  36. package/dist/cjs/prop-controllers/instances.js.map +1 -1
  37. package/dist/cjs/runtimes/react/components/Document.js +2 -2
  38. package/dist/cjs/runtimes/react/components/Document.js.map +1 -1
  39. package/dist/cjs/runtimes/react/components/DocumentRoot.js.map +1 -1
  40. package/dist/cjs/runtimes/react/components/Element.js +2 -2
  41. package/dist/cjs/runtimes/react/components/Element.js.map +1 -1
  42. package/dist/cjs/runtimes/react/components/ElementData.js.map +1 -1
  43. package/dist/cjs/runtimes/react/components/ElementReference.js.map +1 -1
  44. package/dist/cjs/runtimes/react/components/ElementRegistration.js +2 -2
  45. package/dist/cjs/runtimes/react/components/ElementRegistration.js.map +1 -1
  46. package/dist/cjs/runtimes/react/components/MakeswiftComponent.js +2 -2
  47. package/dist/cjs/runtimes/react/components/MakeswiftComponent.js.map +1 -1
  48. package/dist/cjs/runtimes/react/components/RuntimeProvider.js +3 -3
  49. package/dist/cjs/runtimes/react/components/RuntimeProvider.js.map +1 -1
  50. package/dist/cjs/runtimes/react/components/page/Page.js.map +1 -1
  51. package/dist/cjs/runtimes/react/controls/rich-text/rich-text.js +3 -2
  52. package/dist/cjs/runtimes/react/controls/rich-text/rich-text.js.map +1 -1
  53. package/dist/cjs/runtimes/react/controls/rich-text-v2/rich-text-v2.js +2 -2
  54. package/dist/cjs/runtimes/react/controls/rich-text-v2/rich-text-v2.js.map +1 -1
  55. package/dist/cjs/runtimes/react/controls.js +2 -2
  56. package/dist/cjs/runtimes/react/controls.js.map +1 -1
  57. package/dist/cjs/runtimes/react/element-imperative-handle.js +1 -1
  58. package/dist/cjs/runtimes/react/element-imperative-handle.js.map +1 -1
  59. package/dist/cjs/runtimes/react/hooks/use-breakpoints.js +2 -2
  60. package/dist/cjs/runtimes/react/hooks/use-breakpoints.js.map +1 -1
  61. package/dist/cjs/runtimes/react/hooks/use-builder-edit-mode.js +2 -2
  62. package/dist/cjs/runtimes/react/hooks/use-builder-edit-mode.js.map +1 -1
  63. package/dist/cjs/runtimes/react/hooks/use-cache-data.js +2 -2
  64. package/dist/cjs/runtimes/react/hooks/use-cache-data.js.map +1 -1
  65. package/dist/cjs/runtimes/react/hooks/use-component.js +3 -3
  66. package/dist/cjs/runtimes/react/hooks/use-component.js.map +1 -1
  67. package/dist/cjs/runtimes/react/hooks/use-dispatch.js.map +1 -1
  68. package/dist/cjs/runtimes/react/hooks/use-document.js +2 -2
  69. package/dist/cjs/runtimes/react/hooks/use-document.js.map +1 -1
  70. package/dist/cjs/runtimes/react/hooks/use-element-id.js +2 -2
  71. package/dist/cjs/runtimes/react/hooks/use-element-id.js.map +1 -1
  72. package/dist/cjs/runtimes/react/hooks/use-is-in-builder.js +2 -2
  73. package/dist/cjs/runtimes/react/hooks/use-is-in-builder.js.map +1 -1
  74. package/dist/cjs/runtimes/react/hooks/{use-is-read-only.js → use-is-preview.js} +9 -9
  75. package/dist/cjs/runtimes/react/hooks/use-is-preview.js.map +1 -0
  76. package/dist/cjs/runtimes/react/hooks/use-register-document.js.map +1 -1
  77. package/dist/cjs/runtimes/react/hooks/use-resolved-props.js +2 -2
  78. package/dist/cjs/runtimes/react/hooks/use-resolved-props.js.map +1 -1
  79. package/dist/cjs/runtimes/react/hooks/use-resource-resolver.js +1 -1
  80. package/dist/cjs/runtimes/react/hooks/use-resource-resolver.js.map +1 -1
  81. package/dist/cjs/runtimes/react/hooks/use-selector.js.map +1 -1
  82. package/dist/cjs/runtimes/react/hooks/use-store.js.map +1 -1
  83. package/dist/cjs/runtimes/react/hooks/use-universal-dispatch.js.map +1 -1
  84. package/dist/cjs/runtimes/react/host-api-client.js +2 -2
  85. package/dist/cjs/runtimes/react/host-api-client.js.map +1 -1
  86. package/dist/cjs/runtimes/react/index.js +3 -3
  87. package/dist/cjs/runtimes/react/index.js.map +1 -1
  88. package/dist/cjs/runtimes/react/poll-box-model.js +1 -1
  89. package/dist/cjs/runtimes/react/poll-box-model.js.map +1 -1
  90. package/dist/cjs/runtimes/react/react-runtime-core.js +3 -3
  91. package/dist/cjs/runtimes/react/react-runtime-core.js.map +1 -1
  92. package/dist/cjs/runtimes/react/runtime-core.js +2 -4
  93. package/dist/cjs/runtimes/react/runtime-core.js.map +1 -1
  94. package/dist/cjs/runtimes/react/utils/can-accept-ref.js.map +1 -1
  95. package/dist/cjs/state/actions/{internal/read-only-actions.js → internal.js} +62 -30
  96. package/dist/cjs/state/actions/internal.js.map +1 -0
  97. package/dist/cjs/state/builder-api/actions.js +8 -11
  98. package/dist/cjs/state/builder-api/actions.js.map +1 -1
  99. package/dist/cjs/state/host-api.js.map +1 -1
  100. package/dist/cjs/state/makeswift-api-client.js +2 -2
  101. package/dist/cjs/state/makeswift-api-client.js.map +1 -1
  102. package/dist/cjs/state/modules/api-resources.js +4 -7
  103. package/dist/cjs/state/modules/api-resources.js.map +1 -1
  104. package/dist/cjs/state/modules/{read-write/box-models.js → box-models.js} +4 -6
  105. package/dist/cjs/state/modules/box-models.js.map +1 -0
  106. package/dist/cjs/state/modules/breakpoints.js +1 -2
  107. package/dist/cjs/state/modules/breakpoints.js.map +1 -1
  108. package/dist/cjs/state/modules/builder-edit-mode.js +1 -2
  109. package/dist/cjs/state/modules/builder-edit-mode.js.map +1 -1
  110. package/dist/cjs/state/modules/components-meta.js +2 -3
  111. package/dist/cjs/state/modules/components-meta.js.map +1 -1
  112. package/dist/cjs/state/modules/{read-write/element-imperative-handles.js → element-imperative-handles.js} +3 -4
  113. package/dist/cjs/state/modules/element-imperative-handles.js.map +1 -0
  114. package/dist/cjs/state/modules/element-trees.js +3 -5
  115. package/dist/cjs/state/modules/element-trees.js.map +1 -1
  116. package/dist/cjs/state/modules/is-in-builder.js +1 -2
  117. package/dist/cjs/state/modules/is-in-builder.js.map +1 -1
  118. package/dist/cjs/state/modules/{is-read-only.js → is-preview.js} +9 -12
  119. package/dist/cjs/state/modules/is-preview.js.map +1 -0
  120. package/dist/cjs/state/modules/localized-resources-map.js +2 -4
  121. package/dist/cjs/state/modules/localized-resources-map.js.map +1 -1
  122. package/dist/cjs/state/modules/{read-write/pointer.js → pointer.js} +2 -3
  123. package/dist/cjs/state/modules/pointer.js.map +1 -0
  124. package/dist/cjs/state/modules/prop-controllers.js +2 -3
  125. package/dist/cjs/state/modules/prop-controllers.js.map +1 -1
  126. package/dist/cjs/state/modules/react-components.js +2 -3
  127. package/dist/cjs/state/modules/react-components.js.map +1 -1
  128. package/dist/cjs/state/modules/read-only-documents.js +2 -3
  129. package/dist/cjs/state/modules/read-only-documents.js.map +1 -1
  130. package/dist/cjs/state/modules/{read-write/read-write-documents.js → read-write-documents.js} +3 -3
  131. package/dist/cjs/state/modules/read-write-documents.js.map +1 -0
  132. package/dist/cjs/state/react-builder-preview.js +508 -18
  133. package/dist/cjs/state/react-builder-preview.js.map +1 -1
  134. package/dist/cjs/state/react-page.js +250 -6
  135. package/dist/cjs/state/react-page.js.map +1 -1
  136. package/dist/cjs/state/shared-api.js.map +1 -1
  137. package/dist/cjs/state/translations/get.js +2 -2
  138. package/dist/cjs/state/translations/get.js.map +1 -1
  139. package/dist/cjs/state/translations/merge.js +2 -2
  140. package/dist/cjs/state/translations/merge.js.map +1 -1
  141. package/dist/esm/api/{client.js → react.js} +1 -1
  142. package/dist/esm/api/react.js.map +1 -0
  143. package/dist/esm/api-handler/handlers/element-tree.js.map +1 -1
  144. package/dist/esm/api-handler/handlers/manifest.js +1 -1
  145. package/dist/esm/api-handler/handlers/merge-translated-data.js.map +1 -1
  146. package/dist/esm/api-handler/handlers/translatable-data.js.map +1 -1
  147. package/dist/esm/builder/host-to-builder-actions.js +4 -4
  148. package/dist/esm/builder/host-to-builder-actions.js.map +1 -1
  149. package/dist/esm/builder/index.js +1 -1
  150. package/dist/esm/builder/index.js.map +1 -1
  151. package/dist/esm/client/index.js +5 -5
  152. package/dist/esm/client/index.js.map +1 -1
  153. package/dist/esm/components/builtin/Box/Box.js +1 -1
  154. package/dist/esm/components/builtin/Box/Box.js.map +1 -1
  155. package/dist/esm/components/builtin/Form/Form.js +1 -1
  156. package/dist/esm/components/builtin/Form/Form.js.map +1 -1
  157. package/dist/esm/components/hooks/useTableFormFieldRefs.js +1 -1
  158. package/dist/esm/components/hooks/useTableFormFieldRefs.js.map +1 -1
  159. package/dist/esm/next/api-handler/config/app-router.js +10 -1
  160. package/dist/esm/next/api-handler/config/app-router.js.map +1 -1
  161. package/dist/esm/next/components/tests/controls/color-control/fixtures.js.map +1 -1
  162. package/dist/esm/next/components/tests/controls/page-control-prop-rendering.js +2 -1
  163. package/dist/esm/next/components/tests/controls/page-control-prop-rendering.js.map +1 -1
  164. package/dist/esm/next/components/tests/controls/rich-text-v2-control/fixtures.js.map +1 -1
  165. package/dist/esm/next/components/tests/makeswift-component/fixtures.js +2 -1
  166. package/dist/esm/next/components/tests/makeswift-component/fixtures.js.map +1 -1
  167. package/dist/esm/next/components/tests/prop-controllers/page-prop-controller.js +3 -2
  168. package/dist/esm/next/components/tests/prop-controllers/page-prop-controller.js.map +1 -1
  169. package/dist/esm/next/testing/element-data.js +1 -1
  170. package/dist/esm/next/testing/element-data.js.map +1 -1
  171. package/dist/esm/next/testing/index.js +0 -1
  172. package/dist/esm/next/testing/index.js.map +1 -1
  173. package/dist/esm/next/testing/page-rendering.js +3 -3
  174. package/dist/esm/next/testing/page-rendering.js.map +1 -1
  175. package/dist/esm/prop-controllers/descriptors.js.map +1 -1
  176. package/dist/esm/prop-controllers/instances.js.map +1 -1
  177. package/dist/esm/runtimes/react/components/Document.js +1 -1
  178. package/dist/esm/runtimes/react/components/Document.js.map +1 -1
  179. package/dist/esm/runtimes/react/components/DocumentRoot.js.map +1 -1
  180. package/dist/esm/runtimes/react/components/Element.js +1 -3
  181. package/dist/esm/runtimes/react/components/Element.js.map +1 -1
  182. package/dist/esm/runtimes/react/components/ElementData.js.map +1 -1
  183. package/dist/esm/runtimes/react/components/ElementReference.js.map +1 -1
  184. package/dist/esm/runtimes/react/components/ElementRegistration.js +1 -1
  185. package/dist/esm/runtimes/react/components/ElementRegistration.js.map +1 -1
  186. package/dist/esm/runtimes/react/components/MakeswiftComponent.js +1 -1
  187. package/dist/esm/runtimes/react/components/MakeswiftComponent.js.map +1 -1
  188. package/dist/esm/runtimes/react/components/RuntimeProvider.js +2 -2
  189. package/dist/esm/runtimes/react/components/RuntimeProvider.js.map +1 -1
  190. package/dist/esm/runtimes/react/components/page/Page.js.map +1 -1
  191. package/dist/esm/runtimes/react/controls/rich-text/rich-text.js +3 -2
  192. package/dist/esm/runtimes/react/controls/rich-text/rich-text.js.map +1 -1
  193. package/dist/esm/runtimes/react/controls/rich-text-v2/rich-text-v2.js +2 -2
  194. package/dist/esm/runtimes/react/controls/rich-text-v2/rich-text-v2.js.map +1 -1
  195. package/dist/esm/runtimes/react/controls.js +2 -2
  196. package/dist/esm/runtimes/react/controls.js.map +1 -1
  197. package/dist/esm/runtimes/react/element-imperative-handle.js +1 -1
  198. package/dist/esm/runtimes/react/element-imperative-handle.js.map +1 -1
  199. package/dist/esm/runtimes/react/hooks/use-breakpoints.js +1 -1
  200. package/dist/esm/runtimes/react/hooks/use-breakpoints.js.map +1 -1
  201. package/dist/esm/runtimes/react/hooks/use-builder-edit-mode.js +1 -1
  202. package/dist/esm/runtimes/react/hooks/use-builder-edit-mode.js.map +1 -1
  203. package/dist/esm/runtimes/react/hooks/use-cache-data.js +1 -1
  204. package/dist/esm/runtimes/react/hooks/use-cache-data.js.map +1 -1
  205. package/dist/esm/runtimes/react/hooks/use-component.js +1 -1
  206. package/dist/esm/runtimes/react/hooks/use-component.js.map +1 -1
  207. package/dist/esm/runtimes/react/hooks/use-dispatch.js.map +1 -1
  208. package/dist/esm/runtimes/react/hooks/use-document.js +1 -1
  209. package/dist/esm/runtimes/react/hooks/use-document.js.map +1 -1
  210. package/dist/esm/runtimes/react/hooks/use-element-id.js +1 -1
  211. package/dist/esm/runtimes/react/hooks/use-element-id.js.map +1 -1
  212. package/dist/esm/runtimes/react/hooks/use-is-in-builder.js +1 -1
  213. package/dist/esm/runtimes/react/hooks/use-is-in-builder.js.map +1 -1
  214. package/dist/esm/runtimes/react/hooks/use-is-preview.js +9 -0
  215. package/dist/esm/runtimes/react/hooks/use-is-preview.js.map +1 -0
  216. package/dist/esm/runtimes/react/hooks/use-register-document.js.map +1 -1
  217. package/dist/esm/runtimes/react/hooks/use-resolved-props.js +2 -2
  218. package/dist/esm/runtimes/react/hooks/use-resolved-props.js.map +1 -1
  219. package/dist/esm/runtimes/react/hooks/use-resource-resolver.js +1 -1
  220. package/dist/esm/runtimes/react/hooks/use-resource-resolver.js.map +1 -1
  221. package/dist/esm/runtimes/react/hooks/use-selector.js.map +1 -1
  222. package/dist/esm/runtimes/react/hooks/use-store.js.map +1 -1
  223. package/dist/esm/runtimes/react/hooks/use-universal-dispatch.js.map +1 -1
  224. package/dist/esm/runtimes/react/host-api-client.js +1 -1
  225. package/dist/esm/runtimes/react/host-api-client.js.map +1 -1
  226. package/dist/esm/runtimes/react/index.js +2 -2
  227. package/dist/esm/runtimes/react/index.js.map +1 -1
  228. package/dist/esm/runtimes/react/poll-box-model.js +1 -1
  229. package/dist/esm/runtimes/react/poll-box-model.js.map +1 -1
  230. package/dist/esm/runtimes/react/react-runtime-core.js +1 -4
  231. package/dist/esm/runtimes/react/react-runtime-core.js.map +1 -1
  232. package/dist/esm/runtimes/react/runtime-core.js +5 -3
  233. package/dist/esm/runtimes/react/runtime-core.js.map +1 -1
  234. package/dist/esm/runtimes/react/utils/can-accept-ref.js.map +1 -1
  235. package/dist/esm/state/actions/{internal/read-only-actions.js → internal.js} +52 -24
  236. package/dist/esm/state/actions/internal.js.map +1 -0
  237. package/dist/esm/state/builder-api/actions.js +7 -8
  238. package/dist/esm/state/builder-api/actions.js.map +1 -1
  239. package/dist/esm/state/host-api.js.map +1 -1
  240. package/dist/esm/state/makeswift-api-client.js +1 -1
  241. package/dist/esm/state/makeswift-api-client.js.map +1 -1
  242. package/dist/esm/state/modules/api-resources.js +5 -8
  243. package/dist/esm/state/modules/api-resources.js.map +1 -1
  244. package/dist/esm/state/modules/{read-write/box-models.js → box-models.js} +4 -6
  245. package/dist/esm/state/modules/box-models.js.map +1 -0
  246. package/dist/esm/state/modules/breakpoints.js +2 -3
  247. package/dist/esm/state/modules/breakpoints.js.map +1 -1
  248. package/dist/esm/state/modules/builder-edit-mode.js +2 -3
  249. package/dist/esm/state/modules/builder-edit-mode.js.map +1 -1
  250. package/dist/esm/state/modules/components-meta.js +3 -4
  251. package/dist/esm/state/modules/components-meta.js.map +1 -1
  252. package/dist/esm/state/modules/{read-write/element-imperative-handles.js → element-imperative-handles.js} +3 -4
  253. package/dist/esm/state/modules/element-imperative-handles.js.map +1 -0
  254. package/dist/esm/state/modules/element-trees.js +4 -6
  255. package/dist/esm/state/modules/element-trees.js.map +1 -1
  256. package/dist/esm/state/modules/is-in-builder.js +2 -3
  257. package/dist/esm/state/modules/is-in-builder.js.map +1 -1
  258. package/dist/esm/state/modules/is-preview.js +21 -0
  259. package/dist/esm/state/modules/is-preview.js.map +1 -0
  260. package/dist/esm/state/modules/localized-resources-map.js +3 -5
  261. package/dist/esm/state/modules/localized-resources-map.js.map +1 -1
  262. package/dist/esm/state/modules/{read-write/pointer.js → pointer.js} +2 -3
  263. package/dist/esm/state/modules/pointer.js.map +1 -0
  264. package/dist/esm/state/modules/prop-controllers.js +3 -4
  265. package/dist/esm/state/modules/prop-controllers.js.map +1 -1
  266. package/dist/esm/state/modules/react-components.js +3 -4
  267. package/dist/esm/state/modules/react-components.js.map +1 -1
  268. package/dist/esm/state/modules/read-only-documents.js +6 -4
  269. package/dist/esm/state/modules/read-only-documents.js.map +1 -1
  270. package/dist/esm/state/modules/{read-write/read-write-documents.js → read-write-documents.js} +3 -3
  271. package/dist/esm/state/modules/read-write-documents.js.map +1 -0
  272. package/dist/esm/state/react-builder-preview.js +500 -15
  273. package/dist/esm/state/react-builder-preview.js.map +1 -1
  274. package/dist/esm/state/react-page.js +240 -7
  275. package/dist/esm/state/react-page.js.map +1 -1
  276. package/dist/esm/state/shared-api.js.map +1 -1
  277. package/dist/esm/state/translations/get.js +1 -1
  278. package/dist/esm/state/translations/get.js.map +1 -1
  279. package/dist/esm/state/translations/merge.js +1 -1
  280. package/dist/esm/state/translations/merge.js.map +1 -1
  281. package/dist/types/api/{client.d.ts → react.d.ts} +1 -1
  282. package/dist/types/api/react.d.ts.map +1 -0
  283. package/dist/types/api-handler/handlers/element-tree.d.ts +1 -1
  284. package/dist/types/api-handler/handlers/element-tree.d.ts.map +1 -1
  285. package/dist/types/api-handler/handlers/merge-translated-data.d.ts +1 -1
  286. package/dist/types/api-handler/handlers/merge-translated-data.d.ts.map +1 -1
  287. package/dist/types/api-handler/handlers/translatable-data.d.ts +1 -1
  288. package/dist/types/api-handler/handlers/translatable-data.d.ts.map +1 -1
  289. package/dist/types/api-handler/handlers/webhook/types.d.ts +4 -4
  290. package/dist/types/builder/host-to-builder-actions.d.ts +2 -2
  291. package/dist/types/builder/host-to-builder-actions.d.ts.map +1 -1
  292. package/dist/types/builder/index.d.ts +2 -2
  293. package/dist/types/builder/index.d.ts.map +1 -1
  294. package/dist/types/client/index.d.ts +2 -2
  295. package/dist/types/client/index.d.ts.map +1 -1
  296. package/dist/types/components/builtin/Box/Box.d.ts +1 -1
  297. package/dist/types/components/builtin/Box/Box.d.ts.map +1 -1
  298. package/dist/types/components/builtin/Form/Form.d.ts +1 -1
  299. package/dist/types/components/builtin/Form/Form.d.ts.map +1 -1
  300. package/dist/types/locale.d.ts +1 -1
  301. package/dist/types/next/api-handler/config/app-router.d.ts.map +1 -1
  302. package/dist/types/next/components/tests/controls/color-control/fixtures.d.ts +1 -1
  303. package/dist/types/next/components/tests/controls/color-control/fixtures.d.ts.map +1 -1
  304. package/dist/types/next/components/tests/controls/page-control-prop-rendering.d.ts +3 -3
  305. package/dist/types/next/components/tests/controls/page-control-prop-rendering.d.ts.map +1 -1
  306. package/dist/types/next/components/tests/controls/rich-text-v2-control/fixtures.d.ts +1 -1
  307. package/dist/types/next/components/tests/controls/rich-text-v2-control/fixtures.d.ts.map +1 -1
  308. package/dist/types/next/components/tests/makeswift-component/fixtures.d.ts +1 -1
  309. package/dist/types/next/components/tests/makeswift-component/fixtures.d.ts.map +1 -1
  310. package/dist/types/next/components/tests/prop-controllers/page-prop-controller.d.ts +1 -1
  311. package/dist/types/next/components/tests/prop-controllers/page-prop-controller.d.ts.map +1 -1
  312. package/dist/types/next/testing/element-data.d.ts +1 -1
  313. package/dist/types/next/testing/element-data.d.ts.map +1 -1
  314. package/dist/types/next/testing/index.d.ts +0 -1
  315. package/dist/types/next/testing/index.d.ts.map +1 -1
  316. package/dist/types/next/testing/page-rendering.d.ts.map +1 -1
  317. package/dist/types/prop-controllers/descriptors.d.ts +1 -1
  318. package/dist/types/prop-controllers/descriptors.d.ts.map +1 -1
  319. package/dist/types/prop-controllers/instances.d.ts +1 -1
  320. package/dist/types/prop-controllers/instances.d.ts.map +1 -1
  321. package/dist/types/runtimes/react/components/Document.d.ts +1 -1
  322. package/dist/types/runtimes/react/components/Document.d.ts.map +1 -1
  323. package/dist/types/runtimes/react/components/DocumentRoot.d.ts +1 -1
  324. package/dist/types/runtimes/react/components/DocumentRoot.d.ts.map +1 -1
  325. package/dist/types/runtimes/react/components/Element.d.ts +1 -1
  326. package/dist/types/runtimes/react/components/Element.d.ts.map +1 -1
  327. package/dist/types/runtimes/react/components/ElementData.d.ts +1 -1
  328. package/dist/types/runtimes/react/components/ElementData.d.ts.map +1 -1
  329. package/dist/types/runtimes/react/components/ElementReference.d.ts +1 -1
  330. package/dist/types/runtimes/react/components/ElementReference.d.ts.map +1 -1
  331. package/dist/types/runtimes/react/components/RuntimeProvider.d.ts +1 -1
  332. package/dist/types/runtimes/react/components/RuntimeProvider.d.ts.map +1 -1
  333. package/dist/types/runtimes/react/components/page/Page.d.ts +1 -1
  334. package/dist/types/runtimes/react/components/page/Page.d.ts.map +1 -1
  335. package/dist/types/runtimes/react/controls.d.ts +2 -2
  336. package/dist/types/runtimes/react/controls.d.ts.map +1 -1
  337. package/dist/types/runtimes/react/element-imperative-handle.d.ts +1 -1
  338. package/dist/types/runtimes/react/element-imperative-handle.d.ts.map +1 -1
  339. package/dist/types/runtimes/react/hooks/use-cache-data.d.ts +1 -1
  340. package/dist/types/runtimes/react/hooks/use-cache-data.d.ts.map +1 -1
  341. package/dist/types/runtimes/react/hooks/use-component.d.ts +1 -1
  342. package/dist/types/runtimes/react/hooks/use-component.d.ts.map +1 -1
  343. package/dist/types/runtimes/react/hooks/use-dispatch.d.ts +3 -3
  344. package/dist/types/runtimes/react/hooks/use-dispatch.d.ts.map +1 -1
  345. package/dist/types/runtimes/react/hooks/use-document.d.ts +1 -1
  346. package/dist/types/runtimes/react/hooks/use-document.d.ts.map +1 -1
  347. package/dist/types/runtimes/react/hooks/use-is-preview.d.ts +2 -0
  348. package/dist/types/runtimes/react/hooks/use-is-preview.d.ts.map +1 -0
  349. package/dist/types/runtimes/react/hooks/use-register-document.d.ts +1 -1
  350. package/dist/types/runtimes/react/hooks/use-register-document.d.ts.map +1 -1
  351. package/dist/types/runtimes/react/hooks/use-selector.d.ts +3 -3
  352. package/dist/types/runtimes/react/hooks/use-selector.d.ts.map +1 -1
  353. package/dist/types/runtimes/react/hooks/use-store.d.ts +4 -4
  354. package/dist/types/runtimes/react/hooks/use-store.d.ts.map +1 -1
  355. package/dist/types/runtimes/react/hooks/use-universal-dispatch.d.ts +1 -1
  356. package/dist/types/runtimes/react/hooks/use-universal-dispatch.d.ts.map +1 -1
  357. package/dist/types/runtimes/react/host-api-client.d.ts +1 -1
  358. package/dist/types/runtimes/react/host-api-client.d.ts.map +1 -1
  359. package/dist/types/runtimes/react/index.d.ts +1 -1
  360. package/dist/types/runtimes/react/index.d.ts.map +1 -1
  361. package/dist/types/runtimes/react/poll-box-model.d.ts +1 -1
  362. package/dist/types/runtimes/react/poll-box-model.d.ts.map +1 -1
  363. package/dist/types/runtimes/react/react-runtime-core.d.ts +1 -1
  364. package/dist/types/runtimes/react/react-runtime-core.d.ts.map +1 -1
  365. package/dist/types/runtimes/react/runtime-core.d.ts +1 -2
  366. package/dist/types/runtimes/react/runtime-core.d.ts.map +1 -1
  367. package/dist/types/runtimes/react/utils/can-accept-ref.d.ts +1 -1
  368. package/dist/types/runtimes/react/utils/can-accept-ref.d.ts.map +1 -1
  369. package/dist/types/state/__tests__/react-page.test.d.ts +2 -0
  370. package/dist/types/state/__tests__/react-page.test.d.ts.map +1 -0
  371. package/dist/types/state/actions/index.d.ts +5 -6
  372. package/dist/types/state/actions/index.d.ts.map +1 -1
  373. package/dist/types/state/actions/{internal/read-only-actions.d.ts → internal.d.ts} +67 -33
  374. package/dist/types/state/actions/internal.d.ts.map +1 -0
  375. package/dist/types/state/builder-api/actions.d.ts +14 -14
  376. package/dist/types/state/builder-api/actions.d.ts.map +1 -1
  377. package/dist/types/state/host-api.d.ts +1 -1
  378. package/dist/types/state/host-api.d.ts.map +1 -1
  379. package/dist/types/state/modules/api-resources.d.ts.map +1 -1
  380. package/dist/types/state/modules/{read-write/box-models.d.ts → box-models.d.ts} +1 -1
  381. package/dist/types/state/modules/box-models.d.ts.map +1 -0
  382. package/dist/types/state/modules/breakpoints.d.ts.map +1 -1
  383. package/dist/types/state/modules/builder-edit-mode.d.ts.map +1 -1
  384. package/dist/types/state/modules/components-meta.d.ts.map +1 -1
  385. package/dist/types/state/modules/element-imperative-handles.d.ts +7 -0
  386. package/dist/types/state/modules/element-imperative-handles.d.ts.map +1 -0
  387. package/dist/types/state/modules/element-trees.d.ts.map +1 -1
  388. package/dist/types/state/modules/is-in-builder.d.ts.map +1 -1
  389. package/dist/types/state/modules/{is-read-only.d.ts → is-preview.d.ts} +3 -3
  390. package/dist/types/state/modules/is-preview.d.ts.map +1 -0
  391. package/dist/types/state/modules/localized-resources-map.d.ts.map +1 -1
  392. package/dist/types/state/modules/{read-write/pointer.d.ts → pointer.d.ts} +3 -2
  393. package/dist/types/state/modules/pointer.d.ts.map +1 -0
  394. package/dist/types/state/modules/prop-controllers.d.ts.map +1 -1
  395. package/dist/types/state/modules/react-components.d.ts.map +1 -1
  396. package/dist/types/state/modules/read-only-documents.d.ts.map +1 -1
  397. package/dist/types/state/modules/{read-write/read-write-documents.d.ts → read-write-documents.d.ts} +4 -4
  398. package/dist/types/state/modules/read-write-documents.d.ts.map +1 -0
  399. package/dist/types/state/react-builder-preview.d.ts +93 -26
  400. package/dist/types/state/react-builder-preview.d.ts.map +1 -1
  401. package/dist/types/state/react-page.d.ts +136 -20
  402. package/dist/types/state/react-page.d.ts.map +1 -1
  403. package/dist/types/state/shared-api.d.ts.map +1 -1
  404. package/dist/types/state/translations/get.d.ts +1 -1
  405. package/dist/types/state/translations/get.d.ts.map +1 -1
  406. package/dist/types/state/translations/merge.d.ts +1 -1
  407. package/dist/types/state/translations/merge.d.ts.map +1 -1
  408. package/package.json +3 -3
  409. package/dist/cjs/api/client.js.map +0 -1
  410. package/dist/cjs/next/testing/react-runtime.js +0 -29
  411. package/dist/cjs/next/testing/react-runtime.js.map +0 -1
  412. package/dist/cjs/runtimes/react/hooks/use-is-read-only.js.map +0 -1
  413. package/dist/cjs/runtimes/react/testing/react-runtime.js +0 -32
  414. package/dist/cjs/runtimes/react/testing/react-runtime.js.map +0 -1
  415. package/dist/cjs/state/actions/internal/index.js +0 -34
  416. package/dist/cjs/state/actions/internal/index.js.map +0 -1
  417. package/dist/cjs/state/actions/internal/read-only-actions.js.map +0 -1
  418. package/dist/cjs/state/actions/internal/read-write-actions.js +0 -70
  419. package/dist/cjs/state/actions/internal/read-write-actions.js.map +0 -1
  420. package/dist/cjs/state/middleware/prop-controller-handles.js +0 -114
  421. package/dist/cjs/state/middleware/prop-controller-handles.js.map +0 -1
  422. package/dist/cjs/state/middleware/read-only-element-tree.js +0 -52
  423. package/dist/cjs/state/middleware/read-only-element-tree.js.map +0 -1
  424. package/dist/cjs/state/middleware/read-write/builder-api/element-size.js +0 -40
  425. package/dist/cjs/state/middleware/read-write/builder-api/element-size.js.map +0 -1
  426. package/dist/cjs/state/middleware/read-write/builder-api/index.js +0 -76
  427. package/dist/cjs/state/middleware/read-write/builder-api/index.js.map +0 -1
  428. package/dist/cjs/state/middleware/read-write/builder-api/initialize-connection.js +0 -278
  429. package/dist/cjs/state/middleware/read-write/builder-api/initialize-connection.js.map +0 -1
  430. package/dist/cjs/state/middleware/read-write/makeswift-api-client-sync.js +0 -37
  431. package/dist/cjs/state/middleware/read-write/makeswift-api-client-sync.js.map +0 -1
  432. package/dist/cjs/state/middleware/read-write/measure-box-models.js +0 -71
  433. package/dist/cjs/state/middleware/read-write/measure-box-models.js.map +0 -1
  434. package/dist/cjs/state/middleware/read-write/update-element-tree.js +0 -59
  435. package/dist/cjs/state/middleware/read-write/update-element-tree.js.map +0 -1
  436. package/dist/cjs/state/modules/is-read-only.js.map +0 -1
  437. package/dist/cjs/state/modules/read-write/box-models.js.map +0 -1
  438. package/dist/cjs/state/modules/read-write/element-imperative-handles.js.map +0 -1
  439. package/dist/cjs/state/modules/read-write/pointer.js.map +0 -1
  440. package/dist/cjs/state/modules/read-write/read-write-documents.js.map +0 -1
  441. package/dist/cjs/state/ops/copy-element-tree.js +0 -67
  442. package/dist/cjs/state/ops/copy-element-tree.js.map +0 -1
  443. package/dist/cjs/state/ops/merge-element.js +0 -73
  444. package/dist/cjs/state/ops/merge-element.js.map +0 -1
  445. package/dist/cjs/state/read-only-state.js +0 -209
  446. package/dist/cjs/state/read-only-state.js.map +0 -1
  447. package/dist/cjs/state/read-write-state.js +0 -121
  448. package/dist/cjs/state/read-write-state.js.map +0 -1
  449. package/dist/esm/api/client.js.map +0 -1
  450. package/dist/esm/next/testing/react-runtime.js +0 -5
  451. package/dist/esm/next/testing/react-runtime.js.map +0 -1
  452. package/dist/esm/runtimes/react/hooks/use-is-read-only.js +0 -9
  453. package/dist/esm/runtimes/react/hooks/use-is-read-only.js.map +0 -1
  454. package/dist/esm/runtimes/react/testing/react-runtime.js +0 -8
  455. package/dist/esm/runtimes/react/testing/react-runtime.js.map +0 -1
  456. package/dist/esm/state/actions/internal/index.js +0 -10
  457. package/dist/esm/state/actions/internal/index.js.map +0 -1
  458. package/dist/esm/state/actions/internal/read-only-actions.js.map +0 -1
  459. package/dist/esm/state/actions/internal/read-write-actions.js +0 -41
  460. package/dist/esm/state/actions/internal/read-write-actions.js.map +0 -1
  461. package/dist/esm/state/middleware/prop-controller-handles.js +0 -80
  462. package/dist/esm/state/middleware/prop-controller-handles.js.map +0 -1
  463. package/dist/esm/state/middleware/read-only-element-tree.js +0 -28
  464. package/dist/esm/state/middleware/read-only-element-tree.js.map +0 -1
  465. package/dist/esm/state/middleware/read-write/builder-api/element-size.js +0 -16
  466. package/dist/esm/state/middleware/read-write/builder-api/element-size.js.map +0 -1
  467. package/dist/esm/state/middleware/read-write/builder-api/index.js +0 -52
  468. package/dist/esm/state/middleware/read-write/builder-api/index.js.map +0 -1
  469. package/dist/esm/state/middleware/read-write/builder-api/initialize-connection.js +0 -251
  470. package/dist/esm/state/middleware/read-write/builder-api/initialize-connection.js.map +0 -1
  471. package/dist/esm/state/middleware/read-write/makeswift-api-client-sync.js +0 -13
  472. package/dist/esm/state/middleware/read-write/makeswift-api-client-sync.js.map +0 -1
  473. package/dist/esm/state/middleware/read-write/measure-box-models.js +0 -37
  474. package/dist/esm/state/middleware/read-write/measure-box-models.js.map +0 -1
  475. package/dist/esm/state/middleware/read-write/update-element-tree.js +0 -35
  476. package/dist/esm/state/middleware/read-write/update-element-tree.js.map +0 -1
  477. package/dist/esm/state/modules/is-read-only.js +0 -24
  478. package/dist/esm/state/modules/is-read-only.js.map +0 -1
  479. package/dist/esm/state/modules/read-write/box-models.js.map +0 -1
  480. package/dist/esm/state/modules/read-write/element-imperative-handles.js.map +0 -1
  481. package/dist/esm/state/modules/read-write/pointer.js.map +0 -1
  482. package/dist/esm/state/modules/read-write/read-write-documents.js.map +0 -1
  483. package/dist/esm/state/ops/copy-element-tree.js +0 -37
  484. package/dist/esm/state/ops/copy-element-tree.js.map +0 -1
  485. package/dist/esm/state/ops/merge-element.js +0 -39
  486. package/dist/esm/state/ops/merge-element.js.map +0 -1
  487. package/dist/esm/state/read-only-state.js +0 -157
  488. package/dist/esm/state/read-only-state.js.map +0 -1
  489. package/dist/esm/state/read-write-state.js +0 -76
  490. package/dist/esm/state/read-write-state.js.map +0 -1
  491. package/dist/types/api/client.d.ts.map +0 -1
  492. package/dist/types/next/testing/react-runtime.d.ts +0 -2
  493. package/dist/types/next/testing/react-runtime.d.ts.map +0 -1
  494. package/dist/types/runtimes/react/hooks/use-is-read-only.d.ts +0 -2
  495. package/dist/types/runtimes/react/hooks/use-is-read-only.d.ts.map +0 -1
  496. package/dist/types/runtimes/react/testing/react-runtime.d.ts +0 -3
  497. package/dist/types/runtimes/react/testing/react-runtime.d.ts.map +0 -1
  498. package/dist/types/state/__tests__/merge-element.test.d.ts +0 -2
  499. package/dist/types/state/__tests__/merge-element.test.d.ts.map +0 -1
  500. package/dist/types/state/actions/internal/index.d.ts +0 -25
  501. package/dist/types/state/actions/internal/index.d.ts.map +0 -1
  502. package/dist/types/state/actions/internal/read-only-actions.d.ts.map +0 -1
  503. package/dist/types/state/actions/internal/read-write-actions.d.ts +0 -48
  504. package/dist/types/state/actions/internal/read-write-actions.d.ts.map +0 -1
  505. package/dist/types/state/middleware/prop-controller-handles.d.ts +0 -4
  506. package/dist/types/state/middleware/prop-controller-handles.d.ts.map +0 -1
  507. package/dist/types/state/middleware/read-only-element-tree.d.ts +0 -4
  508. package/dist/types/state/middleware/read-only-element-tree.d.ts.map +0 -1
  509. package/dist/types/state/middleware/read-write/builder-api/element-size.d.ts +0 -12
  510. package/dist/types/state/middleware/read-write/builder-api/element-size.d.ts.map +0 -1
  511. package/dist/types/state/middleware/read-write/builder-api/index.d.ts +0 -5
  512. package/dist/types/state/middleware/read-write/builder-api/index.d.ts.map +0 -1
  513. package/dist/types/state/middleware/read-write/builder-api/initialize-connection.d.ts +0 -6
  514. package/dist/types/state/middleware/read-write/builder-api/initialize-connection.d.ts.map +0 -1
  515. package/dist/types/state/middleware/read-write/makeswift-api-client-sync.d.ts +0 -5
  516. package/dist/types/state/middleware/read-write/makeswift-api-client-sync.d.ts.map +0 -1
  517. package/dist/types/state/middleware/read-write/measure-box-models.d.ts +0 -4
  518. package/dist/types/state/middleware/read-write/measure-box-models.d.ts.map +0 -1
  519. package/dist/types/state/middleware/read-write/update-element-tree.d.ts +0 -4
  520. package/dist/types/state/middleware/read-write/update-element-tree.d.ts.map +0 -1
  521. package/dist/types/state/modules/is-read-only.d.ts.map +0 -1
  522. package/dist/types/state/modules/read-write/box-models.d.ts.map +0 -1
  523. package/dist/types/state/modules/read-write/element-imperative-handles.d.ts +0 -6
  524. package/dist/types/state/modules/read-write/element-imperative-handles.d.ts.map +0 -1
  525. package/dist/types/state/modules/read-write/pointer.d.ts.map +0 -1
  526. package/dist/types/state/modules/read-write/read-write-documents.d.ts.map +0 -1
  527. package/dist/types/state/ops/copy-element-tree.d.ts +0 -37
  528. package/dist/types/state/ops/copy-element-tree.d.ts.map +0 -1
  529. package/dist/types/state/ops/merge-element.d.ts +0 -4
  530. package/dist/types/state/ops/merge-element.d.ts.map +0 -1
  531. package/dist/types/state/read-only-state.d.ts +0 -122
  532. package/dist/types/state/read-only-state.d.ts.map +0 -1
  533. package/dist/types/state/read-write-state.d.ts +0 -56
  534. package/dist/types/state/read-write-state.d.ts.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/runtimes/react/element-imperative-handle.ts"],"sourcesContent":["import { BoxModel } from '@makeswift/controls'\nimport { BoxModelHandle } from '../../state/modules/read-write/box-models'\nimport { Descriptor } from '../../prop-controllers/descriptors'\nimport { DescriptorsPropControllers } from '../../prop-controllers/instances'\nimport { isMeasurable, measure } from '../../state/modules/read-write/box-models'\nimport {\n isPropControllersHandle,\n PropControllersHandle,\n} from '../../state/modules/prop-controller-handles'\n\nexport class ElementImperativeHandle<\n T extends Record<string, Descriptor> = Record<string, Descriptor>,\n >\n implements BoxModelHandle, PropControllersHandle<T>\n{\n private getCurrent: () => unknown = () => null\n private lastPropControllers: DescriptorsPropControllers<T> | null = null\n\n callback(getCurrent: () => unknown) {\n const current = this.getCurrent()\n\n if (current === null) this.setPropControllers(null)\n\n this.getCurrent = getCurrent\n\n if (this.lastPropControllers !== null) this.setPropControllers(this.lastPropControllers)\n }\n\n getBoxModel(): BoxModel | null {\n const current = this.getCurrent()\n\n return isMeasurable(current) ? measure(current) : null\n }\n\n setPropControllers(propControllers: DescriptorsPropControllers<T> | null): void {\n const current = this.getCurrent()\n\n if (isPropControllersHandle(current)) current.setPropControllers(propControllers)\n\n this.lastPropControllers = propControllers\n }\n\n getDomNode(): Element | null {\n const current = this.getCurrent()\n\n if (isDomNodeHandle(current)) return current.getDomNode()\n\n return current instanceof Element ? current : null\n }\n}\n\ntype DomNodeHandle = {\n getDomNode(): Element | null\n}\n\nexport function isDomNodeHandle(value: unknown): value is DomNodeHandle {\n if (\n typeof value === 'object' &&\n value !== null &&\n 'getDomNode' in value &&\n typeof (value as { getDomNode: unknown }).getDomNode === 'function'\n ) {\n return true\n }\n\n return false\n}\n"],"mappings":"AAIA,SAAS,cAAc,eAAe;AACtC;AAAA,EACE;AAAA,OAEK;AAEA,MAAM,wBAIb;AAAA,EACU,aAA4B,MAAM;AAAA,EAClC,sBAA4D;AAAA,EAEpE,SAAS,YAA2B;AAClC,UAAM,UAAU,KAAK,WAAW;AAEhC,QAAI,YAAY;AAAM,WAAK,mBAAmB,IAAI;AAElD,SAAK,aAAa;AAElB,QAAI,KAAK,wBAAwB;AAAM,WAAK,mBAAmB,KAAK,mBAAmB;AAAA,EACzF;AAAA,EAEA,cAA+B;AAC7B,UAAM,UAAU,KAAK,WAAW;AAEhC,WAAO,aAAa,OAAO,IAAI,QAAQ,OAAO,IAAI;AAAA,EACpD;AAAA,EAEA,mBAAmB,iBAA6D;AAC9E,UAAM,UAAU,KAAK,WAAW;AAEhC,QAAI,wBAAwB,OAAO;AAAG,cAAQ,mBAAmB,eAAe;AAEhF,SAAK,sBAAsB;AAAA,EAC7B;AAAA,EAEA,aAA6B;AAC3B,UAAM,UAAU,KAAK,WAAW;AAEhC,QAAI,gBAAgB,OAAO;AAAG,aAAO,QAAQ,WAAW;AAExD,WAAO,mBAAmB,UAAU,UAAU;AAAA,EAChD;AACF;AAMO,SAAS,gBAAgB,OAAwC;AACtE,MACE,OAAO,UAAU,YACjB,UAAU,QACV,gBAAgB,SAChB,OAAQ,MAAkC,eAAe,YACzD;AACA,WAAO;AAAA,EACT;AAEA,SAAO;AACT;","names":[]}
1
+ {"version":3,"sources":["../../../../src/runtimes/react/element-imperative-handle.ts"],"sourcesContent":["import { BoxModel } from '@makeswift/controls'\nimport { BoxModelHandle } from '../../state/modules/box-models'\nimport { Descriptor } from '../../prop-controllers/descriptors'\nimport { DescriptorsPropControllers } from '../../prop-controllers/instances'\nimport { isMeasurable, measure } from '../../state/modules/box-models'\nimport {\n isPropControllersHandle,\n PropControllersHandle,\n} from '../../state/modules/prop-controller-handles'\n\nexport class ElementImperativeHandle<\n T extends Record<string, Descriptor> = Record<string, Descriptor>,\n >\n implements BoxModelHandle, PropControllersHandle<T>\n{\n private getCurrent: () => unknown = () => null\n private lastPropControllers: DescriptorsPropControllers<T> | null = null\n\n callback(getCurrent: () => unknown) {\n const current = this.getCurrent()\n\n if (current === null) this.setPropControllers(null)\n\n this.getCurrent = getCurrent\n\n if (this.lastPropControllers !== null) this.setPropControllers(this.lastPropControllers)\n }\n\n getBoxModel(): BoxModel | null {\n const current = this.getCurrent()\n\n return isMeasurable(current) ? measure(current) : null\n }\n\n setPropControllers(propControllers: DescriptorsPropControllers<T> | null): void {\n const current = this.getCurrent()\n\n if (isPropControllersHandle(current)) current.setPropControllers(propControllers)\n\n this.lastPropControllers = propControllers\n }\n\n getDomNode(): Element | null {\n const current = this.getCurrent()\n\n if (isDomNodeHandle(current)) return current.getDomNode()\n\n return current instanceof Element ? current : null\n }\n}\n\ntype DomNodeHandle = {\n getDomNode(): Element | null\n}\n\nexport function isDomNodeHandle(value: unknown): value is DomNodeHandle {\n if (\n typeof value === 'object' &&\n value !== null &&\n 'getDomNode' in value &&\n typeof (value as { getDomNode: unknown }).getDomNode === 'function'\n ) {\n return true\n }\n\n return false\n}\n"],"mappings":"AAIA,SAAS,cAAc,eAAe;AACtC;AAAA,EACE;AAAA,OAEK;AAEA,MAAM,wBAIb;AAAA,EACU,aAA4B,MAAM;AAAA,EAClC,sBAA4D;AAAA,EAEpE,SAAS,YAA2B;AAClC,UAAM,UAAU,KAAK,WAAW;AAEhC,QAAI,YAAY;AAAM,WAAK,mBAAmB,IAAI;AAElD,SAAK,aAAa;AAElB,QAAI,KAAK,wBAAwB;AAAM,WAAK,mBAAmB,KAAK,mBAAmB;AAAA,EACzF;AAAA,EAEA,cAA+B;AAC7B,UAAM,UAAU,KAAK,WAAW;AAEhC,WAAO,aAAa,OAAO,IAAI,QAAQ,OAAO,IAAI;AAAA,EACpD;AAAA,EAEA,mBAAmB,iBAA6D;AAC9E,UAAM,UAAU,KAAK,WAAW;AAEhC,QAAI,wBAAwB,OAAO;AAAG,cAAQ,mBAAmB,eAAe;AAEhF,SAAK,sBAAsB;AAAA,EAC7B;AAAA,EAEA,aAA6B;AAC3B,UAAM,UAAU,KAAK,WAAW;AAEhC,QAAI,gBAAgB,OAAO;AAAG,aAAO,QAAQ,WAAW;AAExD,WAAO,mBAAmB,UAAU,UAAU;AAAA,EAChD;AACF;AAMO,SAAS,gBAAgB,OAAwC;AACtE,MACE,OAAO,UAAU,YACjB,UAAU,QACV,gBAAgB,SAChB,OAAQ,MAAkC,eAAe,YACzD;AACA,WAAO;AAAA,EACT;AAEA,SAAO;AACT;","names":[]}
@@ -1,4 +1,4 @@
1
- import { getBreakpoints } from "../../../state/read-only-state";
1
+ import { getBreakpoints } from "../../../state/react-page";
2
2
  import { useSelector } from "./use-selector";
3
3
  function useBreakpoints() {
4
4
  return useSelector((state) => getBreakpoints(state));
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/runtimes/react/hooks/use-breakpoints.ts"],"sourcesContent":["import { Breakpoints } from '../../../state/modules/breakpoints'\nimport { getBreakpoints } from '../../../state/read-only-state'\nimport { useSelector } from './use-selector'\n\nexport function useBreakpoints(): Breakpoints {\n return useSelector(state => getBreakpoints(state))\n}\n"],"mappings":"AACA,SAAS,sBAAsB;AAC/B,SAAS,mBAAmB;AAErB,SAAS,iBAA8B;AAC5C,SAAO,YAAY,WAAS,eAAe,KAAK,CAAC;AACnD;","names":[]}
1
+ {"version":3,"sources":["../../../../../src/runtimes/react/hooks/use-breakpoints.ts"],"sourcesContent":["import { Breakpoints } from '../../../state/modules/breakpoints'\nimport { getBreakpoints } from '../../../state/react-page'\nimport { useSelector } from './use-selector'\n\nexport function useBreakpoints(): Breakpoints {\n return useSelector(state => getBreakpoints(state))\n}\n"],"mappings":"AACA,SAAS,sBAAsB;AAC/B,SAAS,mBAAmB;AAErB,SAAS,iBAA8B;AAC5C,SAAO,YAAY,WAAS,eAAe,KAAK,CAAC;AACnD;","names":[]}
@@ -1,4 +1,4 @@
1
- import { getBuilderEditMode } from "../../../state/read-only-state";
1
+ import { getBuilderEditMode } from "../../../state/react-page";
2
2
  import { useSelector } from "./use-selector";
3
3
  function useBuilderEditMode() {
4
4
  return useSelector((state) => getBuilderEditMode(state));
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/runtimes/react/hooks/use-builder-edit-mode.ts"],"sourcesContent":["import { BuilderEditMode } from '../../../state/modules/builder-edit-mode'\nimport { getBuilderEditMode } from '../../../state/read-only-state'\nimport { useSelector } from './use-selector'\n\nexport function useBuilderEditMode(): BuilderEditMode | null {\n return useSelector(state => getBuilderEditMode(state))\n}\n"],"mappings":"AACA,SAAS,0BAA0B;AACnC,SAAS,mBAAmB;AAErB,SAAS,qBAA6C;AAC3D,SAAO,YAAY,WAAS,mBAAmB,KAAK,CAAC;AACvD;","names":[]}
1
+ {"version":3,"sources":["../../../../../src/runtimes/react/hooks/use-builder-edit-mode.ts"],"sourcesContent":["import { BuilderEditMode } from '../../../state/modules/builder-edit-mode'\nimport { getBuilderEditMode } from '../../../state/react-page'\nimport { useSelector } from './use-selector'\n\nexport function useBuilderEditMode(): BuilderEditMode | null {\n return useSelector(state => getBuilderEditMode(state))\n}\n"],"mappings":"AACA,SAAS,0BAA0B;AACnC,SAAS,mBAAmB;AAErB,SAAS,qBAA6C;AAC3D,SAAO,YAAY,WAAS,mBAAmB,KAAK,CAAC;AACvD;","names":[]}
@@ -1,5 +1,5 @@
1
1
  import { useMemo } from "react";
2
- import { updateAPIClientCache } from "../../../state/actions/internal/read-write-actions";
2
+ import { updateAPIClientCache } from "../../../state/actions/internal";
3
3
  import { useMakeswiftHostApiClient } from "../host-api-client";
4
4
  function useCacheData(cacheData) {
5
5
  const { makeswiftApiClient: apiStore } = useMakeswiftHostApiClient();
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/runtimes/react/hooks/use-cache-data.ts"],"sourcesContent":["import { useMemo } from 'react'\nimport { type CacheData } from '../../../api/client'\nimport { updateAPIClientCache } from '../../../state/actions/internal/read-write-actions'\n\nimport { useMakeswiftHostApiClient } from '../host-api-client'\n\nexport function useCacheData(cacheData: CacheData) {\n const { makeswiftApiClient: apiStore } = useMakeswiftHostApiClient()\n\n // We perform cache hydration immediately on render - this is safe to do per\n // render because updating the API cache is idempotent. For precedence, see:\n //\n // https://github.com/TanStack/query/blob/8f9f183f11df3709a1a38c4efce1452788041f88/packages/react-query/src/HydrationBoundary.tsx#L41\n useMemo(() => apiStore.dispatch(updateAPIClientCache(cacheData)), [cacheData])\n}\n"],"mappings":"AAAA,SAAS,eAAe;AAExB,SAAS,4BAA4B;AAErC,SAAS,iCAAiC;AAEnC,SAAS,aAAa,WAAsB;AACjD,QAAM,EAAE,oBAAoB,SAAS,IAAI,0BAA0B;AAMnE,UAAQ,MAAM,SAAS,SAAS,qBAAqB,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC;AAC/E;","names":[]}
1
+ {"version":3,"sources":["../../../../../src/runtimes/react/hooks/use-cache-data.ts"],"sourcesContent":["import { useMemo } from 'react'\nimport { type CacheData } from '../../../api/react'\nimport { updateAPIClientCache } from '../../../state/actions/internal'\n\nimport { useMakeswiftHostApiClient } from '../host-api-client'\n\nexport function useCacheData(cacheData: CacheData) {\n const { makeswiftApiClient: apiStore } = useMakeswiftHostApiClient()\n\n // We perform cache hydration immediately on render - this is safe to do per\n // render because updating the API cache is idempotent. For precedence, see:\n //\n // https://github.com/TanStack/query/blob/8f9f183f11df3709a1a38c4efce1452788041f88/packages/react-query/src/HydrationBoundary.tsx#L41\n useMemo(() => apiStore.dispatch(updateAPIClientCache(cacheData)), [cacheData])\n}\n"],"mappings":"AAAA,SAAS,eAAe;AAExB,SAAS,4BAA4B;AAErC,SAAS,iCAAiC;AAEnC,SAAS,aAAa,WAAsB;AACjD,QAAM,EAAE,oBAAoB,SAAS,IAAI,0BAA0B;AAMnE,UAAQ,MAAM,SAAS,SAAS,qBAAqB,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC;AAC/E;","names":[]}
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  getReactComponent,
3
3
  getComponentMeta
4
- } from "../../../state/read-only-state";
4
+ } from "../../../state/react-page";
5
5
  import { useSelector } from "./use-selector";
6
6
  function useComponent(type) {
7
7
  return useSelector((state) => getReactComponent(state, type));
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/runtimes/react/hooks/use-component.ts"],"sourcesContent":["import {\n type ComponentType,\n type ComponentMeta,\n getReactComponent,\n getComponentMeta,\n} from '../../../state/read-only-state'\nimport { useSelector } from './use-selector'\n\nexport function useComponent(type: string): ComponentType | null {\n return useSelector(state => getReactComponent(state, type))\n}\n\nexport function useComponentMeta(type: string): ComponentMeta | null {\n return useSelector(state => getComponentMeta(state, type))\n}\n"],"mappings":"AAAA;AAAA,EAGE;AAAA,EACA;AAAA,OACK;AACP,SAAS,mBAAmB;AAErB,SAAS,aAAa,MAAoC;AAC/D,SAAO,YAAY,WAAS,kBAAkB,OAAO,IAAI,CAAC;AAC5D;AAEO,SAAS,iBAAiB,MAAoC;AACnE,SAAO,YAAY,WAAS,iBAAiB,OAAO,IAAI,CAAC;AAC3D;","names":[]}
1
+ {"version":3,"sources":["../../../../../src/runtimes/react/hooks/use-component.ts"],"sourcesContent":["import {\n type ComponentType,\n type ComponentMeta,\n getReactComponent,\n getComponentMeta,\n} from '../../../state/react-page'\nimport { useSelector } from './use-selector'\n\nexport function useComponent(type: string): ComponentType | null {\n return useSelector(state => getReactComponent(state, type))\n}\n\nexport function useComponentMeta(type: string): ComponentMeta | null {\n return useSelector(state => getComponentMeta(state, type))\n}\n"],"mappings":"AAAA;AAAA,EAGE;AAAA,EACA;AAAA,OACK;AACP,SAAS,mBAAmB;AAErB,SAAS,aAAa,MAAoC;AAC/D,SAAO,YAAY,WAAS,kBAAkB,OAAO,IAAI,CAAC;AAC5D;AAEO,SAAS,iBAAiB,MAAoC;AACnE,SAAO,YAAY,WAAS,iBAAiB,OAAO,IAAI,CAAC;AAC3D;","names":[]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/runtimes/react/hooks/use-dispatch.ts"],"sourcesContent":["import { useStore } from './use-store'\nimport { type Dispatch as ReadOnlyDispatch } from '../../../state/read-only-state'\nimport { type Dispatch as ReadWriteDispatch } from '../../../state/read-write-state'\n\ntype Dispatch = ReadOnlyDispatch & ReadWriteDispatch\n\nexport function useDispatch(): Dispatch {\n const store = useStore()\n\n return store.dispatch\n}\n"],"mappings":"AAAA,SAAS,gBAAgB;AAMlB,SAAS,cAAwB;AACtC,QAAM,QAAQ,SAAS;AAEvB,SAAO,MAAM;AACf;","names":[]}
1
+ {"version":3,"sources":["../../../../../src/runtimes/react/hooks/use-dispatch.ts"],"sourcesContent":["import { useStore } from './use-store'\nimport { Dispatch as ReactPageDispatch } from '../../../state/react-page'\nimport { Dispatch as ReactBuilderPreviewDispatch } from '../../../state/react-builder-preview'\n\ntype Dispatch = ReactPageDispatch & ReactBuilderPreviewDispatch\n\nexport function useDispatch(): Dispatch {\n const store = useStore()\n\n return store.dispatch\n}\n"],"mappings":"AAAA,SAAS,gBAAgB;AAMlB,SAAS,cAAwB;AACtC,QAAM,QAAQ,SAAS;AAEvB,SAAO,MAAM;AACf;","names":[]}
@@ -1,4 +1,4 @@
1
- import { getDocument } from "../../../state/read-only-state";
1
+ import { getDocument } from "../../../state/react-page";
2
2
  import { useSelector } from "./use-selector";
3
3
  function useDocument(documentKey) {
4
4
  return useSelector((state) => getDocument(state, documentKey));
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/runtimes/react/hooks/use-document.ts"],"sourcesContent":["import { Document, getDocument } from '../../../state/read-only-state'\nimport { useSelector } from './use-selector'\n\nexport function useDocument(documentKey: string): Document | null {\n return useSelector(state => getDocument(state, documentKey))\n}\n"],"mappings":"AAAA,SAAmB,mBAAmB;AACtC,SAAS,mBAAmB;AAErB,SAAS,YAAY,aAAsC;AAChE,SAAO,YAAY,WAAS,YAAY,OAAO,WAAW,CAAC;AAC7D;","names":[]}
1
+ {"version":3,"sources":["../../../../../src/runtimes/react/hooks/use-document.ts"],"sourcesContent":["import { Document, getDocument } from '../../../state/react-page'\nimport { useSelector } from './use-selector'\n\nexport function useDocument(documentKey: string): Document | null {\n return useSelector(state => getDocument(state, documentKey))\n}\n"],"mappings":"AAAA,SAAmB,mBAAmB;AACtC,SAAS,mBAAmB;AAErB,SAAS,YAAY,aAAsC;AAChE,SAAO,YAAY,WAAS,YAAY,OAAO,WAAW,CAAC;AAC7D;","names":[]}
@@ -1,4 +1,4 @@
1
- import { getElementId } from "../../../state/read-only-state";
1
+ import { getElementId } from "../../../state/react-page";
2
2
  import { useDocumentKey } from "./use-document-context";
3
3
  import { useSelector } from "./use-selector";
4
4
  function useElementId(elementKey) {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/runtimes/react/hooks/use-element-id.ts"],"sourcesContent":["import { getElementId } from '../../../state/read-only-state'\nimport { useDocumentKey } from './use-document-context'\nimport { useSelector } from './use-selector'\n\nexport function useElementId(elementKey: string | null | undefined): string | null {\n const documentKey = useDocumentKey()\n\n return useSelector(state =>\n documentKey == null || elementKey == null ? null : getElementId(state, documentKey, elementKey),\n )\n}\n"],"mappings":"AAAA,SAAS,oBAAoB;AAC7B,SAAS,sBAAsB;AAC/B,SAAS,mBAAmB;AAErB,SAAS,aAAa,YAAsD;AACjF,QAAM,cAAc,eAAe;AAEnC,SAAO;AAAA,IAAY,WACjB,eAAe,QAAQ,cAAc,OAAO,OAAO,aAAa,OAAO,aAAa,UAAU;AAAA,EAChG;AACF;","names":[]}
1
+ {"version":3,"sources":["../../../../../src/runtimes/react/hooks/use-element-id.ts"],"sourcesContent":["import { getElementId } from '../../../state/react-page'\nimport { useDocumentKey } from './use-document-context'\nimport { useSelector } from './use-selector'\n\nexport function useElementId(elementKey: string | null | undefined): string | null {\n const documentKey = useDocumentKey()\n\n return useSelector(state =>\n documentKey == null || elementKey == null ? null : getElementId(state, documentKey, elementKey),\n )\n}\n"],"mappings":"AAAA,SAAS,oBAAoB;AAC7B,SAAS,sBAAsB;AAC/B,SAAS,mBAAmB;AAErB,SAAS,aAAa,YAAsD;AACjF,QAAM,cAAc,eAAe;AAEnC,SAAO;AAAA,IAAY,WACjB,eAAe,QAAQ,cAAc,OAAO,OAAO,aAAa,OAAO,aAAa,UAAU;AAAA,EAChG;AACF;","names":[]}
@@ -1,4 +1,4 @@
1
- import { getIsInBuilder } from "../../../state/read-only-state";
1
+ import { getIsInBuilder } from "../../../state/react-page";
2
2
  import { useSelector } from "./use-selector";
3
3
  function useIsInBuilder() {
4
4
  return useSelector((state) => getIsInBuilder(state));
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/runtimes/react/hooks/use-is-in-builder.ts"],"sourcesContent":["import { getIsInBuilder } from '../../../state/read-only-state'\nimport { useSelector } from './use-selector'\n\nexport function useIsInBuilder(): boolean {\n return useSelector(state => getIsInBuilder(state))\n}\n"],"mappings":"AAAA,SAAS,sBAAsB;AAC/B,SAAS,mBAAmB;AAErB,SAAS,iBAA0B;AACxC,SAAO,YAAY,WAAS,eAAe,KAAK,CAAC;AACnD;","names":[]}
1
+ {"version":3,"sources":["../../../../../src/runtimes/react/hooks/use-is-in-builder.ts"],"sourcesContent":["import { getIsInBuilder } from '../../../state/react-page'\nimport { useSelector } from './use-selector'\n\nexport function useIsInBuilder(): boolean {\n return useSelector(state => getIsInBuilder(state))\n}\n"],"mappings":"AAAA,SAAS,sBAAsB;AAC/B,SAAS,mBAAmB;AAErB,SAAS,iBAA0B;AACxC,SAAO,YAAY,WAAS,eAAe,KAAK,CAAC;AACnD;","names":[]}
@@ -0,0 +1,9 @@
1
+ import { getIsPreview } from "../../../state/react-page";
2
+ import { useSelector } from "./use-selector";
3
+ function useIsPreview() {
4
+ return useSelector((state) => getIsPreview(state));
5
+ }
6
+ export {
7
+ useIsPreview
8
+ };
9
+ //# sourceMappingURL=use-is-preview.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../src/runtimes/react/hooks/use-is-preview.ts"],"sourcesContent":["import { getIsPreview } from '../../../state/react-page'\nimport { useSelector } from './use-selector'\n\nexport function useIsPreview(): boolean {\n return useSelector(state => getIsPreview(state))\n}\n"],"mappings":"AAAA,SAAS,oBAAoB;AAC7B,SAAS,mBAAmB;AAErB,SAAS,eAAwB;AACtC,SAAO,YAAY,WAAS,aAAa,KAAK,CAAC;AACjD;","names":[]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/runtimes/react/hooks/use-register-document.ts"],"sourcesContent":["import { useEffect } from 'react'\nimport { type Document } from '../../../state/read-only-state'\nimport { useDispatch } from './use-dispatch'\nimport { useIsInBuilder } from './use-is-in-builder'\nimport { registerDocument, registerDocumentsEffect } from '../../../state/shared-api'\nimport { registerBuilderDocumentsEffect } from '../../../state/builder-api/actions'\n\nimport { isServer } from '../../../utils/is-server'\nimport { useIsomorphicLayoutEffect } from '../../../components/hooks/useIsomorphicLayoutEffect'\n\n/**\n * @param document Document to register\n */\nexport function useRegisterDocument(document: Document): void {\n const isInBuilder = useIsInBuilder()\n const dispatch = useDispatch()\n\n if (isServer()) {\n dispatch(registerDocument(document))\n }\n\n /*\n Layout effect is to ensure that the document registration happens prior to the\n attempted creation/registration of prop controllers in child components.\n */\n useIsomorphicLayoutEffect(() => {\n return dispatch(registerDocumentsEffect([document]))\n }, [dispatch, document])\n\n // TODO: Decide whether to do this via middleware or via explicit action (like\n // what we're doing below)\n useEffect(() => {\n if (!isInBuilder) return\n return dispatch(registerBuilderDocumentsEffect([document]))\n }, [isInBuilder, document])\n}\n"],"mappings":"AAAA,SAAS,iBAAiB;AAE1B,SAAS,mBAAmB;AAC5B,SAAS,sBAAsB;AAC/B,SAAS,kBAAkB,+BAA+B;AAC1D,SAAS,sCAAsC;AAE/C,SAAS,gBAAgB;AACzB,SAAS,iCAAiC;AAKnC,SAAS,oBAAoB,UAA0B;AAC5D,QAAM,cAAc,eAAe;AACnC,QAAM,WAAW,YAAY;AAE7B,MAAI,SAAS,GAAG;AACd,aAAS,iBAAiB,QAAQ,CAAC;AAAA,EACrC;AAMA,4BAA0B,MAAM;AAC9B,WAAO,SAAS,wBAAwB,CAAC,QAAQ,CAAC,CAAC;AAAA,EACrD,GAAG,CAAC,UAAU,QAAQ,CAAC;AAIvB,YAAU,MAAM;AACd,QAAI,CAAC;AAAa;AAClB,WAAO,SAAS,+BAA+B,CAAC,QAAQ,CAAC,CAAC;AAAA,EAC5D,GAAG,CAAC,aAAa,QAAQ,CAAC;AAC5B;","names":[]}
1
+ {"version":3,"sources":["../../../../../src/runtimes/react/hooks/use-register-document.ts"],"sourcesContent":["import { useEffect } from 'react'\nimport { type Document } from '../../../state/react-page'\nimport { useDispatch } from './use-dispatch'\nimport { useIsInBuilder } from './use-is-in-builder'\nimport { registerDocument, registerDocumentsEffect } from '../../../state/shared-api'\nimport { registerBuilderDocumentsEffect } from '../../../state/builder-api/actions'\n\nimport { isServer } from '../../../utils/is-server'\nimport { useIsomorphicLayoutEffect } from '../../../components/hooks/useIsomorphicLayoutEffect'\n\n/**\n * @param document Document to register\n */\nexport function useRegisterDocument(document: Document): void {\n const isInBuilder = useIsInBuilder()\n const dispatch = useDispatch()\n\n if (isServer()) {\n dispatch(registerDocument(document))\n }\n\n /*\n Layout effect is to ensure that the document registration happens prior to the\n attempted creation/registration of prop controllers in child components.\n */\n useIsomorphicLayoutEffect(() => {\n return dispatch(registerDocumentsEffect([document]))\n }, [dispatch, document])\n\n // TODO: Decide whether to do this via middleware or via explicit action (like\n // what we're doing below)\n useEffect(() => {\n if (!isInBuilder) return\n return dispatch(registerBuilderDocumentsEffect([document]))\n }, [isInBuilder, document])\n}\n"],"mappings":"AAAA,SAAS,iBAAiB;AAE1B,SAAS,mBAAmB;AAC5B,SAAS,sBAAsB;AAC/B,SAAS,kBAAkB,+BAA+B;AAC1D,SAAS,sCAAsC;AAE/C,SAAS,gBAAgB;AACzB,SAAS,iCAAiC;AAKnC,SAAS,oBAAoB,UAA0B;AAC5D,QAAM,cAAc,eAAe;AACnC,QAAM,WAAW,YAAY;AAE7B,MAAI,SAAS,GAAG;AACd,aAAS,iBAAiB,QAAQ,CAAC;AAAA,EACrC;AAMA,4BAA0B,MAAM;AAC9B,WAAO,SAAS,wBAAwB,CAAC,QAAQ,CAAC,CAAC;AAAA,EACrD,GAAG,CAAC,UAAU,QAAQ,CAAC;AAIvB,YAAU,MAAM;AACd,QAAI,CAAC;AAAa;AAClB,WAAO,SAAS,+BAA+B,CAAC,QAAQ,CAAC,CAAC;AAAA,EAC5D,GAAG,CAAC,aAAa,QAAQ,CAAC;AAC5B;","names":[]}
@@ -2,7 +2,7 @@ import { useMemo, useEffect, useRef, useSyncExternalStore, useCallback } from "r
2
2
  import {
3
3
  mapValues
4
4
  } from "@makeswift/controls";
5
- import * as ReactPage from "../../../state/read-only-state";
5
+ import * as ReactPage from "../../../state/react-page";
6
6
  import { useResourceResolver } from "./use-resource-resolver";
7
7
  import { useDocumentKey } from "./use-document-context";
8
8
  import { useSelector } from "./use-selector";
@@ -14,7 +14,7 @@ function useControlInstances(elementKey) {
14
14
  return useSelector((state) => {
15
15
  if (documentKey == null)
16
16
  return null;
17
- return ReactPage.getPropControllers(state, { documentKey, elementKey });
17
+ return ReactPage.getPropControllers(state, documentKey, elementKey);
18
18
  });
19
19
  }
20
20
  function useResolvedProps(propDefs, elementData, elementKey) {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/runtimes/react/hooks/use-resolved-props.ts"],"sourcesContent":["import { useMemo, useEffect, useRef, useSyncExternalStore, useCallback } from 'react'\nimport {\n ControlDefinition,\n ControlInstance,\n mapValues,\n type Data,\n type Resolvable,\n} from '@makeswift/controls'\n\nimport * as ReactPage from '../../../state/read-only-state'\nimport { useResourceResolver } from './use-resource-resolver'\nimport { useDocumentKey } from './use-document-context'\nimport { useSelector } from './use-selector'\n\nimport { useStylesheetFactory } from './use-stylesheet-factory'\n\nimport { useResolvableRecord } from './use-resolvable-record'\nimport { propErrorHandlingProxy } from '../utils/prop-error-handling-proxy'\n\nfunction useControlInstances(elementKey: string): Record<string, ControlInstance> | null {\n const documentKey = useDocumentKey()\n\n return useSelector(state => {\n if (documentKey == null) return null\n\n return ReactPage.getPropControllers(state, { documentKey, elementKey })\n })\n}\n\ntype CacheItem = {\n data: Data\n control: ControlInstance | undefined\n resolvedValue: Resolvable<unknown>\n}\n\nexport function useResolvedProps(\n propDefs: Record<string, ControlDefinition>,\n elementData: Record<string, Data>,\n elementKey: string,\n): Record<string, unknown> {\n const stylesheetFactory = useStylesheetFactory()\n const resourceResolver = useResourceResolver()\n const controls = useControlInstances(elementKey)\n\n const cache = useRef<Record<string, CacheItem>>({}).current\n const resolveProp = useCallback(\n (def: ControlDefinition, propName: string) => {\n const data = elementData[propName]\n const control = controls?.[propName]\n\n if (\n cache[propName] != null &&\n data === cache[propName].data &&\n control === cache[propName].control\n ) {\n return cache[propName].resolvedValue\n }\n\n const resolvedValue = def.resolveValue(\n data,\n resourceResolver,\n stylesheetFactory.get(propName),\n control,\n )\n\n cache[propName] = { data, control, resolvedValue }\n return resolvedValue\n },\n [controls, elementData, resourceResolver, stylesheetFactory],\n )\n\n const resolvables = useMemo<Record<string, Resolvable<unknown>>>(\n () =>\n mapValues(propDefs, (def, propName) => {\n const defaultValue = (def.config as any)?.defaultValue\n return propErrorHandlingProxy(resolveProp(def, propName), defaultValue, error => {\n console.warn(\n `Error reading value for prop \"${propName}\", falling back to \\`${defaultValue}\\`.`,\n { control: def, error },\n )\n })\n }),\n [propDefs, resolveProp],\n )\n\n const props = useResolvableRecord(resolvables)\n\n // no need to call `triggerResolve` on the server, all the resources should already be in\n // the host API client's cache (populated from the snapshot's cache)\n useEffect(() => {\n props.triggerResolve()\n }, [props])\n\n // the order is important here, the styles are defined in the process of the props resolution,\n // calling `useDefinedStyles` before the props are resolved would effectively be a noop\n const resolvedProps = useSyncExternalStore(props.subscribe, props.readStable, props.readStable)\n\n stylesheetFactory.useDefinedStyles()\n\n return resolvedProps\n}\n"],"mappings":"AAAA,SAAS,SAAS,WAAW,QAAQ,sBAAsB,mBAAmB;AAC9E;AAAA,EAGE;AAAA,OAGK;AAEP,YAAY,eAAe;AAC3B,SAAS,2BAA2B;AACpC,SAAS,sBAAsB;AAC/B,SAAS,mBAAmB;AAE5B,SAAS,4BAA4B;AAErC,SAAS,2BAA2B;AACpC,SAAS,8BAA8B;AAEvC,SAAS,oBAAoB,YAA4D;AACvF,QAAM,cAAc,eAAe;AAEnC,SAAO,YAAY,WAAS;AAC1B,QAAI,eAAe;AAAM,aAAO;AAEhC,WAAO,UAAU,mBAAmB,OAAO,EAAE,aAAa,WAAW,CAAC;AAAA,EACxE,CAAC;AACH;AAQO,SAAS,iBACd,UACA,aACA,YACyB;AACzB,QAAM,oBAAoB,qBAAqB;AAC/C,QAAM,mBAAmB,oBAAoB;AAC7C,QAAM,WAAW,oBAAoB,UAAU;AAE/C,QAAM,QAAQ,OAAkC,CAAC,CAAC,EAAE;AACpD,QAAM,cAAc;AAAA,IAClB,CAAC,KAAwB,aAAqB;AAC5C,YAAM,OAAO,YAAY,QAAQ;AACjC,YAAM,UAAU,WAAW,QAAQ;AAEnC,UACE,MAAM,QAAQ,KAAK,QACnB,SAAS,MAAM,QAAQ,EAAE,QACzB,YAAY,MAAM,QAAQ,EAAE,SAC5B;AACA,eAAO,MAAM,QAAQ,EAAE;AAAA,MACzB;AAEA,YAAM,gBAAgB,IAAI;AAAA,QACxB;AAAA,QACA;AAAA,QACA,kBAAkB,IAAI,QAAQ;AAAA,QAC9B;AAAA,MACF;AAEA,YAAM,QAAQ,IAAI,EAAE,MAAM,SAAS,cAAc;AACjD,aAAO;AAAA,IACT;AAAA,IACA,CAAC,UAAU,aAAa,kBAAkB,iBAAiB;AAAA,EAC7D;AAEA,QAAM,cAAc;AAAA,IAClB,MACE,UAAU,UAAU,CAAC,KAAK,aAAa;AACrC,YAAM,eAAgB,IAAI,QAAgB;AAC1C,aAAO,uBAAuB,YAAY,KAAK,QAAQ,GAAG,cAAc,WAAS;AAC/E,gBAAQ;AAAA,UACN,iCAAiC,QAAQ,wBAAwB,YAAY;AAAA,UAC7E,EAAE,SAAS,KAAK,MAAM;AAAA,QACxB;AAAA,MACF,CAAC;AAAA,IACH,CAAC;AAAA,IACH,CAAC,UAAU,WAAW;AAAA,EACxB;AAEA,QAAM,QAAQ,oBAAoB,WAAW;AAI7C,YAAU,MAAM;AACd,UAAM,eAAe;AAAA,EACvB,GAAG,CAAC,KAAK,CAAC;AAIV,QAAM,gBAAgB,qBAAqB,MAAM,WAAW,MAAM,YAAY,MAAM,UAAU;AAE9F,oBAAkB,iBAAiB;AAEnC,SAAO;AACT;","names":[]}
1
+ {"version":3,"sources":["../../../../../src/runtimes/react/hooks/use-resolved-props.ts"],"sourcesContent":["import { useMemo, useEffect, useRef, useSyncExternalStore, useCallback } from 'react'\nimport {\n ControlDefinition,\n ControlInstance,\n mapValues,\n type Data,\n type Resolvable,\n} from '@makeswift/controls'\n\nimport * as ReactPage from '../../../state/react-page'\nimport { useResourceResolver } from './use-resource-resolver'\nimport { useDocumentKey } from './use-document-context'\nimport { useSelector } from './use-selector'\n\nimport { useStylesheetFactory } from './use-stylesheet-factory'\n\nimport { useResolvableRecord } from './use-resolvable-record'\nimport { propErrorHandlingProxy } from '../utils/prop-error-handling-proxy'\n\nfunction useControlInstances(elementKey: string): Record<string, ControlInstance> | null {\n const documentKey = useDocumentKey()\n\n return useSelector(state => {\n if (documentKey == null) return null\n\n return ReactPage.getPropControllers(state, documentKey, elementKey)\n })\n}\n\ntype CacheItem = {\n data: Data\n control: ControlInstance | undefined\n resolvedValue: Resolvable<unknown>\n}\n\nexport function useResolvedProps(\n propDefs: Record<string, ControlDefinition>,\n elementData: Record<string, Data>,\n elementKey: string,\n): Record<string, unknown> {\n const stylesheetFactory = useStylesheetFactory()\n const resourceResolver = useResourceResolver()\n const controls = useControlInstances(elementKey)\n\n const cache = useRef<Record<string, CacheItem>>({}).current\n const resolveProp = useCallback(\n (def: ControlDefinition, propName: string) => {\n const data = elementData[propName]\n const control = controls?.[propName]\n\n if (\n cache[propName] != null &&\n data === cache[propName].data &&\n control === cache[propName].control\n ) {\n return cache[propName].resolvedValue\n }\n\n const resolvedValue = def.resolveValue(\n data,\n resourceResolver,\n stylesheetFactory.get(propName),\n control,\n )\n\n cache[propName] = { data, control, resolvedValue }\n return resolvedValue\n },\n [controls, elementData, resourceResolver, stylesheetFactory],\n )\n\n const resolvables = useMemo<Record<string, Resolvable<unknown>>>(\n () =>\n mapValues(propDefs, (def, propName) => {\n const defaultValue = (def.config as any)?.defaultValue\n return propErrorHandlingProxy(resolveProp(def, propName), defaultValue, error => {\n console.warn(\n `Error reading value for prop \"${propName}\", falling back to \\`${defaultValue}\\`.`,\n { control: def, error },\n )\n })\n }),\n [propDefs, resolveProp],\n )\n\n const props = useResolvableRecord(resolvables)\n\n // no need to call `triggerResolve` on the server, all the resources should already be in\n // the host API client's cache (populated from the snapshot's cache)\n useEffect(() => {\n props.triggerResolve()\n }, [props])\n\n // the order is important here, the styles are defined in the process of the props resolution,\n // calling `useDefinedStyles` before the props are resolved would effectively be a noop\n const resolvedProps = useSyncExternalStore(props.subscribe, props.readStable, props.readStable)\n\n stylesheetFactory.useDefinedStyles()\n\n return resolvedProps\n}\n"],"mappings":"AAAA,SAAS,SAAS,WAAW,QAAQ,sBAAsB,mBAAmB;AAC9E;AAAA,EAGE;AAAA,OAGK;AAEP,YAAY,eAAe;AAC3B,SAAS,2BAA2B;AACpC,SAAS,sBAAsB;AAC/B,SAAS,mBAAmB;AAE5B,SAAS,4BAA4B;AAErC,SAAS,2BAA2B;AACpC,SAAS,8BAA8B;AAEvC,SAAS,oBAAoB,YAA4D;AACvF,QAAM,cAAc,eAAe;AAEnC,SAAO,YAAY,WAAS;AAC1B,QAAI,eAAe;AAAM,aAAO;AAEhC,WAAO,UAAU,mBAAmB,OAAO,aAAa,UAAU;AAAA,EACpE,CAAC;AACH;AAQO,SAAS,iBACd,UACA,aACA,YACyB;AACzB,QAAM,oBAAoB,qBAAqB;AAC/C,QAAM,mBAAmB,oBAAoB;AAC7C,QAAM,WAAW,oBAAoB,UAAU;AAE/C,QAAM,QAAQ,OAAkC,CAAC,CAAC,EAAE;AACpD,QAAM,cAAc;AAAA,IAClB,CAAC,KAAwB,aAAqB;AAC5C,YAAM,OAAO,YAAY,QAAQ;AACjC,YAAM,UAAU,WAAW,QAAQ;AAEnC,UACE,MAAM,QAAQ,KAAK,QACnB,SAAS,MAAM,QAAQ,EAAE,QACzB,YAAY,MAAM,QAAQ,EAAE,SAC5B;AACA,eAAO,MAAM,QAAQ,EAAE;AAAA,MACzB;AAEA,YAAM,gBAAgB,IAAI;AAAA,QACxB;AAAA,QACA;AAAA,QACA,kBAAkB,IAAI,QAAQ;AAAA,QAC9B;AAAA,MACF;AAEA,YAAM,QAAQ,IAAI,EAAE,MAAM,SAAS,cAAc;AACjD,aAAO;AAAA,IACT;AAAA,IACA,CAAC,UAAU,aAAa,kBAAkB,iBAAiB;AAAA,EAC7D;AAEA,QAAM,cAAc;AAAA,IAClB,MACE,UAAU,UAAU,CAAC,KAAK,aAAa;AACrC,YAAM,eAAgB,IAAI,QAAgB;AAC1C,aAAO,uBAAuB,YAAY,KAAK,QAAQ,GAAG,cAAc,WAAS;AAC/E,gBAAQ;AAAA,UACN,iCAAiC,QAAQ,wBAAwB,YAAY;AAAA,UAC7E,EAAE,SAAS,KAAK,MAAM;AAAA,QACxB;AAAA,MACF,CAAC;AAAA,IACH,CAAC;AAAA,IACH,CAAC,UAAU,WAAW;AAAA,EACxB;AAEA,QAAM,QAAQ,oBAAoB,WAAW;AAI7C,YAAU,MAAM;AACd,UAAM,eAAe;AAAA,EACvB,GAAG,CAAC,KAAK,CAAC;AAIV,QAAM,gBAAgB,qBAAqB,MAAM,WAAW,MAAM,YAAY,MAAM,UAAU;AAE9F,oBAAkB,iBAAiB;AAEnC,SAAO;AACT;","names":[]}
@@ -1,5 +1,5 @@
1
1
  import { useMemo } from "react";
2
- import * as ReactPage from "../../../state/read-only-state";
2
+ import * as ReactPage from "../../../state/react-page";
3
3
  import { useMakeswiftHostApiClient } from "../host-api-client";
4
4
  import { useStore } from "./use-store";
5
5
  import { useDocumentKey, useDocumentLocale } from "./use-document-context";
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/runtimes/react/hooks/use-resource-resolver.ts"],"sourcesContent":["import { useMemo } from 'react'\nimport { type ResourceResolver } from '@makeswift/controls'\n\nimport * as ReactPage from '../../../state/read-only-state'\nimport { useMakeswiftHostApiClient } from '../host-api-client'\nimport { useStore } from './use-store'\nimport { useDocumentKey, useDocumentLocale } from './use-document-context'\n\nexport function useResourceResolver(): ResourceResolver {\n const store = useStore()\n const client = useMakeswiftHostApiClient()\n\n const documentKey = useDocumentKey()\n const locale = useDocumentLocale()\n\n return useMemo<ResourceResolver>(() => {\n return {\n resolveSwatch: swatchId => client.resolveSwatch(swatchId),\n resolveFile: fileId => client.resolveFile(fileId),\n resolveTypography: typographyId => client.resolveTypography(typographyId),\n resolvePagePathnameSlice: pageId => client.resolvePagePathnameSlice({ pageId, locale }),\n resolveElementId: elementKey => {\n const read = () =>\n documentKey == null\n ? null\n : ReactPage.getElementId(store.getState(), documentKey, elementKey)\n\n let lastValue: string | null = null\n return {\n name: `element-id:${documentKey}:${elementKey}`,\n readStable: () => (lastValue = read()),\n subscribe: (onUpdate: () => void) =>\n store.subscribe(() => {\n if (read() !== lastValue) onUpdate()\n }),\n }\n },\n }\n }, [client, store, documentKey, locale])\n}\n"],"mappings":"AAAA,SAAS,eAAe;AAGxB,YAAY,eAAe;AAC3B,SAAS,iCAAiC;AAC1C,SAAS,gBAAgB;AACzB,SAAS,gBAAgB,yBAAyB;AAE3C,SAAS,sBAAwC;AACtD,QAAM,QAAQ,SAAS;AACvB,QAAM,SAAS,0BAA0B;AAEzC,QAAM,cAAc,eAAe;AACnC,QAAM,SAAS,kBAAkB;AAEjC,SAAO,QAA0B,MAAM;AACrC,WAAO;AAAA,MACL,eAAe,cAAY,OAAO,cAAc,QAAQ;AAAA,MACxD,aAAa,YAAU,OAAO,YAAY,MAAM;AAAA,MAChD,mBAAmB,kBAAgB,OAAO,kBAAkB,YAAY;AAAA,MACxE,0BAA0B,YAAU,OAAO,yBAAyB,EAAE,QAAQ,OAAO,CAAC;AAAA,MACtF,kBAAkB,gBAAc;AAC9B,cAAM,OAAO,MACX,eAAe,OACX,OACA,UAAU,aAAa,MAAM,SAAS,GAAG,aAAa,UAAU;AAEtE,YAAI,YAA2B;AAC/B,eAAO;AAAA,UACL,MAAM,cAAc,WAAW,IAAI,UAAU;AAAA,UAC7C,YAAY,MAAO,YAAY,KAAK;AAAA,UACpC,WAAW,CAAC,aACV,MAAM,UAAU,MAAM;AACpB,gBAAI,KAAK,MAAM;AAAW,uBAAS;AAAA,UACrC,CAAC;AAAA,QACL;AAAA,MACF;AAAA,IACF;AAAA,EACF,GAAG,CAAC,QAAQ,OAAO,aAAa,MAAM,CAAC;AACzC;","names":[]}
1
+ {"version":3,"sources":["../../../../../src/runtimes/react/hooks/use-resource-resolver.ts"],"sourcesContent":["import { useMemo } from 'react'\nimport { type ResourceResolver } from '@makeswift/controls'\n\nimport * as ReactPage from '../../../state/react-page'\nimport { useMakeswiftHostApiClient } from '../host-api-client'\nimport { useStore } from './use-store'\nimport { useDocumentKey, useDocumentLocale } from './use-document-context'\n\nexport function useResourceResolver(): ResourceResolver {\n const store = useStore()\n const client = useMakeswiftHostApiClient()\n\n const documentKey = useDocumentKey()\n const locale = useDocumentLocale()\n\n return useMemo<ResourceResolver>(() => {\n return {\n resolveSwatch: swatchId => client.resolveSwatch(swatchId),\n resolveFile: fileId => client.resolveFile(fileId),\n resolveTypography: typographyId => client.resolveTypography(typographyId),\n resolvePagePathnameSlice: pageId => client.resolvePagePathnameSlice({ pageId, locale }),\n resolveElementId: elementKey => {\n const read = () =>\n documentKey == null\n ? null\n : ReactPage.getElementId(store.getState(), documentKey, elementKey)\n\n let lastValue: string | null = null\n return {\n name: `element-id:${documentKey}:${elementKey}`,\n readStable: () => (lastValue = read()),\n subscribe: (onUpdate: () => void) =>\n store.subscribe(() => {\n if (read() !== lastValue) onUpdate()\n }),\n }\n },\n }\n }, [client, store, documentKey, locale])\n}\n"],"mappings":"AAAA,SAAS,eAAe;AAGxB,YAAY,eAAe;AAC3B,SAAS,iCAAiC;AAC1C,SAAS,gBAAgB;AACzB,SAAS,gBAAgB,yBAAyB;AAE3C,SAAS,sBAAwC;AACtD,QAAM,QAAQ,SAAS;AACvB,QAAM,SAAS,0BAA0B;AAEzC,QAAM,cAAc,eAAe;AACnC,QAAM,SAAS,kBAAkB;AAEjC,SAAO,QAA0B,MAAM;AACrC,WAAO;AAAA,MACL,eAAe,cAAY,OAAO,cAAc,QAAQ;AAAA,MACxD,aAAa,YAAU,OAAO,YAAY,MAAM;AAAA,MAChD,mBAAmB,kBAAgB,OAAO,kBAAkB,YAAY;AAAA,MACxE,0BAA0B,YAAU,OAAO,yBAAyB,EAAE,QAAQ,OAAO,CAAC;AAAA,MACtF,kBAAkB,gBAAc;AAC9B,cAAM,OAAO,MACX,eAAe,OACX,OACA,UAAU,aAAa,MAAM,SAAS,GAAG,aAAa,UAAU;AAEtE,YAAI,YAA2B;AAC/B,eAAO;AAAA,UACL,MAAM,cAAc,WAAW,IAAI,UAAU;AAAA,UAC7C,YAAY,MAAO,YAAY,KAAK;AAAA,UACpC,WAAW,CAAC,aACV,MAAM,UAAU,MAAM;AACpB,gBAAI,KAAK,MAAM;AAAW,uBAAS;AAAA,UACrC,CAAC;AAAA,QACL;AAAA,MACF;AAAA,IACF;AAAA,EACF,GAAG,CAAC,QAAQ,OAAO,aAAa,MAAM,CAAC;AACzC;","names":[]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/runtimes/react/hooks/use-selector.ts"],"sourcesContent":["import { useSyncExternalStoreWithSelector } from 'use-sync-external-store/with-selector'\n\nimport { useStore } from './use-store'\nimport { type State as ReadOnlyState } from '../../../state/read-only-state'\nimport { type State as ReadWriteState } from '../../../state/read-write-state'\n\ntype State = ReadOnlyState | ReadWriteState\n\nexport function useSelector<R>(selector: (state: State) => R): R {\n const store = useStore()\n\n return useSyncExternalStoreWithSelector(store.subscribe, store.getState, store.getState, selector)\n}\n"],"mappings":"AAAA,SAAS,wCAAwC;AAEjD,SAAS,gBAAgB;AAMlB,SAAS,YAAe,UAAkC;AAC/D,QAAM,QAAQ,SAAS;AAEvB,SAAO,iCAAiC,MAAM,WAAW,MAAM,UAAU,MAAM,UAAU,QAAQ;AACnG;","names":[]}
1
+ {"version":3,"sources":["../../../../../src/runtimes/react/hooks/use-selector.ts"],"sourcesContent":["import { useSyncExternalStoreWithSelector } from 'use-sync-external-store/with-selector'\n\nimport { useStore } from './use-store'\nimport { State as ReactPageState } from '../../../state/react-page'\nimport { State as ReactBuilderPreviewState } from '../../../state/react-builder-preview'\n\ntype State = ReactPageState | ReactBuilderPreviewState\n\nexport function useSelector<R>(selector: (state: State) => R): R {\n const store = useStore()\n\n return useSyncExternalStoreWithSelector(store.subscribe, store.getState, store.getState, selector)\n}\n"],"mappings":"AAAA,SAAS,wCAAwC;AAEjD,SAAS,gBAAgB;AAMlB,SAAS,YAAe,UAAkC;AAC/D,QAAM,QAAQ,SAAS;AAEvB,SAAO,iCAAiC,MAAM,WAAW,MAAM,UAAU,MAAM,UAAU,QAAQ;AACnG;","names":[]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/runtimes/react/hooks/use-store.ts"],"sourcesContent":["'use client'\n\nimport { createContext, useContext } from 'react'\nimport { type Store } from '../../../state/react-page'\n\nexport const StoreContext = createContext<Store | null>(null)\n\nexport function useStore(): Store {\n const store = useContext(StoreContext)\n if (store == null) {\n throw new Error('`useStore` must be used within a `StoreProvider`')\n }\n\n return store\n}\n"],"mappings":";AAEA,SAAS,eAAe,kBAAkB;AAGnC,MAAM,eAAe,cAA4B,IAAI;AAErD,SAAS,WAAkB;AAChC,QAAM,QAAQ,WAAW,YAAY;AACrC,MAAI,SAAS,MAAM;AACjB,UAAM,IAAI,MAAM,kDAAkD;AAAA,EACpE;AAEA,SAAO;AACT;","names":[]}
1
+ {"version":3,"sources":["../../../../../src/runtimes/react/hooks/use-store.ts"],"sourcesContent":["'use client'\n\nimport { createContext, useContext } from 'react'\nimport { Store } from '../../../state/react-page'\n\nexport const StoreContext = createContext<Store | null>(null)\n\nexport function useStore(): Store {\n const store = useContext(StoreContext)\n if (store == null) {\n throw new Error('`useStore` must be used within a `StoreProvider`')\n }\n\n return store\n}\n"],"mappings":";AAEA,SAAS,eAAe,kBAAkB;AAGnC,MAAM,eAAe,cAA4B,IAAI;AAErD,SAAS,WAAkB;AAChC,QAAM,QAAQ,WAAW,YAAY;AACrC,MAAI,SAAS,MAAM;AACjB,UAAM,IAAI,MAAM,kDAAkD;AAAA,EACpE;AAEA,SAAO;AACT;","names":[]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/runtimes/react/hooks/use-universal-dispatch.ts"],"sourcesContent":["import { useEffect } from 'react'\nimport type { ThunkAction } from '@reduxjs/toolkit'\n\nimport { type Dispatch } from '../../../state/read-only-state'\nimport { type Action } from '../../../state/actions'\n\nimport { isServer } from '../../../utils/is-server'\n\n// overloaded signatures\nexport function useUniversalDispatch<Args extends any[], A extends Action>(\n dispatch: Dispatch,\n action: (...args: Args) => A,\n args: Args,\n): void\nexport function useUniversalDispatch<Args extends any[], A extends Action>(\n dispatch: Dispatch,\n action: (...args: Args) => ThunkAction<() => void, any, any, A>,\n args: Args,\n): void\n// implementation\nexport function useUniversalDispatch<Args extends any[], A extends Action>(\n dispatch: Dispatch,\n action: (...args: Args) => ThunkAction<() => void, any, any, A>,\n args: Args,\n) {\n if (isServer()) {\n dispatch(action(...args))\n }\n\n useEffect(() => {\n dispatch(action(...args))\n }, [dispatch, action, ...args])\n}\n"],"mappings":"AAAA,SAAS,iBAAiB;AAM1B,SAAS,gBAAgB;AAclB,SAAS,qBACd,UACA,QACA,MACA;AACA,MAAI,SAAS,GAAG;AACd,aAAS,OAAO,GAAG,IAAI,CAAC;AAAA,EAC1B;AAEA,YAAU,MAAM;AACd,aAAS,OAAO,GAAG,IAAI,CAAC;AAAA,EAC1B,GAAG,CAAC,UAAU,QAAQ,GAAG,IAAI,CAAC;AAChC;","names":[]}
1
+ {"version":3,"sources":["../../../../../src/runtimes/react/hooks/use-universal-dispatch.ts"],"sourcesContent":["import { useEffect } from 'react'\nimport type { ThunkAction } from '@reduxjs/toolkit'\n\nimport { type Dispatch } from '../../../state/react-page'\nimport { type Action } from '../../../state/actions'\n\nimport { isServer } from '../../../utils/is-server'\n\n// overloaded signatures\nexport function useUniversalDispatch<Args extends any[], A extends Action>(\n dispatch: Dispatch,\n action: (...args: Args) => A,\n args: Args,\n): void\nexport function useUniversalDispatch<Args extends any[], A extends Action>(\n dispatch: Dispatch,\n action: (...args: Args) => ThunkAction<() => void, any, any, A>,\n args: Args,\n): void\n// implementation\nexport function useUniversalDispatch<Args extends any[], A extends Action>(\n dispatch: Dispatch,\n action: (...args: Args) => ThunkAction<() => void, any, any, A>,\n args: Args,\n) {\n if (isServer()) {\n dispatch(action(...args))\n }\n\n useEffect(() => {\n dispatch(action(...args))\n }, [dispatch, action, ...args])\n}\n"],"mappings":"AAAA,SAAS,iBAAiB;AAM1B,SAAS,gBAAgB;AAclB,SAAS,qBACd,UACA,QACA,MACA;AACA,MAAI,SAAS,GAAG;AACd,aAAS,OAAO,GAAG,IAAI,CAAC;AAAA,EAC1B;AAEA,YAAU,MAAM;AACd,aAAS,OAAO,GAAG,IAAI,CAAC;AAAA,EAC1B,GAAG,CAAC,UAAU,QAAQ,GAAG,IAAI,CAAC;AAChC;","names":[]}
@@ -1,7 +1,7 @@
1
1
  "use client";
2
2
  import { jsx } from "react/jsx-runtime";
3
3
  import { createContext, useContext } from "react";
4
- import { MakeswiftHostApiClient } from "../../api/client";
4
+ import { MakeswiftHostApiClient } from "../../api/react";
5
5
  const Context = createContext(
6
6
  new MakeswiftHostApiClient({
7
7
  uri: "https://api.makeswift.com/graphql",
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/runtimes/react/host-api-client.tsx"],"sourcesContent":["'use client'\n\nimport { ReactNode, createContext, useContext } from 'react'\nimport { MakeswiftHostApiClient } from '../../api/client'\n\nconst Context = createContext(\n new MakeswiftHostApiClient({\n uri: 'https://api.makeswift.com/graphql',\n fetch: async (url, init) => {\n console.warn(\n 'Using fallback `fetch` implementation, resource revalidation may not work as expected.',\n { url },\n )\n return fetch(url, init)\n },\n }),\n)\n\nexport function useMakeswiftHostApiClient(): MakeswiftHostApiClient {\n return useContext(Context)\n}\n\nexport function MakeswiftHostApiClientProvider({\n client,\n children,\n}: {\n client: MakeswiftHostApiClient\n children: ReactNode\n}) {\n return <Context.Provider value={client}>{children}</Context.Provider>\n}\n"],"mappings":";AA6BS;AA3BT,SAAoB,eAAe,kBAAkB;AACrD,SAAS,8BAA8B;AAEvC,MAAM,UAAU;AAAA,EACd,IAAI,uBAAuB;AAAA,IACzB,KAAK;AAAA,IACL,OAAO,OAAO,KAAK,SAAS;AAC1B,cAAQ;AAAA,QACN;AAAA,QACA,EAAE,IAAI;AAAA,MACR;AACA,aAAO,MAAM,KAAK,IAAI;AAAA,IACxB;AAAA,EACF,CAAC;AACH;AAEO,SAAS,4BAAoD;AAClE,SAAO,WAAW,OAAO;AAC3B;AAEO,SAAS,+BAA+B;AAAA,EAC7C;AAAA,EACA;AACF,GAGG;AACD,SAAO,oBAAC,QAAQ,UAAR,EAAiB,OAAO,QAAS,UAAS;AACpD;","names":[]}
1
+ {"version":3,"sources":["../../../../src/runtimes/react/host-api-client.tsx"],"sourcesContent":["'use client'\n\nimport { ReactNode, createContext, useContext } from 'react'\nimport { MakeswiftHostApiClient } from '../../api/react'\n\nconst Context = createContext(\n new MakeswiftHostApiClient({\n uri: 'https://api.makeswift.com/graphql',\n fetch: async (url, init) => {\n console.warn(\n 'Using fallback `fetch` implementation, resource revalidation may not work as expected.',\n { url },\n )\n return fetch(url, init)\n },\n }),\n)\n\nexport function useMakeswiftHostApiClient(): MakeswiftHostApiClient {\n return useContext(Context)\n}\n\nexport function MakeswiftHostApiClientProvider({\n client,\n children,\n}: {\n client: MakeswiftHostApiClient\n children: ReactNode\n}) {\n return <Context.Provider value={client}>{children}</Context.Provider>\n}\n"],"mappings":";AA6BS;AA3BT,SAAoB,eAAe,kBAAkB;AACrD,SAAS,8BAA8B;AAEvC,MAAM,UAAU;AAAA,EACd,IAAI,uBAAuB;AAAA,IACzB,KAAK;AAAA,IACL,OAAO,OAAO,KAAK,SAAS;AAC1B,cAAQ;AAAA,QACN;AAAA,QACA,EAAE,IAAI;AAAA,MACR;AACA,aAAO,MAAM,KAAK,IAAI;AAAA,IACxB;AAAA,EACF,CAAC;AACH;AAEO,SAAS,4BAAoD;AAClE,SAAO,WAAW,OAAO;AAC3B;AAEO,SAAS,+BAA+B;AAAA,EAC7C;AAAA,EACA;AACF,GAGG;AACD,SAAO,oBAAC,QAAQ,UAAR,EAAiB,OAAO,QAAS,UAAS;AACpD;","names":[]}
@@ -7,7 +7,7 @@ import { useBuilderEditMode } from "./hooks/use-builder-edit-mode";
7
7
  import { useDocumentKey } from "./hooks/use-document-context";
8
8
  import { useElementId } from "./hooks/use-element-id";
9
9
  import { useIsInBuilder } from "./hooks/use-is-in-builder";
10
- import { useIsReadOnly } from "./hooks/use-is-read-only";
10
+ import { useIsPreview } from "./hooks/use-is-preview";
11
11
  import { useSelector } from "./hooks/use-selector";
12
12
  import { StoreContext, useStore } from "./hooks/use-store";
13
13
  export {
@@ -21,7 +21,7 @@ export {
21
21
  useDocumentKey,
22
22
  useElementId,
23
23
  useIsInBuilder,
24
- useIsReadOnly,
24
+ useIsPreview,
25
25
  useSelector,
26
26
  useStore
27
27
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/runtimes/react/index.ts"],"sourcesContent":["export { ReactRuntime } from './react-runtime'\n\nexport { Element } from './components/Element'\nexport { DocumentRoot } from './components/DocumentRoot'\nexport { RuntimeProvider } from './components/RuntimeProvider'\n\nexport { useBreakpoints } from './hooks/use-breakpoints'\nexport { useBuilderEditMode } from './hooks/use-builder-edit-mode'\nexport { useDocumentKey } from './hooks/use-document-context'\nexport { useElementId } from './hooks/use-element-id'\nexport { useIsInBuilder } from './hooks/use-is-in-builder'\nexport { useIsReadOnly } from './hooks/use-is-read-only'\nexport { useSelector } from './hooks/use-selector'\nexport { StoreContext, useStore } from './hooks/use-store'\n"],"mappings":"AAAA,SAAS,oBAAoB;AAE7B,SAAS,eAAe;AACxB,SAAS,oBAAoB;AAC7B,SAAS,uBAAuB;AAEhC,SAAS,sBAAsB;AAC/B,SAAS,0BAA0B;AACnC,SAAS,sBAAsB;AAC/B,SAAS,oBAAoB;AAC7B,SAAS,sBAAsB;AAC/B,SAAS,qBAAqB;AAC9B,SAAS,mBAAmB;AAC5B,SAAS,cAAc,gBAAgB;","names":[]}
1
+ {"version":3,"sources":["../../../../src/runtimes/react/index.ts"],"sourcesContent":["export { ReactRuntime } from './react-runtime'\n\nexport { Element } from './components/Element'\nexport { DocumentRoot } from './components/DocumentRoot'\nexport { RuntimeProvider } from './components/RuntimeProvider'\n\nexport { useBreakpoints } from './hooks/use-breakpoints'\nexport { useBuilderEditMode } from './hooks/use-builder-edit-mode'\nexport { useDocumentKey } from './hooks/use-document-context'\nexport { useElementId } from './hooks/use-element-id'\nexport { useIsInBuilder } from './hooks/use-is-in-builder'\nexport { useIsPreview } from './hooks/use-is-preview'\nexport { useSelector } from './hooks/use-selector'\nexport { StoreContext, useStore } from './hooks/use-store'\n"],"mappings":"AAAA,SAAS,oBAAoB;AAE7B,SAAS,eAAe;AACxB,SAAS,oBAAoB;AAC7B,SAAS,uBAAuB;AAEhC,SAAS,sBAAsB;AAC/B,SAAS,0BAA0B;AACnC,SAAS,sBAAsB;AAC/B,SAAS,oBAAoB;AAC7B,SAAS,sBAAsB;AAC/B,SAAS,oBAAoB;AAC7B,SAAS,mBAAmB;AAC5B,SAAS,cAAc,gBAAgB;","names":[]}
@@ -1,4 +1,4 @@
1
- import { getBox } from "../../state/modules/read-write/box-models";
1
+ import { getBox } from "../../state/modules/box-models";
2
2
  import deepEqual from "../../utils/deepEqual";
3
3
  function pollBoxModel({
4
4
  element,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/runtimes/react/poll-box-model.ts"],"sourcesContent":["import { BoxModel, getBox } from '../../state/modules/read-write/box-models'\nimport deepEqual from '../../utils/deepEqual'\n\nexport function pollBoxModel({\n element,\n onBoxModelChange,\n}: {\n element: Element | null\n onBoxModelChange(boxModel: BoxModel | null): void\n}): () => void {\n let currentBoxModel: BoxModel | null = null\n\n const handleAnimationFrameRequest = () => {\n const measuredBoxModel = element == null ? null : getBox(element)\n\n if (!deepEqual(currentBoxModel, measuredBoxModel)) {\n currentBoxModel = measuredBoxModel\n\n onBoxModelChange(currentBoxModel)\n }\n\n animationFrameHandle = requestAnimationFrame(handleAnimationFrameRequest)\n }\n\n let animationFrameHandle = requestAnimationFrame(handleAnimationFrameRequest)\n\n return () => {\n cancelAnimationFrame(animationFrameHandle)\n\n onBoxModelChange(null)\n }\n}\n"],"mappings":"AAAA,SAAmB,cAAc;AACjC,OAAO,eAAe;AAEf,SAAS,aAAa;AAAA,EAC3B;AAAA,EACA;AACF,GAGe;AACb,MAAI,kBAAmC;AAEvC,QAAM,8BAA8B,MAAM;AACxC,UAAM,mBAAmB,WAAW,OAAO,OAAO,OAAO,OAAO;AAEhE,QAAI,CAAC,UAAU,iBAAiB,gBAAgB,GAAG;AACjD,wBAAkB;AAElB,uBAAiB,eAAe;AAAA,IAClC;AAEA,2BAAuB,sBAAsB,2BAA2B;AAAA,EAC1E;AAEA,MAAI,uBAAuB,sBAAsB,2BAA2B;AAE5E,SAAO,MAAM;AACX,yBAAqB,oBAAoB;AAEzC,qBAAiB,IAAI;AAAA,EACvB;AACF;","names":[]}
1
+ {"version":3,"sources":["../../../../src/runtimes/react/poll-box-model.ts"],"sourcesContent":["import { BoxModel, getBox } from '../../state/modules/box-models'\nimport deepEqual from '../../utils/deepEqual'\n\nexport function pollBoxModel({\n element,\n onBoxModelChange,\n}: {\n element: Element | null\n onBoxModelChange(boxModel: BoxModel | null): void\n}): () => void {\n let currentBoxModel: BoxModel | null = null\n\n const handleAnimationFrameRequest = () => {\n const measuredBoxModel = element == null ? null : getBox(element)\n\n if (!deepEqual(currentBoxModel, measuredBoxModel)) {\n currentBoxModel = measuredBoxModel\n\n onBoxModelChange(currentBoxModel)\n }\n\n animationFrameHandle = requestAnimationFrame(handleAnimationFrameRequest)\n }\n\n let animationFrameHandle = requestAnimationFrame(handleAnimationFrameRequest)\n\n return () => {\n cancelAnimationFrame(animationFrameHandle)\n\n onBoxModelChange(null)\n }\n}\n"],"mappings":"AAAA,SAAmB,cAAc;AACjC,OAAO,eAAe;AAEf,SAAS,aAAa;AAAA,EAC3B;AAAA,EACA;AACF,GAGe;AACb,MAAI,kBAAmC;AAEvC,QAAM,8BAA8B,MAAM;AACxC,UAAM,mBAAmB,WAAW,OAAO,OAAO,OAAO,OAAO;AAEhE,QAAI,CAAC,UAAU,iBAAiB,gBAAgB,GAAG;AACjD,wBAAkB;AAElB,uBAAiB,eAAe;AAAA,IAClC;AAEA,2BAAuB,sBAAsB,2BAA2B;AAAA,EAC1E;AAEA,MAAI,uBAAuB,sBAAsB,2BAA2B;AAE5E,SAAO,MAAM;AACX,yBAAqB,oBAAoB;AAEzC,qBAAiB,IAAI;AAAA,EACvB;AACF;","names":[]}
@@ -1,8 +1,5 @@
1
1
  import { supportsActivity } from "./components/activity-with-fallback";
2
- import {
3
- registerComponentEffect,
4
- registerReactComponentEffect
5
- } from "../../state/actions/internal/read-only-actions";
2
+ import { registerComponentEffect, registerReactComponentEffect } from "../../state/actions/internal";
6
3
  import { ComponentIcon } from "../../state/modules/components-meta";
7
4
  import { RuntimeCore } from "./runtime-core";
8
5
  function validateComponentType(type, component) {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/runtimes/react/react-runtime-core.ts"],"sourcesContent":["import { ControlDefinition as UnifiedControlDefinition } from '@makeswift/controls'\n\nimport { type LegacyDescriptor, type DescriptorValueType } from '../../prop-controllers/descriptors'\n\nimport { supportsActivity } from './components/activity-with-fallback'\n\nimport {\n registerComponentEffect,\n registerReactComponentEffect,\n} from '../../state/actions/internal/read-only-actions'\n\nimport { BreakpointsInput } from '../../state/modules/breakpoints'\nimport { ComponentIcon } from '../../state/modules/components-meta'\nimport type { ComponentType } from '../../state/read-only-state'\n\nimport { RuntimeCore } from './runtime-core'\n\nfunction validateComponentType(type: string, component?: ComponentType): void {\n const componentName = component?.name ?? 'Component'\n if (typeof type !== 'string' || type === '') {\n throw new Error(\n `${componentName}: A non-empty string \\`type\\` is required for component registration, got ${type}`,\n )\n }\n}\n\nexport class ReactRuntimeCore extends RuntimeCore {\n registerComponent<\n ControlDef extends UnifiedControlDefinition,\n P extends Record<string, LegacyDescriptor | ControlDef>,\n C extends ComponentType<{ [K in keyof P]: DescriptorValueType<P[K]> }>,\n >(\n component: C,\n {\n type,\n label,\n icon = ComponentIcon.Cube,\n hidden = false,\n description,\n builtinSuspense,\n props,\n }: {\n type: string\n label: string\n icon?: ComponentIcon\n hidden?: boolean\n description?: string\n /**\n * In React <= 19.1, controls the default `<Suspense>` boundary.\n * Ignored in React >= 19.2; components are always wrapped in `<Activity>`.\n * Defaults to `true`.\n */\n builtinSuspense?: boolean\n props?: P\n },\n ): () => void {\n validateComponentType(type, component as unknown as ComponentType)\n\n const unregisterComponent = this.store.dispatch(\n registerComponentEffect(\n type,\n { label, icon, hidden, description, builtinSuspense },\n props ?? {},\n ),\n )\n\n if (supportsActivity() && builtinSuspense !== undefined) {\n console.warn(\n 'builtinSuspense is ignored in React >= 19.2; components are always wrapped in <Activity>.',\n )\n }\n\n const unregisterReactComponent = this.store.dispatch(\n registerReactComponentEffect(type, component as unknown as ComponentType),\n )\n\n return () => {\n unregisterComponent()\n unregisterReactComponent()\n }\n }\n\n constructor({ breakpoints }: { breakpoints?: BreakpointsInput } = {}) {\n super({ breakpoints })\n }\n}\n"],"mappings":"AAIA,SAAS,wBAAwB;AAEjC;AAAA,EACE;AAAA,EACA;AAAA,OACK;AAGP,SAAS,qBAAqB;AAG9B,SAAS,mBAAmB;AAE5B,SAAS,sBAAsB,MAAc,WAAiC;AAC5E,QAAM,gBAAgB,WAAW,QAAQ;AACzC,MAAI,OAAO,SAAS,YAAY,SAAS,IAAI;AAC3C,UAAM,IAAI;AAAA,MACR,GAAG,aAAa,6EAA6E,IAAI;AAAA,IACnG;AAAA,EACF;AACF;AAEO,MAAM,yBAAyB,YAAY;AAAA,EAChD,kBAKE,WACA;AAAA,IACE;AAAA,IACA;AAAA,IACA,OAAO,cAAc;AAAA,IACrB,SAAS;AAAA,IACT;AAAA,IACA;AAAA,IACA;AAAA,EACF,GAcY;AACZ,0BAAsB,MAAM,SAAqC;AAEjE,UAAM,sBAAsB,KAAK,MAAM;AAAA,MACrC;AAAA,QACE;AAAA,QACA,EAAE,OAAO,MAAM,QAAQ,aAAa,gBAAgB;AAAA,QACpD,SAAS,CAAC;AAAA,MACZ;AAAA,IACF;AAEA,QAAI,iBAAiB,KAAK,oBAAoB,QAAW;AACvD,cAAQ;AAAA,QACN;AAAA,MACF;AAAA,IACF;AAEA,UAAM,2BAA2B,KAAK,MAAM;AAAA,MAC1C,6BAA6B,MAAM,SAAqC;AAAA,IAC1E;AAEA,WAAO,MAAM;AACX,0BAAoB;AACpB,+BAAyB;AAAA,IAC3B;AAAA,EACF;AAAA,EAEA,YAAY,EAAE,YAAY,IAAwC,CAAC,GAAG;AACpE,UAAM,EAAE,YAAY,CAAC;AAAA,EACvB;AACF;","names":[]}
1
+ {"version":3,"sources":["../../../../src/runtimes/react/react-runtime-core.ts"],"sourcesContent":["import { ControlDefinition as UnifiedControlDefinition } from '@makeswift/controls'\n\nimport { type LegacyDescriptor, type DescriptorValueType } from '../../prop-controllers/descriptors'\n\nimport { supportsActivity } from './components/activity-with-fallback'\n\nimport { registerComponentEffect, registerReactComponentEffect } from '../../state/actions/internal'\n\nimport { BreakpointsInput } from '../../state/modules/breakpoints'\nimport { ComponentIcon } from '../../state/modules/components-meta'\nimport type { ComponentType } from '../../state/react-page'\n\nimport { RuntimeCore } from './runtime-core'\n\nfunction validateComponentType(type: string, component?: ComponentType): void {\n const componentName = component?.name ?? 'Component'\n if (typeof type !== 'string' || type === '') {\n throw new Error(\n `${componentName}: A non-empty string \\`type\\` is required for component registration, got ${type}`,\n )\n }\n}\n\nexport class ReactRuntimeCore extends RuntimeCore {\n registerComponent<\n ControlDef extends UnifiedControlDefinition,\n P extends Record<string, LegacyDescriptor | ControlDef>,\n C extends ComponentType<{ [K in keyof P]: DescriptorValueType<P[K]> }>,\n >(\n component: C,\n {\n type,\n label,\n icon = ComponentIcon.Cube,\n hidden = false,\n description,\n builtinSuspense,\n props,\n }: {\n type: string\n label: string\n icon?: ComponentIcon\n hidden?: boolean\n description?: string\n /**\n * In React <= 19.1, controls the default `<Suspense>` boundary.\n * Ignored in React >= 19.2; components are always wrapped in `<Activity>`.\n * Defaults to `true`.\n */\n builtinSuspense?: boolean\n props?: P\n },\n ): () => void {\n validateComponentType(type, component as unknown as ComponentType)\n\n const unregisterComponent = this.store.dispatch(\n registerComponentEffect(\n type,\n { label, icon, hidden, description, builtinSuspense },\n props ?? {},\n ),\n )\n\n if (supportsActivity() && builtinSuspense !== undefined) {\n console.warn(\n 'builtinSuspense is ignored in React >= 19.2; components are always wrapped in <Activity>.',\n )\n }\n\n const unregisterReactComponent = this.store.dispatch(\n registerReactComponentEffect(type, component as unknown as ComponentType),\n )\n\n return () => {\n unregisterComponent()\n unregisterReactComponent()\n }\n }\n\n constructor({ breakpoints }: { breakpoints?: BreakpointsInput } = {}) {\n super({ breakpoints })\n }\n}\n"],"mappings":"AAIA,SAAS,wBAAwB;AAEjC,SAAS,yBAAyB,oCAAoC;AAGtE,SAAS,qBAAqB;AAG9B,SAAS,mBAAmB;AAE5B,SAAS,sBAAsB,MAAc,WAAiC;AAC5E,QAAM,gBAAgB,WAAW,QAAQ;AACzC,MAAI,OAAO,SAAS,YAAY,SAAS,IAAI;AAC3C,UAAM,IAAI;AAAA,MACR,GAAG,aAAa,6EAA6E,IAAI;AAAA,IACnG;AAAA,EACF;AACF;AAEO,MAAM,yBAAyB,YAAY;AAAA,EAChD,kBAKE,WACA;AAAA,IACE;AAAA,IACA;AAAA,IACA,OAAO,cAAc;AAAA,IACrB,SAAS;AAAA,IACT;AAAA,IACA;AAAA,IACA;AAAA,EACF,GAcY;AACZ,0BAAsB,MAAM,SAAqC;AAEjE,UAAM,sBAAsB,KAAK,MAAM;AAAA,MACrC;AAAA,QACE;AAAA,QACA,EAAE,OAAO,MAAM,QAAQ,aAAa,gBAAgB;AAAA,QACpD,SAAS,CAAC;AAAA,MACZ;AAAA,IACF;AAEA,QAAI,iBAAiB,KAAK,oBAAoB,QAAW;AACvD,cAAQ;AAAA,QACN;AAAA,MACF;AAAA,IACF;AAEA,UAAM,2BAA2B,KAAK,MAAM;AAAA,MAC1C,6BAA6B,MAAM,SAAqC;AAAA,IAC1E;AAEA,WAAO,MAAM;AACX,0BAAoB;AACpB,+BAAyB;AAAA,IAC3B;AAAA,EACF;AAAA,EAEA,YAAY,EAAE,YAAY,IAAwC,CAAC,GAAG;AACpE,UAAM,EAAE,YAAY,CAAC;AAAA,EACvB;AACF;","names":[]}
@@ -1,9 +1,11 @@
1
1
  import {
2
2
  parseBreakpointsInput
3
3
  } from "../../state/modules/breakpoints";
4
- import { copyElementTree } from "../../state/ops/copy-element-tree";
5
- import { getBreakpoints } from "../../state/read-only-state";
6
- import { configureStore } from "../../state/react-page";
4
+ import {
5
+ configureStore,
6
+ copyElementTree,
7
+ getBreakpoints
8
+ } from "../../state/react-page";
7
9
  class RuntimeCore {
8
10
  store;
9
11
  constructor({ breakpoints }) {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/runtimes/react/runtime-core.ts"],"sourcesContent":["import { type SerializableReplacementContext } from '@makeswift/controls'\n\nimport {\n Breakpoints,\n BreakpointsInput,\n parseBreakpointsInput,\n} from '../../state/modules/breakpoints'\n\nimport { copyElementTree } from '../../state/ops/copy-element-tree'\n\nimport { getBreakpoints, type Element, type ElementData } from '../../state/read-only-state'\nimport { configureStore, type Store } from '../../state/react-page'\n\nexport class RuntimeCore {\n store: Store\n\n constructor({ breakpoints }: { breakpoints?: BreakpointsInput }) {\n this.store = configureStore({\n name: 'Runtime store',\n preloadedState: null,\n breakpoints: breakpoints ? parseBreakpointsInput(breakpoints) : undefined,\n })\n }\n\n copyElementTree(\n elementTree: ElementData,\n replacementContext: SerializableReplacementContext,\n ): Element {\n return copyElementTree(this.store.getState(), elementTree, replacementContext)\n }\n\n getBreakpoints(): Breakpoints {\n return getBreakpoints(this.store.getState())\n }\n}\n"],"mappings":"AAEA;AAAA,EAGE;AAAA,OACK;AAEP,SAAS,uBAAuB;AAEhC,SAAS,sBAAsD;AAC/D,SAAS,sBAAkC;AAEpC,MAAM,YAAY;AAAA,EACvB;AAAA,EAEA,YAAY,EAAE,YAAY,GAAuC;AAC/D,SAAK,QAAQ,eAAe;AAAA,MAC1B,MAAM;AAAA,MACN,gBAAgB;AAAA,MAChB,aAAa,cAAc,sBAAsB,WAAW,IAAI;AAAA,IAClE,CAAC;AAAA,EACH;AAAA,EAEA,gBACE,aACA,oBACS;AACT,WAAO,gBAAgB,KAAK,MAAM,SAAS,GAAG,aAAa,kBAAkB;AAAA,EAC/E;AAAA,EAEA,iBAA8B;AAC5B,WAAO,eAAe,KAAK,MAAM,SAAS,CAAC;AAAA,EAC7C;AACF;","names":[]}
1
+ {"version":3,"sources":["../../../../src/runtimes/react/runtime-core.ts"],"sourcesContent":["import { type SerializableReplacementContext } from '@makeswift/controls'\n\nimport {\n Breakpoints,\n BreakpointsInput,\n parseBreakpointsInput,\n} from '../../state/modules/breakpoints'\n\nimport {\n configureStore,\n copyElementTree,\n getBreakpoints,\n type Store,\n type Element,\n type ElementData,\n} from '../../state/react-page'\n\nexport class RuntimeCore {\n store: Store\n\n constructor({ breakpoints }: { breakpoints?: BreakpointsInput }) {\n this.store = configureStore({\n name: 'Runtime store',\n preloadedState: null,\n breakpoints: breakpoints ? parseBreakpointsInput(breakpoints) : undefined,\n })\n }\n\n copyElementTree(\n elementTree: ElementData,\n replacementContext: SerializableReplacementContext,\n ): Element {\n return copyElementTree(this.store.getState(), elementTree, replacementContext)\n }\n\n getBreakpoints(): Breakpoints {\n return getBreakpoints(this.store.getState())\n }\n}\n"],"mappings":"AAEA;AAAA,EAGE;AAAA,OACK;AAEP;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,OAIK;AAEA,MAAM,YAAY;AAAA,EACvB;AAAA,EAEA,YAAY,EAAE,YAAY,GAAuC;AAC/D,SAAK,QAAQ,eAAe;AAAA,MAC1B,MAAM;AAAA,MACN,gBAAgB;AAAA,MAChB,aAAa,cAAc,sBAAsB,WAAW,IAAI;AAAA,IAClE,CAAC;AAAA,EACH;AAAA,EAEA,gBACE,aACA,oBACS;AACT,WAAO,gBAAgB,KAAK,MAAM,SAAS,GAAG,aAAa,kBAAkB;AAAA,EAC/E;AAAA,EAEA,iBAA8B;AAC5B,WAAO,eAAe,KAAK,MAAM,SAAS,CAAC;AAAA,EAC7C;AACF;","names":[]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/runtimes/react/utils/can-accept-ref.ts"],"sourcesContent":["import type { Component, PropsWithoutRef, RefAttributes } from 'react'\nimport { type ComponentType } from '../../../state/read-only-state'\n\ntype WrapperComponent = {\n $$typeof: string\n new (props: PropsWithoutRef<any> & RefAttributes<any>, context?: any): Component<any>\n}\n\ntype MemoComponent = WrapperComponent & {\n type: ComponentType\n}\n\n// See https://github.com/facebook/react/blob/main/packages/shared/ReactSymbols.js\nconst REACT_MEMO_TYPE: symbol = Symbol.for('react.memo')\nconst REACT_LAZY_TYPE: symbol = Symbol.for('react.lazy')\nconst REACT_FORWARD_REF_TYPE: symbol = Symbol.for('react.forward_ref')\n\nfunction hasTypeofSymbol(c: ComponentType, type: symbol): c is WrapperComponent {\n // React uses `$$typeof` field on its wrapper components to identify them,\n // see https://github.com/facebook/react/blob/main/packages/shared/ReactElementType.js\n // and https://github.com/search?q=repo%3Afacebook%2Freact%20%24%24typeof&type=code\n return c != null && '$$typeof' in c && c.$$typeof === type\n}\n\nfunction isMemoComponent(c: ComponentType): c is MemoComponent {\n return hasTypeofSymbol(c, REACT_MEMO_TYPE)\n}\n\nfunction isLazyComponent(c: ComponentType) {\n return hasTypeofSymbol(c, REACT_LAZY_TYPE)\n}\n\nfunction isForwardRef(c: ComponentType) {\n return hasTypeofSymbol(c, REACT_FORWARD_REF_TYPE)\n}\n\nfunction unwrapIfMemo(c: ComponentType): ComponentType {\n return isMemoComponent(c) ? c.type : c\n}\n\nfunction isClassComponent(c: ComponentType) {\n return typeof c === 'function' && c.prototype && Boolean(c.prototype.isReactComponent)\n}\n\nfunction canAcceptRefImpl(c: ComponentType) {\n return (\n isClassComponent(c) ||\n isForwardRef(c) ||\n // will try to pass a ref to all lazy components since we can't know if they accept refs without loading them\n isLazyComponent(c)\n )\n}\n\nexport function canAcceptRef(c: ComponentType) {\n return canAcceptRefImpl(unwrapIfMemo(c))\n}\n"],"mappings":"AAaA,MAAM,kBAA0B,OAAO,IAAI,YAAY;AACvD,MAAM,kBAA0B,OAAO,IAAI,YAAY;AACvD,MAAM,yBAAiC,OAAO,IAAI,mBAAmB;AAErE,SAAS,gBAAgB,GAAkB,MAAqC;AAI9E,SAAO,KAAK,QAAQ,cAAc,KAAK,EAAE,aAAa;AACxD;AAEA,SAAS,gBAAgB,GAAsC;AAC7D,SAAO,gBAAgB,GAAG,eAAe;AAC3C;AAEA,SAAS,gBAAgB,GAAkB;AACzC,SAAO,gBAAgB,GAAG,eAAe;AAC3C;AAEA,SAAS,aAAa,GAAkB;AACtC,SAAO,gBAAgB,GAAG,sBAAsB;AAClD;AAEA,SAAS,aAAa,GAAiC;AACrD,SAAO,gBAAgB,CAAC,IAAI,EAAE,OAAO;AACvC;AAEA,SAAS,iBAAiB,GAAkB;AAC1C,SAAO,OAAO,MAAM,cAAc,EAAE,aAAa,QAAQ,EAAE,UAAU,gBAAgB;AACvF;AAEA,SAAS,iBAAiB,GAAkB;AAC1C,SACE,iBAAiB,CAAC,KAClB,aAAa,CAAC;AAAA,EAEd,gBAAgB,CAAC;AAErB;AAEO,SAAS,aAAa,GAAkB;AAC7C,SAAO,iBAAiB,aAAa,CAAC,CAAC;AACzC;","names":[]}
1
+ {"version":3,"sources":["../../../../../src/runtimes/react/utils/can-accept-ref.ts"],"sourcesContent":["import type { Component, PropsWithoutRef, RefAttributes } from 'react'\nimport { type ComponentType } from '../../../state/react-page'\n\ntype WrapperComponent = {\n $$typeof: string\n new (props: PropsWithoutRef<any> & RefAttributes<any>, context?: any): Component<any>\n}\n\ntype MemoComponent = WrapperComponent & {\n type: ComponentType\n}\n\n// See https://github.com/facebook/react/blob/main/packages/shared/ReactSymbols.js\nconst REACT_MEMO_TYPE: symbol = Symbol.for('react.memo')\nconst REACT_LAZY_TYPE: symbol = Symbol.for('react.lazy')\nconst REACT_FORWARD_REF_TYPE: symbol = Symbol.for('react.forward_ref')\n\nfunction hasTypeofSymbol(c: ComponentType, type: symbol): c is WrapperComponent {\n // React uses `$$typeof` field on its wrapper components to identify them,\n // see https://github.com/facebook/react/blob/main/packages/shared/ReactElementType.js\n // and https://github.com/search?q=repo%3Afacebook%2Freact%20%24%24typeof&type=code\n return c != null && '$$typeof' in c && c.$$typeof === type\n}\n\nfunction isMemoComponent(c: ComponentType): c is MemoComponent {\n return hasTypeofSymbol(c, REACT_MEMO_TYPE)\n}\n\nfunction isLazyComponent(c: ComponentType) {\n return hasTypeofSymbol(c, REACT_LAZY_TYPE)\n}\n\nfunction isForwardRef(c: ComponentType) {\n return hasTypeofSymbol(c, REACT_FORWARD_REF_TYPE)\n}\n\nfunction unwrapIfMemo(c: ComponentType): ComponentType {\n return isMemoComponent(c) ? c.type : c\n}\n\nfunction isClassComponent(c: ComponentType) {\n return typeof c === 'function' && c.prototype && Boolean(c.prototype.isReactComponent)\n}\n\nfunction canAcceptRefImpl(c: ComponentType) {\n return (\n isClassComponent(c) ||\n isForwardRef(c) ||\n // will try to pass a ref to all lazy components since we can't know if they accept refs without loading them\n isLazyComponent(c)\n )\n}\n\nexport function canAcceptRef(c: ComponentType) {\n return canAcceptRefImpl(unwrapIfMemo(c))\n}\n"],"mappings":"AAaA,MAAM,kBAA0B,OAAO,IAAI,YAAY;AACvD,MAAM,kBAA0B,OAAO,IAAI,YAAY;AACvD,MAAM,yBAAiC,OAAO,IAAI,mBAAmB;AAErE,SAAS,gBAAgB,GAAkB,MAAqC;AAI9E,SAAO,KAAK,QAAQ,cAAc,KAAK,EAAE,aAAa;AACxD;AAEA,SAAS,gBAAgB,GAAsC;AAC7D,SAAO,gBAAgB,GAAG,eAAe;AAC3C;AAEA,SAAS,gBAAgB,GAAkB;AACzC,SAAO,gBAAgB,GAAG,eAAe;AAC3C;AAEA,SAAS,aAAa,GAAkB;AACtC,SAAO,gBAAgB,GAAG,sBAAsB;AAClD;AAEA,SAAS,aAAa,GAAiC;AACrD,SAAO,gBAAgB,CAAC,IAAI,EAAE,OAAO;AACvC;AAEA,SAAS,iBAAiB,GAAkB;AAC1C,SAAO,OAAO,MAAM,cAAc,EAAE,aAAa,QAAQ,EAAE,UAAU,gBAAgB;AACvF;AAEA,SAAS,iBAAiB,GAAkB;AAC1C,SACE,iBAAiB,CAAC,KAClB,aAAa,CAAC;AAAA,EAEd,gBAAgB,CAAC;AAErB;AAEO,SAAS,aAAa,GAAkB;AAC7C,SAAO,iBAAiB,aAAa,CAAC,CAAC;AACzC;","names":[]}
@@ -1,13 +1,14 @@
1
- const ReadOnlyActionTypes = {
2
- // TODO: this one should be a read-write action and we should refuse
3
- // to fetch resources on the client in read-only mode
1
+ const InternalActionTypes = {
4
2
  API_RESOURCE_FULFILLED: "API_RESOURCE_FULFILLED",
5
3
  CREATE_ELEMENT_TREE: "CREATE_ELEMENT_TREE",
6
4
  DELETE_ELEMENT_TREE: "DELETE_ELEMENT_TREE",
5
+ CHANGE_ELEMENT_TREE: "CHANGE_ELEMENT_TREE",
7
6
  REGISTER_COMPONENT: "REGISTER_COMPONENT",
8
7
  UNREGISTER_COMPONENT: "UNREGISTER_COMPONENT",
9
8
  REGISTER_COMPONENT_HANDLE: "REGISTER_COMPONENT_HANDLE",
10
9
  UNREGISTER_COMPONENT_HANDLE: "UNREGISTER_COMPONENT_HANDLE",
10
+ REGISTER_MEASURABLE: "REGISTER_MEASURABLE",
11
+ UNREGISTER_MEASURABLE: "UNREGISTER_MEASURABLE",
11
12
  REGISTER_PROP_CONTROLLERS: "REGISTER_PROP_CONTROLLERS",
12
13
  UNREGISTER_PROP_CONTROLLERS: "UNREGISTER_PROP_CONTROLLERS",
13
14
  REGISTER_PROP_CONTROLLERS_HANDLE: "REGISTER_PROP_CONTROLLERS_HANDLE",
@@ -15,31 +16,37 @@ const ReadOnlyActionTypes = {
15
16
  REGISTER_REACT_COMPONENT: "REGISTER_REACT_COMPONENT",
16
17
  UNREGISTER_REACT_COMPONENT: "UNREGISTER_REACT_COMPONENT",
17
18
  SET_IS_IN_BUILDER: "SET_IS_IN_BUILDER",
18
- SET_IS_READ_ONLY: "SET_IS_READ_ONLY"
19
+ UPDATE_API_CLIENT_CACHE: "UPDATE_API_CLIENT_CACHE"
19
20
  };
20
21
  function apiResourceFulfilled(resourceType, resourceId, resource, locale) {
21
22
  return {
22
- type: ReadOnlyActionTypes.API_RESOURCE_FULFILLED,
23
+ type: InternalActionTypes.API_RESOURCE_FULFILLED,
23
24
  payload: { resourceType, resourceId, resource, locale }
24
25
  };
25
26
  }
26
27
  function createElementTree(payload) {
27
28
  return {
28
- type: ReadOnlyActionTypes.CREATE_ELEMENT_TREE,
29
+ type: InternalActionTypes.CREATE_ELEMENT_TREE,
29
30
  payload
30
31
  };
31
32
  }
32
33
  function deleteElementTree(payload) {
33
- return { type: ReadOnlyActionTypes.DELETE_ELEMENT_TREE, payload };
34
+ return { type: InternalActionTypes.DELETE_ELEMENT_TREE, payload };
35
+ }
36
+ function changeElementTree(payload) {
37
+ return {
38
+ type: InternalActionTypes.CHANGE_ELEMENT_TREE,
39
+ payload
40
+ };
34
41
  }
35
42
  function registerComponent(type, meta, propControllerDescriptors) {
36
43
  return {
37
- type: ReadOnlyActionTypes.REGISTER_COMPONENT,
44
+ type: InternalActionTypes.REGISTER_COMPONENT,
38
45
  payload: { type, meta, propControllerDescriptors }
39
46
  };
40
47
  }
41
48
  function unregisterComponent(type) {
42
- return { type: ReadOnlyActionTypes.UNREGISTER_COMPONENT, payload: { type } };
49
+ return { type: InternalActionTypes.UNREGISTER_COMPONENT, payload: { type } };
43
50
  }
44
51
  function registerComponentEffect(type, meta, propControllerDescriptors) {
45
52
  return (dispatch) => {
@@ -51,13 +58,13 @@ function registerComponentEffect(type, meta, propControllerDescriptors) {
51
58
  }
52
59
  function registerComponentHandle(documentKey, elementKey, componentHandle) {
53
60
  return {
54
- type: ReadOnlyActionTypes.REGISTER_COMPONENT_HANDLE,
61
+ type: InternalActionTypes.REGISTER_COMPONENT_HANDLE,
55
62
  payload: { documentKey, elementKey, componentHandle }
56
63
  };
57
64
  }
58
65
  function unregisterComponentHandle(documentKey, elementKey) {
59
66
  return {
60
- type: ReadOnlyActionTypes.UNREGISTER_COMPONENT_HANDLE,
67
+ type: InternalActionTypes.UNREGISTER_COMPONENT_HANDLE,
61
68
  payload: { documentKey, elementKey }
62
69
  };
63
70
  }
@@ -69,35 +76,52 @@ function registerComponentHandleEffect(documentKey, elementKey, componentHandle)
69
76
  };
70
77
  };
71
78
  }
79
+ function registerMeasurable(documentKey, elementKey, measurable) {
80
+ return {
81
+ type: InternalActionTypes.REGISTER_MEASURABLE,
82
+ payload: { documentKey, elementKey, measurable }
83
+ };
84
+ }
85
+ function unregisterMeasurable(documentKey, elementKey) {
86
+ return { type: InternalActionTypes.UNREGISTER_MEASURABLE, payload: { documentKey, elementKey } };
87
+ }
88
+ function registerMeasurableEffect(documentKey, elementKey, measurable) {
89
+ return (dispatch) => {
90
+ dispatch(registerMeasurable(documentKey, elementKey, measurable));
91
+ return () => {
92
+ dispatch(unregisterMeasurable(documentKey, elementKey));
93
+ };
94
+ };
95
+ }
72
96
  function registerPropControllersHandle(documentKey, elementKey, handle) {
73
97
  return {
74
- type: ReadOnlyActionTypes.REGISTER_PROP_CONTROLLERS_HANDLE,
98
+ type: InternalActionTypes.REGISTER_PROP_CONTROLLERS_HANDLE,
75
99
  payload: { documentKey, elementKey, handle }
76
100
  };
77
101
  }
78
102
  function unregisterPropControllersHandle(documentKey, elementKey) {
79
103
  return {
80
- type: ReadOnlyActionTypes.UNREGISTER_PROP_CONTROLLERS_HANDLE,
104
+ type: InternalActionTypes.UNREGISTER_PROP_CONTROLLERS_HANDLE,
81
105
  payload: { documentKey, elementKey }
82
106
  };
83
107
  }
84
108
  function registerPropControllers(documentKey, elementKey, propControllers) {
85
109
  return {
86
- type: ReadOnlyActionTypes.REGISTER_PROP_CONTROLLERS,
110
+ type: InternalActionTypes.REGISTER_PROP_CONTROLLERS,
87
111
  payload: { documentKey, elementKey, propControllers }
88
112
  };
89
113
  }
90
114
  function unregisterPropControllers(documentKey, elementKey) {
91
115
  return {
92
- type: ReadOnlyActionTypes.UNREGISTER_PROP_CONTROLLERS,
116
+ type: InternalActionTypes.UNREGISTER_PROP_CONTROLLERS,
93
117
  payload: { documentKey, elementKey }
94
118
  };
95
119
  }
96
120
  function registerReactComponent(type, component) {
97
- return { type: ReadOnlyActionTypes.REGISTER_REACT_COMPONENT, payload: { type, component } };
121
+ return { type: InternalActionTypes.REGISTER_REACT_COMPONENT, payload: { type, component } };
98
122
  }
99
123
  function unregisterReactComponent(type) {
100
- return { type: ReadOnlyActionTypes.UNREGISTER_REACT_COMPONENT, payload: { type } };
124
+ return { type: InternalActionTypes.UNREGISTER_REACT_COMPONENT, payload: { type } };
101
125
  }
102
126
  function registerReactComponentEffect(type, component) {
103
127
  return (dispatch) => {
@@ -108,27 +132,31 @@ function registerReactComponentEffect(type, component) {
108
132
  };
109
133
  }
110
134
  function setIsInBuilder(isInBuilder) {
111
- return { type: ReadOnlyActionTypes.SET_IS_IN_BUILDER, payload: isInBuilder };
135
+ return { type: InternalActionTypes.SET_IS_IN_BUILDER, payload: isInBuilder };
112
136
  }
113
- function setIsReadOnly(isReadOnly) {
114
- return { type: ReadOnlyActionTypes.SET_IS_READ_ONLY, payload: isReadOnly };
137
+ function updateAPIClientCache(payload) {
138
+ return { type: InternalActionTypes.UPDATE_API_CLIENT_CACHE, payload };
115
139
  }
116
140
  export {
117
- ReadOnlyActionTypes,
141
+ InternalActionTypes,
118
142
  apiResourceFulfilled,
143
+ changeElementTree,
119
144
  createElementTree,
120
145
  deleteElementTree,
121
146
  registerComponent,
122
147
  registerComponentEffect,
123
148
  registerComponentHandle,
124
149
  registerComponentHandleEffect,
150
+ registerMeasurable,
151
+ registerMeasurableEffect,
125
152
  registerPropControllers,
126
153
  registerPropControllersHandle,
127
154
  registerReactComponentEffect,
128
155
  setIsInBuilder,
129
- setIsReadOnly,
130
156
  unregisterComponent,
157
+ unregisterMeasurable,
131
158
  unregisterPropControllers,
132
- unregisterPropControllersHandle
159
+ unregisterPropControllersHandle,
160
+ updateAPIClientCache
133
161
  };
134
- //# sourceMappingURL=read-only-actions.js.map
162
+ //# sourceMappingURL=internal.js.map