@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,494 +1,16 @@
1
- import {
2
- configureStore as configureReduxStore,
3
- combineReducers
4
- } from "@reduxjs/toolkit";
5
- import deepEqual from "../utils/deepEqual";
6
- import * as Documents from "./modules/read-write-documents";
7
- import * as ElementTrees from "./modules/element-trees";
8
- import * as ReactComponents from "./modules/react-components";
9
- import * as BoxModels from "./modules/box-models";
10
- import * as ComponentsMeta from "./modules/components-meta";
11
- import * as PropControllers from "./modules/prop-controllers";
12
- import * as PropControllerHandles from "./modules/prop-controller-handles";
13
- import * as IsInBuilder from "./modules/is-in-builder";
14
- import * as IsPreview from "./modules/is-preview";
15
- import * as BuilderEditMode from "./modules/builder-edit-mode";
16
- import * as Pointer from "./modules/pointer";
17
- import * as ElementImperativeHandles from "./modules/element-imperative-handles";
18
- import * as Breakpoints from "./modules/breakpoints";
1
+ import { configureStore as configureReduxStore } from "@reduxjs/toolkit";
19
2
  import { withSetupTeardown } from "./mixins/setup-teardown";
20
- import * as ReactPage from "./react-page";
21
- import * as Shared from "./shared-api";
22
3
  import { BuilderActionTypes } from "./builder-api/actions";
23
- import * as Builder from "./builder-api/actions";
24
- import { InternalActionTypes } from "./actions/internal";
25
- import * as Internal from "./actions/internal";
26
- import { actionMiddleware, middlewareOptions, devToolsConfig } from "./toolkit";
27
- import { createPropController } from "../prop-controllers/instances";
28
- import { serializeControls } from "../builder";
4
+ import { middlewareOptions, devToolsConfig } from "./toolkit";
29
5
  import { HostActionTypes } from "./host-api";
30
- import { createBox, getBox, parse } from "./modules/box-models";
31
- const reducer = combineReducers({
32
- documents: Documents.reducer,
33
- elementTrees: ElementTrees.reducer,
34
- reactComponents: ReactComponents.reducer,
35
- boxModels: BoxModels.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
- pointer: Pointer.reducer,
43
- elementImperativeHandles: ElementImperativeHandles.reducer,
44
- breakpoints: Breakpoints.reducer
45
- });
46
- function getDocumentsStateSlice(state) {
47
- return state.documents;
48
- }
49
- function getBoxModelsStateSlice(state) {
50
- return state.boxModels;
51
- }
52
- function getMeasurables(state) {
53
- return BoxModels.getMeasurables(getBoxModelsStateSlice(state));
54
- }
55
- function getBoxModels(state) {
56
- return BoxModels.getBoxModels(getBoxModelsStateSlice(state));
57
- }
58
- function getBoxModel(state, documentKey, elementKey) {
59
- return BoxModels.getBoxModel(getBoxModelsStateSlice(state), documentKey, elementKey);
60
- }
61
- function getComponentsMetaStateSlice(state) {
62
- return state.componentsMeta;
63
- }
64
- function getComponentsMeta(state) {
65
- return ComponentsMeta.getComponentsMeta(getComponentsMetaStateSlice(state));
66
- }
67
- function getPropControllersStateSlice(state) {
68
- return state.propControllers;
69
- }
70
- function getComponentPropControllerDescriptors(state, componentType) {
71
- return PropControllers.getComponentPropControllerDescriptors(
72
- getPropControllersStateSlice(state),
73
- componentType
74
- );
75
- }
76
- function getPropControllerHandlesStateSlice(state) {
77
- return state.propControllerHandles;
78
- }
79
- function getPointer(state) {
80
- return Pointer.getPointer(state.pointer);
81
- }
82
- function getElementImperativeHandles(state) {
83
- return ElementImperativeHandles.getElementImperativeHandles(state.elementImperativeHandles);
84
- }
85
- function getElementImperativeHandlesContainingElement(state, element) {
86
- const elementImperativeHandles = getElementImperativeHandles(state);
87
- const filteredElementImperativeHandles = /* @__PURE__ */ new Map();
88
- for (const [documentKey, byElementKey] of elementImperativeHandles) {
89
- const filteredByElementKey = /* @__PURE__ */ new Map();
90
- for (const [elementKey, elementImperativeHandle] of byElementKey) {
91
- const handleElement = elementImperativeHandle.getDomNode();
92
- if (handleElement?.contains(element)) {
93
- filteredByElementKey.set(elementKey, elementImperativeHandle);
94
- }
95
- }
96
- if (filteredByElementKey.size > 0) {
97
- filteredElementImperativeHandles.set(documentKey, filteredByElementKey);
98
- }
99
- }
100
- return filteredElementImperativeHandles;
101
- }
102
- function measureElements() {
103
- return (dispatch, getState) => {
104
- const measurables = getMeasurables(getState());
105
- const currentBoxModels = getBoxModels(getState());
106
- const measuredBoxModels = /* @__PURE__ */ new Map();
107
- measurables.forEach((documentMeasurables, documentKey) => {
108
- const measuredDocumentBoxModels = /* @__PURE__ */ new Map();
109
- documentMeasurables.forEach((measurable, elementKey) => {
110
- const boxModel = BoxModels.measure(measurable);
111
- if (boxModel != null)
112
- measuredDocumentBoxModels.set(elementKey, boxModel);
113
- });
114
- if (measuredDocumentBoxModels.size > 0) {
115
- measuredBoxModels.set(documentKey, measuredDocumentBoxModels);
116
- }
117
- });
118
- const changedBoxModels = /* @__PURE__ */ new Map();
119
- currentBoxModels.forEach((currentDocumentBoxModels, documentKey) => {
120
- const changedDocumentBoxModels = /* @__PURE__ */ new Map();
121
- currentDocumentBoxModels.forEach((_boxModel, elementKey) => {
122
- if (!measuredBoxModels.get(documentKey)?.has(elementKey)) {
123
- changedDocumentBoxModels.set(elementKey, null);
124
- }
125
- if (changedDocumentBoxModels.size > 0) {
126
- changedBoxModels.set(documentKey, changedDocumentBoxModels);
127
- }
128
- });
129
- });
130
- measuredBoxModels.forEach((measuredDocumentBoxModels, documentKey) => {
131
- const changedDocumentBoxModels = /* @__PURE__ */ new Map();
132
- measuredDocumentBoxModels.forEach((measuredBoxModel, elementKey) => {
133
- const currentBoxModel = getBoxModel(getState(), documentKey, elementKey);
134
- if (currentBoxModel == null || !deepEqual(currentBoxModel, measuredBoxModel)) {
135
- changedDocumentBoxModels.set(elementKey, measuredBoxModel);
136
- }
137
- });
138
- if (changedDocumentBoxModels.size > 0) {
139
- changedBoxModels.set(documentKey, changedDocumentBoxModels);
140
- }
141
- });
142
- if (changedBoxModels.size > 0)
143
- dispatch(Builder.changeElementBoxModels(changedBoxModels));
144
- };
145
- }
146
- function startMeasuringElements() {
147
- return (dispatch) => {
148
- let animationFrameHandle = requestAnimationFrame(handleAnimationFrameRequest);
149
- return () => {
150
- cancelAnimationFrame(animationFrameHandle);
151
- };
152
- function handleAnimationFrameRequest() {
153
- dispatch(measureElements());
154
- animationFrameHandle = requestAnimationFrame(handleAnimationFrameRequest);
155
- }
156
- };
157
- }
158
- function getElementSize(element) {
159
- return {
160
- offsetWidth: element.offsetWidth,
161
- offsetHeight: element.offsetHeight,
162
- clientWidth: element.clientWidth,
163
- clientHeight: element.clientHeight,
164
- scrollWidth: element.scrollWidth,
165
- scrollHeight: element.scrollHeight,
166
- scrollTop: element.scrollTop,
167
- scrollLeft: element.scrollLeft
168
- };
169
- }
170
- function lockDocumentScroll() {
171
- return (dispatch) => {
172
- const lastDocumentOverflow = window.document.documentElement.style.overflow;
173
- window.document.documentElement.style.overflow = "hidden";
174
- window.document.documentElement.addEventListener("wheel", handleWheelEvent);
175
- return () => {
176
- window.document.documentElement.style.overflow = lastDocumentOverflow;
177
- window.document.documentElement.removeEventListener("wheel", handleWheelEvent);
178
- };
179
- function handleWheelEvent({ deltaX, deltaY }) {
180
- dispatch(Builder.handleWheel({ deltaX, deltaY }));
181
- }
182
- };
183
- }
184
- function startHandlingPointerMoveEvent() {
185
- return (dispatch) => {
186
- window.document.documentElement.addEventListener("pointermove", handlePointerMoveEvent);
187
- return () => {
188
- window.document.documentElement.removeEventListener("pointermove", handlePointerMoveEvent);
189
- };
190
- function handlePointerMoveEvent({ clientX, clientY }) {
191
- dispatch(Builder.handlePointerMove({ clientX, clientY }));
192
- }
193
- };
194
- }
195
- function startHandlingFocusEvents() {
196
- return (_dispatch, getState) => {
197
- window.addEventListener("focusin", handleFocusIn);
198
- window.addEventListener("focusout", handleFocusOut);
199
- return () => {
200
- window.removeEventListener("focusin", handleFocusIn);
201
- window.removeEventListener("focusout", handleFocusOut);
202
- };
203
- function handleFocusIn(event) {
204
- if (ReactPage.getBuilderEditMode(getState()) === BuilderEditMode.BuilderEditMode.INTERACT) {
205
- return;
206
- }
207
- if (!(event.target instanceof window.HTMLElement) || !event.target.isContentEditable) {
208
- window.parent.focus();
209
- }
210
- }
211
- function handleFocusOut(event) {
212
- if (ReactPage.getBuilderEditMode(getState()) === BuilderEditMode.BuilderEditMode.INTERACT) {
213
- return;
214
- }
215
- if (!(event.relatedTarget instanceof window.HTMLElement) || !event.relatedTarget.isContentEditable) {
216
- window.parent.focus();
217
- }
218
- }
219
- };
220
- }
221
- function startMeasuringDocumentElement() {
222
- return (dispatch) => {
223
- let animationFrameHandle = requestAnimationFrame(handleAnimationFrameRequest);
224
- let lastSize;
225
- return () => {
226
- cancelAnimationFrame(animationFrameHandle);
227
- };
228
- function handleAnimationFrameRequest() {
229
- const nextSize = getElementSize(window.document.documentElement);
230
- if (!deepEqual(lastSize, nextSize)) {
231
- lastSize = nextSize;
232
- dispatch(Builder.changeDocumentElementSize(nextSize));
233
- }
234
- animationFrameHandle = requestAnimationFrame(handleAnimationFrameRequest);
235
- }
236
- };
237
- }
238
- function elementKeysFromElementFromPoint(elementFromPoint) {
239
- return (_dispatch, getState) => {
240
- if (elementFromPoint == null)
241
- return null;
242
- const elementImperativeHandles = getElementImperativeHandlesContainingElement(
243
- getState(),
244
- elementFromPoint
245
- );
246
- const ascendingDepthDocumentKeys = ReactPage.getDocumentKeysSortedByDepth(getState());
247
- const descendingDepthDocumentKeys = ascendingDepthDocumentKeys.slice().reverse();
248
- let currentElement = elementFromPoint;
249
- let keys = null;
250
- while (currentElement != null) {
251
- for (const documentKey of descendingDepthDocumentKeys) {
252
- const byElementKey = elementImperativeHandles.get(documentKey);
253
- if (byElementKey == null)
254
- continue;
255
- for (const [elementKey, elementImperativeHandle] of byElementKey) {
256
- if (elementImperativeHandle.getDomNode() === currentElement) {
257
- return { documentKey, elementKey };
258
- }
259
- }
260
- }
261
- currentElement = currentElement.parentElement;
262
- }
263
- return keys;
264
- };
265
- }
266
- function startPollingElementFromPoint() {
267
- return (dispatch, getState) => {
268
- let lastElementFromPoint = null;
269
- let animationFrameRequestId = requestAnimationFrame(handleAnimationFrameRequest);
270
- return () => {
271
- cancelAnimationFrame(animationFrameRequestId);
272
- };
273
- function handleAnimationFrameRequest() {
274
- const pointer = getPointer(getState());
275
- const elementFromPoint = pointer == null ? null : document.elementFromPoint(pointer.x, pointer.y);
276
- if (elementFromPoint !== lastElementFromPoint) {
277
- lastElementFromPoint = elementFromPoint;
278
- const keys = dispatch(elementKeysFromElementFromPoint(elementFromPoint));
279
- dispatch(Builder.elementFromPointChange(keys));
280
- }
281
- animationFrameRequestId = requestAnimationFrame(handleAnimationFrameRequest);
282
- }
283
- };
284
- }
285
- function registerBuilderComponents() {
286
- return (dispatch, getState) => {
287
- const state = getState();
288
- const componentsMeta = getComponentsMeta(state);
289
- componentsMeta.forEach((meta, type) => {
290
- const descriptors = getComponentPropControllerDescriptors(state, type);
291
- if (descriptors != null) {
292
- const [serializedControls, transferables] = serializeControls(descriptors);
293
- dispatch(
294
- Builder.registerBuilderComponent({ type, meta, serializedControls }, transferables)
295
- );
296
- }
297
- });
298
- return () => {
299
- componentsMeta.forEach((_, type) => {
300
- dispatch(Builder.unregisterBuilderComponent({ type }));
301
- });
302
- };
303
- };
304
- }
305
- function registerBuilderDocuments() {
306
- return (dispatch, getState) => {
307
- const documents = Documents.getDocuments(getDocumentsStateSlice(getState()));
308
- documents.forEach((document2) => {
309
- dispatch(Builder.registerBuilderDocument(document2));
310
- });
311
- return () => {
312
- documents.forEach((_document, documentKey) => {
313
- dispatch(Builder.unregisterBuilderDocument(documentKey));
314
- });
315
- };
316
- };
317
- }
318
- function initialize(builderProxy) {
319
- return (dispatch, getState) => {
320
- const unregisterBuilderDocuments = dispatch(registerBuilderDocuments());
321
- const stopMeasuringElements = dispatch(startMeasuringElements());
322
- const stopMeasuringDocumentElement = dispatch(startMeasuringDocumentElement());
323
- const stopHandlingFocusEvent = dispatch(startHandlingFocusEvents());
324
- const unlockDocumentScroll = dispatch(lockDocumentScroll());
325
- const stopHandlingPointerMoveEvent = dispatch(startHandlingPointerMoveEvent());
326
- const stopPollingElementFromPoint = dispatch(startPollingElementFromPoint());
327
- const unregisterBuilderComponents = dispatch(registerBuilderComponents());
328
- const breakpoints = ReactPage.getBreakpoints(getState());
329
- dispatch(Shared.setBreakpoints(breakpoints));
330
- dispatch(Internal.setIsInBuilder(true));
331
- builderProxy.dispatchBuffered();
332
- return () => {
333
- unregisterBuilderDocuments();
334
- stopMeasuringElements();
335
- stopMeasuringDocumentElement();
336
- stopHandlingFocusEvent();
337
- unlockDocumentScroll();
338
- stopHandlingPointerMoveEvent();
339
- stopPollingElementFromPoint();
340
- unregisterBuilderComponents();
341
- dispatch(Internal.setIsInBuilder(false));
342
- };
343
- };
344
- }
345
- function measureBoxModelsMiddleware() {
346
- return actionMiddleware(({ dispatch }) => (next) => {
347
- return (action) => {
348
- switch (action.type) {
349
- case InternalActionTypes.REGISTER_COMPONENT_HANDLE: {
350
- if (BoxModels.isMeasurable(action.payload.componentHandle)) {
351
- dispatch(
352
- Internal.registerMeasurable(
353
- action.payload.documentKey,
354
- action.payload.elementKey,
355
- action.payload.componentHandle
356
- )
357
- );
358
- }
359
- break;
360
- }
361
- case InternalActionTypes.UNREGISTER_COMPONENT_HANDLE:
362
- dispatch(
363
- Internal.unregisterMeasurable(action.payload.documentKey, action.payload.elementKey)
364
- );
365
- break;
366
- }
367
- return next(action);
368
- };
369
- });
370
- }
371
- function builderAPIMiddleware(builderProxy) {
372
- return actionMiddleware(({ dispatch }) => (next) => {
373
- if (typeof window === "undefined")
374
- return (action) => next(action);
375
- let cleanUp = () => {
376
- };
377
- return (action) => {
378
- switch (action.type) {
379
- case BuilderActionTypes.CHANGE_ELEMENT_BOX_MODELS:
380
- case BuilderActionTypes.MOUNT_COMPONENT:
381
- case BuilderActionTypes.UNMOUNT_COMPONENT:
382
- case BuilderActionTypes.CHANGE_DOCUMENT_ELEMENT_SIZE:
383
- case BuilderActionTypes.MESSAGE_BUILDER_PROP_CONTROLLER:
384
- case BuilderActionTypes.HANDLE_WHEEL:
385
- case BuilderActionTypes.HANDLE_POINTER_MOVE:
386
- case BuilderActionTypes.ELEMENT_FROM_POINT_CHANGE:
387
- case BuilderActionTypes.SET_LOCALE:
388
- case BuilderActionTypes.SET_BREAKPOINTS:
389
- case BuilderActionTypes.REGISTER_BUILDER_DOCUMENT:
390
- case BuilderActionTypes.UNREGISTER_BUILDER_DOCUMENT:
391
- case BuilderActionTypes.REGISTER_BUILDER_COMPONENT:
392
- case BuilderActionTypes.UNREGISTER_BUILDER_COMPONENT:
393
- builderProxy.execute(action);
394
- break;
395
- case HostActionTypes.CHANGE_DOCUMENT_ELEMENT_SCROLL_TOP:
396
- window.document.documentElement.scrollTop = action.payload.scrollTop;
397
- break;
398
- case HostActionTypes.SCROLL_DOCUMENT_ELEMENT:
399
- window.document.documentElement.scrollTop += action.payload.scrollTopDelta;
400
- break;
401
- case HostActionTypes.SET_BUILDER_EDIT_MODE:
402
- window.getSelection()?.removeAllRanges();
403
- break;
404
- case HostActionTypes.INIT:
405
- cleanUp = dispatch(initialize(builderProxy));
406
- break;
407
- case HostActionTypes.CLEAN_UP:
408
- cleanUp();
409
- break;
410
- }
411
- return next(action);
412
- };
413
- });
414
- }
415
- function createAndRegisterPropControllers(documentKey, elementKey) {
416
- return (dispatch, getState) => {
417
- const descriptors = ReactPage.getElementPropControllerDescriptors(
418
- getState(),
419
- documentKey,
420
- elementKey
421
- );
422
- if (descriptors == null)
423
- return null;
424
- const propControllers = Object.entries(descriptors).reduce(
425
- (acc, [propName, descriptor]) => {
426
- const propController = createPropController(
427
- descriptor,
428
- (message) => dispatch(
429
- Builder.messageBuilderPropController(documentKey, elementKey, propName, message)
430
- )
431
- );
432
- return { ...acc, [propName]: propController };
433
- },
434
- {}
435
- );
436
- dispatch(Internal.registerPropControllers(documentKey, elementKey, propControllers));
437
- return propControllers;
438
- };
439
- }
440
- function propControllerHandlesMiddleware() {
441
- return actionMiddleware(({ dispatch, getState }) => (next) => {
442
- return (action) => {
443
- switch (action.type) {
444
- case InternalActionTypes.REGISTER_COMPONENT_HANDLE: {
445
- const { documentKey, elementKey, componentHandle } = action.payload;
446
- const element = ReactPage.getElement(getState(), documentKey, elementKey);
447
- const propControllers = dispatch(
448
- createAndRegisterPropControllers(documentKey, elementKey)
449
- );
450
- if (element != null && !ReactPage.isElementReference(element) && PropControllerHandles.isPropControllersHandle(componentHandle)) {
451
- dispatch(
452
- Internal.registerPropControllersHandle(documentKey, elementKey, componentHandle)
453
- );
454
- componentHandle.setPropControllers(propControllers);
455
- }
456
- break;
457
- }
458
- case InternalActionTypes.UNREGISTER_COMPONENT_HANDLE: {
459
- const { documentKey, elementKey } = action.payload;
460
- const handle = PropControllerHandles.getPropControllersHandle(
461
- getPropControllerHandlesStateSlice(getState()),
462
- documentKey,
463
- elementKey
464
- );
465
- handle?.setPropControllers(null);
466
- dispatch(Internal.unregisterPropControllers(documentKey, elementKey));
467
- break;
468
- }
469
- case HostActionTypes.MESSAGE_HOST_PROP_CONTROLLER: {
470
- const propController = PropControllerHandles.getPropController(
471
- getPropControllerHandlesStateSlice(getState()),
472
- action.payload.documentKey,
473
- action.payload.elementKey,
474
- action.payload.propName
475
- );
476
- if (propController)
477
- propController.recv(action.payload.message);
478
- }
479
- }
480
- return next(action);
481
- };
482
- });
483
- }
484
- function makeswiftApiClientSyncMiddleware(client) {
485
- return actionMiddleware(() => (next) => {
486
- return (action) => {
487
- client.makeswiftApiClient.dispatch(action);
488
- return next(action);
489
- };
490
- });
491
- }
6
+ import { createRootReducer } from "./read-write-state";
7
+ import * as IsReadOnly from "./modules/is-read-only";
8
+ import { propControllerHandlesMiddleware } from "./middleware/prop-controller-handles";
9
+ import { readOnlyElementTreeMiddleware } from "./middleware/read-only-element-tree";
10
+ import { updateElementTreeMiddleware } from "./middleware/read-write/update-element-tree";
11
+ import { measureBoxModelsMiddleware } from "./middleware/read-write/measure-box-models";
12
+ import { builderAPIMiddleware } from "./middleware/read-write/builder-api";
13
+ import { makeswiftApiClientSyncMiddleware } from "./middleware/read-write/makeswift-api-client-sync";
492
14
  function setupBuilderProxy(builderProxy) {
493
15
  return (dispatch) => {
494
16
  builderProxy.setup({ onHostAction: (action) => dispatch(action) });
@@ -501,13 +23,14 @@ function configureStore({
501
23
  }) {
502
24
  const initialState = {
503
25
  ...preloadedState,
504
- isPreview: IsPreview.getInitialState(true)
26
+ isReadOnly: IsReadOnly.getInitialState(false)
505
27
  };
506
28
  const store = configureReduxStore({
507
- reducer,
29
+ reducer: createRootReducer(),
508
30
  preloadedState: initialState,
509
31
  middleware: (getDefaultMiddleware) => getDefaultMiddleware(middlewareOptions).concat(
510
- ReactPage.elementTreeMiddleware(),
32
+ readOnlyElementTreeMiddleware(),
33
+ updateElementTreeMiddleware(),
511
34
  measureBoxModelsMiddleware(),
512
35
  builderAPIMiddleware(builderProxy),
513
36
  propControllerHandlesMiddleware(),
@@ -534,14 +57,6 @@ function configureStore({
534
57
  return store;
535
58
  }
536
59
  export {
537
- builderAPIMiddleware,
538
- configureStore,
539
- createBox,
540
- getBox,
541
- initialize,
542
- parse,
543
- propControllerHandlesMiddleware,
544
- reducer,
545
- startMeasuringElements
60
+ configureStore
546
61
  };
547
62
  //# sourceMappingURL=react-builder-preview.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/state/react-builder-preview.ts"],"sourcesContent":["import {\n configureStore as configureReduxStore,\n combineReducers,\n type Middleware,\n type ThunkAction,\n type ThunkDispatch,\n} from '@reduxjs/toolkit'\n\nimport { ControlInstance } from '@makeswift/controls'\n\nimport deepEqual from '../utils/deepEqual'\n\nimport * as Documents from './modules/read-write-documents'\nimport * as ElementTrees from './modules/element-trees'\nimport * as ReactComponents from './modules/react-components'\nimport * as BoxModels from './modules/box-models'\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 Pointer from './modules/pointer'\nimport * as ElementImperativeHandles from './modules/element-imperative-handles'\nimport * as Breakpoints from './modules/breakpoints'\n\nimport { withSetupTeardown } from './mixins/setup-teardown'\n\nimport * as ReactPage from './react-page'\nimport { type Action } from './actions'\n\nimport * as Shared from './shared-api'\n\nimport { BuilderActionTypes } from './builder-api/actions'\nimport * as Builder from './builder-api/actions'\n\nimport { InternalActionTypes } from './actions/internal'\nimport * as Internal from './actions/internal'\n\nimport { actionMiddleware, middlewareOptions, devToolsConfig } from './toolkit'\n\nimport { createPropController } from '../prop-controllers/instances'\nimport { serializeControls } from '../builder'\nimport { MakeswiftHostApiClient } from '../api/react'\nimport { ElementImperativeHandle } from '../runtimes/react/element-imperative-handle'\nimport { type BuilderAPIProxy } from './builder-api/proxy'\nimport { HostActionTypes } from './host-api'\n\nexport type { Operation } from './modules/read-write-documents'\nexport type { BoxModelHandle } from './modules/box-models'\nexport { createBox, getBox, parse } from './modules/box-models'\n\nexport const reducer = combineReducers({\n documents: Documents.reducer,\n elementTrees: ElementTrees.reducer,\n reactComponents: ReactComponents.reducer,\n boxModels: BoxModels.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 pointer: Pointer.reducer,\n elementImperativeHandles: ElementImperativeHandles.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\nfunction getBoxModelsStateSlice(state: State): BoxModels.State {\n return state.boxModels\n}\n\nfunction getMeasurables(state: State): Map<string, Map<string, BoxModels.Measurable>> {\n return BoxModels.getMeasurables(getBoxModelsStateSlice(state))\n}\n\nfunction getBoxModels(state: State): Map<string, Map<string, BoxModels.BoxModel>> {\n return BoxModels.getBoxModels(getBoxModelsStateSlice(state))\n}\n\nfunction getBoxModel(\n state: State,\n documentKey: string,\n elementKey: string,\n): BoxModels.BoxModel | null {\n return BoxModels.getBoxModel(getBoxModelsStateSlice(state), documentKey, elementKey)\n}\n\nfunction getComponentsMetaStateSlice(state: State): ComponentsMeta.State {\n return state.componentsMeta\n}\n\nfunction getComponentsMeta(state: State): Map<string, ComponentsMeta.ComponentMeta> {\n return ComponentsMeta.getComponentsMeta(getComponentsMetaStateSlice(state))\n}\n\nfunction getPropControllersStateSlice(state: State): PropControllers.State {\n return state.propControllers\n}\n\nfunction getComponentPropControllerDescriptors(\n state: State,\n componentType: string,\n): Record<string, PropControllers.PropControllerDescriptor> | 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\nfunction getPointer(state: State): Pointer.Point | null {\n return Pointer.getPointer(state.pointer)\n}\n\nfunction getElementImperativeHandles(\n state: State,\n): Map<string, Map<string, ElementImperativeHandle>> {\n return ElementImperativeHandles.getElementImperativeHandles(state.elementImperativeHandles)\n}\n\nfunction 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\nfunction measureElements(): ThunkAction<void, State, unknown, Action> {\n return (dispatch, getState) => {\n const measurables = getMeasurables(getState())\n const currentBoxModels = getBoxModels(getState())\n const measuredBoxModels = new Map<string, Map<string, BoxModels.BoxModel>>()\n\n measurables.forEach((documentMeasurables, documentKey) => {\n const measuredDocumentBoxModels = new Map<string, BoxModels.BoxModel>()\n\n documentMeasurables.forEach((measurable, elementKey) => {\n const boxModel = BoxModels.measure(measurable)\n\n if (boxModel != null) measuredDocumentBoxModels.set(elementKey, boxModel)\n })\n\n if (measuredDocumentBoxModels.size > 0) {\n measuredBoxModels.set(documentKey, measuredDocumentBoxModels)\n }\n })\n\n const changedBoxModels = new Map<string, Map<string, BoxModels.BoxModel | null>>()\n\n currentBoxModels.forEach((currentDocumentBoxModels, documentKey) => {\n const changedDocumentBoxModels = new Map<string, BoxModels.BoxModel | null>()\n\n currentDocumentBoxModels.forEach((_boxModel, elementKey) => {\n if (!measuredBoxModels.get(documentKey)?.has(elementKey)) {\n changedDocumentBoxModels.set(elementKey, null)\n }\n\n if (changedDocumentBoxModels.size > 0) {\n changedBoxModels.set(documentKey, changedDocumentBoxModels)\n }\n })\n })\n\n measuredBoxModels.forEach((measuredDocumentBoxModels, documentKey) => {\n const changedDocumentBoxModels = new Map<string, BoxModels.BoxModel | null>()\n\n measuredDocumentBoxModels.forEach((measuredBoxModel, elementKey) => {\n const currentBoxModel = getBoxModel(getState(), documentKey, elementKey)\n\n if (currentBoxModel == null || !deepEqual(currentBoxModel, measuredBoxModel)) {\n changedDocumentBoxModels.set(elementKey, measuredBoxModel)\n }\n })\n\n if (changedDocumentBoxModels.size > 0) {\n changedBoxModels.set(documentKey, changedDocumentBoxModels)\n }\n })\n\n if (changedBoxModels.size > 0) dispatch(Builder.changeElementBoxModels(changedBoxModels))\n }\n}\n\nexport function startMeasuringElements(): ThunkAction<() => void, State, unknown, Action> {\n return dispatch => {\n let animationFrameHandle = requestAnimationFrame(handleAnimationFrameRequest)\n\n return () => {\n cancelAnimationFrame(animationFrameHandle)\n }\n\n function handleAnimationFrameRequest() {\n dispatch(measureElements())\n\n animationFrameHandle = requestAnimationFrame(handleAnimationFrameRequest)\n }\n }\n}\n\nexport type Size = {\n offsetWidth: number\n offsetHeight: number\n clientWidth: number\n clientHeight: number\n scrollWidth: number\n scrollHeight: number\n scrollTop: number\n scrollLeft: number\n}\n\nfunction getElementSize(element: HTMLElement): Size {\n return {\n offsetWidth: element.offsetWidth,\n offsetHeight: element.offsetHeight,\n clientWidth: element.clientWidth,\n clientHeight: element.clientHeight,\n scrollWidth: element.scrollWidth,\n scrollHeight: element.scrollHeight,\n scrollTop: element.scrollTop,\n scrollLeft: element.scrollLeft,\n }\n}\n\nfunction lockDocumentScroll(): ThunkAction<() => void, State, unknown, Action> {\n return dispatch => {\n const lastDocumentOverflow = window.document.documentElement.style.overflow\n window.document.documentElement.style.overflow = 'hidden'\n\n window.document.documentElement.addEventListener('wheel', handleWheelEvent)\n\n return () => {\n window.document.documentElement.style.overflow = lastDocumentOverflow\n window.document.documentElement.removeEventListener('wheel', handleWheelEvent)\n }\n\n function handleWheelEvent({ deltaX, deltaY }: WheelEvent) {\n dispatch(Builder.handleWheel({ deltaX, deltaY }))\n }\n }\n}\n\nfunction startHandlingPointerMoveEvent(): ThunkAction<() => void, State, unknown, Action> {\n return dispatch => {\n window.document.documentElement.addEventListener('pointermove', handlePointerMoveEvent)\n\n return () => {\n window.document.documentElement.removeEventListener('pointermove', handlePointerMoveEvent)\n }\n\n function handlePointerMoveEvent({ clientX, clientY }: PointerEvent) {\n dispatch(Builder.handlePointerMove({ clientX, clientY }))\n }\n }\n}\n\nfunction startHandlingFocusEvents(): ThunkAction<() => void, State, unknown, Action> {\n return (_dispatch, getState) => {\n window.addEventListener('focusin', handleFocusIn)\n window.addEventListener('focusout', handleFocusOut)\n\n return () => {\n window.removeEventListener('focusin', handleFocusIn)\n window.removeEventListener('focusout', handleFocusOut)\n }\n\n function handleFocusIn(event: FocusEvent) {\n if (ReactPage.getBuilderEditMode(getState()) === BuilderEditMode.BuilderEditMode.INTERACT) {\n return\n }\n\n if (!(event.target instanceof window.HTMLElement) || !event.target.isContentEditable) {\n window.parent.focus()\n }\n }\n\n function handleFocusOut(event: FocusEvent) {\n if (ReactPage.getBuilderEditMode(getState()) === BuilderEditMode.BuilderEditMode.INTERACT) {\n return\n }\n\n if (\n !(event.relatedTarget instanceof window.HTMLElement) ||\n !event.relatedTarget.isContentEditable\n ) {\n window.parent.focus()\n }\n }\n }\n}\n\nfunction startMeasuringDocumentElement(): ThunkAction<() => void, unknown, unknown, Action> {\n return dispatch => {\n let animationFrameHandle = requestAnimationFrame(handleAnimationFrameRequest)\n let lastSize: Size\n\n return () => {\n cancelAnimationFrame(animationFrameHandle)\n }\n\n function handleAnimationFrameRequest() {\n const nextSize = getElementSize(window.document.documentElement)\n\n if (!deepEqual(lastSize, nextSize)) {\n lastSize = nextSize\n\n dispatch(Builder.changeDocumentElementSize(nextSize))\n }\n\n animationFrameHandle = requestAnimationFrame(handleAnimationFrameRequest)\n }\n }\n}\n\nfunction elementKeysFromElementFromPoint(\n elementFromPoint: Element | null,\n): ThunkAction<{ documentKey: string; elementKey: string } | null, State, unknown, Action> {\n return (_dispatch, getState) => {\n if (elementFromPoint == null) return null\n\n const elementImperativeHandles = getElementImperativeHandlesContainingElement(\n getState(),\n elementFromPoint,\n )\n const ascendingDepthDocumentKeys = ReactPage.getDocumentKeysSortedByDepth(getState())\n const descendingDepthDocumentKeys = ascendingDepthDocumentKeys.slice().reverse()\n\n let currentElement: Element | null = elementFromPoint\n let keys = null\n\n while (currentElement != null) {\n for (const documentKey of descendingDepthDocumentKeys) {\n const byElementKey = elementImperativeHandles.get(documentKey)\n\n if (byElementKey == null) continue\n\n for (const [elementKey, elementImperativeHandle] of byElementKey) {\n if (elementImperativeHandle.getDomNode() === currentElement) {\n return { documentKey, elementKey }\n }\n }\n }\n\n currentElement = currentElement.parentElement\n }\n\n return keys\n }\n}\n\nfunction startPollingElementFromPoint(): ThunkAction<() => void, State, unknown, Action> {\n return (dispatch, getState) => {\n let lastElementFromPoint: Element | null = null\n let animationFrameRequestId = requestAnimationFrame(handleAnimationFrameRequest)\n\n return () => {\n cancelAnimationFrame(animationFrameRequestId)\n }\n\n function handleAnimationFrameRequest() {\n const pointer = getPointer(getState())\n const elementFromPoint =\n pointer == null ? null : document.elementFromPoint(pointer.x, pointer.y)\n\n if (elementFromPoint !== lastElementFromPoint) {\n lastElementFromPoint = elementFromPoint\n\n const keys = dispatch(elementKeysFromElementFromPoint(elementFromPoint))\n\n dispatch(Builder.elementFromPointChange(keys))\n }\n\n animationFrameRequestId = requestAnimationFrame(handleAnimationFrameRequest)\n }\n }\n}\n\nfunction registerBuilderComponents(): ThunkAction<() => void, State, unknown, Action> {\n return (dispatch, getState) => {\n const state = getState()\n const componentsMeta = getComponentsMeta(state)\n\n componentsMeta.forEach((meta, type) => {\n const descriptors = getComponentPropControllerDescriptors(state, type)\n if (descriptors != null) {\n const [serializedControls, transferables] = serializeControls(descriptors)\n dispatch(\n Builder.registerBuilderComponent({ type, meta, serializedControls }, transferables),\n )\n }\n })\n\n return () => {\n componentsMeta.forEach((_, type) => {\n dispatch(Builder.unregisterBuilderComponent({ type }))\n })\n }\n }\n}\n\nfunction registerBuilderDocuments(): ThunkAction<() => void, State, unknown, Action> {\n return (dispatch, getState) => {\n const documents = Documents.getDocuments(getDocumentsStateSlice(getState()))\n\n documents.forEach(document => {\n dispatch(Builder.registerBuilderDocument(document))\n })\n\n return () => {\n documents.forEach((_document, documentKey) => {\n dispatch(Builder.unregisterBuilderDocument(documentKey))\n })\n }\n }\n}\n\nexport function initialize(\n builderProxy: BuilderAPIProxy,\n): ThunkAction<() => void, State, unknown, Action> {\n return (dispatch, getState) => {\n const unregisterBuilderDocuments = dispatch(registerBuilderDocuments())\n const stopMeasuringElements = dispatch(startMeasuringElements())\n const stopMeasuringDocumentElement = dispatch(startMeasuringDocumentElement())\n const stopHandlingFocusEvent = dispatch(startHandlingFocusEvents())\n const unlockDocumentScroll = dispatch(lockDocumentScroll())\n const stopHandlingPointerMoveEvent = dispatch(startHandlingPointerMoveEvent())\n const stopPollingElementFromPoint = dispatch(startPollingElementFromPoint())\n const unregisterBuilderComponents = dispatch(registerBuilderComponents())\n\n const breakpoints = ReactPage.getBreakpoints(getState())\n dispatch(Shared.setBreakpoints(breakpoints))\n dispatch(Internal.setIsInBuilder(true))\n builderProxy.dispatchBuffered()\n\n return () => {\n unregisterBuilderDocuments()\n stopMeasuringElements()\n stopMeasuringDocumentElement()\n stopHandlingFocusEvent()\n unlockDocumentScroll()\n stopHandlingPointerMoveEvent()\n stopPollingElementFromPoint()\n unregisterBuilderComponents()\n dispatch(Internal.setIsInBuilder(false))\n }\n }\n}\n\nfunction measureBoxModelsMiddleware(): Middleware<Dispatch, State, Dispatch> {\n return actionMiddleware(({ dispatch }) => next => {\n return (action: Action) => {\n switch (action.type) {\n case InternalActionTypes.REGISTER_COMPONENT_HANDLE: {\n if (BoxModels.isMeasurable(action.payload.componentHandle)) {\n dispatch(\n Internal.registerMeasurable(\n action.payload.documentKey,\n action.payload.elementKey,\n action.payload.componentHandle,\n ),\n )\n }\n\n break\n }\n\n case InternalActionTypes.UNREGISTER_COMPONENT_HANDLE:\n dispatch(\n Internal.unregisterMeasurable(action.payload.documentKey, action.payload.elementKey),\n )\n break\n }\n\n return next(action)\n }\n })\n}\n\nexport function builderAPIMiddleware(\n builderProxy: BuilderAPIProxy,\n): Middleware<Dispatch, State, Dispatch> {\n return actionMiddleware(({ dispatch }) => next => {\n if (typeof window === 'undefined') return (action: Action) => next(action)\n\n let cleanUp = () => {}\n return (action: Action) => {\n switch (action.type) {\n case BuilderActionTypes.CHANGE_ELEMENT_BOX_MODELS:\n case BuilderActionTypes.MOUNT_COMPONENT:\n case BuilderActionTypes.UNMOUNT_COMPONENT:\n case BuilderActionTypes.CHANGE_DOCUMENT_ELEMENT_SIZE:\n case BuilderActionTypes.MESSAGE_BUILDER_PROP_CONTROLLER:\n case BuilderActionTypes.HANDLE_WHEEL:\n case BuilderActionTypes.HANDLE_POINTER_MOVE:\n case BuilderActionTypes.ELEMENT_FROM_POINT_CHANGE:\n case BuilderActionTypes.SET_LOCALE:\n case BuilderActionTypes.SET_BREAKPOINTS:\n case BuilderActionTypes.REGISTER_BUILDER_DOCUMENT:\n case BuilderActionTypes.UNREGISTER_BUILDER_DOCUMENT:\n case BuilderActionTypes.REGISTER_BUILDER_COMPONENT:\n case BuilderActionTypes.UNREGISTER_BUILDER_COMPONENT:\n builderProxy.execute(action)\n break\n\n case HostActionTypes.CHANGE_DOCUMENT_ELEMENT_SCROLL_TOP:\n window.document.documentElement.scrollTop = action.payload.scrollTop\n break\n\n case HostActionTypes.SCROLL_DOCUMENT_ELEMENT:\n window.document.documentElement.scrollTop += action.payload.scrollTopDelta\n break\n\n case HostActionTypes.SET_BUILDER_EDIT_MODE:\n window.getSelection()?.removeAllRanges()\n break\n\n case HostActionTypes.INIT:\n // dispatched by the parent window after establishing the connection\n cleanUp = dispatch(initialize(builderProxy))\n break\n\n case HostActionTypes.CLEAN_UP:\n // dispatched by the parent window on disconnect\n cleanUp()\n break\n }\n\n return next(action)\n }\n })\n}\n\nfunction createAndRegisterPropControllers(\n documentKey: string,\n elementKey: string,\n): ThunkAction<Record<string, ControlInstance> | null, State, unknown, Action> {\n return (dispatch, getState) => {\n const descriptors = ReactPage.getElementPropControllerDescriptors(\n getState(),\n documentKey,\n elementKey,\n )\n\n if (descriptors == null) return null\n\n const propControllers = Object.entries(descriptors).reduce(\n (acc, [propName, descriptor]) => {\n const propController = createPropController(descriptor, message =>\n dispatch(\n Builder.messageBuilderPropController(documentKey, elementKey, propName, message),\n ),\n ) as ControlInstance\n\n return { ...acc, [propName]: propController }\n },\n {} as Record<string, ControlInstance>,\n )\n\n dispatch(Internal.registerPropControllers(documentKey, elementKey, propControllers))\n\n return propControllers\n }\n}\n\nexport function propControllerHandlesMiddleware(): Middleware<Dispatch, State, Dispatch> {\n return actionMiddleware(({ dispatch, getState }) => next => {\n return (action: Action) => {\n switch (action.type) {\n case InternalActionTypes.REGISTER_COMPONENT_HANDLE: {\n const { documentKey, elementKey, componentHandle } = action.payload\n const element = ReactPage.getElement(getState(), documentKey, elementKey)\n const propControllers = dispatch(\n createAndRegisterPropControllers(documentKey, elementKey),\n )\n\n if (\n element != null &&\n !ReactPage.isElementReference(element) &&\n PropControllerHandles.isPropControllersHandle(componentHandle)\n ) {\n dispatch(\n Internal.registerPropControllersHandle(documentKey, elementKey, componentHandle),\n )\n componentHandle.setPropControllers(propControllers)\n }\n\n break\n }\n\n case InternalActionTypes.UNREGISTER_COMPONENT_HANDLE: {\n const { documentKey, elementKey } = action.payload\n const handle = PropControllerHandles.getPropControllersHandle(\n getPropControllerHandlesStateSlice(getState()),\n documentKey,\n elementKey,\n )\n\n handle?.setPropControllers(null)\n\n dispatch(Internal.unregisterPropControllers(documentKey, elementKey))\n\n break\n }\n\n case HostActionTypes.MESSAGE_HOST_PROP_CONTROLLER: {\n const propController = PropControllerHandles.getPropController(\n getPropControllerHandlesStateSlice(getState()),\n action.payload.documentKey,\n action.payload.elementKey,\n action.payload.propName,\n )\n\n if (propController) propController.recv(action.payload.message)\n }\n }\n\n return next(action)\n }\n })\n}\n\nfunction makeswiftApiClientSyncMiddleware(\n client: MakeswiftHostApiClient,\n): Middleware<Dispatch, State, Dispatch> {\n return actionMiddleware(() => next => {\n return (action: Action) => {\n client.makeswiftApiClient.dispatch(action)\n\n return next(action)\n }\n })\n}\n\nfunction setupBuilderProxy(\n builderProxy: BuilderAPIProxy,\n): ThunkAction<void, State, unknown, Action> {\n return dispatch => {\n builderProxy.setup({ onHostAction: action => dispatch(action) })\n }\n}\n\nexport function configureStore({\n preloadedState,\n client,\n builderProxy,\n}: {\n preloadedState: Partial<State>\n client: MakeswiftHostApiClient\n builderProxy: BuilderAPIProxy\n}) {\n const initialState: Partial<State> = {\n ...preloadedState,\n isPreview: IsPreview.getInitialState(true),\n }\n\n const store = configureReduxStore({\n reducer,\n preloadedState: initialState,\n\n middleware: getDefaultMiddleware =>\n getDefaultMiddleware(middlewareOptions).concat(\n ReactPage.elementTreeMiddleware(),\n measureBoxModelsMiddleware(),\n builderAPIMiddleware(builderProxy),\n propControllerHandlesMiddleware(),\n makeswiftApiClientSyncMiddleware(client),\n ),\n\n enhancers: getDefaultEnhancers =>\n getDefaultEnhancers().concat(\n withSetupTeardown(\n () => {\n const dispatch = store.dispatch as Dispatch\n dispatch(setupBuilderProxy(builderProxy))\n },\n () => builderProxy.teardown(),\n ),\n ),\n\n devTools: devToolsConfig({\n name: `Host store (${new Date().toISOString()})`,\n actionsDenylist: [\n HostActionTypes.BUILDER_POINTER_MOVE,\n BuilderActionTypes.HANDLE_POINTER_MOVE,\n BuilderActionTypes.ELEMENT_FROM_POINT_CHANGE,\n ],\n }),\n })\n\n return store\n}\n\nexport type Store = ReturnType<typeof configureStore>\n"],"mappings":"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","names":["document"]}
1
+ {"version":3,"sources":["../../../src/state/react-builder-preview.ts"],"sourcesContent":["import { configureStore as configureReduxStore, type ThunkAction } from '@reduxjs/toolkit'\n\nimport { withSetupTeardown } from './mixins/setup-teardown'\n\nimport { type Action } from './actions'\n\nimport { BuilderActionTypes } from './builder-api/actions'\nimport { middlewareOptions, devToolsConfig } from './toolkit'\n\nimport { MakeswiftHostApiClient } from '../api/client'\nimport { type BuilderAPIProxy } from './builder-api/proxy'\nimport { HostActionTypes } from './host-api'\n\nimport { type State, type Dispatch, createRootReducer } from './read-write-state'\nimport * as IsReadOnly from './modules/is-read-only'\n\nimport { propControllerHandlesMiddleware } from './middleware/prop-controller-handles'\nimport { readOnlyElementTreeMiddleware } from './middleware/read-only-element-tree'\n\nimport { updateElementTreeMiddleware } from './middleware/read-write/update-element-tree'\nimport { measureBoxModelsMiddleware } from './middleware/read-write/measure-box-models'\nimport { builderAPIMiddleware } from './middleware/read-write/builder-api'\nimport { makeswiftApiClientSyncMiddleware } from './middleware/read-write/makeswift-api-client-sync'\n\nfunction setupBuilderProxy(\n builderProxy: BuilderAPIProxy,\n): ThunkAction<void, State, unknown, Action> {\n return dispatch => {\n builderProxy.setup({ onHostAction: action => dispatch(action) })\n }\n}\n\nexport function configureStore({\n preloadedState,\n client,\n builderProxy,\n}: {\n preloadedState: Partial<State>\n client: MakeswiftHostApiClient\n builderProxy: BuilderAPIProxy\n}) {\n const initialState: Partial<State> = {\n ...preloadedState,\n isReadOnly: IsReadOnly.getInitialState(false),\n }\n\n const store = configureReduxStore({\n reducer: createRootReducer(),\n preloadedState: initialState,\n\n middleware: getDefaultMiddleware =>\n getDefaultMiddleware(middlewareOptions).concat(\n readOnlyElementTreeMiddleware(),\n updateElementTreeMiddleware(),\n measureBoxModelsMiddleware(),\n builderAPIMiddleware(builderProxy),\n propControllerHandlesMiddleware(),\n makeswiftApiClientSyncMiddleware(client),\n ),\n\n enhancers: getDefaultEnhancers =>\n getDefaultEnhancers().concat(\n withSetupTeardown(\n () => {\n const dispatch = store.dispatch as Dispatch\n dispatch(setupBuilderProxy(builderProxy))\n },\n () => builderProxy.teardown(),\n ),\n ),\n\n devTools: devToolsConfig({\n name: `Host store (${new Date().toISOString()})`,\n actionsDenylist: [\n HostActionTypes.BUILDER_POINTER_MOVE,\n BuilderActionTypes.HANDLE_POINTER_MOVE,\n BuilderActionTypes.ELEMENT_FROM_POINT_CHANGE,\n ],\n }),\n })\n\n return store\n}\n\nexport type Store = ReturnType<typeof configureStore>\n"],"mappings":"AAAA,SAAS,kBAAkB,2BAA6C;AAExE,SAAS,yBAAyB;AAIlC,SAAS,0BAA0B;AACnC,SAAS,mBAAmB,sBAAsB;AAIlD,SAAS,uBAAuB;AAEhC,SAAoC,yBAAyB;AAC7D,YAAY,gBAAgB;AAE5B,SAAS,uCAAuC;AAChD,SAAS,qCAAqC;AAE9C,SAAS,mCAAmC;AAC5C,SAAS,kCAAkC;AAC3C,SAAS,4BAA4B;AACrC,SAAS,wCAAwC;AAEjD,SAAS,kBACP,cAC2C;AAC3C,SAAO,cAAY;AACjB,iBAAa,MAAM,EAAE,cAAc,YAAU,SAAS,MAAM,EAAE,CAAC;AAAA,EACjE;AACF;AAEO,SAAS,eAAe;AAAA,EAC7B;AAAA,EACA;AAAA,EACA;AACF,GAIG;AACD,QAAM,eAA+B;AAAA,IACnC,GAAG;AAAA,IACH,YAAY,WAAW,gBAAgB,KAAK;AAAA,EAC9C;AAEA,QAAM,QAAQ,oBAAoB;AAAA,IAChC,SAAS,kBAAkB;AAAA,IAC3B,gBAAgB;AAAA,IAEhB,YAAY,0BACV,qBAAqB,iBAAiB,EAAE;AAAA,MACtC,8BAA8B;AAAA,MAC9B,4BAA4B;AAAA,MAC5B,2BAA2B;AAAA,MAC3B,qBAAqB,YAAY;AAAA,MACjC,gCAAgC;AAAA,MAChC,iCAAiC,MAAM;AAAA,IACzC;AAAA,IAEF,WAAW,yBACT,oBAAoB,EAAE;AAAA,MACpB;AAAA,QACE,MAAM;AACJ,gBAAM,WAAW,MAAM;AACvB,mBAAS,kBAAkB,YAAY,CAAC;AAAA,QAC1C;AAAA,QACA,MAAM,aAAa,SAAS;AAAA,MAC9B;AAAA,IACF;AAAA,IAEF,UAAU,eAAe;AAAA,MACvB,MAAM,gBAAe,oBAAI,KAAK,GAAE,YAAY,CAAC;AAAA,MAC7C,iBAAiB;AAAA,QACf,gBAAgB;AAAA,QAChB,mBAAmB;AAAA,QACnB,mBAAmB;AAAA,MACrB;AAAA,IACF,CAAC;AAAA,EACH,CAAC;AAED,SAAO;AACT;","names":[]}