@makeswift/runtime 0.25.4-canary.3 → 0.25.4

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 (655) 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/client.js +90 -0
  4. package/dist/cjs/api/client.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/builder/breakpoints/index.js +31 -0
  9. package/dist/cjs/builder/breakpoints/index.js.map +1 -0
  10. package/dist/cjs/builder/core/index.js +57 -0
  11. package/dist/cjs/builder/core/index.js.map +1 -0
  12. package/dist/cjs/builder/host-api.js +56 -0
  13. package/dist/cjs/builder/host-api.js.map +1 -0
  14. package/dist/cjs/builder/host-to-builder-actions.js +41 -0
  15. package/dist/cjs/builder/host-to-builder-actions.js.map +1 -0
  16. package/dist/cjs/builder/serialization.js +78 -0
  17. package/dist/cjs/builder/serialization.js.map +1 -0
  18. package/dist/cjs/components/builtin/Carousel/Carousel.js +2 -5
  19. package/dist/cjs/components/builtin/Carousel/Carousel.js.map +1 -1
  20. package/dist/cjs/controls/control.js +1 -3
  21. package/dist/cjs/controls/control.js.map +1 -1
  22. package/dist/cjs/controls/rich-text-v2/rich-text-v2.js +15 -2
  23. package/dist/cjs/controls/rich-text-v2/rich-text-v2.js.map +1 -1
  24. package/dist/cjs/controls/rich-text-v2/translation.js +187 -0
  25. package/dist/cjs/controls/rich-text-v2/translation.js.map +1 -0
  26. package/dist/cjs/controls/serialization/base/index.js +78 -0
  27. package/dist/cjs/controls/serialization/base/index.js.map +1 -0
  28. package/dist/cjs/controls/serialization/base/visitor.js +59 -0
  29. package/dist/cjs/controls/serialization/base/visitor.js.map +1 -0
  30. package/dist/cjs/controls/serialization/index.js +55 -0
  31. package/dist/cjs/controls/serialization/index.js.map +1 -0
  32. package/dist/cjs/controls/serialization/message-port/function-serialization.js +79 -0
  33. package/dist/cjs/controls/serialization/message-port/function-serialization.js.map +1 -0
  34. package/dist/cjs/controls/serialization/message-port/index.js +25 -0
  35. package/dist/cjs/controls/serialization/message-port/index.js.map +1 -0
  36. package/dist/cjs/controls/serialization/message-port/visitor.js +48 -0
  37. package/dist/cjs/controls/serialization/message-port/visitor.js.map +1 -0
  38. package/dist/cjs/controls/visitors/message-port-serializer/client-message-port-serialization-visitor.js +72 -0
  39. package/dist/cjs/controls/visitors/message-port-serializer/client-message-port-serialization-visitor.js.map +1 -0
  40. package/dist/cjs/controls/visitors/message-port-serializer/function-serialization.js +79 -0
  41. package/dist/cjs/controls/visitors/message-port-serializer/function-serialization.js.map +1 -0
  42. package/dist/cjs/controls/visitors/message-port-serializer/index.js +36 -0
  43. package/dist/cjs/controls/visitors/message-port-serializer/index.js.map +1 -0
  44. package/dist/cjs/next/api-handler/config/pages-router.js +1 -1
  45. package/dist/cjs/next/api-handler/config/pages-router.js.map +1 -1
  46. package/dist/cjs/next/components/tests/makeswift-component/fixtures.js +101 -0
  47. package/dist/cjs/next/components/tests/makeswift-component/fixtures.js.map +1 -0
  48. package/dist/cjs/next/fetch.js +30 -0
  49. package/dist/cjs/next/fetch.js.map +1 -0
  50. package/dist/cjs/next/runtime.js +35 -0
  51. package/dist/cjs/next/runtime.js.map +1 -0
  52. package/dist/cjs/next/testing/react-runtime.js +29 -0
  53. package/dist/cjs/next/testing/react-runtime.js.map +1 -0
  54. package/dist/cjs/prop-controllers/serialization.js +355 -0
  55. package/dist/cjs/prop-controllers/serialization.js.map +1 -0
  56. package/dist/cjs/react/builtins/box.js +42 -0
  57. package/dist/cjs/react/builtins/box.js.map +1 -0
  58. package/dist/cjs/react/builtins/button.js +42 -0
  59. package/dist/cjs/react/builtins/button.js.map +1 -0
  60. package/dist/cjs/react/builtins/carousel.js +42 -0
  61. package/dist/cjs/react/builtins/carousel.js.map +1 -0
  62. package/dist/cjs/react/builtins/countdown.js +42 -0
  63. package/dist/cjs/react/builtins/countdown.js.map +1 -0
  64. package/dist/cjs/react/builtins/divider.js +42 -0
  65. package/dist/cjs/react/builtins/divider.js.map +1 -0
  66. package/dist/cjs/react/builtins/embed.js +42 -0
  67. package/dist/cjs/react/builtins/embed.js.map +1 -0
  68. package/dist/cjs/react/builtins/form.js +42 -0
  69. package/dist/cjs/react/builtins/form.js.map +1 -0
  70. package/dist/cjs/react/builtins/image.js +42 -0
  71. package/dist/cjs/react/builtins/image.js.map +1 -0
  72. package/dist/cjs/react/builtins/index.js +29 -0
  73. package/dist/cjs/react/builtins/index.js.map +1 -0
  74. package/dist/cjs/react/builtins/navigation.js +42 -0
  75. package/dist/cjs/react/builtins/navigation.js.map +1 -0
  76. package/dist/cjs/react/builtins/root.js +42 -0
  77. package/dist/cjs/react/builtins/root.js.map +1 -0
  78. package/dist/cjs/react/builtins/slot.js +42 -0
  79. package/dist/cjs/react/builtins/slot.js.map +1 -0
  80. package/dist/cjs/react/builtins/social-links.js +42 -0
  81. package/dist/cjs/react/builtins/social-links.js.map +1 -0
  82. package/dist/cjs/react/builtins/text.js +42 -0
  83. package/dist/cjs/react/builtins/text.js.map +1 -0
  84. package/dist/cjs/react/builtins/video.js +42 -0
  85. package/dist/cjs/react/builtins/video.js.map +1 -0
  86. package/dist/cjs/react/core/index.js +29 -0
  87. package/dist/cjs/react/core/index.js.map +1 -0
  88. package/dist/cjs/react/index.js +29 -0
  89. package/dist/cjs/react/index.js.map +1 -0
  90. package/dist/cjs/runtimes/react/components/GoogleFontLink.js +55 -0
  91. package/dist/cjs/runtimes/react/components/GoogleFontLink.js.map +1 -0
  92. package/dist/cjs/runtimes/react/components/MakeswiftFonts.js +33 -0
  93. package/dist/cjs/runtimes/react/components/MakeswiftFonts.js.map +1 -0
  94. package/dist/cjs/runtimes/react/components/activity-with-fallback.js +54 -0
  95. package/dist/cjs/runtimes/react/components/activity-with-fallback.js.map +1 -0
  96. package/dist/cjs/runtimes/react/components/page/index.js +13 -3
  97. package/dist/cjs/runtimes/react/components/page/index.js.map +1 -1
  98. package/dist/cjs/runtimes/react/hooks/use-async-effect.js +55 -0
  99. package/dist/cjs/runtimes/react/hooks/use-async-effect.js.map +1 -0
  100. package/dist/cjs/runtimes/react/hooks/use-builtin-suspense.js +33 -0
  101. package/dist/cjs/runtimes/react/hooks/use-builtin-suspense.js.map +1 -0
  102. package/dist/cjs/runtimes/react/hooks/use-current-breakpoint.js +39 -0
  103. package/dist/cjs/runtimes/react/hooks/use-current-breakpoint.js.map +1 -0
  104. package/dist/cjs/runtimes/react/hooks/use-is-read-only.js +33 -0
  105. package/dist/cjs/runtimes/react/hooks/use-is-read-only.js.map +1 -0
  106. package/dist/cjs/runtimes/react/lib/resolved-style-to-css.js +59 -0
  107. package/dist/cjs/runtimes/react/lib/resolved-style-to-css.js.map +1 -0
  108. package/dist/cjs/runtimes/react/react-runtime-core.js +72 -0
  109. package/dist/cjs/runtimes/react/react-runtime-core.js.map +1 -0
  110. package/dist/cjs/runtimes/react/resource-resolver.js +52 -0
  111. package/dist/cjs/runtimes/react/resource-resolver.js.map +1 -0
  112. package/dist/cjs/runtimes/react/testing/react-runtime.js +33 -0
  113. package/dist/cjs/runtimes/react/testing/react-runtime.js.map +1 -0
  114. package/dist/cjs/runtimes/react/utils/google-fonts-url.js +49 -0
  115. package/dist/cjs/runtimes/react/utils/google-fonts-url.js.map +1 -0
  116. package/dist/cjs/state/actions/index.js +42 -0
  117. package/dist/cjs/state/actions/index.js.map +1 -0
  118. package/dist/cjs/state/actions/internal/index.js +34 -0
  119. package/dist/cjs/state/actions/internal/index.js.map +1 -0
  120. package/dist/cjs/state/actions/internal/read-only-actions.js +195 -0
  121. package/dist/cjs/state/actions/internal/read-only-actions.js.map +1 -0
  122. package/dist/cjs/state/actions/internal/read-write-actions.js +76 -0
  123. package/dist/cjs/state/actions/internal/read-write-actions.js.map +1 -0
  124. package/dist/cjs/state/actions/internal.js +205 -0
  125. package/dist/cjs/state/actions/internal.js.map +1 -0
  126. package/dist/cjs/state/api-client/client-store.js +81 -0
  127. package/dist/cjs/state/api-client/client-store.js.map +1 -0
  128. package/dist/cjs/state/api-client/fetch-api-resource.js +125 -0
  129. package/dist/cjs/state/api-client/fetch-api-resource.js.map +1 -0
  130. package/dist/cjs/state/api-client/state.js +89 -0
  131. package/dist/cjs/state/api-client/state.js.map +1 -0
  132. package/dist/cjs/state/api-client/store.js +36 -0
  133. package/dist/cjs/state/api-client/store.js.map +1 -0
  134. package/dist/cjs/state/builder-api/actions.js +161 -0
  135. package/dist/cjs/state/builder-api/actions.js.map +1 -0
  136. package/dist/cjs/state/builder-api/api.js +17 -0
  137. package/dist/cjs/state/builder-api/api.js.map +1 -0
  138. package/dist/cjs/state/builder-api/message-channel.js +98 -0
  139. package/dist/cjs/state/builder-api/message-channel.js.map +1 -0
  140. package/dist/cjs/state/builder-api/navigation-listener.js +110 -0
  141. package/dist/cjs/state/builder-api/navigation-listener.js.map +1 -0
  142. package/dist/cjs/state/builder-api/proxy.js +72 -0
  143. package/dist/cjs/state/builder-api/proxy.js.map +1 -0
  144. package/dist/cjs/state/host-api.js +117 -0
  145. package/dist/cjs/state/host-api.js.map +1 -0
  146. package/dist/cjs/state/middleware/makeswift-api-client-sync.js +37 -0
  147. package/dist/cjs/state/middleware/makeswift-api-client-sync.js.map +1 -0
  148. package/dist/cjs/state/middleware/read-only-element-tree.js +52 -0
  149. package/dist/cjs/state/middleware/read-only-element-tree.js.map +1 -0
  150. package/dist/cjs/state/middleware/read-write/builder-api/element-size.js +40 -0
  151. package/dist/cjs/state/middleware/read-write/builder-api/element-size.js.map +1 -0
  152. package/dist/cjs/state/middleware/read-write/builder-api/index.js +85 -0
  153. package/dist/cjs/state/middleware/read-write/builder-api/index.js.map +1 -0
  154. package/dist/cjs/state/middleware/read-write/builder-api/initialize-connection.js +281 -0
  155. package/dist/cjs/state/middleware/read-write/builder-api/initialize-connection.js.map +1 -0
  156. package/dist/cjs/state/middleware/read-write/index.js +40 -0
  157. package/dist/cjs/state/middleware/read-write/index.js.map +1 -0
  158. package/dist/cjs/state/middleware/read-write/measure-box-models.js +71 -0
  159. package/dist/cjs/state/middleware/read-write/measure-box-models.js.map +1 -0
  160. package/dist/cjs/state/middleware/read-write/prop-controller-handles.js +114 -0
  161. package/dist/cjs/state/middleware/read-write/prop-controller-handles.js.map +1 -0
  162. package/dist/cjs/state/middleware/read-write/update-element-tree.js +59 -0
  163. package/dist/cjs/state/middleware/read-write/update-element-tree.js.map +1 -0
  164. package/dist/cjs/state/mixins/breakpoint-watch.js +72 -0
  165. package/dist/cjs/state/mixins/breakpoint-watch.js.map +1 -0
  166. package/dist/cjs/state/modules/is-read-only.js +50 -0
  167. package/dist/cjs/state/modules/is-read-only.js.map +1 -0
  168. package/dist/cjs/state/modules/locale.js +50 -0
  169. package/dist/cjs/state/modules/locale.js.map +1 -0
  170. package/dist/cjs/state/modules/read-write/box-models.js +144 -0
  171. package/dist/cjs/state/modules/read-write/box-models.js.map +1 -0
  172. package/dist/cjs/state/modules/read-write/element-imperative-handles.js +61 -0
  173. package/dist/cjs/state/modules/read-write/element-imperative-handles.js.map +1 -0
  174. package/dist/cjs/state/modules/read-write/pointer.js +48 -0
  175. package/dist/cjs/state/modules/read-write/pointer.js.map +1 -0
  176. package/dist/cjs/state/modules/read-write/read-write-documents.js +98 -0
  177. package/dist/cjs/state/modules/read-write/read-write-documents.js.map +1 -0
  178. package/dist/cjs/state/modules/site-version.js +47 -0
  179. package/dist/cjs/state/modules/site-version.js.map +1 -0
  180. package/dist/cjs/state/ops/copy-element-tree.js +67 -0
  181. package/dist/cjs/state/ops/copy-element-tree.js.map +1 -0
  182. package/dist/cjs/state/ops/merge-element.js +73 -0
  183. package/dist/cjs/state/ops/merge-element.js.map +1 -0
  184. package/dist/cjs/state/read-only-state.js +231 -0
  185. package/dist/cjs/state/read-only-state.js.map +1 -0
  186. package/dist/cjs/state/read-write-state.js +128 -0
  187. package/dist/cjs/state/read-write-state.js.map +1 -0
  188. package/dist/cjs/state/shared-api.js +63 -0
  189. package/dist/cjs/state/shared-api.js.map +1 -0
  190. package/dist/cjs/state/store.js +219 -0
  191. package/dist/cjs/state/store.js.map +1 -0
  192. package/dist/cjs/state/translations/get.js +61 -0
  193. package/dist/cjs/state/translations/get.js.map +1 -0
  194. package/dist/cjs/state/translations/merge.js +91 -0
  195. package/dist/cjs/state/translations/merge.js.map +1 -0
  196. package/dist/cjs/state/unified-state.js +17 -0
  197. package/dist/cjs/state/unified-state.js.map +1 -0
  198. package/dist/cjs/translations/index.js +32 -0
  199. package/dist/cjs/translations/index.js.map +1 -0
  200. package/dist/cjs/utils/deferred.js +39 -0
  201. package/dist/cjs/utils/deferred.js.map +1 -0
  202. package/dist/cjs/utils/ref-counted-map.js +120 -0
  203. package/dist/cjs/utils/ref-counted-map.js.map +1 -0
  204. package/dist/esm/api/api-resources-client.js +127 -0
  205. package/dist/esm/api/api-resources-client.js.map +1 -0
  206. package/dist/esm/api/client.js +67 -0
  207. package/dist/esm/api/client.js.map +1 -0
  208. package/dist/esm/api-handler/handlers/manifest.js +1 -1
  209. package/dist/esm/api-handler/handlers/webhook/diff-projection.js +38 -0
  210. package/dist/esm/api-handler/handlers/webhook/diff-projection.js.map +1 -0
  211. package/dist/esm/builder/breakpoints/index.js +9 -0
  212. package/dist/esm/builder/breakpoints/index.js.map +1 -0
  213. package/dist/esm/builder/core/index.js +35 -0
  214. package/dist/esm/builder/core/index.js.map +1 -0
  215. package/dist/esm/builder/host-api.js +31 -0
  216. package/dist/esm/builder/host-api.js.map +1 -0
  217. package/dist/esm/builder/host-to-builder-actions.js +18 -0
  218. package/dist/esm/builder/host-to-builder-actions.js.map +1 -0
  219. package/dist/esm/builder/serialization.js +59 -0
  220. package/dist/esm/builder/serialization.js.map +1 -0
  221. package/dist/esm/components/builtin/Carousel/Carousel.js +1 -4
  222. package/dist/esm/components/builtin/Carousel/Carousel.js.map +1 -1
  223. package/dist/esm/controls/control.js +1 -3
  224. package/dist/esm/controls/control.js.map +1 -1
  225. package/dist/esm/controls/rich-text-v2/rich-text-v2.js +17 -1
  226. package/dist/esm/controls/rich-text-v2/rich-text-v2.js.map +1 -1
  227. package/dist/esm/controls/rich-text-v2/translation.js +152 -0
  228. package/dist/esm/controls/rich-text-v2/translation.js.map +1 -0
  229. package/dist/esm/controls/serialization/base/index.js +78 -0
  230. package/dist/esm/controls/serialization/base/index.js.map +1 -0
  231. package/dist/esm/controls/serialization/base/visitor.js +39 -0
  232. package/dist/esm/controls/serialization/base/visitor.js.map +1 -0
  233. package/dist/esm/controls/serialization/index.js +30 -0
  234. package/dist/esm/controls/serialization/index.js.map +1 -0
  235. package/dist/esm/controls/serialization/message-port/function-serialization.js +52 -0
  236. package/dist/esm/controls/serialization/message-port/function-serialization.js.map +1 -0
  237. package/dist/esm/controls/serialization/message-port/index.js +3 -0
  238. package/dist/esm/controls/serialization/message-port/index.js.map +1 -0
  239. package/dist/esm/controls/serialization/message-port/visitor.js +24 -0
  240. package/dist/esm/controls/serialization/message-port/visitor.js.map +1 -0
  241. package/dist/esm/controls/visitors/message-port-serializer/client-message-port-serialization-visitor.js +53 -0
  242. package/dist/esm/controls/visitors/message-port-serializer/client-message-port-serialization-visitor.js.map +1 -0
  243. package/dist/esm/controls/visitors/message-port-serializer/function-serialization.js +52 -0
  244. package/dist/esm/controls/visitors/message-port-serializer/function-serialization.js.map +1 -0
  245. package/dist/esm/controls/visitors/message-port-serializer/index.js +13 -0
  246. package/dist/esm/controls/visitors/message-port-serializer/index.js.map +1 -0
  247. package/dist/esm/next/api-handler/config/pages-router.js +1 -1
  248. package/dist/esm/next/api-handler/config/pages-router.js.map +1 -1
  249. package/dist/esm/next/components/tests/makeswift-component/fixtures.js +60 -0
  250. package/dist/esm/next/components/tests/makeswift-component/fixtures.js.map +1 -0
  251. package/dist/esm/next/fetch.js +6 -0
  252. package/dist/esm/next/fetch.js.map +1 -0
  253. package/dist/esm/next/runtime.js +11 -0
  254. package/dist/esm/next/runtime.js.map +1 -0
  255. package/dist/esm/next/testing/react-runtime.js +5 -0
  256. package/dist/esm/next/testing/react-runtime.js.map +1 -0
  257. package/dist/esm/prop-controllers/serialization.js +338 -0
  258. package/dist/esm/prop-controllers/serialization.js.map +1 -0
  259. package/dist/esm/react/builtins/box.js +7 -0
  260. package/dist/esm/react/builtins/box.js.map +1 -0
  261. package/dist/esm/react/builtins/button.js +7 -0
  262. package/dist/esm/react/builtins/button.js.map +1 -0
  263. package/dist/esm/react/builtins/carousel.js +7 -0
  264. package/dist/esm/react/builtins/carousel.js.map +1 -0
  265. package/dist/esm/react/builtins/countdown.js +7 -0
  266. package/dist/esm/react/builtins/countdown.js.map +1 -0
  267. package/dist/esm/react/builtins/divider.js +7 -0
  268. package/dist/esm/react/builtins/divider.js.map +1 -0
  269. package/dist/esm/react/builtins/embed.js +7 -0
  270. package/dist/esm/react/builtins/embed.js.map +1 -0
  271. package/dist/esm/react/builtins/form.js +7 -0
  272. package/dist/esm/react/builtins/form.js.map +1 -0
  273. package/dist/esm/react/builtins/image.js +7 -0
  274. package/dist/esm/react/builtins/image.js.map +1 -0
  275. package/dist/esm/react/builtins/index.js +5 -0
  276. package/dist/esm/react/builtins/index.js.map +1 -0
  277. package/dist/esm/react/builtins/navigation.js +7 -0
  278. package/dist/esm/react/builtins/navigation.js.map +1 -0
  279. package/dist/esm/react/builtins/root.js +7 -0
  280. package/dist/esm/react/builtins/root.js.map +1 -0
  281. package/dist/esm/react/builtins/slot.js +7 -0
  282. package/dist/esm/react/builtins/slot.js.map +1 -0
  283. package/dist/esm/react/builtins/social-links.js +7 -0
  284. package/dist/esm/react/builtins/social-links.js.map +1 -0
  285. package/dist/esm/react/builtins/text.js +7 -0
  286. package/dist/esm/react/builtins/text.js.map +1 -0
  287. package/dist/esm/react/builtins/video.js +7 -0
  288. package/dist/esm/react/builtins/video.js.map +1 -0
  289. package/dist/esm/react/core/index.js +5 -0
  290. package/dist/esm/react/core/index.js.map +1 -0
  291. package/dist/esm/react/index.js +5 -0
  292. package/dist/esm/react/index.js.map +1 -0
  293. package/dist/esm/runtimes/react/components/GoogleFontLink.js +35 -0
  294. package/dist/esm/runtimes/react/components/GoogleFontLink.js.map +1 -0
  295. package/dist/esm/runtimes/react/components/MakeswiftFonts.js +9 -0
  296. package/dist/esm/runtimes/react/components/MakeswiftFonts.js.map +1 -0
  297. package/dist/esm/runtimes/react/components/activity-with-fallback.js +19 -0
  298. package/dist/esm/runtimes/react/components/activity-with-fallback.js.map +1 -0
  299. package/dist/esm/runtimes/react/components/page/index.js +16 -4
  300. package/dist/esm/runtimes/react/components/page/index.js.map +1 -1
  301. package/dist/esm/runtimes/react/hooks/use-async-effect.js +31 -0
  302. package/dist/esm/runtimes/react/hooks/use-async-effect.js.map +1 -0
  303. package/dist/esm/runtimes/react/hooks/use-builtin-suspense.js +9 -0
  304. package/dist/esm/runtimes/react/hooks/use-builtin-suspense.js.map +1 -0
  305. package/dist/esm/runtimes/react/hooks/use-current-breakpoint.js +15 -0
  306. package/dist/esm/runtimes/react/hooks/use-current-breakpoint.js.map +1 -0
  307. package/dist/esm/runtimes/react/hooks/use-is-read-only.js +9 -0
  308. package/dist/esm/runtimes/react/hooks/use-is-read-only.js.map +1 -0
  309. package/dist/esm/runtimes/react/lib/resolved-style-to-css.js +38 -0
  310. package/dist/esm/runtimes/react/lib/resolved-style-to-css.js.map +1 -0
  311. package/dist/esm/runtimes/react/react-runtime-core.js +51 -0
  312. package/dist/esm/runtimes/react/react-runtime-core.js.map +1 -0
  313. package/dist/esm/runtimes/react/resource-resolver.js +28 -0
  314. package/dist/esm/runtimes/react/resource-resolver.js.map +1 -0
  315. package/dist/esm/runtimes/react/testing/react-runtime.js +9 -0
  316. package/dist/esm/runtimes/react/testing/react-runtime.js.map +1 -0
  317. package/dist/esm/runtimes/react/utils/google-fonts-url.js +23 -0
  318. package/dist/esm/runtimes/react/utils/google-fonts-url.js.map +1 -0
  319. package/dist/esm/state/actions/index.js +17 -0
  320. package/dist/esm/state/actions/index.js.map +1 -0
  321. package/dist/esm/state/actions/internal/index.js +10 -0
  322. package/dist/esm/state/actions/internal/index.js.map +1 -0
  323. package/dist/esm/state/actions/internal/read-only-actions.js +153 -0
  324. package/dist/esm/state/actions/internal/read-only-actions.js.map +1 -0
  325. package/dist/esm/state/actions/internal/read-write-actions.js +46 -0
  326. package/dist/esm/state/actions/internal/read-write-actions.js.map +1 -0
  327. package/dist/esm/state/actions/internal.js +162 -0
  328. package/dist/esm/state/actions/internal.js.map +1 -0
  329. package/dist/esm/state/api-client/client-store.js +49 -0
  330. package/dist/esm/state/api-client/client-store.js.map +1 -0
  331. package/dist/esm/state/api-client/fetch-api-resource.js +93 -0
  332. package/dist/esm/state/api-client/fetch-api-resource.js.map +1 -0
  333. package/dist/esm/state/api-client/state.js +52 -0
  334. package/dist/esm/state/api-client/state.js.map +1 -0
  335. package/dist/esm/state/api-client/store.js +12 -0
  336. package/dist/esm/state/api-client/store.js.map +1 -0
  337. package/dist/esm/state/builder-api/actions.js +119 -0
  338. package/dist/esm/state/builder-api/actions.js.map +1 -0
  339. package/dist/esm/state/builder-api/api.js +1 -0
  340. package/dist/esm/state/builder-api/api.js.map +1 -0
  341. package/dist/esm/state/builder-api/message-channel.js +74 -0
  342. package/dist/esm/state/builder-api/message-channel.js.map +1 -0
  343. package/dist/esm/state/builder-api/navigation-listener.js +86 -0
  344. package/dist/esm/state/builder-api/navigation-listener.js.map +1 -0
  345. package/dist/esm/state/builder-api/proxy.js +48 -0
  346. package/dist/esm/state/builder-api/proxy.js.map +1 -0
  347. package/dist/esm/state/host-api.js +81 -0
  348. package/dist/esm/state/host-api.js.map +1 -0
  349. package/dist/esm/state/middleware/makeswift-api-client-sync.js +13 -0
  350. package/dist/esm/state/middleware/makeswift-api-client-sync.js.map +1 -0
  351. package/dist/esm/state/middleware/read-only-element-tree.js +28 -0
  352. package/dist/esm/state/middleware/read-only-element-tree.js.map +1 -0
  353. package/dist/esm/state/middleware/read-write/builder-api/element-size.js +16 -0
  354. package/dist/esm/state/middleware/read-write/builder-api/element-size.js.map +1 -0
  355. package/dist/esm/state/middleware/read-write/builder-api/index.js +61 -0
  356. package/dist/esm/state/middleware/read-write/builder-api/index.js.map +1 -0
  357. package/dist/esm/state/middleware/read-write/builder-api/initialize-connection.js +254 -0
  358. package/dist/esm/state/middleware/read-write/builder-api/initialize-connection.js.map +1 -0
  359. package/dist/esm/state/middleware/read-write/index.js +16 -0
  360. package/dist/esm/state/middleware/read-write/index.js.map +1 -0
  361. package/dist/esm/state/middleware/read-write/measure-box-models.js +37 -0
  362. package/dist/esm/state/middleware/read-write/measure-box-models.js.map +1 -0
  363. package/dist/esm/state/middleware/read-write/prop-controller-handles.js +80 -0
  364. package/dist/esm/state/middleware/read-write/prop-controller-handles.js.map +1 -0
  365. package/dist/esm/state/middleware/read-write/update-element-tree.js +35 -0
  366. package/dist/esm/state/middleware/read-write/update-element-tree.js.map +1 -0
  367. package/dist/esm/state/mixins/breakpoint-watch.js +48 -0
  368. package/dist/esm/state/mixins/breakpoint-watch.js.map +1 -0
  369. package/dist/esm/state/modules/is-read-only.js +24 -0
  370. package/dist/esm/state/modules/is-read-only.js.map +1 -0
  371. package/dist/esm/state/modules/locale.js +24 -0
  372. package/dist/esm/state/modules/locale.js.map +1 -0
  373. package/dist/esm/state/modules/read-write/box-models.js +114 -0
  374. package/dist/esm/state/modules/read-write/box-models.js.map +1 -0
  375. package/dist/esm/state/modules/read-write/element-imperative-handles.js +36 -0
  376. package/dist/esm/state/modules/read-write/element-imperative-handles.js.map +1 -0
  377. package/dist/esm/state/modules/read-write/pointer.js +23 -0
  378. package/dist/esm/state/modules/read-write/pointer.js.map +1 -0
  379. package/dist/esm/state/modules/read-write/read-write-documents.js +60 -0
  380. package/dist/esm/state/modules/read-write/read-write-documents.js.map +1 -0
  381. package/dist/esm/state/modules/site-version.js +21 -0
  382. package/dist/esm/state/modules/site-version.js.map +1 -0
  383. package/dist/esm/state/ops/copy-element-tree.js +37 -0
  384. package/dist/esm/state/ops/copy-element-tree.js.map +1 -0
  385. package/dist/esm/state/ops/merge-element.js +39 -0
  386. package/dist/esm/state/ops/merge-element.js.map +1 -0
  387. package/dist/esm/state/read-only-state.js +176 -0
  388. package/dist/esm/state/read-only-state.js.map +1 -0
  389. package/dist/esm/state/read-write-state.js +82 -0
  390. package/dist/esm/state/read-write-state.js.map +1 -0
  391. package/dist/esm/state/shared-api.js +35 -0
  392. package/dist/esm/state/shared-api.js.map +1 -0
  393. package/dist/esm/state/store.js +188 -0
  394. package/dist/esm/state/store.js.map +1 -0
  395. package/dist/esm/state/translations/get.js +27 -0
  396. package/dist/esm/state/translations/get.js.map +1 -0
  397. package/dist/esm/state/translations/merge.js +59 -0
  398. package/dist/esm/state/translations/merge.js.map +1 -0
  399. package/dist/esm/state/unified-state.js +1 -0
  400. package/dist/esm/state/unified-state.js.map +1 -0
  401. package/dist/esm/translations/index.js +7 -0
  402. package/dist/esm/translations/index.js.map +1 -0
  403. package/dist/esm/utils/deferred.js +15 -0
  404. package/dist/esm/utils/deferred.js.map +1 -0
  405. package/dist/esm/utils/ref-counted-map.js +96 -0
  406. package/dist/esm/utils/ref-counted-map.js.map +1 -0
  407. package/dist/types/api/api-resources-client.d.ts +57 -0
  408. package/dist/types/api/api-resources-client.d.ts.map +1 -0
  409. package/dist/types/api/client.d.ts +49 -0
  410. package/dist/types/api/client.d.ts.map +1 -0
  411. package/dist/types/api-handler/handlers/webhook/diff-projection.d.ts +201 -0
  412. package/dist/types/api-handler/handlers/webhook/diff-projection.d.ts.map +1 -0
  413. package/dist/types/builder/breakpoints/index.d.ts +2 -0
  414. package/dist/types/builder/breakpoints/index.d.ts.map +1 -0
  415. package/dist/types/builder/core/index.d.ts +2 -0
  416. package/dist/types/builder/core/index.d.ts.map +1 -0
  417. package/dist/types/builder/host-api.d.ts +3 -0
  418. package/dist/types/builder/host-api.d.ts.map +1 -0
  419. package/dist/types/builder/host-to-builder-actions.d.ts +28 -0
  420. package/dist/types/builder/host-to-builder-actions.d.ts.map +1 -0
  421. package/dist/types/builder/serialization.d.ts +23 -0
  422. package/dist/types/builder/serialization.d.ts.map +1 -0
  423. package/dist/types/builder/serialization.test.d.ts +2 -0
  424. package/dist/types/builder/serialization.test.d.ts.map +1 -0
  425. package/dist/types/client/index.d.ts +11 -11
  426. package/dist/types/client/tests/client.get-component-snapshots.test.d.ts +2 -0
  427. package/dist/types/client/tests/client.get-component-snapshots.test.d.ts.map +1 -0
  428. package/dist/types/client/tests/client.get-fonts.test.d.ts +2 -0
  429. package/dist/types/client/tests/client.get-fonts.test.d.ts.map +1 -0
  430. package/dist/types/client/tests/client.introspect-many.test.d.ts +2 -0
  431. package/dist/types/client/tests/client.introspect-many.test.d.ts.map +1 -0
  432. package/dist/types/components/builtin/Carousel/Carousel.d.ts.map +1 -1
  433. package/dist/types/components/hooks/__tests__/useMediaQuery.test.d.ts +3 -0
  434. package/dist/types/components/hooks/__tests__/useMediaQuery.test.d.ts.map +1 -0
  435. package/dist/types/controls/control.d.ts.map +1 -1
  436. package/dist/types/controls/rich-text-v2/rich-text-v2.d.ts +12 -11
  437. package/dist/types/controls/rich-text-v2/rich-text-v2.d.ts.map +1 -1
  438. package/dist/types/controls/rich-text-v2/translation.d.ts +6 -0
  439. package/dist/types/controls/rich-text-v2/translation.d.ts.map +1 -0
  440. package/dist/types/controls/serialization/base/index.d.ts +10 -0
  441. package/dist/types/controls/serialization/base/index.d.ts.map +1 -0
  442. package/dist/types/controls/serialization/base/visitor.d.ts +7 -0
  443. package/dist/types/controls/serialization/base/visitor.d.ts.map +1 -0
  444. package/dist/types/controls/serialization/index.d.ts +10 -0
  445. package/dist/types/controls/serialization/index.d.ts.map +1 -0
  446. package/dist/types/controls/serialization/message-port/function-serialization.d.ts +16 -0
  447. package/dist/types/controls/serialization/message-port/function-serialization.d.ts.map +1 -0
  448. package/dist/types/controls/serialization/message-port/function-serialization.test.d.ts +2 -0
  449. package/dist/types/controls/serialization/message-port/function-serialization.test.d.ts.map +1 -0
  450. package/dist/types/controls/serialization/message-port/index.d.ts +3 -0
  451. package/dist/types/controls/serialization/message-port/index.d.ts.map +1 -0
  452. package/dist/types/controls/serialization/message-port/visitor.d.ts +7 -0
  453. package/dist/types/controls/serialization/message-port/visitor.d.ts.map +1 -0
  454. package/dist/types/controls/visitors/message-port-serializer/client-message-port-serialization-visitor.d.ts +9 -0
  455. package/dist/types/controls/visitors/message-port-serializer/client-message-port-serialization-visitor.d.ts.map +1 -0
  456. package/dist/types/controls/visitors/message-port-serializer/function-serialization.d.ts +16 -0
  457. package/dist/types/controls/visitors/message-port-serializer/function-serialization.d.ts.map +1 -0
  458. package/dist/types/controls/visitors/message-port-serializer/function-serialization.test.d.ts +2 -0
  459. package/dist/types/controls/visitors/message-port-serializer/function-serialization.test.d.ts.map +1 -0
  460. package/dist/types/controls/visitors/message-port-serializer/index.d.ts +3 -0
  461. package/dist/types/controls/visitors/message-port-serializer/index.d.ts.map +1 -0
  462. package/dist/types/next/api-handler/config/pages-router.test.d.ts +2 -0
  463. package/dist/types/next/api-handler/config/pages-router.test.d.ts.map +1 -0
  464. package/dist/types/next/components/tests/controls/code-control.test.d.ts +2 -0
  465. package/dist/types/next/components/tests/controls/code-control.test.d.ts.map +1 -0
  466. package/dist/types/next/components/tests/makeswift-component/fixtures.d.ts +27 -0
  467. package/dist/types/next/components/tests/makeswift-component/fixtures.d.ts.map +1 -0
  468. package/dist/types/next/components/tests/makeswift-component/rendering.react18.test.d.ts +3 -0
  469. package/dist/types/next/components/tests/makeswift-component/rendering.react18.test.d.ts.map +1 -0
  470. package/dist/types/next/components/tests/makeswift-component/rendering.test.d.ts +3 -0
  471. package/dist/types/next/components/tests/makeswift-component/rendering.test.d.ts.map +1 -0
  472. package/dist/types/next/fetch.d.ts +3 -0
  473. package/dist/types/next/fetch.d.ts.map +1 -0
  474. package/dist/types/next/runtime.d.ts +10 -0
  475. package/dist/types/next/runtime.d.ts.map +1 -0
  476. package/dist/types/next/testing/react-runtime.d.ts +2 -0
  477. package/dist/types/next/testing/react-runtime.d.ts.map +1 -0
  478. package/dist/types/prop-controllers/serialization.d.ts +228 -0
  479. package/dist/types/prop-controllers/serialization.d.ts.map +1 -0
  480. package/dist/types/react/builtins/box.d.ts +3 -0
  481. package/dist/types/react/builtins/box.d.ts.map +1 -0
  482. package/dist/types/react/builtins/button.d.ts +3 -0
  483. package/dist/types/react/builtins/button.d.ts.map +1 -0
  484. package/dist/types/react/builtins/carousel.d.ts +3 -0
  485. package/dist/types/react/builtins/carousel.d.ts.map +1 -0
  486. package/dist/types/react/builtins/countdown.d.ts +3 -0
  487. package/dist/types/react/builtins/countdown.d.ts.map +1 -0
  488. package/dist/types/react/builtins/divider.d.ts +3 -0
  489. package/dist/types/react/builtins/divider.d.ts.map +1 -0
  490. package/dist/types/react/builtins/embed.d.ts +3 -0
  491. package/dist/types/react/builtins/embed.d.ts.map +1 -0
  492. package/dist/types/react/builtins/form.d.ts +3 -0
  493. package/dist/types/react/builtins/form.d.ts.map +1 -0
  494. package/dist/types/react/builtins/image.d.ts +3 -0
  495. package/dist/types/react/builtins/image.d.ts.map +1 -0
  496. package/dist/types/react/builtins/index.d.ts +2 -0
  497. package/dist/types/react/builtins/index.d.ts.map +1 -0
  498. package/dist/types/react/builtins/navigation.d.ts +3 -0
  499. package/dist/types/react/builtins/navigation.d.ts.map +1 -0
  500. package/dist/types/react/builtins/root.d.ts +3 -0
  501. package/dist/types/react/builtins/root.d.ts.map +1 -0
  502. package/dist/types/react/builtins/slot.d.ts +3 -0
  503. package/dist/types/react/builtins/slot.d.ts.map +1 -0
  504. package/dist/types/react/builtins/social-links.d.ts +3 -0
  505. package/dist/types/react/builtins/social-links.d.ts.map +1 -0
  506. package/dist/types/react/builtins/text.d.ts +3 -0
  507. package/dist/types/react/builtins/text.d.ts.map +1 -0
  508. package/dist/types/react/builtins/video.d.ts +3 -0
  509. package/dist/types/react/builtins/video.d.ts.map +1 -0
  510. package/dist/types/react/core/index.d.ts +2 -0
  511. package/dist/types/react/core/index.d.ts.map +1 -0
  512. package/dist/types/react/index.d.ts +2 -0
  513. package/dist/types/react/index.d.ts.map +1 -0
  514. package/dist/types/runtimes/react/components/GoogleFontLink.d.ts +14 -0
  515. package/dist/types/runtimes/react/components/GoogleFontLink.d.ts.map +1 -0
  516. package/dist/types/runtimes/react/components/MakeswiftFonts.d.ts +7 -0
  517. package/dist/types/runtimes/react/components/MakeswiftFonts.d.ts.map +1 -0
  518. package/dist/types/runtimes/react/components/activity-with-fallback.d.ts +13 -0
  519. package/dist/types/runtimes/react/components/activity-with-fallback.d.ts.map +1 -0
  520. package/dist/types/runtimes/react/components/page/index.d.ts.map +1 -1
  521. package/dist/types/runtimes/react/hooks/__tests__/use-async-effect.test.d.ts +2 -0
  522. package/dist/types/runtimes/react/hooks/__tests__/use-async-effect.test.d.ts.map +1 -0
  523. package/dist/types/runtimes/react/hooks/use-async-effect.d.ts +3 -0
  524. package/dist/types/runtimes/react/hooks/use-async-effect.d.ts.map +1 -0
  525. package/dist/types/runtimes/react/hooks/use-builtin-suspense.d.ts +2 -0
  526. package/dist/types/runtimes/react/hooks/use-builtin-suspense.d.ts.map +1 -0
  527. package/dist/types/runtimes/react/hooks/use-current-breakpoint.d.ts +3 -0
  528. package/dist/types/runtimes/react/hooks/use-current-breakpoint.d.ts.map +1 -0
  529. package/dist/types/runtimes/react/hooks/use-is-read-only.d.ts +2 -0
  530. package/dist/types/runtimes/react/hooks/use-is-read-only.d.ts.map +1 -0
  531. package/dist/types/runtimes/react/lib/resolved-style-to-css.d.ts +4 -0
  532. package/dist/types/runtimes/react/lib/resolved-style-to-css.d.ts.map +1 -0
  533. package/dist/types/runtimes/react/react-runtime-core.d.ts +24 -0
  534. package/dist/types/runtimes/react/react-runtime-core.d.ts.map +1 -0
  535. package/dist/types/runtimes/react/resource-resolver.d.ts +10 -0
  536. package/dist/types/runtimes/react/resource-resolver.d.ts.map +1 -0
  537. package/dist/types/runtimes/react/testing/react-runtime.d.ts +6 -0
  538. package/dist/types/runtimes/react/testing/react-runtime.d.ts.map +1 -0
  539. package/dist/types/runtimes/react/utils/google-fonts-url.d.ts +6 -0
  540. package/dist/types/runtimes/react/utils/google-fonts-url.d.ts.map +1 -0
  541. package/dist/types/slate/BlockPlugin/index.d.ts +13 -1
  542. package/dist/types/slate/BlockPlugin/index.d.ts.map +1 -1
  543. package/dist/types/slate/InlinePlugin/index.d.ts +13 -1
  544. package/dist/types/slate/InlinePlugin/index.d.ts.map +1 -1
  545. package/dist/types/slate/LinkPlugin/getValue.d.ts.map +1 -1
  546. package/dist/types/slate/LinkPlugin/index.d.ts.map +1 -1
  547. package/dist/types/slate/TextAlignPlugin/index.d.ts +13 -1
  548. package/dist/types/slate/TextAlignPlugin/index.d.ts.map +1 -1
  549. package/dist/types/slate/TypographyPlugin/getValue.d.ts.map +1 -1
  550. package/dist/types/slate/TypographyPlugin/index.d.ts.map +1 -1
  551. package/dist/types/state/__tests__/fixtures/serialized-descriptors-from-builder.d.ts +5 -0
  552. package/dist/types/state/__tests__/fixtures/serialized-descriptors-from-builder.d.ts.map +1 -0
  553. package/dist/types/state/__tests__/fixtures/translatable-content-sample.d.ts +3 -0
  554. package/dist/types/state/__tests__/fixtures/translatable-content-sample.d.ts.map +1 -0
  555. package/dist/types/state/__tests__/get-translatable-content.test.d.ts +2 -0
  556. package/dist/types/state/__tests__/get-translatable-content.test.d.ts.map +1 -0
  557. package/dist/types/state/__tests__/merge-element-tree-translated-data.test.d.ts +2 -0
  558. package/dist/types/state/__tests__/merge-element-tree-translated-data.test.d.ts.map +1 -0
  559. package/dist/types/state/__tests__/merge-element.test.d.ts +2 -0
  560. package/dist/types/state/__tests__/merge-element.test.d.ts.map +1 -0
  561. package/dist/types/state/__tests__/store.read-write-state.test.d.ts +2 -0
  562. package/dist/types/state/__tests__/store.read-write-state.test.d.ts.map +1 -0
  563. package/dist/types/state/__tests__/test-store.d.ts +31 -0
  564. package/dist/types/state/__tests__/test-store.d.ts.map +1 -0
  565. package/dist/types/state/actions/index.d.ts +61 -0
  566. package/dist/types/state/actions/index.d.ts.map +1 -0
  567. package/dist/types/state/actions/internal/index.d.ts +29 -0
  568. package/dist/types/state/actions/internal/index.d.ts.map +1 -0
  569. package/dist/types/state/actions/internal/read-only-actions.d.ts +171 -0
  570. package/dist/types/state/actions/internal/read-only-actions.d.ts.map +1 -0
  571. package/dist/types/state/actions/internal/read-write-actions.d.ts +53 -0
  572. package/dist/types/state/actions/internal/read-write-actions.d.ts.map +1 -0
  573. package/dist/types/state/actions/internal.d.ts +181 -0
  574. package/dist/types/state/actions/internal.d.ts.map +1 -0
  575. package/dist/types/state/api-client/client-store.d.ts +6 -0
  576. package/dist/types/state/api-client/client-store.d.ts.map +1 -0
  577. package/dist/types/state/api-client/fetch-api-resource.d.ts +11 -0
  578. package/dist/types/state/api-client/fetch-api-resource.d.ts.map +1 -0
  579. package/dist/types/state/api-client/state.d.ts +30 -0
  580. package/dist/types/state/api-client/state.d.ts.map +1 -0
  581. package/dist/types/state/api-client/store.d.ts +18 -0
  582. package/dist/types/state/api-client/store.d.ts.map +1 -0
  583. package/dist/types/state/builder-api/actions.d.ts +156 -0
  584. package/dist/types/state/builder-api/actions.d.ts.map +1 -0
  585. package/dist/types/state/builder-api/api.d.ts +9 -0
  586. package/dist/types/state/builder-api/api.d.ts.map +1 -0
  587. package/dist/types/state/builder-api/message-channel.d.ts +14 -0
  588. package/dist/types/state/builder-api/message-channel.d.ts.map +1 -0
  589. package/dist/types/state/builder-api/navigation-listener.d.ts +3 -0
  590. package/dist/types/state/builder-api/navigation-listener.d.ts.map +1 -0
  591. package/dist/types/state/builder-api/proxy.d.ts +16 -0
  592. package/dist/types/state/builder-api/proxy.d.ts.map +1 -0
  593. package/dist/types/state/host-api.d.ts +109 -0
  594. package/dist/types/state/host-api.d.ts.map +1 -0
  595. package/dist/types/state/middleware/makeswift-api-client-sync.d.ts +5 -0
  596. package/dist/types/state/middleware/makeswift-api-client-sync.d.ts.map +1 -0
  597. package/dist/types/state/middleware/read-only-element-tree.d.ts +4 -0
  598. package/dist/types/state/middleware/read-only-element-tree.d.ts.map +1 -0
  599. package/dist/types/state/middleware/read-write/builder-api/element-size.d.ts +12 -0
  600. package/dist/types/state/middleware/read-write/builder-api/element-size.d.ts.map +1 -0
  601. package/dist/types/state/middleware/read-write/builder-api/index.d.ts +5 -0
  602. package/dist/types/state/middleware/read-write/builder-api/index.d.ts.map +1 -0
  603. package/dist/types/state/middleware/read-write/builder-api/initialize-connection.d.ts +6 -0
  604. package/dist/types/state/middleware/read-write/builder-api/initialize-connection.d.ts.map +1 -0
  605. package/dist/types/state/middleware/read-write/index.d.ts +5 -0
  606. package/dist/types/state/middleware/read-write/index.d.ts.map +1 -0
  607. package/dist/types/state/middleware/read-write/measure-box-models.d.ts +4 -0
  608. package/dist/types/state/middleware/read-write/measure-box-models.d.ts.map +1 -0
  609. package/dist/types/state/middleware/read-write/prop-controller-handles.d.ts +4 -0
  610. package/dist/types/state/middleware/read-write/prop-controller-handles.d.ts.map +1 -0
  611. package/dist/types/state/middleware/read-write/update-element-tree.d.ts +4 -0
  612. package/dist/types/state/middleware/read-write/update-element-tree.d.ts.map +1 -0
  613. package/dist/types/state/mixins/breakpoint-watch.d.ts +11 -0
  614. package/dist/types/state/mixins/breakpoint-watch.d.ts.map +1 -0
  615. package/dist/types/state/modules/is-read-only.d.ts +6 -0
  616. package/dist/types/state/modules/is-read-only.d.ts.map +1 -0
  617. package/dist/types/state/modules/locale.d.ts +6 -0
  618. package/dist/types/state/modules/locale.d.ts.map +1 -0
  619. package/dist/types/state/modules/read-write/box-models.d.ts +26 -0
  620. package/dist/types/state/modules/read-write/box-models.d.ts.map +1 -0
  621. package/dist/types/state/modules/read-write/element-imperative-handles.d.ts +6 -0
  622. package/dist/types/state/modules/read-write/element-imperative-handles.d.ts.map +1 -0
  623. package/dist/types/state/modules/read-write/pointer.d.ts +11 -0
  624. package/dist/types/state/modules/read-write/pointer.d.ts.map +1 -0
  625. package/dist/types/state/modules/read-write/read-write-documents.d.ts +14 -0
  626. package/dist/types/state/modules/read-write/read-write-documents.d.ts.map +1 -0
  627. package/dist/types/state/modules/site-version.d.ts +7 -0
  628. package/dist/types/state/modules/site-version.d.ts.map +1 -0
  629. package/dist/types/state/ops/copy-element-tree.d.ts +37 -0
  630. package/dist/types/state/ops/copy-element-tree.d.ts.map +1 -0
  631. package/dist/types/state/ops/merge-element.d.ts +4 -0
  632. package/dist/types/state/ops/merge-element.d.ts.map +1 -0
  633. package/dist/types/state/read-only-state.d.ts +131 -0
  634. package/dist/types/state/read-only-state.d.ts.map +1 -0
  635. package/dist/types/state/read-write-state.d.ts +62 -0
  636. package/dist/types/state/read-write-state.d.ts.map +1 -0
  637. package/dist/types/state/shared-api.d.ts +50 -0
  638. package/dist/types/state/shared-api.d.ts.map +1 -0
  639. package/dist/types/state/store.d.ts +86 -0
  640. package/dist/types/state/store.d.ts.map +1 -0
  641. package/dist/types/state/translations/get.d.ts +4 -0
  642. package/dist/types/state/translations/get.d.ts.map +1 -0
  643. package/dist/types/state/translations/merge.d.ts +7 -0
  644. package/dist/types/state/translations/merge.d.ts.map +1 -0
  645. package/dist/types/state/unified-state.d.ts +9 -0
  646. package/dist/types/state/unified-state.d.ts.map +1 -0
  647. package/dist/types/translations/index.d.ts +6 -0
  648. package/dist/types/translations/index.d.ts.map +1 -0
  649. package/dist/types/utils/__tests__/ref-counted-map.test.d.ts +2 -0
  650. package/dist/types/utils/__tests__/ref-counted-map.test.d.ts.map +1 -0
  651. package/dist/types/utils/deferred.d.ts +7 -0
  652. package/dist/types/utils/deferred.d.ts.map +1 -0
  653. package/dist/types/utils/ref-counted-map.d.ts +32 -0
  654. package/dist/types/utils/ref-counted-map.d.ts.map +1 -0
  655. package/package.json +8 -7
@@ -0,0 +1,127 @@
1
+ import * as ApiClientState from "../state/api-client/state";
2
+ import {
3
+ APIResourceType
4
+ } from "./types";
5
+ const CacheData = {
6
+ empty() {
7
+ return {
8
+ apiResources: {},
9
+ localizedResourcesMap: {}
10
+ };
11
+ }
12
+ };
13
+ class ApiResourcesClient {
14
+ store;
15
+ subscribe;
16
+ constructor({ store }) {
17
+ this.store = store;
18
+ this.subscribe = this.store.subscribe;
19
+ }
20
+ readSwatch(swatchId) {
21
+ return ApiClientState.getAPIResource(this.store.getState(), APIResourceType.Swatch, swatchId);
22
+ }
23
+ resolveSwatch(swatchId) {
24
+ return this.resolveResource(APIResourceType.Swatch, {
25
+ id: swatchId,
26
+ read: (id) => this.readSwatch(id),
27
+ fetch: (id) => this.fetchSwatch(id)
28
+ });
29
+ }
30
+ readFile(fileId) {
31
+ return ApiClientState.getAPIResource(this.store.getState(), APIResourceType.File, fileId);
32
+ }
33
+ resolveFile(fileId) {
34
+ return this.resolveResource(APIResourceType.File, {
35
+ id: fileId,
36
+ read: (id) => this.readFile(id),
37
+ fetch: (id) => this.fetchFile(id)
38
+ });
39
+ }
40
+ readTypography(typographyId) {
41
+ return ApiClientState.getAPIResource(
42
+ this.store.getState(),
43
+ APIResourceType.Typography,
44
+ typographyId
45
+ );
46
+ }
47
+ resolveTypography(typographyId) {
48
+ return this.resolveResource(APIResourceType.Typography, {
49
+ id: typographyId,
50
+ read: (id) => this.readTypography(id),
51
+ fetch: (id) => this.fetchTypography(id)
52
+ });
53
+ }
54
+ readGlobalElement(globalElementId) {
55
+ return ApiClientState.getAPIResource(
56
+ this.store.getState(),
57
+ APIResourceType.GlobalElement,
58
+ globalElementId
59
+ );
60
+ }
61
+ readLocalizedGlobalElement({
62
+ globalElementId,
63
+ locale
64
+ }) {
65
+ return ApiClientState.getAPIResource(
66
+ this.store.getState(),
67
+ APIResourceType.LocalizedGlobalElement,
68
+ globalElementId,
69
+ locale
70
+ );
71
+ }
72
+ readPagePathnameSlice({
73
+ pageId,
74
+ locale
75
+ }) {
76
+ return ApiClientState.getAPIResource(
77
+ this.store.getState(),
78
+ APIResourceType.PagePathnameSlice,
79
+ pageId,
80
+ locale
81
+ );
82
+ }
83
+ resolvePagePathnameSlice({
84
+ pageId,
85
+ locale
86
+ }) {
87
+ return this.resolveResource(APIResourceType.PagePathnameSlice, {
88
+ id: pageId,
89
+ read: (id) => this.readPagePathnameSlice({ pageId: id, locale }),
90
+ fetch: (id) => this.fetchPagePathnameSlice({ pageId: id, locale })
91
+ });
92
+ }
93
+ resolveResource(type, {
94
+ id,
95
+ read,
96
+ fetch
97
+ }) {
98
+ const _read = () => id != null ? read(id) : null;
99
+ let lastValue = null;
100
+ return {
101
+ name: `${type}:${id}`,
102
+ readStable: () => lastValue = _read(),
103
+ subscribe: (onUpdate) => this.subscribe(() => {
104
+ if (_read() !== lastValue)
105
+ onUpdate();
106
+ }),
107
+ fetch: async () => id != null ? fetch(id) : null
108
+ };
109
+ }
110
+ readTable(tableId) {
111
+ return ApiClientState.getAPIResource(this.store.getState(), APIResourceType.Table, tableId);
112
+ }
113
+ readSite(siteId) {
114
+ return ApiClientState.getAPIResource(this.store.getState(), APIResourceType.Site, siteId);
115
+ }
116
+ readPage(pageId) {
117
+ return ApiClientState.getAPIResource(this.store.getState(), APIResourceType.Page, pageId);
118
+ }
119
+ readSnippet(snippetId) {
120
+ return ApiClientState.getAPIResource(this.store.getState(), APIResourceType.Snippet, snippetId);
121
+ }
122
+ }
123
+ export {
124
+ ApiResourcesClient,
125
+ CacheData
126
+ };
127
+ //# sourceMappingURL=api-resources-client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/api/api-resources-client.ts"],"sourcesContent":["import { type FetchableValue } from '@makeswift/controls'\n\nimport { type Store as ApiClientStore } from '../state/api-client/store'\nimport * as ApiClientState from '../state/api-client/state'\n\nimport {\n type File,\n type GlobalElement,\n type LocalizedGlobalElement,\n type Page,\n type PagePathnameSlice,\n type Site,\n type Snippet,\n type Swatch,\n type Table,\n type Typography,\n APIResourceType,\n} from './types'\n\nexport type CacheData = ApiClientState.SerializedState\n\nexport const CacheData = {\n empty(): CacheData {\n return {\n apiResources: {},\n localizedResourcesMap: {},\n }\n },\n}\nexport abstract class ApiResourcesClient {\n readonly store: ApiClientStore\n readonly subscribe: ApiClientStore['subscribe']\n\n constructor({ store }: { store: ApiClientStore }) {\n this.store = store\n this.subscribe = this.store.subscribe\n }\n\n abstract fetchSwatch(swatchId: string): Promise<Swatch | null>\n\n readSwatch(swatchId: string): Swatch | null {\n return ApiClientState.getAPIResource(this.store.getState(), APIResourceType.Swatch, swatchId)\n }\n\n resolveSwatch(swatchId: string | undefined): FetchableValue<Swatch | null> {\n return this.resolveResource(APIResourceType.Swatch, {\n id: swatchId,\n read: id => this.readSwatch(id),\n fetch: id => this.fetchSwatch(id),\n })\n }\n\n abstract fetchFile(fileId: string): Promise<File | null>\n\n readFile(fileId: string): File | null {\n return ApiClientState.getAPIResource(this.store.getState(), APIResourceType.File, fileId)\n }\n\n resolveFile(fileId: string | undefined): FetchableValue<File | null> {\n return this.resolveResource(APIResourceType.File, {\n id: fileId,\n read: id => this.readFile(id),\n fetch: id => this.fetchFile(id),\n })\n }\n\n abstract fetchTypography(typographyId: string): Promise<Typography | null>\n\n readTypography(typographyId: string): Typography | null {\n return ApiClientState.getAPIResource(\n this.store.getState(),\n APIResourceType.Typography,\n typographyId,\n )\n }\n\n resolveTypography(typographyId: string | undefined): FetchableValue<Typography | null> {\n return this.resolveResource(APIResourceType.Typography, {\n id: typographyId,\n read: id => this.readTypography(id),\n fetch: id => this.fetchTypography(id),\n })\n }\n\n abstract fetchGlobalElement(globalElementId: string): Promise<GlobalElement | null>\n\n readGlobalElement(globalElementId: string): GlobalElement | null {\n return ApiClientState.getAPIResource(\n this.store.getState(),\n APIResourceType.GlobalElement,\n globalElementId,\n )\n }\n\n abstract fetchLocalizedGlobalElement({\n globalElementId,\n locale,\n }: {\n globalElementId: string\n locale: string\n }): Promise<LocalizedGlobalElement | null>\n\n readLocalizedGlobalElement({\n globalElementId,\n locale,\n }: {\n globalElementId: string\n locale: string\n }): LocalizedGlobalElement | null {\n return ApiClientState.getAPIResource(\n this.store.getState(),\n APIResourceType.LocalizedGlobalElement,\n globalElementId,\n locale,\n )\n }\n\n readPagePathnameSlice({\n pageId,\n locale,\n }: {\n pageId: string\n locale: string | null\n }): PagePathnameSlice | null {\n return ApiClientState.getAPIResource(\n this.store.getState(),\n APIResourceType.PagePathnameSlice,\n pageId,\n locale,\n )\n }\n\n abstract fetchPagePathnameSlice({\n pageId,\n locale,\n }: {\n pageId: string\n locale: string | null\n }): Promise<PagePathnameSlice | null>\n\n resolvePagePathnameSlice({\n pageId,\n locale,\n }: {\n pageId: string | undefined\n locale: string | null\n }): FetchableValue<PagePathnameSlice | null> {\n return this.resolveResource(APIResourceType.PagePathnameSlice, {\n id: pageId,\n read: id => this.readPagePathnameSlice({ pageId: id, locale }),\n fetch: id => this.fetchPagePathnameSlice({ pageId: id, locale }),\n })\n }\n\n resolveResource<R>(\n type: APIResourceType,\n {\n id,\n read,\n fetch,\n }: {\n id: string | undefined\n read: (id: string) => R | null\n fetch: (id: string) => Promise<R | null>\n },\n ): FetchableValue<R | null> {\n const _read = () => (id != null ? read(id) : null)\n let lastValue: R | null = null\n return {\n name: `${type}:${id}`,\n readStable: () => (lastValue = _read()),\n subscribe: (onUpdate: () => void) =>\n this.subscribe(() => {\n if (_read() !== lastValue) onUpdate()\n }),\n fetch: async () => (id != null ? fetch(id) : null),\n }\n }\n\n abstract fetchTable(tableId: string): Promise<Table | null>\n\n readTable(tableId: string): Table | null {\n return ApiClientState.getAPIResource(this.store.getState(), APIResourceType.Table, tableId)\n }\n\n readSite(siteId: string): Site | null {\n return ApiClientState.getAPIResource(this.store.getState(), APIResourceType.Site, siteId)\n }\n\n readPage(pageId: string): Page | null {\n return ApiClientState.getAPIResource(this.store.getState(), APIResourceType.Page, pageId)\n }\n\n readSnippet(snippetId: string): Snippet | null {\n return ApiClientState.getAPIResource(this.store.getState(), APIResourceType.Snippet, snippetId)\n }\n}\n"],"mappings":"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","names":[]}
@@ -0,0 +1,67 @@
1
+ import { fetchAPIResource } from "../state/api-client/fetch-api-resource";
2
+ import { configureClientStore } from "../state/api-client/client-store";
3
+ import {
4
+ APIResourceType
5
+ } from "./types";
6
+ import { GraphQLClient } from "./graphql/client";
7
+ import { CreateTableRecordMutation } from "./graphql/documents";
8
+ import { ApiResourcesClient } from "./api-resources-client";
9
+ import { CacheData } from "./api-resources-client";
10
+ class MakeswiftHostApiClient extends ApiResourcesClient {
11
+ graphqlClient;
12
+ fetch;
13
+ constructor({
14
+ uri,
15
+ fetch,
16
+ preloadedState
17
+ }) {
18
+ super({
19
+ store: configureClientStore({ preloadedState })
20
+ });
21
+ this.graphqlClient = new GraphQLClient(uri);
22
+ this.fetch = fetch;
23
+ }
24
+ async fetchSwatch(swatchId) {
25
+ return await this.store.dispatch(fetchAPIResource(APIResourceType.Swatch, swatchId, this.fetch));
26
+ }
27
+ async fetchFile(fileId) {
28
+ return await this.store.dispatch(fetchAPIResource(APIResourceType.File, fileId, this.fetch));
29
+ }
30
+ async fetchTypography(typographyId) {
31
+ return await this.store.dispatch(
32
+ fetchAPIResource(APIResourceType.Typography, typographyId, this.fetch)
33
+ );
34
+ }
35
+ async fetchGlobalElement(globalElementId) {
36
+ return await this.store.dispatch(
37
+ fetchAPIResource(APIResourceType.GlobalElement, globalElementId, this.fetch)
38
+ );
39
+ }
40
+ async fetchLocalizedGlobalElement({
41
+ globalElementId,
42
+ locale
43
+ }) {
44
+ return await this.store.dispatch(
45
+ fetchAPIResource(APIResourceType.LocalizedGlobalElement, globalElementId, this.fetch, locale)
46
+ );
47
+ }
48
+ async fetchPagePathnameSlice({
49
+ pageId,
50
+ locale
51
+ }) {
52
+ return await this.store.dispatch(
53
+ fetchAPIResource(APIResourceType.PagePathnameSlice, pageId, this.fetch, locale)
54
+ );
55
+ }
56
+ async fetchTable(tableId) {
57
+ return await this.store.dispatch(fetchAPIResource(APIResourceType.Table, tableId, this.fetch));
58
+ }
59
+ async createTableRecord(tableId, columns) {
60
+ await this.graphqlClient.request(CreateTableRecordMutation, { input: { data: { tableId, columns } } });
61
+ }
62
+ }
63
+ export {
64
+ CacheData,
65
+ MakeswiftHostApiClient
66
+ };
67
+ //# sourceMappingURL=client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/api/client.ts"],"sourcesContent":["import { type State as ApiClientState } from '../state/api-client/state'\nimport { type HttpFetch, fetchAPIResource } from '../state/api-client/fetch-api-resource'\nimport { configureClientStore } from '../state/api-client/client-store'\n\nimport {\n type File,\n type GlobalElement,\n type LocalizedGlobalElement,\n type PagePathnameSlice,\n type Swatch,\n type Table,\n type Typography,\n APIResourceType,\n} from './types'\n\nimport { GraphQLClient } from './graphql/client'\nimport { CreateTableRecordMutation } from './graphql/documents'\nimport {\n CreateTableRecordMutationResult,\n CreateTableRecordMutationVariables,\n} from './graphql/generated/types'\n\nimport { ApiResourcesClient } from './api-resources-client'\n\nexport { CacheData } from './api-resources-client'\n\n/**\n * NOTE(miguel): This \"client\" is used to fetch Makeswift API resources needed for the host. For\n * example, swatches, files, typographies, etc. Ideally it's internal to the runtime and is only\n * used by controls to transform API references to API resources.\n *\n * Moreover, its use should be reserved for the builder only, since for live pages all Makeswift\n * API resources should be embedded in the \"page snapshot\". In the builder, this client serves the\n * purpose of sending requests for API resources and keeping a cache so that changes that happen in\n * the builder, like modifying a swatch, can be sent via `postMessage` to the host and the cache can\n * immediately update the value and re-render.\n *\n * Furthermore, the API resources requested shouldn't be requested directly from the Makeswift API\n * as that would require those resources to not be authenticated since the requests come from the\n * browser when running the host. Instead, the requests should go to the host directly, at the\n * Makeswift API endpoint (i.g., `/api/makeswift/[...makeswift]` dynamic route) where the host's\n * API key can be used, securely, in the server. For this reason, this client should really be a\n * client of the host's API, not Makeswift's, intended to build and continuously maintain a realtime\n * snapshot for use in the builder, not the lives pages.\n */\nexport class MakeswiftHostApiClient extends ApiResourcesClient {\n readonly graphqlClient: GraphQLClient\n readonly fetch: HttpFetch\n\n constructor({\n uri,\n fetch,\n preloadedState,\n }: {\n uri: string\n fetch: HttpFetch\n preloadedState: Partial<ApiClientState>\n }) {\n super({\n store: configureClientStore({ preloadedState }),\n })\n\n this.graphqlClient = new GraphQLClient(uri)\n this.fetch = fetch\n }\n\n async fetchSwatch(swatchId: string): Promise<Swatch | null> {\n return await this.store.dispatch(fetchAPIResource(APIResourceType.Swatch, swatchId, this.fetch))\n }\n\n async fetchFile(fileId: string): Promise<File | null> {\n return await this.store.dispatch(fetchAPIResource(APIResourceType.File, fileId, this.fetch))\n }\n\n async fetchTypography(typographyId: string): Promise<Typography | null> {\n return await this.store.dispatch(\n fetchAPIResource(APIResourceType.Typography, typographyId, this.fetch),\n )\n }\n\n async fetchGlobalElement(globalElementId: string): Promise<GlobalElement | null> {\n return await this.store.dispatch(\n fetchAPIResource(APIResourceType.GlobalElement, globalElementId, this.fetch),\n )\n }\n\n async fetchLocalizedGlobalElement({\n globalElementId,\n locale,\n }: {\n globalElementId: string\n locale: string\n }): Promise<LocalizedGlobalElement | null> {\n return await this.store.dispatch(\n fetchAPIResource(APIResourceType.LocalizedGlobalElement, globalElementId, this.fetch, locale),\n )\n }\n\n async fetchPagePathnameSlice({\n pageId,\n locale,\n }: {\n pageId: string\n locale: string | null\n }): Promise<PagePathnameSlice | null> {\n return await this.store.dispatch(\n fetchAPIResource(APIResourceType.PagePathnameSlice, pageId, this.fetch, locale),\n )\n }\n\n async fetchTable(tableId: string): Promise<Table | null> {\n return await this.store.dispatch(fetchAPIResource(APIResourceType.Table, tableId, this.fetch))\n }\n\n async createTableRecord(tableId: string, columns: any): Promise<void> {\n await this.graphqlClient.request<\n CreateTableRecordMutationResult,\n CreateTableRecordMutationVariables\n >(CreateTableRecordMutation, { input: { data: { tableId, columns } } })\n }\n}\n"],"mappings":"AACA,SAAyB,wBAAwB;AACjD,SAAS,4BAA4B;AAErC;AAAA,EAQE;AAAA,OACK;AAEP,SAAS,qBAAqB;AAC9B,SAAS,iCAAiC;AAM1C,SAAS,0BAA0B;AAEnC,SAAS,iBAAiB;AAqBnB,MAAM,+BAA+B,mBAAmB;AAAA,EACpD;AAAA,EACA;AAAA,EAET,YAAY;AAAA,IACV;AAAA,IACA;AAAA,IACA;AAAA,EACF,GAIG;AACD,UAAM;AAAA,MACJ,OAAO,qBAAqB,EAAE,eAAe,CAAC;AAAA,IAChD,CAAC;AAED,SAAK,gBAAgB,IAAI,cAAc,GAAG;AAC1C,SAAK,QAAQ;AAAA,EACf;AAAA,EAEA,MAAM,YAAY,UAA0C;AAC1D,WAAO,MAAM,KAAK,MAAM,SAAS,iBAAiB,gBAAgB,QAAQ,UAAU,KAAK,KAAK,CAAC;AAAA,EACjG;AAAA,EAEA,MAAM,UAAU,QAAsC;AACpD,WAAO,MAAM,KAAK,MAAM,SAAS,iBAAiB,gBAAgB,MAAM,QAAQ,KAAK,KAAK,CAAC;AAAA,EAC7F;AAAA,EAEA,MAAM,gBAAgB,cAAkD;AACtE,WAAO,MAAM,KAAK,MAAM;AAAA,MACtB,iBAAiB,gBAAgB,YAAY,cAAc,KAAK,KAAK;AAAA,IACvE;AAAA,EACF;AAAA,EAEA,MAAM,mBAAmB,iBAAwD;AAC/E,WAAO,MAAM,KAAK,MAAM;AAAA,MACtB,iBAAiB,gBAAgB,eAAe,iBAAiB,KAAK,KAAK;AAAA,IAC7E;AAAA,EACF;AAAA,EAEA,MAAM,4BAA4B;AAAA,IAChC;AAAA,IACA;AAAA,EACF,GAG2C;AACzC,WAAO,MAAM,KAAK,MAAM;AAAA,MACtB,iBAAiB,gBAAgB,wBAAwB,iBAAiB,KAAK,OAAO,MAAM;AAAA,IAC9F;AAAA,EACF;AAAA,EAEA,MAAM,uBAAuB;AAAA,IAC3B;AAAA,IACA;AAAA,EACF,GAGsC;AACpC,WAAO,MAAM,KAAK,MAAM;AAAA,MACtB,iBAAiB,gBAAgB,mBAAmB,QAAQ,KAAK,OAAO,MAAM;AAAA,IAChF;AAAA,EACF;AAAA,EAEA,MAAM,WAAW,SAAwC;AACvD,WAAO,MAAM,KAAK,MAAM,SAAS,iBAAiB,gBAAgB,OAAO,SAAS,KAAK,KAAK,CAAC;AAAA,EAC/F;AAAA,EAEA,MAAM,kBAAkB,SAAiB,SAA6B;AACpE,UAAM,KAAK,cAAc,QAGvB,2BAA2B,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,QAAQ,EAAE,EAAE,CAAC;AAAA,EACxE;AACF;","names":[]}
@@ -8,7 +8,7 @@ async function manifestHandler(req, { apiKey, manifest }) {
8
8
  return ApiResponse.json({ message: "Unauthorized" }, { status: 401 });
9
9
  }
10
10
  return ApiResponse.json({
11
- version: "0.25.4-canary.3",
11
+ version: "0.25.4",
12
12
  interactionMode: true,
13
13
  clientSideNavigation: false,
14
14
  elementFromPoint: false,
@@ -0,0 +1,38 @@
1
+ import { z } from "zod";
2
+ const changeTypeSchema = z.enum(["created", "updated", "deleted"]);
3
+ const componentChangeSchema = z.object({
4
+ id: z.string(),
5
+ locale: z.string().nullable(),
6
+ changeType: changeTypeSchema
7
+ });
8
+ const pageChangeSchema = z.object({
9
+ pageId: z.string().uuid(),
10
+ locale: z.string().nullable(),
11
+ changeType: changeTypeSchema,
12
+ pathname: z.string(),
13
+ previousPathname: z.string().optional()
14
+ });
15
+ const globalElementChangeSchema = z.object({
16
+ id: z.string().uuid(),
17
+ locale: z.string().nullable(),
18
+ changeType: changeTypeSchema
19
+ });
20
+ const swatchChangeSchema = z.object({
21
+ id: z.string().uuid(),
22
+ changeType: changeTypeSchema
23
+ });
24
+ const typographyChangeSchema = z.object({
25
+ id: z.string().uuid(),
26
+ changeType: changeTypeSchema
27
+ });
28
+ const diffProjectionSchema = z.object({
29
+ components: z.array(componentChangeSchema),
30
+ pages: z.array(pageChangeSchema),
31
+ globalElements: z.array(globalElementChangeSchema),
32
+ swatches: z.array(swatchChangeSchema),
33
+ typographies: z.array(typographyChangeSchema)
34
+ }).passthrough();
35
+ export {
36
+ diffProjectionSchema
37
+ };
38
+ //# sourceMappingURL=diff-projection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../src/api-handler/handlers/webhook/diff-projection.ts"],"sourcesContent":["import { z } from 'zod'\n\nconst changeTypeSchema = z.enum(['created', 'updated', 'deleted'])\n\n// `locale` is null for the default locale. We'd prefer explicit locale strings\n// (e.g. \"en-US\"), but both server and runtime treat the default locale as null\n// today — changing that requires a broader localization rework.\nconst componentChangeSchema = z.object({\n id: z.string(),\n locale: z.string().nullable(),\n changeType: changeTypeSchema,\n})\n\nconst pageChangeSchema = z.object({\n pageId: z.string().uuid(),\n locale: z.string().nullable(),\n changeType: changeTypeSchema,\n pathname: z.string(),\n previousPathname: z.string().optional(),\n})\n\nconst globalElementChangeSchema = z.object({\n id: z.string().uuid(),\n locale: z.string().nullable(),\n changeType: changeTypeSchema,\n})\n\nconst swatchChangeSchema = z.object({\n id: z.string().uuid(),\n changeType: changeTypeSchema,\n})\n\nconst typographyChangeSchema = z.object({\n id: z.string().uuid(),\n changeType: changeTypeSchema,\n})\n\nexport const diffProjectionSchema = z\n .object({\n components: z.array(componentChangeSchema),\n pages: z.array(pageChangeSchema),\n globalElements: z.array(globalElementChangeSchema),\n swatches: z.array(swatchChangeSchema),\n typographies: z.array(typographyChangeSchema),\n })\n // passthrough() preserves unknown resource types the server may add in the\n // future (e.g. `fonts`), so onPublish consumers can access them without a\n // runtime upgrade.\n .passthrough()\n"],"mappings":"AAAA,SAAS,SAAS;AAElB,MAAM,mBAAmB,EAAE,KAAK,CAAC,WAAW,WAAW,SAAS,CAAC;AAKjE,MAAM,wBAAwB,EAAE,OAAO;AAAA,EACrC,IAAI,EAAE,OAAO;AAAA,EACb,QAAQ,EAAE,OAAO,EAAE,SAAS;AAAA,EAC5B,YAAY;AACd,CAAC;AAED,MAAM,mBAAmB,EAAE,OAAO;AAAA,EAChC,QAAQ,EAAE,OAAO,EAAE,KAAK;AAAA,EACxB,QAAQ,EAAE,OAAO,EAAE,SAAS;AAAA,EAC5B,YAAY;AAAA,EACZ,UAAU,EAAE,OAAO;AAAA,EACnB,kBAAkB,EAAE,OAAO,EAAE,SAAS;AACxC,CAAC;AAED,MAAM,4BAA4B,EAAE,OAAO;AAAA,EACzC,IAAI,EAAE,OAAO,EAAE,KAAK;AAAA,EACpB,QAAQ,EAAE,OAAO,EAAE,SAAS;AAAA,EAC5B,YAAY;AACd,CAAC;AAED,MAAM,qBAAqB,EAAE,OAAO;AAAA,EAClC,IAAI,EAAE,OAAO,EAAE,KAAK;AAAA,EACpB,YAAY;AACd,CAAC;AAED,MAAM,yBAAyB,EAAE,OAAO;AAAA,EACtC,IAAI,EAAE,OAAO,EAAE,KAAK;AAAA,EACpB,YAAY;AACd,CAAC;AAEM,MAAM,uBAAuB,EACjC,OAAO;AAAA,EACN,YAAY,EAAE,MAAM,qBAAqB;AAAA,EACzC,OAAO,EAAE,MAAM,gBAAgB;AAAA,EAC/B,gBAAgB,EAAE,MAAM,yBAAyB;AAAA,EACjD,UAAU,EAAE,MAAM,kBAAkB;AAAA,EACpC,cAAc,EAAE,MAAM,sBAAsB;AAC9C,CAAC,EAIA,YAAY;","names":[]}
@@ -0,0 +1,9 @@
1
+ import {
2
+ DefaultBreakpointID,
3
+ DEFAULT_BREAKPOINTS
4
+ } from "../../state/modules/breakpoints";
5
+ export {
6
+ DEFAULT_BREAKPOINTS,
7
+ DefaultBreakpointID
8
+ };
9
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/builder/breakpoints/index.ts"],"sourcesContent":["export {\n DefaultBreakpointID,\n DEFAULT_BREAKPOINTS,\n type BreakpointId,\n type Breakpoint,\n type Breakpoints,\n} from '../../state/modules/breakpoints'\n"],"mappings":"AAAA;AAAA,EACE;AAAA,EACA;AAAA,OAIK;","names":[]}
@@ -0,0 +1,35 @@
1
+ import {
2
+ ControlDefinition,
3
+ ControlInstance,
4
+ DefaultControlInstance,
5
+ ShapeV2Control,
6
+ getBaseBreakpoint,
7
+ getBreakpoint,
8
+ findBreakpointOverride,
9
+ findNextFallback,
10
+ mergeOrCoalesceFallbacks,
11
+ mergeResponsiveValues,
12
+ shallowMergeFallbacks,
13
+ getViewportStyle,
14
+ replaceResourceIfNeeded,
15
+ shouldRemoveResource,
16
+ ContextResource
17
+ } from "@makeswift/controls";
18
+ export {
19
+ ContextResource,
20
+ ControlDefinition,
21
+ ControlInstance,
22
+ DefaultControlInstance,
23
+ ShapeV2Control,
24
+ findBreakpointOverride,
25
+ findNextFallback,
26
+ getBaseBreakpoint,
27
+ getBreakpoint,
28
+ getViewportStyle,
29
+ mergeOrCoalesceFallbacks,
30
+ mergeResponsiveValues,
31
+ replaceResourceIfNeeded,
32
+ shallowMergeFallbacks,
33
+ shouldRemoveResource
34
+ };
35
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/builder/core/index.ts"],"sourcesContent":["export {\n type BoxModel,\n type BoxDisplayModel,\n type Breakpoint,\n type BreakpointId,\n type Breakpoints,\n type ConfigType,\n type Data,\n type DataType,\n type Device,\n type DeviceOverride,\n type FallbackStrategy,\n type ValueType,\n type ResolvedValueType,\n type ResponsiveValue,\n type ControlMessage,\n type ReplacementContext,\n type SendMessageType,\n type Element,\n ControlDefinition,\n ControlInstance,\n DefaultControlInstance,\n ShapeV2Control,\n getBaseBreakpoint,\n getBreakpoint,\n findBreakpointOverride,\n findNextFallback,\n mergeOrCoalesceFallbacks,\n mergeResponsiveValues,\n shallowMergeFallbacks,\n getViewportStyle,\n replaceResourceIfNeeded,\n shouldRemoveResource,\n ContextResource,\n} from '@makeswift/controls'\n"],"mappings":"AAAA;AAAA,EAmBE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;","names":[]}
@@ -0,0 +1,31 @@
1
+ import { makeswiftConnectionInit, registerDocument, unregisterDocument } from "../state/shared-api";
2
+ import {
3
+ changeDocument,
4
+ changeDocumentElementScrollTop,
5
+ cleanUp,
6
+ init,
7
+ messageHostPropController,
8
+ changeApiResource,
9
+ evictApiResource,
10
+ scrollDocumentElement,
11
+ setBuilderEditMode,
12
+ setLocalizedResourceId,
13
+ builderPointerMove
14
+ } from "../state/host-api";
15
+ export {
16
+ builderPointerMove,
17
+ changeApiResource,
18
+ changeDocument,
19
+ changeDocumentElementScrollTop,
20
+ cleanUp,
21
+ evictApiResource,
22
+ init,
23
+ makeswiftConnectionInit,
24
+ messageHostPropController,
25
+ registerDocument,
26
+ scrollDocumentElement,
27
+ setBuilderEditMode,
28
+ setLocalizedResourceId,
29
+ unregisterDocument
30
+ };
31
+ //# sourceMappingURL=host-api.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/builder/host-api.ts"],"sourcesContent":["export { makeswiftConnectionInit, registerDocument, unregisterDocument } from '../state/shared-api'\n\nexport {\n changeDocument,\n changeDocumentElementScrollTop,\n cleanUp,\n init,\n messageHostPropController,\n changeApiResource,\n evictApiResource,\n scrollDocumentElement,\n setBuilderEditMode,\n setLocalizedResourceId,\n builderPointerMove,\n} from '../state/host-api'\n"],"mappings":"AAAA,SAAS,yBAAyB,kBAAkB,0BAA0B;AAE9E;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;","names":[]}
@@ -0,0 +1,18 @@
1
+ import { isAction } from "@reduxjs/toolkit";
2
+ import {
3
+ ReadOnlyActionTypes
4
+ } from "../state/actions/internal/read-only-actions";
5
+ import { BuilderActionTypes } from "../state/builder-api/actions";
6
+ const HostToBuilderActionTypes = {
7
+ ...BuilderActionTypes,
8
+ REGISTER_COMPONENT: ReadOnlyActionTypes.REGISTER_COMPONENT,
9
+ UNREGISTER_COMPONENT: ReadOnlyActionTypes.UNREGISTER_COMPONENT
10
+ };
11
+ function isHostToBuilderAction(action) {
12
+ return isAction(action) && Object.hasOwn(HostToBuilderActionTypes, action.type);
13
+ }
14
+ export {
15
+ HostToBuilderActionTypes,
16
+ isHostToBuilderAction
17
+ };
18
+ //# sourceMappingURL=host-to-builder-actions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/builder/host-to-builder-actions.ts"],"sourcesContent":["import { isAction } from '@reduxjs/toolkit'\n\n// in the past, we reused the same action type for registering components both internally\n// and in the builder; they have been since split into two separate action types,\n// REGISTER_COMPONENT and REGISTER_BUILDER_COMPONENT, but we still have to expose what\n// are now internal actions to the builder for backward compatibility with the older runtimes\nimport {\n type RegisterComponentAction,\n type UnregisterComponentAction,\n ReadOnlyActionTypes,\n} from '../state/actions/internal/read-only-actions'\n\nimport { type BuilderAction, BuilderActionTypes } from '../state/builder-api/actions'\n\nexport const HostToBuilderActionTypes = {\n ...BuilderActionTypes,\n REGISTER_COMPONENT: ReadOnlyActionTypes.REGISTER_COMPONENT,\n UNREGISTER_COMPONENT: ReadOnlyActionTypes.UNREGISTER_COMPONENT,\n} as const\n\nexport type HostToBuilderAction =\n | BuilderAction\n | RegisterComponentAction\n | UnregisterComponentAction\n\nexport function isHostToBuilderAction(action: unknown): action is HostToBuilderAction {\n return isAction(action) && Object.hasOwn(HostToBuilderActionTypes, action.type)\n}\n"],"mappings":"AAAA,SAAS,gBAAgB;AAMzB;AAAA,EAGE;AAAA,OACK;AAEP,SAA6B,0BAA0B;AAEhD,MAAM,2BAA2B;AAAA,EACtC,GAAG;AAAA,EACH,oBAAoB,oBAAoB;AAAA,EACxC,sBAAsB,oBAAoB;AAC5C;AAOO,SAAS,sBAAsB,QAAgD;AACpF,SAAO,SAAS,MAAM,KAAK,OAAO,OAAO,0BAA0B,OAAO,IAAI;AAChF;","names":[]}
@@ -0,0 +1,59 @@
1
+ import {
2
+ deserializeObject
3
+ } from "@makeswift/controls";
4
+ import {
5
+ serializeLegacyControl,
6
+ deserializeLegacyControl
7
+ } from "../prop-controllers/serialization";
8
+ import { isLegacyDescriptor } from "../prop-controllers/descriptors";
9
+ import { deserializeControl as deserializeUnifiedControl } from "../controls/serialization/base";
10
+ import {
11
+ ClientMessagePortSerializationVisitor,
12
+ functionDeserializationPlugin
13
+ } from "../controls/serialization/message-port";
14
+ import {
15
+ deserializeControlRecords
16
+ } from "../controls/serialization";
17
+ export * from "../prop-controllers/serialization";
18
+ function serializeControl(control) {
19
+ if (isLegacyDescriptor(control)) {
20
+ return serializeLegacyControl(control);
21
+ }
22
+ const messagePortVisitor = new ClientMessagePortSerializationVisitor();
23
+ const serializedControl = control.accept(messagePortVisitor);
24
+ return [serializedControl, messagePortVisitor.getTransferables()];
25
+ }
26
+ function isSerializedLegacyControl(control) {
27
+ return "options" in control;
28
+ }
29
+ function deserializeControl(serializedControl, options) {
30
+ if (isSerializedLegacyControl(serializedControl)) {
31
+ const record = options?.plugins ? deserializeObject(serializedControl, options?.plugins) : serializedControl;
32
+ return deserializeLegacyControl(record);
33
+ }
34
+ const plugins = [functionDeserializationPlugin, ...options?.plugins ?? []];
35
+ return deserializeUnifiedControl(serializedControl, { plugins });
36
+ }
37
+ function serializeControls(controls) {
38
+ return Object.entries(controls).reduce(
39
+ ([accControls, accTransferables], [key, control]) => {
40
+ const [serializedControl, transferables] = serializeControl(control);
41
+ return [{ ...accControls, [key]: serializedControl }, [...accTransferables, ...transferables]];
42
+ },
43
+ [{}, []]
44
+ );
45
+ }
46
+ function deserializeControls(serializedControls, { onError, plugins } = {}) {
47
+ return deserializeControlRecords(
48
+ serializedControls,
49
+ (serializedControl, options) => deserializeControl(serializedControl, options),
50
+ { onError, plugins }
51
+ );
52
+ }
53
+ export {
54
+ deserializeControl,
55
+ deserializeControls,
56
+ serializeControl,
57
+ serializeControls
58
+ };
59
+ //# sourceMappingURL=serialization.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/builder/serialization.ts"],"sourcesContent":["import {\n type Data,\n ControlDefinition as UnifiedControlDefinition,\n type SerializedRecord,\n DeserializationPlugin,\n deserializeObject,\n} from '@makeswift/controls'\n\nimport {\n type SerializedLegacyControl,\n type DeserializedLegacyControl,\n serializeLegacyControl,\n deserializeLegacyControl,\n} from '../prop-controllers/serialization'\n\nimport { type Descriptor, isLegacyDescriptor } from '../prop-controllers/descriptors'\n\nimport { deserializeControl as deserializeUnifiedControl } from '../controls/serialization/base'\nimport {\n type DeserializedFunction,\n type SerializedFunction,\n ClientMessagePortSerializationVisitor,\n functionDeserializationPlugin,\n} from '../controls/serialization/message-port'\n\nimport {\n type DeserializeControlRecordsOptions,\n deserializeControlRecords,\n} from '../controls/serialization'\n\nexport * from '../prop-controllers/serialization'\n\nexport type SerializedControl<T extends Data = Data> = SerializedLegacyControl<T> | SerializedRecord\n\nexport type DeserializedControl<T extends Data = Data> =\n | DeserializedLegacyControl<T>\n | UnifiedControlDefinition\n\nexport function serializeControl<T extends Data>(\n control: Descriptor<T>,\n): [SerializedControl<T>, Transferable[]] {\n if (isLegacyDescriptor(control)) {\n return serializeLegacyControl(control)\n }\n\n const messagePortVisitor = new ClientMessagePortSerializationVisitor()\n const serializedControl = control.accept(messagePortVisitor)\n return [serializedControl, messagePortVisitor.getTransferables()]\n}\n\nfunction isSerializedLegacyControl<T extends Data>(\n control: SerializedControl<T>,\n): control is SerializedLegacyControl<T> {\n return 'options' in control\n}\n\nexport type DeserializeControlOptions = {\n plugins?: DeserializationPlugin<any>[]\n}\n\nexport function deserializeControl<T extends Data>(\n serializedControl: SerializedControl<T>,\n options?: DeserializeControlOptions,\n): DeserializedControl<T> {\n if (isSerializedLegacyControl(serializedControl)) {\n // Parity with controls deserialization logic below: \"preprocess\" serialized\n // legacy controls if the caller provided custom deserialization plugins\n const record = options?.plugins\n ? deserializeObject(serializedControl, options?.plugins)\n : serializedControl\n return deserializeLegacyControl(record as SerializedLegacyControl<T>)\n }\n\n const plugins = [functionDeserializationPlugin, ...(options?.plugins ?? [])]\n return deserializeUnifiedControl(serializedControl, { plugins })\n}\n\nexport function serializeControls(\n controls: Record<string, Descriptor>,\n): [Record<string, SerializedControl>, Transferable[]] {\n return Object.entries(controls).reduce(\n ([accControls, accTransferables], [key, control]) => {\n const [serializedControl, transferables] = serializeControl(control)\n\n return [{ ...accControls, [key]: serializedControl }, [...accTransferables, ...transferables]]\n },\n [{}, []] as [Record<string, SerializedControl>, Transferable[]],\n )\n}\n\nexport function deserializeControls(\n serializedControls: Record<string, unknown>,\n { onError, plugins }: DeserializeControlRecordsOptions = {},\n): Record<string, DeserializedControl> {\n return deserializeControlRecords<DeserializedControl>(\n serializedControls,\n (serializedControl, options) => deserializeControl(serializedControl, options),\n { onError, plugins },\n )\n}\n\ntype AnyFunction = (...args: any[]) => any\n\nexport type Serialize<T> = T extends AnyFunction\n ? SerializedFunction<T>\n : T extends Record<string, unknown>\n ? { [K in keyof T]: Serialize<T[K]> }\n : T\n\nexport type Deserialize<T> =\n T extends SerializedFunction<infer U>\n ? DeserializedFunction<U>\n : T extends Record<string, unknown>\n ? { [K in keyof T]: Deserialize<T[K]> }\n : T\n"],"mappings":"AAAA;AAAA,EAKE;AAAA,OACK;AAEP;AAAA,EAGE;AAAA,EACA;AAAA,OACK;AAEP,SAA0B,0BAA0B;AAEpD,SAAS,sBAAsB,iCAAiC;AAChE;AAAA,EAGE;AAAA,EACA;AAAA,OACK;AAEP;AAAA,EAEE;AAAA,OACK;AAEP,cAAc;AAQP,SAAS,iBACd,SACwC;AACxC,MAAI,mBAAmB,OAAO,GAAG;AAC/B,WAAO,uBAAuB,OAAO;AAAA,EACvC;AAEA,QAAM,qBAAqB,IAAI,sCAAsC;AACrE,QAAM,oBAAoB,QAAQ,OAAO,kBAAkB;AAC3D,SAAO,CAAC,mBAAmB,mBAAmB,iBAAiB,CAAC;AAClE;AAEA,SAAS,0BACP,SACuC;AACvC,SAAO,aAAa;AACtB;AAMO,SAAS,mBACd,mBACA,SACwB;AACxB,MAAI,0BAA0B,iBAAiB,GAAG;AAGhD,UAAM,SAAS,SAAS,UACpB,kBAAkB,mBAAmB,SAAS,OAAO,IACrD;AACJ,WAAO,yBAAyB,MAAoC;AAAA,EACtE;AAEA,QAAM,UAAU,CAAC,+BAA+B,GAAI,SAAS,WAAW,CAAC,CAAE;AAC3E,SAAO,0BAA0B,mBAAmB,EAAE,QAAQ,CAAC;AACjE;AAEO,SAAS,kBACd,UACqD;AACrD,SAAO,OAAO,QAAQ,QAAQ,EAAE;AAAA,IAC9B,CAAC,CAAC,aAAa,gBAAgB,GAAG,CAAC,KAAK,OAAO,MAAM;AACnD,YAAM,CAAC,mBAAmB,aAAa,IAAI,iBAAiB,OAAO;AAEnE,aAAO,CAAC,EAAE,GAAG,aAAa,CAAC,GAAG,GAAG,kBAAkB,GAAG,CAAC,GAAG,kBAAkB,GAAG,aAAa,CAAC;AAAA,IAC/F;AAAA,IACA,CAAC,CAAC,GAAG,CAAC,CAAC;AAAA,EACT;AACF;AAEO,SAAS,oBACd,oBACA,EAAE,SAAS,QAAQ,IAAsC,CAAC,GACrB;AACrC,SAAO;AAAA,IACL;AAAA,IACA,CAAC,mBAAmB,YAAY,mBAAmB,mBAAmB,OAAO;AAAA,IAC7E,EAAE,SAAS,QAAQ;AAAA,EACrB;AACF;","names":[]}
@@ -9,6 +9,7 @@ import {
9
9
  } from "react";
10
10
  import { motion, useAnimation } from "framer-motion";
11
11
  import { useGesture } from "@use-gesture/react";
12
+ import { wrap } from "@popmotion/popcorn";
12
13
  import { getBaseBreakpoint } from "@makeswift/controls";
13
14
  import { colorToString } from "../../utils/colorToString";
14
15
  import { useMediaQuery } from "../../hooks";
@@ -17,10 +18,6 @@ import { useStyle } from "../../../runtimes/react/use-style";
17
18
  import { cx } from "@emotion/css";
18
19
  import { useResponsiveStyle } from "../../utils/responsive-style";
19
20
  import { useBreakpoints } from "../../../runtimes/react/hooks/use-breakpoints";
20
- function wrap(min, max, v) {
21
- const rangeSize = max - min;
22
- return ((v - min) % rangeSize + rangeSize) % rangeSize + min;
23
- }
24
21
  const LeftChevron = () => /* @__PURE__ */ jsx("svg", { xmlns: "http://www.w3.org/2000/svg", width: "10", height: "14", viewBox: "0 0 10 14", children: /* @__PURE__ */ jsx(
25
22
  "path",
26
23
  {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/components/builtin/Carousel/Carousel.tsx"],"sourcesContent":["'use client'\n\nimport {\n useState,\n useRef,\n useEffect,\n useCallback,\n forwardRef,\n Ref,\n ComponentPropsWithoutRef,\n} from 'react'\nimport { motion, useAnimation } from 'framer-motion'\nimport { useGesture } from '@use-gesture/react'\n\nimport { getBaseBreakpoint } from '@makeswift/controls'\n\nimport { colorToString } from '../../utils/colorToString'\nimport { type ResponsiveColor } from '../../utils/types'\nimport { useMediaQuery } from '../../hooks'\n\nimport Image from '../Image'\nimport { useStyle } from '../../../runtimes/react/use-style'\nimport { cx } from '@emotion/css'\nimport { useResponsiveStyle } from '../../utils/responsive-style'\nimport { useBreakpoints } from '../../../runtimes/react/hooks/use-breakpoints'\nimport {\n type ResponsiveGapData,\n type ResponsiveNumberValue,\n type ResponsiveIconRadioGroupValue,\n type ImagesData,\n} from '@makeswift/prop-controllers'\n\n// Utility to wrap a value within a range. Pulled from:\n// https://github.com/Popmotion/popmotion/blob/adf681efd8568ada018ce68082dbd585f25c4c7d/packages/popmotion/src/utils/wrap.ts\nfunction wrap(min: number, max: number, v: number): number {\n const rangeSize = max - min\n return ((((v - min) % rangeSize) + rangeSize) % rangeSize) + min\n}\n\nconst LeftChevron = () => (\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"10\" height=\"14\" viewBox=\"0 0 10 14\">\n <path\n d=\"M7,13,1,7,7,1\"\n fill=\"none\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n strokeWidth=\"2\"\n />\n </svg>\n)\n\nconst RightChevron = () => (\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"10\" height=\"14\" viewBox=\"0 0 10 14\">\n <path\n d=\"M3,1,9,7,3,13\"\n fill=\"none\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n strokeWidth=\"2\"\n />\n </svg>\n)\n\ntype Props = {\n id?: string\n images?: ImagesData\n width?: string\n margin?: string\n pageSize?: ResponsiveNumberValue\n step?: ResponsiveNumberValue\n slideAlignment?: ResponsiveIconRadioGroupValue<'flex-start' | 'center' | 'flex-end'>\n gap?: ResponsiveGapData\n autoplay?: boolean\n delay?: number\n showArrows?: boolean\n arrowPosition?: ResponsiveIconRadioGroupValue<'inside' | 'center' | 'outside'>\n arrowColor?: ResponsiveColor | null\n arrowBackground?: ResponsiveColor | null\n showDots?: boolean\n dotColor?: ResponsiveColor | null\n slideBorder?: string\n slideBorderRadius?: string\n}\n\nconst SWIPE_THRESHOLD = 20\nconst swipePower = (dx: number, velocity: number) => dx * (1 + velocity)\n\n// constructs a CSS [class selector](https://developer.mozilla.org/en-US/docs/Web/CSS/Class_selectors),\n// returns a compound class selector if the `classname` string includes multiple class names\nconst classSelector = (classname: string) => `.${classname.split(' ').join('.')}`\n\nconst Carousel = forwardRef(function Carousel(\n {\n images = [],\n width,\n margin,\n pageSize: responsivePageSize,\n step: responsiveStep,\n gap,\n slideAlignment,\n showDots,\n showArrows,\n arrowPosition,\n arrowColor,\n arrowBackground,\n dotColor,\n autoplay = false,\n delay = 5,\n slideBorder,\n slideBorderRadius,\n }: Props,\n ref: Ref<HTMLDivElement>,\n) {\n const breakpoints = useBreakpoints()\n const [index, setIndex] = useState(0)\n const swipe = useRef(0)\n const startIndex = wrap(0, images.length, index)\n const pageSize = useMediaQuery(responsivePageSize) || 1\n const step = useMediaQuery(responsiveStep) || 1\n const endIndex = startIndex + pageSize\n const pageCount = Math.ceil((images.length - pageSize) / step + 1)\n const pageIndex = Math.ceil(startIndex / step)\n const isFirstPage = pageIndex === 0\n const isLastPage = pageIndex === pageCount - 1\n const paginate = useCallback(\n (pageDistance: number) => {\n if (pageDistance === 0) return\n\n const direction = pageDistance / Math.abs(pageDistance)\n const remaining = direction > 0 ? images.slice(endIndex) : images.slice(0, startIndex)\n const distance = direction * Math.min(remaining.length, step * Math.abs(pageDistance))\n\n setIndex(index + distance)\n },\n [images, index, startIndex, endIndex, step],\n )\n // @ts-expect-error: `useAnimation` types expect no arguments.\n const animation = useAnimation({ x: 0, transition: { type: 'spring', stiffness: 100 } })\n const bindPage = useGesture(\n {\n onDrag: ({ movement: [mx], delta: [dx], velocity: [vx] }) => {\n animation.start({ x: mx })\n swipe.current = swipePower(dx, vx)\n },\n onDragEnd: () => {\n animation.start({ x: 0 })\n\n if (swipe.current > SWIPE_THRESHOLD) paginate(1)\n else if (swipe.current < -SWIPE_THRESHOLD) paginate(-1)\n },\n },\n {\n drag: {\n axis: 'x',\n bounds: { left: 0, right: 0 },\n rubberband: true,\n },\n },\n )\n\n useEffect(() => {\n if (!autoplay || pageSize !== 0) setIndex(0)\n }, [autoplay, pageSize])\n\n useEffect(() => {\n if (!autoplay) return () => {}\n\n const intervalId = setInterval(() => (isLastPage ? setIndex(0) : paginate(1)), delay * 1000)\n\n return () => clearInterval(intervalId)\n }, [autoplay, delay, paginate, isLastPage])\n\n const clipMaskClassName = useStyle({ overflow: 'hidden' })\n const pageClassName = useStyle({ position: 'relative', width: '100%' })\n const slideClassName = cx(\n useStyle({ display: 'flex' }),\n useStyle(\n useResponsiveStyle([responsivePageSize] as const, ([pageSize = 1]) => ({\n flexBasis: `${100 / pageSize}%`,\n maxWidth: `${100 / pageSize}%`,\n minWidth: `${100 / pageSize}%`,\n })),\n ),\n useStyle(\n useResponsiveStyle([slideAlignment] as const, ([alignItems = 'center']) => ({ alignItems })),\n ),\n )\n\n const reelClassName = cx(\n useStyle({ display: 'flex', position: 'relative', flexWrap: 'nowrap' }),\n useStyle(\n useResponsiveStyle([gap] as const, ([gap = { value: 0, unit: 'px' }]) => ({\n margin: `0 ${`${-gap.value / 2}${gap.unit}`}`,\n [`& > ${classSelector(slideClassName)}`]: {\n padding: `0 ${`${gap.value / 2}${gap.unit}`}`,\n },\n })),\n ),\n )\n\n const arrowClassName = cx(\n useStyle({\n padding: 10,\n borderRadius: '50%',\n outline: 0,\n border: 0,\n width: 40,\n height: 40,\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n cursor: 'pointer',\n userSelect: 'none',\n }),\n useStyle(\n useResponsiveStyle(\n [arrowBackground] as const,\n ([background = { swatch: { hue: 0, saturation: 0, lightness: 100 }, alpha: 1 }]) => ({\n background: colorToString(background),\n }),\n ),\n ),\n useStyle({ svg: { transition: 'transform 0.15s', stroke: 'currentcolor' } }),\n )\n\n const slopClassName = cx(\n useStyle({\n position: 'absolute',\n top: 0,\n bottom: 0,\n\n display: 'flex',\n '&[hidden]': {\n display: 'none',\n },\n\n alignItems: 'center',\n cursor: 'pointer',\n zIndex: 2,\n }),\n useStyle(\n useResponsiveStyle(\n [arrowColor] as const,\n ([color = { swatch: { hue: 0, saturation: 0, lightness: 0 }, alpha: 1 }]) => ({\n color: colorToString(color),\n }),\n ),\n ),\n )\n\n const leftSlopClassName = cx(\n slopClassName,\n useStyle(\n useResponsiveStyle([arrowPosition] as const, ([position = 'inside']) => {\n switch (position) {\n case 'inside':\n return { transform: 'translateX(8px)' }\n\n case 'outside':\n return { transform: 'translateX(calc(-100% - 8px))' }\n\n default:\n return { transform: 'translateX(calc(-50%))' }\n }\n }),\n ),\n useStyle({\n left: 0,\n\n [`&:hover > ${classSelector(arrowClassName)}`]: {\n '& > svg': {\n transform: 'translateX(-2px)',\n },\n },\n }),\n )\n\n const rightSlopClassName = cx(\n slopClassName,\n useStyle(\n useResponsiveStyle([arrowPosition] as const, ([position = 'inside']) => {\n switch (position) {\n case 'inside':\n return { transform: 'translateX(-8px)' }\n\n case 'outside':\n return { transform: 'translateX(calc(100% + 8px))' }\n\n default:\n return { transform: 'translateX(calc(50%))' }\n }\n }),\n ),\n useStyle({\n right: 0,\n [`&:hover > ${classSelector(arrowClassName)}`]: {\n '& > svg': {\n transform: 'translateX(2px)',\n },\n },\n }),\n )\n\n const dotsClassName = cx(\n useStyle({ display: showDots ? 'flex' : 'none', justifyContent: 'center', marginTop: 20 }),\n useStyle(\n useResponsiveStyle(\n [dotColor] as const,\n ([color = { swatch: { hue: 0, saturation: 0, lightness: 0 }, alpha: 1 }]) => ({\n color: colorToString(color),\n }),\n ),\n ),\n )\n\n return (\n <div\n ref={ref}\n className={cx(\n useStyle({ position: 'relative', display: 'flex', flexDirection: 'column' }),\n width,\n margin,\n useStyle({ '&:focus': { outline: 0 } }),\n )}\n tabIndex={-1}\n onKeyDown={e => {\n switch (e.key) {\n case 'ArrowRight':\n paginate(1)\n break\n case 'ArrowLeft':\n paginate(-1)\n break\n default:\n }\n }}\n >\n {/* NOTE: We set height to 100% here to fix an issue on IE11 where the child height of a flex column extends too far */}\n <div className={useStyle({ position: 'relative', height: '100%' })}>\n <div className={clipMaskClassName}>\n {/* https://github.com/framer/motion/issues/1723 */}\n {/* @ts-expect-error: React HTMLElement typings conflict with motion components */}\n <motion.div {...bindPage()} className={pageClassName} animate={animation}>\n <motion.div\n className={reelClassName}\n animate={{ x: `${-(100 / pageSize) * startIndex}%` }}\n transition={{\n x: {\n type: 'tween',\n ease: [0.165, 0.84, 0.44, 1],\n duration: 0.5,\n },\n }}\n >\n {images.map(({ props: imageProps, key }) => (\n <motion.div\n key={key}\n className={slideClassName}\n onMouseDown={e => e.preventDefault()}\n onClick={e => {\n if (swipe.current !== 0) e.preventDefault()\n }}\n >\n <Image\n width={[\n {\n deviceId: getBaseBreakpoint(breakpoints).id,\n value: { value: 100, unit: '%' },\n },\n ]}\n file={imageProps.file}\n altText={imageProps.altText}\n link={imageProps.link}\n border={slideBorder}\n borderRadius={slideBorderRadius}\n />\n </motion.div>\n ))}\n </motion.div>\n </motion.div>\n </div>\n <div\n onClick={() => paginate(-1)}\n className={leftSlopClassName}\n hidden={!showArrows || isFirstPage}\n >\n <div className={arrowClassName}>\n <LeftChevron />\n </div>\n </div>\n <div\n onClick={() => paginate(1)}\n className={rightSlopClassName}\n hidden={!showArrows || isLastPage}\n >\n <div className={arrowClassName}>\n <RightChevron />\n </div>\n </div>\n </div>\n <div className={dotsClassName}>\n {Array.from({ length: pageCount }).map((_, i) => (\n <Dot key={i} active={i === pageIndex} onClick={() => paginate(i - pageIndex)} />\n ))}\n </div>\n </div>\n )\n})\n\nexport default Carousel\n\ntype DotBaseProps = {\n className?: string\n active: boolean\n}\n\ntype DotProps = DotBaseProps & Omit<ComponentPropsWithoutRef<'div'>, keyof DotBaseProps>\n\nfunction Dot({ className, active, ...restOfProps }: DotProps) {\n return (\n <div\n {...restOfProps}\n className={cx(\n useStyle({\n position: 'relative',\n margin: '0 6px',\n borderRadius: '50%',\n cursor: 'pointer',\n width: 16,\n height: 16,\n\n '&::before, &::after': {\n content: '\"\"',\n position: 'absolute',\n top: '50%',\n left: '50%',\n display: 'block',\n borderRadius: '50%',\n transition: 'all 0.15s cubic-bezier(0.175, 0.885, 0.32, 1.275)',\n },\n\n '&::before': {\n boxShadow: '0 0 0 2px currentColor',\n transform: 'translate3d(-50%, -50%, 0)',\n width: active ? 16 : 10,\n height: active ? 16 : 10,\n },\n\n '&::after': {\n background: 'currentColor',\n transform: `translate3d(-50%, -50%, 0) scale(${active ? 1 : 0})`,\n width: 10,\n height: 10,\n },\n\n '&:hover::after': {\n transform: `translate3d(-50%, -50%, 0) scale(${active ? 1 : 0})`,\n },\n }),\n className,\n )}\n />\n )\n}\n"],"mappings":"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","names":["Carousel","pageSize","gap"]}
1
+ {"version":3,"sources":["../../../../../src/components/builtin/Carousel/Carousel.tsx"],"sourcesContent":["'use client'\n\nimport {\n useState,\n useRef,\n useEffect,\n useCallback,\n forwardRef,\n Ref,\n ComponentPropsWithoutRef,\n} from 'react'\nimport { motion, useAnimation } from 'framer-motion'\nimport { useGesture } from '@use-gesture/react'\nimport { wrap } from '@popmotion/popcorn'\n\nimport { getBaseBreakpoint } from '@makeswift/controls'\n\nimport { colorToString } from '../../utils/colorToString'\nimport { type ResponsiveColor } from '../../utils/types'\nimport { useMediaQuery } from '../../hooks'\n\nimport Image from '../Image'\nimport { useStyle } from '../../../runtimes/react/use-style'\nimport { cx } from '@emotion/css'\nimport { useResponsiveStyle } from '../../utils/responsive-style'\nimport { useBreakpoints } from '../../../runtimes/react/hooks/use-breakpoints'\nimport {\n type ResponsiveGapData,\n type ResponsiveNumberValue,\n type ResponsiveIconRadioGroupValue,\n type ImagesData,\n} from '@makeswift/prop-controllers'\n\nconst LeftChevron = () => (\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"10\" height=\"14\" viewBox=\"0 0 10 14\">\n <path\n d=\"M7,13,1,7,7,1\"\n fill=\"none\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n strokeWidth=\"2\"\n />\n </svg>\n)\n\nconst RightChevron = () => (\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"10\" height=\"14\" viewBox=\"0 0 10 14\">\n <path\n d=\"M3,1,9,7,3,13\"\n fill=\"none\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n strokeWidth=\"2\"\n />\n </svg>\n)\n\ntype Props = {\n id?: string\n images?: ImagesData\n width?: string\n margin?: string\n pageSize?: ResponsiveNumberValue\n step?: ResponsiveNumberValue\n slideAlignment?: ResponsiveIconRadioGroupValue<'flex-start' | 'center' | 'flex-end'>\n gap?: ResponsiveGapData\n autoplay?: boolean\n delay?: number\n showArrows?: boolean\n arrowPosition?: ResponsiveIconRadioGroupValue<'inside' | 'center' | 'outside'>\n arrowColor?: ResponsiveColor | null\n arrowBackground?: ResponsiveColor | null\n showDots?: boolean\n dotColor?: ResponsiveColor | null\n slideBorder?: string\n slideBorderRadius?: string\n}\n\nconst SWIPE_THRESHOLD = 20\nconst swipePower = (dx: number, velocity: number) => dx * (1 + velocity)\n\n// constructs a CSS [class selector](https://developer.mozilla.org/en-US/docs/Web/CSS/Class_selectors),\n// returns a compound class selector if the `classname` string includes multiple class names\nconst classSelector = (classname: string) => `.${classname.split(' ').join('.')}`\n\nconst Carousel = forwardRef(function Carousel(\n {\n images = [],\n width,\n margin,\n pageSize: responsivePageSize,\n step: responsiveStep,\n gap,\n slideAlignment,\n showDots,\n showArrows,\n arrowPosition,\n arrowColor,\n arrowBackground,\n dotColor,\n autoplay = false,\n delay = 5,\n slideBorder,\n slideBorderRadius,\n }: Props,\n ref: Ref<HTMLDivElement>,\n) {\n const breakpoints = useBreakpoints()\n const [index, setIndex] = useState(0)\n const swipe = useRef(0)\n const startIndex = wrap(0, images.length, index)\n const pageSize = useMediaQuery(responsivePageSize) || 1\n const step = useMediaQuery(responsiveStep) || 1\n const endIndex = startIndex + pageSize\n const pageCount = Math.ceil((images.length - pageSize) / step + 1)\n const pageIndex = Math.ceil(startIndex / step)\n const isFirstPage = pageIndex === 0\n const isLastPage = pageIndex === pageCount - 1\n const paginate = useCallback(\n (pageDistance: number) => {\n if (pageDistance === 0) return\n\n const direction = pageDistance / Math.abs(pageDistance)\n const remaining = direction > 0 ? images.slice(endIndex) : images.slice(0, startIndex)\n const distance = direction * Math.min(remaining.length, step * Math.abs(pageDistance))\n\n setIndex(index + distance)\n },\n [images, index, startIndex, endIndex, step],\n )\n // @ts-expect-error: `useAnimation` types expect no arguments.\n const animation = useAnimation({ x: 0, transition: { type: 'spring', stiffness: 100 } })\n const bindPage = useGesture(\n {\n onDrag: ({ movement: [mx], delta: [dx], velocity: [vx] }) => {\n animation.start({ x: mx })\n swipe.current = swipePower(dx, vx)\n },\n onDragEnd: () => {\n animation.start({ x: 0 })\n\n if (swipe.current > SWIPE_THRESHOLD) paginate(1)\n else if (swipe.current < -SWIPE_THRESHOLD) paginate(-1)\n },\n },\n {\n drag: {\n axis: 'x',\n bounds: { left: 0, right: 0 },\n rubberband: true,\n },\n },\n )\n\n useEffect(() => {\n if (!autoplay || pageSize !== 0) setIndex(0)\n }, [autoplay, pageSize])\n\n useEffect(() => {\n if (!autoplay) return () => {}\n\n const intervalId = setInterval(() => (isLastPage ? setIndex(0) : paginate(1)), delay * 1000)\n\n return () => clearInterval(intervalId)\n }, [autoplay, delay, paginate, isLastPage])\n\n const clipMaskClassName = useStyle({ overflow: 'hidden' })\n const pageClassName = useStyle({ position: 'relative', width: '100%' })\n const slideClassName = cx(\n useStyle({ display: 'flex' }),\n useStyle(\n useResponsiveStyle([responsivePageSize] as const, ([pageSize = 1]) => ({\n flexBasis: `${100 / pageSize}%`,\n maxWidth: `${100 / pageSize}%`,\n minWidth: `${100 / pageSize}%`,\n })),\n ),\n useStyle(\n useResponsiveStyle([slideAlignment] as const, ([alignItems = 'center']) => ({ alignItems })),\n ),\n )\n\n const reelClassName = cx(\n useStyle({ display: 'flex', position: 'relative', flexWrap: 'nowrap' }),\n useStyle(\n useResponsiveStyle([gap] as const, ([gap = { value: 0, unit: 'px' }]) => ({\n margin: `0 ${`${-gap.value / 2}${gap.unit}`}`,\n [`& > ${classSelector(slideClassName)}`]: {\n padding: `0 ${`${gap.value / 2}${gap.unit}`}`,\n },\n })),\n ),\n )\n\n const arrowClassName = cx(\n useStyle({\n padding: 10,\n borderRadius: '50%',\n outline: 0,\n border: 0,\n width: 40,\n height: 40,\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n cursor: 'pointer',\n userSelect: 'none',\n }),\n useStyle(\n useResponsiveStyle(\n [arrowBackground] as const,\n ([background = { swatch: { hue: 0, saturation: 0, lightness: 100 }, alpha: 1 }]) => ({\n background: colorToString(background),\n }),\n ),\n ),\n useStyle({ svg: { transition: 'transform 0.15s', stroke: 'currentcolor' } }),\n )\n\n const slopClassName = cx(\n useStyle({\n position: 'absolute',\n top: 0,\n bottom: 0,\n\n display: 'flex',\n '&[hidden]': {\n display: 'none',\n },\n\n alignItems: 'center',\n cursor: 'pointer',\n zIndex: 2,\n }),\n useStyle(\n useResponsiveStyle(\n [arrowColor] as const,\n ([color = { swatch: { hue: 0, saturation: 0, lightness: 0 }, alpha: 1 }]) => ({\n color: colorToString(color),\n }),\n ),\n ),\n )\n\n const leftSlopClassName = cx(\n slopClassName,\n useStyle(\n useResponsiveStyle([arrowPosition] as const, ([position = 'inside']) => {\n switch (position) {\n case 'inside':\n return { transform: 'translateX(8px)' }\n\n case 'outside':\n return { transform: 'translateX(calc(-100% - 8px))' }\n\n default:\n return { transform: 'translateX(calc(-50%))' }\n }\n }),\n ),\n useStyle({\n left: 0,\n\n [`&:hover > ${classSelector(arrowClassName)}`]: {\n '& > svg': {\n transform: 'translateX(-2px)',\n },\n },\n }),\n )\n\n const rightSlopClassName = cx(\n slopClassName,\n useStyle(\n useResponsiveStyle([arrowPosition] as const, ([position = 'inside']) => {\n switch (position) {\n case 'inside':\n return { transform: 'translateX(-8px)' }\n\n case 'outside':\n return { transform: 'translateX(calc(100% + 8px))' }\n\n default:\n return { transform: 'translateX(calc(50%))' }\n }\n }),\n ),\n useStyle({\n right: 0,\n [`&:hover > ${classSelector(arrowClassName)}`]: {\n '& > svg': {\n transform: 'translateX(2px)',\n },\n },\n }),\n )\n\n const dotsClassName = cx(\n useStyle({ display: showDots ? 'flex' : 'none', justifyContent: 'center', marginTop: 20 }),\n useStyle(\n useResponsiveStyle(\n [dotColor] as const,\n ([color = { swatch: { hue: 0, saturation: 0, lightness: 0 }, alpha: 1 }]) => ({\n color: colorToString(color),\n }),\n ),\n ),\n )\n\n return (\n <div\n ref={ref}\n className={cx(\n useStyle({ position: 'relative', display: 'flex', flexDirection: 'column' }),\n width,\n margin,\n useStyle({ '&:focus': { outline: 0 } }),\n )}\n tabIndex={-1}\n onKeyDown={e => {\n switch (e.key) {\n case 'ArrowRight':\n paginate(1)\n break\n case 'ArrowLeft':\n paginate(-1)\n break\n default:\n }\n }}\n >\n {/* NOTE: We set height to 100% here to fix an issue on IE11 where the child height of a flex column extends too far */}\n <div className={useStyle({ position: 'relative', height: '100%' })}>\n <div className={clipMaskClassName}>\n {/* https://github.com/framer/motion/issues/1723 */}\n {/* @ts-expect-error: React HTMLElement typings conflict with motion components */}\n <motion.div {...bindPage()} className={pageClassName} animate={animation}>\n <motion.div\n className={reelClassName}\n animate={{ x: `${-(100 / pageSize) * startIndex}%` }}\n transition={{\n x: {\n type: 'tween',\n ease: [0.165, 0.84, 0.44, 1],\n duration: 0.5,\n },\n }}\n >\n {images.map(({ props: imageProps, key }) => (\n <motion.div\n key={key}\n className={slideClassName}\n onMouseDown={e => e.preventDefault()}\n onClick={e => {\n if (swipe.current !== 0) e.preventDefault()\n }}\n >\n <Image\n width={[\n {\n deviceId: getBaseBreakpoint(breakpoints).id,\n value: { value: 100, unit: '%' },\n },\n ]}\n file={imageProps.file}\n altText={imageProps.altText}\n link={imageProps.link}\n border={slideBorder}\n borderRadius={slideBorderRadius}\n />\n </motion.div>\n ))}\n </motion.div>\n </motion.div>\n </div>\n <div\n onClick={() => paginate(-1)}\n className={leftSlopClassName}\n hidden={!showArrows || isFirstPage}\n >\n <div className={arrowClassName}>\n <LeftChevron />\n </div>\n </div>\n <div\n onClick={() => paginate(1)}\n className={rightSlopClassName}\n hidden={!showArrows || isLastPage}\n >\n <div className={arrowClassName}>\n <RightChevron />\n </div>\n </div>\n </div>\n <div className={dotsClassName}>\n {Array.from({ length: pageCount }).map((_, i) => (\n <Dot key={i} active={i === pageIndex} onClick={() => paginate(i - pageIndex)} />\n ))}\n </div>\n </div>\n )\n})\n\nexport default Carousel\n\ntype DotBaseProps = {\n className?: string\n active: boolean\n}\n\ntype DotProps = DotBaseProps & Omit<ComponentPropsWithoutRef<'div'>, keyof DotBaseProps>\n\nfunction Dot({ className, active, ...restOfProps }: DotProps) {\n return (\n <div\n {...restOfProps}\n className={cx(\n useStyle({\n position: 'relative',\n margin: '0 6px',\n borderRadius: '50%',\n cursor: 'pointer',\n width: 16,\n height: 16,\n\n '&::before, &::after': {\n content: '\"\"',\n position: 'absolute',\n top: '50%',\n left: '50%',\n display: 'block',\n borderRadius: '50%',\n transition: 'all 0.15s cubic-bezier(0.175, 0.885, 0.32, 1.275)',\n },\n\n '&::before': {\n boxShadow: '0 0 0 2px currentColor',\n transform: 'translate3d(-50%, -50%, 0)',\n width: active ? 16 : 10,\n height: active ? 16 : 10,\n },\n\n '&::after': {\n background: 'currentColor',\n transform: `translate3d(-50%, -50%, 0) scale(${active ? 1 : 0})`,\n width: 10,\n height: 10,\n },\n\n '&:hover::after': {\n transform: `translate3d(-50%, -50%, 0) scale(${active ? 1 : 0})`,\n },\n }),\n className,\n )}\n />\n )\n}\n"],"mappings":"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","names":["Carousel","pageSize","gap"]}
@@ -8,7 +8,6 @@ import {
8
8
  import { isLegacyDescriptor } from "../prop-controllers/descriptors";
9
9
  import { copy as propControllerCopy } from "../prop-controllers/copy";
10
10
  import { DELETED_PROP_CONTROLLER_TYPES } from "../prop-controllers";
11
- import { ReactMergeTranslationsVisitor } from "./visitors/merge-translations-visitor";
12
11
  function copy(definition, value, context) {
13
12
  if (!isLegacyDescriptor(definition)) {
14
13
  return definition.copyData(value, context);
@@ -58,8 +57,7 @@ function mergeTranslatedData(definition, data, translatedData, context) {
58
57
  if (data == null)
59
58
  return data;
60
59
  if (!isLegacyDescriptor(definition)) {
61
- const mergeTranslationsVisitor = new ReactMergeTranslationsVisitor(context);
62
- return definition.accept(mergeTranslationsVisitor, data, translatedData);
60
+ return definition.mergeTranslatedData(data, translatedData, context);
63
61
  }
64
62
  switch (definition.type) {
65
63
  case PropControllerTypes.TextInput: