@makeswift/runtime 0.27.1 → 0.27.3

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 (304) hide show
  1. package/dist/cjs/api/api-resources-client.js +160 -0
  2. package/dist/cjs/api/api-resources-client.js.map +1 -0
  3. package/dist/cjs/api/react.js +256 -0
  4. package/dist/cjs/api/react.js.map +1 -0
  5. package/dist/cjs/api-handler/handlers/manifest.js +1 -1
  6. package/dist/cjs/api-handler/handlers/webhook/diff-projection.js +62 -0
  7. package/dist/cjs/api-handler/handlers/webhook/diff-projection.js.map +1 -0
  8. package/dist/cjs/box-model.js +33 -0
  9. package/dist/cjs/box-model.js.map +1 -0
  10. package/dist/cjs/builder/serialization.js +78 -0
  11. package/dist/cjs/builder/serialization.js.map +1 -0
  12. package/dist/cjs/client/index.js +3 -3
  13. package/dist/cjs/components/builtin/index.js +84 -0
  14. package/dist/cjs/components/builtin/index.js.map +1 -0
  15. package/dist/cjs/components/index.js +25 -0
  16. package/dist/cjs/components/index.js.map +1 -0
  17. package/dist/cjs/controls/rich-text-v2/translation.js +187 -0
  18. package/dist/cjs/controls/rich-text-v2/translation.js.map +1 -0
  19. package/dist/cjs/controls/serialization/base/index.js +78 -0
  20. package/dist/cjs/controls/serialization/base/index.js.map +1 -0
  21. package/dist/cjs/controls/serialization/base/visitor.js +59 -0
  22. package/dist/cjs/controls/serialization/base/visitor.js.map +1 -0
  23. package/dist/cjs/controls/serialization/index.js +55 -0
  24. package/dist/cjs/controls/serialization/index.js.map +1 -0
  25. package/dist/cjs/controls/serialization/message-port/function-serialization.js +79 -0
  26. package/dist/cjs/controls/serialization/message-port/function-serialization.js.map +1 -0
  27. package/dist/cjs/controls/serialization/message-port/index.js +25 -0
  28. package/dist/cjs/controls/serialization/message-port/index.js.map +1 -0
  29. package/dist/cjs/controls/serialization/message-port/visitor.js +48 -0
  30. package/dist/cjs/controls/serialization/message-port/visitor.js.map +1 -0
  31. package/dist/cjs/core/index.js +57 -0
  32. package/dist/cjs/core/index.js.map +1 -0
  33. package/dist/cjs/next/api-handler/config/app-router.js +10 -1
  34. package/dist/cjs/next/api-handler/config/app-router.js.map +1 -1
  35. package/dist/cjs/next/api-handler/config/pages-router.js +1 -1
  36. package/dist/cjs/next/api-handler/config/pages-router.js.map +1 -1
  37. package/dist/cjs/next/fetch.js +30 -0
  38. package/dist/cjs/next/fetch.js.map +1 -0
  39. package/dist/cjs/prop-controllers/index.js +48 -0
  40. package/dist/cjs/prop-controllers/index.js.map +1 -0
  41. package/dist/cjs/prop-controllers/serialization.js +355 -0
  42. package/dist/cjs/prop-controllers/serialization.js.map +1 -0
  43. package/dist/cjs/react.js +40 -0
  44. package/dist/cjs/react.js.map +1 -0
  45. package/dist/cjs/runtimes/react/components/LiveProvider.js +50 -0
  46. package/dist/cjs/runtimes/react/components/LiveProvider.js.map +1 -0
  47. package/dist/cjs/runtimes/react/components/MakeswiftFonts.js +33 -0
  48. package/dist/cjs/runtimes/react/components/MakeswiftFonts.js.map +1 -0
  49. package/dist/cjs/runtimes/react/components/PreviewProvider.js +57 -0
  50. package/dist/cjs/runtimes/react/components/PreviewProvider.js.map +1 -0
  51. package/dist/cjs/runtimes/react/components/hooks/use-builder-connection-ping.js +67 -0
  52. package/dist/cjs/runtimes/react/components/hooks/use-builder-connection-ping.js.map +1 -0
  53. package/dist/cjs/runtimes/react/hooks/use-current-breakpoint.js +39 -0
  54. package/dist/cjs/runtimes/react/hooks/use-current-breakpoint.js.map +1 -0
  55. package/dist/cjs/runtimes/react/hooks/use-is-preview.js +33 -0
  56. package/dist/cjs/runtimes/react/hooks/use-is-preview.js.map +1 -0
  57. package/dist/cjs/runtimes/react/lib/resolved-style-to-css.js +59 -0
  58. package/dist/cjs/runtimes/react/lib/resolved-style-to-css.js.map +1 -0
  59. package/dist/cjs/runtimes/react/resource-resolver.js +52 -0
  60. package/dist/cjs/runtimes/react/resource-resolver.js.map +1 -0
  61. package/dist/cjs/state/actions/internal.js +205 -0
  62. package/dist/cjs/state/actions/internal.js.map +1 -0
  63. package/dist/cjs/state/actions.js +423 -0
  64. package/dist/cjs/state/actions.js.map +1 -0
  65. package/dist/cjs/state/api-client/client-store.js +81 -0
  66. package/dist/cjs/state/api-client/client-store.js.map +1 -0
  67. package/dist/cjs/state/api-client/fetch-api-resource.js +125 -0
  68. package/dist/cjs/state/api-client/fetch-api-resource.js.map +1 -0
  69. package/dist/cjs/state/api-client/state.js +89 -0
  70. package/dist/cjs/state/api-client/state.js.map +1 -0
  71. package/dist/cjs/state/api-client/store.js +36 -0
  72. package/dist/cjs/state/api-client/store.js.map +1 -0
  73. package/dist/cjs/state/builder-api/api.js +17 -0
  74. package/dist/cjs/state/builder-api/api.js.map +1 -0
  75. package/dist/cjs/state/builder-api/navigation-listener.js +110 -0
  76. package/dist/cjs/state/builder-api/navigation-listener.js.map +1 -0
  77. package/dist/cjs/state/mixins/breakpoint-watch.js +72 -0
  78. package/dist/cjs/state/mixins/breakpoint-watch.js.map +1 -0
  79. package/dist/cjs/state/mixins/setup-teardown.js +35 -0
  80. package/dist/cjs/state/mixins/setup-teardown.js.map +1 -0
  81. package/dist/cjs/state/modules/box-models.js +127 -0
  82. package/dist/cjs/state/modules/box-models.js.map +1 -0
  83. package/dist/cjs/state/modules/element-imperative-handles.js +60 -0
  84. package/dist/cjs/state/modules/element-imperative-handles.js.map +1 -0
  85. package/dist/cjs/state/modules/is-preview.js +47 -0
  86. package/dist/cjs/state/modules/is-preview.js.map +1 -0
  87. package/dist/cjs/state/modules/pointer.js +47 -0
  88. package/dist/cjs/state/modules/pointer.js.map +1 -0
  89. package/dist/cjs/state/modules/read-write-documents.js +98 -0
  90. package/dist/cjs/state/modules/read-write-documents.js.map +1 -0
  91. package/dist/cjs/state/react-builder-preview.js +610 -0
  92. package/dist/cjs/state/react-builder-preview.js.map +1 -0
  93. package/dist/cjs/state/react-page.js +355 -0
  94. package/dist/cjs/state/react-page.js.map +1 -0
  95. package/dist/cjs/utils/ref-counted-map.js +120 -0
  96. package/dist/cjs/utils/ref-counted-map.js.map +1 -0
  97. package/dist/esm/api/api-resources-client.js +127 -0
  98. package/dist/esm/api/api-resources-client.js.map +1 -0
  99. package/dist/esm/api/react.js +223 -0
  100. package/dist/esm/api/react.js.map +1 -0
  101. package/dist/esm/api-handler/handlers/manifest.js +1 -1
  102. package/dist/esm/api-handler/handlers/webhook/diff-projection.js +38 -0
  103. package/dist/esm/api-handler/handlers/webhook/diff-projection.js.map +1 -0
  104. package/dist/esm/box-model.js +7 -0
  105. package/dist/esm/box-model.js.map +1 -0
  106. package/dist/esm/builder/serialization.js +59 -0
  107. package/dist/esm/builder/serialization.js.map +1 -0
  108. package/dist/esm/client/index.js +3 -3
  109. package/dist/esm/components/builtin/index.js +34 -0
  110. package/dist/esm/components/builtin/index.js.map +1 -0
  111. package/dist/esm/components/index.js +3 -0
  112. package/dist/esm/components/index.js.map +1 -0
  113. package/dist/esm/controls/rich-text-v2/translation.js +152 -0
  114. package/dist/esm/controls/rich-text-v2/translation.js.map +1 -0
  115. package/dist/esm/controls/serialization/base/index.js +78 -0
  116. package/dist/esm/controls/serialization/base/index.js.map +1 -0
  117. package/dist/esm/controls/serialization/base/visitor.js +39 -0
  118. package/dist/esm/controls/serialization/base/visitor.js.map +1 -0
  119. package/dist/esm/controls/serialization/index.js +30 -0
  120. package/dist/esm/controls/serialization/index.js.map +1 -0
  121. package/dist/esm/controls/serialization/message-port/function-serialization.js +52 -0
  122. package/dist/esm/controls/serialization/message-port/function-serialization.js.map +1 -0
  123. package/dist/esm/controls/serialization/message-port/index.js +3 -0
  124. package/dist/esm/controls/serialization/message-port/index.js.map +1 -0
  125. package/dist/esm/controls/serialization/message-port/visitor.js +24 -0
  126. package/dist/esm/controls/serialization/message-port/visitor.js.map +1 -0
  127. package/dist/esm/core/index.js +35 -0
  128. package/dist/esm/core/index.js.map +1 -0
  129. package/dist/esm/next/api-handler/config/app-router.js +10 -1
  130. package/dist/esm/next/api-handler/config/app-router.js.map +1 -1
  131. package/dist/esm/next/api-handler/config/pages-router.js +1 -1
  132. package/dist/esm/next/api-handler/config/pages-router.js.map +1 -1
  133. package/dist/esm/next/fetch.js +6 -0
  134. package/dist/esm/next/fetch.js.map +1 -0
  135. package/dist/esm/prop-controllers/index.js +11 -0
  136. package/dist/esm/prop-controllers/index.js.map +1 -0
  137. package/dist/esm/prop-controllers/serialization.js +338 -0
  138. package/dist/esm/prop-controllers/serialization.js.map +1 -0
  139. package/dist/esm/react.js +11 -0
  140. package/dist/esm/react.js.map +1 -0
  141. package/dist/esm/runtimes/react/components/LiveProvider.js +20 -0
  142. package/dist/esm/runtimes/react/components/LiveProvider.js.map +1 -0
  143. package/dist/esm/runtimes/react/components/MakeswiftFonts.js +9 -0
  144. package/dist/esm/runtimes/react/components/MakeswiftFonts.js.map +1 -0
  145. package/dist/esm/runtimes/react/components/PreviewProvider.js +27 -0
  146. package/dist/esm/runtimes/react/components/PreviewProvider.js.map +1 -0
  147. package/dist/esm/runtimes/react/components/hooks/use-builder-connection-ping.js +43 -0
  148. package/dist/esm/runtimes/react/components/hooks/use-builder-connection-ping.js.map +1 -0
  149. package/dist/esm/runtimes/react/hooks/use-current-breakpoint.js +15 -0
  150. package/dist/esm/runtimes/react/hooks/use-current-breakpoint.js.map +1 -0
  151. package/dist/esm/runtimes/react/hooks/use-is-preview.js +9 -0
  152. package/dist/esm/runtimes/react/hooks/use-is-preview.js.map +1 -0
  153. package/dist/esm/runtimes/react/lib/resolved-style-to-css.js +38 -0
  154. package/dist/esm/runtimes/react/lib/resolved-style-to-css.js.map +1 -0
  155. package/dist/esm/runtimes/react/resource-resolver.js +28 -0
  156. package/dist/esm/runtimes/react/resource-resolver.js.map +1 -0
  157. package/dist/esm/state/actions/internal.js +162 -0
  158. package/dist/esm/state/actions/internal.js.map +1 -0
  159. package/dist/esm/state/actions.js +349 -0
  160. package/dist/esm/state/actions.js.map +1 -0
  161. package/dist/esm/state/api-client/client-store.js +49 -0
  162. package/dist/esm/state/api-client/client-store.js.map +1 -0
  163. package/dist/esm/state/api-client/fetch-api-resource.js +93 -0
  164. package/dist/esm/state/api-client/fetch-api-resource.js.map +1 -0
  165. package/dist/esm/state/api-client/state.js +52 -0
  166. package/dist/esm/state/api-client/state.js.map +1 -0
  167. package/dist/esm/state/api-client/store.js +12 -0
  168. package/dist/esm/state/api-client/store.js.map +1 -0
  169. package/dist/esm/state/builder-api/api.js +1 -0
  170. package/dist/esm/state/builder-api/api.js.map +1 -0
  171. package/dist/esm/state/builder-api/navigation-listener.js +86 -0
  172. package/dist/esm/state/builder-api/navigation-listener.js.map +1 -0
  173. package/dist/esm/state/mixins/breakpoint-watch.js +48 -0
  174. package/dist/esm/state/mixins/breakpoint-watch.js.map +1 -0
  175. package/dist/esm/state/mixins/setup-teardown.js +11 -0
  176. package/dist/esm/state/mixins/setup-teardown.js.map +1 -0
  177. package/dist/esm/state/modules/box-models.js +98 -0
  178. package/dist/esm/state/modules/box-models.js.map +1 -0
  179. package/dist/esm/state/modules/element-imperative-handles.js +35 -0
  180. package/dist/esm/state/modules/element-imperative-handles.js.map +1 -0
  181. package/dist/esm/state/modules/is-preview.js +21 -0
  182. package/dist/esm/state/modules/is-preview.js.map +1 -0
  183. package/dist/esm/state/modules/pointer.js +22 -0
  184. package/dist/esm/state/modules/pointer.js.map +1 -0
  185. package/dist/esm/state/modules/read-write-documents.js +60 -0
  186. package/dist/esm/state/modules/read-write-documents.js.map +1 -0
  187. package/dist/esm/state/react-builder-preview.js +590 -0
  188. package/dist/esm/state/react-builder-preview.js.map +1 -0
  189. package/dist/esm/state/react-page.js +319 -0
  190. package/dist/esm/state/react-page.js.map +1 -0
  191. package/dist/esm/utils/ref-counted-map.js +96 -0
  192. package/dist/esm/utils/ref-counted-map.js.map +1 -0
  193. package/dist/types/api/api-resources-client.d.ts +57 -0
  194. package/dist/types/api/api-resources-client.d.ts.map +1 -0
  195. package/dist/types/api/react.d.ts +82 -0
  196. package/dist/types/api/react.d.ts.map +1 -0
  197. package/dist/types/api-handler/handlers/webhook/diff-projection.d.ts +201 -0
  198. package/dist/types/api-handler/handlers/webhook/diff-projection.d.ts.map +1 -0
  199. package/dist/types/box-model.d.ts +3 -0
  200. package/dist/types/box-model.d.ts.map +1 -0
  201. package/dist/types/builder/serialization.d.ts +23 -0
  202. package/dist/types/builder/serialization.d.ts.map +1 -0
  203. package/dist/types/builder/serialization.test.d.ts +2 -0
  204. package/dist/types/builder/serialization.test.d.ts.map +1 -0
  205. package/dist/types/client/tests/client.get-component-snapshots.test.d.ts +2 -0
  206. package/dist/types/client/tests/client.get-component-snapshots.test.d.ts.map +1 -0
  207. package/dist/types/client/tests/client.introspect-many.test.d.ts +2 -0
  208. package/dist/types/client/tests/client.introspect-many.test.d.ts.map +1 -0
  209. package/dist/types/components/builtin/index.d.ts +17 -0
  210. package/dist/types/components/builtin/index.d.ts.map +1 -0
  211. package/dist/types/components/hooks/__tests__/useMediaQuery.test.d.ts +3 -0
  212. package/dist/types/components/hooks/__tests__/useMediaQuery.test.d.ts.map +1 -0
  213. package/dist/types/components/index.d.ts +3 -0
  214. package/dist/types/components/index.d.ts.map +1 -0
  215. package/dist/types/controls/rich-text-v2/translation.d.ts +6 -0
  216. package/dist/types/controls/rich-text-v2/translation.d.ts.map +1 -0
  217. package/dist/types/controls/serialization/base/index.d.ts +10 -0
  218. package/dist/types/controls/serialization/base/index.d.ts.map +1 -0
  219. package/dist/types/controls/serialization/base/visitor.d.ts +7 -0
  220. package/dist/types/controls/serialization/base/visitor.d.ts.map +1 -0
  221. package/dist/types/controls/serialization/index.d.ts +10 -0
  222. package/dist/types/controls/serialization/index.d.ts.map +1 -0
  223. package/dist/types/controls/serialization/message-port/function-serialization.d.ts +16 -0
  224. package/dist/types/controls/serialization/message-port/function-serialization.d.ts.map +1 -0
  225. package/dist/types/controls/serialization/message-port/function-serialization.test.d.ts +2 -0
  226. package/dist/types/controls/serialization/message-port/function-serialization.test.d.ts.map +1 -0
  227. package/dist/types/controls/serialization/message-port/index.d.ts +3 -0
  228. package/dist/types/controls/serialization/message-port/index.d.ts.map +1 -0
  229. package/dist/types/controls/serialization/message-port/visitor.d.ts +7 -0
  230. package/dist/types/controls/serialization/message-port/visitor.d.ts.map +1 -0
  231. package/dist/types/core/index.d.ts +2 -0
  232. package/dist/types/core/index.d.ts.map +1 -0
  233. package/dist/types/next/api-handler/config/app-router.d.ts.map +1 -1
  234. package/dist/types/next/api-handler/config/pages-router.test.d.ts +2 -0
  235. package/dist/types/next/api-handler/config/pages-router.test.d.ts.map +1 -0
  236. package/dist/types/next/components/tests/controls/code-control.test.d.ts +2 -0
  237. package/dist/types/next/components/tests/controls/code-control.test.d.ts.map +1 -0
  238. package/dist/types/next/components/tests/makeswift-component-rendering.test.d.ts +3 -0
  239. package/dist/types/next/components/tests/makeswift-component-rendering.test.d.ts.map +1 -0
  240. package/dist/types/next/fetch.d.ts +3 -0
  241. package/dist/types/next/fetch.d.ts.map +1 -0
  242. package/dist/types/prop-controllers/index.d.ts +8 -0
  243. package/dist/types/prop-controllers/index.d.ts.map +1 -0
  244. package/dist/types/prop-controllers/serialization.d.ts +228 -0
  245. package/dist/types/prop-controllers/serialization.d.ts.map +1 -0
  246. package/dist/types/react.d.ts +4 -0
  247. package/dist/types/react.d.ts.map +1 -0
  248. package/dist/types/runtimes/react/components/LiveProvider.d.ts +3 -0
  249. package/dist/types/runtimes/react/components/LiveProvider.d.ts.map +1 -0
  250. package/dist/types/runtimes/react/components/MakeswiftFonts.d.ts +7 -0
  251. package/dist/types/runtimes/react/components/MakeswiftFonts.d.ts.map +1 -0
  252. package/dist/types/runtimes/react/components/PreviewProvider.d.ts +3 -0
  253. package/dist/types/runtimes/react/components/PreviewProvider.d.ts.map +1 -0
  254. package/dist/types/runtimes/react/components/hooks/use-builder-connection-ping.d.ts +4 -0
  255. package/dist/types/runtimes/react/components/hooks/use-builder-connection-ping.d.ts.map +1 -0
  256. package/dist/types/runtimes/react/hooks/use-current-breakpoint.d.ts +3 -0
  257. package/dist/types/runtimes/react/hooks/use-current-breakpoint.d.ts.map +1 -0
  258. package/dist/types/runtimes/react/hooks/use-is-preview.d.ts +2 -0
  259. package/dist/types/runtimes/react/hooks/use-is-preview.d.ts.map +1 -0
  260. package/dist/types/runtimes/react/lib/resolved-style-to-css.d.ts +4 -0
  261. package/dist/types/runtimes/react/lib/resolved-style-to-css.d.ts.map +1 -0
  262. package/dist/types/runtimes/react/resource-resolver.d.ts +10 -0
  263. package/dist/types/runtimes/react/resource-resolver.d.ts.map +1 -0
  264. package/dist/types/state/__tests__/react-page.test.d.ts +2 -0
  265. package/dist/types/state/__tests__/react-page.test.d.ts.map +1 -0
  266. package/dist/types/state/actions/internal.d.ts +181 -0
  267. package/dist/types/state/actions/internal.d.ts.map +1 -0
  268. package/dist/types/state/actions.d.ts +461 -0
  269. package/dist/types/state/actions.d.ts.map +1 -0
  270. package/dist/types/state/api-client/client-store.d.ts +6 -0
  271. package/dist/types/state/api-client/client-store.d.ts.map +1 -0
  272. package/dist/types/state/api-client/fetch-api-resource.d.ts +11 -0
  273. package/dist/types/state/api-client/fetch-api-resource.d.ts.map +1 -0
  274. package/dist/types/state/api-client/state.d.ts +30 -0
  275. package/dist/types/state/api-client/state.d.ts.map +1 -0
  276. package/dist/types/state/api-client/store.d.ts +18 -0
  277. package/dist/types/state/api-client/store.d.ts.map +1 -0
  278. package/dist/types/state/builder-api/api.d.ts +9 -0
  279. package/dist/types/state/builder-api/api.d.ts.map +1 -0
  280. package/dist/types/state/builder-api/navigation-listener.d.ts +3 -0
  281. package/dist/types/state/builder-api/navigation-listener.d.ts.map +1 -0
  282. package/dist/types/state/mixins/breakpoint-watch.d.ts +11 -0
  283. package/dist/types/state/mixins/breakpoint-watch.d.ts.map +1 -0
  284. package/dist/types/state/mixins/setup-teardown.d.ts +7 -0
  285. package/dist/types/state/mixins/setup-teardown.d.ts.map +1 -0
  286. package/dist/types/state/modules/box-models.d.ts +23 -0
  287. package/dist/types/state/modules/box-models.d.ts.map +1 -0
  288. package/dist/types/state/modules/element-imperative-handles.d.ts +7 -0
  289. package/dist/types/state/modules/element-imperative-handles.d.ts.map +1 -0
  290. package/dist/types/state/modules/is-preview.d.ts +6 -0
  291. package/dist/types/state/modules/is-preview.d.ts.map +1 -0
  292. package/dist/types/state/modules/pointer.d.ts +12 -0
  293. package/dist/types/state/modules/pointer.d.ts.map +1 -0
  294. package/dist/types/state/modules/read-write-documents.d.ts +14 -0
  295. package/dist/types/state/modules/read-write-documents.d.ts.map +1 -0
  296. package/dist/types/state/react-builder-preview.d.ts +110 -0
  297. package/dist/types/state/react-builder-preview.d.ts.map +1 -0
  298. package/dist/types/state/react-page.d.ts +149 -0
  299. package/dist/types/state/react-page.d.ts.map +1 -0
  300. package/dist/types/utils/__tests__/ref-counted-map.test.d.ts +2 -0
  301. package/dist/types/utils/__tests__/ref-counted-map.test.d.ts.map +1 -0
  302. package/dist/types/utils/ref-counted-map.d.ts +32 -0
  303. package/dist/types/utils/ref-counted-map.d.ts.map +1 -0
  304. package/package.json +1 -1
@@ -0,0 +1,610 @@
1
+ "use strict";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
+ }
18
+ return to;
19
+ };
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
25
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
+ mod
27
+ ));
28
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
+ var react_builder_preview_exports = {};
30
+ __export(react_builder_preview_exports, {
31
+ configureStore: () => configureStore,
32
+ createBox: () => import_box_models.createBox,
33
+ getBox: () => import_box_models.getBox,
34
+ initialize: () => initialize,
35
+ messageChannelMiddleware: () => messageChannelMiddleware,
36
+ parse: () => import_box_models.parse,
37
+ propControllerHandlesMiddleware: () => propControllerHandlesMiddleware,
38
+ reducer: () => reducer,
39
+ startMeasuringElements: () => startMeasuringElements
40
+ });
41
+ module.exports = __toCommonJS(react_builder_preview_exports);
42
+ var import_toolkit = require("@reduxjs/toolkit");
43
+ var import_deepEqual = __toESM(require("../utils/deepEqual"));
44
+ var Documents = __toESM(require("./modules/read-write-documents"));
45
+ var ElementTrees = __toESM(require("./modules/element-trees"));
46
+ var ReactComponents = __toESM(require("./modules/react-components"));
47
+ var BoxModels = __toESM(require("./modules/box-models"));
48
+ var ComponentsMeta = __toESM(require("./modules/components-meta"));
49
+ var PropControllers = __toESM(require("./modules/prop-controllers"));
50
+ var PropControllerHandles = __toESM(require("./modules/prop-controller-handles"));
51
+ var IsInBuilder = __toESM(require("./modules/is-in-builder"));
52
+ var IsPreview = __toESM(require("./modules/is-preview"));
53
+ var BuilderEditMode = __toESM(require("./modules/builder-edit-mode"));
54
+ var Pointer = __toESM(require("./modules/pointer"));
55
+ var ElementImperativeHandles = __toESM(require("./modules/element-imperative-handles"));
56
+ var Breakpoints = __toESM(require("./modules/breakpoints"));
57
+ var import_setup_teardown = require("./mixins/setup-teardown");
58
+ var ReactPage = __toESM(require("./react-page"));
59
+ var import_actions = require("./actions");
60
+ var import_toolkit2 = require("./toolkit");
61
+ var import_instances = require("../prop-controllers/instances");
62
+ var import_builder = require("../builder");
63
+ var import_box_models = require("./modules/box-models");
64
+ const reducer = (0, import_toolkit.combineReducers)({
65
+ documents: Documents.reducer,
66
+ elementTrees: ElementTrees.reducer,
67
+ reactComponents: ReactComponents.reducer,
68
+ boxModels: BoxModels.reducer,
69
+ componentsMeta: ComponentsMeta.reducer,
70
+ propControllers: PropControllers.reducer,
71
+ propControllerHandles: PropControllerHandles.reducer,
72
+ isInBuilder: IsInBuilder.reducer,
73
+ isPreview: IsPreview.reducer,
74
+ builderEditMode: BuilderEditMode.reducer,
75
+ pointer: Pointer.reducer,
76
+ elementImperativeHandles: ElementImperativeHandles.reducer,
77
+ breakpoints: Breakpoints.reducer
78
+ });
79
+ function getDocumentsStateSlice(state) {
80
+ return state.documents;
81
+ }
82
+ function getBoxModelsStateSlice(state) {
83
+ return state.boxModels;
84
+ }
85
+ function getMeasurables(state) {
86
+ return BoxModels.getMeasurables(getBoxModelsStateSlice(state));
87
+ }
88
+ function getBoxModels(state) {
89
+ return BoxModels.getBoxModels(getBoxModelsStateSlice(state));
90
+ }
91
+ function getBoxModel(state, documentKey, elementKey) {
92
+ return BoxModels.getBoxModel(getBoxModelsStateSlice(state), documentKey, elementKey);
93
+ }
94
+ function getComponentsMetaStateSlice(state) {
95
+ return state.componentsMeta;
96
+ }
97
+ function getComponentsMeta(state) {
98
+ return ComponentsMeta.getComponentsMeta(getComponentsMetaStateSlice(state));
99
+ }
100
+ function getPropControllersStateSlice(state) {
101
+ return state.propControllers;
102
+ }
103
+ function getComponentPropControllerDescriptors(state, componentType) {
104
+ return PropControllers.getComponentPropControllerDescriptors(
105
+ getPropControllersStateSlice(state),
106
+ componentType
107
+ );
108
+ }
109
+ function getPropControllerHandlesStateSlice(state) {
110
+ return state.propControllerHandles;
111
+ }
112
+ function getPointer(state) {
113
+ return Pointer.getPointer(state.pointer);
114
+ }
115
+ function getElementImperativeHandles(state) {
116
+ return ElementImperativeHandles.getElementImperativeHandles(state.elementImperativeHandles);
117
+ }
118
+ function getElementImperativeHandlesContainingElement(state, element) {
119
+ const elementImperativeHandles = getElementImperativeHandles(state);
120
+ const filteredElementImperativeHandles = /* @__PURE__ */ new Map();
121
+ for (const [documentKey, byElementKey] of elementImperativeHandles) {
122
+ const filteredByElementKey = /* @__PURE__ */ new Map();
123
+ for (const [elementKey, elementImperativeHandle] of byElementKey) {
124
+ const handleElement = elementImperativeHandle.getDomNode();
125
+ if (handleElement?.contains(element)) {
126
+ filteredByElementKey.set(elementKey, elementImperativeHandle);
127
+ }
128
+ }
129
+ if (filteredByElementKey.size > 0) {
130
+ filteredElementImperativeHandles.set(documentKey, filteredByElementKey);
131
+ }
132
+ }
133
+ return filteredElementImperativeHandles;
134
+ }
135
+ function measureElements() {
136
+ return (dispatch, getState) => {
137
+ const measurables = getMeasurables(getState());
138
+ const currentBoxModels = getBoxModels(getState());
139
+ const measuredBoxModels = /* @__PURE__ */ new Map();
140
+ measurables.forEach((documentMeasurables, documentKey) => {
141
+ const measuredDocumentBoxModels = /* @__PURE__ */ new Map();
142
+ documentMeasurables.forEach((measurable, elementKey) => {
143
+ const boxModel = BoxModels.measure(measurable);
144
+ if (boxModel != null)
145
+ measuredDocumentBoxModels.set(elementKey, boxModel);
146
+ });
147
+ if (measuredDocumentBoxModels.size > 0) {
148
+ measuredBoxModels.set(documentKey, measuredDocumentBoxModels);
149
+ }
150
+ });
151
+ const changedBoxModels = /* @__PURE__ */ new Map();
152
+ currentBoxModels.forEach((currentDocumentBoxModels, documentKey) => {
153
+ const changedDocumentBoxModels = /* @__PURE__ */ new Map();
154
+ currentDocumentBoxModels.forEach((_boxModel, elementKey) => {
155
+ if (!measuredBoxModels.get(documentKey)?.has(elementKey)) {
156
+ changedDocumentBoxModels.set(elementKey, null);
157
+ }
158
+ if (changedDocumentBoxModels.size > 0) {
159
+ changedBoxModels.set(documentKey, changedDocumentBoxModels);
160
+ }
161
+ });
162
+ });
163
+ measuredBoxModels.forEach((measuredDocumentBoxModels, documentKey) => {
164
+ const changedDocumentBoxModels = /* @__PURE__ */ new Map();
165
+ measuredDocumentBoxModels.forEach((measuredBoxModel, elementKey) => {
166
+ const currentBoxModel = getBoxModel(getState(), documentKey, elementKey);
167
+ if (currentBoxModel == null || !(0, import_deepEqual.default)(currentBoxModel, measuredBoxModel)) {
168
+ changedDocumentBoxModels.set(elementKey, measuredBoxModel);
169
+ }
170
+ });
171
+ if (changedDocumentBoxModels.size > 0) {
172
+ changedBoxModels.set(documentKey, changedDocumentBoxModels);
173
+ }
174
+ });
175
+ if (changedBoxModels.size > 0)
176
+ dispatch((0, import_actions.changeElementBoxModels)(changedBoxModels));
177
+ };
178
+ }
179
+ function startMeasuringElements() {
180
+ return (dispatch) => {
181
+ let animationFrameHandle = requestAnimationFrame(handleAnimationFrameRequest);
182
+ return () => {
183
+ cancelAnimationFrame(animationFrameHandle);
184
+ };
185
+ function handleAnimationFrameRequest() {
186
+ dispatch(measureElements());
187
+ animationFrameHandle = requestAnimationFrame(handleAnimationFrameRequest);
188
+ }
189
+ };
190
+ }
191
+ function getElementSize(element) {
192
+ return {
193
+ offsetWidth: element.offsetWidth,
194
+ offsetHeight: element.offsetHeight,
195
+ clientWidth: element.clientWidth,
196
+ clientHeight: element.clientHeight,
197
+ scrollWidth: element.scrollWidth,
198
+ scrollHeight: element.scrollHeight,
199
+ scrollTop: element.scrollTop,
200
+ scrollLeft: element.scrollLeft
201
+ };
202
+ }
203
+ function lockDocumentScroll() {
204
+ return (dispatch) => {
205
+ const lastDocumentOverflow = window.document.documentElement.style.overflow;
206
+ window.document.documentElement.style.overflow = "hidden";
207
+ window.document.documentElement.addEventListener("wheel", handleWheelEvent);
208
+ return () => {
209
+ window.document.documentElement.style.overflow = lastDocumentOverflow;
210
+ window.document.documentElement.removeEventListener("wheel", handleWheelEvent);
211
+ };
212
+ function handleWheelEvent({ deltaX, deltaY }) {
213
+ dispatch((0, import_actions.handleWheel)({ deltaX, deltaY }));
214
+ }
215
+ };
216
+ }
217
+ function startHandlingPointerMoveEvent() {
218
+ return (dispatch) => {
219
+ window.document.documentElement.addEventListener("pointermove", handlePointerMoveEvent);
220
+ return () => {
221
+ window.document.documentElement.removeEventListener("pointermove", handlePointerMoveEvent);
222
+ };
223
+ function handlePointerMoveEvent({ clientX, clientY }) {
224
+ dispatch((0, import_actions.handlePointerMove)({ clientX, clientY }));
225
+ }
226
+ };
227
+ }
228
+ function startHandlingFocusEvents() {
229
+ return (_dispatch, getState) => {
230
+ window.addEventListener("focusin", handleFocusIn);
231
+ window.addEventListener("focusout", handleFocusOut);
232
+ return () => {
233
+ window.removeEventListener("focusin", handleFocusIn);
234
+ window.removeEventListener("focusout", handleFocusOut);
235
+ };
236
+ function handleFocusIn(event) {
237
+ if (ReactPage.getBuilderEditMode(getState()) === BuilderEditMode.BuilderEditMode.INTERACT) {
238
+ return;
239
+ }
240
+ if (!(event.target instanceof window.HTMLElement) || !event.target.isContentEditable) {
241
+ window.parent.focus();
242
+ }
243
+ }
244
+ function handleFocusOut(event) {
245
+ if (ReactPage.getBuilderEditMode(getState()) === BuilderEditMode.BuilderEditMode.INTERACT) {
246
+ return;
247
+ }
248
+ if (!(event.relatedTarget instanceof window.HTMLElement) || !event.relatedTarget.isContentEditable) {
249
+ window.parent.focus();
250
+ }
251
+ }
252
+ };
253
+ }
254
+ function startMeasuringDocumentElement() {
255
+ return (dispatch) => {
256
+ let animationFrameHandle = requestAnimationFrame(handleAnimationFrameRequest);
257
+ let lastSize;
258
+ return () => {
259
+ cancelAnimationFrame(animationFrameHandle);
260
+ };
261
+ function handleAnimationFrameRequest() {
262
+ const nextSize = getElementSize(window.document.documentElement);
263
+ if (!(0, import_deepEqual.default)(lastSize, nextSize)) {
264
+ lastSize = nextSize;
265
+ dispatch((0, import_actions.changeDocumentElementSize)(nextSize));
266
+ }
267
+ animationFrameHandle = requestAnimationFrame(handleAnimationFrameRequest);
268
+ }
269
+ };
270
+ }
271
+ function elementKeysFromElementFromPoint(elementFromPoint) {
272
+ return (_dispatch, getState) => {
273
+ if (elementFromPoint == null)
274
+ return null;
275
+ const elementImperativeHandles = getElementImperativeHandlesContainingElement(
276
+ getState(),
277
+ elementFromPoint
278
+ );
279
+ const ascendingDepthDocumentKeys = ReactPage.getDocumentKeysSortedByDepth(getState());
280
+ const descendingDepthDocumentKeys = ascendingDepthDocumentKeys.slice().reverse();
281
+ let currentElement = elementFromPoint;
282
+ let keys = null;
283
+ while (currentElement != null) {
284
+ for (const documentKey of descendingDepthDocumentKeys) {
285
+ const byElementKey = elementImperativeHandles.get(documentKey);
286
+ if (byElementKey == null)
287
+ continue;
288
+ for (const [elementKey, elementImperativeHandle] of byElementKey) {
289
+ if (elementImperativeHandle.getDomNode() === currentElement) {
290
+ return { documentKey, elementKey };
291
+ }
292
+ }
293
+ }
294
+ currentElement = currentElement.parentElement;
295
+ }
296
+ return keys;
297
+ };
298
+ }
299
+ function startPollingElementFromPoint() {
300
+ return (dispatch, getState) => {
301
+ let lastElementFromPoint = null;
302
+ let animationFrameRequestId = requestAnimationFrame(handleAnimationFrameRequest);
303
+ return () => {
304
+ cancelAnimationFrame(animationFrameRequestId);
305
+ };
306
+ function handleAnimationFrameRequest() {
307
+ const pointer = getPointer(getState());
308
+ const elementFromPoint = pointer == null ? null : document.elementFromPoint(pointer.x, pointer.y);
309
+ if (elementFromPoint !== lastElementFromPoint) {
310
+ lastElementFromPoint = elementFromPoint;
311
+ const keys = dispatch(elementKeysFromElementFromPoint(elementFromPoint));
312
+ dispatch((0, import_actions.elementFromPointChange)(keys));
313
+ }
314
+ animationFrameRequestId = requestAnimationFrame(handleAnimationFrameRequest);
315
+ }
316
+ };
317
+ }
318
+ function registerBuilderComponents() {
319
+ return (dispatch, getState) => {
320
+ const state = getState();
321
+ const componentsMeta = getComponentsMeta(state);
322
+ componentsMeta.forEach((meta, type) => {
323
+ const descriptors = getComponentPropControllerDescriptors(state, type);
324
+ if (descriptors != null) {
325
+ const [serializedControls, transferables] = (0, import_builder.serializeControls)(descriptors);
326
+ dispatch((0, import_actions.registerBuilderComponent)({ type, meta, serializedControls }, transferables));
327
+ }
328
+ });
329
+ return () => {
330
+ componentsMeta.forEach((_, type) => {
331
+ dispatch((0, import_actions.unregisterBuilderComponent)({ type }));
332
+ });
333
+ };
334
+ };
335
+ }
336
+ function registerBuilderDocuments() {
337
+ return (dispatch, getState) => {
338
+ const documents = Documents.getDocuments(getDocumentsStateSlice(getState()));
339
+ documents.forEach((document2) => {
340
+ dispatch((0, import_actions.registerBuilderDocument)(document2));
341
+ });
342
+ return () => {
343
+ documents.forEach((_document, documentKey) => {
344
+ dispatch((0, import_actions.unregisterBuilderDocument)(documentKey));
345
+ });
346
+ };
347
+ };
348
+ }
349
+ function initialize(channel) {
350
+ return (dispatch, getState) => {
351
+ const unregisterBuilderDocuments = dispatch(registerBuilderDocuments());
352
+ const stopMeasuringElements = dispatch(startMeasuringElements());
353
+ const stopMeasuringDocumentElement = dispatch(startMeasuringDocumentElement());
354
+ const stopHandlingFocusEvent = dispatch(startHandlingFocusEvents());
355
+ const unlockDocumentScroll = dispatch(lockDocumentScroll());
356
+ const stopHandlingPointerMoveEvent = dispatch(startHandlingPointerMoveEvent());
357
+ const stopPollingElementFromPoint = dispatch(startPollingElementFromPoint());
358
+ const unregisterBuilderComponents = dispatch(registerBuilderComponents());
359
+ const breakpoints = ReactPage.getBreakpoints(getState());
360
+ dispatch((0, import_actions.setBreakpoints)(breakpoints));
361
+ dispatch((0, import_actions.setIsInBuilder)(true));
362
+ channel.dispatchBuffered();
363
+ return () => {
364
+ unregisterBuilderDocuments();
365
+ stopMeasuringElements();
366
+ stopMeasuringDocumentElement();
367
+ stopHandlingFocusEvent();
368
+ unlockDocumentScroll();
369
+ stopHandlingPointerMoveEvent();
370
+ stopPollingElementFromPoint();
371
+ unregisterBuilderComponents();
372
+ dispatch((0, import_actions.setIsInBuilder)(false));
373
+ };
374
+ };
375
+ }
376
+ function measureBoxModelsMiddleware() {
377
+ return (0, import_toolkit2.actionMiddleware)(({ dispatch }) => (next) => {
378
+ return (action) => {
379
+ switch (action.type) {
380
+ case import_actions.ActionTypes.REGISTER_COMPONENT_HANDLE: {
381
+ if (BoxModels.isMeasurable(action.payload.componentHandle)) {
382
+ dispatch(
383
+ (0, import_actions.registerMeasurable)(
384
+ action.payload.documentKey,
385
+ action.payload.elementKey,
386
+ action.payload.componentHandle
387
+ )
388
+ );
389
+ }
390
+ break;
391
+ }
392
+ case import_actions.ActionTypes.UNREGISTER_COMPONENT_HANDLE:
393
+ dispatch((0, import_actions.unregisterMeasurable)(action.payload.documentKey, action.payload.elementKey));
394
+ break;
395
+ }
396
+ return next(action);
397
+ };
398
+ });
399
+ }
400
+ function messageChannelMiddleware(channel) {
401
+ return (0, import_toolkit2.actionMiddleware)(({ dispatch }) => (next) => {
402
+ if (typeof window === "undefined")
403
+ return (action) => next(action);
404
+ let cleanUp = () => {
405
+ };
406
+ return (action) => {
407
+ switch (action.type) {
408
+ case import_actions.ActionTypes.CHANGE_ELEMENT_BOX_MODELS:
409
+ case import_actions.ActionTypes.MOUNT_COMPONENT:
410
+ case import_actions.ActionTypes.UNMOUNT_COMPONENT:
411
+ case import_actions.ActionTypes.CHANGE_DOCUMENT_ELEMENT_SIZE:
412
+ case import_actions.ActionTypes.MESSAGE_BUILDER_PROP_CONTROLLER:
413
+ case import_actions.ActionTypes.HANDLE_WHEEL:
414
+ case import_actions.ActionTypes.HANDLE_POINTER_MOVE:
415
+ case import_actions.ActionTypes.ELEMENT_FROM_POINT_CHANGE:
416
+ case import_actions.ActionTypes.SET_LOCALE:
417
+ case import_actions.ActionTypes.SET_BREAKPOINTS:
418
+ case import_actions.ActionTypes.REGISTER_BUILDER_DOCUMENT:
419
+ case import_actions.ActionTypes.UNREGISTER_BUILDER_DOCUMENT:
420
+ channel.postMessage(action);
421
+ break;
422
+ case import_actions.ActionTypes.REGISTER_BUILDER_COMPONENT: {
423
+ const { transferables, ...forwardedAction } = action;
424
+ channel.postMessage(forwardedAction, transferables);
425
+ break;
426
+ }
427
+ case import_actions.ActionTypes.UNREGISTER_BUILDER_COMPONENT:
428
+ channel.postMessage(action);
429
+ break;
430
+ case import_actions.ActionTypes.CHANGE_DOCUMENT_ELEMENT_SCROLL_TOP:
431
+ window.document.documentElement.scrollTop = action.payload.scrollTop;
432
+ break;
433
+ case import_actions.ActionTypes.SCROLL_DOCUMENT_ELEMENT:
434
+ window.document.documentElement.scrollTop += action.payload.scrollTopDelta;
435
+ break;
436
+ case import_actions.ActionTypes.SET_BUILDER_EDIT_MODE:
437
+ channel.postMessage(action);
438
+ window.getSelection()?.removeAllRanges();
439
+ break;
440
+ case import_actions.ActionTypes.INIT:
441
+ cleanUp = dispatch(initialize(channel));
442
+ break;
443
+ case import_actions.ActionTypes.CLEAN_UP:
444
+ cleanUp();
445
+ break;
446
+ }
447
+ return next(action);
448
+ };
449
+ });
450
+ }
451
+ function createAndRegisterPropControllers(documentKey, elementKey) {
452
+ return (dispatch, getState) => {
453
+ const descriptors = ReactPage.getElementPropControllerDescriptors(
454
+ getState(),
455
+ documentKey,
456
+ elementKey
457
+ );
458
+ if (descriptors == null)
459
+ return null;
460
+ const propControllers = Object.entries(descriptors).reduce(
461
+ (acc, [propName, descriptor]) => {
462
+ const propController = (0, import_instances.createPropController)(
463
+ descriptor,
464
+ (message) => dispatch((0, import_actions.messageBuilderPropController)(documentKey, elementKey, propName, message))
465
+ );
466
+ return { ...acc, [propName]: propController };
467
+ },
468
+ {}
469
+ );
470
+ dispatch((0, import_actions.registerPropControllers)(documentKey, elementKey, propControllers));
471
+ return propControllers;
472
+ };
473
+ }
474
+ function propControllerHandlesMiddleware() {
475
+ return (0, import_toolkit2.actionMiddleware)(({ dispatch, getState }) => (next) => {
476
+ return (action) => {
477
+ switch (action.type) {
478
+ case import_actions.ActionTypes.REGISTER_COMPONENT_HANDLE: {
479
+ const { documentKey, elementKey, componentHandle } = action.payload;
480
+ const element = ReactPage.getElement(getState(), documentKey, elementKey);
481
+ const propControllers = dispatch(
482
+ createAndRegisterPropControllers(documentKey, elementKey)
483
+ );
484
+ if (element != null && !ReactPage.isElementReference(element) && PropControllerHandles.isPropControllersHandle(componentHandle)) {
485
+ dispatch((0, import_actions.registerPropControllersHandle)(documentKey, elementKey, componentHandle));
486
+ componentHandle.setPropControllers(propControllers);
487
+ }
488
+ break;
489
+ }
490
+ case import_actions.ActionTypes.UNREGISTER_COMPONENT_HANDLE: {
491
+ const { documentKey, elementKey } = action.payload;
492
+ const handle = PropControllerHandles.getPropControllersHandle(
493
+ getPropControllerHandlesStateSlice(getState()),
494
+ documentKey,
495
+ elementKey
496
+ );
497
+ handle?.setPropControllers(null);
498
+ dispatch((0, import_actions.unregisterPropControllers)(documentKey, elementKey));
499
+ break;
500
+ }
501
+ case import_actions.ActionTypes.MESSAGE_HOST_PROP_CONTROLLER: {
502
+ const propController = PropControllerHandles.getPropController(
503
+ getPropControllerHandlesStateSlice(getState()),
504
+ action.payload.documentKey,
505
+ action.payload.elementKey,
506
+ action.payload.propName
507
+ );
508
+ if (propController)
509
+ propController.recv(action.payload.message);
510
+ }
511
+ }
512
+ return next(action);
513
+ };
514
+ });
515
+ }
516
+ function makeswiftApiClientSyncMiddleware(client) {
517
+ return (0, import_toolkit2.actionMiddleware)(() => (next) => {
518
+ return (action) => {
519
+ client.makeswiftApiClient.dispatch(action);
520
+ return next(action);
521
+ };
522
+ });
523
+ }
524
+ class MessageChannel {
525
+ channel = null;
526
+ bufferedMessages = [];
527
+ postMessage(message, transferables) {
528
+ if (this.channel) {
529
+ this.channel.postMessage(message, transferables ?? []);
530
+ } else {
531
+ this.bufferedMessages.push([message, transferables]);
532
+ }
533
+ }
534
+ setup(onMessage) {
535
+ const channel = new window.MessageChannel();
536
+ channel.port1.onmessage = onMessage;
537
+ window.parent.postMessage(channel.port2, "*", [channel.port2]);
538
+ this.channel = channel.port1;
539
+ }
540
+ dispatchBuffered() {
541
+ console.assert(this.channel != null, "channel is not setup");
542
+ this.bufferedMessages.forEach(([message, transferables]) => {
543
+ this.channel?.postMessage(message, transferables ?? []);
544
+ });
545
+ this.bufferedMessages = [];
546
+ }
547
+ teardown() {
548
+ if (this.channel) {
549
+ this.channel.onmessage = null;
550
+ this.channel.close();
551
+ }
552
+ }
553
+ }
554
+ function setupMessageChannel(channel) {
555
+ return (dispatch) => {
556
+ channel.setup((event) => dispatch(event.data));
557
+ };
558
+ }
559
+ function configureStore({
560
+ preloadedState,
561
+ client
562
+ }) {
563
+ const initialState = {
564
+ ...preloadedState,
565
+ isPreview: IsPreview.getInitialState(true)
566
+ };
567
+ const channel = new MessageChannel();
568
+ const store = (0, import_toolkit.configureStore)({
569
+ reducer,
570
+ preloadedState: initialState,
571
+ middleware: (getDefaultMiddleware) => getDefaultMiddleware(import_toolkit2.middlewareOptions).concat(
572
+ ReactPage.elementTreeMiddleware(),
573
+ measureBoxModelsMiddleware(),
574
+ messageChannelMiddleware(channel),
575
+ propControllerHandlesMiddleware(),
576
+ makeswiftApiClientSyncMiddleware(client)
577
+ ),
578
+ enhancers: (getDefaultEnhancers) => getDefaultEnhancers().concat(
579
+ (0, import_setup_teardown.withSetupTeardown)(
580
+ () => {
581
+ const dispatch = store.dispatch;
582
+ dispatch(setupMessageChannel(channel));
583
+ },
584
+ () => channel.teardown()
585
+ )
586
+ ),
587
+ devTools: (0, import_toolkit2.devToolsConfig)({
588
+ name: `Host store (${(/* @__PURE__ */ new Date()).toISOString()})`,
589
+ actionsDenylist: [
590
+ import_actions.ActionTypes.BUILDER_POINTER_MOVE,
591
+ import_actions.ActionTypes.HANDLE_POINTER_MOVE,
592
+ import_actions.ActionTypes.ELEMENT_FROM_POINT_CHANGE
593
+ ]
594
+ })
595
+ });
596
+ return store;
597
+ }
598
+ // Annotate the CommonJS export names for ESM import in node:
599
+ 0 && (module.exports = {
600
+ configureStore,
601
+ createBox,
602
+ getBox,
603
+ initialize,
604
+ messageChannelMiddleware,
605
+ parse,
606
+ propControllerHandlesMiddleware,
607
+ reducer,
608
+ startMeasuringElements
609
+ });
610
+ //# sourceMappingURL=react-builder-preview.js.map