@makeswift/runtime 0.26.3 → 0.26.4-canary.1

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 (560) hide show
  1. package/dist/cjs/api/{react.js → client.js} +14 -7
  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/framework-provider/index.js +1 -1
  20. package/dist/cjs/next/components/framework-provider/index.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 +1 -2
  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 +1 -2
  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 +2 -3
  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 +2 -0
  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/next/testing/react-runtime.js +29 -0
  36. package/dist/cjs/next/testing/react-runtime.js.map +1 -0
  37. package/dist/cjs/prop-controllers/descriptors.js.map +1 -1
  38. package/dist/cjs/prop-controllers/instances.js.map +1 -1
  39. package/dist/cjs/runtimes/react/components/Document.js +2 -2
  40. package/dist/cjs/runtimes/react/components/Document.js.map +1 -1
  41. package/dist/cjs/runtimes/react/components/DocumentRoot.js.map +1 -1
  42. package/dist/cjs/runtimes/react/components/Element.js +2 -2
  43. package/dist/cjs/runtimes/react/components/Element.js.map +1 -1
  44. package/dist/cjs/runtimes/react/components/ElementData.js.map +1 -1
  45. package/dist/cjs/runtimes/react/components/ElementReference.js.map +1 -1
  46. package/dist/cjs/runtimes/react/components/ElementRegistration.js +2 -2
  47. package/dist/cjs/runtimes/react/components/ElementRegistration.js.map +1 -1
  48. package/dist/cjs/runtimes/react/components/MakeswiftComponent.js +2 -2
  49. package/dist/cjs/runtimes/react/components/MakeswiftComponent.js.map +1 -1
  50. package/dist/cjs/runtimes/react/components/RuntimeProvider.js +6 -5
  51. package/dist/cjs/runtimes/react/components/RuntimeProvider.js.map +1 -1
  52. package/dist/cjs/runtimes/react/components/framework-context.js +3 -13
  53. package/dist/cjs/runtimes/react/components/framework-context.js.map +1 -1
  54. package/dist/cjs/runtimes/react/components/page/Page.js.map +1 -1
  55. package/dist/cjs/runtimes/react/controls/rich-text/rich-text.js +2 -3
  56. package/dist/cjs/runtimes/react/controls/rich-text/rich-text.js.map +1 -1
  57. package/dist/cjs/runtimes/react/controls/rich-text-v2/rich-text-v2.js +2 -2
  58. package/dist/cjs/runtimes/react/controls/rich-text-v2/rich-text-v2.js.map +1 -1
  59. package/dist/cjs/runtimes/react/controls.js +2 -2
  60. package/dist/cjs/runtimes/react/controls.js.map +1 -1
  61. package/dist/cjs/runtimes/react/element-imperative-handle.js +1 -1
  62. package/dist/cjs/runtimes/react/element-imperative-handle.js.map +1 -1
  63. package/dist/cjs/runtimes/react/hooks/use-breakpoints.js +2 -2
  64. package/dist/cjs/runtimes/react/hooks/use-breakpoints.js.map +1 -1
  65. package/dist/cjs/runtimes/react/hooks/use-builder-edit-mode.js +2 -2
  66. package/dist/cjs/runtimes/react/hooks/use-builder-edit-mode.js.map +1 -1
  67. package/dist/cjs/runtimes/react/hooks/use-cache-data.js +2 -2
  68. package/dist/cjs/runtimes/react/hooks/use-cache-data.js.map +1 -1
  69. package/dist/cjs/runtimes/react/hooks/use-component.js +3 -3
  70. package/dist/cjs/runtimes/react/hooks/use-component.js.map +1 -1
  71. package/dist/cjs/runtimes/react/hooks/use-dispatch.js.map +1 -1
  72. package/dist/cjs/runtimes/react/hooks/use-document.js +2 -2
  73. package/dist/cjs/runtimes/react/hooks/use-document.js.map +1 -1
  74. package/dist/cjs/runtimes/react/hooks/use-element-id.js +2 -2
  75. package/dist/cjs/runtimes/react/hooks/use-element-id.js.map +1 -1
  76. package/dist/cjs/runtimes/react/hooks/use-is-in-builder.js +2 -2
  77. package/dist/cjs/runtimes/react/hooks/use-is-in-builder.js.map +1 -1
  78. package/dist/cjs/runtimes/react/hooks/{use-is-preview.js → use-is-read-only.js} +9 -9
  79. package/dist/cjs/runtimes/react/hooks/use-is-read-only.js.map +1 -0
  80. package/dist/cjs/runtimes/react/hooks/use-register-document.js.map +1 -1
  81. package/dist/cjs/runtimes/react/hooks/use-resolved-props.js +2 -2
  82. package/dist/cjs/runtimes/react/hooks/use-resolved-props.js.map +1 -1
  83. package/dist/cjs/runtimes/react/hooks/use-resource-resolver.js +1 -1
  84. package/dist/cjs/runtimes/react/hooks/use-resource-resolver.js.map +1 -1
  85. package/dist/cjs/runtimes/react/hooks/use-selector.js.map +1 -1
  86. package/dist/cjs/runtimes/react/hooks/use-store.js.map +1 -1
  87. package/dist/cjs/runtimes/react/hooks/use-universal-dispatch.js.map +1 -1
  88. package/dist/cjs/runtimes/react/host-api-client.js +4 -3
  89. package/dist/cjs/runtimes/react/host-api-client.js.map +1 -1
  90. package/dist/cjs/runtimes/react/index.js +3 -3
  91. package/dist/cjs/runtimes/react/index.js.map +1 -1
  92. package/dist/cjs/runtimes/react/poll-box-model.js +1 -1
  93. package/dist/cjs/runtimes/react/poll-box-model.js.map +1 -1
  94. package/dist/cjs/runtimes/react/react-runtime-core.js +3 -3
  95. package/dist/cjs/runtimes/react/react-runtime-core.js.map +1 -1
  96. package/dist/cjs/runtimes/react/runtime-core.js +4 -2
  97. package/dist/cjs/runtimes/react/runtime-core.js.map +1 -1
  98. package/dist/cjs/runtimes/react/testing/react-runtime.js +32 -0
  99. package/dist/cjs/runtimes/react/testing/react-runtime.js.map +1 -0
  100. package/dist/cjs/runtimes/react/utils/can-accept-ref.js.map +1 -1
  101. package/dist/cjs/state/actions/internal/index.js +34 -0
  102. package/dist/cjs/state/actions/internal/index.js.map +1 -0
  103. package/dist/cjs/state/actions/{internal.js → internal/read-only-actions.js} +44 -62
  104. package/dist/cjs/state/actions/internal/read-only-actions.js.map +1 -0
  105. package/dist/cjs/state/actions/internal/read-write-actions.js +70 -0
  106. package/dist/cjs/state/actions/internal/read-write-actions.js.map +1 -0
  107. package/dist/cjs/state/builder-api/actions.js +11 -8
  108. package/dist/cjs/state/builder-api/actions.js.map +1 -1
  109. package/dist/cjs/state/host-api.js.map +1 -1
  110. package/dist/cjs/state/makeswift-api-client.js +34 -20
  111. package/dist/cjs/state/makeswift-api-client.js.map +1 -1
  112. package/dist/cjs/state/middleware/prop-controller-handles.js +114 -0
  113. package/dist/cjs/state/middleware/prop-controller-handles.js.map +1 -0
  114. package/dist/cjs/state/middleware/read-only-element-tree.js +52 -0
  115. package/dist/cjs/state/middleware/read-only-element-tree.js.map +1 -0
  116. package/dist/cjs/state/middleware/read-write/builder-api/element-size.js +40 -0
  117. package/dist/cjs/state/middleware/read-write/builder-api/element-size.js.map +1 -0
  118. package/dist/cjs/state/middleware/read-write/builder-api/index.js +76 -0
  119. package/dist/cjs/state/middleware/read-write/builder-api/index.js.map +1 -0
  120. package/dist/cjs/state/middleware/read-write/builder-api/initialize-connection.js +278 -0
  121. package/dist/cjs/state/middleware/read-write/builder-api/initialize-connection.js.map +1 -0
  122. package/dist/cjs/state/middleware/read-write/makeswift-api-client-sync.js +37 -0
  123. package/dist/cjs/state/middleware/read-write/makeswift-api-client-sync.js.map +1 -0
  124. package/dist/cjs/state/middleware/read-write/measure-box-models.js +71 -0
  125. package/dist/cjs/state/middleware/read-write/measure-box-models.js.map +1 -0
  126. package/dist/cjs/state/middleware/read-write/update-element-tree.js +59 -0
  127. package/dist/cjs/state/middleware/read-write/update-element-tree.js.map +1 -0
  128. package/dist/cjs/state/modules/api-resources.js +7 -4
  129. package/dist/cjs/state/modules/api-resources.js.map +1 -1
  130. package/dist/cjs/state/modules/breakpoints.js +2 -1
  131. package/dist/cjs/state/modules/breakpoints.js.map +1 -1
  132. package/dist/cjs/state/modules/builder-edit-mode.js +2 -1
  133. package/dist/cjs/state/modules/builder-edit-mode.js.map +1 -1
  134. package/dist/cjs/state/modules/components-meta.js +3 -2
  135. package/dist/cjs/state/modules/components-meta.js.map +1 -1
  136. package/dist/cjs/state/modules/element-trees.js +5 -3
  137. package/dist/cjs/state/modules/element-trees.js.map +1 -1
  138. package/dist/cjs/state/modules/is-in-builder.js +2 -1
  139. package/dist/cjs/state/modules/is-in-builder.js.map +1 -1
  140. package/dist/cjs/state/modules/{is-preview.js → is-read-only.js} +12 -9
  141. package/dist/cjs/state/modules/is-read-only.js.map +1 -0
  142. package/dist/cjs/state/modules/locale.js +53 -0
  143. package/dist/cjs/state/modules/locale.js.map +1 -0
  144. package/dist/cjs/state/modules/localized-resources-map.js +4 -2
  145. package/dist/cjs/state/modules/localized-resources-map.js.map +1 -1
  146. package/dist/cjs/state/modules/prop-controllers.js +3 -2
  147. package/dist/cjs/state/modules/prop-controllers.js.map +1 -1
  148. package/dist/cjs/state/modules/react-components.js +3 -2
  149. package/dist/cjs/state/modules/react-components.js.map +1 -1
  150. package/dist/cjs/state/modules/read-only-documents.js +3 -2
  151. package/dist/cjs/state/modules/read-only-documents.js.map +1 -1
  152. package/dist/cjs/state/modules/{box-models.js → read-write/box-models.js} +6 -4
  153. package/dist/cjs/state/modules/read-write/box-models.js.map +1 -0
  154. package/dist/cjs/state/modules/{element-imperative-handles.js → read-write/element-imperative-handles.js} +4 -3
  155. package/dist/cjs/state/modules/read-write/element-imperative-handles.js.map +1 -0
  156. package/dist/cjs/state/modules/{pointer.js → read-write/pointer.js} +3 -2
  157. package/dist/cjs/state/modules/read-write/pointer.js.map +1 -0
  158. package/dist/cjs/state/modules/{read-write-documents.js → read-write/read-write-documents.js} +3 -3
  159. package/dist/cjs/state/modules/read-write/read-write-documents.js.map +1 -0
  160. package/dist/cjs/state/modules/site-version.js +50 -0
  161. package/dist/cjs/state/modules/site-version.js.map +1 -0
  162. package/dist/cjs/state/ops/copy-element-tree.js +67 -0
  163. package/dist/cjs/state/ops/copy-element-tree.js.map +1 -0
  164. package/dist/cjs/state/ops/merge-element.js +73 -0
  165. package/dist/cjs/state/ops/merge-element.js.map +1 -0
  166. package/dist/cjs/state/react-builder-preview.js +18 -508
  167. package/dist/cjs/state/react-builder-preview.js.map +1 -1
  168. package/dist/cjs/state/react-page.js +6 -250
  169. package/dist/cjs/state/react-page.js.map +1 -1
  170. package/dist/cjs/state/read-only-state.js +209 -0
  171. package/dist/cjs/state/read-only-state.js.map +1 -0
  172. package/dist/cjs/state/read-write-state.js +121 -0
  173. package/dist/cjs/state/read-write-state.js.map +1 -0
  174. package/dist/cjs/state/shared-api.js.map +1 -1
  175. package/dist/cjs/state/translations/get.js +2 -2
  176. package/dist/cjs/state/translations/get.js.map +1 -1
  177. package/dist/cjs/state/translations/merge.js +2 -2
  178. package/dist/cjs/state/translations/merge.js.map +1 -1
  179. package/dist/cjs/unstable-framework-support/index.js +2 -4
  180. package/dist/cjs/unstable-framework-support/index.js.map +1 -1
  181. package/dist/esm/api/{react.js → client.js} +11 -4
  182. package/dist/esm/api/client.js.map +1 -0
  183. package/dist/esm/api-handler/handlers/element-tree.js.map +1 -1
  184. package/dist/esm/api-handler/handlers/manifest.js +1 -1
  185. package/dist/esm/api-handler/handlers/merge-translated-data.js.map +1 -1
  186. package/dist/esm/api-handler/handlers/translatable-data.js.map +1 -1
  187. package/dist/esm/builder/host-to-builder-actions.js +4 -4
  188. package/dist/esm/builder/host-to-builder-actions.js.map +1 -1
  189. package/dist/esm/builder/index.js +1 -1
  190. package/dist/esm/builder/index.js.map +1 -1
  191. package/dist/esm/client/index.js +5 -5
  192. package/dist/esm/client/index.js.map +1 -1
  193. package/dist/esm/components/builtin/Box/Box.js +1 -1
  194. package/dist/esm/components/builtin/Box/Box.js.map +1 -1
  195. package/dist/esm/components/builtin/Form/Form.js +1 -1
  196. package/dist/esm/components/builtin/Form/Form.js.map +1 -1
  197. package/dist/esm/components/hooks/useTableFormFieldRefs.js +1 -1
  198. package/dist/esm/components/hooks/useTableFormFieldRefs.js.map +1 -1
  199. package/dist/esm/next/components/framework-provider/index.js +2 -5
  200. package/dist/esm/next/components/framework-provider/index.js.map +1 -1
  201. package/dist/esm/next/components/tests/controls/color-control/fixtures.js.map +1 -1
  202. package/dist/esm/next/components/tests/controls/page-control-prop-rendering.js +1 -2
  203. package/dist/esm/next/components/tests/controls/page-control-prop-rendering.js.map +1 -1
  204. package/dist/esm/next/components/tests/controls/rich-text-v2-control/fixtures.js.map +1 -1
  205. package/dist/esm/next/components/tests/makeswift-component/fixtures.js +1 -2
  206. package/dist/esm/next/components/tests/makeswift-component/fixtures.js.map +1 -1
  207. package/dist/esm/next/components/tests/prop-controllers/page-prop-controller.js +2 -3
  208. package/dist/esm/next/components/tests/prop-controllers/page-prop-controller.js.map +1 -1
  209. package/dist/esm/next/testing/element-data.js +1 -1
  210. package/dist/esm/next/testing/element-data.js.map +1 -1
  211. package/dist/esm/next/testing/index.js +1 -0
  212. package/dist/esm/next/testing/index.js.map +1 -1
  213. package/dist/esm/next/testing/page-rendering.js +3 -3
  214. package/dist/esm/next/testing/page-rendering.js.map +1 -1
  215. package/dist/esm/next/testing/react-runtime.js +5 -0
  216. package/dist/esm/next/testing/react-runtime.js.map +1 -0
  217. package/dist/esm/prop-controllers/descriptors.js.map +1 -1
  218. package/dist/esm/prop-controllers/instances.js.map +1 -1
  219. package/dist/esm/runtimes/react/components/Document.js +1 -1
  220. package/dist/esm/runtimes/react/components/Document.js.map +1 -1
  221. package/dist/esm/runtimes/react/components/DocumentRoot.js.map +1 -1
  222. package/dist/esm/runtimes/react/components/Element.js +3 -1
  223. package/dist/esm/runtimes/react/components/Element.js.map +1 -1
  224. package/dist/esm/runtimes/react/components/ElementData.js.map +1 -1
  225. package/dist/esm/runtimes/react/components/ElementReference.js.map +1 -1
  226. package/dist/esm/runtimes/react/components/ElementRegistration.js +1 -1
  227. package/dist/esm/runtimes/react/components/ElementRegistration.js.map +1 -1
  228. package/dist/esm/runtimes/react/components/MakeswiftComponent.js +1 -1
  229. package/dist/esm/runtimes/react/components/MakeswiftComponent.js.map +1 -1
  230. package/dist/esm/runtimes/react/components/RuntimeProvider.js +5 -4
  231. package/dist/esm/runtimes/react/components/RuntimeProvider.js.map +1 -1
  232. package/dist/esm/runtimes/react/components/framework-context.js +2 -14
  233. package/dist/esm/runtimes/react/components/framework-context.js.map +1 -1
  234. package/dist/esm/runtimes/react/components/page/Page.js.map +1 -1
  235. package/dist/esm/runtimes/react/controls/rich-text/rich-text.js +2 -3
  236. package/dist/esm/runtimes/react/controls/rich-text/rich-text.js.map +1 -1
  237. package/dist/esm/runtimes/react/controls/rich-text-v2/rich-text-v2.js +2 -2
  238. package/dist/esm/runtimes/react/controls/rich-text-v2/rich-text-v2.js.map +1 -1
  239. package/dist/esm/runtimes/react/controls.js +2 -2
  240. package/dist/esm/runtimes/react/controls.js.map +1 -1
  241. package/dist/esm/runtimes/react/element-imperative-handle.js +1 -1
  242. package/dist/esm/runtimes/react/element-imperative-handle.js.map +1 -1
  243. package/dist/esm/runtimes/react/hooks/use-breakpoints.js +1 -1
  244. package/dist/esm/runtimes/react/hooks/use-breakpoints.js.map +1 -1
  245. package/dist/esm/runtimes/react/hooks/use-builder-edit-mode.js +1 -1
  246. package/dist/esm/runtimes/react/hooks/use-builder-edit-mode.js.map +1 -1
  247. package/dist/esm/runtimes/react/hooks/use-cache-data.js +1 -1
  248. package/dist/esm/runtimes/react/hooks/use-cache-data.js.map +1 -1
  249. package/dist/esm/runtimes/react/hooks/use-component.js +1 -1
  250. package/dist/esm/runtimes/react/hooks/use-component.js.map +1 -1
  251. package/dist/esm/runtimes/react/hooks/use-dispatch.js.map +1 -1
  252. package/dist/esm/runtimes/react/hooks/use-document.js +1 -1
  253. package/dist/esm/runtimes/react/hooks/use-document.js.map +1 -1
  254. package/dist/esm/runtimes/react/hooks/use-element-id.js +1 -1
  255. package/dist/esm/runtimes/react/hooks/use-element-id.js.map +1 -1
  256. package/dist/esm/runtimes/react/hooks/use-is-in-builder.js +1 -1
  257. package/dist/esm/runtimes/react/hooks/use-is-in-builder.js.map +1 -1
  258. package/dist/esm/runtimes/react/hooks/use-is-read-only.js +9 -0
  259. package/dist/esm/runtimes/react/hooks/use-is-read-only.js.map +1 -0
  260. package/dist/esm/runtimes/react/hooks/use-register-document.js.map +1 -1
  261. package/dist/esm/runtimes/react/hooks/use-resolved-props.js +2 -2
  262. package/dist/esm/runtimes/react/hooks/use-resolved-props.js.map +1 -1
  263. package/dist/esm/runtimes/react/hooks/use-resource-resolver.js +1 -1
  264. package/dist/esm/runtimes/react/hooks/use-resource-resolver.js.map +1 -1
  265. package/dist/esm/runtimes/react/hooks/use-selector.js.map +1 -1
  266. package/dist/esm/runtimes/react/hooks/use-store.js.map +1 -1
  267. package/dist/esm/runtimes/react/hooks/use-universal-dispatch.js.map +1 -1
  268. package/dist/esm/runtimes/react/host-api-client.js +3 -2
  269. package/dist/esm/runtimes/react/host-api-client.js.map +1 -1
  270. package/dist/esm/runtimes/react/index.js +2 -2
  271. package/dist/esm/runtimes/react/index.js.map +1 -1
  272. package/dist/esm/runtimes/react/poll-box-model.js +1 -1
  273. package/dist/esm/runtimes/react/poll-box-model.js.map +1 -1
  274. package/dist/esm/runtimes/react/react-runtime-core.js +4 -1
  275. package/dist/esm/runtimes/react/react-runtime-core.js.map +1 -1
  276. package/dist/esm/runtimes/react/runtime-core.js +3 -5
  277. package/dist/esm/runtimes/react/runtime-core.js.map +1 -1
  278. package/dist/esm/runtimes/react/testing/react-runtime.js +8 -0
  279. package/dist/esm/runtimes/react/testing/react-runtime.js.map +1 -0
  280. package/dist/esm/runtimes/react/utils/can-accept-ref.js.map +1 -1
  281. package/dist/esm/state/actions/internal/index.js +10 -0
  282. package/dist/esm/state/actions/internal/index.js.map +1 -0
  283. package/dist/esm/state/actions/{internal.js → internal/read-only-actions.js} +36 -52
  284. package/dist/esm/state/actions/internal/read-only-actions.js.map +1 -0
  285. package/dist/esm/state/actions/internal/read-write-actions.js +41 -0
  286. package/dist/esm/state/actions/internal/read-write-actions.js.map +1 -0
  287. package/dist/esm/state/builder-api/actions.js +8 -7
  288. package/dist/esm/state/builder-api/actions.js.map +1 -1
  289. package/dist/esm/state/host-api.js.map +1 -1
  290. package/dist/esm/state/makeswift-api-client.js +33 -19
  291. package/dist/esm/state/makeswift-api-client.js.map +1 -1
  292. package/dist/esm/state/middleware/prop-controller-handles.js +80 -0
  293. package/dist/esm/state/middleware/prop-controller-handles.js.map +1 -0
  294. package/dist/esm/state/middleware/read-only-element-tree.js +28 -0
  295. package/dist/esm/state/middleware/read-only-element-tree.js.map +1 -0
  296. package/dist/esm/state/middleware/read-write/builder-api/element-size.js +16 -0
  297. package/dist/esm/state/middleware/read-write/builder-api/element-size.js.map +1 -0
  298. package/dist/esm/state/middleware/read-write/builder-api/index.js +52 -0
  299. package/dist/esm/state/middleware/read-write/builder-api/index.js.map +1 -0
  300. package/dist/esm/state/middleware/read-write/builder-api/initialize-connection.js +251 -0
  301. package/dist/esm/state/middleware/read-write/builder-api/initialize-connection.js.map +1 -0
  302. package/dist/esm/state/middleware/read-write/makeswift-api-client-sync.js +13 -0
  303. package/dist/esm/state/middleware/read-write/makeswift-api-client-sync.js.map +1 -0
  304. package/dist/esm/state/middleware/read-write/measure-box-models.js +37 -0
  305. package/dist/esm/state/middleware/read-write/measure-box-models.js.map +1 -0
  306. package/dist/esm/state/middleware/read-write/update-element-tree.js +35 -0
  307. package/dist/esm/state/middleware/read-write/update-element-tree.js.map +1 -0
  308. package/dist/esm/state/modules/api-resources.js +8 -5
  309. package/dist/esm/state/modules/api-resources.js.map +1 -1
  310. package/dist/esm/state/modules/breakpoints.js +3 -2
  311. package/dist/esm/state/modules/breakpoints.js.map +1 -1
  312. package/dist/esm/state/modules/builder-edit-mode.js +3 -2
  313. package/dist/esm/state/modules/builder-edit-mode.js.map +1 -1
  314. package/dist/esm/state/modules/components-meta.js +4 -3
  315. package/dist/esm/state/modules/components-meta.js.map +1 -1
  316. package/dist/esm/state/modules/element-trees.js +6 -4
  317. package/dist/esm/state/modules/element-trees.js.map +1 -1
  318. package/dist/esm/state/modules/is-in-builder.js +3 -2
  319. package/dist/esm/state/modules/is-in-builder.js.map +1 -1
  320. package/dist/esm/state/modules/is-read-only.js +24 -0
  321. package/dist/esm/state/modules/is-read-only.js.map +1 -0
  322. package/dist/esm/state/modules/locale.js +27 -0
  323. package/dist/esm/state/modules/locale.js.map +1 -0
  324. package/dist/esm/state/modules/localized-resources-map.js +5 -3
  325. package/dist/esm/state/modules/localized-resources-map.js.map +1 -1
  326. package/dist/esm/state/modules/prop-controllers.js +4 -3
  327. package/dist/esm/state/modules/prop-controllers.js.map +1 -1
  328. package/dist/esm/state/modules/react-components.js +4 -3
  329. package/dist/esm/state/modules/react-components.js.map +1 -1
  330. package/dist/esm/state/modules/read-only-documents.js +4 -6
  331. package/dist/esm/state/modules/read-only-documents.js.map +1 -1
  332. package/dist/esm/state/modules/{box-models.js → read-write/box-models.js} +6 -4
  333. package/dist/esm/state/modules/read-write/box-models.js.map +1 -0
  334. package/dist/esm/state/modules/{element-imperative-handles.js → read-write/element-imperative-handles.js} +4 -3
  335. package/dist/esm/state/modules/read-write/element-imperative-handles.js.map +1 -0
  336. package/dist/esm/state/modules/{pointer.js → read-write/pointer.js} +3 -2
  337. package/dist/esm/state/modules/read-write/pointer.js.map +1 -0
  338. package/dist/esm/state/modules/{read-write-documents.js → read-write/read-write-documents.js} +3 -3
  339. package/dist/esm/state/modules/read-write/read-write-documents.js.map +1 -0
  340. package/dist/esm/state/modules/site-version.js +24 -0
  341. package/dist/esm/state/modules/site-version.js.map +1 -0
  342. package/dist/esm/state/ops/copy-element-tree.js +37 -0
  343. package/dist/esm/state/ops/copy-element-tree.js.map +1 -0
  344. package/dist/esm/state/ops/merge-element.js +39 -0
  345. package/dist/esm/state/ops/merge-element.js.map +1 -0
  346. package/dist/esm/state/react-builder-preview.js +15 -500
  347. package/dist/esm/state/react-builder-preview.js.map +1 -1
  348. package/dist/esm/state/react-page.js +7 -240
  349. package/dist/esm/state/react-page.js.map +1 -1
  350. package/dist/esm/state/read-only-state.js +157 -0
  351. package/dist/esm/state/read-only-state.js.map +1 -0
  352. package/dist/esm/state/read-write-state.js +76 -0
  353. package/dist/esm/state/read-write-state.js.map +1 -0
  354. package/dist/esm/state/shared-api.js.map +1 -1
  355. package/dist/esm/state/translations/get.js +1 -1
  356. package/dist/esm/state/translations/get.js.map +1 -1
  357. package/dist/esm/state/translations/merge.js +1 -1
  358. package/dist/esm/state/translations/merge.js.map +1 -1
  359. package/dist/esm/unstable-framework-support/index.js +2 -4
  360. package/dist/esm/unstable-framework-support/index.js.map +1 -1
  361. package/dist/types/api/{react.d.ts → client.d.ts} +4 -2
  362. package/dist/types/api/client.d.ts.map +1 -0
  363. package/dist/types/api-handler/handlers/element-tree.d.ts +1 -1
  364. package/dist/types/api-handler/handlers/element-tree.d.ts.map +1 -1
  365. package/dist/types/api-handler/handlers/merge-translated-data.d.ts +1 -1
  366. package/dist/types/api-handler/handlers/merge-translated-data.d.ts.map +1 -1
  367. package/dist/types/api-handler/handlers/translatable-data.d.ts +1 -1
  368. package/dist/types/api-handler/handlers/translatable-data.d.ts.map +1 -1
  369. package/dist/types/api-handler/handlers/webhook/types.d.ts +4 -4
  370. package/dist/types/builder/host-to-builder-actions.d.ts +2 -2
  371. package/dist/types/builder/host-to-builder-actions.d.ts.map +1 -1
  372. package/dist/types/builder/index.d.ts +2 -2
  373. package/dist/types/builder/index.d.ts.map +1 -1
  374. package/dist/types/client/index.d.ts +2 -2
  375. package/dist/types/client/index.d.ts.map +1 -1
  376. package/dist/types/components/builtin/Box/Box.d.ts +1 -1
  377. package/dist/types/components/builtin/Box/Box.d.ts.map +1 -1
  378. package/dist/types/components/builtin/Form/Form.d.ts +1 -1
  379. package/dist/types/components/builtin/Form/Form.d.ts.map +1 -1
  380. package/dist/types/locale.d.ts +1 -1
  381. package/dist/types/next/components/framework-provider/index.d.ts.map +1 -1
  382. package/dist/types/next/components/tests/controls/color-control/fixtures.d.ts +1 -1
  383. package/dist/types/next/components/tests/controls/color-control/fixtures.d.ts.map +1 -1
  384. package/dist/types/next/components/tests/controls/page-control-prop-rendering.d.ts +3 -3
  385. package/dist/types/next/components/tests/controls/page-control-prop-rendering.d.ts.map +1 -1
  386. package/dist/types/next/components/tests/controls/rich-text-v2-control/fixtures.d.ts +1 -1
  387. package/dist/types/next/components/tests/controls/rich-text-v2-control/fixtures.d.ts.map +1 -1
  388. package/dist/types/next/components/tests/makeswift-component/fixtures.d.ts +1 -1
  389. package/dist/types/next/components/tests/makeswift-component/fixtures.d.ts.map +1 -1
  390. package/dist/types/next/components/tests/prop-controllers/page-prop-controller.d.ts +1 -1
  391. package/dist/types/next/components/tests/prop-controllers/page-prop-controller.d.ts.map +1 -1
  392. package/dist/types/next/testing/element-data.d.ts +1 -1
  393. package/dist/types/next/testing/element-data.d.ts.map +1 -1
  394. package/dist/types/next/testing/index.d.ts +1 -0
  395. package/dist/types/next/testing/index.d.ts.map +1 -1
  396. package/dist/types/next/testing/page-rendering.d.ts.map +1 -1
  397. package/dist/types/next/testing/react-runtime.d.ts +2 -0
  398. package/dist/types/next/testing/react-runtime.d.ts.map +1 -0
  399. package/dist/types/prop-controllers/descriptors.d.ts +1 -1
  400. package/dist/types/prop-controllers/descriptors.d.ts.map +1 -1
  401. package/dist/types/prop-controllers/instances.d.ts +1 -1
  402. package/dist/types/prop-controllers/instances.d.ts.map +1 -1
  403. package/dist/types/runtimes/react/components/Document.d.ts +1 -1
  404. package/dist/types/runtimes/react/components/Document.d.ts.map +1 -1
  405. package/dist/types/runtimes/react/components/DocumentRoot.d.ts +1 -1
  406. package/dist/types/runtimes/react/components/DocumentRoot.d.ts.map +1 -1
  407. package/dist/types/runtimes/react/components/Element.d.ts +1 -1
  408. package/dist/types/runtimes/react/components/Element.d.ts.map +1 -1
  409. package/dist/types/runtimes/react/components/ElementData.d.ts +1 -1
  410. package/dist/types/runtimes/react/components/ElementData.d.ts.map +1 -1
  411. package/dist/types/runtimes/react/components/ElementReference.d.ts +1 -1
  412. package/dist/types/runtimes/react/components/ElementReference.d.ts.map +1 -1
  413. package/dist/types/runtimes/react/components/RuntimeProvider.d.ts +1 -1
  414. package/dist/types/runtimes/react/components/RuntimeProvider.d.ts.map +1 -1
  415. package/dist/types/runtimes/react/components/framework-context.d.ts +2 -4
  416. package/dist/types/runtimes/react/components/framework-context.d.ts.map +1 -1
  417. package/dist/types/runtimes/react/components/page/Page.d.ts +1 -1
  418. package/dist/types/runtimes/react/components/page/Page.d.ts.map +1 -1
  419. package/dist/types/runtimes/react/controls.d.ts +2 -2
  420. package/dist/types/runtimes/react/controls.d.ts.map +1 -1
  421. package/dist/types/runtimes/react/element-imperative-handle.d.ts +1 -1
  422. package/dist/types/runtimes/react/element-imperative-handle.d.ts.map +1 -1
  423. package/dist/types/runtimes/react/hooks/use-cache-data.d.ts +1 -1
  424. package/dist/types/runtimes/react/hooks/use-cache-data.d.ts.map +1 -1
  425. package/dist/types/runtimes/react/hooks/use-component.d.ts +1 -1
  426. package/dist/types/runtimes/react/hooks/use-component.d.ts.map +1 -1
  427. package/dist/types/runtimes/react/hooks/use-dispatch.d.ts +3 -3
  428. package/dist/types/runtimes/react/hooks/use-dispatch.d.ts.map +1 -1
  429. package/dist/types/runtimes/react/hooks/use-document.d.ts +1 -1
  430. package/dist/types/runtimes/react/hooks/use-document.d.ts.map +1 -1
  431. package/dist/types/runtimes/react/hooks/use-is-read-only.d.ts +2 -0
  432. package/dist/types/runtimes/react/hooks/use-is-read-only.d.ts.map +1 -0
  433. package/dist/types/runtimes/react/hooks/use-register-document.d.ts +1 -1
  434. package/dist/types/runtimes/react/hooks/use-register-document.d.ts.map +1 -1
  435. package/dist/types/runtimes/react/hooks/use-selector.d.ts +3 -3
  436. package/dist/types/runtimes/react/hooks/use-selector.d.ts.map +1 -1
  437. package/dist/types/runtimes/react/hooks/use-store.d.ts +4 -4
  438. package/dist/types/runtimes/react/hooks/use-store.d.ts.map +1 -1
  439. package/dist/types/runtimes/react/hooks/use-universal-dispatch.d.ts +1 -1
  440. package/dist/types/runtimes/react/hooks/use-universal-dispatch.d.ts.map +1 -1
  441. package/dist/types/runtimes/react/host-api-client.d.ts +1 -1
  442. package/dist/types/runtimes/react/host-api-client.d.ts.map +1 -1
  443. package/dist/types/runtimes/react/index.d.ts +1 -1
  444. package/dist/types/runtimes/react/index.d.ts.map +1 -1
  445. package/dist/types/runtimes/react/poll-box-model.d.ts +1 -1
  446. package/dist/types/runtimes/react/poll-box-model.d.ts.map +1 -1
  447. package/dist/types/runtimes/react/react-runtime-core.d.ts +1 -1
  448. package/dist/types/runtimes/react/react-runtime-core.d.ts.map +1 -1
  449. package/dist/types/runtimes/react/runtime-core.d.ts +2 -1
  450. package/dist/types/runtimes/react/runtime-core.d.ts.map +1 -1
  451. package/dist/types/runtimes/react/testing/react-runtime.d.ts +3 -0
  452. package/dist/types/runtimes/react/testing/react-runtime.d.ts.map +1 -0
  453. package/dist/types/runtimes/react/utils/can-accept-ref.d.ts +1 -1
  454. package/dist/types/runtimes/react/utils/can-accept-ref.d.ts.map +1 -1
  455. package/dist/types/state/__tests__/merge-element.test.d.ts +2 -0
  456. package/dist/types/state/__tests__/merge-element.test.d.ts.map +1 -0
  457. package/dist/types/state/actions/index.d.ts +8 -5
  458. package/dist/types/state/actions/index.d.ts.map +1 -1
  459. package/dist/types/state/actions/internal/index.d.ts +27 -0
  460. package/dist/types/state/actions/internal/index.d.ts.map +1 -0
  461. package/dist/types/state/actions/{internal.d.ts → internal/read-only-actions.d.ts} +45 -67
  462. package/dist/types/state/actions/internal/read-only-actions.d.ts.map +1 -0
  463. package/dist/types/state/actions/internal/read-write-actions.d.ts +48 -0
  464. package/dist/types/state/actions/internal/read-write-actions.d.ts.map +1 -0
  465. package/dist/types/state/builder-api/actions.d.ts +14 -14
  466. package/dist/types/state/builder-api/actions.d.ts.map +1 -1
  467. package/dist/types/state/host-api.d.ts +1 -1
  468. package/dist/types/state/host-api.d.ts.map +1 -1
  469. package/dist/types/state/makeswift-api-client.d.ts +11 -2
  470. package/dist/types/state/makeswift-api-client.d.ts.map +1 -1
  471. package/dist/types/state/middleware/prop-controller-handles.d.ts +4 -0
  472. package/dist/types/state/middleware/prop-controller-handles.d.ts.map +1 -0
  473. package/dist/types/state/middleware/read-only-element-tree.d.ts +4 -0
  474. package/dist/types/state/middleware/read-only-element-tree.d.ts.map +1 -0
  475. package/dist/types/state/middleware/read-write/builder-api/element-size.d.ts +12 -0
  476. package/dist/types/state/middleware/read-write/builder-api/element-size.d.ts.map +1 -0
  477. package/dist/types/state/middleware/read-write/builder-api/index.d.ts +5 -0
  478. package/dist/types/state/middleware/read-write/builder-api/index.d.ts.map +1 -0
  479. package/dist/types/state/middleware/read-write/builder-api/initialize-connection.d.ts +6 -0
  480. package/dist/types/state/middleware/read-write/builder-api/initialize-connection.d.ts.map +1 -0
  481. package/dist/types/state/middleware/read-write/makeswift-api-client-sync.d.ts +5 -0
  482. package/dist/types/state/middleware/read-write/makeswift-api-client-sync.d.ts.map +1 -0
  483. package/dist/types/state/middleware/read-write/measure-box-models.d.ts +4 -0
  484. package/dist/types/state/middleware/read-write/measure-box-models.d.ts.map +1 -0
  485. package/dist/types/state/middleware/read-write/update-element-tree.d.ts +4 -0
  486. package/dist/types/state/middleware/read-write/update-element-tree.d.ts.map +1 -0
  487. package/dist/types/state/modules/api-resources.d.ts.map +1 -1
  488. package/dist/types/state/modules/breakpoints.d.ts.map +1 -1
  489. package/dist/types/state/modules/builder-edit-mode.d.ts.map +1 -1
  490. package/dist/types/state/modules/components-meta.d.ts.map +1 -1
  491. package/dist/types/state/modules/element-trees.d.ts.map +1 -1
  492. package/dist/types/state/modules/is-in-builder.d.ts.map +1 -1
  493. package/dist/types/state/modules/{is-preview.d.ts → is-read-only.d.ts} +3 -3
  494. package/dist/types/state/modules/is-read-only.d.ts.map +1 -0
  495. package/dist/types/state/modules/locale.d.ts +6 -0
  496. package/dist/types/state/modules/locale.d.ts.map +1 -0
  497. package/dist/types/state/modules/localized-resources-map.d.ts.map +1 -1
  498. package/dist/types/state/modules/prop-controllers.d.ts.map +1 -1
  499. package/dist/types/state/modules/react-components.d.ts.map +1 -1
  500. package/dist/types/state/modules/read-only-documents.d.ts.map +1 -1
  501. package/dist/types/state/modules/{box-models.d.ts → read-write/box-models.d.ts} +1 -1
  502. package/dist/types/state/modules/read-write/box-models.d.ts.map +1 -0
  503. package/dist/types/state/modules/read-write/element-imperative-handles.d.ts +6 -0
  504. package/dist/types/state/modules/read-write/element-imperative-handles.d.ts.map +1 -0
  505. package/dist/types/state/modules/{pointer.d.ts → read-write/pointer.d.ts} +2 -3
  506. package/dist/types/state/modules/read-write/pointer.d.ts.map +1 -0
  507. package/dist/types/state/modules/{read-write-documents.d.ts → read-write/read-write-documents.d.ts} +4 -4
  508. package/dist/types/state/modules/read-write/read-write-documents.d.ts.map +1 -0
  509. package/dist/types/state/modules/site-version.d.ts +7 -0
  510. package/dist/types/state/modules/site-version.d.ts.map +1 -0
  511. package/dist/types/state/ops/copy-element-tree.d.ts +37 -0
  512. package/dist/types/state/ops/copy-element-tree.d.ts.map +1 -0
  513. package/dist/types/state/ops/merge-element.d.ts +4 -0
  514. package/dist/types/state/ops/merge-element.d.ts.map +1 -0
  515. package/dist/types/state/react-builder-preview.d.ts +26 -93
  516. package/dist/types/state/react-builder-preview.d.ts.map +1 -1
  517. package/dist/types/state/react-page.d.ts +20 -136
  518. package/dist/types/state/react-page.d.ts.map +1 -1
  519. package/dist/types/state/read-only-state.d.ts +122 -0
  520. package/dist/types/state/read-only-state.d.ts.map +1 -0
  521. package/dist/types/state/read-write-state.d.ts +56 -0
  522. package/dist/types/state/read-write-state.d.ts.map +1 -0
  523. package/dist/types/state/shared-api.d.ts.map +1 -1
  524. package/dist/types/state/translations/get.d.ts +1 -1
  525. package/dist/types/state/translations/get.d.ts.map +1 -1
  526. package/dist/types/state/translations/merge.d.ts +1 -1
  527. package/dist/types/state/translations/merge.d.ts.map +1 -1
  528. package/dist/types/unstable-framework-support/index.d.ts +1 -1
  529. package/dist/types/unstable-framework-support/index.d.ts.map +1 -1
  530. package/package.json +1 -1
  531. package/dist/cjs/api/react.js.map +0 -1
  532. package/dist/cjs/runtimes/react/hooks/use-is-preview.js.map +0 -1
  533. package/dist/cjs/state/actions/internal.js.map +0 -1
  534. package/dist/cjs/state/modules/box-models.js.map +0 -1
  535. package/dist/cjs/state/modules/element-imperative-handles.js.map +0 -1
  536. package/dist/cjs/state/modules/is-preview.js.map +0 -1
  537. package/dist/cjs/state/modules/pointer.js.map +0 -1
  538. package/dist/cjs/state/modules/read-write-documents.js.map +0 -1
  539. package/dist/esm/api/react.js.map +0 -1
  540. package/dist/esm/runtimes/react/hooks/use-is-preview.js +0 -9
  541. package/dist/esm/runtimes/react/hooks/use-is-preview.js.map +0 -1
  542. package/dist/esm/state/actions/internal.js.map +0 -1
  543. package/dist/esm/state/modules/box-models.js.map +0 -1
  544. package/dist/esm/state/modules/element-imperative-handles.js.map +0 -1
  545. package/dist/esm/state/modules/is-preview.js +0 -21
  546. package/dist/esm/state/modules/is-preview.js.map +0 -1
  547. package/dist/esm/state/modules/pointer.js.map +0 -1
  548. package/dist/esm/state/modules/read-write-documents.js.map +0 -1
  549. package/dist/types/api/react.d.ts.map +0 -1
  550. package/dist/types/runtimes/react/hooks/use-is-preview.d.ts +0 -2
  551. package/dist/types/runtimes/react/hooks/use-is-preview.d.ts.map +0 -1
  552. package/dist/types/state/__tests__/react-page.test.d.ts +0 -2
  553. package/dist/types/state/__tests__/react-page.test.d.ts.map +0 -1
  554. package/dist/types/state/actions/internal.d.ts.map +0 -1
  555. package/dist/types/state/modules/box-models.d.ts.map +0 -1
  556. package/dist/types/state/modules/element-imperative-handles.d.ts +0 -7
  557. package/dist/types/state/modules/element-imperative-handles.d.ts.map +0 -1
  558. package/dist/types/state/modules/is-preview.d.ts.map +0 -1
  559. package/dist/types/state/modules/pointer.d.ts.map +0 -1
  560. package/dist/types/state/modules/read-write-documents.d.ts.map +0 -1
@@ -1,231 +1,21 @@
1
- import {
2
- configureStore as configureReduxStore,
3
- combineReducers
4
- } from "@reduxjs/toolkit";
5
- import { createSelector } from "reselect";
6
- import {
7
- createReplacementContext,
8
- replaceResourceIfNeeded,
9
- ContextResource
10
- } from "@makeswift/controls";
11
- import { copy as copyFromControl, merge } from "../controls/control";
12
- import * as Documents from "./modules/read-only-documents";
13
- import * as ElementTrees from "./modules/element-trees";
14
- import * as ReactComponents from "./modules/react-components";
15
- import * as ComponentsMeta from "./modules/components-meta";
16
- import * as PropControllers from "./modules/prop-controllers";
17
- import * as PropControllerHandles from "./modules/prop-controller-handles";
18
- import * as IsInBuilder from "./modules/is-in-builder";
19
- import * as IsPreview from "./modules/is-preview";
20
- import * as BuilderEditMode from "./modules/builder-edit-mode";
1
+ import { configureStore as configureReduxStore, combineReducers } from "@reduxjs/toolkit";
21
2
  import * as Breakpoints from "./modules/breakpoints";
22
- import { ActionTypes } from "./actions";
23
- import { changeElementTree, createElementTree, deleteElementTree } from "./actions/internal";
24
- import { actionMiddleware, middlewareOptions, devToolsConfig } from "./toolkit";
3
+ import { middlewareOptions, devToolsConfig } from "./toolkit";
25
4
  import { withSetupTeardown } from "./mixins/setup-teardown";
26
- import {
27
- createBaseDocument,
28
- createDocumentReference,
29
- getRootElement,
30
- isElementReference
31
- } from "./modules/read-only-documents";
32
- const reducer = combineReducers({
33
- documents: Documents.reducer,
34
- elementTrees: ElementTrees.reducer,
35
- reactComponents: ReactComponents.reducer,
36
- componentsMeta: ComponentsMeta.reducer,
37
- propControllers: PropControllers.reducer,
38
- propControllerHandles: PropControllerHandles.reducer,
39
- isInBuilder: IsInBuilder.reducer,
40
- isPreview: IsPreview.reducer,
41
- builderEditMode: BuilderEditMode.reducer,
42
- breakpoints: Breakpoints.reducer
43
- });
44
- function getDocumentsStateSlice(state) {
45
- return state.documents;
46
- }
47
- function getDocument(state, documentKey) {
48
- return Documents.getDocument(getDocumentsStateSlice(state), documentKey);
49
- }
50
- function getElementTreesSlice(state) {
51
- return state.elementTrees;
52
- }
53
- function getElements(state, documentKey) {
54
- return ElementTrees.getElements(getElementTreesSlice(state), documentKey);
55
- }
56
- function getElementIds(state, documentKey) {
57
- return ElementTrees.getElementIds(getElementTreesSlice(state), documentKey);
58
- }
59
- function getReactComponentsStateSlice(state) {
60
- return state.reactComponents;
61
- }
62
- function getReactComponent(state, type) {
63
- return ReactComponents.getReactComponent(getReactComponentsStateSlice(state), type);
64
- }
65
- function getComponentsMetaStateSlice(state) {
66
- return state.componentsMeta;
67
- }
68
- function getComponentMeta(state, type) {
69
- return ComponentsMeta.getComponentMeta(getComponentsMetaStateSlice(state), type);
70
- }
71
- function getPropControllersStateSlice(state) {
72
- return state.propControllers;
73
- }
74
- function getPropControllerDescriptors(state) {
75
- return PropControllers.getPropControllerDescriptors(getPropControllersStateSlice(state));
76
- }
77
- function getComponentPropControllerDescriptors(state, componentType) {
78
- return PropControllers.getComponentPropControllerDescriptors(
79
- getPropControllersStateSlice(state),
80
- componentType
81
- );
82
- }
83
- function getPropControllerHandlesStateSlice(state) {
84
- return state.propControllerHandles;
85
- }
86
- function getPropControllers(state, documentKey, elementKey) {
87
- return PropControllerHandles.getPropControllers(
88
- getPropControllerHandlesStateSlice(state),
89
- documentKey,
90
- elementKey
91
- );
92
- }
93
- const getDocumentKeysSortedByDepth = createSelector(
94
- [getDocumentsStateSlice, getElementTreesSlice],
95
- (documents, elementTrees) => {
96
- return [...documents.keys()].sort((a, b) => elementTrees.get(a)?.elements.has(b) ? -1 : 1);
97
- }
98
- );
99
- function getElement(state, documentKey, elementKey) {
100
- return ElementTrees.getElement(getElementTreesSlice(state), documentKey, elementKey);
101
- }
102
- function getElementId(state, documentKey, elementKey) {
103
- return ElementTrees.getElementId(getElementTreesSlice(state), documentKey, elementKey);
104
- }
105
- function getElementPropControllerDescriptors(state, documentKey, elementKey) {
106
- const element = getElement(state, documentKey, elementKey);
107
- if (element == null || Documents.isElementReference(element))
108
- return null;
109
- return getComponentPropControllerDescriptors(state, element.type);
110
- }
111
- function copyElementTree(state, elementTree, replacementContext) {
112
- function copyElementTreeNode(state2, replacementContext2) {
113
- return function(node) {
114
- const context = {
115
- replacementContext: replacementContext2,
116
- copyElement: copyElementTreeNode(state2, replacementContext2)
117
- };
118
- if (Documents.isElementReference(node)) {
119
- return {
120
- ...node,
121
- value: replaceResourceIfNeeded(ContextResource.GlobalElement, node.value, context)
122
- };
123
- }
124
- const descriptors = getComponentPropControllerDescriptors(state2, node.type);
125
- if (descriptors == null)
126
- return node;
127
- for (const [propKey, descriptor] of Object.entries(descriptors)) {
128
- node.props[propKey] = copyFromControl(descriptor, node.props[propKey], context);
129
- }
130
- return node;
131
- };
132
- }
133
- const copy = JSON.parse(JSON.stringify(elementTree));
134
- return copyElementTreeNode(state, createReplacementContext(replacementContext))(copy);
135
- }
136
- function mergeElement(state, baseElement, overrideElement) {
137
- if (baseElement.type !== overrideElement.type || baseElement.key !== overrideElement.key) {
138
- throw new Error(`Can't merge elements of different types or keys`);
139
- }
140
- if (Documents.isElementReference(overrideElement))
141
- return overrideElement;
142
- if (Documents.isElementReference(baseElement))
143
- return baseElement;
144
- const elementDescriptors = getPropControllerDescriptors(state);
145
- const descriptors = elementDescriptors.get(baseElement.type);
146
- if (descriptors == null) {
147
- throw new Error(
148
- `Can't merge element of type "${baseElement.type}" because it has no descriptors`
149
- );
150
- }
151
- const mergedProps = {};
152
- for (const propName of Object.keys(descriptors)) {
153
- const descriptor = descriptors[propName];
154
- const context = {
155
- mergeElement(base, override) {
156
- return mergeElement(state, base, override);
157
- }
158
- };
159
- mergedProps[propName] = merge(
160
- descriptor,
161
- baseElement.props[propName],
162
- overrideElement.props[propName],
163
- context
164
- );
165
- }
166
- return { ...baseElement, props: mergedProps };
167
- }
168
- function getIsInBuilder(state) {
169
- return state.isInBuilder;
170
- }
171
- function getIsPreview(state) {
172
- return IsPreview.getIsPreview(state.isPreview);
173
- }
174
- function getBuilderEditMode(state) {
175
- return state.builderEditMode;
176
- }
177
- function getBreakpoints(state) {
178
- return state.breakpoints;
179
- }
180
- function elementTreeMiddleware() {
181
- return actionMiddleware(({ dispatch, getState }) => (next) => {
182
- return (action) => {
183
- switch (action.type) {
184
- case ActionTypes.REGISTER_DOCUMENT:
185
- dispatch(
186
- createElementTree({
187
- document: action.payload.document,
188
- descriptors: getPropControllerDescriptors(getState())
189
- })
190
- );
191
- break;
192
- case ActionTypes.CHANGE_DOCUMENT: {
193
- const { documentKey, operation } = action.payload;
194
- const oldDocument = getDocument(getState(), documentKey);
195
- const result = next(action);
196
- const newDocument = getDocument(getState(), documentKey);
197
- if (oldDocument != null && newDocument != null && newDocument !== oldDocument) {
198
- dispatch(
199
- changeElementTree({
200
- oldDocument,
201
- newDocument,
202
- descriptors: getPropControllerDescriptors(getState()),
203
- operation
204
- })
205
- );
206
- }
207
- return result;
208
- }
209
- case ActionTypes.UNREGISTER_DOCUMENT:
210
- dispatch(deleteElementTree(action.payload));
211
- break;
212
- }
213
- return next(action);
214
- };
215
- });
216
- }
5
+ import { readOnlyElementTreeMiddleware } from "./middleware/read-only-element-tree";
6
+ import { reducers } from "./read-only-state";
217
7
  function configureStore({
218
8
  name,
219
9
  preloadedState,
220
10
  breakpoints
221
11
  }) {
222
12
  return configureReduxStore({
223
- reducer,
13
+ reducer: combineReducers(reducers),
224
14
  preloadedState: {
225
15
  ...preloadedState,
226
16
  breakpoints: Breakpoints.getInitialState(breakpoints ?? preloadedState?.breakpoints)
227
17
  },
228
- middleware: (getDefaultMiddleware) => getDefaultMiddleware(middlewareOptions).concat(elementTreeMiddleware()),
18
+ middleware: (getDefaultMiddleware) => getDefaultMiddleware(middlewareOptions).concat(readOnlyElementTreeMiddleware()),
229
19
  enhancers: (getDefaultEnhancers) => getDefaultEnhancers().concat(
230
20
  withSetupTeardown(
231
21
  () => {
@@ -240,29 +30,6 @@ function configureStore({
240
30
  });
241
31
  }
242
32
  export {
243
- configureStore,
244
- copyElementTree,
245
- createBaseDocument,
246
- createDocumentReference,
247
- elementTreeMiddleware,
248
- getBreakpoints,
249
- getBuilderEditMode,
250
- getComponentMeta,
251
- getComponentPropControllerDescriptors,
252
- getDocument,
253
- getDocumentKeysSortedByDepth,
254
- getElement,
255
- getElementId,
256
- getElementIds,
257
- getElementPropControllerDescriptors,
258
- getElements,
259
- getIsInBuilder,
260
- getIsPreview,
261
- getPropControllerDescriptors,
262
- getPropControllers,
263
- getReactComponent,
264
- getRootElement,
265
- isElementReference,
266
- mergeElement
33
+ configureStore
267
34
  };
268
35
  //# sourceMappingURL=react-page.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/state/react-page.ts"],"sourcesContent":["import {\n configureStore as configureReduxStore,\n combineReducers,\n type ThunkDispatch,\n type Middleware,\n} from '@reduxjs/toolkit'\n\nimport { createSelector } from 'reselect'\n\nimport {\n createReplacementContext,\n type SerializableReplacementContext,\n type ReplacementContext,\n type MergeContext,\n CopyContext,\n replaceResourceIfNeeded,\n ContextResource,\n} from '@makeswift/controls'\n\nimport { copy as copyFromControl, merge } from '../controls/control'\n\nimport * as Documents from './modules/read-only-documents'\nimport * as ElementTrees from './modules/element-trees'\nimport * as ReactComponents from './modules/react-components'\nimport * as ComponentsMeta from './modules/components-meta'\nimport * as PropControllers from './modules/prop-controllers'\nimport * as PropControllerHandles from './modules/prop-controller-handles'\nimport * as IsInBuilder from './modules/is-in-builder'\nimport * as IsPreview from './modules/is-preview'\nimport * as BuilderEditMode from './modules/builder-edit-mode'\nimport * as Breakpoints from './modules/breakpoints'\n\nimport { type Action, ActionTypes } from './actions'\nimport { changeElementTree, createElementTree, deleteElementTree } from './actions/internal'\n\nimport { actionMiddleware, middlewareOptions, devToolsConfig } from './toolkit'\n\nimport { withSetupTeardown } from './mixins/setup-teardown'\n\nexport type {\n Data,\n Document,\n DocumentReference,\n Element,\n ElementData,\n ElementReference,\n} from './modules/read-only-documents'\n\nexport {\n createBaseDocument,\n createDocumentReference,\n getRootElement,\n isElementReference,\n} from './modules/read-only-documents'\n\nexport type { ComponentType } from './modules/react-components'\nexport type { ComponentMeta } from './modules/components-meta'\n\nconst reducer = combineReducers({\n documents: Documents.reducer,\n elementTrees: ElementTrees.reducer,\n reactComponents: ReactComponents.reducer,\n componentsMeta: ComponentsMeta.reducer,\n propControllers: PropControllers.reducer,\n propControllerHandles: PropControllerHandles.reducer,\n isInBuilder: IsInBuilder.reducer,\n isPreview: IsPreview.reducer,\n builderEditMode: BuilderEditMode.reducer,\n breakpoints: Breakpoints.reducer,\n})\n\nexport type State = ReturnType<typeof reducer>\nexport type Dispatch = ThunkDispatch<State, unknown, Action>\n\nfunction getDocumentsStateSlice(state: State): Documents.State {\n return state.documents\n}\n\nexport function getDocument(state: State, documentKey: string): Documents.Document | null {\n return Documents.getDocument(getDocumentsStateSlice(state), documentKey)\n}\n\nfunction getElementTreesSlice(state: State): ElementTrees.State {\n return state.elementTrees\n}\n\nexport function getElements(\n state: State,\n documentKey: string,\n): ElementTrees.ElementTree['elements'] {\n return ElementTrees.getElements(getElementTreesSlice(state), documentKey)\n}\n\nexport function getElementIds(\n state: State,\n documentKey: string,\n): ElementTrees.ElementTree['elementIds'] {\n return ElementTrees.getElementIds(getElementTreesSlice(state), documentKey)\n}\n\nfunction getReactComponentsStateSlice(state: State): ReactComponents.State {\n return state.reactComponents\n}\n\nexport function getReactComponent(\n state: State,\n type: string,\n): ReactComponents.ComponentType | null {\n return ReactComponents.getReactComponent(getReactComponentsStateSlice(state), type)\n}\n\nfunction getComponentsMetaStateSlice(state: State): ComponentsMeta.State {\n return state.componentsMeta\n}\n\nexport function getComponentMeta(state: State, type: string): ComponentsMeta.ComponentMeta | null {\n return ComponentsMeta.getComponentMeta(getComponentsMetaStateSlice(state), type)\n}\n\nfunction getPropControllersStateSlice(state: State): PropControllers.State {\n return state.propControllers\n}\n\nexport function getPropControllerDescriptors(state: State): PropControllers.State {\n return PropControllers.getPropControllerDescriptors(getPropControllersStateSlice(state))\n}\n\nexport function getComponentPropControllerDescriptors(\n state: State,\n componentType: string,\n): PropControllers.DescriptorsByProp | null {\n return PropControllers.getComponentPropControllerDescriptors(\n getPropControllersStateSlice(state),\n componentType,\n )\n}\n\nfunction getPropControllerHandlesStateSlice(state: State): PropControllerHandles.State {\n return state.propControllerHandles\n}\n\nexport function getPropControllers(state: State, documentKey: string, elementKey: string) {\n return PropControllerHandles.getPropControllers(\n getPropControllerHandlesStateSlice(state),\n documentKey,\n elementKey,\n )\n}\n\n/**\n * Returns all document keys sorted by depth, i.e., parent documents come before child documents.\n */\nexport const getDocumentKeysSortedByDepth: (state: State) => string[] = createSelector(\n [getDocumentsStateSlice, getElementTreesSlice],\n (documents, elementTrees) => {\n return [...documents.keys()].sort((a, b) => (elementTrees.get(a)?.elements.has(b) ? -1 : 1))\n },\n)\n\nexport function getElement(\n state: State,\n documentKey: string,\n elementKey: string,\n): Documents.Element | null {\n return ElementTrees.getElement(getElementTreesSlice(state), documentKey, elementKey)\n}\n\nexport function getElementId(state: State, documentKey: string, elementKey: string): string | null {\n return ElementTrees.getElementId(getElementTreesSlice(state), documentKey, elementKey)\n}\n\nexport function getElementPropControllerDescriptors(\n state: State,\n documentKey: string,\n elementKey: string,\n): Record<string, PropControllers.PropControllerDescriptor> | null {\n const element = getElement(state, documentKey, elementKey)\n\n if (element == null || Documents.isElementReference(element)) return null\n\n return getComponentPropControllerDescriptors(state, element.type)\n}\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\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\nexport function getIsInBuilder(state: State): boolean {\n return state.isInBuilder\n}\n\nexport function getIsPreview(state: State): boolean {\n return IsPreview.getIsPreview(state.isPreview)\n}\n\nexport function getBuilderEditMode(state: State): BuilderEditMode.State {\n return state.builderEditMode\n}\n\nexport function getBreakpoints(state: State): Breakpoints.State {\n return state.breakpoints\n}\n\nexport function elementTreeMiddleware(): Middleware<Dispatch, State, Dispatch> {\n return actionMiddleware(({ dispatch, getState }) => next => {\n return action => {\n switch (action.type) {\n case ActionTypes.REGISTER_DOCUMENT:\n dispatch(\n createElementTree({\n document: action.payload.document,\n descriptors: getPropControllerDescriptors(getState()),\n }),\n )\n break\n\n case ActionTypes.CHANGE_DOCUMENT: {\n const { documentKey, operation } = action.payload\n\n const oldDocument = getDocument(getState(), documentKey)\n const result = next(action)\n const newDocument = getDocument(getState(), documentKey)\n\n if (oldDocument != null && newDocument != null && newDocument !== oldDocument) {\n dispatch(\n changeElementTree({\n oldDocument,\n newDocument,\n descriptors: getPropControllerDescriptors(getState()),\n operation,\n }),\n )\n }\n\n return result\n }\n\n case ActionTypes.UNREGISTER_DOCUMENT:\n dispatch(deleteElementTree(action.payload))\n break\n }\n\n return next(action)\n }\n })\n}\n\nexport function configureStore({\n name,\n preloadedState,\n breakpoints,\n}: {\n name: string\n preloadedState: Partial<State> | null\n breakpoints?: Breakpoints.State\n}) {\n return configureReduxStore({\n reducer,\n preloadedState: {\n ...preloadedState,\n breakpoints: Breakpoints.getInitialState(breakpoints ?? preloadedState?.breakpoints),\n },\n\n middleware: getDefaultMiddleware =>\n getDefaultMiddleware(middlewareOptions).concat(elementTreeMiddleware()),\n\n enhancers: getDefaultEnhancers =>\n getDefaultEnhancers().concat(\n withSetupTeardown(\n () => {},\n () => {},\n ),\n ),\n\n devTools: devToolsConfig({\n name: `${name} (${new Date().toISOString()})`,\n }),\n })\n}\n\nexport type Store = ReturnType<typeof configureStore>\n"],"mappings":"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","names":["state","replacementContext"]}
1
+ {"version":3,"sources":["../../../src/state/react-page.ts"],"sourcesContent":["import { configureStore as configureReduxStore, combineReducers } from '@reduxjs/toolkit'\n\nimport * as Breakpoints from './modules/breakpoints'\n\nimport { middlewareOptions, devToolsConfig } from './toolkit'\n\nimport { withSetupTeardown } from './mixins/setup-teardown'\nimport { readOnlyElementTreeMiddleware } from './middleware/read-only-element-tree'\n\nimport { type State, reducers } from './read-only-state'\n\nexport function configureStore({\n name,\n preloadedState,\n breakpoints,\n}: {\n name: string\n preloadedState: Partial<State> | null\n breakpoints?: Breakpoints.State\n}) {\n return configureReduxStore({\n reducer: combineReducers(reducers),\n preloadedState: {\n ...preloadedState,\n breakpoints: Breakpoints.getInitialState(breakpoints ?? preloadedState?.breakpoints),\n },\n\n middleware: getDefaultMiddleware =>\n getDefaultMiddleware(middlewareOptions).concat(readOnlyElementTreeMiddleware()),\n\n enhancers: getDefaultEnhancers =>\n getDefaultEnhancers().concat(\n withSetupTeardown(\n () => {},\n () => {},\n ),\n ),\n\n devTools: devToolsConfig({\n name: `${name} (${new Date().toISOString()})`,\n }),\n })\n}\n\nexport type Store = ReturnType<typeof configureStore>\n"],"mappings":"AAAA,SAAS,kBAAkB,qBAAqB,uBAAuB;AAEvE,YAAY,iBAAiB;AAE7B,SAAS,mBAAmB,sBAAsB;AAElD,SAAS,yBAAyB;AAClC,SAAS,qCAAqC;AAE9C,SAAqB,gBAAgB;AAE9B,SAAS,eAAe;AAAA,EAC7B;AAAA,EACA;AAAA,EACA;AACF,GAIG;AACD,SAAO,oBAAoB;AAAA,IACzB,SAAS,gBAAgB,QAAQ;AAAA,IACjC,gBAAgB;AAAA,MACd,GAAG;AAAA,MACH,aAAa,YAAY,gBAAgB,eAAe,gBAAgB,WAAW;AAAA,IACrF;AAAA,IAEA,YAAY,0BACV,qBAAqB,iBAAiB,EAAE,OAAO,8BAA8B,CAAC;AAAA,IAEhF,WAAW,yBACT,oBAAoB,EAAE;AAAA,MACpB;AAAA,QACE,MAAM;AAAA,QAAC;AAAA,QACP,MAAM;AAAA,QAAC;AAAA,MACT;AAAA,IACF;AAAA,IAEF,UAAU,eAAe;AAAA,MACvB,MAAM,GAAG,IAAI,MAAK,oBAAI,KAAK,GAAE,YAAY,CAAC;AAAA,IAC5C,CAAC;AAAA,EACH,CAAC;AACH;","names":[]}
@@ -0,0 +1,157 @@
1
+ import { createSelector } from "reselect";
2
+ import * as Documents from "./modules/read-only-documents";
3
+ import * as ElementTrees from "./modules/element-trees";
4
+ import * as ReactComponents from "./modules/react-components";
5
+ import * as ComponentsMeta from "./modules/components-meta";
6
+ import * as PropControllers from "./modules/prop-controllers";
7
+ import * as PropControllerHandles from "./modules/prop-controller-handles";
8
+ import * as IsInBuilder from "./modules/is-in-builder";
9
+ import * as IsReadOnly from "./modules/is-read-only";
10
+ import * as BuilderEditMode from "./modules/builder-edit-mode";
11
+ import * as Breakpoints from "./modules/breakpoints";
12
+ import {
13
+ createBaseDocument,
14
+ createDocumentReference,
15
+ getRootElement,
16
+ isElementReference
17
+ } from "./modules/read-only-documents";
18
+ const reducers = {
19
+ isReadOnly: IsReadOnly.reducer,
20
+ documents: Documents.reducer,
21
+ elementTrees: ElementTrees.reducer,
22
+ reactComponents: ReactComponents.reducer,
23
+ componentsMeta: ComponentsMeta.reducer,
24
+ propControllers: PropControllers.reducer,
25
+ propControllerHandles: PropControllerHandles.reducer,
26
+ isInBuilder: IsInBuilder.reducer,
27
+ builderEditMode: BuilderEditMode.reducer,
28
+ breakpoints: Breakpoints.reducer
29
+ };
30
+ function getDocumentsStateSlice(state) {
31
+ return state.documents;
32
+ }
33
+ function getDocument(state, documentKey) {
34
+ return Documents.getDocument(getDocumentsStateSlice(state), documentKey);
35
+ }
36
+ function getElementTreesSlice(state) {
37
+ return state.elementTrees;
38
+ }
39
+ function getElements(state, documentKey) {
40
+ return ElementTrees.getElements(getElementTreesSlice(state), documentKey);
41
+ }
42
+ function getElementIds(state, documentKey) {
43
+ return ElementTrees.getElementIds(getElementTreesSlice(state), documentKey);
44
+ }
45
+ function getReactComponentsStateSlice(state) {
46
+ return state.reactComponents;
47
+ }
48
+ function getReactComponent(state, type) {
49
+ return ReactComponents.getReactComponent(getReactComponentsStateSlice(state), type);
50
+ }
51
+ function getComponentsMetaStateSlice(state) {
52
+ return state.componentsMeta;
53
+ }
54
+ function getComponentsMeta(state) {
55
+ return ComponentsMeta.getComponentsMeta(getComponentsMetaStateSlice(state));
56
+ }
57
+ function getComponentMeta(state, type) {
58
+ return ComponentsMeta.getComponentMeta(getComponentsMetaStateSlice(state), type);
59
+ }
60
+ function getPropControllersStateSlice(state) {
61
+ return state.propControllers;
62
+ }
63
+ function getPropControllerDescriptors(state) {
64
+ return PropControllers.getPropControllerDescriptors(getPropControllersStateSlice(state));
65
+ }
66
+ function getComponentPropControllerDescriptors(state, componentType) {
67
+ return PropControllers.getComponentPropControllerDescriptors(
68
+ getPropControllersStateSlice(state),
69
+ componentType
70
+ );
71
+ }
72
+ function getPropControllerHandlesStateSlice(state) {
73
+ return state.propControllerHandles;
74
+ }
75
+ function getPropControllers(state, { documentKey, elementKey }) {
76
+ return PropControllerHandles.getPropControllers(
77
+ getPropControllerHandlesStateSlice(state),
78
+ documentKey,
79
+ elementKey
80
+ );
81
+ }
82
+ function getPropControllersHandle(state, { documentKey, elementKey }) {
83
+ return PropControllerHandles.getPropControllersHandle(
84
+ getPropControllerHandlesStateSlice(state),
85
+ documentKey,
86
+ elementKey
87
+ );
88
+ }
89
+ function getPropController(state, {
90
+ documentKey,
91
+ elementKey,
92
+ propName
93
+ }) {
94
+ return PropControllerHandles.getPropController(
95
+ getPropControllerHandlesStateSlice(state),
96
+ documentKey,
97
+ elementKey,
98
+ propName
99
+ );
100
+ }
101
+ const getDocumentKeysSortedByDepth = createSelector(
102
+ [getDocumentsStateSlice, getElementTreesSlice],
103
+ (documents, elementTrees) => {
104
+ return [...documents.keys()].sort((a, b) => elementTrees.get(a)?.elements.has(b) ? -1 : 1);
105
+ }
106
+ );
107
+ function getElement(state, documentKey, elementKey) {
108
+ return ElementTrees.getElement(getElementTreesSlice(state), documentKey, elementKey);
109
+ }
110
+ function getElementId(state, documentKey, elementKey) {
111
+ return ElementTrees.getElementId(getElementTreesSlice(state), documentKey, elementKey);
112
+ }
113
+ function getElementPropControllerDescriptors(state, documentKey, elementKey) {
114
+ const element = getElement(state, documentKey, elementKey);
115
+ if (element == null || Documents.isElementReference(element))
116
+ return null;
117
+ return getComponentPropControllerDescriptors(state, element.type);
118
+ }
119
+ function getIsInBuilder(state) {
120
+ return state.isInBuilder;
121
+ }
122
+ function getIsReadOnly(state) {
123
+ return state.isReadOnly;
124
+ }
125
+ function getBuilderEditMode(state) {
126
+ return state.builderEditMode;
127
+ }
128
+ function getBreakpoints(state) {
129
+ return state.breakpoints;
130
+ }
131
+ export {
132
+ createBaseDocument,
133
+ createDocumentReference,
134
+ getBreakpoints,
135
+ getBuilderEditMode,
136
+ getComponentMeta,
137
+ getComponentPropControllerDescriptors,
138
+ getComponentsMeta,
139
+ getDocument,
140
+ getDocumentKeysSortedByDepth,
141
+ getElement,
142
+ getElementId,
143
+ getElementIds,
144
+ getElementPropControllerDescriptors,
145
+ getElements,
146
+ getIsInBuilder,
147
+ getIsReadOnly,
148
+ getPropController,
149
+ getPropControllerDescriptors,
150
+ getPropControllers,
151
+ getPropControllersHandle,
152
+ getReactComponent,
153
+ getRootElement,
154
+ isElementReference,
155
+ reducers
156
+ };
157
+ //# sourceMappingURL=read-only-state.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/state/read-only-state.ts"],"sourcesContent":["import { type ThunkDispatch } from '@reduxjs/toolkit'\n\nimport { createSelector } from 'reselect'\n\nimport * as Documents from './modules/read-only-documents'\nimport * as ElementTrees from './modules/element-trees'\nimport * as ReactComponents from './modules/react-components'\nimport * as ComponentsMeta from './modules/components-meta'\nimport * as PropControllers from './modules/prop-controllers'\nimport * as PropControllerHandles from './modules/prop-controller-handles'\nimport * as IsInBuilder from './modules/is-in-builder'\nimport * as IsReadOnly from './modules/is-read-only'\nimport * as BuilderEditMode from './modules/builder-edit-mode'\nimport * as Breakpoints from './modules/breakpoints'\n\nimport { type Action } from './actions'\n\nexport type {\n Data,\n Document,\n DocumentReference,\n Element,\n ElementData,\n ElementReference,\n} from './modules/read-only-documents'\n\nexport {\n createBaseDocument,\n createDocumentReference,\n getRootElement,\n isElementReference,\n} from './modules/read-only-documents'\n\nexport type { ComponentType } from './modules/react-components'\nexport type { ComponentMeta } from './modules/components-meta'\n\nexport const reducers = {\n isReadOnly: IsReadOnly.reducer,\n documents: Documents.reducer,\n elementTrees: ElementTrees.reducer,\n reactComponents: ReactComponents.reducer,\n componentsMeta: ComponentsMeta.reducer,\n propControllers: PropControllers.reducer,\n propControllerHandles: PropControllerHandles.reducer,\n isInBuilder: IsInBuilder.reducer,\n builderEditMode: BuilderEditMode.reducer,\n breakpoints: Breakpoints.reducer,\n}\n\nexport type State = {\n isReadOnly: IsReadOnly.State\n documents: Documents.State\n elementTrees: ElementTrees.State\n reactComponents: ReactComponents.State\n componentsMeta: ComponentsMeta.State\n propControllers: PropControllers.State\n propControllerHandles: PropControllerHandles.State\n isInBuilder: IsInBuilder.State\n builderEditMode: BuilderEditMode.State\n breakpoints: Breakpoints.State\n}\n\nexport type Dispatch = ThunkDispatch<State, unknown, Action>\n\nfunction getDocumentsStateSlice(state: State): Documents.State {\n return state.documents\n}\n\nexport function getDocument(state: State, documentKey: string): Documents.Document | null {\n return Documents.getDocument(getDocumentsStateSlice(state), documentKey)\n}\n\nfunction getElementTreesSlice(state: State): ElementTrees.State {\n return state.elementTrees\n}\n\nexport function getElements(\n state: State,\n documentKey: string,\n): ElementTrees.ElementTree['elements'] {\n return ElementTrees.getElements(getElementTreesSlice(state), documentKey)\n}\n\nexport function getElementIds(\n state: State,\n documentKey: string,\n): ElementTrees.ElementTree['elementIds'] {\n return ElementTrees.getElementIds(getElementTreesSlice(state), documentKey)\n}\n\nfunction getReactComponentsStateSlice(state: State): ReactComponents.State {\n return state.reactComponents\n}\n\nexport function getReactComponent(\n state: State,\n type: string,\n): ReactComponents.ComponentType | null {\n return ReactComponents.getReactComponent(getReactComponentsStateSlice(state), type)\n}\n\nfunction getComponentsMetaStateSlice(state: State): ComponentsMeta.State {\n return state.componentsMeta\n}\n\nexport function getComponentsMeta(state: State): Map<string, ComponentsMeta.ComponentMeta> {\n return ComponentsMeta.getComponentsMeta(getComponentsMetaStateSlice(state))\n}\n\nexport function getComponentMeta(state: State, type: string): ComponentsMeta.ComponentMeta | null {\n return ComponentsMeta.getComponentMeta(getComponentsMetaStateSlice(state), type)\n}\n\nfunction getPropControllersStateSlice(state: State): PropControllers.State {\n return state.propControllers\n}\n\nexport function getPropControllerDescriptors(state: State): PropControllers.State {\n return PropControllers.getPropControllerDescriptors(getPropControllersStateSlice(state))\n}\n\nexport function getComponentPropControllerDescriptors(\n state: State,\n componentType: string,\n): PropControllers.DescriptorsByProp | null {\n return PropControllers.getComponentPropControllerDescriptors(\n getPropControllersStateSlice(state),\n componentType,\n )\n}\n\nfunction getPropControllerHandlesStateSlice(state: State): PropControllerHandles.State {\n return state.propControllerHandles\n}\n\nexport function getPropControllers(\n state: State,\n { documentKey, elementKey }: { documentKey: string; elementKey: string },\n) {\n return PropControllerHandles.getPropControllers(\n getPropControllerHandlesStateSlice(state),\n documentKey,\n elementKey,\n )\n}\n\nexport function getPropControllersHandle(\n state: State,\n { documentKey, elementKey }: { documentKey: string; elementKey: string },\n) {\n return PropControllerHandles.getPropControllersHandle(\n getPropControllerHandlesStateSlice(state),\n documentKey,\n elementKey,\n )\n}\n\nexport function getPropController(\n state: State,\n {\n documentKey,\n elementKey,\n propName,\n }: { documentKey: string; elementKey: string; propName: string },\n) {\n return PropControllerHandles.getPropController(\n getPropControllerHandlesStateSlice(state),\n documentKey,\n elementKey,\n propName,\n )\n}\n\n/**\n * Returns all document keys sorted by depth, i.e., parent documents come before child documents.\n */\nexport const getDocumentKeysSortedByDepth: (state: State) => string[] = createSelector(\n [getDocumentsStateSlice, getElementTreesSlice],\n (documents, elementTrees) => {\n return [...documents.keys()].sort((a, b) => (elementTrees.get(a)?.elements.has(b) ? -1 : 1))\n },\n)\n\nexport function getElement(\n state: State,\n documentKey: string,\n elementKey: string,\n): Documents.Element | null {\n return ElementTrees.getElement(getElementTreesSlice(state), documentKey, elementKey)\n}\n\nexport function getElementId(state: State, documentKey: string, elementKey: string): string | null {\n return ElementTrees.getElementId(getElementTreesSlice(state), documentKey, elementKey)\n}\n\nexport function getElementPropControllerDescriptors(\n state: State,\n documentKey: string,\n elementKey: string,\n): Record<string, PropControllers.PropControllerDescriptor> | null {\n const element = getElement(state, documentKey, elementKey)\n\n if (element == null || Documents.isElementReference(element)) return null\n\n return getComponentPropControllerDescriptors(state, element.type)\n}\n\nexport function getIsInBuilder(state: State): boolean {\n return state.isInBuilder\n}\n\nexport function getIsReadOnly(state: State): boolean {\n return state.isReadOnly\n}\n\nexport function getBuilderEditMode(state: State): BuilderEditMode.State {\n return state.builderEditMode\n}\n\nexport function getBreakpoints(state: State): Breakpoints.State {\n return state.breakpoints\n}\n"],"mappings":"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","names":[]}
@@ -0,0 +1,76 @@
1
+ import { combineReducers } from "@reduxjs/toolkit";
2
+ import * as Documents from "./modules/read-write/read-write-documents";
3
+ import * as BoxModels from "./modules/read-write/box-models";
4
+ import * as Pointer from "./modules/read-write/pointer";
5
+ import * as ElementImperativeHandles from "./modules/read-write/element-imperative-handles";
6
+ import * as ReadOnlyState from "./read-only-state";
7
+ import { createBox, getBox, parse } from "./modules/read-write/box-models";
8
+ const reducers = {
9
+ ...ReadOnlyState.reducers,
10
+ documents: Documents.reducer,
11
+ boxModels: BoxModels.reducer,
12
+ pointer: Pointer.reducer,
13
+ elementImperativeHandles: ElementImperativeHandles.reducer
14
+ };
15
+ function createRootReducer() {
16
+ return combineReducers(reducers);
17
+ }
18
+ function getDocumentsStateSlice(state) {
19
+ return state.documents;
20
+ }
21
+ function getDocuments(state) {
22
+ return Documents.getDocuments(getDocumentsStateSlice(state));
23
+ }
24
+ function getDocument(state, documentKey) {
25
+ return Documents.getDocument(getDocumentsStateSlice(state), documentKey);
26
+ }
27
+ function getBoxModelsStateSlice(state) {
28
+ return state.boxModels;
29
+ }
30
+ function getMeasurables(state) {
31
+ return BoxModels.getMeasurables(getBoxModelsStateSlice(state));
32
+ }
33
+ function getBoxModels(state) {
34
+ return BoxModels.getBoxModels(getBoxModelsStateSlice(state));
35
+ }
36
+ function getBoxModel(state, documentKey, elementKey) {
37
+ return BoxModels.getBoxModel(getBoxModelsStateSlice(state), documentKey, elementKey);
38
+ }
39
+ function getPointer(state) {
40
+ return Pointer.getPointer(state.pointer);
41
+ }
42
+ function getElementImperativeHandles(state) {
43
+ return ElementImperativeHandles.getElementImperativeHandles(state.elementImperativeHandles);
44
+ }
45
+ function getElementImperativeHandlesContainingElement(state, element) {
46
+ const elementImperativeHandles = getElementImperativeHandles(state);
47
+ const filteredElementImperativeHandles = /* @__PURE__ */ new Map();
48
+ for (const [documentKey, byElementKey] of elementImperativeHandles) {
49
+ const filteredByElementKey = /* @__PURE__ */ new Map();
50
+ for (const [elementKey, elementImperativeHandle] of byElementKey) {
51
+ const handleElement = elementImperativeHandle.getDomNode();
52
+ if (handleElement?.contains(element)) {
53
+ filteredByElementKey.set(elementKey, elementImperativeHandle);
54
+ }
55
+ }
56
+ if (filteredByElementKey.size > 0) {
57
+ filteredElementImperativeHandles.set(documentKey, filteredByElementKey);
58
+ }
59
+ }
60
+ return filteredElementImperativeHandles;
61
+ }
62
+ export {
63
+ createBox,
64
+ createRootReducer,
65
+ getBox,
66
+ getBoxModel,
67
+ getBoxModels,
68
+ getDocument,
69
+ getDocuments,
70
+ getElementImperativeHandles,
71
+ getElementImperativeHandlesContainingElement,
72
+ getMeasurables,
73
+ getPointer,
74
+ parse
75
+ };
76
+ //# sourceMappingURL=read-write-state.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/state/read-write-state.ts"],"sourcesContent":["import { combineReducers, type ThunkDispatch } from '@reduxjs/toolkit'\n\nimport * as Documents from './modules/read-write/read-write-documents'\nimport * as BoxModels from './modules/read-write/box-models'\nimport * as Pointer from './modules/read-write/pointer'\nimport * as ElementImperativeHandles from './modules/read-write/element-imperative-handles'\n\nimport { type Action } from './actions'\n\nimport { ElementImperativeHandle } from '../runtimes/react/element-imperative-handle'\n\nimport * as ReadOnlyState from './read-only-state'\n\nexport type { Operation } from './modules/read-write/read-write-documents'\nexport type { BoxModelHandle } from './modules/read-write/box-models'\nexport { createBox, getBox, parse } from './modules/read-write/box-models'\n\nconst reducers = {\n ...ReadOnlyState.reducers,\n documents: Documents.reducer,\n boxModels: BoxModels.reducer,\n pointer: Pointer.reducer,\n elementImperativeHandles: ElementImperativeHandles.reducer,\n}\n\nexport function createRootReducer() {\n return combineReducers(reducers)\n}\n\nexport type State = Omit<ReadOnlyState.State, 'documents'> & {\n documents: Documents.State\n boxModels: BoxModels.State\n pointer: Pointer.State\n elementImperativeHandles: ElementImperativeHandles.State\n}\n\nexport type Dispatch = ThunkDispatch<State, unknown, Action>\n\nfunction getDocumentsStateSlice(state: State): Documents.State {\n return state.documents\n}\n\nexport function getDocuments(state: State): Documents.State {\n return Documents.getDocuments(getDocumentsStateSlice(state))\n}\n\nexport function getDocument(state: State, documentKey: string): Documents.Document | null {\n return Documents.getDocument(getDocumentsStateSlice(state), documentKey)\n}\n\nfunction getBoxModelsStateSlice(state: State): BoxModels.State {\n return state.boxModels\n}\n\nexport function getMeasurables(state: State): Map<string, Map<string, BoxModels.Measurable>> {\n return BoxModels.getMeasurables(getBoxModelsStateSlice(state))\n}\n\nexport function getBoxModels(state: State): Map<string, Map<string, BoxModels.BoxModel>> {\n return BoxModels.getBoxModels(getBoxModelsStateSlice(state))\n}\n\nexport function getBoxModel(\n state: State,\n documentKey: string,\n elementKey: string,\n): BoxModels.BoxModel | null {\n return BoxModels.getBoxModel(getBoxModelsStateSlice(state), documentKey, elementKey)\n}\n\nexport function getPointer(state: State): Pointer.Point | null {\n return Pointer.getPointer(state.pointer)\n}\n\nexport function getElementImperativeHandles(\n state: State,\n): Map<string, Map<string, ElementImperativeHandle>> {\n return ElementImperativeHandles.getElementImperativeHandles(state.elementImperativeHandles)\n}\n\nexport function getElementImperativeHandlesContainingElement(\n state: State,\n element: Element,\n): Map<string, Map<string, ElementImperativeHandle>> {\n const elementImperativeHandles = getElementImperativeHandles(state)\n const filteredElementImperativeHandles = new Map<string, Map<string, ElementImperativeHandle>>()\n\n for (const [documentKey, byElementKey] of elementImperativeHandles) {\n const filteredByElementKey = new Map<string, ElementImperativeHandle>()\n\n for (const [elementKey, elementImperativeHandle] of byElementKey) {\n const handleElement = elementImperativeHandle.getDomNode()\n\n if (handleElement?.contains(element)) {\n filteredByElementKey.set(elementKey, elementImperativeHandle)\n }\n }\n\n if (filteredByElementKey.size > 0) {\n filteredElementImperativeHandles.set(documentKey, filteredByElementKey)\n }\n }\n\n return filteredElementImperativeHandles\n}\n"],"mappings":"AAAA,SAAS,uBAA2C;AAEpD,YAAY,eAAe;AAC3B,YAAY,eAAe;AAC3B,YAAY,aAAa;AACzB,YAAY,8BAA8B;AAM1C,YAAY,mBAAmB;AAI/B,SAAS,WAAW,QAAQ,aAAa;AAEzC,MAAM,WAAW;AAAA,EACf,GAAG,cAAc;AAAA,EACjB,WAAW,UAAU;AAAA,EACrB,WAAW,UAAU;AAAA,EACrB,SAAS,QAAQ;AAAA,EACjB,0BAA0B,yBAAyB;AACrD;AAEO,SAAS,oBAAoB;AAClC,SAAO,gBAAgB,QAAQ;AACjC;AAWA,SAAS,uBAAuB,OAA+B;AAC7D,SAAO,MAAM;AACf;AAEO,SAAS,aAAa,OAA+B;AAC1D,SAAO,UAAU,aAAa,uBAAuB,KAAK,CAAC;AAC7D;AAEO,SAAS,YAAY,OAAc,aAAgD;AACxF,SAAO,UAAU,YAAY,uBAAuB,KAAK,GAAG,WAAW;AACzE;AAEA,SAAS,uBAAuB,OAA+B;AAC7D,SAAO,MAAM;AACf;AAEO,SAAS,eAAe,OAA8D;AAC3F,SAAO,UAAU,eAAe,uBAAuB,KAAK,CAAC;AAC/D;AAEO,SAAS,aAAa,OAA4D;AACvF,SAAO,UAAU,aAAa,uBAAuB,KAAK,CAAC;AAC7D;AAEO,SAAS,YACd,OACA,aACA,YAC2B;AAC3B,SAAO,UAAU,YAAY,uBAAuB,KAAK,GAAG,aAAa,UAAU;AACrF;AAEO,SAAS,WAAW,OAAoC;AAC7D,SAAO,QAAQ,WAAW,MAAM,OAAO;AACzC;AAEO,SAAS,4BACd,OACmD;AACnD,SAAO,yBAAyB,4BAA4B,MAAM,wBAAwB;AAC5F;AAEO,SAAS,6CACd,OACA,SACmD;AACnD,QAAM,2BAA2B,4BAA4B,KAAK;AAClE,QAAM,mCAAmC,oBAAI,IAAkD;AAE/F,aAAW,CAAC,aAAa,YAAY,KAAK,0BAA0B;AAClE,UAAM,uBAAuB,oBAAI,IAAqC;AAEtE,eAAW,CAAC,YAAY,uBAAuB,KAAK,cAAc;AAChE,YAAM,gBAAgB,wBAAwB,WAAW;AAEzD,UAAI,eAAe,SAAS,OAAO,GAAG;AACpC,6BAAqB,IAAI,YAAY,uBAAuB;AAAA,MAC9D;AAAA,IACF;AAEA,QAAI,qBAAqB,OAAO,GAAG;AACjC,uCAAiC,IAAI,aAAa,oBAAoB;AAAA,IACxE;AAAA,EACF;AAEA,SAAO;AACT;","names":[]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/state/shared-api.ts"],"sourcesContent":["import { type ThunkAction } from '@reduxjs/toolkit'\n\nimport { type LocaleString, localeStringSchema } from '../locale'\n\nimport { type Breakpoints } from './modules/breakpoints'\nimport { type Element, type Document, EMBEDDED_DOCUMENT_TYPE } from './modules/read-only-documents'\n\ntype DocumentPayloadBaseDocument = {\n key: string\n rootElement: Element\n locale?: string | null // older versions of the runtime may not provide this field\n}\n\ntype DocumentPayloadEmbeddedDocument = {\n key: string\n locale: string | null\n id: string\n type: string\n name: string\n rootElement: Element\n meta: { allowLocaleFallback: boolean; requestedLocale: string | null; description?: string }\n __type: typeof EMBEDDED_DOCUMENT_TYPE\n}\n\nexport type DocumentPayload = DocumentPayloadBaseDocument | DocumentPayloadEmbeddedDocument\n\nexport const SharedActionTypes = {\n MAKESWIFT_CONNECTION_INIT: 'MAKESWIFT_CONNECTION_INIT',\n\n REGISTER_DOCUMENT: 'REGISTER_DOCUMENT',\n UNREGISTER_DOCUMENT: 'UNREGISTER_DOCUMENT',\n\n SET_BREAKPOINTS: 'SET_BREAKPOINTS',\n SET_LOCALE: 'SET_LOCALE',\n} as const\n\ntype MakeswiftConnectionInitAction = { type: typeof SharedActionTypes.MAKESWIFT_CONNECTION_INIT }\n\ntype RegisterDocumentAction = {\n type: typeof SharedActionTypes.REGISTER_DOCUMENT\n payload: { documentKey: string; document: DocumentPayload }\n}\n\ntype UnregisterDocumentAction = {\n type: typeof SharedActionTypes.UNREGISTER_DOCUMENT\n payload: { documentKey: string }\n}\n\nexport type SetBreakpointsAction = {\n type: typeof SharedActionTypes.SET_BREAKPOINTS\n payload: { breakpoints: Breakpoints }\n}\n\ntype SetLocaleAction = {\n type: typeof SharedActionTypes.SET_LOCALE\n payload: { locale: LocaleString; pathname?: string }\n}\n\nexport type SharedAction =\n | MakeswiftConnectionInitAction\n | RegisterDocumentAction\n | UnregisterDocumentAction\n | SetBreakpointsAction\n | SetLocaleAction\n\nexport function makeswiftConnectionInit(): MakeswiftConnectionInitAction {\n return {\n type: SharedActionTypes.MAKESWIFT_CONNECTION_INIT,\n }\n}\n\nexport function registerDocument(document: Document): RegisterDocumentAction {\n return {\n type: SharedActionTypes.REGISTER_DOCUMENT,\n payload: { documentKey: document.key, document },\n }\n}\n\nexport function unregisterDocument(documentKey: string): UnregisterDocumentAction {\n return { type: SharedActionTypes.UNREGISTER_DOCUMENT, payload: { documentKey } }\n}\n\nexport function registerDocumentsEffect(\n documents: Document[],\n): ThunkAction<() => void, unknown, unknown, SharedAction> {\n return dispatch => {\n documents.forEach(document => dispatch(registerDocument(document)))\n\n return () => {\n documents.forEach(document => dispatch(unregisterDocument(document.key)))\n }\n }\n}\n\nexport function setBreakpoints(breakpoints: Breakpoints): SetBreakpointsAction {\n return { type: SharedActionTypes.SET_BREAKPOINTS, payload: { breakpoints } }\n}\n\nexport function setLocale(locale: Intl.Locale, pathname?: string): SetLocaleAction {\n return {\n type: SharedActionTypes.SET_LOCALE,\n payload: { locale: localeStringSchema.parse(locale.toString()), pathname },\n }\n}\n"],"mappings":"AAEA,SAA4B,0BAA0B;AAwB/C,MAAM,oBAAoB;AAAA,EAC/B,2BAA2B;AAAA,EAE3B,mBAAmB;AAAA,EACnB,qBAAqB;AAAA,EAErB,iBAAiB;AAAA,EACjB,YAAY;AACd;AA+BO,SAAS,0BAAyD;AACvE,SAAO;AAAA,IACL,MAAM,kBAAkB;AAAA,EAC1B;AACF;AAEO,SAAS,iBAAiB,UAA4C;AAC3E,SAAO;AAAA,IACL,MAAM,kBAAkB;AAAA,IACxB,SAAS,EAAE,aAAa,SAAS,KAAK,SAAS;AAAA,EACjD;AACF;AAEO,SAAS,mBAAmB,aAA+C;AAChF,SAAO,EAAE,MAAM,kBAAkB,qBAAqB,SAAS,EAAE,YAAY,EAAE;AACjF;AAEO,SAAS,wBACd,WACyD;AACzD,SAAO,cAAY;AACjB,cAAU,QAAQ,cAAY,SAAS,iBAAiB,QAAQ,CAAC,CAAC;AAElE,WAAO,MAAM;AACX,gBAAU,QAAQ,cAAY,SAAS,mBAAmB,SAAS,GAAG,CAAC,CAAC;AAAA,IAC1E;AAAA,EACF;AACF;AAEO,SAAS,eAAe,aAAgD;AAC7E,SAAO,EAAE,MAAM,kBAAkB,iBAAiB,SAAS,EAAE,YAAY,EAAE;AAC7E;AAEO,SAAS,UAAU,QAAqB,UAAoC;AACjF,SAAO;AAAA,IACL,MAAM,kBAAkB;AAAA,IACxB,SAAS,EAAE,QAAQ,mBAAmB,MAAM,OAAO,SAAS,CAAC,GAAG,SAAS;AAAA,EAC3E;AACF;","names":[]}
1
+ {"version":3,"sources":["../../../src/state/shared-api.ts"],"sourcesContent":["import { type ThunkAction } from '@reduxjs/toolkit'\n\nimport { type LocaleString, localeStringSchema } from '../locale'\n\nimport { type Breakpoints } from './modules/breakpoints'\nimport { type Element, type Document, EMBEDDED_DOCUMENT_TYPE } from './modules/read-only-documents'\n\ntype DocumentPayloadBaseDocument = {\n key: string\n rootElement: Element\n locale?: string | null // older versions of the runtime may not provide this field\n}\n\ntype DocumentPayloadEmbeddedDocument = {\n key: string\n locale: string | null\n id: string\n type: string\n name: string\n rootElement: Element\n meta: { allowLocaleFallback: boolean; requestedLocale: string | null; description?: string }\n __type: typeof EMBEDDED_DOCUMENT_TYPE\n}\n\nexport type DocumentPayload = DocumentPayloadBaseDocument | DocumentPayloadEmbeddedDocument\n\n// bidirectional action types, both the host and the builder can dispatch these actions\nexport const SharedActionTypes = {\n MAKESWIFT_CONNECTION_INIT: 'MAKESWIFT_CONNECTION_INIT',\n\n REGISTER_DOCUMENT: 'REGISTER_DOCUMENT',\n UNREGISTER_DOCUMENT: 'UNREGISTER_DOCUMENT',\n\n SET_BREAKPOINTS: 'SET_BREAKPOINTS',\n SET_LOCALE: 'SET_LOCALE',\n} as const\n\ntype MakeswiftConnectionInitAction = { type: typeof SharedActionTypes.MAKESWIFT_CONNECTION_INIT }\n\ntype RegisterDocumentAction = {\n type: typeof SharedActionTypes.REGISTER_DOCUMENT\n payload: { documentKey: string; document: DocumentPayload }\n}\n\ntype UnregisterDocumentAction = {\n type: typeof SharedActionTypes.UNREGISTER_DOCUMENT\n payload: { documentKey: string }\n}\n\nexport type SetBreakpointsAction = {\n type: typeof SharedActionTypes.SET_BREAKPOINTS\n payload: { breakpoints: Breakpoints }\n}\n\ntype SetLocaleAction = {\n type: typeof SharedActionTypes.SET_LOCALE\n payload: { locale: LocaleString; pathname?: string }\n}\n\nexport type SharedAction =\n | MakeswiftConnectionInitAction\n | RegisterDocumentAction\n | UnregisterDocumentAction\n | SetBreakpointsAction\n | SetLocaleAction\n\nexport function makeswiftConnectionInit(): MakeswiftConnectionInitAction {\n return {\n type: SharedActionTypes.MAKESWIFT_CONNECTION_INIT,\n }\n}\n\nexport function registerDocument(document: Document): RegisterDocumentAction {\n return {\n type: SharedActionTypes.REGISTER_DOCUMENT,\n payload: { documentKey: document.key, document },\n }\n}\n\nexport function unregisterDocument(documentKey: string): UnregisterDocumentAction {\n return { type: SharedActionTypes.UNREGISTER_DOCUMENT, payload: { documentKey } }\n}\n\nexport function registerDocumentsEffect(\n documents: Document[],\n): ThunkAction<() => void, unknown, unknown, SharedAction> {\n return dispatch => {\n documents.forEach(document => dispatch(registerDocument(document)))\n\n return () => {\n documents.forEach(document => dispatch(unregisterDocument(document.key)))\n }\n }\n}\n\nexport function setBreakpoints(breakpoints: Breakpoints): SetBreakpointsAction {\n return { type: SharedActionTypes.SET_BREAKPOINTS, payload: { breakpoints } }\n}\n\nexport function setLocale(locale: Intl.Locale, pathname?: string): SetLocaleAction {\n return {\n type: SharedActionTypes.SET_LOCALE,\n payload: { locale: localeStringSchema.parse(locale.toString()), pathname },\n }\n}\n"],"mappings":"AAEA,SAA4B,0BAA0B;AAyB/C,MAAM,oBAAoB;AAAA,EAC/B,2BAA2B;AAAA,EAE3B,mBAAmB;AAAA,EACnB,qBAAqB;AAAA,EAErB,iBAAiB;AAAA,EACjB,YAAY;AACd;AA+BO,SAAS,0BAAyD;AACvE,SAAO;AAAA,IACL,MAAM,kBAAkB;AAAA,EAC1B;AACF;AAEO,SAAS,iBAAiB,UAA4C;AAC3E,SAAO;AAAA,IACL,MAAM,kBAAkB;AAAA,IACxB,SAAS,EAAE,aAAa,SAAS,KAAK,SAAS;AAAA,EACjD;AACF;AAEO,SAAS,mBAAmB,aAA+C;AAChF,SAAO,EAAE,MAAM,kBAAkB,qBAAqB,SAAS,EAAE,YAAY,EAAE;AACjF;AAEO,SAAS,wBACd,WACyD;AACzD,SAAO,cAAY;AACjB,cAAU,QAAQ,cAAY,SAAS,iBAAiB,QAAQ,CAAC,CAAC;AAElE,WAAO,MAAM;AACX,gBAAU,QAAQ,cAAY,SAAS,mBAAmB,SAAS,GAAG,CAAC,CAAC;AAAA,IAC1E;AAAA,EACF;AACF;AAEO,SAAS,eAAe,aAAgD;AAC7E,SAAO,EAAE,MAAM,kBAAkB,iBAAiB,SAAS,EAAE,YAAY,EAAE;AAC7E;AAEO,SAAS,UAAU,QAAqB,UAAoC;AACjF,SAAO;AAAA,IACL,MAAM,kBAAkB;AAAA,IACxB,SAAS,EAAE,QAAQ,mBAAmB,MAAM,OAAO,SAAS,CAAC,GAAG,SAAS;AAAA,EAC3E;AACF;","names":[]}
@@ -1,4 +1,4 @@
1
- import { getPropControllerDescriptors } from "../react-page";
1
+ import { getPropControllerDescriptors } from "../read-only-state";
2
2
  import * as Documents from "../modules/read-only-documents";
3
3
  import * as ElementTrees from "../modules/element-trees";
4
4
  import { getTranslatableData } from "../../controls/control";
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/state/translations/get.ts"],"sourcesContent":["import { getPropControllerDescriptors, type State } from '../react-page'\nimport * as Documents from '../modules/read-only-documents'\nimport * as ElementTrees from '../modules/element-trees'\nimport { getTranslatableData } from '../../controls/control'\n\nexport function getElementTreeTranslatableData(\n state: State,\n elementTree: Documents.ElementData,\n): Record<string, Documents.Data> {\n const translatableData: Record<string, Documents.Data> = {}\n const descriptors = getPropControllerDescriptors(state)\n\n for (const element of ElementTrees.traverseElementTree(elementTree, descriptors)) {\n if (Documents.isElementReference(element)) continue\n\n const elementPescriptors = descriptors.get(element.type)\n if (elementPescriptors == null) continue\n\n Object.entries(elementPescriptors).forEach(([propName, descriptor]) => {\n const translatablePropData = getTranslatableData(descriptor, element.props[propName])\n\n if (translatablePropData != null) {\n translatableData[`${element.key}:${propName}`] = translatablePropData\n }\n })\n }\n\n return translatableData\n}\n"],"mappings":"AAAA,SAAS,oCAAgD;AACzD,YAAY,eAAe;AAC3B,YAAY,kBAAkB;AAC9B,SAAS,2BAA2B;AAE7B,SAAS,+BACd,OACA,aACgC;AAChC,QAAM,mBAAmD,CAAC;AAC1D,QAAM,cAAc,6BAA6B,KAAK;AAEtD,aAAW,WAAW,aAAa,oBAAoB,aAAa,WAAW,GAAG;AAChF,QAAI,UAAU,mBAAmB,OAAO;AAAG;AAE3C,UAAM,qBAAqB,YAAY,IAAI,QAAQ,IAAI;AACvD,QAAI,sBAAsB;AAAM;AAEhC,WAAO,QAAQ,kBAAkB,EAAE,QAAQ,CAAC,CAAC,UAAU,UAAU,MAAM;AACrE,YAAM,uBAAuB,oBAAoB,YAAY,QAAQ,MAAM,QAAQ,CAAC;AAEpF,UAAI,wBAAwB,MAAM;AAChC,yBAAiB,GAAG,QAAQ,GAAG,IAAI,QAAQ,EAAE,IAAI;AAAA,MACnD;AAAA,IACF,CAAC;AAAA,EACH;AAEA,SAAO;AACT;","names":[]}
1
+ {"version":3,"sources":["../../../../src/state/translations/get.ts"],"sourcesContent":["import { getPropControllerDescriptors, type State } from '../read-only-state'\nimport * as Documents from '../modules/read-only-documents'\nimport * as ElementTrees from '../modules/element-trees'\nimport { getTranslatableData } from '../../controls/control'\n\nexport function getElementTreeTranslatableData(\n state: State,\n elementTree: Documents.ElementData,\n): Record<string, Documents.Data> {\n const translatableData: Record<string, Documents.Data> = {}\n const descriptors = getPropControllerDescriptors(state)\n\n for (const element of ElementTrees.traverseElementTree(elementTree, descriptors)) {\n if (Documents.isElementReference(element)) continue\n\n const elementPescriptors = descriptors.get(element.type)\n if (elementPescriptors == null) continue\n\n Object.entries(elementPescriptors).forEach(([propName, descriptor]) => {\n const translatablePropData = getTranslatableData(descriptor, element.props[propName])\n\n if (translatablePropData != null) {\n translatableData[`${element.key}:${propName}`] = translatablePropData\n }\n })\n }\n\n return translatableData\n}\n"],"mappings":"AAAA,SAAS,oCAAgD;AACzD,YAAY,eAAe;AAC3B,YAAY,kBAAkB;AAC9B,SAAS,2BAA2B;AAE7B,SAAS,+BACd,OACA,aACgC;AAChC,QAAM,mBAAmD,CAAC;AAC1D,QAAM,cAAc,6BAA6B,KAAK;AAEtD,aAAW,WAAW,aAAa,oBAAoB,aAAa,WAAW,GAAG;AAChF,QAAI,UAAU,mBAAmB,OAAO;AAAG;AAE3C,UAAM,qBAAqB,YAAY,IAAI,QAAQ,IAAI;AACvD,QAAI,sBAAsB;AAAM;AAEhC,WAAO,QAAQ,kBAAkB,EAAE,QAAQ,CAAC,CAAC,UAAU,UAAU,MAAM;AACrE,YAAM,uBAAuB,oBAAoB,YAAY,QAAQ,MAAM,QAAQ,CAAC;AAEpF,UAAI,wBAAwB,MAAM;AAChC,yBAAiB,GAAG,QAAQ,GAAG,IAAI,QAAQ,EAAE,IAAI;AAAA,MACnD;AAAA,IACF,CAAC;AAAA,EACH;AAEA,SAAO;AACT;","names":[]}
@@ -1,4 +1,4 @@
1
- import { getPropControllerDescriptors } from "../react-page";
1
+ import { getPropControllerDescriptors } from "../read-only-state";
2
2
  import * as Documents from "../modules/read-only-documents";
3
3
  import {
4
4
  mergeGridPropControllerTranslatedData,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/state/translations/merge.ts"],"sourcesContent":["import { MergeTranslatableDataContext, type TranslationDto, type Data } from '@makeswift/controls'\nimport { getPropControllerDescriptors, type State } from '../react-page'\nimport * as Documents from '../modules/read-only-documents'\nimport {\n GridPropControllerData,\n mergeGridPropControllerTranslatedData,\n Types as PropControllerTypes,\n} from '@makeswift/prop-controllers'\nimport { ReactMergeTranslationsVisitor } from '../../controls/visitors/merge-translations-visitor'\nimport { isLegacyDescriptor } from '../../prop-controllers/descriptors'\nimport { Descriptor as PropControllerDescriptor } from '../../prop-controllers/descriptors'\n\nexport function mergeElementTreeTranslatedData(\n state: State,\n elementTree: Documents.ElementData,\n translatedData: TranslationDto,\n): Documents.Element {\n function merge(state: State, translatedData: TranslationDto) {\n return function (node: Documents.Element): Documents.Element {\n if (Documents.isElementReference(node)) return node\n\n const elementDescriptors = getPropControllerDescriptors(state)\n const descriptors = elementDescriptors.get(node.type)\n\n if (descriptors == null) {\n throw new Error(`Can't merge element of type \"${node.type}\" because it has no descriptors`)\n }\n\n const context: MergeTranslatableDataContext = {\n translatedData,\n mergeTranslatedData: merge(state, translatedData),\n }\n const props = {} as Record<string, Documents.Data>\n\n for (const propName of Object.keys(descriptors)) {\n const descriptor = descriptors[propName]\n\n props[propName] = mergeTranslatedData(\n descriptor,\n node.props[propName],\n translatedData[`${node.key}:${propName}`],\n context,\n )\n }\n\n return { ...node, props }\n }\n }\n return merge(state, translatedData)(elementTree)\n}\n\nexport function mergeTranslatedData(\n definition: PropControllerDescriptor,\n data: Data,\n translatedData: Data,\n context: MergeTranslatableDataContext,\n): Data {\n if (data == null) return data\n if (!isLegacyDescriptor(definition)) {\n const mergeTranslationsVisitor = new ReactMergeTranslationsVisitor(context)\n return definition.accept(mergeTranslationsVisitor, data, translatedData)\n }\n\n switch (definition.type) {\n case PropControllerTypes.TextInput:\n case PropControllerTypes.TextArea:\n if (translatedData == null) return data\n return translatedData\n\n case PropControllerTypes.Grid:\n return mergeGridPropControllerTranslatedData(data as GridPropControllerData, context)\n\n default:\n return data\n }\n}\n"],"mappings":"AACA,SAAS,oCAAgD;AACzD,YAAY,eAAe;AAC3B;AAAA,EAEE;AAAA,EACA,SAAS;AAAA,OACJ;AACP,SAAS,qCAAqC;AAC9C,SAAS,0BAA0B;AAG5B,SAAS,+BACd,OACA,aACA,gBACmB;AACnB,WAAS,MAAMA,QAAcC,iBAAgC;AAC3D,WAAO,SAAU,MAA4C;AAC3D,UAAI,UAAU,mBAAmB,IAAI;AAAG,eAAO;AAE/C,YAAM,qBAAqB,6BAA6BD,MAAK;AAC7D,YAAM,cAAc,mBAAmB,IAAI,KAAK,IAAI;AAEpD,UAAI,eAAe,MAAM;AACvB,cAAM,IAAI,MAAM,gCAAgC,KAAK,IAAI,iCAAiC;AAAA,MAC5F;AAEA,YAAM,UAAwC;AAAA,QAC5C,gBAAAC;AAAA,QACA,qBAAqB,MAAMD,QAAOC,eAAc;AAAA,MAClD;AACA,YAAM,QAAQ,CAAC;AAEf,iBAAW,YAAY,OAAO,KAAK,WAAW,GAAG;AAC/C,cAAM,aAAa,YAAY,QAAQ;AAEvC,cAAM,QAAQ,IAAI;AAAA,UAChB;AAAA,UACA,KAAK,MAAM,QAAQ;AAAA,UACnBA,gBAAe,GAAG,KAAK,GAAG,IAAI,QAAQ,EAAE;AAAA,UACxC;AAAA,QACF;AAAA,MACF;AAEA,aAAO,EAAE,GAAG,MAAM,MAAM;AAAA,IAC1B;AAAA,EACF;AACA,SAAO,MAAM,OAAO,cAAc,EAAE,WAAW;AACjD;AAEO,SAAS,oBACd,YACA,MACA,gBACA,SACM;AACN,MAAI,QAAQ;AAAM,WAAO;AACzB,MAAI,CAAC,mBAAmB,UAAU,GAAG;AACnC,UAAM,2BAA2B,IAAI,8BAA8B,OAAO;AAC1E,WAAO,WAAW,OAAO,0BAA0B,MAAM,cAAc;AAAA,EACzE;AAEA,UAAQ,WAAW,MAAM;AAAA,IACvB,KAAK,oBAAoB;AAAA,IACzB,KAAK,oBAAoB;AACvB,UAAI,kBAAkB;AAAM,eAAO;AACnC,aAAO;AAAA,IAET,KAAK,oBAAoB;AACvB,aAAO,sCAAsC,MAAgC,OAAO;AAAA,IAEtF;AACE,aAAO;AAAA,EACX;AACF;","names":["state","translatedData"]}
1
+ {"version":3,"sources":["../../../../src/state/translations/merge.ts"],"sourcesContent":["import { MergeTranslatableDataContext, type TranslationDto, type Data } from '@makeswift/controls'\nimport { getPropControllerDescriptors, type State } from '../read-only-state'\nimport * as Documents from '../modules/read-only-documents'\nimport {\n GridPropControllerData,\n mergeGridPropControllerTranslatedData,\n Types as PropControllerTypes,\n} from '@makeswift/prop-controllers'\nimport { ReactMergeTranslationsVisitor } from '../../controls/visitors/merge-translations-visitor'\nimport { isLegacyDescriptor } from '../../prop-controllers/descriptors'\nimport { Descriptor as PropControllerDescriptor } from '../../prop-controllers/descriptors'\n\nexport function mergeElementTreeTranslatedData(\n state: State,\n elementTree: Documents.ElementData,\n translatedData: TranslationDto,\n): Documents.Element {\n function merge(state: State, translatedData: TranslationDto) {\n return function (node: Documents.Element): Documents.Element {\n if (Documents.isElementReference(node)) return node\n\n const elementDescriptors = getPropControllerDescriptors(state)\n const descriptors = elementDescriptors.get(node.type)\n\n if (descriptors == null) {\n throw new Error(`Can't merge element of type \"${node.type}\" because it has no descriptors`)\n }\n\n const context: MergeTranslatableDataContext = {\n translatedData,\n mergeTranslatedData: merge(state, translatedData),\n }\n const props = {} as Record<string, Documents.Data>\n\n for (const propName of Object.keys(descriptors)) {\n const descriptor = descriptors[propName]\n\n props[propName] = mergeTranslatedData(\n descriptor,\n node.props[propName],\n translatedData[`${node.key}:${propName}`],\n context,\n )\n }\n\n return { ...node, props }\n }\n }\n return merge(state, translatedData)(elementTree)\n}\n\nexport function mergeTranslatedData(\n definition: PropControllerDescriptor,\n data: Data,\n translatedData: Data,\n context: MergeTranslatableDataContext,\n): Data {\n if (data == null) return data\n if (!isLegacyDescriptor(definition)) {\n const mergeTranslationsVisitor = new ReactMergeTranslationsVisitor(context)\n return definition.accept(mergeTranslationsVisitor, data, translatedData)\n }\n\n switch (definition.type) {\n case PropControllerTypes.TextInput:\n case PropControllerTypes.TextArea:\n if (translatedData == null) return data\n return translatedData\n\n case PropControllerTypes.Grid:\n return mergeGridPropControllerTranslatedData(data as GridPropControllerData, context)\n\n default:\n return data\n }\n}\n"],"mappings":"AACA,SAAS,oCAAgD;AACzD,YAAY,eAAe;AAC3B;AAAA,EAEE;AAAA,EACA,SAAS;AAAA,OACJ;AACP,SAAS,qCAAqC;AAC9C,SAAS,0BAA0B;AAG5B,SAAS,+BACd,OACA,aACA,gBACmB;AACnB,WAAS,MAAMA,QAAcC,iBAAgC;AAC3D,WAAO,SAAU,MAA4C;AAC3D,UAAI,UAAU,mBAAmB,IAAI;AAAG,eAAO;AAE/C,YAAM,qBAAqB,6BAA6BD,MAAK;AAC7D,YAAM,cAAc,mBAAmB,IAAI,KAAK,IAAI;AAEpD,UAAI,eAAe,MAAM;AACvB,cAAM,IAAI,MAAM,gCAAgC,KAAK,IAAI,iCAAiC;AAAA,MAC5F;AAEA,YAAM,UAAwC;AAAA,QAC5C,gBAAAC;AAAA,QACA,qBAAqB,MAAMD,QAAOC,eAAc;AAAA,MAClD;AACA,YAAM,QAAQ,CAAC;AAEf,iBAAW,YAAY,OAAO,KAAK,WAAW,GAAG;AAC/C,cAAM,aAAa,YAAY,QAAQ;AAEvC,cAAM,QAAQ,IAAI;AAAA,UAChB;AAAA,UACA,KAAK,MAAM,QAAQ;AAAA,UACnBA,gBAAe,GAAG,KAAK,GAAG,IAAI,QAAQ,EAAE;AAAA,UACxC;AAAA,QACF;AAAA,MACF;AAEA,aAAO,EAAE,GAAG,MAAM,MAAM;AAAA,IAC1B;AAAA,EACF;AACA,SAAO,MAAM,OAAO,cAAc,EAAE,WAAW;AACjD;AAEO,SAAS,oBACd,YACA,MACA,gBACA,SACM;AACN,MAAI,QAAQ;AAAM,WAAO;AACzB,MAAI,CAAC,mBAAmB,UAAU,GAAG;AACnC,UAAM,2BAA2B,IAAI,8BAA8B,OAAO;AAC1E,WAAO,WAAW,OAAO,0BAA0B,MAAM,cAAc;AAAA,EACzE;AAEA,UAAQ,WAAW,MAAM;AAAA,IACvB,KAAK,oBAAoB;AAAA,IACzB,KAAK,oBAAoB;AACvB,UAAI,kBAAkB;AAAM,eAAO;AACnC,aAAO;AAAA,IAET,KAAK,oBAAoB;AACvB,aAAO,sCAAsC,MAAgC,OAAO;AAAA,IAEtF;AACE,aAAO;AAAA,EACX;AACF;","names":["state","translatedData"]}