@makeswift/runtime 0.28.8-canary.8 → 0.28.8

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 (513) hide show
  1. package/dist/cjs/api/api-resources-client.js +3 -0
  2. package/dist/cjs/api/api-resources-client.js.map +1 -1
  3. package/dist/cjs/api/graphql-api-client.js +1 -1
  4. package/dist/cjs/api/rest-api-client.js +85 -43
  5. package/dist/cjs/api/rest-api-client.js.map +1 -1
  6. package/dist/cjs/api/types.js.map +1 -1
  7. package/dist/cjs/api-handler/handlers/manifest.js +1 -1
  8. package/dist/cjs/builder/host-to-builder-actions.js +5 -5
  9. package/dist/cjs/builder/host-to-builder-actions.js.map +1 -1
  10. package/dist/cjs/client/index.js +40 -44
  11. package/dist/cjs/client/index.js.map +1 -1
  12. package/dist/cjs/components/builtin/Form/Form.js.map +1 -1
  13. package/dist/cjs/controls/rich-text/control.js +16 -3
  14. package/dist/cjs/controls/rich-text/control.js.map +1 -1
  15. package/dist/cjs/controls/rich-text/rich-text.js +2 -2
  16. package/dist/cjs/controls/rich-text/rich-text.js.map +1 -1
  17. package/dist/cjs/controls/rich-text-v2/control.js +15 -2
  18. package/dist/cjs/controls/rich-text-v2/control.js.map +1 -1
  19. package/dist/cjs/controls/rich-text-v2/rich-text-v2.js +2 -2
  20. package/dist/cjs/controls/rich-text-v2/rich-text-v2.js.map +1 -1
  21. package/dist/cjs/controls/slot.js.map +1 -1
  22. package/dist/cjs/next/testing/breakpoints.js +3 -15
  23. package/dist/cjs/next/testing/breakpoints.js.map +1 -1
  24. package/dist/cjs/next/testing/element-data.js +3 -82
  25. package/dist/cjs/next/testing/element-data.js.map +1 -1
  26. package/dist/cjs/next/testing/react-runtime.js.map +1 -1
  27. package/dist/cjs/prop-controllers/instances.js +20 -4
  28. package/dist/cjs/prop-controllers/instances.js.map +1 -1
  29. package/dist/cjs/runtimes/react/components/Element.js +53 -24
  30. package/dist/cjs/runtimes/react/components/Element.js.map +1 -1
  31. package/dist/cjs/runtimes/react/components/ElementRegistration.js +32 -11
  32. package/dist/cjs/runtimes/react/components/ElementRegistration.js.map +1 -1
  33. package/dist/cjs/runtimes/react/components/control-instances-context.js +38 -0
  34. package/dist/cjs/runtimes/react/components/control-instances-context.js.map +1 -0
  35. package/dist/cjs/runtimes/react/components/framework-context.js +1 -0
  36. package/dist/cjs/runtimes/react/components/framework-context.js.map +1 -1
  37. package/dist/cjs/runtimes/react/components/resolve-props.js +5 -1
  38. package/dist/cjs/runtimes/react/components/resolve-props.js.map +1 -1
  39. package/dist/cjs/runtimes/react/controls/node-value/editable-node-value.js +42 -0
  40. package/dist/cjs/runtimes/react/controls/node-value/editable-node-value.js.map +1 -0
  41. package/dist/cjs/runtimes/react/controls/node-value/index.js +51 -0
  42. package/dist/cjs/runtimes/react/controls/node-value/index.js.map +1 -0
  43. package/dist/cjs/runtimes/react/controls/rich-text/EditableText/editable-text.js.map +1 -1
  44. package/dist/cjs/runtimes/react/controls/rich-text/rich-text.js +2 -2
  45. package/dist/cjs/runtimes/react/controls/rich-text/rich-text.js.map +1 -1
  46. package/dist/cjs/runtimes/react/controls/slot/index.js +29 -0
  47. package/dist/cjs/runtimes/react/controls/slot/index.js.map +1 -0
  48. package/dist/cjs/runtimes/react/controls/slot/render-slot.js +37 -0
  49. package/dist/cjs/runtimes/react/controls/slot/render-slot.js.map +1 -0
  50. package/dist/cjs/runtimes/react/controls/{slot.js → slot/slot-value.js} +31 -26
  51. package/dist/cjs/runtimes/react/controls/slot/slot-value.js.map +1 -0
  52. package/dist/cjs/runtimes/react/element-imperative-handle.js +2 -2
  53. package/dist/cjs/runtimes/react/element-imperative-handle.js.map +1 -1
  54. package/dist/cjs/runtimes/react/hooks/use-control-instance.js +88 -0
  55. package/dist/cjs/runtimes/react/hooks/use-control-instance.js.map +1 -0
  56. package/dist/cjs/runtimes/react/hooks/use-control-instances.js +2 -12
  57. package/dist/cjs/runtimes/react/hooks/use-control-instances.js.map +1 -1
  58. package/dist/cjs/runtimes/react/hooks/use-disable-register-element.js +3 -3
  59. package/dist/cjs/runtimes/react/hooks/use-disable-register-element.js.map +1 -1
  60. package/dist/cjs/runtimes/react/hooks/use-resolved-props.js +10 -9
  61. package/dist/cjs/runtimes/react/hooks/use-resolved-props.js.map +1 -1
  62. package/dist/cjs/runtimes/react/hooks/use-resolved-value-override.js +58 -0
  63. package/dist/cjs/runtimes/react/hooks/use-resolved-value-override.js.map +1 -0
  64. package/dist/cjs/runtimes/react/hooks/use-selector.js +8 -2
  65. package/dist/cjs/runtimes/react/hooks/use-selector.js.map +1 -1
  66. package/dist/cjs/runtimes/react/testing/index.js +25 -0
  67. package/dist/cjs/runtimes/react/testing/index.js.map +1 -0
  68. package/dist/cjs/runtimes/react/testing/react-provider.js +38 -0
  69. package/dist/cjs/runtimes/react/testing/react-provider.js.map +1 -0
  70. package/dist/cjs/state/actions/index.js +4 -4
  71. package/dist/cjs/state/actions/index.js.map +1 -1
  72. package/dist/cjs/state/actions/internal/action-types.js +34 -0
  73. package/dist/cjs/state/actions/internal/action-types.js.map +1 -0
  74. package/dist/cjs/state/actions/internal/index.js +0 -17
  75. package/dist/cjs/state/actions/internal/index.js.map +1 -1
  76. package/dist/cjs/state/actions/internal/read-only-action-types.js +44 -0
  77. package/dist/cjs/state/actions/internal/read-only-action-types.js.map +1 -0
  78. package/dist/cjs/state/actions/internal/read-only-actions.js +13 -92
  79. package/dist/cjs/state/actions/internal/read-only-actions.js.map +1 -1
  80. package/dist/cjs/state/actions/internal/read-write-action-types.js +44 -0
  81. package/dist/cjs/state/actions/internal/read-write-action-types.js.map +1 -0
  82. package/dist/cjs/state/actions/internal/read-write-actions.js +135 -14
  83. package/dist/cjs/state/actions/internal/read-write-actions.js.map +1 -1
  84. package/dist/cjs/state/api-client/state.js +8 -0
  85. package/dist/cjs/state/api-client/state.js.map +1 -1
  86. package/dist/cjs/state/builder-api/action-types.js +49 -0
  87. package/dist/cjs/state/builder-api/action-types.js.map +1 -0
  88. package/dist/cjs/state/builder-api/actions.js +14 -36
  89. package/dist/cjs/state/builder-api/actions.js.map +1 -1
  90. package/dist/cjs/state/builder-api/proxy.js +2 -1
  91. package/dist/cjs/state/builder-api/proxy.js.map +1 -1
  92. package/dist/cjs/state/host-api/action-types.js +43 -0
  93. package/dist/cjs/state/host-api/action-types.js.map +1 -0
  94. package/dist/cjs/state/{host-api.js → host-api/actions.js} +17 -33
  95. package/dist/cjs/state/host-api/actions.js.map +1 -0
  96. package/dist/cjs/state/host-api/index.js +25 -0
  97. package/dist/cjs/state/host-api/index.js.map +1 -0
  98. package/dist/cjs/state/middleware/read-write/builder-api/index.js +2 -58
  99. package/dist/cjs/state/middleware/read-write/builder-api/index.js.map +1 -1
  100. package/dist/cjs/state/middleware/read-write/builder-api/initialize-connection.js +3 -0
  101. package/dist/cjs/state/middleware/read-write/builder-api/initialize-connection.js.map +1 -1
  102. package/dist/cjs/state/middleware/read-write/builder-api/middleware.js +89 -0
  103. package/dist/cjs/state/middleware/read-write/builder-api/middleware.js.map +1 -0
  104. package/dist/cjs/state/middleware/read-write/builder-api/mount-change-action-buffer.js +72 -0
  105. package/dist/cjs/state/middleware/read-write/builder-api/mount-change-action-buffer.js.map +1 -0
  106. package/dist/cjs/state/middleware/read-write/measure-box-models.js +3 -3
  107. package/dist/cjs/state/middleware/read-write/measure-box-models.js.map +1 -1
  108. package/dist/cjs/state/middleware/read-write/prop-controller-handles.js +10 -47
  109. package/dist/cjs/state/middleware/read-write/prop-controller-handles.js.map +1 -1
  110. package/dist/cjs/state/modules/api-resources.js +5 -5
  111. package/dist/cjs/state/modules/api-resources.js.map +1 -1
  112. package/dist/cjs/state/modules/breakpoints.js +4 -4
  113. package/dist/cjs/state/modules/breakpoints.js.map +1 -1
  114. package/dist/cjs/state/modules/components-meta.js +3 -3
  115. package/dist/cjs/state/modules/components-meta.js.map +1 -1
  116. package/dist/cjs/state/modules/element-trees.js +5 -5
  117. package/dist/cjs/state/modules/element-trees.js.map +1 -1
  118. package/dist/cjs/state/modules/is-in-builder.js +2 -2
  119. package/dist/cjs/state/modules/is-in-builder.js.map +1 -1
  120. package/dist/cjs/state/modules/is-read-only.js +2 -2
  121. package/dist/cjs/state/modules/is-read-only.js.map +1 -1
  122. package/dist/cjs/state/modules/locale.js +2 -2
  123. package/dist/cjs/state/modules/locale.js.map +1 -1
  124. package/dist/cjs/state/modules/localized-resources-map.js +3 -3
  125. package/dist/cjs/state/modules/localized-resources-map.js.map +1 -1
  126. package/dist/cjs/state/modules/{prop-controllers.js → prop-controller-descriptors.js} +7 -7
  127. package/dist/cjs/state/modules/prop-controller-descriptors.js.map +1 -0
  128. package/dist/cjs/state/modules/react-components.js +3 -3
  129. package/dist/cjs/state/modules/react-components.js.map +1 -1
  130. package/dist/cjs/state/modules/read-write/box-models.js +5 -5
  131. package/dist/cjs/state/modules/read-write/box-models.js.map +1 -1
  132. package/dist/cjs/state/modules/read-write/element-imperative-handles.js +3 -3
  133. package/dist/cjs/state/modules/read-write/element-imperative-handles.js.map +1 -1
  134. package/dist/cjs/state/modules/{prop-controller-handles.js → read-write/prop-controllers.js} +5 -5
  135. package/dist/cjs/state/modules/read-write/prop-controllers.js.map +1 -0
  136. package/dist/cjs/state/modules/read-write/resolved-value-overrides.js +70 -0
  137. package/dist/cjs/state/modules/read-write/resolved-value-overrides.js.map +1 -0
  138. package/dist/cjs/state/read-only-state.js +9 -44
  139. package/dist/cjs/state/read-only-state.js.map +1 -1
  140. package/dist/cjs/state/read-write-state.js +61 -1
  141. package/dist/cjs/state/read-write-state.js.map +1 -1
  142. package/dist/cjs/state/shared-api/action-types.js +33 -0
  143. package/dist/cjs/state/shared-api/action-types.js.map +1 -0
  144. package/dist/cjs/state/{shared-api.js → shared-api/actions.js} +8 -14
  145. package/dist/cjs/state/shared-api/actions.js.map +1 -0
  146. package/dist/cjs/state/shared-api/index.js +25 -0
  147. package/dist/cjs/state/shared-api/index.js.map +1 -0
  148. package/dist/cjs/state/store.js +5 -3
  149. package/dist/cjs/state/store.js.map +1 -1
  150. package/dist/cjs/state/translations/get.js.map +1 -1
  151. package/dist/cjs/state/translations/merge.js.map +1 -1
  152. package/dist/cjs/state/unified-state.js +12 -0
  153. package/dist/cjs/state/unified-state.js.map +1 -1
  154. package/dist/cjs/testing/breakpoints.js +35 -0
  155. package/dist/cjs/testing/breakpoints.js.map +1 -0
  156. package/dist/cjs/testing/element-data.js +102 -0
  157. package/dist/cjs/testing/element-data.js.map +1 -0
  158. package/dist/cjs/testing/read-write-state.js +32 -0
  159. package/dist/cjs/testing/read-write-state.js.map +1 -0
  160. package/dist/cjs/translations/index.js.map +1 -1
  161. package/dist/esm/api/api-resources-client.js +3 -0
  162. package/dist/esm/api/api-resources-client.js.map +1 -1
  163. package/dist/esm/api/graphql-api-client.js +1 -1
  164. package/dist/esm/api/rest-api-client.js +84 -43
  165. package/dist/esm/api/rest-api-client.js.map +1 -1
  166. package/dist/esm/api/types.js.map +1 -1
  167. package/dist/esm/api-handler/handlers/manifest.js +1 -1
  168. package/dist/esm/builder/host-to-builder-actions.js +2 -4
  169. package/dist/esm/builder/host-to-builder-actions.js.map +1 -1
  170. package/dist/esm/client/index.js +45 -45
  171. package/dist/esm/client/index.js.map +1 -1
  172. package/dist/esm/components/builtin/Form/Form.js.map +1 -1
  173. package/dist/esm/controls/rich-text/control.js +16 -3
  174. package/dist/esm/controls/rich-text/control.js.map +1 -1
  175. package/dist/esm/controls/rich-text/rich-text.js +2 -2
  176. package/dist/esm/controls/rich-text/rich-text.js.map +1 -1
  177. package/dist/esm/controls/rich-text-v2/control.js +15 -2
  178. package/dist/esm/controls/rich-text-v2/control.js.map +1 -1
  179. package/dist/esm/controls/rich-text-v2/rich-text-v2.js +2 -2
  180. package/dist/esm/controls/rich-text-v2/rich-text-v2.js.map +1 -1
  181. package/dist/esm/controls/slot.js.map +1 -1
  182. package/dist/esm/next/testing/breakpoints.js +1 -8
  183. package/dist/esm/next/testing/breakpoints.js.map +1 -1
  184. package/dist/esm/next/testing/element-data.js +1 -75
  185. package/dist/esm/next/testing/element-data.js.map +1 -1
  186. package/dist/esm/next/testing/react-runtime.js.map +1 -1
  187. package/dist/esm/prop-controllers/instances.js +20 -4
  188. package/dist/esm/prop-controllers/instances.js.map +1 -1
  189. package/dist/esm/runtimes/react/components/Element.js +51 -25
  190. package/dist/esm/runtimes/react/components/Element.js.map +1 -1
  191. package/dist/esm/runtimes/react/components/ElementRegistration.js +37 -12
  192. package/dist/esm/runtimes/react/components/ElementRegistration.js.map +1 -1
  193. package/dist/esm/runtimes/react/components/control-instances-context.js +13 -0
  194. package/dist/esm/runtimes/react/components/control-instances-context.js.map +1 -0
  195. package/dist/esm/runtimes/react/components/framework-context.js +1 -0
  196. package/dist/esm/runtimes/react/components/framework-context.js.map +1 -1
  197. package/dist/esm/runtimes/react/components/resolve-props.js +5 -1
  198. package/dist/esm/runtimes/react/components/resolve-props.js.map +1 -1
  199. package/dist/esm/runtimes/react/controls/node-value/editable-node-value.js +21 -0
  200. package/dist/esm/runtimes/react/controls/node-value/editable-node-value.js.map +1 -0
  201. package/dist/esm/runtimes/react/controls/node-value/index.js +17 -0
  202. package/dist/esm/runtimes/react/controls/node-value/index.js.map +1 -0
  203. package/dist/esm/runtimes/react/controls/rich-text/EditableText/editable-text.js.map +1 -1
  204. package/dist/esm/runtimes/react/controls/rich-text/EditableText/useSyncDOMSelection.js.map +1 -0
  205. package/dist/esm/runtimes/react/controls/rich-text/EditableText/useSyncWithBuilder.js.map +1 -0
  206. package/dist/esm/runtimes/react/controls/rich-text/rich-text.js +1 -1
  207. package/dist/esm/runtimes/react/controls/rich-text/rich-text.js.map +1 -1
  208. package/dist/esm/runtimes/react/controls/rich-text-v2/EditableTextV2/usePresetValue.js.map +1 -0
  209. package/dist/esm/runtimes/react/controls/rich-text-v2/EditableTextV2/useRemoteChanges.js.map +1 -0
  210. package/dist/esm/runtimes/react/controls/rich-text-v2/EditableTextV2/useSyncDOMSelection.js.map +1 -0
  211. package/dist/esm/runtimes/react/controls/slot/index.js +5 -0
  212. package/dist/esm/runtimes/react/controls/slot/index.js.map +1 -0
  213. package/dist/esm/runtimes/react/controls/slot/render-slot.js +13 -0
  214. package/dist/esm/runtimes/react/controls/slot/render-slot.js.map +1 -0
  215. package/dist/esm/runtimes/react/controls/{slot.js → slot/slot-value.js} +34 -23
  216. package/dist/esm/runtimes/react/controls/slot/slot-value.js.map +1 -0
  217. package/dist/esm/runtimes/react/element-imperative-handle.js +1 -1
  218. package/dist/esm/runtimes/react/element-imperative-handle.js.map +1 -1
  219. package/dist/esm/runtimes/react/hooks/use-control-instance.js +62 -0
  220. package/dist/esm/runtimes/react/hooks/use-control-instance.js.map +1 -0
  221. package/dist/esm/runtimes/react/hooks/use-control-instances.js +1 -11
  222. package/dist/esm/runtimes/react/hooks/use-control-instances.js.map +1 -1
  223. package/dist/esm/runtimes/react/hooks/use-disable-register-element.js +2 -2
  224. package/dist/esm/runtimes/react/hooks/use-disable-register-element.js.map +1 -1
  225. package/dist/esm/runtimes/react/hooks/use-resolved-props.js +10 -9
  226. package/dist/esm/runtimes/react/hooks/use-resolved-props.js.map +1 -1
  227. package/dist/esm/runtimes/react/hooks/use-resolved-value-override.js +35 -0
  228. package/dist/esm/runtimes/react/hooks/use-resolved-value-override.js.map +1 -0
  229. package/dist/esm/runtimes/react/hooks/use-selector.js +8 -2
  230. package/dist/esm/runtimes/react/hooks/use-selector.js.map +1 -1
  231. package/dist/esm/runtimes/react/testing/index.js +3 -0
  232. package/dist/esm/runtimes/react/testing/index.js.map +1 -0
  233. package/dist/esm/runtimes/react/testing/react-provider.js +14 -0
  234. package/dist/esm/runtimes/react/testing/react-provider.js.map +1 -0
  235. package/dist/esm/state/actions/index.js +2 -2
  236. package/dist/esm/state/actions/index.js.map +1 -1
  237. package/dist/esm/state/actions/internal/action-types.js +10 -0
  238. package/dist/esm/state/actions/internal/action-types.js.map +1 -0
  239. package/dist/esm/state/actions/internal/index.js +0 -9
  240. package/dist/esm/state/actions/internal/index.js.map +1 -1
  241. package/dist/esm/state/actions/internal/read-only-action-types.js +20 -0
  242. package/dist/esm/state/actions/internal/read-only-action-types.js.map +1 -0
  243. package/dist/esm/state/actions/internal/read-only-actions.js +1 -73
  244. package/dist/esm/state/actions/internal/read-only-actions.js.map +1 -1
  245. package/dist/esm/state/actions/internal/read-write-action-types.js +20 -0
  246. package/dist/esm/state/actions/internal/read-write-action-types.js.map +1 -0
  247. package/dist/esm/state/actions/internal/read-write-actions.js +108 -8
  248. package/dist/esm/state/actions/internal/read-write-actions.js.map +1 -1
  249. package/dist/esm/state/api-client/state.js +7 -0
  250. package/dist/esm/state/api-client/state.js.map +1 -1
  251. package/dist/esm/state/builder-api/action-types.js +25 -0
  252. package/dist/esm/state/builder-api/action-types.js.map +1 -0
  253. package/dist/esm/state/builder-api/actions.js +1 -24
  254. package/dist/esm/state/builder-api/actions.js.map +1 -1
  255. package/dist/esm/state/builder-api/proxy.js +2 -1
  256. package/dist/esm/state/builder-api/proxy.js.map +1 -1
  257. package/dist/esm/state/host-api/action-types.js +19 -0
  258. package/dist/esm/state/host-api/action-types.js.map +1 -0
  259. package/dist/esm/state/{host-api.js → host-api/actions.js} +2 -17
  260. package/dist/esm/state/host-api/actions.js.map +1 -0
  261. package/dist/esm/state/host-api/index.js +3 -0
  262. package/dist/esm/state/host-api/index.js.map +1 -0
  263. package/dist/esm/state/middleware/read-write/builder-api/index.js +1 -57
  264. package/dist/esm/state/middleware/read-write/builder-api/index.js.map +1 -1
  265. package/dist/esm/state/middleware/read-write/builder-api/initialize-connection.js +3 -0
  266. package/dist/esm/state/middleware/read-write/builder-api/initialize-connection.js.map +1 -1
  267. package/dist/esm/state/middleware/read-write/builder-api/middleware.js +65 -0
  268. package/dist/esm/state/middleware/read-write/builder-api/middleware.js.map +1 -0
  269. package/dist/esm/state/middleware/read-write/builder-api/mount-change-action-buffer.js +48 -0
  270. package/dist/esm/state/middleware/read-write/builder-api/mount-change-action-buffer.js.map +1 -0
  271. package/dist/esm/state/middleware/read-write/measure-box-models.js +3 -3
  272. package/dist/esm/state/middleware/read-write/measure-box-models.js.map +1 -1
  273. package/dist/esm/state/middleware/read-write/prop-controller-handles.js +13 -47
  274. package/dist/esm/state/middleware/read-write/prop-controller-handles.js.map +1 -1
  275. package/dist/esm/state/modules/api-resources.js +2 -2
  276. package/dist/esm/state/modules/api-resources.js.map +1 -1
  277. package/dist/esm/state/modules/breakpoints.js +2 -2
  278. package/dist/esm/state/modules/breakpoints.js.map +1 -1
  279. package/dist/esm/state/modules/components-meta.js +1 -1
  280. package/dist/esm/state/modules/components-meta.js.map +1 -1
  281. package/dist/esm/state/modules/element-trees.js +2 -2
  282. package/dist/esm/state/modules/element-trees.js.map +1 -1
  283. package/dist/esm/state/modules/is-in-builder.js +1 -1
  284. package/dist/esm/state/modules/is-in-builder.js.map +1 -1
  285. package/dist/esm/state/modules/is-read-only.js +1 -1
  286. package/dist/esm/state/modules/is-read-only.js.map +1 -1
  287. package/dist/esm/state/modules/locale.js +1 -1
  288. package/dist/esm/state/modules/locale.js.map +1 -1
  289. package/dist/esm/state/modules/localized-resources-map.js +1 -1
  290. package/dist/esm/state/modules/localized-resources-map.js.map +1 -1
  291. package/dist/esm/state/modules/{prop-controllers.js → prop-controller-descriptors.js} +2 -2
  292. package/dist/esm/state/modules/prop-controller-descriptors.js.map +1 -0
  293. package/dist/esm/state/modules/react-components.js +1 -1
  294. package/dist/esm/state/modules/react-components.js.map +1 -1
  295. package/dist/esm/state/modules/read-write/box-models.js +2 -2
  296. package/dist/esm/state/modules/read-write/box-models.js.map +1 -1
  297. package/dist/esm/state/modules/read-write/element-imperative-handles.js +3 -3
  298. package/dist/esm/state/modules/read-write/element-imperative-handles.js.map +1 -1
  299. package/dist/esm/state/modules/{prop-controller-handles.js → read-write/prop-controllers.js} +2 -2
  300. package/dist/esm/state/modules/read-write/prop-controllers.js.map +1 -0
  301. package/dist/esm/state/modules/read-write/resolved-value-overrides.js +43 -0
  302. package/dist/esm/state/modules/read-write/resolved-value-overrides.js.map +1 -0
  303. package/dist/esm/state/read-only-state.js +9 -41
  304. package/dist/esm/state/read-only-state.js.map +1 -1
  305. package/dist/esm/state/read-write-state.js +56 -1
  306. package/dist/esm/state/read-write-state.js.map +1 -1
  307. package/dist/esm/state/shared-api/action-types.js +9 -0
  308. package/dist/esm/state/shared-api/action-types.js.map +1 -0
  309. package/dist/esm/state/{shared-api.js → shared-api/actions.js} +2 -7
  310. package/dist/esm/state/shared-api/actions.js.map +1 -0
  311. package/dist/esm/state/shared-api/index.js +3 -0
  312. package/dist/esm/state/shared-api/index.js.map +1 -0
  313. package/dist/esm/state/store.js +3 -1
  314. package/dist/esm/state/store.js.map +1 -1
  315. package/dist/esm/state/translations/get.js.map +1 -1
  316. package/dist/esm/state/translations/merge.js +3 -1
  317. package/dist/esm/state/translations/merge.js.map +1 -1
  318. package/dist/esm/state/unified-state.js +4 -0
  319. package/dist/esm/state/unified-state.js.map +1 -1
  320. package/dist/esm/testing/breakpoints.js +9 -0
  321. package/dist/esm/testing/breakpoints.js.map +1 -0
  322. package/dist/esm/testing/element-data.js +76 -0
  323. package/dist/esm/testing/element-data.js.map +1 -0
  324. package/dist/esm/testing/read-write-state.js +8 -0
  325. package/dist/esm/testing/read-write-state.js.map +1 -0
  326. package/dist/esm/translations/index.js.map +1 -1
  327. package/dist/types/api/__tests__/rest-api-client.retries.test.d.ts +2 -0
  328. package/dist/types/api/__tests__/rest-api-client.retries.test.d.ts.map +1 -0
  329. package/dist/types/api/api-resources-client.d.ts +1 -0
  330. package/dist/types/api/api-resources-client.d.ts.map +1 -1
  331. package/dist/types/api/rest-api-client.d.ts +4 -0
  332. package/dist/types/api/rest-api-client.d.ts.map +1 -1
  333. package/dist/types/api/schema/page-pathname-slice.d.ts +2 -2
  334. package/dist/types/api/types.d.ts +1 -1
  335. package/dist/types/api/types.d.ts.map +1 -1
  336. package/dist/types/api-handler/handlers/webhook/diff-projection.d.ts +6 -6
  337. package/dist/types/api-handler/handlers/webhook/types.d.ts +20 -20
  338. package/dist/types/builder/host-to-builder-actions.d.ts.map +1 -1
  339. package/dist/types/client/index.d.ts.map +1 -1
  340. package/dist/types/components/builtin/Form/Form.d.ts +1 -1
  341. package/dist/types/components/builtin/Form/Form.d.ts.map +1 -1
  342. package/dist/types/components/hooks/useIsomorphicLayoutEffect.d.ts +2 -2
  343. package/dist/types/components/hooks/useIsomorphicLayoutEffect.d.ts.map +1 -1
  344. package/dist/types/controls/__tests__/slot.test.d.ts +3 -0
  345. package/dist/types/controls/__tests__/slot.test.d.ts.map +1 -0
  346. package/dist/types/controls/rich-text/control.d.ts +5 -1
  347. package/dist/types/controls/rich-text/control.d.ts.map +1 -1
  348. package/dist/types/controls/rich-text/rich-text.d.ts +2 -2
  349. package/dist/types/controls/rich-text/rich-text.d.ts.map +1 -1
  350. package/dist/types/controls/rich-text-v2/control.d.ts +6 -2
  351. package/dist/types/controls/rich-text-v2/control.d.ts.map +1 -1
  352. package/dist/types/controls/rich-text-v2/rich-text-v2.d.ts +2 -2
  353. package/dist/types/controls/rich-text-v2/rich-text-v2.d.ts.map +1 -1
  354. package/dist/types/controls/slot.d.ts +1 -1
  355. package/dist/types/controls/slot.d.ts.map +1 -1
  356. package/dist/types/locale.d.ts +1 -1
  357. package/dist/types/next/testing/breakpoints.d.ts +1 -3
  358. package/dist/types/next/testing/breakpoints.d.ts.map +1 -1
  359. package/dist/types/next/testing/element-data.d.ts +1 -54
  360. package/dist/types/next/testing/element-data.d.ts.map +1 -1
  361. package/dist/types/next/testing/react-runtime.d.ts.map +1 -1
  362. package/dist/types/prop-controllers/instances.d.ts +9 -3
  363. package/dist/types/prop-controllers/instances.d.ts.map +1 -1
  364. package/dist/types/runtimes/react/components/Element.d.ts.map +1 -1
  365. package/dist/types/runtimes/react/components/ElementRegistration.d.ts +4 -4
  366. package/dist/types/runtimes/react/components/ElementRegistration.d.ts.map +1 -1
  367. package/dist/types/runtimes/react/components/__tests__/element-registration.test.d.ts +3 -0
  368. package/dist/types/runtimes/react/components/__tests__/element-registration.test.d.ts.map +1 -0
  369. package/dist/types/runtimes/react/components/control-instances-context.d.ts +9 -0
  370. package/dist/types/runtimes/react/components/control-instances-context.d.ts.map +1 -0
  371. package/dist/types/runtimes/react/components/framework-context.d.ts.map +1 -1
  372. package/dist/types/runtimes/react/components/resolve-props.d.ts.map +1 -1
  373. package/dist/types/runtimes/react/controls/node-value/editable-node-value.d.ts +7 -0
  374. package/dist/types/runtimes/react/controls/node-value/editable-node-value.d.ts.map +1 -0
  375. package/dist/types/runtimes/react/controls/node-value/index.d.ts +6 -0
  376. package/dist/types/runtimes/react/controls/node-value/index.d.ts.map +1 -0
  377. package/dist/types/runtimes/react/controls/rich-text/EditableText/editable-text.d.ts +1 -1
  378. package/dist/types/runtimes/react/controls/rich-text/EditableText/editable-text.d.ts.map +1 -1
  379. package/dist/types/runtimes/react/controls/slot/index.d.ts +2 -0
  380. package/dist/types/runtimes/react/controls/slot/index.d.ts.map +1 -0
  381. package/dist/types/runtimes/react/controls/slot/render-slot.d.ts +9 -0
  382. package/dist/types/runtimes/react/controls/slot/render-slot.d.ts.map +1 -0
  383. package/dist/types/runtimes/react/controls/{slot.d.ts → slot/slot-value.d.ts} +7 -7
  384. package/dist/types/runtimes/react/controls/slot/slot-value.d.ts.map +1 -0
  385. package/dist/types/runtimes/react/element-imperative-handle.d.ts +1 -1
  386. package/dist/types/runtimes/react/element-imperative-handle.d.ts.map +1 -1
  387. package/dist/types/runtimes/react/hooks/__tests__/use-control-instance.test.d.ts +3 -0
  388. package/dist/types/runtimes/react/hooks/__tests__/use-control-instance.test.d.ts.map +1 -0
  389. package/dist/types/runtimes/react/hooks/use-control-instance.d.ts +7 -0
  390. package/dist/types/runtimes/react/hooks/use-control-instance.d.ts.map +1 -0
  391. package/dist/types/runtimes/react/hooks/use-control-instances.d.ts +1 -2
  392. package/dist/types/runtimes/react/hooks/use-control-instances.d.ts.map +1 -1
  393. package/dist/types/runtimes/react/hooks/use-disable-register-element.d.ts +1 -1
  394. package/dist/types/runtimes/react/hooks/use-disable-register-element.d.ts.map +1 -1
  395. package/dist/types/runtimes/react/hooks/use-resolved-props.d.ts +4 -3
  396. package/dist/types/runtimes/react/hooks/use-resolved-props.d.ts.map +1 -1
  397. package/dist/types/runtimes/react/hooks/use-resolved-value-override.d.ts +5 -0
  398. package/dist/types/runtimes/react/hooks/use-resolved-value-override.d.ts.map +1 -0
  399. package/dist/types/runtimes/react/hooks/use-selector.d.ts +2 -5
  400. package/dist/types/runtimes/react/hooks/use-selector.d.ts.map +1 -1
  401. package/dist/types/runtimes/react/hooks/use-store.d.ts +2 -4
  402. package/dist/types/runtimes/react/hooks/use-store.d.ts.map +1 -1
  403. package/dist/types/runtimes/react/testing/index.d.ts +3 -0
  404. package/dist/types/runtimes/react/testing/index.d.ts.map +1 -0
  405. package/dist/types/runtimes/react/testing/react-provider.d.ts +8 -0
  406. package/dist/types/runtimes/react/testing/react-provider.d.ts.map +1 -0
  407. package/dist/types/slate/InlineModePlugin/index.d.ts +1 -1
  408. package/dist/types/slate/LinkPlugin/getValue.d.ts.map +1 -1
  409. package/dist/types/slate/LinkPlugin/index.d.ts.map +1 -1
  410. package/dist/types/slate/TypographyPlugin/getValue.d.ts.map +1 -1
  411. package/dist/types/slate/TypographyPlugin/index.d.ts.map +1 -1
  412. package/dist/types/state/__tests__/test-store.d.ts +2 -4
  413. package/dist/types/state/__tests__/test-store.d.ts.map +1 -1
  414. package/dist/types/state/actions/index.d.ts +9 -6
  415. package/dist/types/state/actions/index.d.ts.map +1 -1
  416. package/dist/types/state/actions/internal/action-types.d.ts +29 -0
  417. package/dist/types/state/actions/internal/action-types.d.ts.map +1 -0
  418. package/dist/types/state/actions/internal/index.d.ts +0 -25
  419. package/dist/types/state/actions/internal/index.d.ts.map +1 -1
  420. package/dist/types/state/actions/internal/read-only-action-types.d.ts +15 -0
  421. package/dist/types/state/actions/internal/read-only-action-types.d.ts.map +1 -0
  422. package/dist/types/state/actions/internal/read-only-actions.d.ts +3 -76
  423. package/dist/types/state/actions/internal/read-only-actions.d.ts.map +1 -1
  424. package/dist/types/state/actions/internal/read-write-action-types.d.ts +17 -0
  425. package/dist/types/state/actions/internal/read-write-action-types.d.ts.map +1 -0
  426. package/dist/types/state/actions/internal/read-write-actions.d.ts +89 -8
  427. package/dist/types/state/actions/internal/read-write-actions.d.ts.map +1 -1
  428. package/dist/types/state/api-client/state.d.ts +1 -0
  429. package/dist/types/state/api-client/state.d.ts.map +1 -1
  430. package/dist/types/state/builder-api/action-types.d.ts +22 -0
  431. package/dist/types/state/builder-api/action-types.d.ts.map +1 -0
  432. package/dist/types/state/builder-api/actions.d.ts +3 -23
  433. package/dist/types/state/builder-api/actions.d.ts.map +1 -1
  434. package/dist/types/state/builder-api/proxy.d.ts.map +1 -1
  435. package/dist/types/state/host-api/action-types.d.ts +17 -0
  436. package/dist/types/state/host-api/action-types.d.ts.map +1 -0
  437. package/dist/types/state/{host-api.d.ts → host-api/actions.d.ts} +7 -22
  438. package/dist/types/state/host-api/actions.d.ts.map +1 -0
  439. package/dist/types/state/host-api/index.d.ts +3 -0
  440. package/dist/types/state/host-api/index.d.ts.map +1 -0
  441. package/dist/types/state/middleware/read-write/__tests__/fixtures/operations.d.ts.map +1 -0
  442. package/dist/types/state/middleware/read-write/__tests__/fixtures/root-elements.d.ts.map +1 -0
  443. package/dist/types/state/middleware/read-write/__tests__/prop-controller-handles.test.d.ts +2 -0
  444. package/dist/types/state/middleware/read-write/__tests__/prop-controller-handles.test.d.ts.map +1 -0
  445. package/dist/types/state/middleware/read-write/__tests__/update-element-tree.test.d.ts +2 -0
  446. package/dist/types/state/middleware/read-write/__tests__/update-element-tree.test.d.ts.map +1 -0
  447. package/dist/types/state/middleware/read-write/builder-api/__tests__/middleware.test.d.ts +2 -0
  448. package/dist/types/state/middleware/read-write/builder-api/__tests__/middleware.test.d.ts.map +1 -0
  449. package/dist/types/state/middleware/read-write/builder-api/__tests__/mount-change-action-buffer.test.d.ts +2 -0
  450. package/dist/types/state/middleware/read-write/builder-api/__tests__/mount-change-action-buffer.test.d.ts.map +1 -0
  451. package/dist/types/state/middleware/read-write/builder-api/index.d.ts +1 -4
  452. package/dist/types/state/middleware/read-write/builder-api/index.d.ts.map +1 -1
  453. package/dist/types/state/middleware/read-write/builder-api/initialize-connection.d.ts.map +1 -1
  454. package/dist/types/state/middleware/read-write/builder-api/middleware.d.ts +5 -0
  455. package/dist/types/state/middleware/read-write/builder-api/middleware.d.ts.map +1 -0
  456. package/dist/types/state/middleware/read-write/builder-api/mount-change-action-buffer.d.ts +28 -0
  457. package/dist/types/state/middleware/read-write/builder-api/mount-change-action-buffer.d.ts.map +1 -0
  458. package/dist/types/state/middleware/read-write/prop-controller-handles.d.ts.map +1 -1
  459. package/dist/types/state/modules/element-trees.d.ts +1 -1
  460. package/dist/types/state/modules/element-trees.d.ts.map +1 -1
  461. package/dist/types/state/modules/{prop-controllers.d.ts → prop-controller-descriptors.d.ts} +1 -1
  462. package/dist/types/state/modules/prop-controller-descriptors.d.ts.map +1 -0
  463. package/dist/types/state/modules/{prop-controller-handles.d.ts → read-write/prop-controllers.d.ts} +4 -4
  464. package/dist/types/state/modules/{prop-controller-handles.d.ts.map → read-write/prop-controllers.d.ts.map} +1 -1
  465. package/dist/types/state/modules/read-write/resolved-value-overrides.d.ts +15 -0
  466. package/dist/types/state/modules/read-write/resolved-value-overrides.d.ts.map +1 -0
  467. package/dist/types/state/read-only-state.d.ts +6 -70
  468. package/dist/types/state/read-only-state.d.ts.map +1 -1
  469. package/dist/types/state/read-write-state.d.ts +74 -4
  470. package/dist/types/state/read-write-state.d.ts.map +1 -1
  471. package/dist/types/state/shared-api/action-types.d.ts +6 -0
  472. package/dist/types/state/shared-api/action-types.d.ts.map +1 -0
  473. package/dist/types/state/{shared-api.d.ts → shared-api/actions.d.ts} +3 -7
  474. package/dist/types/state/shared-api/actions.d.ts.map +1 -0
  475. package/dist/types/state/shared-api/index.d.ts +3 -0
  476. package/dist/types/state/shared-api/index.d.ts.map +1 -0
  477. package/dist/types/state/store.d.ts +4 -8
  478. package/dist/types/state/store.d.ts.map +1 -1
  479. package/dist/types/state/translations/get.d.ts +1 -1
  480. package/dist/types/state/translations/get.d.ts.map +1 -1
  481. package/dist/types/state/translations/merge.d.ts +1 -1
  482. package/dist/types/state/translations/merge.d.ts.map +1 -1
  483. package/dist/types/state/unified-state.d.ts +2 -0
  484. package/dist/types/state/unified-state.d.ts.map +1 -1
  485. package/dist/types/testing/breakpoints.d.ts +4 -0
  486. package/dist/types/testing/breakpoints.d.ts.map +1 -0
  487. package/dist/types/testing/element-data.d.ts +59 -0
  488. package/dist/types/testing/element-data.d.ts.map +1 -0
  489. package/dist/types/testing/read-write-state.d.ts +3 -0
  490. package/dist/types/testing/read-write-state.d.ts.map +1 -0
  491. package/dist/types/translations/index.d.ts +1 -1
  492. package/dist/types/translations/index.d.ts.map +1 -1
  493. package/package.json +7 -5
  494. package/dist/cjs/runtimes/react/controls/slot.js.map +0 -1
  495. package/dist/cjs/state/host-api.js.map +0 -1
  496. package/dist/cjs/state/modules/prop-controller-handles.js.map +0 -1
  497. package/dist/cjs/state/modules/prop-controllers.js.map +0 -1
  498. package/dist/cjs/state/shared-api.js.map +0 -1
  499. package/dist/esm/runtimes/react/controls/slot.js.map +0 -1
  500. package/dist/esm/state/host-api.js.map +0 -1
  501. package/dist/esm/state/modules/prop-controller-handles.js.map +0 -1
  502. package/dist/esm/state/modules/prop-controllers.js.map +0 -1
  503. package/dist/esm/state/shared-api.js.map +0 -1
  504. package/dist/types/runtimes/react/controls/slot.d.ts.map +0 -1
  505. package/dist/types/state/__tests__/fixtures/operations.d.ts.map +0 -1
  506. package/dist/types/state/__tests__/fixtures/root-elements.d.ts.map +0 -1
  507. package/dist/types/state/__tests__/react-builder-preview.test.d.ts +0 -2
  508. package/dist/types/state/__tests__/react-builder-preview.test.d.ts.map +0 -1
  509. package/dist/types/state/host-api.d.ts.map +0 -1
  510. package/dist/types/state/modules/prop-controllers.d.ts.map +0 -1
  511. package/dist/types/state/shared-api.d.ts.map +0 -1
  512. /package/dist/types/state/{__tests__ → middleware/read-write/__tests__}/fixtures/operations.d.ts +0 -0
  513. /package/dist/types/state/{__tests__ → middleware/read-write/__tests__}/fixtures/root-elements.d.ts +0 -0
@@ -16,9 +16,8 @@ var __copyProps = (to, from, except, desc) => {
16
16
  return to;
17
17
  };
18
18
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
- var host_api_exports = {};
20
- __export(host_api_exports, {
21
- HostActionTypes: () => HostActionTypes,
19
+ var actions_exports = {};
20
+ __export(actions_exports, {
22
21
  builderPointerMove: () => builderPointerMove,
23
22
  changeApiResource: () => changeApiResource,
24
23
  changeDocument: () => changeDocument,
@@ -32,53 +31,39 @@ __export(host_api_exports, {
32
31
  setBuilderEditMode: () => setBuilderEditMode,
33
32
  setLocalizedResourceId: () => setLocalizedResourceId
34
33
  });
35
- module.exports = __toCommonJS(host_api_exports);
34
+ module.exports = __toCommonJS(actions_exports);
36
35
  var import_toolkit = require("@reduxjs/toolkit");
37
- var import_shared_api = require("./shared-api");
38
- const HostActionTypes = {
39
- ...import_shared_api.SharedActionTypes,
40
- INIT: "INIT",
41
- CLEAN_UP: "CLEAN_UP",
42
- CHANGE_DOCUMENT: "CHANGE_DOCUMENT",
43
- CHANGE_DOCUMENT_ELEMENT_SCROLL_TOP: "CHANGE_DOCUMENT_ELEMENT_SCROLL_TOP",
44
- SCROLL_DOCUMENT_ELEMENT: "SCROLL_DOCUMENT_ELEMENT",
45
- MESSAGE_HOST_PROP_CONTROLLER: "MESSAGE_HOST_PROP_CONTROLLER",
46
- CHANGE_API_RESOURCE: "CHANGE_API_RESOURCE",
47
- EVICT_API_RESOURCE: "EVICT_API_RESOURCE",
48
- SET_BUILDER_EDIT_MODE: "SET_BUILDER_EDIT_MODE",
49
- SET_LOCALIZED_RESOURCE_ID: "SET_LOCALIZED_RESOURCE_ID",
50
- BUILDER_POINTER_MOVE: "BUILDER_POINTER_MOVE"
51
- };
36
+ var import_action_types = require("./action-types");
52
37
  function init() {
53
- return { type: HostActionTypes.INIT };
38
+ return { type: import_action_types.HostActionTypes.INIT };
54
39
  }
55
40
  function cleanUp() {
56
- return { type: HostActionTypes.CLEAN_UP };
41
+ return { type: import_action_types.HostActionTypes.CLEAN_UP };
57
42
  }
58
43
  function changeDocument(documentKey, operation) {
59
- return { type: HostActionTypes.CHANGE_DOCUMENT, payload: { documentKey, operation } };
44
+ return { type: import_action_types.HostActionTypes.CHANGE_DOCUMENT, payload: { documentKey, operation } };
60
45
  }
61
46
  function changeDocumentElementScrollTop(scrollTop) {
62
- return { type: HostActionTypes.CHANGE_DOCUMENT_ELEMENT_SCROLL_TOP, payload: { scrollTop } };
47
+ return { type: import_action_types.HostActionTypes.CHANGE_DOCUMENT_ELEMENT_SCROLL_TOP, payload: { scrollTop } };
63
48
  }
64
49
  function scrollDocumentElement(scrollTopDelta) {
65
- return { type: HostActionTypes.SCROLL_DOCUMENT_ELEMENT, payload: { scrollTopDelta } };
50
+ return { type: import_action_types.HostActionTypes.SCROLL_DOCUMENT_ELEMENT, payload: { scrollTopDelta } };
66
51
  }
67
52
  function messageHostPropController(documentKey, elementKey, propName, message) {
68
53
  return {
69
- type: HostActionTypes.MESSAGE_HOST_PROP_CONTROLLER,
54
+ type: import_action_types.HostActionTypes.MESSAGE_HOST_PROP_CONTROLLER,
70
55
  payload: { documentKey, elementKey, propName, message }
71
56
  };
72
57
  }
73
58
  function changeApiResource(resource, locale) {
74
- return { type: HostActionTypes.CHANGE_API_RESOURCE, payload: { resource, locale } };
59
+ return { type: import_action_types.HostActionTypes.CHANGE_API_RESOURCE, payload: { resource, locale } };
75
60
  }
76
61
  function evictApiResource(id, locale) {
77
- return { type: HostActionTypes.EVICT_API_RESOURCE, payload: { id, locale } };
62
+ return { type: import_action_types.HostActionTypes.EVICT_API_RESOURCE, payload: { id, locale } };
78
63
  }
79
64
  function setBuilderEditMode(editMode) {
80
65
  return {
81
- type: HostActionTypes.SET_BUILDER_EDIT_MODE,
66
+ type: import_action_types.HostActionTypes.SET_BUILDER_EDIT_MODE,
82
67
  payload: { editMode }
83
68
  };
84
69
  }
@@ -88,19 +73,18 @@ function setLocalizedResourceId({
88
73
  locale
89
74
  }) {
90
75
  return {
91
- type: HostActionTypes.SET_LOCALIZED_RESOURCE_ID,
76
+ type: import_action_types.HostActionTypes.SET_LOCALIZED_RESOURCE_ID,
92
77
  payload: { resourceId, localizedResourceId, locale }
93
78
  };
94
79
  }
95
80
  function builderPointerMove(pointer) {
96
- return { type: HostActionTypes.BUILDER_POINTER_MOVE, payload: { pointer } };
81
+ return { type: import_action_types.HostActionTypes.BUILDER_POINTER_MOVE, payload: { pointer } };
97
82
  }
98
83
  function isHostAction(action) {
99
- return (0, import_toolkit.isAction)(action) && Object.hasOwn(HostActionTypes, action.type);
84
+ return (0, import_toolkit.isAction)(action) && Object.hasOwn(import_action_types.HostActionTypes, action.type);
100
85
  }
101
86
  // Annotate the CommonJS export names for ESM import in node:
102
87
  0 && (module.exports = {
103
- HostActionTypes,
104
88
  builderPointerMove,
105
89
  changeApiResource,
106
90
  changeDocument,
@@ -114,4 +98,4 @@ function isHostAction(action) {
114
98
  setBuilderEditMode,
115
99
  setLocalizedResourceId
116
100
  });
117
- //# sourceMappingURL=host-api.js.map
101
+ //# sourceMappingURL=actions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/state/host-api/actions.ts"],"sourcesContent":["import { isAction } from '@reduxjs/toolkit'\n\nimport { type Operation } from 'ot-json0'\n\nimport { type PropControllerMessage } from '../../prop-controllers/instances'\nimport { type APIResource, APIResourceLocale } from '../../api/types'\n\nimport { BuilderEditMode } from '../modules/builder-edit-mode'\nimport { type Point } from '../modules/read-write/pointer'\n\nimport { type SharedAction } from '../shared-api'\n\nimport { HostActionTypes } from './action-types'\n\ntype InitAction = { type: typeof HostActionTypes.INIT }\n\ntype CleanUpAction = { type: typeof HostActionTypes.CLEAN_UP }\n\ntype ChangeDocumentAction = {\n type: typeof HostActionTypes.CHANGE_DOCUMENT\n payload: { documentKey: string; operation: Operation }\n}\n\ntype ChangeDocumentElementScrollTopAction = {\n type: typeof HostActionTypes.CHANGE_DOCUMENT_ELEMENT_SCROLL_TOP\n payload: { scrollTop: number }\n}\n\ntype ScrollDocumentElementAction = {\n type: typeof HostActionTypes.SCROLL_DOCUMENT_ELEMENT\n payload: { scrollTopDelta: number }\n}\n\ntype MessageHostPropControllerAction<T = PropControllerMessage> = {\n type: typeof HostActionTypes.MESSAGE_HOST_PROP_CONTROLLER\n payload: { documentKey: string; elementKey: string; propName: string; message: T }\n}\n\ntype ChangeAPIResourceAction = {\n type: typeof HostActionTypes.CHANGE_API_RESOURCE\n payload: { resource: APIResource; locale?: string | null }\n}\n\ntype EvictAPIResourceAction = {\n type: typeof HostActionTypes.EVICT_API_RESOURCE\n payload: { id: string; locale?: string | null }\n}\n\ntype SetBuilderEditModeAction = {\n type: typeof HostActionTypes.SET_BUILDER_EDIT_MODE\n payload: { editMode: BuilderEditMode }\n}\n\ntype SetLocalizedResourceIdAction = {\n type: typeof HostActionTypes.SET_LOCALIZED_RESOURCE_ID\n // TODO: make `locale` required once we've upgraded the builder to always provide it\n payload: { locale?: string; resourceId: string; localizedResourceId: string | null }\n}\n\ntype BuilderPointerMoveAction = {\n type: typeof HostActionTypes.BUILDER_POINTER_MOVE\n payload: { pointer: Point | null }\n}\n\nexport type HostAction =\n | SharedAction\n | InitAction\n | CleanUpAction\n | ChangeDocumentAction\n | ChangeDocumentElementScrollTopAction\n | ScrollDocumentElementAction\n | MessageHostPropControllerAction\n | ChangeAPIResourceAction\n | EvictAPIResourceAction\n | SetBuilderEditModeAction\n | SetLocalizedResourceIdAction\n | BuilderPointerMoveAction\n\nexport function init(): InitAction {\n return { type: HostActionTypes.INIT }\n}\n\nexport function cleanUp(): CleanUpAction {\n return { type: HostActionTypes.CLEAN_UP }\n}\n\nexport function changeDocument(documentKey: string, operation: Operation): ChangeDocumentAction {\n return { type: HostActionTypes.CHANGE_DOCUMENT, payload: { documentKey, operation } }\n}\n\nexport function changeDocumentElementScrollTop(\n scrollTop: number,\n): ChangeDocumentElementScrollTopAction {\n return { type: HostActionTypes.CHANGE_DOCUMENT_ELEMENT_SCROLL_TOP, payload: { scrollTop } }\n}\n\nexport function scrollDocumentElement(scrollTopDelta: number): ScrollDocumentElementAction {\n return { type: HostActionTypes.SCROLL_DOCUMENT_ELEMENT, payload: { scrollTopDelta } }\n}\n\nexport function messageHostPropController<T>(\n documentKey: string,\n elementKey: string,\n propName: string,\n message: T,\n): MessageHostPropControllerAction<T> {\n return {\n type: HostActionTypes.MESSAGE_HOST_PROP_CONTROLLER,\n payload: { documentKey, elementKey, propName, message },\n }\n}\n\nexport function changeApiResource<R extends APIResource>(\n resource: R,\n locale?: APIResourceLocale<R>,\n): ChangeAPIResourceAction {\n return { type: HostActionTypes.CHANGE_API_RESOURCE, payload: { resource, locale } }\n}\n\nexport function evictApiResource(id: string, locale?: string | null): EvictAPIResourceAction {\n return { type: HostActionTypes.EVICT_API_RESOURCE, payload: { id, locale } }\n}\n\nexport function setBuilderEditMode(editMode: BuilderEditMode): SetBuilderEditModeAction {\n return {\n type: HostActionTypes.SET_BUILDER_EDIT_MODE,\n payload: { editMode },\n }\n}\n\nexport function setLocalizedResourceId({\n resourceId,\n localizedResourceId,\n locale,\n}: {\n resourceId: string\n localizedResourceId: string | null\n locale?: string\n}): SetLocalizedResourceIdAction {\n return {\n type: HostActionTypes.SET_LOCALIZED_RESOURCE_ID,\n payload: { resourceId, localizedResourceId, locale },\n }\n}\n\nexport function builderPointerMove(pointer: Point | null): BuilderPointerMoveAction {\n return { type: HostActionTypes.BUILDER_POINTER_MOVE, payload: { pointer } }\n}\n\nexport function isHostAction(action: unknown): action is HostAction {\n return isAction(action) && Object.hasOwn(HostActionTypes, action.type)\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,qBAAyB;AAYzB,0BAAgC;AAkEzB,SAAS,OAAmB;AACjC,SAAO,EAAE,MAAM,oCAAgB,KAAK;AACtC;AAEO,SAAS,UAAyB;AACvC,SAAO,EAAE,MAAM,oCAAgB,SAAS;AAC1C;AAEO,SAAS,eAAe,aAAqB,WAA4C;AAC9F,SAAO,EAAE,MAAM,oCAAgB,iBAAiB,SAAS,EAAE,aAAa,UAAU,EAAE;AACtF;AAEO,SAAS,+BACd,WACsC;AACtC,SAAO,EAAE,MAAM,oCAAgB,oCAAoC,SAAS,EAAE,UAAU,EAAE;AAC5F;AAEO,SAAS,sBAAsB,gBAAqD;AACzF,SAAO,EAAE,MAAM,oCAAgB,yBAAyB,SAAS,EAAE,eAAe,EAAE;AACtF;AAEO,SAAS,0BACd,aACA,YACA,UACA,SACoC;AACpC,SAAO;AAAA,IACL,MAAM,oCAAgB;AAAA,IACtB,SAAS,EAAE,aAAa,YAAY,UAAU,QAAQ;AAAA,EACxD;AACF;AAEO,SAAS,kBACd,UACA,QACyB;AACzB,SAAO,EAAE,MAAM,oCAAgB,qBAAqB,SAAS,EAAE,UAAU,OAAO,EAAE;AACpF;AAEO,SAAS,iBAAiB,IAAY,QAAgD;AAC3F,SAAO,EAAE,MAAM,oCAAgB,oBAAoB,SAAS,EAAE,IAAI,OAAO,EAAE;AAC7E;AAEO,SAAS,mBAAmB,UAAqD;AACtF,SAAO;AAAA,IACL,MAAM,oCAAgB;AAAA,IACtB,SAAS,EAAE,SAAS;AAAA,EACtB;AACF;AAEO,SAAS,uBAAuB;AAAA,EACrC;AAAA,EACA;AAAA,EACA;AACF,GAIiC;AAC/B,SAAO;AAAA,IACL,MAAM,oCAAgB;AAAA,IACtB,SAAS,EAAE,YAAY,qBAAqB,OAAO;AAAA,EACrD;AACF;AAEO,SAAS,mBAAmB,SAAiD;AAClF,SAAO,EAAE,MAAM,oCAAgB,sBAAsB,SAAS,EAAE,QAAQ,EAAE;AAC5E;AAEO,SAAS,aAAa,QAAuC;AAClE,aAAO,yBAAS,MAAM,KAAK,OAAO,OAAO,qCAAiB,OAAO,IAAI;AACvE;","names":[]}
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __copyProps = (to, from, except, desc) => {
7
+ if (from && typeof from === "object" || typeof from === "function") {
8
+ for (let key of __getOwnPropNames(from))
9
+ if (!__hasOwnProp.call(to, key) && key !== except)
10
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
11
+ }
12
+ return to;
13
+ };
14
+ var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
15
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
16
+ var host_api_exports = {};
17
+ module.exports = __toCommonJS(host_api_exports);
18
+ __reExport(host_api_exports, require("./action-types"), module.exports);
19
+ __reExport(host_api_exports, require("./actions"), module.exports);
20
+ // Annotate the CommonJS export names for ESM import in node:
21
+ 0 && (module.exports = {
22
+ ...require("./action-types"),
23
+ ...require("./actions")
24
+ });
25
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/state/host-api/index.ts"],"sourcesContent":["export * from './action-types'\nexport * from './actions'\n"],"mappings":";;;;;;;;;;;;;;;AAAA;AAAA;AAAA,6BAAc,2BAAd;AACA,6BAAc,sBADd;","names":[]}
@@ -18,66 +18,10 @@ var __copyProps = (to, from, except, desc) => {
18
18
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
19
  var builder_api_exports = {};
20
20
  __export(builder_api_exports, {
21
- builderAPIMiddleware: () => builderAPIMiddleware
21
+ builderAPIMiddleware: () => import_middleware.builderAPIMiddleware
22
22
  });
23
23
  module.exports = __toCommonJS(builder_api_exports);
24
- var import_actions2 = require("../../../builder-api/actions");
25
- var import_toolkit2 = require("../../../toolkit");
26
- var import_host_api = require("../../../host-api");
27
- var import_initialize_connection = require("./initialize-connection");
28
- function builderAPIMiddleware(builderProxy) {
29
- return (0, import_toolkit2.actionMiddleware)(({ dispatch }) => (next) => {
30
- if (typeof window === "undefined")
31
- return (action) => next(action);
32
- let cleanUp = () => {
33
- };
34
- return (action) => {
35
- switch (action.type) {
36
- case import_actions2.BuilderActionTypes.CHANGE_ELEMENT_BOX_MODELS:
37
- case import_actions2.BuilderActionTypes.MOUNT_COMPONENT:
38
- case import_actions2.BuilderActionTypes.UNMOUNT_COMPONENT:
39
- case import_actions2.BuilderActionTypes.CHANGE_DOCUMENT_ELEMENT_SIZE:
40
- case import_actions2.BuilderActionTypes.MESSAGE_BUILDER_PROP_CONTROLLER:
41
- case import_actions2.BuilderActionTypes.HANDLE_WHEEL:
42
- case import_actions2.BuilderActionTypes.HANDLE_POINTER_MOVE:
43
- case import_actions2.BuilderActionTypes.ELEMENT_FROM_POINT_CHANGE:
44
- case import_actions2.BuilderActionTypes.SET_LOCALE:
45
- case import_actions2.BuilderActionTypes.SET_BREAKPOINTS:
46
- case import_actions2.BuilderActionTypes.REGISTER_BUILDER_DOCUMENT:
47
- case import_actions2.BuilderActionTypes.UNREGISTER_BUILDER_DOCUMENT:
48
- case import_actions2.BuilderActionTypes.REGISTER_BUILDER_COMPONENT:
49
- case import_actions2.BuilderActionTypes.UNREGISTER_BUILDER_COMPONENT:
50
- builderProxy.execute(action);
51
- break;
52
- case import_host_api.HostActionTypes.CHANGE_DOCUMENT_ELEMENT_SCROLL_TOP:
53
- window.document.documentElement.scrollTo({
54
- top: action.payload.scrollTop,
55
- behavior: "instant"
56
- });
57
- break;
58
- case import_host_api.HostActionTypes.SCROLL_DOCUMENT_ELEMENT:
59
- window.document.documentElement.scrollBy({
60
- top: action.payload.scrollTopDelta,
61
- behavior: "instant"
62
- });
63
- break;
64
- case import_host_api.HostActionTypes.SET_BUILDER_EDIT_MODE:
65
- window.getSelection()?.removeAllRanges();
66
- break;
67
- case import_host_api.HostActionTypes.INIT:
68
- cleanUp();
69
- cleanUp = dispatch((0, import_initialize_connection.initializeBuilderConnection)(builderProxy));
70
- break;
71
- case import_host_api.HostActionTypes.CLEAN_UP:
72
- cleanUp();
73
- cleanUp = () => {
74
- };
75
- break;
76
- }
77
- return next(action);
78
- };
79
- });
80
- }
24
+ var import_middleware = require("./middleware");
81
25
  // Annotate the CommonJS export names for ESM import in node:
82
26
  0 && (module.exports = {
83
27
  builderAPIMiddleware
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../src/state/middleware/read-write/builder-api/index.ts"],"sourcesContent":["import { type Middleware } from '@reduxjs/toolkit'\n\nimport { type Action } from '../../../actions'\n\nimport { BuilderActionTypes } from '../../../builder-api/actions'\n\nimport { actionMiddleware } from '../../../toolkit'\n\nimport { type BuilderAPIProxy } from '../../../builder-api/proxy'\nimport { HostActionTypes } from '../../../host-api'\n\nimport { type State, type Dispatch } from '../../../read-write-state'\nimport { initializeBuilderConnection } from './initialize-connection'\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.scrollTo({\n top: action.payload.scrollTop,\n behavior: 'instant',\n })\n break\n\n case HostActionTypes.SCROLL_DOCUMENT_ELEMENT:\n window.document.documentElement.scrollBy({\n top: action.payload.scrollTopDelta,\n behavior: 'instant',\n })\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 // and in response to host's client-side navigation\n cleanUp() // cleanup existing connection setup, if any\n cleanUp = dispatch(initializeBuilderConnection(builderProxy))\n break\n\n case HostActionTypes.CLEAN_UP:\n // dispatched by the parent window on disconnect\n cleanUp()\n cleanUp = () => {}\n break\n }\n\n return next(action)\n }\n })\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAIA,IAAAA,kBAAmC;AAEnC,IAAAC,kBAAiC;AAGjC,sBAAgC;AAGhC,mCAA4C;AAErC,SAAS,qBACd,cACuC;AACvC,aAAO,kCAAiB,CAAC,EAAE,SAAS,MAAM,UAAQ;AAChD,QAAI,OAAO,WAAW;AAAa,aAAO,CAAC,WAAmB,KAAK,MAAM;AAEzE,QAAI,UAAU,MAAM;AAAA,IAAC;AACrB,WAAO,CAAC,WAAmB;AACzB,cAAQ,OAAO,MAAM;AAAA,QACnB,KAAK,mCAAmB;AAAA,QACxB,KAAK,mCAAmB;AAAA,QACxB,KAAK,mCAAmB;AAAA,QACxB,KAAK,mCAAmB;AAAA,QACxB,KAAK,mCAAmB;AAAA,QACxB,KAAK,mCAAmB;AAAA,QACxB,KAAK,mCAAmB;AAAA,QACxB,KAAK,mCAAmB;AAAA,QACxB,KAAK,mCAAmB;AAAA,QACxB,KAAK,mCAAmB;AAAA,QACxB,KAAK,mCAAmB;AAAA,QACxB,KAAK,mCAAmB;AAAA,QACxB,KAAK,mCAAmB;AAAA,QACxB,KAAK,mCAAmB;AACtB,uBAAa,QAAQ,MAAM;AAC3B;AAAA,QAEF,KAAK,gCAAgB;AACnB,iBAAO,SAAS,gBAAgB,SAAS;AAAA,YACvC,KAAK,OAAO,QAAQ;AAAA,YACpB,UAAU;AAAA,UACZ,CAAC;AACD;AAAA,QAEF,KAAK,gCAAgB;AACnB,iBAAO,SAAS,gBAAgB,SAAS;AAAA,YACvC,KAAK,OAAO,QAAQ;AAAA,YACpB,UAAU;AAAA,UACZ,CAAC;AACD;AAAA,QAEF,KAAK,gCAAgB;AACnB,iBAAO,aAAa,GAAG,gBAAgB;AACvC;AAAA,QAEF,KAAK,gCAAgB;AAGnB,kBAAQ;AACR,oBAAU,aAAS,0DAA4B,YAAY,CAAC;AAC5D;AAAA,QAEF,KAAK,gCAAgB;AAEnB,kBAAQ;AACR,oBAAU,MAAM;AAAA,UAAC;AACjB;AAAA,MACJ;AAEA,aAAO,KAAK,MAAM;AAAA,IACpB;AAAA,EACF,CAAC;AACH;","names":["import_actions","import_toolkit"]}
1
+ {"version":3,"sources":["../../../../../../src/state/middleware/read-write/builder-api/index.ts"],"sourcesContent":["export { builderAPIMiddleware } from './middleware'\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,wBAAqC;","names":[]}
@@ -100,9 +100,12 @@ function lockDocumentScroll() {
100
100
  return (dispatch) => {
101
101
  const lastDocumentOverflow = window.document.documentElement.style.overflow;
102
102
  window.document.documentElement.style.overflow = "hidden";
103
+ const lastBodyOverflow = window.document.body.style.overflow;
104
+ window.document.body.style.overflow = "initial";
103
105
  window.document.documentElement.addEventListener("wheel", handleWheelEvent);
104
106
  return () => {
105
107
  window.document.documentElement.style.overflow = lastDocumentOverflow;
108
+ window.document.body.style.overflow = lastBodyOverflow;
106
109
  window.document.documentElement.removeEventListener("wheel", handleWheelEvent);
107
110
  };
108
111
  function handleWheelEvent({ deltaX, deltaY }) {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../src/state/middleware/read-write/builder-api/initialize-connection.ts"],"sourcesContent":["import { type ThunkAction } from '@reduxjs/toolkit'\n\nimport deepEqual from '../../../../utils/deepEqual'\n\nimport * as BoxModels from '../../../modules/read-write/box-models'\nimport * as BuilderEditMode from '../../../modules/builder-edit-mode'\n\nimport { type Action } from '../../../actions'\n\nimport * as ReadOnly from '../../../actions/internal/read-only-actions'\nimport * as Builder from '../../../builder-api/actions'\n\nimport { serializeControls } from '../../../../builder'\nimport { type BuilderAPIProxy } from '../../../builder-api/proxy'\n\nimport * as ReadOnlyState from '../../../read-only-state'\nimport {\n type State,\n getDocuments,\n getMeasurables,\n getBoxModels,\n getBoxModel,\n getElementImperativeHandlesContainingElement,\n getPointer,\n} from '../../../read-write-state'\n\nimport { type ElementSize, getElementSize } from './element-size'\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.BoxDisplayModel>>()\n\n measurables.forEach((documentMeasurables, documentKey) => {\n const measuredDocumentBoxModels = new Map<string, BoxModels.BoxDisplayModel>()\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.BoxDisplayModel | null>>()\n\n currentBoxModels.forEach((currentDocumentBoxModels, documentKey) => {\n const changedDocumentBoxModels = new Map<string, BoxModels.BoxDisplayModel | 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.BoxDisplayModel | 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\nfunction 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\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 (\n ReadOnlyState.getBuilderEditMode(getState()) === BuilderEditMode.BuilderEditMode.INTERACT\n ) {\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 (\n ReadOnlyState.getBuilderEditMode(getState()) === BuilderEditMode.BuilderEditMode.INTERACT\n ) {\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: ElementSize\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 = ReadOnlyState.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 = ReadOnlyState.getComponentsMeta(state)\n\n componentsMeta.forEach((meta, type) => {\n const descriptors = ReadOnlyState.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 = getDocuments(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 initializeBuilderConnection(\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 = ReadOnlyState.getBreakpoints(getState())\n dispatch(Builder.setBreakpoints(breakpoints))\n\n const locale = ReadOnlyState.getLocale(getState())\n if (locale != null) dispatch(Builder.setLocale(new Intl.Locale(locale)))\n\n dispatch(ReadOnly.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(ReadOnly.setIsInBuilder(false))\n }\n }\n}\n"],"mappings":"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","names":["deepEqual","document"]}
1
+ {"version":3,"sources":["../../../../../../src/state/middleware/read-write/builder-api/initialize-connection.ts"],"sourcesContent":["import { type ThunkAction } from '@reduxjs/toolkit'\n\nimport deepEqual from '../../../../utils/deepEqual'\n\nimport * as BoxModels from '../../../modules/read-write/box-models'\nimport * as BuilderEditMode from '../../../modules/builder-edit-mode'\n\nimport { type Action } from '../../../actions'\n\nimport * as ReadOnly from '../../../actions/internal/read-only-actions'\nimport * as Builder from '../../../builder-api/actions'\n\nimport { serializeControls } from '../../../../builder'\nimport { type BuilderAPIProxy } from '../../../builder-api/proxy'\n\nimport * as ReadOnlyState from '../../../read-only-state'\nimport {\n type State,\n getDocuments,\n getMeasurables,\n getBoxModels,\n getBoxModel,\n getElementImperativeHandlesContainingElement,\n getPointer,\n} from '../../../read-write-state'\n\nimport { type ElementSize, getElementSize } from './element-size'\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.BoxDisplayModel>>()\n\n measurables.forEach((documentMeasurables, documentKey) => {\n const measuredDocumentBoxModels = new Map<string, BoxModels.BoxDisplayModel>()\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.BoxDisplayModel | null>>()\n\n currentBoxModels.forEach((currentDocumentBoxModels, documentKey) => {\n const changedDocumentBoxModels = new Map<string, BoxModels.BoxDisplayModel | 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.BoxDisplayModel | 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\nfunction 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\nfunction lockDocumentScroll(): ThunkAction<() => void, State, unknown, Action> {\n return dispatch => {\n // Adjust root HTML styles so the page is scrollable in the builder.\n // Specifically, we make two adjustments:\n //\n // 1. Set the root element's overflow to hidden. Otherwise, you'll see two\n // scrollbars in the builder when viewing the page: one being the native\n // scrollbar of the page, and the other being the builder's scrollbar.\n //\n // 2. Set the root body element's overflow to initial. There's cases where\n // if the body has an overflow property set on it, then the body\n // overflow-y property will become auto. This, combined with the\n // body/html having a 100% height means that the overflowing content of\n // the body won't count towards the scroll height of the root element,\n // thus preventing scrolling from the builder.\n const lastDocumentOverflow = window.document.documentElement.style.overflow\n window.document.documentElement.style.overflow = 'hidden'\n\n const lastBodyOverflow = window.document.body.style.overflow\n window.document.body.style.overflow = 'initial'\n\n window.document.documentElement.addEventListener('wheel', handleWheelEvent)\n\n return () => {\n window.document.documentElement.style.overflow = lastDocumentOverflow\n window.document.body.style.overflow = lastBodyOverflow\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 (\n ReadOnlyState.getBuilderEditMode(getState()) === BuilderEditMode.BuilderEditMode.INTERACT\n ) {\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 (\n ReadOnlyState.getBuilderEditMode(getState()) === BuilderEditMode.BuilderEditMode.INTERACT\n ) {\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: ElementSize\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 = ReadOnlyState.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 = ReadOnlyState.getComponentsMeta(state)\n\n componentsMeta.forEach((meta, type) => {\n const descriptors = ReadOnlyState.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 = getDocuments(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 initializeBuilderConnection(\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 = ReadOnlyState.getBreakpoints(getState())\n dispatch(Builder.setBreakpoints(breakpoints))\n\n const locale = ReadOnlyState.getLocale(getState())\n if (locale != null) dispatch(Builder.setLocale(new Intl.Locale(locale)))\n\n dispatch(ReadOnly.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(ReadOnly.setIsInBuilder(false))\n }\n }\n}\n"],"mappings":"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","names":["deepEqual","document"]}
@@ -0,0 +1,89 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var middleware_exports = {};
20
+ __export(middleware_exports, {
21
+ builderAPIMiddleware: () => builderAPIMiddleware
22
+ });
23
+ module.exports = __toCommonJS(middleware_exports);
24
+ var import_action_types = require("../../../builder-api/action-types");
25
+ var import_toolkit2 = require("../../../toolkit");
26
+ var import_host_api = require("../../../host-api");
27
+ var import_initialize_connection = require("./initialize-connection");
28
+ var import_mount_change_action_buffer = require("./mount-change-action-buffer");
29
+ function builderAPIMiddleware(builderProxy) {
30
+ const mountChangeBuffer = new import_mount_change_action_buffer.MountChangeActionBuffer((action) => builderProxy.execute(action));
31
+ return (0, import_toolkit2.actionMiddleware)(({ dispatch }) => (next) => {
32
+ if (typeof window === "undefined")
33
+ return (action) => next(action);
34
+ let cleanUp = () => {
35
+ };
36
+ return (action) => {
37
+ switch (action.type) {
38
+ case import_action_types.BuilderActionTypes.MOUNT_COMPONENT:
39
+ case import_action_types.BuilderActionTypes.UNMOUNT_COMPONENT:
40
+ mountChangeBuffer.schedule(action);
41
+ break;
42
+ case import_action_types.BuilderActionTypes.CHANGE_ELEMENT_BOX_MODELS:
43
+ case import_action_types.BuilderActionTypes.CHANGE_DOCUMENT_ELEMENT_SIZE:
44
+ case import_action_types.BuilderActionTypes.MESSAGE_BUILDER_PROP_CONTROLLER:
45
+ case import_action_types.BuilderActionTypes.HANDLE_WHEEL:
46
+ case import_action_types.BuilderActionTypes.HANDLE_POINTER_MOVE:
47
+ case import_action_types.BuilderActionTypes.ELEMENT_FROM_POINT_CHANGE:
48
+ case import_action_types.BuilderActionTypes.SET_LOCALE:
49
+ case import_action_types.BuilderActionTypes.SET_BREAKPOINTS:
50
+ case import_action_types.BuilderActionTypes.REGISTER_BUILDER_DOCUMENT:
51
+ case import_action_types.BuilderActionTypes.UNREGISTER_BUILDER_DOCUMENT:
52
+ case import_action_types.BuilderActionTypes.REGISTER_BUILDER_COMPONENT:
53
+ case import_action_types.BuilderActionTypes.UNREGISTER_BUILDER_COMPONENT:
54
+ builderProxy.execute(action);
55
+ break;
56
+ case import_host_api.HostActionTypes.CHANGE_DOCUMENT_ELEMENT_SCROLL_TOP:
57
+ window.document.documentElement.scrollTo({
58
+ top: action.payload.scrollTop,
59
+ behavior: "instant"
60
+ });
61
+ break;
62
+ case import_host_api.HostActionTypes.SCROLL_DOCUMENT_ELEMENT:
63
+ window.document.documentElement.scrollBy({
64
+ top: action.payload.scrollTopDelta,
65
+ behavior: "instant"
66
+ });
67
+ break;
68
+ case import_host_api.HostActionTypes.SET_BUILDER_EDIT_MODE:
69
+ window.getSelection()?.removeAllRanges();
70
+ break;
71
+ case import_host_api.HostActionTypes.INIT:
72
+ cleanUp();
73
+ cleanUp = dispatch((0, import_initialize_connection.initializeBuilderConnection)(builderProxy));
74
+ break;
75
+ case import_host_api.HostActionTypes.CLEAN_UP:
76
+ cleanUp();
77
+ cleanUp = () => {
78
+ };
79
+ break;
80
+ }
81
+ return next(action);
82
+ };
83
+ });
84
+ }
85
+ // Annotate the CommonJS export names for ESM import in node:
86
+ 0 && (module.exports = {
87
+ builderAPIMiddleware
88
+ });
89
+ //# sourceMappingURL=middleware.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../../src/state/middleware/read-write/builder-api/middleware.ts"],"sourcesContent":["import { type Middleware } from '@reduxjs/toolkit'\n\nimport { type Action } from '../../../actions'\n\nimport { BuilderActionTypes } from '../../../builder-api/action-types'\n\nimport { actionMiddleware } from '../../../toolkit'\n\nimport { type BuilderAPIProxy } from '../../../builder-api/proxy'\nimport { HostActionTypes } from '../../../host-api'\n\nimport { type State, type Dispatch } from '../../../read-write-state'\nimport { initializeBuilderConnection } from './initialize-connection'\nimport { MountChangeActionBuffer } from './mount-change-action-buffer'\n\nexport function builderAPIMiddleware(\n builderProxy: BuilderAPIProxy,\n): Middleware<Dispatch, State, Dispatch> {\n const mountChangeBuffer = new MountChangeActionBuffer(action => builderProxy.execute(action))\n\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.MOUNT_COMPONENT:\n case BuilderActionTypes.UNMOUNT_COMPONENT:\n mountChangeBuffer.schedule(action)\n break\n\n case BuilderActionTypes.CHANGE_ELEMENT_BOX_MODELS:\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.scrollTo({\n top: action.payload.scrollTop,\n behavior: 'instant',\n })\n break\n\n case HostActionTypes.SCROLL_DOCUMENT_ELEMENT:\n window.document.documentElement.scrollBy({\n top: action.payload.scrollTopDelta,\n behavior: 'instant',\n })\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 // and in response to host's client-side navigation\n cleanUp() // cleanup existing connection setup, if any\n cleanUp = dispatch(initializeBuilderConnection(builderProxy))\n break\n\n case HostActionTypes.CLEAN_UP:\n // dispatched by the parent window on disconnect\n cleanUp()\n cleanUp = () => {}\n break\n }\n\n return next(action)\n }\n })\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAIA,0BAAmC;AAEnC,IAAAA,kBAAiC;AAGjC,sBAAgC;AAGhC,mCAA4C;AAC5C,wCAAwC;AAEjC,SAAS,qBACd,cACuC;AACvC,QAAM,oBAAoB,IAAI,0DAAwB,YAAU,aAAa,QAAQ,MAAM,CAAC;AAE5F,aAAO,kCAAiB,CAAC,EAAE,SAAS,MAAM,UAAQ;AAChD,QAAI,OAAO,WAAW;AAAa,aAAO,CAAC,WAAmB,KAAK,MAAM;AAEzE,QAAI,UAAU,MAAM;AAAA,IAAC;AACrB,WAAO,CAAC,WAAmB;AACzB,cAAQ,OAAO,MAAM;AAAA,QACnB,KAAK,uCAAmB;AAAA,QACxB,KAAK,uCAAmB;AACtB,4BAAkB,SAAS,MAAM;AACjC;AAAA,QAEF,KAAK,uCAAmB;AAAA,QACxB,KAAK,uCAAmB;AAAA,QACxB,KAAK,uCAAmB;AAAA,QACxB,KAAK,uCAAmB;AAAA,QACxB,KAAK,uCAAmB;AAAA,QACxB,KAAK,uCAAmB;AAAA,QACxB,KAAK,uCAAmB;AAAA,QACxB,KAAK,uCAAmB;AAAA,QACxB,KAAK,uCAAmB;AAAA,QACxB,KAAK,uCAAmB;AAAA,QACxB,KAAK,uCAAmB;AAAA,QACxB,KAAK,uCAAmB;AACtB,uBAAa,QAAQ,MAAM;AAC3B;AAAA,QAEF,KAAK,gCAAgB;AACnB,iBAAO,SAAS,gBAAgB,SAAS;AAAA,YACvC,KAAK,OAAO,QAAQ;AAAA,YACpB,UAAU;AAAA,UACZ,CAAC;AACD;AAAA,QAEF,KAAK,gCAAgB;AACnB,iBAAO,SAAS,gBAAgB,SAAS;AAAA,YACvC,KAAK,OAAO,QAAQ;AAAA,YACpB,UAAU;AAAA,UACZ,CAAC;AACD;AAAA,QAEF,KAAK,gCAAgB;AACnB,iBAAO,aAAa,GAAG,gBAAgB;AACvC;AAAA,QAEF,KAAK,gCAAgB;AAGnB,kBAAQ;AACR,oBAAU,aAAS,0DAA4B,YAAY,CAAC;AAC5D;AAAA,QAEF,KAAK,gCAAgB;AAEnB,kBAAQ;AACR,oBAAU,MAAM;AAAA,UAAC;AACjB;AAAA,MACJ;AAEA,aAAO,KAAK,MAAM;AAAA,IACpB;AAAA,EACF,CAAC;AACH;","names":["import_toolkit"]}
@@ -0,0 +1,72 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key2 of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key2) && key2 !== except)
14
+ __defProp(to, key2, { get: () => from[key2], enumerable: !(desc = __getOwnPropDesc(from, key2)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var mount_change_action_buffer_exports = {};
20
+ __export(mount_change_action_buffer_exports, {
21
+ MountChangeActionBuffer: () => MountChangeActionBuffer
22
+ });
23
+ module.exports = __toCommonJS(mount_change_action_buffer_exports);
24
+ var import_action_types = require("../../../builder-api/action-types");
25
+ class MountChangeActionBuffer {
26
+ constructor(execute) {
27
+ this.execute = execute;
28
+ this.scheduledActions = [];
29
+ this.flushScheduled = false;
30
+ }
31
+ scheduledActions;
32
+ flushScheduled;
33
+ schedule(action) {
34
+ this.scheduledActions.push(action);
35
+ if (!this.flushScheduled) {
36
+ this.scheduleFlush();
37
+ }
38
+ }
39
+ scheduleFlush() {
40
+ this.flushScheduled = true;
41
+ queueMicrotask(() => {
42
+ this.flushScheduled = false;
43
+ const batch = this.scheduledActions;
44
+ this.scheduledActions = [];
45
+ const coalescedBatch = coalesceMountChangeActions(batch);
46
+ coalescedBatch.forEach((action) => this.execute(action));
47
+ });
48
+ }
49
+ }
50
+ function key(a) {
51
+ return `${a.payload.documentKey}:${a.payload.elementKey}`;
52
+ }
53
+ function coalesceMountChangeActions(batch) {
54
+ const mountsPerElement = /* @__PURE__ */ new Map();
55
+ batch.forEach((action) => {
56
+ const actionKey = key(action);
57
+ const currentCount = mountsPerElement.get(actionKey)?.count ?? 0;
58
+ mountsPerElement.set(actionKey, {
59
+ count: action.type === import_action_types.BuilderActionTypes.MOUNT_COMPONENT ? currentCount + 1 : currentCount - 1,
60
+ payload: action.payload
61
+ });
62
+ });
63
+ return [...mountsPerElement.values()].filter(({ count }) => count != 0).map(({ count, payload }) => ({
64
+ type: count > 0 ? import_action_types.BuilderActionTypes.MOUNT_COMPONENT : import_action_types.BuilderActionTypes.UNMOUNT_COMPONENT,
65
+ payload
66
+ }));
67
+ }
68
+ // Annotate the CommonJS export names for ESM import in node:
69
+ 0 && (module.exports = {
70
+ MountChangeActionBuffer
71
+ });
72
+ //# sourceMappingURL=mount-change-action-buffer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../../src/state/middleware/read-write/builder-api/mount-change-action-buffer.ts"],"sourcesContent":["import { BuilderActionTypes } from '../../../builder-api/action-types'\nimport type { MountComponentAction, UnmountComponentAction } from '../../../builder-api/actions'\n\ntype MountChangeAction = UnmountComponentAction | MountComponentAction\n\n/**\n * Allows for queuing MountChangeActions dispatched via React effects into a buffer\n * processed after the completion of the current React commit (scheduled using queueMicrotask).\n *\n * Before executing the actions in the buffer, the buffer is processed removing any\n * pairs of MOUNT_COMPONENT and UNMOUNT_COMPONENT actions corresponding to the same\n * element.\n *\n * Without this buffer, moved elements will result in separate UNMOUNT and MOUNT\n * actions being sent to the builder at the time of the elements unmount at its original\n * location and remount at its new location. This causes a flicker in the builder as\n * the element is considered unmounted in the time between its UNMOUNT and MOUNT actions.\n *\n * Note that it is safe to remove these actions pairs as these actions do not communicate\n * the location of a component's mount but simply whether it is currently mounted.\n */\nexport class MountChangeActionBuffer {\n private scheduledActions: MountChangeAction[]\n private flushScheduled: boolean\n\n constructor(private readonly execute: (action: MountChangeAction) => void) {\n this.scheduledActions = []\n this.flushScheduled = false\n }\n\n schedule(action: MountChangeAction) {\n this.scheduledActions.push(action)\n\n if (!this.flushScheduled) {\n this.scheduleFlush()\n }\n }\n\n private scheduleFlush() {\n this.flushScheduled = true\n\n queueMicrotask(() => {\n this.flushScheduled = false\n const batch = this.scheduledActions\n this.scheduledActions = []\n\n const coalescedBatch = coalesceMountChangeActions(batch)\n coalescedBatch.forEach(action => this.execute(action))\n })\n }\n}\n\n/**\n * Provides a key for the target of a MountChangeAction. elementKey on its own is\n * not enough as it is not unique across documents.\n */\nfunction key(a: { payload: { documentKey: string; elementKey: string } }) {\n return `${a.payload.documentKey}:${a.payload.elementKey}`\n}\n\n/**\n * Removes pairs of MOUNT_COMPONENT and UNMOUNT_COMPONENT actions, if there are actions leftover it returns a single\n * action corresponding to the leftover type.\n */\nfunction coalesceMountChangeActions(batch: MountChangeAction[]): MountChangeAction[] {\n const mountsPerElement = new Map<\n string,\n { count: number; payload: MountChangeAction['payload'] }\n >()\n\n batch.forEach(action => {\n const actionKey = key(action)\n const currentCount = mountsPerElement.get(actionKey)?.count ?? 0\n mountsPerElement.set(actionKey, {\n count:\n action.type === BuilderActionTypes.MOUNT_COMPONENT ? currentCount + 1 : currentCount - 1,\n payload: action.payload,\n })\n })\n\n return [...mountsPerElement.values()]\n .filter(({ count }) => count != 0)\n .map(({ count, payload }) => ({\n type: count > 0 ? BuilderActionTypes.MOUNT_COMPONENT : BuilderActionTypes.UNMOUNT_COMPONENT,\n payload,\n }))\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,0BAAmC;AAqB5B,MAAM,wBAAwB;AAAA,EAInC,YAA6B,SAA8C;AAA9C;AAC3B,SAAK,mBAAmB,CAAC;AACzB,SAAK,iBAAiB;AAAA,EACxB;AAAA,EANQ;AAAA,EACA;AAAA,EAOR,SAAS,QAA2B;AAClC,SAAK,iBAAiB,KAAK,MAAM;AAEjC,QAAI,CAAC,KAAK,gBAAgB;AACxB,WAAK,cAAc;AAAA,IACrB;AAAA,EACF;AAAA,EAEQ,gBAAgB;AACtB,SAAK,iBAAiB;AAEtB,mBAAe,MAAM;AACnB,WAAK,iBAAiB;AACtB,YAAM,QAAQ,KAAK;AACnB,WAAK,mBAAmB,CAAC;AAEzB,YAAM,iBAAiB,2BAA2B,KAAK;AACvD,qBAAe,QAAQ,YAAU,KAAK,QAAQ,MAAM,CAAC;AAAA,IACvD,CAAC;AAAA,EACH;AACF;AAMA,SAAS,IAAI,GAA6D;AACxE,SAAO,GAAG,EAAE,QAAQ,WAAW,IAAI,EAAE,QAAQ,UAAU;AACzD;AAMA,SAAS,2BAA2B,OAAiD;AACnF,QAAM,mBAAmB,oBAAI,IAG3B;AAEF,QAAM,QAAQ,YAAU;AACtB,UAAM,YAAY,IAAI,MAAM;AAC5B,UAAM,eAAe,iBAAiB,IAAI,SAAS,GAAG,SAAS;AAC/D,qBAAiB,IAAI,WAAW;AAAA,MAC9B,OACE,OAAO,SAAS,uCAAmB,kBAAkB,eAAe,IAAI,eAAe;AAAA,MACzF,SAAS,OAAO;AAAA,IAClB,CAAC;AAAA,EACH,CAAC;AAED,SAAO,CAAC,GAAG,iBAAiB,OAAO,CAAC,EACjC,OAAO,CAAC,EAAE,MAAM,MAAM,SAAS,CAAC,EAChC,IAAI,CAAC,EAAE,OAAO,QAAQ,OAAO;AAAA,IAC5B,MAAM,QAAQ,IAAI,uCAAmB,kBAAkB,uCAAmB;AAAA,IAC1E;AAAA,EACF,EAAE;AACN;","names":[]}
@@ -32,14 +32,14 @@ __export(measure_box_models_exports, {
32
32
  });
33
33
  module.exports = __toCommonJS(measure_box_models_exports);
34
34
  var BoxModels = __toESM(require("../../modules/read-write/box-models"));
35
- var import_read_only_actions = require("../../actions/internal/read-only-actions");
35
+ var import_read_write_action_types = require("../../actions/internal/read-write-action-types");
36
36
  var ReadWriteActions = __toESM(require("../../actions/internal/read-write-actions"));
37
37
  var import_toolkit2 = require("../../toolkit");
38
38
  function measureBoxModelsMiddleware() {
39
39
  return (0, import_toolkit2.actionMiddleware)(({ dispatch }) => (next) => {
40
40
  return (action) => {
41
41
  switch (action.type) {
42
- case import_read_only_actions.ReadOnlyActionTypes.REGISTER_COMPONENT_HANDLE: {
42
+ case import_read_write_action_types.ReadWriteActionTypes.REGISTER_COMPONENT_HANDLE: {
43
43
  if (BoxModels.isMeasurable(action.payload.componentHandle)) {
44
44
  dispatch(
45
45
  ReadWriteActions.registerMeasurable(
@@ -51,7 +51,7 @@ function measureBoxModelsMiddleware() {
51
51
  }
52
52
  break;
53
53
  }
54
- case import_read_only_actions.ReadOnlyActionTypes.UNREGISTER_COMPONENT_HANDLE:
54
+ case import_read_write_action_types.ReadWriteActionTypes.UNREGISTER_COMPONENT_HANDLE:
55
55
  dispatch(
56
56
  ReadWriteActions.unregisterMeasurable(
57
57
  action.payload.documentKey,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/state/middleware/read-write/measure-box-models.ts"],"sourcesContent":["import { type Middleware } from '@reduxjs/toolkit'\n\nimport * as BoxModels from '../../modules/read-write/box-models'\nimport { type Action } from '../../actions'\n\nimport { ReadOnlyActionTypes } from '../../actions/internal/read-only-actions'\nimport * as ReadWriteActions from '../../actions/internal/read-write-actions'\n\nimport { actionMiddleware } from '../../toolkit'\n\nimport { type State, type Dispatch } from '../../read-write-state'\n\nexport function measureBoxModelsMiddleware(): Middleware<Dispatch, State, Dispatch> {\n return actionMiddleware(({ dispatch }) => next => {\n return (action: Action) => {\n switch (action.type) {\n case ReadOnlyActionTypes.REGISTER_COMPONENT_HANDLE: {\n if (BoxModels.isMeasurable(action.payload.componentHandle)) {\n dispatch(\n ReadWriteActions.registerMeasurable(\n action.payload.documentKey,\n action.payload.elementKey,\n action.payload.componentHandle,\n ),\n )\n }\n\n break\n }\n\n case ReadOnlyActionTypes.UNREGISTER_COMPONENT_HANDLE:\n dispatch(\n ReadWriteActions.unregisterMeasurable(\n action.payload.documentKey,\n action.payload.elementKey,\n ),\n )\n break\n }\n\n return next(action)\n }\n })\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,gBAA2B;AAG3B,+BAAoC;AACpC,uBAAkC;AAElC,IAAAA,kBAAiC;AAI1B,SAAS,6BAAoE;AAClF,aAAO,kCAAiB,CAAC,EAAE,SAAS,MAAM,UAAQ;AAChD,WAAO,CAAC,WAAmB;AACzB,cAAQ,OAAO,MAAM;AAAA,QACnB,KAAK,6CAAoB,2BAA2B;AAClD,cAAI,UAAU,aAAa,OAAO,QAAQ,eAAe,GAAG;AAC1D;AAAA,cACE,iBAAiB;AAAA,gBACf,OAAO,QAAQ;AAAA,gBACf,OAAO,QAAQ;AAAA,gBACf,OAAO,QAAQ;AAAA,cACjB;AAAA,YACF;AAAA,UACF;AAEA;AAAA,QACF;AAAA,QAEA,KAAK,6CAAoB;AACvB;AAAA,YACE,iBAAiB;AAAA,cACf,OAAO,QAAQ;AAAA,cACf,OAAO,QAAQ;AAAA,YACjB;AAAA,UACF;AACA;AAAA,MACJ;AAEA,aAAO,KAAK,MAAM;AAAA,IACpB;AAAA,EACF,CAAC;AACH;","names":["import_toolkit"]}
1
+ {"version":3,"sources":["../../../../../src/state/middleware/read-write/measure-box-models.ts"],"sourcesContent":["import { type Middleware } from '@reduxjs/toolkit'\n\nimport * as BoxModels from '../../modules/read-write/box-models'\nimport { type Action } from '../../actions'\n\nimport { ReadWriteActionTypes } from '../../actions/internal/read-write-action-types'\nimport * as ReadWriteActions from '../../actions/internal/read-write-actions'\n\nimport { actionMiddleware } from '../../toolkit'\n\nimport { type State, type Dispatch } from '../../read-write-state'\n\nexport function measureBoxModelsMiddleware(): Middleware<Dispatch, State, Dispatch> {\n return actionMiddleware(({ dispatch }) => next => {\n return (action: Action) => {\n switch (action.type) {\n case ReadWriteActionTypes.REGISTER_COMPONENT_HANDLE: {\n if (BoxModels.isMeasurable(action.payload.componentHandle)) {\n dispatch(\n ReadWriteActions.registerMeasurable(\n action.payload.documentKey,\n action.payload.elementKey,\n action.payload.componentHandle,\n ),\n )\n }\n\n break\n }\n\n case ReadWriteActionTypes.UNREGISTER_COMPONENT_HANDLE:\n dispatch(\n ReadWriteActions.unregisterMeasurable(\n action.payload.documentKey,\n action.payload.elementKey,\n ),\n )\n break\n }\n\n return next(action)\n }\n })\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,gBAA2B;AAG3B,qCAAqC;AACrC,uBAAkC;AAElC,IAAAA,kBAAiC;AAI1B,SAAS,6BAAoE;AAClF,aAAO,kCAAiB,CAAC,EAAE,SAAS,MAAM,UAAQ;AAChD,WAAO,CAAC,WAAmB;AACzB,cAAQ,OAAO,MAAM;AAAA,QACnB,KAAK,oDAAqB,2BAA2B;AACnD,cAAI,UAAU,aAAa,OAAO,QAAQ,eAAe,GAAG;AAC1D;AAAA,cACE,iBAAiB;AAAA,gBACf,OAAO,QAAQ;AAAA,gBACf,OAAO,QAAQ;AAAA,gBACf,OAAO,QAAQ;AAAA,cACjB;AAAA,YACF;AAAA,UACF;AAEA;AAAA,QACF;AAAA,QAEA,KAAK,oDAAqB;AACxB;AAAA,YACE,iBAAiB;AAAA,cACf,OAAO,QAAQ;AAAA,cACf,OAAO,QAAQ;AAAA,YACjB;AAAA,UACF;AACA;AAAA,MACJ;AAEA,aAAO,KAAK,MAAM;AAAA,IACpB;AAAA,EACF,CAAC;AACH;","names":["import_toolkit"]}