@makeswift/runtime 0.26.3 → 0.26.4-canary.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (529) hide show
  1. package/dist/cjs/api/{react.js → client.js} +4 -4
  2. package/dist/cjs/api/client.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/components/tests/controls/color-control/fixtures.js.map +1 -1
  20. package/dist/cjs/next/components/tests/controls/page-control-prop-rendering.js +1 -2
  21. package/dist/cjs/next/components/tests/controls/page-control-prop-rendering.js.map +1 -1
  22. package/dist/cjs/next/components/tests/controls/rich-text-v2-control/fixtures.js.map +1 -1
  23. package/dist/cjs/next/components/tests/makeswift-component/fixtures.js +1 -2
  24. package/dist/cjs/next/components/tests/makeswift-component/fixtures.js.map +1 -1
  25. package/dist/cjs/next/components/tests/prop-controllers/page-prop-controller.js +2 -3
  26. package/dist/cjs/next/components/tests/prop-controllers/page-prop-controller.js.map +1 -1
  27. package/dist/cjs/next/testing/element-data.js +3 -3
  28. package/dist/cjs/next/testing/element-data.js.map +1 -1
  29. package/dist/cjs/next/testing/index.js +2 -0
  30. package/dist/cjs/next/testing/index.js.map +1 -1
  31. package/dist/cjs/next/testing/page-rendering.js +3 -3
  32. package/dist/cjs/next/testing/page-rendering.js.map +1 -1
  33. package/dist/cjs/next/testing/react-runtime.js +29 -0
  34. package/dist/cjs/next/testing/react-runtime.js.map +1 -0
  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 +2 -3
  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-preview.js → use-is-read-only.js} +9 -9
  75. package/dist/cjs/runtimes/react/hooks/use-is-read-only.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 +4 -2
  93. package/dist/cjs/runtimes/react/runtime-core.js.map +1 -1
  94. package/dist/cjs/runtimes/react/testing/react-runtime.js +32 -0
  95. package/dist/cjs/runtimes/react/testing/react-runtime.js.map +1 -0
  96. package/dist/cjs/runtimes/react/utils/can-accept-ref.js.map +1 -1
  97. package/dist/cjs/state/actions/internal/index.js +34 -0
  98. package/dist/cjs/state/actions/internal/index.js.map +1 -0
  99. package/dist/cjs/state/actions/{internal.js → internal/read-only-actions.js} +30 -62
  100. package/dist/cjs/state/actions/internal/read-only-actions.js.map +1 -0
  101. package/dist/cjs/state/actions/internal/read-write-actions.js +70 -0
  102. package/dist/cjs/state/actions/internal/read-write-actions.js.map +1 -0
  103. package/dist/cjs/state/builder-api/actions.js +11 -8
  104. package/dist/cjs/state/builder-api/actions.js.map +1 -1
  105. package/dist/cjs/state/host-api.js.map +1 -1
  106. package/dist/cjs/state/makeswift-api-client.js +2 -2
  107. package/dist/cjs/state/makeswift-api-client.js.map +1 -1
  108. package/dist/cjs/state/middleware/prop-controller-handles.js +114 -0
  109. package/dist/cjs/state/middleware/prop-controller-handles.js.map +1 -0
  110. package/dist/cjs/state/middleware/read-only-element-tree.js +52 -0
  111. package/dist/cjs/state/middleware/read-only-element-tree.js.map +1 -0
  112. package/dist/cjs/state/middleware/read-write/builder-api/element-size.js +40 -0
  113. package/dist/cjs/state/middleware/read-write/builder-api/element-size.js.map +1 -0
  114. package/dist/cjs/state/middleware/read-write/builder-api/index.js +76 -0
  115. package/dist/cjs/state/middleware/read-write/builder-api/index.js.map +1 -0
  116. package/dist/cjs/state/middleware/read-write/builder-api/initialize-connection.js +278 -0
  117. package/dist/cjs/state/middleware/read-write/builder-api/initialize-connection.js.map +1 -0
  118. package/dist/cjs/state/middleware/read-write/makeswift-api-client-sync.js +37 -0
  119. package/dist/cjs/state/middleware/read-write/makeswift-api-client-sync.js.map +1 -0
  120. package/dist/cjs/state/middleware/read-write/measure-box-models.js +71 -0
  121. package/dist/cjs/state/middleware/read-write/measure-box-models.js.map +1 -0
  122. package/dist/cjs/state/middleware/read-write/update-element-tree.js +59 -0
  123. package/dist/cjs/state/middleware/read-write/update-element-tree.js.map +1 -0
  124. package/dist/cjs/state/modules/api-resources.js +7 -4
  125. package/dist/cjs/state/modules/api-resources.js.map +1 -1
  126. package/dist/cjs/state/modules/breakpoints.js +2 -1
  127. package/dist/cjs/state/modules/breakpoints.js.map +1 -1
  128. package/dist/cjs/state/modules/builder-edit-mode.js +2 -1
  129. package/dist/cjs/state/modules/builder-edit-mode.js.map +1 -1
  130. package/dist/cjs/state/modules/components-meta.js +3 -2
  131. package/dist/cjs/state/modules/components-meta.js.map +1 -1
  132. package/dist/cjs/state/modules/element-trees.js +5 -3
  133. package/dist/cjs/state/modules/element-trees.js.map +1 -1
  134. package/dist/cjs/state/modules/is-in-builder.js +2 -1
  135. package/dist/cjs/state/modules/is-in-builder.js.map +1 -1
  136. package/dist/cjs/state/modules/{is-preview.js → is-read-only.js} +12 -9
  137. package/dist/cjs/state/modules/is-read-only.js.map +1 -0
  138. package/dist/cjs/state/modules/localized-resources-map.js +4 -2
  139. package/dist/cjs/state/modules/localized-resources-map.js.map +1 -1
  140. package/dist/cjs/state/modules/prop-controllers.js +3 -2
  141. package/dist/cjs/state/modules/prop-controllers.js.map +1 -1
  142. package/dist/cjs/state/modules/react-components.js +3 -2
  143. package/dist/cjs/state/modules/react-components.js.map +1 -1
  144. package/dist/cjs/state/modules/read-only-documents.js +3 -2
  145. package/dist/cjs/state/modules/read-only-documents.js.map +1 -1
  146. package/dist/cjs/state/modules/{box-models.js → read-write/box-models.js} +6 -4
  147. package/dist/cjs/state/modules/read-write/box-models.js.map +1 -0
  148. package/dist/cjs/state/modules/{element-imperative-handles.js → read-write/element-imperative-handles.js} +4 -3
  149. package/dist/cjs/state/modules/read-write/element-imperative-handles.js.map +1 -0
  150. package/dist/cjs/state/modules/{pointer.js → read-write/pointer.js} +3 -2
  151. package/dist/cjs/state/modules/read-write/pointer.js.map +1 -0
  152. package/dist/cjs/state/modules/{read-write-documents.js → read-write/read-write-documents.js} +3 -3
  153. package/dist/cjs/state/modules/read-write/read-write-documents.js.map +1 -0
  154. package/dist/cjs/state/ops/copy-element-tree.js +67 -0
  155. package/dist/cjs/state/ops/copy-element-tree.js.map +1 -0
  156. package/dist/cjs/state/ops/merge-element.js +73 -0
  157. package/dist/cjs/state/ops/merge-element.js.map +1 -0
  158. package/dist/cjs/state/react-builder-preview.js +18 -508
  159. package/dist/cjs/state/react-builder-preview.js.map +1 -1
  160. package/dist/cjs/state/react-page.js +6 -250
  161. package/dist/cjs/state/react-page.js.map +1 -1
  162. package/dist/cjs/state/read-only-state.js +209 -0
  163. package/dist/cjs/state/read-only-state.js.map +1 -0
  164. package/dist/cjs/state/read-write-state.js +121 -0
  165. package/dist/cjs/state/read-write-state.js.map +1 -0
  166. package/dist/cjs/state/shared-api.js.map +1 -1
  167. package/dist/cjs/state/translations/get.js +2 -2
  168. package/dist/cjs/state/translations/get.js.map +1 -1
  169. package/dist/cjs/state/translations/merge.js +2 -2
  170. package/dist/cjs/state/translations/merge.js.map +1 -1
  171. package/dist/esm/api/{react.js → client.js} +1 -1
  172. package/dist/esm/api/client.js.map +1 -0
  173. package/dist/esm/api-handler/handlers/element-tree.js.map +1 -1
  174. package/dist/esm/api-handler/handlers/manifest.js +1 -1
  175. package/dist/esm/api-handler/handlers/merge-translated-data.js.map +1 -1
  176. package/dist/esm/api-handler/handlers/translatable-data.js.map +1 -1
  177. package/dist/esm/builder/host-to-builder-actions.js +4 -4
  178. package/dist/esm/builder/host-to-builder-actions.js.map +1 -1
  179. package/dist/esm/builder/index.js +1 -1
  180. package/dist/esm/builder/index.js.map +1 -1
  181. package/dist/esm/client/index.js +5 -5
  182. package/dist/esm/client/index.js.map +1 -1
  183. package/dist/esm/components/builtin/Box/Box.js +1 -1
  184. package/dist/esm/components/builtin/Box/Box.js.map +1 -1
  185. package/dist/esm/components/builtin/Form/Form.js +1 -1
  186. package/dist/esm/components/builtin/Form/Form.js.map +1 -1
  187. package/dist/esm/components/hooks/useTableFormFieldRefs.js +1 -1
  188. package/dist/esm/components/hooks/useTableFormFieldRefs.js.map +1 -1
  189. package/dist/esm/next/components/tests/controls/color-control/fixtures.js.map +1 -1
  190. package/dist/esm/next/components/tests/controls/page-control-prop-rendering.js +1 -2
  191. package/dist/esm/next/components/tests/controls/page-control-prop-rendering.js.map +1 -1
  192. package/dist/esm/next/components/tests/controls/rich-text-v2-control/fixtures.js.map +1 -1
  193. package/dist/esm/next/components/tests/makeswift-component/fixtures.js +1 -2
  194. package/dist/esm/next/components/tests/makeswift-component/fixtures.js.map +1 -1
  195. package/dist/esm/next/components/tests/prop-controllers/page-prop-controller.js +2 -3
  196. package/dist/esm/next/components/tests/prop-controllers/page-prop-controller.js.map +1 -1
  197. package/dist/esm/next/testing/element-data.js +1 -1
  198. package/dist/esm/next/testing/element-data.js.map +1 -1
  199. package/dist/esm/next/testing/index.js +1 -0
  200. package/dist/esm/next/testing/index.js.map +1 -1
  201. package/dist/esm/next/testing/page-rendering.js +3 -3
  202. package/dist/esm/next/testing/page-rendering.js.map +1 -1
  203. package/dist/esm/next/testing/react-runtime.js +5 -0
  204. package/dist/esm/next/testing/react-runtime.js.map +1 -0
  205. package/dist/esm/prop-controllers/descriptors.js.map +1 -1
  206. package/dist/esm/prop-controllers/instances.js.map +1 -1
  207. package/dist/esm/runtimes/react/components/Document.js +1 -1
  208. package/dist/esm/runtimes/react/components/Document.js.map +1 -1
  209. package/dist/esm/runtimes/react/components/DocumentRoot.js.map +1 -1
  210. package/dist/esm/runtimes/react/components/Element.js +3 -1
  211. package/dist/esm/runtimes/react/components/Element.js.map +1 -1
  212. package/dist/esm/runtimes/react/components/ElementData.js.map +1 -1
  213. package/dist/esm/runtimes/react/components/ElementReference.js.map +1 -1
  214. package/dist/esm/runtimes/react/components/ElementRegistration.js +1 -1
  215. package/dist/esm/runtimes/react/components/ElementRegistration.js.map +1 -1
  216. package/dist/esm/runtimes/react/components/MakeswiftComponent.js +1 -1
  217. package/dist/esm/runtimes/react/components/MakeswiftComponent.js.map +1 -1
  218. package/dist/esm/runtimes/react/components/RuntimeProvider.js +2 -2
  219. package/dist/esm/runtimes/react/components/RuntimeProvider.js.map +1 -1
  220. package/dist/esm/runtimes/react/components/page/Page.js.map +1 -1
  221. package/dist/esm/runtimes/react/controls/rich-text/rich-text.js +2 -3
  222. package/dist/esm/runtimes/react/controls/rich-text/rich-text.js.map +1 -1
  223. package/dist/esm/runtimes/react/controls/rich-text-v2/rich-text-v2.js +2 -2
  224. package/dist/esm/runtimes/react/controls/rich-text-v2/rich-text-v2.js.map +1 -1
  225. package/dist/esm/runtimes/react/controls.js +2 -2
  226. package/dist/esm/runtimes/react/controls.js.map +1 -1
  227. package/dist/esm/runtimes/react/element-imperative-handle.js +1 -1
  228. package/dist/esm/runtimes/react/element-imperative-handle.js.map +1 -1
  229. package/dist/esm/runtimes/react/hooks/use-breakpoints.js +1 -1
  230. package/dist/esm/runtimes/react/hooks/use-breakpoints.js.map +1 -1
  231. package/dist/esm/runtimes/react/hooks/use-builder-edit-mode.js +1 -1
  232. package/dist/esm/runtimes/react/hooks/use-builder-edit-mode.js.map +1 -1
  233. package/dist/esm/runtimes/react/hooks/use-cache-data.js +1 -1
  234. package/dist/esm/runtimes/react/hooks/use-cache-data.js.map +1 -1
  235. package/dist/esm/runtimes/react/hooks/use-component.js +1 -1
  236. package/dist/esm/runtimes/react/hooks/use-component.js.map +1 -1
  237. package/dist/esm/runtimes/react/hooks/use-dispatch.js.map +1 -1
  238. package/dist/esm/runtimes/react/hooks/use-document.js +1 -1
  239. package/dist/esm/runtimes/react/hooks/use-document.js.map +1 -1
  240. package/dist/esm/runtimes/react/hooks/use-element-id.js +1 -1
  241. package/dist/esm/runtimes/react/hooks/use-element-id.js.map +1 -1
  242. package/dist/esm/runtimes/react/hooks/use-is-in-builder.js +1 -1
  243. package/dist/esm/runtimes/react/hooks/use-is-in-builder.js.map +1 -1
  244. package/dist/esm/runtimes/react/hooks/use-is-read-only.js +9 -0
  245. package/dist/esm/runtimes/react/hooks/use-is-read-only.js.map +1 -0
  246. package/dist/esm/runtimes/react/hooks/use-register-document.js.map +1 -1
  247. package/dist/esm/runtimes/react/hooks/use-resolved-props.js +2 -2
  248. package/dist/esm/runtimes/react/hooks/use-resolved-props.js.map +1 -1
  249. package/dist/esm/runtimes/react/hooks/use-resource-resolver.js +1 -1
  250. package/dist/esm/runtimes/react/hooks/use-resource-resolver.js.map +1 -1
  251. package/dist/esm/runtimes/react/hooks/use-selector.js.map +1 -1
  252. package/dist/esm/runtimes/react/hooks/use-store.js.map +1 -1
  253. package/dist/esm/runtimes/react/hooks/use-universal-dispatch.js.map +1 -1
  254. package/dist/esm/runtimes/react/host-api-client.js +1 -1
  255. package/dist/esm/runtimes/react/host-api-client.js.map +1 -1
  256. package/dist/esm/runtimes/react/index.js +2 -2
  257. package/dist/esm/runtimes/react/index.js.map +1 -1
  258. package/dist/esm/runtimes/react/poll-box-model.js +1 -1
  259. package/dist/esm/runtimes/react/poll-box-model.js.map +1 -1
  260. package/dist/esm/runtimes/react/react-runtime-core.js +4 -1
  261. package/dist/esm/runtimes/react/react-runtime-core.js.map +1 -1
  262. package/dist/esm/runtimes/react/runtime-core.js +3 -5
  263. package/dist/esm/runtimes/react/runtime-core.js.map +1 -1
  264. package/dist/esm/runtimes/react/testing/react-runtime.js +8 -0
  265. package/dist/esm/runtimes/react/testing/react-runtime.js.map +1 -0
  266. package/dist/esm/runtimes/react/utils/can-accept-ref.js.map +1 -1
  267. package/dist/esm/state/actions/internal/index.js +10 -0
  268. package/dist/esm/state/actions/internal/index.js.map +1 -0
  269. package/dist/esm/state/actions/{internal.js → internal/read-only-actions.js} +24 -52
  270. package/dist/esm/state/actions/internal/read-only-actions.js.map +1 -0
  271. package/dist/esm/state/actions/internal/read-write-actions.js +41 -0
  272. package/dist/esm/state/actions/internal/read-write-actions.js.map +1 -0
  273. package/dist/esm/state/builder-api/actions.js +8 -7
  274. package/dist/esm/state/builder-api/actions.js.map +1 -1
  275. package/dist/esm/state/host-api.js.map +1 -1
  276. package/dist/esm/state/makeswift-api-client.js +1 -1
  277. package/dist/esm/state/makeswift-api-client.js.map +1 -1
  278. package/dist/esm/state/middleware/prop-controller-handles.js +80 -0
  279. package/dist/esm/state/middleware/prop-controller-handles.js.map +1 -0
  280. package/dist/esm/state/middleware/read-only-element-tree.js +28 -0
  281. package/dist/esm/state/middleware/read-only-element-tree.js.map +1 -0
  282. package/dist/esm/state/middleware/read-write/builder-api/element-size.js +16 -0
  283. package/dist/esm/state/middleware/read-write/builder-api/element-size.js.map +1 -0
  284. package/dist/esm/state/middleware/read-write/builder-api/index.js +52 -0
  285. package/dist/esm/state/middleware/read-write/builder-api/index.js.map +1 -0
  286. package/dist/esm/state/middleware/read-write/builder-api/initialize-connection.js +251 -0
  287. package/dist/esm/state/middleware/read-write/builder-api/initialize-connection.js.map +1 -0
  288. package/dist/esm/state/middleware/read-write/makeswift-api-client-sync.js +13 -0
  289. package/dist/esm/state/middleware/read-write/makeswift-api-client-sync.js.map +1 -0
  290. package/dist/esm/state/middleware/read-write/measure-box-models.js +37 -0
  291. package/dist/esm/state/middleware/read-write/measure-box-models.js.map +1 -0
  292. package/dist/esm/state/middleware/read-write/update-element-tree.js +35 -0
  293. package/dist/esm/state/middleware/read-write/update-element-tree.js.map +1 -0
  294. package/dist/esm/state/modules/api-resources.js +8 -5
  295. package/dist/esm/state/modules/api-resources.js.map +1 -1
  296. package/dist/esm/state/modules/breakpoints.js +3 -2
  297. package/dist/esm/state/modules/breakpoints.js.map +1 -1
  298. package/dist/esm/state/modules/builder-edit-mode.js +3 -2
  299. package/dist/esm/state/modules/builder-edit-mode.js.map +1 -1
  300. package/dist/esm/state/modules/components-meta.js +4 -3
  301. package/dist/esm/state/modules/components-meta.js.map +1 -1
  302. package/dist/esm/state/modules/element-trees.js +6 -4
  303. package/dist/esm/state/modules/element-trees.js.map +1 -1
  304. package/dist/esm/state/modules/is-in-builder.js +3 -2
  305. package/dist/esm/state/modules/is-in-builder.js.map +1 -1
  306. package/dist/esm/state/modules/is-read-only.js +24 -0
  307. package/dist/esm/state/modules/is-read-only.js.map +1 -0
  308. package/dist/esm/state/modules/localized-resources-map.js +5 -3
  309. package/dist/esm/state/modules/localized-resources-map.js.map +1 -1
  310. package/dist/esm/state/modules/prop-controllers.js +4 -3
  311. package/dist/esm/state/modules/prop-controllers.js.map +1 -1
  312. package/dist/esm/state/modules/react-components.js +4 -3
  313. package/dist/esm/state/modules/react-components.js.map +1 -1
  314. package/dist/esm/state/modules/read-only-documents.js +4 -6
  315. package/dist/esm/state/modules/read-only-documents.js.map +1 -1
  316. package/dist/esm/state/modules/{box-models.js → read-write/box-models.js} +6 -4
  317. package/dist/esm/state/modules/read-write/box-models.js.map +1 -0
  318. package/dist/esm/state/modules/{element-imperative-handles.js → read-write/element-imperative-handles.js} +4 -3
  319. package/dist/esm/state/modules/read-write/element-imperative-handles.js.map +1 -0
  320. package/dist/esm/state/modules/{pointer.js → read-write/pointer.js} +3 -2
  321. package/dist/esm/state/modules/read-write/pointer.js.map +1 -0
  322. package/dist/esm/state/modules/{read-write-documents.js → read-write/read-write-documents.js} +3 -3
  323. package/dist/esm/state/modules/read-write/read-write-documents.js.map +1 -0
  324. package/dist/esm/state/ops/copy-element-tree.js +37 -0
  325. package/dist/esm/state/ops/copy-element-tree.js.map +1 -0
  326. package/dist/esm/state/ops/merge-element.js +39 -0
  327. package/dist/esm/state/ops/merge-element.js.map +1 -0
  328. package/dist/esm/state/react-builder-preview.js +15 -500
  329. package/dist/esm/state/react-builder-preview.js.map +1 -1
  330. package/dist/esm/state/react-page.js +7 -240
  331. package/dist/esm/state/react-page.js.map +1 -1
  332. package/dist/esm/state/read-only-state.js +157 -0
  333. package/dist/esm/state/read-only-state.js.map +1 -0
  334. package/dist/esm/state/read-write-state.js +76 -0
  335. package/dist/esm/state/read-write-state.js.map +1 -0
  336. package/dist/esm/state/shared-api.js.map +1 -1
  337. package/dist/esm/state/translations/get.js +1 -1
  338. package/dist/esm/state/translations/get.js.map +1 -1
  339. package/dist/esm/state/translations/merge.js +1 -1
  340. package/dist/esm/state/translations/merge.js.map +1 -1
  341. package/dist/types/api/{react.d.ts → client.d.ts} +1 -1
  342. package/dist/types/api/client.d.ts.map +1 -0
  343. package/dist/types/api-handler/handlers/element-tree.d.ts +1 -1
  344. package/dist/types/api-handler/handlers/element-tree.d.ts.map +1 -1
  345. package/dist/types/api-handler/handlers/merge-translated-data.d.ts +1 -1
  346. package/dist/types/api-handler/handlers/merge-translated-data.d.ts.map +1 -1
  347. package/dist/types/api-handler/handlers/translatable-data.d.ts +1 -1
  348. package/dist/types/api-handler/handlers/translatable-data.d.ts.map +1 -1
  349. package/dist/types/api-handler/handlers/webhook/types.d.ts +4 -4
  350. package/dist/types/builder/host-to-builder-actions.d.ts +2 -2
  351. package/dist/types/builder/host-to-builder-actions.d.ts.map +1 -1
  352. package/dist/types/builder/index.d.ts +2 -2
  353. package/dist/types/builder/index.d.ts.map +1 -1
  354. package/dist/types/client/index.d.ts +2 -2
  355. package/dist/types/client/index.d.ts.map +1 -1
  356. package/dist/types/components/builtin/Box/Box.d.ts +1 -1
  357. package/dist/types/components/builtin/Box/Box.d.ts.map +1 -1
  358. package/dist/types/components/builtin/Form/Form.d.ts +1 -1
  359. package/dist/types/components/builtin/Form/Form.d.ts.map +1 -1
  360. package/dist/types/locale.d.ts +1 -1
  361. package/dist/types/next/components/tests/controls/color-control/fixtures.d.ts +1 -1
  362. package/dist/types/next/components/tests/controls/color-control/fixtures.d.ts.map +1 -1
  363. package/dist/types/next/components/tests/controls/page-control-prop-rendering.d.ts +3 -3
  364. package/dist/types/next/components/tests/controls/page-control-prop-rendering.d.ts.map +1 -1
  365. package/dist/types/next/components/tests/controls/rich-text-v2-control/fixtures.d.ts +1 -1
  366. package/dist/types/next/components/tests/controls/rich-text-v2-control/fixtures.d.ts.map +1 -1
  367. package/dist/types/next/components/tests/makeswift-component/fixtures.d.ts +1 -1
  368. package/dist/types/next/components/tests/makeswift-component/fixtures.d.ts.map +1 -1
  369. package/dist/types/next/components/tests/prop-controllers/page-prop-controller.d.ts +1 -1
  370. package/dist/types/next/components/tests/prop-controllers/page-prop-controller.d.ts.map +1 -1
  371. package/dist/types/next/testing/element-data.d.ts +1 -1
  372. package/dist/types/next/testing/element-data.d.ts.map +1 -1
  373. package/dist/types/next/testing/index.d.ts +1 -0
  374. package/dist/types/next/testing/index.d.ts.map +1 -1
  375. package/dist/types/next/testing/page-rendering.d.ts.map +1 -1
  376. package/dist/types/next/testing/react-runtime.d.ts +2 -0
  377. package/dist/types/next/testing/react-runtime.d.ts.map +1 -0
  378. package/dist/types/prop-controllers/descriptors.d.ts +1 -1
  379. package/dist/types/prop-controllers/descriptors.d.ts.map +1 -1
  380. package/dist/types/prop-controllers/instances.d.ts +1 -1
  381. package/dist/types/prop-controllers/instances.d.ts.map +1 -1
  382. package/dist/types/runtimes/react/components/Document.d.ts +1 -1
  383. package/dist/types/runtimes/react/components/Document.d.ts.map +1 -1
  384. package/dist/types/runtimes/react/components/DocumentRoot.d.ts +1 -1
  385. package/dist/types/runtimes/react/components/DocumentRoot.d.ts.map +1 -1
  386. package/dist/types/runtimes/react/components/Element.d.ts +1 -1
  387. package/dist/types/runtimes/react/components/Element.d.ts.map +1 -1
  388. package/dist/types/runtimes/react/components/ElementData.d.ts +1 -1
  389. package/dist/types/runtimes/react/components/ElementData.d.ts.map +1 -1
  390. package/dist/types/runtimes/react/components/ElementReference.d.ts +1 -1
  391. package/dist/types/runtimes/react/components/ElementReference.d.ts.map +1 -1
  392. package/dist/types/runtimes/react/components/RuntimeProvider.d.ts +1 -1
  393. package/dist/types/runtimes/react/components/RuntimeProvider.d.ts.map +1 -1
  394. package/dist/types/runtimes/react/components/page/Page.d.ts +1 -1
  395. package/dist/types/runtimes/react/components/page/Page.d.ts.map +1 -1
  396. package/dist/types/runtimes/react/controls.d.ts +2 -2
  397. package/dist/types/runtimes/react/controls.d.ts.map +1 -1
  398. package/dist/types/runtimes/react/element-imperative-handle.d.ts +1 -1
  399. package/dist/types/runtimes/react/element-imperative-handle.d.ts.map +1 -1
  400. package/dist/types/runtimes/react/hooks/use-cache-data.d.ts +1 -1
  401. package/dist/types/runtimes/react/hooks/use-cache-data.d.ts.map +1 -1
  402. package/dist/types/runtimes/react/hooks/use-component.d.ts +1 -1
  403. package/dist/types/runtimes/react/hooks/use-component.d.ts.map +1 -1
  404. package/dist/types/runtimes/react/hooks/use-dispatch.d.ts +3 -3
  405. package/dist/types/runtimes/react/hooks/use-dispatch.d.ts.map +1 -1
  406. package/dist/types/runtimes/react/hooks/use-document.d.ts +1 -1
  407. package/dist/types/runtimes/react/hooks/use-document.d.ts.map +1 -1
  408. package/dist/types/runtimes/react/hooks/use-is-read-only.d.ts +2 -0
  409. package/dist/types/runtimes/react/hooks/use-is-read-only.d.ts.map +1 -0
  410. package/dist/types/runtimes/react/hooks/use-register-document.d.ts +1 -1
  411. package/dist/types/runtimes/react/hooks/use-register-document.d.ts.map +1 -1
  412. package/dist/types/runtimes/react/hooks/use-selector.d.ts +3 -3
  413. package/dist/types/runtimes/react/hooks/use-selector.d.ts.map +1 -1
  414. package/dist/types/runtimes/react/hooks/use-store.d.ts +4 -4
  415. package/dist/types/runtimes/react/hooks/use-store.d.ts.map +1 -1
  416. package/dist/types/runtimes/react/hooks/use-universal-dispatch.d.ts +1 -1
  417. package/dist/types/runtimes/react/hooks/use-universal-dispatch.d.ts.map +1 -1
  418. package/dist/types/runtimes/react/host-api-client.d.ts +1 -1
  419. package/dist/types/runtimes/react/host-api-client.d.ts.map +1 -1
  420. package/dist/types/runtimes/react/index.d.ts +1 -1
  421. package/dist/types/runtimes/react/index.d.ts.map +1 -1
  422. package/dist/types/runtimes/react/poll-box-model.d.ts +1 -1
  423. package/dist/types/runtimes/react/poll-box-model.d.ts.map +1 -1
  424. package/dist/types/runtimes/react/react-runtime-core.d.ts +1 -1
  425. package/dist/types/runtimes/react/react-runtime-core.d.ts.map +1 -1
  426. package/dist/types/runtimes/react/runtime-core.d.ts +2 -1
  427. package/dist/types/runtimes/react/runtime-core.d.ts.map +1 -1
  428. package/dist/types/runtimes/react/testing/react-runtime.d.ts +3 -0
  429. package/dist/types/runtimes/react/testing/react-runtime.d.ts.map +1 -0
  430. package/dist/types/runtimes/react/utils/can-accept-ref.d.ts +1 -1
  431. package/dist/types/runtimes/react/utils/can-accept-ref.d.ts.map +1 -1
  432. package/dist/types/state/__tests__/merge-element.test.d.ts +2 -0
  433. package/dist/types/state/__tests__/merge-element.test.d.ts.map +1 -0
  434. package/dist/types/state/actions/index.d.ts +6 -5
  435. package/dist/types/state/actions/index.d.ts.map +1 -1
  436. package/dist/types/state/actions/internal/index.d.ts +25 -0
  437. package/dist/types/state/actions/internal/index.d.ts.map +1 -0
  438. package/dist/types/state/actions/{internal.d.ts → internal/read-only-actions.d.ts} +33 -67
  439. package/dist/types/state/actions/internal/read-only-actions.d.ts.map +1 -0
  440. package/dist/types/state/actions/internal/read-write-actions.d.ts +48 -0
  441. package/dist/types/state/actions/internal/read-write-actions.d.ts.map +1 -0
  442. package/dist/types/state/builder-api/actions.d.ts +14 -14
  443. package/dist/types/state/builder-api/actions.d.ts.map +1 -1
  444. package/dist/types/state/host-api.d.ts +1 -1
  445. package/dist/types/state/host-api.d.ts.map +1 -1
  446. package/dist/types/state/middleware/prop-controller-handles.d.ts +4 -0
  447. package/dist/types/state/middleware/prop-controller-handles.d.ts.map +1 -0
  448. package/dist/types/state/middleware/read-only-element-tree.d.ts +4 -0
  449. package/dist/types/state/middleware/read-only-element-tree.d.ts.map +1 -0
  450. package/dist/types/state/middleware/read-write/builder-api/element-size.d.ts +12 -0
  451. package/dist/types/state/middleware/read-write/builder-api/element-size.d.ts.map +1 -0
  452. package/dist/types/state/middleware/read-write/builder-api/index.d.ts +5 -0
  453. package/dist/types/state/middleware/read-write/builder-api/index.d.ts.map +1 -0
  454. package/dist/types/state/middleware/read-write/builder-api/initialize-connection.d.ts +6 -0
  455. package/dist/types/state/middleware/read-write/builder-api/initialize-connection.d.ts.map +1 -0
  456. package/dist/types/state/middleware/read-write/makeswift-api-client-sync.d.ts +5 -0
  457. package/dist/types/state/middleware/read-write/makeswift-api-client-sync.d.ts.map +1 -0
  458. package/dist/types/state/middleware/read-write/measure-box-models.d.ts +4 -0
  459. package/dist/types/state/middleware/read-write/measure-box-models.d.ts.map +1 -0
  460. package/dist/types/state/middleware/read-write/update-element-tree.d.ts +4 -0
  461. package/dist/types/state/middleware/read-write/update-element-tree.d.ts.map +1 -0
  462. package/dist/types/state/modules/api-resources.d.ts.map +1 -1
  463. package/dist/types/state/modules/breakpoints.d.ts.map +1 -1
  464. package/dist/types/state/modules/builder-edit-mode.d.ts.map +1 -1
  465. package/dist/types/state/modules/components-meta.d.ts.map +1 -1
  466. package/dist/types/state/modules/element-trees.d.ts.map +1 -1
  467. package/dist/types/state/modules/is-in-builder.d.ts.map +1 -1
  468. package/dist/types/state/modules/{is-preview.d.ts → is-read-only.d.ts} +3 -3
  469. package/dist/types/state/modules/is-read-only.d.ts.map +1 -0
  470. package/dist/types/state/modules/localized-resources-map.d.ts.map +1 -1
  471. package/dist/types/state/modules/prop-controllers.d.ts.map +1 -1
  472. package/dist/types/state/modules/react-components.d.ts.map +1 -1
  473. package/dist/types/state/modules/read-only-documents.d.ts.map +1 -1
  474. package/dist/types/state/modules/{box-models.d.ts → read-write/box-models.d.ts} +1 -1
  475. package/dist/types/state/modules/read-write/box-models.d.ts.map +1 -0
  476. package/dist/types/state/modules/read-write/element-imperative-handles.d.ts +6 -0
  477. package/dist/types/state/modules/read-write/element-imperative-handles.d.ts.map +1 -0
  478. package/dist/types/state/modules/{pointer.d.ts → read-write/pointer.d.ts} +2 -3
  479. package/dist/types/state/modules/read-write/pointer.d.ts.map +1 -0
  480. package/dist/types/state/modules/{read-write-documents.d.ts → read-write/read-write-documents.d.ts} +4 -4
  481. package/dist/types/state/modules/read-write/read-write-documents.d.ts.map +1 -0
  482. package/dist/types/state/ops/copy-element-tree.d.ts +37 -0
  483. package/dist/types/state/ops/copy-element-tree.d.ts.map +1 -0
  484. package/dist/types/state/ops/merge-element.d.ts +4 -0
  485. package/dist/types/state/ops/merge-element.d.ts.map +1 -0
  486. package/dist/types/state/react-builder-preview.d.ts +26 -93
  487. package/dist/types/state/react-builder-preview.d.ts.map +1 -1
  488. package/dist/types/state/react-page.d.ts +20 -136
  489. package/dist/types/state/react-page.d.ts.map +1 -1
  490. package/dist/types/state/read-only-state.d.ts +122 -0
  491. package/dist/types/state/read-only-state.d.ts.map +1 -0
  492. package/dist/types/state/read-write-state.d.ts +56 -0
  493. package/dist/types/state/read-write-state.d.ts.map +1 -0
  494. package/dist/types/state/shared-api.d.ts.map +1 -1
  495. package/dist/types/state/translations/get.d.ts +1 -1
  496. package/dist/types/state/translations/get.d.ts.map +1 -1
  497. package/dist/types/state/translations/merge.d.ts +1 -1
  498. package/dist/types/state/translations/merge.d.ts.map +1 -1
  499. package/package.json +1 -1
  500. package/dist/cjs/api/react.js.map +0 -1
  501. package/dist/cjs/runtimes/react/hooks/use-is-preview.js.map +0 -1
  502. package/dist/cjs/state/actions/internal.js.map +0 -1
  503. package/dist/cjs/state/modules/box-models.js.map +0 -1
  504. package/dist/cjs/state/modules/element-imperative-handles.js.map +0 -1
  505. package/dist/cjs/state/modules/is-preview.js.map +0 -1
  506. package/dist/cjs/state/modules/pointer.js.map +0 -1
  507. package/dist/cjs/state/modules/read-write-documents.js.map +0 -1
  508. package/dist/esm/api/react.js.map +0 -1
  509. package/dist/esm/runtimes/react/hooks/use-is-preview.js +0 -9
  510. package/dist/esm/runtimes/react/hooks/use-is-preview.js.map +0 -1
  511. package/dist/esm/state/actions/internal.js.map +0 -1
  512. package/dist/esm/state/modules/box-models.js.map +0 -1
  513. package/dist/esm/state/modules/element-imperative-handles.js.map +0 -1
  514. package/dist/esm/state/modules/is-preview.js +0 -21
  515. package/dist/esm/state/modules/is-preview.js.map +0 -1
  516. package/dist/esm/state/modules/pointer.js.map +0 -1
  517. package/dist/esm/state/modules/read-write-documents.js.map +0 -1
  518. package/dist/types/api/react.d.ts.map +0 -1
  519. package/dist/types/runtimes/react/hooks/use-is-preview.d.ts +0 -2
  520. package/dist/types/runtimes/react/hooks/use-is-preview.d.ts.map +0 -1
  521. package/dist/types/state/__tests__/react-page.test.d.ts +0 -2
  522. package/dist/types/state/__tests__/react-page.test.d.ts.map +0 -1
  523. package/dist/types/state/actions/internal.d.ts.map +0 -1
  524. package/dist/types/state/modules/box-models.d.ts.map +0 -1
  525. package/dist/types/state/modules/element-imperative-handles.d.ts +0 -7
  526. package/dist/types/state/modules/element-imperative-handles.d.ts.map +0 -1
  527. package/dist/types/state/modules/is-preview.d.ts.map +0 -1
  528. package/dist/types/state/modules/pointer.d.ts.map +0 -1
  529. package/dist/types/state/modules/read-write-documents.d.ts.map +0 -1
@@ -0,0 +1,67 @@
1
+ "use strict";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
+ }
18
+ return to;
19
+ };
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
25
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
+ mod
27
+ ));
28
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
+ var copy_element_tree_exports = {};
30
+ __export(copy_element_tree_exports, {
31
+ copyElementTree: () => copyElementTree
32
+ });
33
+ module.exports = __toCommonJS(copy_element_tree_exports);
34
+ var import_controls = require("@makeswift/controls");
35
+ var import_control = require("../../controls/control");
36
+ var Documents = __toESM(require("../modules/read-only-documents"));
37
+ var import_read_only_state = require("../read-only-state");
38
+ function copyElementTree(state, elementTree, replacementContext) {
39
+ function copyElementTreeNode(state2, replacementContext2) {
40
+ return function(node) {
41
+ const context = {
42
+ replacementContext: replacementContext2,
43
+ copyElement: copyElementTreeNode(state2, replacementContext2)
44
+ };
45
+ if (Documents.isElementReference(node)) {
46
+ return {
47
+ ...node,
48
+ value: (0, import_controls.replaceResourceIfNeeded)(import_controls.ContextResource.GlobalElement, node.value, context)
49
+ };
50
+ }
51
+ const descriptors = (0, import_read_only_state.getComponentPropControllerDescriptors)(state2, node.type);
52
+ if (descriptors == null)
53
+ return node;
54
+ for (const [propKey, descriptor] of Object.entries(descriptors)) {
55
+ node.props[propKey] = (0, import_control.copy)(descriptor, node.props[propKey], context);
56
+ }
57
+ return node;
58
+ };
59
+ }
60
+ const copy = JSON.parse(JSON.stringify(elementTree));
61
+ return copyElementTreeNode(state, (0, import_controls.createReplacementContext)(replacementContext))(copy);
62
+ }
63
+ // Annotate the CommonJS export names for ESM import in node:
64
+ 0 && (module.exports = {
65
+ copyElementTree
66
+ });
67
+ //# sourceMappingURL=copy-element-tree.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/state/ops/copy-element-tree.ts"],"sourcesContent":["import {\n createReplacementContext,\n type SerializableReplacementContext,\n type ReplacementContext,\n CopyContext,\n replaceResourceIfNeeded,\n ContextResource,\n} from '@makeswift/controls'\n\nimport { copy as copyFromControl } from '../../controls/control'\n\nimport * as Documents from '../modules/read-only-documents'\n\nimport { type State, getComponentPropControllerDescriptors } from '../read-only-state'\n\nexport function copyElementTree(\n state: State,\n elementTree: Documents.ElementData,\n replacementContext: SerializableReplacementContext,\n) {\n /*\n * This is structured a bit weird.\n *\n * This is done so that we can pass a callable function into some of the copy functions\n * themselves, to enable mutual recursion.\n *\n * Consider the slot control. It has to iterate through its elements, and for each of them,\n * call some version of the below function.\n *\n * That is how the recursing through the tree happens.\n */\n function copyElementTreeNode(state: State, replacementContext: ReplacementContext) {\n return function (node: Documents.Element) {\n const context: CopyContext = {\n replacementContext,\n copyElement: copyElementTreeNode(state, replacementContext),\n }\n\n if (Documents.isElementReference(node)) {\n return {\n ...node,\n value: replaceResourceIfNeeded(ContextResource.GlobalElement, node.value, context),\n }\n }\n\n const descriptors = getComponentPropControllerDescriptors(state, node.type)\n\n if (descriptors == null) return node\n\n for (const [propKey, descriptor] of Object.entries(descriptors)) {\n node.props[propKey] = copyFromControl(descriptor, node.props[propKey], context)\n }\n\n return node\n }\n }\n\n const copy = JSON.parse(JSON.stringify(elementTree)) as Documents.ElementData\n\n return copyElementTreeNode(state, createReplacementContext(replacementContext))(copy)\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,sBAOO;AAEP,qBAAwC;AAExC,gBAA2B;AAE3B,6BAAkE;AAE3D,SAAS,gBACd,OACA,aACA,oBACA;AAYA,WAAS,oBAAoBA,QAAcC,qBAAwC;AACjF,WAAO,SAAU,MAAyB;AACxC,YAAM,UAAuB;AAAA,QAC3B,oBAAAA;AAAA,QACA,aAAa,oBAAoBD,QAAOC,mBAAkB;AAAA,MAC5D;AAEA,UAAI,UAAU,mBAAmB,IAAI,GAAG;AACtC,eAAO;AAAA,UACL,GAAG;AAAA,UACH,WAAO,yCAAwB,gCAAgB,eAAe,KAAK,OAAO,OAAO;AAAA,QACnF;AAAA,MACF;AAEA,YAAM,kBAAc,8DAAsCD,QAAO,KAAK,IAAI;AAE1E,UAAI,eAAe;AAAM,eAAO;AAEhC,iBAAW,CAAC,SAAS,UAAU,KAAK,OAAO,QAAQ,WAAW,GAAG;AAC/D,aAAK,MAAM,OAAO,QAAI,eAAAE,MAAgB,YAAY,KAAK,MAAM,OAAO,GAAG,OAAO;AAAA,MAChF;AAEA,aAAO;AAAA,IACT;AAAA,EACF;AAEA,QAAM,OAAO,KAAK,MAAM,KAAK,UAAU,WAAW,CAAC;AAEnD,SAAO,oBAAoB,WAAO,0CAAyB,kBAAkB,CAAC,EAAE,IAAI;AACtF;","names":["state","replacementContext","copyFromControl"]}
@@ -0,0 +1,73 @@
1
+ "use strict";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
+ }
18
+ return to;
19
+ };
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
25
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
+ mod
27
+ ));
28
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
+ var merge_element_exports = {};
30
+ __export(merge_element_exports, {
31
+ mergeElement: () => mergeElement
32
+ });
33
+ module.exports = __toCommonJS(merge_element_exports);
34
+ var import_control = require("../../controls/control");
35
+ var Documents = __toESM(require("../modules/read-only-documents"));
36
+ var import_read_only_state = require("../read-only-state");
37
+ function mergeElement(state, baseElement, overrideElement) {
38
+ if (baseElement.type !== overrideElement.type || baseElement.key !== overrideElement.key) {
39
+ throw new Error(`Can't merge elements of different types or keys`);
40
+ }
41
+ if (Documents.isElementReference(overrideElement))
42
+ return overrideElement;
43
+ if (Documents.isElementReference(baseElement))
44
+ return baseElement;
45
+ const elementDescriptors = (0, import_read_only_state.getPropControllerDescriptors)(state);
46
+ const descriptors = elementDescriptors.get(baseElement.type);
47
+ if (descriptors == null) {
48
+ throw new Error(
49
+ `Can't merge element of type "${baseElement.type}" because it has no descriptors`
50
+ );
51
+ }
52
+ const mergedProps = {};
53
+ for (const propName of Object.keys(descriptors)) {
54
+ const descriptor = descriptors[propName];
55
+ const context = {
56
+ mergeElement(base, override) {
57
+ return mergeElement(state, base, override);
58
+ }
59
+ };
60
+ mergedProps[propName] = (0, import_control.merge)(
61
+ descriptor,
62
+ baseElement.props[propName],
63
+ overrideElement.props[propName],
64
+ context
65
+ );
66
+ }
67
+ return { ...baseElement, props: mergedProps };
68
+ }
69
+ // Annotate the CommonJS export names for ESM import in node:
70
+ 0 && (module.exports = {
71
+ mergeElement
72
+ });
73
+ //# sourceMappingURL=merge-element.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/state/ops/merge-element.ts"],"sourcesContent":["import { type MergeContext } from '@makeswift/controls'\n\nimport { merge } from '../../controls/control'\n\nimport * as Documents from '../modules/read-only-documents'\n\nimport { type State, getPropControllerDescriptors } from '../read-only-state'\n\nexport function mergeElement(\n state: State,\n baseElement: Documents.Element,\n overrideElement: Documents.Element,\n): Documents.Element {\n if (baseElement.type !== overrideElement.type || baseElement.key !== overrideElement.key) {\n throw new Error(`Can't merge elements of different types or keys`)\n }\n\n if (Documents.isElementReference(overrideElement)) return overrideElement\n\n if (Documents.isElementReference(baseElement)) return baseElement\n\n const elementDescriptors = getPropControllerDescriptors(state)\n const descriptors = elementDescriptors.get(baseElement.type)\n\n if (descriptors == null) {\n throw new Error(\n `Can't merge element of type \"${baseElement.type}\" because it has no descriptors`,\n )\n }\n\n const mergedProps = {} as Record<string, Documents.Data>\n\n for (const propName of Object.keys(descriptors)) {\n const descriptor = descriptors[propName]\n const context: MergeContext = {\n mergeElement(base, override) {\n return mergeElement(state, base, override)\n },\n }\n\n mergedProps[propName] = merge(\n descriptor,\n baseElement.props[propName],\n overrideElement.props[propName],\n context,\n )\n }\n\n return { ...baseElement, props: mergedProps }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,qBAAsB;AAEtB,gBAA2B;AAE3B,6BAAyD;AAElD,SAAS,aACd,OACA,aACA,iBACmB;AACnB,MAAI,YAAY,SAAS,gBAAgB,QAAQ,YAAY,QAAQ,gBAAgB,KAAK;AACxF,UAAM,IAAI,MAAM,iDAAiD;AAAA,EACnE;AAEA,MAAI,UAAU,mBAAmB,eAAe;AAAG,WAAO;AAE1D,MAAI,UAAU,mBAAmB,WAAW;AAAG,WAAO;AAEtD,QAAM,yBAAqB,qDAA6B,KAAK;AAC7D,QAAM,cAAc,mBAAmB,IAAI,YAAY,IAAI;AAE3D,MAAI,eAAe,MAAM;AACvB,UAAM,IAAI;AAAA,MACR,gCAAgC,YAAY,IAAI;AAAA,IAClD;AAAA,EACF;AAEA,QAAM,cAAc,CAAC;AAErB,aAAW,YAAY,OAAO,KAAK,WAAW,GAAG;AAC/C,UAAM,aAAa,YAAY,QAAQ;AACvC,UAAM,UAAwB;AAAA,MAC5B,aAAa,MAAM,UAAU;AAC3B,eAAO,aAAa,OAAO,MAAM,QAAQ;AAAA,MAC3C;AAAA,IACF;AAEA,gBAAY,QAAQ,QAAI;AAAA,MACtB;AAAA,MACA,YAAY,MAAM,QAAQ;AAAA,MAC1B,gBAAgB,MAAM,QAAQ;AAAA,MAC9B;AAAA,IACF;AAAA,EACF;AAEA,SAAO,EAAE,GAAG,aAAa,OAAO,YAAY;AAC9C;","names":[]}