@makeswift/runtime 0.28.8-canary.12 → 0.28.8-canary.15

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 (340) hide show
  1. package/dist/cjs/api/graphql-api-client.js +1 -1
  2. package/dist/cjs/api/rest-api-client.js +1 -1
  3. package/dist/cjs/api-handler/handlers/manifest.js +1 -1
  4. package/dist/cjs/builder/host-to-builder-actions.js +5 -5
  5. package/dist/cjs/builder/host-to-builder-actions.js.map +1 -1
  6. package/dist/cjs/client/index.js +1 -1
  7. package/dist/cjs/components/builtin/Form/Form.js.map +1 -1
  8. package/dist/cjs/controls/rich-text/control.js +9 -3
  9. package/dist/cjs/controls/rich-text/control.js.map +1 -1
  10. package/dist/cjs/controls/rich-text-v2/control.js +6 -0
  11. package/dist/cjs/controls/rich-text-v2/control.js.map +1 -1
  12. package/dist/cjs/next/testing/breakpoints.js +3 -15
  13. package/dist/cjs/next/testing/breakpoints.js.map +1 -1
  14. package/dist/cjs/next/testing/element-data.js +3 -82
  15. package/dist/cjs/next/testing/element-data.js.map +1 -1
  16. package/dist/cjs/next/testing/react-runtime.js.map +1 -1
  17. package/dist/cjs/prop-controllers/instances.js +6 -0
  18. package/dist/cjs/prop-controllers/instances.js.map +1 -1
  19. package/dist/cjs/runtimes/react/components/Element.js +21 -6
  20. package/dist/cjs/runtimes/react/components/Element.js.map +1 -1
  21. package/dist/cjs/runtimes/react/components/ElementRegistration.js +5 -3
  22. package/dist/cjs/runtimes/react/components/ElementRegistration.js.map +1 -1
  23. package/dist/cjs/runtimes/react/components/resolve-props.js +5 -1
  24. package/dist/cjs/runtimes/react/components/resolve-props.js.map +1 -1
  25. package/dist/cjs/runtimes/react/controls/rich-text/EditableText/editable-text.js.map +1 -1
  26. package/dist/cjs/runtimes/react/controls/rich-text/rich-text.js +2 -2
  27. package/dist/cjs/runtimes/react/controls/rich-text/rich-text.js.map +1 -1
  28. package/dist/cjs/runtimes/react/element-imperative-handle.js +2 -2
  29. package/dist/cjs/runtimes/react/element-imperative-handle.js.map +1 -1
  30. package/dist/cjs/runtimes/react/hooks/use-control-instances.js +4 -3
  31. package/dist/cjs/runtimes/react/hooks/use-control-instances.js.map +1 -1
  32. package/dist/cjs/runtimes/react/hooks/use-resolved-props.js +10 -9
  33. package/dist/cjs/runtimes/react/hooks/use-resolved-props.js.map +1 -1
  34. package/dist/cjs/runtimes/react/testing/index.js +25 -0
  35. package/dist/cjs/runtimes/react/testing/index.js.map +1 -0
  36. package/dist/cjs/runtimes/react/testing/react-provider.js +38 -0
  37. package/dist/cjs/runtimes/react/testing/react-provider.js.map +1 -0
  38. package/dist/cjs/state/actions/index.js +4 -4
  39. package/dist/cjs/state/actions/index.js.map +1 -1
  40. package/dist/cjs/state/actions/internal/action-types.js +34 -0
  41. package/dist/cjs/state/actions/internal/action-types.js.map +1 -0
  42. package/dist/cjs/state/actions/internal/index.js +0 -17
  43. package/dist/cjs/state/actions/internal/index.js.map +1 -1
  44. package/dist/cjs/state/actions/internal/read-only-action-types.js +44 -0
  45. package/dist/cjs/state/actions/internal/read-only-action-types.js.map +1 -0
  46. package/dist/cjs/state/actions/internal/read-only-actions.js +13 -92
  47. package/dist/cjs/state/actions/internal/read-only-actions.js.map +1 -1
  48. package/dist/cjs/state/actions/internal/read-write-action-types.js +41 -0
  49. package/dist/cjs/state/actions/internal/read-write-action-types.js.map +1 -0
  50. package/dist/cjs/state/actions/internal/read-write-actions.js +62 -14
  51. package/dist/cjs/state/actions/internal/read-write-actions.js.map +1 -1
  52. package/dist/cjs/state/builder-api/action-types.js +49 -0
  53. package/dist/cjs/state/builder-api/action-types.js.map +1 -0
  54. package/dist/cjs/state/builder-api/actions.js +14 -36
  55. package/dist/cjs/state/builder-api/actions.js.map +1 -1
  56. package/dist/cjs/state/builder-api/proxy.js +2 -1
  57. package/dist/cjs/state/builder-api/proxy.js.map +1 -1
  58. package/dist/cjs/state/host-api/action-types.js +43 -0
  59. package/dist/cjs/state/host-api/action-types.js.map +1 -0
  60. package/dist/cjs/state/{host-api.js → host-api/actions.js} +17 -33
  61. package/dist/cjs/state/host-api/actions.js.map +1 -0
  62. package/dist/cjs/state/host-api/index.js +25 -0
  63. package/dist/cjs/state/host-api/index.js.map +1 -0
  64. package/dist/cjs/state/middleware/read-write/builder-api/index.js +15 -15
  65. package/dist/cjs/state/middleware/read-write/builder-api/index.js.map +1 -1
  66. package/dist/cjs/state/middleware/read-write/measure-box-models.js +3 -3
  67. package/dist/cjs/state/middleware/read-write/measure-box-models.js.map +1 -1
  68. package/dist/cjs/state/middleware/read-write/prop-controller-handles.js +12 -13
  69. package/dist/cjs/state/middleware/read-write/prop-controller-handles.js.map +1 -1
  70. package/dist/cjs/state/modules/api-resources.js +5 -5
  71. package/dist/cjs/state/modules/api-resources.js.map +1 -1
  72. package/dist/cjs/state/modules/breakpoints.js +4 -4
  73. package/dist/cjs/state/modules/breakpoints.js.map +1 -1
  74. package/dist/cjs/state/modules/components-meta.js +3 -3
  75. package/dist/cjs/state/modules/components-meta.js.map +1 -1
  76. package/dist/cjs/state/modules/element-trees.js +5 -5
  77. package/dist/cjs/state/modules/element-trees.js.map +1 -1
  78. package/dist/cjs/state/modules/is-in-builder.js +2 -2
  79. package/dist/cjs/state/modules/is-in-builder.js.map +1 -1
  80. package/dist/cjs/state/modules/is-read-only.js +2 -2
  81. package/dist/cjs/state/modules/is-read-only.js.map +1 -1
  82. package/dist/cjs/state/modules/locale.js +2 -2
  83. package/dist/cjs/state/modules/locale.js.map +1 -1
  84. package/dist/cjs/state/modules/localized-resources-map.js +3 -3
  85. package/dist/cjs/state/modules/localized-resources-map.js.map +1 -1
  86. package/dist/cjs/state/modules/{prop-controllers.js → prop-controller-descriptors.js} +7 -7
  87. package/dist/cjs/state/modules/prop-controller-descriptors.js.map +1 -0
  88. package/dist/cjs/state/modules/react-components.js +3 -3
  89. package/dist/cjs/state/modules/react-components.js.map +1 -1
  90. package/dist/cjs/state/modules/read-write/box-models.js +5 -5
  91. package/dist/cjs/state/modules/read-write/box-models.js.map +1 -1
  92. package/dist/cjs/state/modules/read-write/element-imperative-handles.js +3 -3
  93. package/dist/cjs/state/modules/read-write/element-imperative-handles.js.map +1 -1
  94. package/dist/cjs/state/modules/{prop-controller-handles.js → read-write/prop-controllers.js} +5 -5
  95. package/dist/cjs/state/modules/read-write/prop-controllers.js.map +1 -0
  96. package/dist/cjs/state/read-only-state.js +9 -44
  97. package/dist/cjs/state/read-only-state.js.map +1 -1
  98. package/dist/cjs/state/read-write-state.js +37 -0
  99. package/dist/cjs/state/read-write-state.js.map +1 -1
  100. package/dist/cjs/state/shared-api/action-types.js +33 -0
  101. package/dist/cjs/state/shared-api/action-types.js.map +1 -0
  102. package/dist/cjs/state/{shared-api.js → shared-api/actions.js} +8 -14
  103. package/dist/cjs/state/shared-api/actions.js.map +1 -0
  104. package/dist/cjs/state/shared-api/index.js +25 -0
  105. package/dist/cjs/state/shared-api/index.js.map +1 -0
  106. package/dist/cjs/state/store.js +3 -3
  107. package/dist/cjs/state/store.js.map +1 -1
  108. package/dist/cjs/state/translations/get.js.map +1 -1
  109. package/dist/cjs/state/translations/merge.js.map +1 -1
  110. package/dist/cjs/state/unified-state.js +12 -0
  111. package/dist/cjs/state/unified-state.js.map +1 -1
  112. package/dist/cjs/testing/breakpoints.js +35 -0
  113. package/dist/cjs/testing/breakpoints.js.map +1 -0
  114. package/dist/cjs/testing/element-data.js +102 -0
  115. package/dist/cjs/testing/element-data.js.map +1 -0
  116. package/dist/cjs/translations/index.js.map +1 -1
  117. package/dist/esm/api/graphql-api-client.js +1 -1
  118. package/dist/esm/api/rest-api-client.js +1 -1
  119. package/dist/esm/api-handler/handlers/manifest.js +1 -1
  120. package/dist/esm/builder/host-to-builder-actions.js +2 -4
  121. package/dist/esm/builder/host-to-builder-actions.js.map +1 -1
  122. package/dist/esm/client/index.js +1 -1
  123. package/dist/esm/components/builtin/Form/Form.js.map +1 -1
  124. package/dist/esm/controls/rich-text/control.js +9 -3
  125. package/dist/esm/controls/rich-text/control.js.map +1 -1
  126. package/dist/esm/controls/rich-text-v2/control.js +6 -0
  127. package/dist/esm/controls/rich-text-v2/control.js.map +1 -1
  128. package/dist/esm/next/testing/breakpoints.js +1 -8
  129. package/dist/esm/next/testing/breakpoints.js.map +1 -1
  130. package/dist/esm/next/testing/element-data.js +1 -75
  131. package/dist/esm/next/testing/element-data.js.map +1 -1
  132. package/dist/esm/next/testing/react-runtime.js.map +1 -1
  133. package/dist/esm/prop-controllers/instances.js +6 -0
  134. package/dist/esm/prop-controllers/instances.js.map +1 -1
  135. package/dist/esm/runtimes/react/components/Element.js +18 -6
  136. package/dist/esm/runtimes/react/components/Element.js.map +1 -1
  137. package/dist/esm/runtimes/react/components/ElementRegistration.js +4 -2
  138. package/dist/esm/runtimes/react/components/ElementRegistration.js.map +1 -1
  139. package/dist/esm/runtimes/react/components/resolve-props.js +5 -1
  140. package/dist/esm/runtimes/react/components/resolve-props.js.map +1 -1
  141. package/dist/esm/runtimes/react/controls/rich-text/EditableText/editable-text.js.map +1 -1
  142. package/dist/esm/runtimes/react/controls/rich-text/rich-text.js +1 -1
  143. package/dist/esm/runtimes/react/controls/rich-text/rich-text.js.map +1 -1
  144. package/dist/esm/runtimes/react/element-imperative-handle.js +1 -1
  145. package/dist/esm/runtimes/react/element-imperative-handle.js.map +1 -1
  146. package/dist/esm/runtimes/react/hooks/use-control-instances.js +3 -2
  147. package/dist/esm/runtimes/react/hooks/use-control-instances.js.map +1 -1
  148. package/dist/esm/runtimes/react/hooks/use-resolved-props.js +10 -9
  149. package/dist/esm/runtimes/react/hooks/use-resolved-props.js.map +1 -1
  150. package/dist/esm/runtimes/react/testing/index.js +3 -0
  151. package/dist/esm/runtimes/react/testing/index.js.map +1 -0
  152. package/dist/esm/runtimes/react/testing/react-provider.js +14 -0
  153. package/dist/esm/runtimes/react/testing/react-provider.js.map +1 -0
  154. package/dist/esm/state/actions/index.js +2 -2
  155. package/dist/esm/state/actions/index.js.map +1 -1
  156. package/dist/esm/state/actions/internal/action-types.js +10 -0
  157. package/dist/esm/state/actions/internal/action-types.js.map +1 -0
  158. package/dist/esm/state/actions/internal/index.js +0 -9
  159. package/dist/esm/state/actions/internal/index.js.map +1 -1
  160. package/dist/esm/state/actions/internal/read-only-action-types.js +20 -0
  161. package/dist/esm/state/actions/internal/read-only-action-types.js.map +1 -0
  162. package/dist/esm/state/actions/internal/read-only-actions.js +1 -73
  163. package/dist/esm/state/actions/internal/read-only-actions.js.map +1 -1
  164. package/dist/esm/state/actions/internal/read-write-action-types.js +17 -0
  165. package/dist/esm/state/actions/internal/read-write-action-types.js.map +1 -0
  166. package/dist/esm/state/actions/internal/read-write-actions.js +51 -8
  167. package/dist/esm/state/actions/internal/read-write-actions.js.map +1 -1
  168. package/dist/esm/state/builder-api/action-types.js +25 -0
  169. package/dist/esm/state/builder-api/action-types.js.map +1 -0
  170. package/dist/esm/state/builder-api/actions.js +1 -24
  171. package/dist/esm/state/builder-api/actions.js.map +1 -1
  172. package/dist/esm/state/builder-api/proxy.js +2 -1
  173. package/dist/esm/state/builder-api/proxy.js.map +1 -1
  174. package/dist/esm/state/host-api/action-types.js +19 -0
  175. package/dist/esm/state/host-api/action-types.js.map +1 -0
  176. package/dist/esm/state/{host-api.js → host-api/actions.js} +2 -17
  177. package/dist/esm/state/host-api/actions.js.map +1 -0
  178. package/dist/esm/state/host-api/index.js +3 -0
  179. package/dist/esm/state/host-api/index.js.map +1 -0
  180. package/dist/esm/state/middleware/read-write/builder-api/index.js +1 -1
  181. package/dist/esm/state/middleware/read-write/builder-api/index.js.map +1 -1
  182. package/dist/esm/state/middleware/read-write/measure-box-models.js +3 -3
  183. package/dist/esm/state/middleware/read-write/measure-box-models.js.map +1 -1
  184. package/dist/esm/state/middleware/read-write/prop-controller-handles.js +19 -13
  185. package/dist/esm/state/middleware/read-write/prop-controller-handles.js.map +1 -1
  186. package/dist/esm/state/modules/api-resources.js +2 -2
  187. package/dist/esm/state/modules/api-resources.js.map +1 -1
  188. package/dist/esm/state/modules/breakpoints.js +2 -2
  189. package/dist/esm/state/modules/breakpoints.js.map +1 -1
  190. package/dist/esm/state/modules/components-meta.js +1 -1
  191. package/dist/esm/state/modules/components-meta.js.map +1 -1
  192. package/dist/esm/state/modules/element-trees.js +2 -2
  193. package/dist/esm/state/modules/element-trees.js.map +1 -1
  194. package/dist/esm/state/modules/is-in-builder.js +1 -1
  195. package/dist/esm/state/modules/is-in-builder.js.map +1 -1
  196. package/dist/esm/state/modules/is-read-only.js +1 -1
  197. package/dist/esm/state/modules/is-read-only.js.map +1 -1
  198. package/dist/esm/state/modules/locale.js +1 -1
  199. package/dist/esm/state/modules/locale.js.map +1 -1
  200. package/dist/esm/state/modules/localized-resources-map.js +1 -1
  201. package/dist/esm/state/modules/localized-resources-map.js.map +1 -1
  202. package/dist/esm/state/modules/{prop-controllers.js → prop-controller-descriptors.js} +2 -2
  203. package/dist/esm/state/modules/prop-controller-descriptors.js.map +1 -0
  204. package/dist/esm/state/modules/react-components.js +1 -1
  205. package/dist/esm/state/modules/react-components.js.map +1 -1
  206. package/dist/esm/state/modules/read-write/box-models.js +2 -2
  207. package/dist/esm/state/modules/read-write/box-models.js.map +1 -1
  208. package/dist/esm/state/modules/read-write/element-imperative-handles.js +3 -3
  209. package/dist/esm/state/modules/read-write/element-imperative-handles.js.map +1 -1
  210. package/dist/esm/state/modules/{prop-controller-handles.js → read-write/prop-controllers.js} +2 -2
  211. package/dist/esm/state/modules/read-write/prop-controllers.js.map +1 -0
  212. package/dist/esm/state/read-only-state.js +9 -41
  213. package/dist/esm/state/read-only-state.js.map +1 -1
  214. package/dist/esm/state/read-write-state.js +34 -0
  215. package/dist/esm/state/read-write-state.js.map +1 -1
  216. package/dist/esm/state/shared-api/action-types.js +9 -0
  217. package/dist/esm/state/shared-api/action-types.js.map +1 -0
  218. package/dist/esm/state/{shared-api.js → shared-api/actions.js} +2 -7
  219. package/dist/esm/state/shared-api/actions.js.map +1 -0
  220. package/dist/esm/state/shared-api/index.js +3 -0
  221. package/dist/esm/state/shared-api/index.js.map +1 -0
  222. package/dist/esm/state/store.js +1 -1
  223. package/dist/esm/state/store.js.map +1 -1
  224. package/dist/esm/state/translations/get.js.map +1 -1
  225. package/dist/esm/state/translations/merge.js +3 -1
  226. package/dist/esm/state/translations/merge.js.map +1 -1
  227. package/dist/esm/state/unified-state.js +4 -0
  228. package/dist/esm/state/unified-state.js.map +1 -1
  229. package/dist/esm/testing/breakpoints.js +9 -0
  230. package/dist/esm/testing/breakpoints.js.map +1 -0
  231. package/dist/esm/testing/element-data.js +76 -0
  232. package/dist/esm/testing/element-data.js.map +1 -0
  233. package/dist/esm/translations/index.js.map +1 -1
  234. package/dist/types/api/schema/page-pathname-slice.d.ts +2 -2
  235. package/dist/types/api-handler/handlers/webhook/diff-projection.d.ts +6 -6
  236. package/dist/types/api-handler/handlers/webhook/types.d.ts +20 -20
  237. package/dist/types/builder/host-to-builder-actions.d.ts.map +1 -1
  238. package/dist/types/components/builtin/Form/Form.d.ts +1 -1
  239. package/dist/types/components/builtin/Form/Form.d.ts.map +1 -1
  240. package/dist/types/components/hooks/useIsomorphicLayoutEffect.d.ts +2 -2
  241. package/dist/types/components/hooks/useIsomorphicLayoutEffect.d.ts.map +1 -1
  242. package/dist/types/controls/rich-text/control.d.ts +3 -1
  243. package/dist/types/controls/rich-text/control.d.ts.map +1 -1
  244. package/dist/types/controls/rich-text-v2/control.d.ts +2 -0
  245. package/dist/types/controls/rich-text-v2/control.d.ts.map +1 -1
  246. package/dist/types/locale.d.ts +1 -1
  247. package/dist/types/next/testing/breakpoints.d.ts +1 -3
  248. package/dist/types/next/testing/breakpoints.d.ts.map +1 -1
  249. package/dist/types/next/testing/element-data.d.ts +1 -54
  250. package/dist/types/next/testing/element-data.d.ts.map +1 -1
  251. package/dist/types/next/testing/react-runtime.d.ts.map +1 -1
  252. package/dist/types/prop-controllers/instances.d.ts +2 -0
  253. package/dist/types/prop-controllers/instances.d.ts.map +1 -1
  254. package/dist/types/runtimes/react/components/Element.d.ts.map +1 -1
  255. package/dist/types/runtimes/react/components/ElementRegistration.d.ts +1 -1
  256. package/dist/types/runtimes/react/components/ElementRegistration.d.ts.map +1 -1
  257. package/dist/types/runtimes/react/components/resolve-props.d.ts.map +1 -1
  258. package/dist/types/runtimes/react/controls/rich-text/EditableText/editable-text.d.ts +1 -1
  259. package/dist/types/runtimes/react/controls/rich-text/EditableText/editable-text.d.ts.map +1 -1
  260. package/dist/types/runtimes/react/element-imperative-handle.d.ts +1 -1
  261. package/dist/types/runtimes/react/element-imperative-handle.d.ts.map +1 -1
  262. package/dist/types/runtimes/react/hooks/use-control-instances.d.ts.map +1 -1
  263. package/dist/types/runtimes/react/hooks/use-resolved-props.d.ts +4 -3
  264. package/dist/types/runtimes/react/hooks/use-resolved-props.d.ts.map +1 -1
  265. package/dist/types/runtimes/react/hooks/use-store.d.ts +2 -4
  266. package/dist/types/runtimes/react/hooks/use-store.d.ts.map +1 -1
  267. package/dist/types/runtimes/react/testing/index.d.ts +3 -0
  268. package/dist/types/runtimes/react/testing/index.d.ts.map +1 -0
  269. package/dist/types/runtimes/react/testing/react-provider.d.ts +8 -0
  270. package/dist/types/runtimes/react/testing/react-provider.d.ts.map +1 -0
  271. package/dist/types/state/__tests__/test-store.d.ts +2 -4
  272. package/dist/types/state/__tests__/test-store.d.ts.map +1 -1
  273. package/dist/types/state/actions/index.d.ts +6 -6
  274. package/dist/types/state/actions/index.d.ts.map +1 -1
  275. package/dist/types/state/actions/internal/action-types.d.ts +26 -0
  276. package/dist/types/state/actions/internal/action-types.d.ts.map +1 -0
  277. package/dist/types/state/actions/internal/index.d.ts +0 -25
  278. package/dist/types/state/actions/internal/index.d.ts.map +1 -1
  279. package/dist/types/state/actions/internal/read-only-action-types.d.ts +15 -0
  280. package/dist/types/state/actions/internal/read-only-action-types.d.ts.map +1 -0
  281. package/dist/types/state/actions/internal/read-only-actions.d.ts +3 -76
  282. package/dist/types/state/actions/internal/read-only-actions.d.ts.map +1 -1
  283. package/dist/types/state/actions/internal/read-write-action-types.d.ts +14 -0
  284. package/dist/types/state/actions/internal/read-write-action-types.d.ts.map +1 -0
  285. package/dist/types/state/actions/internal/read-write-actions.d.ts +57 -9
  286. package/dist/types/state/actions/internal/read-write-actions.d.ts.map +1 -1
  287. package/dist/types/state/builder-api/action-types.d.ts +22 -0
  288. package/dist/types/state/builder-api/action-types.d.ts.map +1 -0
  289. package/dist/types/state/builder-api/actions.d.ts +1 -21
  290. package/dist/types/state/builder-api/actions.d.ts.map +1 -1
  291. package/dist/types/state/builder-api/proxy.d.ts.map +1 -1
  292. package/dist/types/state/host-api/action-types.d.ts +17 -0
  293. package/dist/types/state/host-api/action-types.d.ts.map +1 -0
  294. package/dist/types/state/{host-api.d.ts → host-api/actions.d.ts} +7 -22
  295. package/dist/types/state/host-api/actions.d.ts.map +1 -0
  296. package/dist/types/state/host-api/index.d.ts +3 -0
  297. package/dist/types/state/host-api/index.d.ts.map +1 -0
  298. package/dist/types/state/middleware/read-write/prop-controller-handles.d.ts.map +1 -1
  299. package/dist/types/state/modules/element-trees.d.ts +1 -1
  300. package/dist/types/state/modules/element-trees.d.ts.map +1 -1
  301. package/dist/types/state/modules/{prop-controllers.d.ts → prop-controller-descriptors.d.ts} +1 -1
  302. package/dist/types/state/modules/prop-controller-descriptors.d.ts.map +1 -0
  303. package/dist/types/state/modules/{prop-controller-handles.d.ts → read-write/prop-controllers.d.ts} +4 -4
  304. package/dist/types/state/modules/{prop-controller-handles.d.ts.map → read-write/prop-controllers.d.ts.map} +1 -1
  305. package/dist/types/state/read-only-state.d.ts +6 -70
  306. package/dist/types/state/read-only-state.d.ts.map +1 -1
  307. package/dist/types/state/read-write-state.d.ts +67 -4
  308. package/dist/types/state/read-write-state.d.ts.map +1 -1
  309. package/dist/types/state/shared-api/action-types.d.ts +6 -0
  310. package/dist/types/state/shared-api/action-types.d.ts.map +1 -0
  311. package/dist/types/state/{shared-api.d.ts → shared-api/actions.d.ts} +3 -7
  312. package/dist/types/state/shared-api/actions.d.ts.map +1 -0
  313. package/dist/types/state/shared-api/index.d.ts +3 -0
  314. package/dist/types/state/shared-api/index.d.ts.map +1 -0
  315. package/dist/types/state/store.d.ts +4 -8
  316. package/dist/types/state/store.d.ts.map +1 -1
  317. package/dist/types/state/translations/get.d.ts +1 -1
  318. package/dist/types/state/translations/get.d.ts.map +1 -1
  319. package/dist/types/state/translations/merge.d.ts +1 -1
  320. package/dist/types/state/translations/merge.d.ts.map +1 -1
  321. package/dist/types/state/unified-state.d.ts +1 -0
  322. package/dist/types/state/unified-state.d.ts.map +1 -1
  323. package/dist/types/testing/breakpoints.d.ts +4 -0
  324. package/dist/types/testing/breakpoints.d.ts.map +1 -0
  325. package/dist/types/testing/element-data.d.ts +55 -0
  326. package/dist/types/testing/element-data.d.ts.map +1 -0
  327. package/dist/types/translations/index.d.ts +1 -1
  328. package/dist/types/translations/index.d.ts.map +1 -1
  329. package/package.json +4 -4
  330. package/dist/cjs/state/host-api.js.map +0 -1
  331. package/dist/cjs/state/modules/prop-controller-handles.js.map +0 -1
  332. package/dist/cjs/state/modules/prop-controllers.js.map +0 -1
  333. package/dist/cjs/state/shared-api.js.map +0 -1
  334. package/dist/esm/state/host-api.js.map +0 -1
  335. package/dist/esm/state/modules/prop-controller-handles.js.map +0 -1
  336. package/dist/esm/state/modules/prop-controllers.js.map +0 -1
  337. package/dist/esm/state/shared-api.js.map +0 -1
  338. package/dist/types/state/host-api.d.ts.map +0 -1
  339. package/dist/types/state/modules/prop-controllers.d.ts.map +0 -1
  340. package/dist/types/state/shared-api.d.ts.map +0 -1
@@ -2,6 +2,7 @@ import { combineReducers } from "@reduxjs/toolkit";
2
2
  import * as Documents from "./modules/read-write/read-write-documents";
3
3
  import * as BoxModels from "./modules/read-write/box-models";
4
4
  import * as Pointer from "./modules/read-write/pointer";
5
+ import * as PropControllers from "./modules/read-write/prop-controllers";
5
6
  import * as ElementImperativeHandles from "./modules/read-write/element-imperative-handles";
6
7
  import * as ReadOnlyState from "./read-only-state";
7
8
  import { createBox, getBox, parse } from "./modules/read-write/box-models";
@@ -10,6 +11,7 @@ const reducers = {
10
11
  documents: Documents.reducer,
11
12
  boxModels: BoxModels.reducer,
12
13
  pointer: Pointer.reducer,
14
+ propControllers: PropControllers.reducer,
13
15
  elementImperativeHandles: ElementImperativeHandles.reducer
14
16
  };
15
17
  function createRootReducer() {
@@ -59,6 +61,35 @@ function getElementImperativeHandlesContainingElement(state, element) {
59
61
  }
60
62
  return filteredElementImperativeHandles;
61
63
  }
64
+ function getPropControllersStateSlice(state) {
65
+ return state.propControllers;
66
+ }
67
+ function getPropControllers(state, { documentKey, elementKey }) {
68
+ return PropControllers.getPropControllers(
69
+ getPropControllersStateSlice(state),
70
+ documentKey,
71
+ elementKey
72
+ );
73
+ }
74
+ function getPropControllersHandle(state, { documentKey, elementKey }) {
75
+ return PropControllers.getPropControllersHandle(
76
+ getPropControllersStateSlice(state),
77
+ documentKey,
78
+ elementKey
79
+ );
80
+ }
81
+ function getPropController(state, {
82
+ documentKey,
83
+ elementKey,
84
+ propName
85
+ }) {
86
+ return PropControllers.getPropController(
87
+ getPropControllersStateSlice(state),
88
+ documentKey,
89
+ elementKey,
90
+ propName
91
+ );
92
+ }
62
93
  function setupBuilderProxy(builderProxy) {
63
94
  return (dispatch) => {
64
95
  return builderProxy.setup({ onHostAction: (action) => dispatch(action) });
@@ -76,6 +107,9 @@ export {
76
107
  getElementImperativeHandlesContainingElement,
77
108
  getMeasurables,
78
109
  getPointer,
110
+ getPropController,
111
+ getPropControllers,
112
+ getPropControllersHandle,
79
113
  parse,
80
114
  setupBuilderProxy
81
115
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/state/read-write-state.ts"],"sourcesContent":["import { combineReducers, type ThunkAction, type ThunkDispatch } from '@reduxjs/toolkit'\n\nimport * as Documents from './modules/read-write/read-write-documents'\nimport * as BoxModels from './modules/read-write/box-models'\nimport * as Pointer from './modules/read-write/pointer'\nimport * as ElementImperativeHandles from './modules/read-write/element-imperative-handles'\n\nimport { type Action } from './actions'\n\nimport { ElementImperativeHandle } from '../runtimes/react/element-imperative-handle'\n\nimport { BuilderAPIProxy } from './builder-api/proxy'\nimport * as ReadOnlyState from './read-only-state'\n\nexport type { Operation } from './modules/read-write/read-write-documents'\nexport type { BoxModelHandle } from './modules/read-write/box-models'\nexport { createBox, getBox, parse } from './modules/read-write/box-models'\n\nconst reducers = {\n ...ReadOnlyState.reducers,\n documents: Documents.reducer,\n boxModels: BoxModels.reducer,\n pointer: Pointer.reducer,\n elementImperativeHandles: ElementImperativeHandles.reducer,\n}\n\nexport function createRootReducer() {\n return combineReducers(reducers)\n}\n\nexport type State = Omit<ReadOnlyState.State, 'documents'> & {\n documents: Documents.State\n boxModels: BoxModels.State\n pointer: Pointer.State\n elementImperativeHandles: ElementImperativeHandles.State\n}\n\nexport type Dispatch = ThunkDispatch<State, unknown, Action>\n\nfunction getDocumentsStateSlice(state: State): Documents.State {\n return state.documents\n}\n\nexport function getDocuments(state: State): Documents.State {\n return Documents.getDocuments(getDocumentsStateSlice(state))\n}\n\nexport function getDocument(state: State, documentKey: string): Documents.Document | null {\n return Documents.getDocument(getDocumentsStateSlice(state), documentKey)\n}\n\nfunction getBoxModelsStateSlice(state: State): BoxModels.State {\n return state.boxModels\n}\n\nexport function getMeasurables(state: State): Map<string, Map<string, BoxModels.Measurable>> {\n return BoxModels.getMeasurables(getBoxModelsStateSlice(state))\n}\n\nexport function getBoxModels(state: State): Map<string, Map<string, BoxModels.BoxDisplayModel>> {\n return BoxModels.getBoxModels(getBoxModelsStateSlice(state))\n}\n\nexport function getBoxModel(\n state: State,\n documentKey: string,\n elementKey: string,\n): BoxModels.BoxDisplayModel | null {\n return BoxModels.getBoxModel(getBoxModelsStateSlice(state), documentKey, elementKey)\n}\n\nexport function getPointer(state: State): Pointer.Point | null {\n return Pointer.getPointer(state.pointer)\n}\n\nexport function getElementImperativeHandles(\n state: State,\n): Map<string, Map<string, ElementImperativeHandle>> {\n return ElementImperativeHandles.getElementImperativeHandles(state.elementImperativeHandles)\n}\n\nexport function getElementImperativeHandlesContainingElement(\n state: State,\n element: Element,\n): Map<string, Map<string, ElementImperativeHandle>> {\n const elementImperativeHandles = getElementImperativeHandles(state)\n const filteredElementImperativeHandles = new Map<string, Map<string, ElementImperativeHandle>>()\n\n for (const [documentKey, byElementKey] of elementImperativeHandles) {\n const filteredByElementKey = new Map<string, ElementImperativeHandle>()\n\n for (const [elementKey, elementImperativeHandle] of byElementKey) {\n const handleElement = elementImperativeHandle.getDomNode()\n\n if (handleElement?.contains(element)) {\n filteredByElementKey.set(elementKey, elementImperativeHandle)\n }\n }\n\n if (filteredByElementKey.size > 0) {\n filteredElementImperativeHandles.set(documentKey, filteredByElementKey)\n }\n }\n\n return filteredElementImperativeHandles\n}\n\nexport function setupBuilderProxy(\n builderProxy: BuilderAPIProxy,\n): ThunkAction<VoidFunction, State, unknown, Action> {\n return dispatch => {\n return builderProxy.setup({ onHostAction: action => dispatch(action) })\n }\n}\n"],"mappings":"AAAA,SAAS,uBAA6D;AAEtE,YAAY,eAAe;AAC3B,YAAY,eAAe;AAC3B,YAAY,aAAa;AACzB,YAAY,8BAA8B;AAO1C,YAAY,mBAAmB;AAI/B,SAAS,WAAW,QAAQ,aAAa;AAEzC,MAAM,WAAW;AAAA,EACf,GAAG,cAAc;AAAA,EACjB,WAAW,UAAU;AAAA,EACrB,WAAW,UAAU;AAAA,EACrB,SAAS,QAAQ;AAAA,EACjB,0BAA0B,yBAAyB;AACrD;AAEO,SAAS,oBAAoB;AAClC,SAAO,gBAAgB,QAAQ;AACjC;AAWA,SAAS,uBAAuB,OAA+B;AAC7D,SAAO,MAAM;AACf;AAEO,SAAS,aAAa,OAA+B;AAC1D,SAAO,UAAU,aAAa,uBAAuB,KAAK,CAAC;AAC7D;AAEO,SAAS,YAAY,OAAc,aAAgD;AACxF,SAAO,UAAU,YAAY,uBAAuB,KAAK,GAAG,WAAW;AACzE;AAEA,SAAS,uBAAuB,OAA+B;AAC7D,SAAO,MAAM;AACf;AAEO,SAAS,eAAe,OAA8D;AAC3F,SAAO,UAAU,eAAe,uBAAuB,KAAK,CAAC;AAC/D;AAEO,SAAS,aAAa,OAAmE;AAC9F,SAAO,UAAU,aAAa,uBAAuB,KAAK,CAAC;AAC7D;AAEO,SAAS,YACd,OACA,aACA,YACkC;AAClC,SAAO,UAAU,YAAY,uBAAuB,KAAK,GAAG,aAAa,UAAU;AACrF;AAEO,SAAS,WAAW,OAAoC;AAC7D,SAAO,QAAQ,WAAW,MAAM,OAAO;AACzC;AAEO,SAAS,4BACd,OACmD;AACnD,SAAO,yBAAyB,4BAA4B,MAAM,wBAAwB;AAC5F;AAEO,SAAS,6CACd,OACA,SACmD;AACnD,QAAM,2BAA2B,4BAA4B,KAAK;AAClE,QAAM,mCAAmC,oBAAI,IAAkD;AAE/F,aAAW,CAAC,aAAa,YAAY,KAAK,0BAA0B;AAClE,UAAM,uBAAuB,oBAAI,IAAqC;AAEtE,eAAW,CAAC,YAAY,uBAAuB,KAAK,cAAc;AAChE,YAAM,gBAAgB,wBAAwB,WAAW;AAEzD,UAAI,eAAe,SAAS,OAAO,GAAG;AACpC,6BAAqB,IAAI,YAAY,uBAAuB;AAAA,MAC9D;AAAA,IACF;AAEA,QAAI,qBAAqB,OAAO,GAAG;AACjC,uCAAiC,IAAI,aAAa,oBAAoB;AAAA,IACxE;AAAA,EACF;AAEA,SAAO;AACT;AAEO,SAAS,kBACd,cACmD;AACnD,SAAO,cAAY;AACjB,WAAO,aAAa,MAAM,EAAE,cAAc,YAAU,SAAS,MAAM,EAAE,CAAC;AAAA,EACxE;AACF;","names":[]}
1
+ {"version":3,"sources":["../../../src/state/read-write-state.ts"],"sourcesContent":["import { combineReducers, type ThunkAction, type ThunkDispatch } from '@reduxjs/toolkit'\n\nimport * as Documents from './modules/read-write/read-write-documents'\nimport * as BoxModels from './modules/read-write/box-models'\nimport * as Pointer from './modules/read-write/pointer'\nimport * as PropControllers from './modules/read-write/prop-controllers'\nimport * as ElementImperativeHandles from './modules/read-write/element-imperative-handles'\n\nimport { type Action } from './actions'\n\nimport { ElementImperativeHandle } from '../runtimes/react/element-imperative-handle'\n\nimport { BuilderAPIProxy } from './builder-api/proxy'\nimport * as ReadOnlyState from './read-only-state'\n\nexport type { Operation } from './modules/read-write/read-write-documents'\nexport type { BoxModelHandle } from './modules/read-write/box-models'\nexport { createBox, getBox, parse } from './modules/read-write/box-models'\n\nconst reducers = {\n ...ReadOnlyState.reducers,\n documents: Documents.reducer,\n boxModels: BoxModels.reducer,\n pointer: Pointer.reducer,\n propControllers: PropControllers.reducer,\n elementImperativeHandles: ElementImperativeHandles.reducer,\n}\n\nexport function createRootReducer() {\n return combineReducers(reducers)\n}\n\nexport type State = Omit<ReadOnlyState.State, 'documents'> & {\n documents: Documents.State\n boxModels: BoxModels.State\n pointer: Pointer.State\n propControllers: PropControllers.State\n elementImperativeHandles: ElementImperativeHandles.State\n}\n\nexport type Dispatch = ThunkDispatch<State, unknown, Action>\n\nfunction getDocumentsStateSlice(state: State): Documents.State {\n return state.documents\n}\n\nexport function getDocuments(state: State): Documents.State {\n return Documents.getDocuments(getDocumentsStateSlice(state))\n}\n\nexport function getDocument(state: State, documentKey: string): Documents.Document | null {\n return Documents.getDocument(getDocumentsStateSlice(state), documentKey)\n}\n\nfunction getBoxModelsStateSlice(state: State): BoxModels.State {\n return state.boxModels\n}\n\nexport function getMeasurables(state: State): Map<string, Map<string, BoxModels.Measurable>> {\n return BoxModels.getMeasurables(getBoxModelsStateSlice(state))\n}\n\nexport function getBoxModels(state: State): Map<string, Map<string, BoxModels.BoxDisplayModel>> {\n return BoxModels.getBoxModels(getBoxModelsStateSlice(state))\n}\n\nexport function getBoxModel(\n state: State,\n documentKey: string,\n elementKey: string,\n): BoxModels.BoxDisplayModel | null {\n return BoxModels.getBoxModel(getBoxModelsStateSlice(state), documentKey, elementKey)\n}\n\nexport function getPointer(state: State): Pointer.Point | null {\n return Pointer.getPointer(state.pointer)\n}\n\nexport function getElementImperativeHandles(\n state: State,\n): Map<string, Map<string, ElementImperativeHandle>> {\n return ElementImperativeHandles.getElementImperativeHandles(state.elementImperativeHandles)\n}\n\nexport function getElementImperativeHandlesContainingElement(\n state: State,\n element: Element,\n): Map<string, Map<string, ElementImperativeHandle>> {\n const elementImperativeHandles = getElementImperativeHandles(state)\n const filteredElementImperativeHandles = new Map<string, Map<string, ElementImperativeHandle>>()\n\n for (const [documentKey, byElementKey] of elementImperativeHandles) {\n const filteredByElementKey = new Map<string, ElementImperativeHandle>()\n\n for (const [elementKey, elementImperativeHandle] of byElementKey) {\n const handleElement = elementImperativeHandle.getDomNode()\n\n if (handleElement?.contains(element)) {\n filteredByElementKey.set(elementKey, elementImperativeHandle)\n }\n }\n\n if (filteredByElementKey.size > 0) {\n filteredElementImperativeHandles.set(documentKey, filteredByElementKey)\n }\n }\n\n return filteredElementImperativeHandles\n}\n\nfunction getPropControllersStateSlice(state: State): PropControllers.State {\n return state.propControllers\n}\n\nexport function getPropControllers(\n state: State,\n { documentKey, elementKey }: { documentKey: string; elementKey: string },\n) {\n return PropControllers.getPropControllers(\n getPropControllersStateSlice(state),\n documentKey,\n elementKey,\n )\n}\n\nexport function getPropControllersHandle(\n state: State,\n { documentKey, elementKey }: { documentKey: string; elementKey: string },\n) {\n return PropControllers.getPropControllersHandle(\n getPropControllersStateSlice(state),\n documentKey,\n elementKey,\n )\n}\n\nexport function getPropController(\n state: State,\n {\n documentKey,\n elementKey,\n propName,\n }: { documentKey: string; elementKey: string; propName: string },\n) {\n return PropControllers.getPropController(\n getPropControllersStateSlice(state),\n documentKey,\n elementKey,\n propName,\n )\n}\n\nexport function setupBuilderProxy(\n builderProxy: BuilderAPIProxy,\n): ThunkAction<VoidFunction, State, unknown, Action> {\n return dispatch => {\n return builderProxy.setup({ onHostAction: action => dispatch(action) })\n }\n}\n"],"mappings":"AAAA,SAAS,uBAA6D;AAEtE,YAAY,eAAe;AAC3B,YAAY,eAAe;AAC3B,YAAY,aAAa;AACzB,YAAY,qBAAqB;AACjC,YAAY,8BAA8B;AAO1C,YAAY,mBAAmB;AAI/B,SAAS,WAAW,QAAQ,aAAa;AAEzC,MAAM,WAAW;AAAA,EACf,GAAG,cAAc;AAAA,EACjB,WAAW,UAAU;AAAA,EACrB,WAAW,UAAU;AAAA,EACrB,SAAS,QAAQ;AAAA,EACjB,iBAAiB,gBAAgB;AAAA,EACjC,0BAA0B,yBAAyB;AACrD;AAEO,SAAS,oBAAoB;AAClC,SAAO,gBAAgB,QAAQ;AACjC;AAYA,SAAS,uBAAuB,OAA+B;AAC7D,SAAO,MAAM;AACf;AAEO,SAAS,aAAa,OAA+B;AAC1D,SAAO,UAAU,aAAa,uBAAuB,KAAK,CAAC;AAC7D;AAEO,SAAS,YAAY,OAAc,aAAgD;AACxF,SAAO,UAAU,YAAY,uBAAuB,KAAK,GAAG,WAAW;AACzE;AAEA,SAAS,uBAAuB,OAA+B;AAC7D,SAAO,MAAM;AACf;AAEO,SAAS,eAAe,OAA8D;AAC3F,SAAO,UAAU,eAAe,uBAAuB,KAAK,CAAC;AAC/D;AAEO,SAAS,aAAa,OAAmE;AAC9F,SAAO,UAAU,aAAa,uBAAuB,KAAK,CAAC;AAC7D;AAEO,SAAS,YACd,OACA,aACA,YACkC;AAClC,SAAO,UAAU,YAAY,uBAAuB,KAAK,GAAG,aAAa,UAAU;AACrF;AAEO,SAAS,WAAW,OAAoC;AAC7D,SAAO,QAAQ,WAAW,MAAM,OAAO;AACzC;AAEO,SAAS,4BACd,OACmD;AACnD,SAAO,yBAAyB,4BAA4B,MAAM,wBAAwB;AAC5F;AAEO,SAAS,6CACd,OACA,SACmD;AACnD,QAAM,2BAA2B,4BAA4B,KAAK;AAClE,QAAM,mCAAmC,oBAAI,IAAkD;AAE/F,aAAW,CAAC,aAAa,YAAY,KAAK,0BAA0B;AAClE,UAAM,uBAAuB,oBAAI,IAAqC;AAEtE,eAAW,CAAC,YAAY,uBAAuB,KAAK,cAAc;AAChE,YAAM,gBAAgB,wBAAwB,WAAW;AAEzD,UAAI,eAAe,SAAS,OAAO,GAAG;AACpC,6BAAqB,IAAI,YAAY,uBAAuB;AAAA,MAC9D;AAAA,IACF;AAEA,QAAI,qBAAqB,OAAO,GAAG;AACjC,uCAAiC,IAAI,aAAa,oBAAoB;AAAA,IACxE;AAAA,EACF;AAEA,SAAO;AACT;AAEA,SAAS,6BAA6B,OAAqC;AACzE,SAAO,MAAM;AACf;AAEO,SAAS,mBACd,OACA,EAAE,aAAa,WAAW,GAC1B;AACA,SAAO,gBAAgB;AAAA,IACrB,6BAA6B,KAAK;AAAA,IAClC;AAAA,IACA;AAAA,EACF;AACF;AAEO,SAAS,yBACd,OACA,EAAE,aAAa,WAAW,GAC1B;AACA,SAAO,gBAAgB;AAAA,IACrB,6BAA6B,KAAK;AAAA,IAClC;AAAA,IACA;AAAA,EACF;AACF;AAEO,SAAS,kBACd,OACA;AAAA,EACE;AAAA,EACA;AAAA,EACA;AACF,GACA;AACA,SAAO,gBAAgB;AAAA,IACrB,6BAA6B,KAAK;AAAA,IAClC;AAAA,IACA;AAAA,IACA;AAAA,EACF;AACF;AAEO,SAAS,kBACd,cACmD;AACnD,SAAO,cAAY;AACjB,WAAO,aAAa,MAAM,EAAE,cAAc,YAAU,SAAS,MAAM,EAAE,CAAC;AAAA,EACxE;AACF;","names":[]}
@@ -0,0 +1,9 @@
1
+ const SharedActionTypes = {
2
+ MAKESWIFT_CONNECTION_INIT: "MAKESWIFT_CONNECTION_INIT",
3
+ REGISTER_DOCUMENT: "REGISTER_DOCUMENT",
4
+ UNREGISTER_DOCUMENT: "UNREGISTER_DOCUMENT"
5
+ };
6
+ export {
7
+ SharedActionTypes
8
+ };
9
+ //# sourceMappingURL=action-types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/state/shared-api/action-types.ts"],"sourcesContent":["// bidirectional action types, both the host and the builder can dispatch these actions\nexport const SharedActionTypes = {\n MAKESWIFT_CONNECTION_INIT: 'MAKESWIFT_CONNECTION_INIT',\n\n REGISTER_DOCUMENT: 'REGISTER_DOCUMENT',\n UNREGISTER_DOCUMENT: 'UNREGISTER_DOCUMENT',\n} as const\n"],"mappings":"AACO,MAAM,oBAAoB;AAAA,EAC/B,2BAA2B;AAAA,EAE3B,mBAAmB;AAAA,EACnB,qBAAqB;AACvB;","names":[]}
@@ -1,8 +1,4 @@
1
- const SharedActionTypes = {
2
- MAKESWIFT_CONNECTION_INIT: "MAKESWIFT_CONNECTION_INIT",
3
- REGISTER_DOCUMENT: "REGISTER_DOCUMENT",
4
- UNREGISTER_DOCUMENT: "UNREGISTER_DOCUMENT"
5
- };
1
+ import { SharedActionTypes } from "./action-types";
6
2
  function makeswiftConnectionInit() {
7
3
  return {
8
4
  type: SharedActionTypes.MAKESWIFT_CONNECTION_INIT
@@ -26,10 +22,9 @@ function registerDocumentsEffect(documents) {
26
22
  };
27
23
  }
28
24
  export {
29
- SharedActionTypes,
30
25
  makeswiftConnectionInit,
31
26
  registerDocument,
32
27
  registerDocumentsEffect,
33
28
  unregisterDocument
34
29
  };
35
- //# sourceMappingURL=shared-api.js.map
30
+ //# sourceMappingURL=actions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/state/shared-api/actions.ts"],"sourcesContent":["import { type ThunkAction } from '@reduxjs/toolkit'\n\nimport { type Element, type Document, EMBEDDED_DOCUMENT_TYPE } from '../modules/read-only-documents'\n\nimport { SharedActionTypes } from './action-types'\n\ntype DocumentPayloadBaseDocument = {\n key: string\n rootElement: Element\n locale?: string | null // older versions of the runtime may not provide this field\n}\n\ntype DocumentPayloadEmbeddedDocument = {\n key: string\n locale: string | null\n id: string\n type: string\n name: string\n rootElement: Element\n meta: { allowLocaleFallback: boolean; requestedLocale: string | null; description?: string }\n __type: typeof EMBEDDED_DOCUMENT_TYPE\n}\n\nexport type DocumentPayload = DocumentPayloadBaseDocument | DocumentPayloadEmbeddedDocument\n\ntype MakeswiftConnectionInitAction = { type: typeof SharedActionTypes.MAKESWIFT_CONNECTION_INIT }\n\ntype RegisterDocumentAction = {\n type: typeof SharedActionTypes.REGISTER_DOCUMENT\n payload: { documentKey: string; document: DocumentPayload }\n}\n\ntype UnregisterDocumentAction = {\n type: typeof SharedActionTypes.UNREGISTER_DOCUMENT\n payload: { documentKey: string }\n}\n\nexport type SharedAction =\n | MakeswiftConnectionInitAction\n | RegisterDocumentAction\n | UnregisterDocumentAction\n\nexport function makeswiftConnectionInit(): MakeswiftConnectionInitAction {\n return {\n type: SharedActionTypes.MAKESWIFT_CONNECTION_INIT,\n }\n}\n\nexport function registerDocument(document: Document): RegisterDocumentAction {\n return {\n type: SharedActionTypes.REGISTER_DOCUMENT,\n payload: { documentKey: document.key, document },\n }\n}\n\nexport function unregisterDocument(documentKey: string): UnregisterDocumentAction {\n return { type: SharedActionTypes.UNREGISTER_DOCUMENT, payload: { documentKey } }\n}\n\nexport function registerDocumentsEffect(\n documents: Document[],\n): ThunkAction<() => void, unknown, unknown, SharedAction> {\n return dispatch => {\n documents.forEach(document => dispatch(registerDocument(document)))\n\n return () => {\n documents.forEach(document => dispatch(unregisterDocument(document.key)))\n }\n }\n}\n"],"mappings":"AAIA,SAAS,yBAAyB;AAsC3B,SAAS,0BAAyD;AACvE,SAAO;AAAA,IACL,MAAM,kBAAkB;AAAA,EAC1B;AACF;AAEO,SAAS,iBAAiB,UAA4C;AAC3E,SAAO;AAAA,IACL,MAAM,kBAAkB;AAAA,IACxB,SAAS,EAAE,aAAa,SAAS,KAAK,SAAS;AAAA,EACjD;AACF;AAEO,SAAS,mBAAmB,aAA+C;AAChF,SAAO,EAAE,MAAM,kBAAkB,qBAAqB,SAAS,EAAE,YAAY,EAAE;AACjF;AAEO,SAAS,wBACd,WACyD;AACzD,SAAO,cAAY;AACjB,cAAU,QAAQ,cAAY,SAAS,iBAAiB,QAAQ,CAAC,CAAC;AAElE,WAAO,MAAM;AACX,gBAAU,QAAQ,cAAY,SAAS,mBAAmB,SAAS,GAAG,CAAC,CAAC;AAAA,IAC1E;AAAA,EACF;AACF;","names":[]}
@@ -0,0 +1,3 @@
1
+ export * from "./action-types";
2
+ export * from "./actions";
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/state/shared-api/index.ts"],"sourcesContent":["export * from './action-types'\nexport * from './actions'\n"],"mappings":"AAAA,cAAc;AACd,cAAc;","names":[]}
@@ -5,7 +5,7 @@ import {
5
5
  compose
6
6
  } from "@reduxjs/toolkit";
7
7
  import { actionMiddleware, middlewareOptions, devToolsConfig } from "./toolkit";
8
- import { BuilderActionTypes } from "./builder-api/actions";
8
+ import { BuilderActionTypes } from "./builder-api/action-types";
9
9
  import { HostActionTypes } from "./host-api";
10
10
  import * as Breakpoints from "./modules/breakpoints";
11
11
  import { readOnlyElementTreeMiddleware } from "./middleware/read-only-element-tree";
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/state/store.ts"],"sourcesContent":["import {\n type Middleware,\n type StoreEnhancer,\n type MiddlewareAPI,\n Tuple,\n configureStore as configureReduxStore,\n combineReducers,\n compose,\n} from '@reduxjs/toolkit'\n\nimport { ApiResourcesClient } from '../api/api-resources-client'\n\nimport { actionMiddleware, middlewareOptions, devToolsConfig } from './toolkit'\nimport { BuilderActionTypes } from './builder-api/actions'\nimport { HostActionTypes } from './host-api'\n\nimport * as Breakpoints from './modules/breakpoints'\n\nimport { readOnlyElementTreeMiddleware } from './middleware/read-only-element-tree'\nimport { makeswiftApiClientSyncMiddleware } from './middleware/makeswift-api-client-sync'\nimport { type BreakpointWatch, breakpointWatchMixin } from './mixins/breakpoint-watch'\n\nimport { type Action } from './actions'\n\nimport { type State as ReadWriteState } from './read-write-state'\nimport * as ReadOnlyState from './read-only-state'\nimport {\n type State,\n type Dispatch,\n type ReadOnlyReducer,\n type ReadWriteDispatch,\n} from './unified-state'\n\nexport { type State } from './unified-state'\n\nconst configureStore = <Items extends readonly StoreEnhancer[] = []>({\n name,\n preloadedState,\n enhancers,\n middleware,\n}: {\n name: string\n preloadedState: Partial<State>\n enhancers: () => Tuple<Items>\n middleware?: () => Middleware[]\n}) => {\n const store = configureReduxStore({\n reducer: combineReducers(ReadOnlyState.reducers),\n preloadedState,\n\n middleware: getDefaultMiddleware =>\n getDefaultMiddleware(middlewareOptions).concat([\n readOnlyElementTreeMiddleware(),\n ...(middleware ? middleware() : []),\n ]),\n\n enhancers: getDefaultEnhancers => getDefaultEnhancers().concat(enhancers()),\n\n devTools: devToolsConfig({\n name: `${name} (${new Date().toISOString()})`,\n actionsDenylist: [\n HostActionTypes.BUILDER_POINTER_MOVE,\n BuilderActionTypes.HANDLE_POINTER_MOVE,\n BuilderActionTypes.ELEMENT_FROM_POINT_CHANGE,\n ],\n }),\n })\n\n return store\n}\n\nexport function configureProtoStore({\n name,\n breakpoints,\n}: {\n name: string\n breakpoints: Breakpoints.Breakpoints | undefined\n}) {\n return configureStore({\n name,\n preloadedState: {\n breakpoints: Breakpoints.getInitialState(breakpoints),\n },\n enhancers: () => new Tuple(),\n })\n}\n\nexport type ProtoStore = ReturnType<typeof configureProtoStore>\n\ntype ReadWriteMiddleware = ReturnType<\n typeof import('./middleware/read-write').createReadWriteMiddleware\n>\n\ntype ReadWriteMiddlewareRef = {\n current: ReadWriteMiddleware | null\n}\n\nexport function conditionalReadWriteMiddleware(\n middlewareRef: ReadWriteMiddlewareRef,\n): Middleware<Dispatch, State, Dispatch> {\n let readWriteActionBuffer: Action[] = []\n let middlewares: ReadWriteMiddleware | null = null\n let enhancedDispatch: Dispatch | null = null\n\n return actionMiddleware(({ dispatch, getState }) => next => {\n return (action: Action) => {\n const state = getState()\n\n if (middlewareRef.current == null) {\n if (!state.isReadOnly) {\n // because switching to the read-write state is an asynchronous operation,\n // we need to buffer all actions dispatched after the isReadOnly state is\n // set to false but before the read-write middleware is installed\n readWriteActionBuffer.push(action)\n }\n\n return next(action)\n }\n\n if (state.isReadOnly) {\n console.error('Read-write state mismatch', {\n isReadOnly: state.isReadOnly,\n middlewareRef: middlewareRef.current,\n siteVersion: state.siteVersion,\n })\n }\n\n // build and cache the enhanced dispatch chain when read-write middleware is installed\n if (enhancedDispatch == null || middlewares !== middlewareRef.current) {\n middlewares = middlewareRef.current\n\n const middlewareApi = { dispatch, getState } as MiddlewareAPI<\n ReadWriteDispatch,\n ReadWriteState\n >\n\n enhancedDispatch = compose<Dispatch>(...middlewares.map(mw => mw(middlewareApi)))(next)\n }\n\n // dispatch buffered actions, if any\n if (readWriteActionBuffer.length > 0) {\n const readWriteActions = [...readWriteActionBuffer]\n readWriteActionBuffer = []\n\n // Note that we're rerunning the actions through the entire middleware chain,\n // including the read-only middleware and the reducers, some of which have\n // already processed these actions once. This is safe to do because actions that\n // are run as part of page initialization are idempotent.\n for (const bufferedAction of readWriteActions) {\n enhancedDispatch(bufferedAction)\n }\n }\n\n return enhancedDispatch(action)\n }\n })\n}\n\nexport interface ReadWriteStateMixin {\n readonly apiResourcesClient: ApiResourcesClient\n\n loadReadWriteStateIfNeeded(): Promise<() => void>\n}\n\nfunction withMixin<M extends {}>(mixin: M): StoreEnhancer<M> {\n return next => (reducer, preloadedState?) => ({\n ...next(reducer, preloadedState),\n ...mixin,\n })\n}\n\nexport function configureReadWriteStore({\n name,\n appOrigin,\n apiResourcesClient,\n preloadedState,\n}: {\n name: string\n appOrigin: string\n apiResourcesClient: ApiResourcesClient\n preloadedState: Partial<State>\n}) {\n const readWriteMiddlewareRef: ReadWriteMiddlewareRef = {\n current: null,\n }\n\n let refCount = 0\n let readWriteCleanup: (() => void) | null = null\n let readWriteSetupPromise: Promise<void> | null = null\n\n const loadReadWriteState = async (): Promise<void> => {\n if (readWriteCleanup != null) {\n return\n }\n\n if (readWriteSetupPromise != null) {\n await readWriteSetupPromise\n return\n }\n\n readWriteSetupPromise = (async () => {\n // import all the modules needed for read-write mode before proceeding with\n // the setup to avoid race conditions when `setup` is called concurrently\n // in two different page regions\n const { BuilderAPIProxy } = await import('./builder-api/proxy')\n const { createRootReducer, setupBuilderProxy } = await import('./read-write-state')\n const { createReadWriteMiddleware } = await import('./middleware/read-write')\n\n // IMPORTANT: only synchronous code after this point\n\n // with all modules imported, check if another concurrent setup already\n // initialized the read-write middleware\n if (readWriteMiddlewareRef.current != null) {\n return\n }\n\n store.replaceReducer(createRootReducer() as ReadOnlyReducer)\n\n const builderProxy = new BuilderAPIProxy({ appOrigin })\n readWriteMiddlewareRef.current = createReadWriteMiddleware({ builderProxy })\n\n const dispatch = store.dispatch as ReadWriteDispatch\n const builderProxyCleanup = dispatch(setupBuilderProxy(builderProxy))\n\n readWriteCleanup = () => {\n readWriteMiddlewareRef.current = null\n builderProxyCleanup()\n }\n })()\n\n try {\n await readWriteSetupPromise\n } finally {\n readWriteSetupPromise = null\n }\n }\n\n const store = configureStore({\n name,\n preloadedState,\n\n middleware: () => [\n makeswiftApiClientSyncMiddleware(apiResourcesClient),\n conditionalReadWriteMiddleware(readWriteMiddlewareRef),\n ],\n\n enhancers: () =>\n new Tuple(\n withMixin<BreakpointWatch>(\n breakpointWatchMixin({\n dispatch: (...args: Parameters<Dispatch>) => store.dispatch(...args),\n getState: (): State => store.getState(),\n subscribe: (listener): VoidFunction => store.subscribe(listener),\n }),\n ),\n\n withMixin<ReadWriteStateMixin>({\n apiResourcesClient,\n loadReadWriteStateIfNeeded: async () => {\n const { isReadOnly } = store.getState()\n\n if (isReadOnly) {\n if (refCount > 0) {\n console.error('Read-write state mismatch', { isReadOnly, refCount })\n }\n\n return () => {}\n }\n\n await loadReadWriteState()\n refCount += 1\n\n let didCleanup = false\n return () => {\n if (didCleanup) {\n return\n }\n\n didCleanup = true\n refCount -= 1\n if (refCount === 0 && readWriteCleanup != null) {\n readWriteCleanup()\n readWriteCleanup = null\n }\n }\n },\n }),\n ),\n })\n\n return store\n}\n\nexport type Store = ReturnType<typeof configureReadWriteStore>\n"],"mappings":"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","names":[]}
1
+ {"version":3,"sources":["../../../src/state/store.ts"],"sourcesContent":["import {\n type Middleware,\n type StoreEnhancer,\n type MiddlewareAPI,\n Tuple,\n configureStore as configureReduxStore,\n combineReducers,\n compose,\n} from '@reduxjs/toolkit'\n\nimport { ApiResourcesClient } from '../api/api-resources-client'\n\nimport { actionMiddleware, middlewareOptions, devToolsConfig } from './toolkit'\nimport { BuilderActionTypes } from './builder-api/action-types'\nimport { HostActionTypes } from './host-api'\n\nimport * as Breakpoints from './modules/breakpoints'\n\nimport { readOnlyElementTreeMiddleware } from './middleware/read-only-element-tree'\nimport { makeswiftApiClientSyncMiddleware } from './middleware/makeswift-api-client-sync'\nimport { type BreakpointWatch, breakpointWatchMixin } from './mixins/breakpoint-watch'\n\nimport { type Action } from './actions'\n\nimport { type State as ReadWriteState } from './read-write-state'\nimport * as ReadOnlyState from './read-only-state'\nimport {\n type State,\n type Dispatch,\n type ReadOnlyReducer,\n type ReadWriteDispatch,\n} from './unified-state'\n\nexport { type State } from './unified-state'\n\nconst configureStore = <Items extends readonly StoreEnhancer[] = []>({\n name,\n preloadedState,\n enhancers,\n middleware,\n}: {\n name: string\n preloadedState: Partial<State>\n enhancers: () => Tuple<Items>\n middleware?: () => Middleware[]\n}) => {\n const store = configureReduxStore({\n reducer: combineReducers(ReadOnlyState.reducers),\n preloadedState,\n\n middleware: getDefaultMiddleware =>\n getDefaultMiddleware(middlewareOptions).concat([\n readOnlyElementTreeMiddleware(),\n ...(middleware ? middleware() : []),\n ]),\n\n enhancers: getDefaultEnhancers => getDefaultEnhancers().concat(enhancers()),\n\n devTools: devToolsConfig({\n name: `${name} (${new Date().toISOString()})`,\n actionsDenylist: [\n HostActionTypes.BUILDER_POINTER_MOVE,\n BuilderActionTypes.HANDLE_POINTER_MOVE,\n BuilderActionTypes.ELEMENT_FROM_POINT_CHANGE,\n ],\n }),\n })\n\n return store\n}\n\nexport function configureProtoStore({\n name,\n breakpoints,\n}: {\n name: string\n breakpoints: Breakpoints.Breakpoints | undefined\n}) {\n return configureStore({\n name,\n preloadedState: {\n breakpoints: Breakpoints.getInitialState(breakpoints),\n },\n enhancers: () => new Tuple(),\n })\n}\n\nexport type ProtoStore = ReturnType<typeof configureProtoStore>\n\ntype ReadWriteMiddleware = ReturnType<\n typeof import('./middleware/read-write').createReadWriteMiddleware\n>\n\ntype ReadWriteMiddlewareRef = {\n current: ReadWriteMiddleware | null\n}\n\nexport function conditionalReadWriteMiddleware(\n middlewareRef: ReadWriteMiddlewareRef,\n): Middleware<Dispatch, State, Dispatch> {\n let readWriteActionBuffer: Action[] = []\n let middlewares: ReadWriteMiddleware | null = null\n let enhancedDispatch: Dispatch | null = null\n\n return actionMiddleware(({ dispatch, getState }) => next => {\n return (action: Action) => {\n const state = getState()\n\n if (middlewareRef.current == null) {\n if (!state.isReadOnly) {\n // because switching to the read-write state is an asynchronous operation,\n // we need to buffer all actions dispatched after the isReadOnly state is\n // set to false but before the read-write middleware is installed\n readWriteActionBuffer.push(action)\n }\n\n return next(action)\n }\n\n if (state.isReadOnly) {\n console.error('Read-write state mismatch', {\n isReadOnly: state.isReadOnly,\n middlewareRef: middlewareRef.current,\n siteVersion: state.siteVersion,\n })\n }\n\n // build and cache the enhanced dispatch chain when read-write middleware is installed\n if (enhancedDispatch == null || middlewares !== middlewareRef.current) {\n middlewares = middlewareRef.current\n\n const middlewareApi = { dispatch, getState } as MiddlewareAPI<\n ReadWriteDispatch,\n ReadWriteState\n >\n\n enhancedDispatch = compose<Dispatch>(...middlewares.map(mw => mw(middlewareApi)))(next)\n }\n\n // dispatch buffered actions, if any\n if (readWriteActionBuffer.length > 0) {\n const readWriteActions = [...readWriteActionBuffer]\n readWriteActionBuffer = []\n\n // Note that we're rerunning the actions through the entire middleware chain,\n // including the read-only middleware and the reducers, some of which have\n // already processed these actions once. This is safe to do because actions that\n // are run as part of page initialization are idempotent.\n for (const bufferedAction of readWriteActions) {\n enhancedDispatch(bufferedAction)\n }\n }\n\n return enhancedDispatch(action)\n }\n })\n}\n\nexport interface ReadWriteStateMixin {\n readonly apiResourcesClient: ApiResourcesClient\n\n loadReadWriteStateIfNeeded(): Promise<() => void>\n}\n\nfunction withMixin<M extends {}>(mixin: M): StoreEnhancer<M> {\n return next => (reducer, preloadedState?) => ({\n ...next(reducer, preloadedState),\n ...mixin,\n })\n}\n\nexport function configureReadWriteStore({\n name,\n appOrigin,\n apiResourcesClient,\n preloadedState,\n}: {\n name: string\n appOrigin: string\n apiResourcesClient: ApiResourcesClient\n preloadedState: Partial<State>\n}) {\n const readWriteMiddlewareRef: ReadWriteMiddlewareRef = {\n current: null,\n }\n\n let refCount = 0\n let readWriteCleanup: (() => void) | null = null\n let readWriteSetupPromise: Promise<void> | null = null\n\n const loadReadWriteState = async (): Promise<void> => {\n if (readWriteCleanup != null) {\n return\n }\n\n if (readWriteSetupPromise != null) {\n await readWriteSetupPromise\n return\n }\n\n readWriteSetupPromise = (async () => {\n // import all the modules needed for read-write mode before proceeding with\n // the setup to avoid race conditions when `setup` is called concurrently\n // in two different page regions\n const { BuilderAPIProxy } = await import('./builder-api/proxy')\n const { createRootReducer, setupBuilderProxy } = await import('./read-write-state')\n const { createReadWriteMiddleware } = await import('./middleware/read-write')\n\n // IMPORTANT: only synchronous code after this point\n\n // with all modules imported, check if another concurrent setup already\n // initialized the read-write middleware\n if (readWriteMiddlewareRef.current != null) {\n return\n }\n\n store.replaceReducer(createRootReducer() as ReadOnlyReducer)\n\n const builderProxy = new BuilderAPIProxy({ appOrigin })\n readWriteMiddlewareRef.current = createReadWriteMiddleware({ builderProxy })\n\n const dispatch = store.dispatch as ReadWriteDispatch\n const builderProxyCleanup = dispatch(setupBuilderProxy(builderProxy))\n\n readWriteCleanup = () => {\n readWriteMiddlewareRef.current = null\n builderProxyCleanup()\n }\n })()\n\n try {\n await readWriteSetupPromise\n } finally {\n readWriteSetupPromise = null\n }\n }\n\n const store = configureStore({\n name,\n preloadedState,\n\n middleware: () => [\n makeswiftApiClientSyncMiddleware(apiResourcesClient),\n conditionalReadWriteMiddleware(readWriteMiddlewareRef),\n ],\n\n enhancers: () =>\n new Tuple(\n withMixin<BreakpointWatch>(\n breakpointWatchMixin({\n dispatch: (...args: Parameters<Dispatch>) => store.dispatch(...args),\n getState: (): State => store.getState(),\n subscribe: (listener): VoidFunction => store.subscribe(listener),\n }),\n ),\n\n withMixin<ReadWriteStateMixin>({\n apiResourcesClient,\n loadReadWriteStateIfNeeded: async () => {\n const { isReadOnly } = store.getState()\n\n if (isReadOnly) {\n if (refCount > 0) {\n console.error('Read-write state mismatch', { isReadOnly, refCount })\n }\n\n return () => {}\n }\n\n await loadReadWriteState()\n refCount += 1\n\n let didCleanup = false\n return () => {\n if (didCleanup) {\n return\n }\n\n didCleanup = true\n refCount -= 1\n if (refCount === 0 && readWriteCleanup != null) {\n readWriteCleanup()\n readWriteCleanup = null\n }\n }\n },\n }),\n ),\n })\n\n return store\n}\n\nexport type Store = ReturnType<typeof configureReadWriteStore>\n"],"mappings":"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","names":[]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/state/translations/get.ts"],"sourcesContent":["import * as Documents from '../modules/read-only-documents'\nimport * as ElementTrees from '../modules/element-trees'\nimport { getTranslatableData } from '../../controls/control'\nimport type { DescriptorsByComponentType } from '../modules/prop-controllers'\n\nexport function getTranslatableContent(\n descriptors: DescriptorsByComponentType,\n elementTree: Documents.ElementData,\n): Record<string, Documents.Data> {\n const translatableData: Record<string, Documents.Data> = {}\n\n for (const element of ElementTrees.traverseElementTree(elementTree, descriptors)) {\n if (Documents.isElementReference(element)) continue\n\n const elementDescriptors = descriptors.get(element.type)\n if (elementDescriptors == null) continue\n\n Object.entries(elementDescriptors).forEach(([propName, descriptor]) => {\n const translatablePropData = getTranslatableData(descriptor, element.props[propName])\n\n if (translatablePropData != null) {\n translatableData[`${element.key}:${propName}`] = translatablePropData\n }\n })\n }\n\n return translatableData\n}\n"],"mappings":"AAAA,YAAY,eAAe;AAC3B,YAAY,kBAAkB;AAC9B,SAAS,2BAA2B;AAG7B,SAAS,uBACd,aACA,aACgC;AAChC,QAAM,mBAAmD,CAAC;AAE1D,aAAW,WAAW,aAAa,oBAAoB,aAAa,WAAW,GAAG;AAChF,QAAI,UAAU,mBAAmB,OAAO;AAAG;AAE3C,UAAM,qBAAqB,YAAY,IAAI,QAAQ,IAAI;AACvD,QAAI,sBAAsB;AAAM;AAEhC,WAAO,QAAQ,kBAAkB,EAAE,QAAQ,CAAC,CAAC,UAAU,UAAU,MAAM;AACrE,YAAM,uBAAuB,oBAAoB,YAAY,QAAQ,MAAM,QAAQ,CAAC;AAEpF,UAAI,wBAAwB,MAAM;AAChC,yBAAiB,GAAG,QAAQ,GAAG,IAAI,QAAQ,EAAE,IAAI;AAAA,MACnD;AAAA,IACF,CAAC;AAAA,EACH;AAEA,SAAO;AACT;","names":[]}
1
+ {"version":3,"sources":["../../../../src/state/translations/get.ts"],"sourcesContent":["import * as Documents from '../modules/read-only-documents'\nimport * as ElementTrees from '../modules/element-trees'\nimport { getTranslatableData } from '../../controls/control'\nimport type { DescriptorsByComponentType } from '../modules/prop-controller-descriptors'\n\nexport function getTranslatableContent(\n descriptors: DescriptorsByComponentType,\n elementTree: Documents.ElementData,\n): Record<string, Documents.Data> {\n const translatableData: Record<string, Documents.Data> = {}\n\n for (const element of ElementTrees.traverseElementTree(elementTree, descriptors)) {\n if (Documents.isElementReference(element)) continue\n\n const elementDescriptors = descriptors.get(element.type)\n if (elementDescriptors == null) continue\n\n Object.entries(elementDescriptors).forEach(([propName, descriptor]) => {\n const translatablePropData = getTranslatableData(descriptor, element.props[propName])\n\n if (translatablePropData != null) {\n translatableData[`${element.key}:${propName}`] = translatablePropData\n }\n })\n }\n\n return translatableData\n}\n"],"mappings":"AAAA,YAAY,eAAe;AAC3B,YAAY,kBAAkB;AAC9B,SAAS,2BAA2B;AAG7B,SAAS,uBACd,aACA,aACgC;AAChC,QAAM,mBAAmD,CAAC;AAE1D,aAAW,WAAW,aAAa,oBAAoB,aAAa,WAAW,GAAG;AAChF,QAAI,UAAU,mBAAmB,OAAO;AAAG;AAE3C,UAAM,qBAAqB,YAAY,IAAI,QAAQ,IAAI;AACvD,QAAI,sBAAsB;AAAM;AAEhC,WAAO,QAAQ,kBAAkB,EAAE,QAAQ,CAAC,CAAC,UAAU,UAAU,MAAM;AACrE,YAAM,uBAAuB,oBAAoB,YAAY,QAAQ,MAAM,QAAQ,CAAC;AAEpF,UAAI,wBAAwB,MAAM;AAChC,yBAAiB,GAAG,QAAQ,GAAG,IAAI,QAAQ,EAAE,IAAI;AAAA,MACnD;AAAA,IACF,CAAC;AAAA,EACH;AAEA,SAAO;AACT;","names":[]}
@@ -4,7 +4,9 @@ import {
4
4
  Types as PropControllerTypes
5
5
  } from "@makeswift/prop-controllers";
6
6
  import { ReactMergeTranslationsVisitor } from "../../controls/visitors/merge-translations-visitor";
7
- import { isLegacyDescriptor } from "../../prop-controllers/descriptors";
7
+ import {
8
+ isLegacyDescriptor
9
+ } from "../../prop-controllers/descriptors";
8
10
  function mergeTranslatedContent(descriptors, elementTree, translatedData) {
9
11
  function merge(descriptorsByType, translatedData2) {
10
12
  return function(node) {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/state/translations/merge.ts"],"sourcesContent":["import { MergeTranslatableDataContext, type TranslationDto, type Data } from '@makeswift/controls'\nimport * as Documents from '../modules/read-only-documents'\nimport {\n GridPropControllerData,\n mergeGridPropControllerTranslatedData,\n Types as PropControllerTypes,\n} from '@makeswift/prop-controllers'\nimport { ReactMergeTranslationsVisitor } from '../../controls/visitors/merge-translations-visitor'\nimport { isLegacyDescriptor } from '../../prop-controllers/descriptors'\nimport { Descriptor as PropControllerDescriptor } from '../../prop-controllers/descriptors'\nimport type { DescriptorsByComponentType } from '../modules/prop-controllers'\n\nexport function mergeTranslatedContent(\n descriptors: DescriptorsByComponentType,\n elementTree: Documents.ElementData,\n translatedData: TranslationDto,\n): Documents.Element {\n function merge(descriptorsByType: DescriptorsByComponentType, translatedData: TranslationDto) {\n return function (node: Documents.Element): Documents.Element {\n if (Documents.isElementReference(node)) return node\n\n const elementDescriptors = descriptorsByType.get(node.type)\n\n if (elementDescriptors == null) {\n throw new Error(`Can't merge element of type \"${node.type}\" because it has no descriptors`)\n }\n\n const context: MergeTranslatableDataContext = {\n translatedData: translatedData,\n mergeTranslatedData: merge(descriptorsByType, translatedData),\n }\n const props = {} as Record<string, Documents.Data>\n\n for (const propName of Object.keys(elementDescriptors)) {\n const descriptor = elementDescriptors[propName]\n\n props[propName] = mergeTranslatedData(\n descriptor,\n node.props[propName],\n translatedData[`${node.key}:${propName}`],\n context,\n )\n }\n\n return { ...node, props }\n }\n }\n return merge(descriptors, translatedData)(elementTree)\n}\n\nexport function mergeTranslatedData(\n definition: PropControllerDescriptor,\n data: Data,\n translatedData: Data,\n context: MergeTranslatableDataContext,\n): Data {\n if (data == null) return data\n if (!isLegacyDescriptor(definition)) {\n const mergeTranslationsVisitor = new ReactMergeTranslationsVisitor(context)\n return definition.accept(mergeTranslationsVisitor, data, translatedData)\n }\n\n switch (definition.type) {\n case PropControllerTypes.TextInput:\n case PropControllerTypes.TextArea:\n if (translatedData == null) return data\n return translatedData\n\n case PropControllerTypes.Grid:\n return mergeGridPropControllerTranslatedData(data as GridPropControllerData, context)\n\n default:\n return data\n }\n}\n"],"mappings":"AACA,YAAY,eAAe;AAC3B;AAAA,EAEE;AAAA,EACA,SAAS;AAAA,OACJ;AACP,SAAS,qCAAqC;AAC9C,SAAS,0BAA0B;AAI5B,SAAS,uBACd,aACA,aACA,gBACmB;AACnB,WAAS,MAAM,mBAA+CA,iBAAgC;AAC5F,WAAO,SAAU,MAA4C;AAC3D,UAAI,UAAU,mBAAmB,IAAI;AAAG,eAAO;AAE/C,YAAM,qBAAqB,kBAAkB,IAAI,KAAK,IAAI;AAE1D,UAAI,sBAAsB,MAAM;AAC9B,cAAM,IAAI,MAAM,gCAAgC,KAAK,IAAI,iCAAiC;AAAA,MAC5F;AAEA,YAAM,UAAwC;AAAA,QAC5C,gBAAgBA;AAAA,QAChB,qBAAqB,MAAM,mBAAmBA,eAAc;AAAA,MAC9D;AACA,YAAM,QAAQ,CAAC;AAEf,iBAAW,YAAY,OAAO,KAAK,kBAAkB,GAAG;AACtD,cAAM,aAAa,mBAAmB,QAAQ;AAE9C,cAAM,QAAQ,IAAI;AAAA,UAChB;AAAA,UACA,KAAK,MAAM,QAAQ;AAAA,UACnBA,gBAAe,GAAG,KAAK,GAAG,IAAI,QAAQ,EAAE;AAAA,UACxC;AAAA,QACF;AAAA,MACF;AAEA,aAAO,EAAE,GAAG,MAAM,MAAM;AAAA,IAC1B;AAAA,EACF;AACA,SAAO,MAAM,aAAa,cAAc,EAAE,WAAW;AACvD;AAEO,SAAS,oBACd,YACA,MACA,gBACA,SACM;AACN,MAAI,QAAQ;AAAM,WAAO;AACzB,MAAI,CAAC,mBAAmB,UAAU,GAAG;AACnC,UAAM,2BAA2B,IAAI,8BAA8B,OAAO;AAC1E,WAAO,WAAW,OAAO,0BAA0B,MAAM,cAAc;AAAA,EACzE;AAEA,UAAQ,WAAW,MAAM;AAAA,IACvB,KAAK,oBAAoB;AAAA,IACzB,KAAK,oBAAoB;AACvB,UAAI,kBAAkB;AAAM,eAAO;AACnC,aAAO;AAAA,IAET,KAAK,oBAAoB;AACvB,aAAO,sCAAsC,MAAgC,OAAO;AAAA,IAEtF;AACE,aAAO;AAAA,EACX;AACF;","names":["translatedData"]}
1
+ {"version":3,"sources":["../../../../src/state/translations/merge.ts"],"sourcesContent":["import { MergeTranslatableDataContext, type TranslationDto, type Data } from '@makeswift/controls'\nimport * as Documents from '../modules/read-only-documents'\nimport {\n GridPropControllerData,\n mergeGridPropControllerTranslatedData,\n Types as PropControllerTypes,\n} from '@makeswift/prop-controllers'\nimport { ReactMergeTranslationsVisitor } from '../../controls/visitors/merge-translations-visitor'\nimport {\n isLegacyDescriptor,\n Descriptor as PropControllerDescriptor,\n} from '../../prop-controllers/descriptors'\nimport type { DescriptorsByComponentType } from '../modules/prop-controller-descriptors'\n\nexport function mergeTranslatedContent(\n descriptors: DescriptorsByComponentType,\n elementTree: Documents.ElementData,\n translatedData: TranslationDto,\n): Documents.Element {\n function merge(descriptorsByType: DescriptorsByComponentType, translatedData: TranslationDto) {\n return function (node: Documents.Element): Documents.Element {\n if (Documents.isElementReference(node)) return node\n\n const elementDescriptors = descriptorsByType.get(node.type)\n\n if (elementDescriptors == null) {\n throw new Error(`Can't merge element of type \"${node.type}\" because it has no descriptors`)\n }\n\n const context: MergeTranslatableDataContext = {\n translatedData: translatedData,\n mergeTranslatedData: merge(descriptorsByType, translatedData),\n }\n const props = {} as Record<string, Documents.Data>\n\n for (const propName of Object.keys(elementDescriptors)) {\n const descriptor = elementDescriptors[propName]\n\n props[propName] = mergeTranslatedData(\n descriptor,\n node.props[propName],\n translatedData[`${node.key}:${propName}`],\n context,\n )\n }\n\n return { ...node, props }\n }\n }\n return merge(descriptors, translatedData)(elementTree)\n}\n\nexport function mergeTranslatedData(\n definition: PropControllerDescriptor,\n data: Data,\n translatedData: Data,\n context: MergeTranslatableDataContext,\n): Data {\n if (data == null) return data\n if (!isLegacyDescriptor(definition)) {\n const mergeTranslationsVisitor = new ReactMergeTranslationsVisitor(context)\n return definition.accept(mergeTranslationsVisitor, data, translatedData)\n }\n\n switch (definition.type) {\n case PropControllerTypes.TextInput:\n case PropControllerTypes.TextArea:\n if (translatedData == null) return data\n return translatedData\n\n case PropControllerTypes.Grid:\n return mergeGridPropControllerTranslatedData(data as GridPropControllerData, context)\n\n default:\n return data\n }\n}\n"],"mappings":"AACA,YAAY,eAAe;AAC3B;AAAA,EAEE;AAAA,EACA,SAAS;AAAA,OACJ;AACP,SAAS,qCAAqC;AAC9C;AAAA,EACE;AAAA,OAEK;AAGA,SAAS,uBACd,aACA,aACA,gBACmB;AACnB,WAAS,MAAM,mBAA+CA,iBAAgC;AAC5F,WAAO,SAAU,MAA4C;AAC3D,UAAI,UAAU,mBAAmB,IAAI;AAAG,eAAO;AAE/C,YAAM,qBAAqB,kBAAkB,IAAI,KAAK,IAAI;AAE1D,UAAI,sBAAsB,MAAM;AAC9B,cAAM,IAAI,MAAM,gCAAgC,KAAK,IAAI,iCAAiC;AAAA,MAC5F;AAEA,YAAM,UAAwC;AAAA,QAC5C,gBAAgBA;AAAA,QAChB,qBAAqB,MAAM,mBAAmBA,eAAc;AAAA,MAC9D;AACA,YAAM,QAAQ,CAAC;AAEf,iBAAW,YAAY,OAAO,KAAK,kBAAkB,GAAG;AACtD,cAAM,aAAa,mBAAmB,QAAQ;AAE9C,cAAM,QAAQ,IAAI;AAAA,UAChB;AAAA,UACA,KAAK,MAAM,QAAQ;AAAA,UACnBA,gBAAe,GAAG,KAAK,GAAG,IAAI,QAAQ,EAAE;AAAA,UACxC;AAAA,QACF;AAAA,MACF;AAEA,aAAO,EAAE,GAAG,MAAM,MAAM;AAAA,IAC1B;AAAA,EACF;AACA,SAAO,MAAM,aAAa,cAAc,EAAE,WAAW;AACvD;AAEO,SAAS,oBACd,YACA,MACA,gBACA,SACM;AACN,MAAI,QAAQ;AAAM,WAAO;AACzB,MAAI,CAAC,mBAAmB,UAAU,GAAG;AACnC,UAAM,2BAA2B,IAAI,8BAA8B,OAAO;AAC1E,WAAO,WAAW,OAAO,0BAA0B,MAAM,cAAc;AAAA,EACzE;AAEA,UAAQ,WAAW,MAAM;AAAA,IACvB,KAAK,oBAAoB;AAAA,IACzB,KAAK,oBAAoB;AACvB,UAAI,kBAAkB;AAAM,eAAO;AACnC,aAAO;AAAA,IAET,KAAK,oBAAoB;AACvB,aAAO,sCAAsC,MAAgC,OAAO;AAAA,IAEtF;AACE,aAAO;AAAA,EACX;AACF;","names":["translatedData"]}
@@ -1 +1,5 @@
1
+ const isReadWriteState = (state) => "boxModels" in state;
2
+ export {
3
+ isReadWriteState
4
+ };
1
5
  //# sourceMappingURL=unified-state.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
1
+ {"version":3,"sources":["../../../src/state/unified-state.ts"],"sourcesContent":["import { type ThunkDispatch, type Reducer } from '@reduxjs/toolkit'\n\nimport { type State as ReadOnlyState } from './read-only-state'\nimport { type State as ReadWriteState } from './read-write-state'\nimport { type Action } from './actions'\n\nexport type State = ReadOnlyState | ReadWriteState\nexport type Dispatch = ThunkDispatch<State, unknown, Action>\nexport type ReadOnlyReducer = Reducer<ReadOnlyState>\nexport type ReadWriteDispatch = ThunkDispatch<ReadWriteState, unknown, Action>\n\nexport const isReadWriteState = (state: State): state is ReadWriteState => 'boxModels' in state\n"],"mappings":"AAWO,MAAM,mBAAmB,CAAC,UAA0C,eAAe;","names":[]}
@@ -0,0 +1,9 @@
1
+ const DESKTOP_MEDIA_QUERY = "only screen and (min-width: 769px)";
2
+ const TABLET_MEDIA_QUERY = "only screen and (min-width: 769px)";
3
+ const MOBILE_MEDIA_QUERY = "only screen and (min-width: 769px)";
4
+ export {
5
+ DESKTOP_MEDIA_QUERY,
6
+ MOBILE_MEDIA_QUERY,
7
+ TABLET_MEDIA_QUERY
8
+ };
9
+ //# sourceMappingURL=breakpoints.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/testing/breakpoints.ts"],"sourcesContent":["export const DESKTOP_MEDIA_QUERY = 'only screen and (min-width: 769px)'\nexport const TABLET_MEDIA_QUERY = 'only screen and (min-width: 769px)'\nexport const MOBILE_MEDIA_QUERY = 'only screen and (min-width: 769px)'\n"],"mappings":"AAAO,MAAM,sBAAsB;AAC5B,MAAM,qBAAqB;AAC3B,MAAM,qBAAqB;","names":[]}
@@ -0,0 +1,76 @@
1
+ import { v4 as uuid } from "uuid";
2
+ import { CacheData } from "../api/api-resources-client";
3
+ import { MakeswiftComponentType } from "../components/builtin/constants";
4
+ function createRootComponent(elements, rootId) {
5
+ return {
6
+ key: rootId ?? uuid(),
7
+ type: MakeswiftComponentType.Root,
8
+ props: {
9
+ children: {
10
+ columns: [
11
+ {
12
+ deviceId: "desktop",
13
+ value: {
14
+ count: 12,
15
+ spans: elements?.map(() => [12])
16
+ }
17
+ }
18
+ ],
19
+ elements
20
+ }
21
+ }
22
+ };
23
+ }
24
+ const isDocument = (elementDataOrDocument) => "snippets" in elementDataOrDocument || "fonts" in elementDataOrDocument || "meta" in elementDataOrDocument || "seo" in elementDataOrDocument;
25
+ function createMakeswiftPageSnapshot(elementDataOrDocument, {
26
+ cacheData = {},
27
+ locale = null
28
+ } = {}) {
29
+ return {
30
+ document: isDocument(elementDataOrDocument) ? elementDataOrDocument : {
31
+ id: "test-page-id",
32
+ site: { id: "test-site-id" },
33
+ data: elementDataOrDocument,
34
+ snippets: [],
35
+ fonts: [],
36
+ meta: {},
37
+ seo: {},
38
+ localizedPages: [],
39
+ locale
40
+ },
41
+ cacheData: {
42
+ ...CacheData.empty(),
43
+ ...cacheData
44
+ }
45
+ };
46
+ }
47
+ function createMakeswiftComponentSnapshot(elementData, {
48
+ cacheData = {},
49
+ locale = null
50
+ } = {}) {
51
+ return {
52
+ key: uuid(),
53
+ document: {
54
+ id: "test-component-id",
55
+ name: "Test Component Document",
56
+ siteId: "test-site-id",
57
+ data: elementData,
58
+ inheritsFromParent: false,
59
+ locale
60
+ },
61
+ meta: {
62
+ allowLocaleFallback: false,
63
+ requestedLocale: locale
64
+ },
65
+ cacheData: {
66
+ ...CacheData.empty(),
67
+ ...cacheData
68
+ }
69
+ };
70
+ }
71
+ export {
72
+ createMakeswiftComponentSnapshot,
73
+ createMakeswiftPageSnapshot,
74
+ createRootComponent
75
+ };
76
+ //# sourceMappingURL=element-data.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/testing/element-data.ts"],"sourcesContent":["import { v4 as uuid } from 'uuid'\n\nimport {\n type MakeswiftPageSnapshot,\n type MakeswiftPageDocument,\n type MakeswiftComponentSnapshot,\n} from '../client'\nimport { CacheData } from '../api/api-resources-client'\nimport { type ElementData } from '../state/read-only-state'\nimport { MakeswiftComponentType } from '../components/builtin/constants'\n\nexport function createRootComponent(elements: ElementData[], rootId?: string) {\n return {\n key: rootId ?? uuid(),\n type: MakeswiftComponentType.Root,\n props: {\n children: {\n columns: [\n {\n deviceId: 'desktop',\n value: {\n count: 12,\n spans: elements?.map(() => [12]),\n },\n },\n ],\n elements,\n },\n },\n }\n}\n\nconst isDocument = (\n elementDataOrDocument: ElementData | MakeswiftPageDocument,\n): elementDataOrDocument is MakeswiftPageDocument =>\n 'snippets' in elementDataOrDocument ||\n 'fonts' in elementDataOrDocument ||\n 'meta' in elementDataOrDocument ||\n 'seo' in elementDataOrDocument\n\nexport function createMakeswiftPageSnapshot(\n elementDataOrDocument: ElementData | MakeswiftPageDocument,\n {\n cacheData = {},\n locale = null,\n }: { cacheData?: Partial<MakeswiftPageSnapshot['cacheData']>; locale?: string | null } = {},\n): MakeswiftPageSnapshot {\n return {\n document: isDocument(elementDataOrDocument)\n ? elementDataOrDocument\n : {\n id: 'test-page-id',\n site: { id: 'test-site-id' },\n data: elementDataOrDocument,\n snippets: [],\n fonts: [],\n meta: {},\n seo: {},\n localizedPages: [],\n locale,\n },\n cacheData: {\n ...CacheData.empty(),\n ...cacheData,\n },\n }\n}\n\nexport function createMakeswiftComponentSnapshot(\n elementData: ElementData | null,\n {\n cacheData = {},\n locale = null,\n }: { cacheData?: Partial<MakeswiftComponentSnapshot['cacheData']>; locale?: string | null } = {},\n): MakeswiftComponentSnapshot {\n return {\n key: uuid(),\n document: {\n id: 'test-component-id',\n name: 'Test Component Document',\n siteId: 'test-site-id',\n data: elementData,\n inheritsFromParent: false,\n locale,\n },\n meta: {\n allowLocaleFallback: false,\n requestedLocale: locale,\n },\n cacheData: {\n ...CacheData.empty(),\n ...cacheData,\n },\n }\n}\n"],"mappings":"AAAA,SAAS,MAAM,YAAY;AAO3B,SAAS,iBAAiB;AAE1B,SAAS,8BAA8B;AAEhC,SAAS,oBAAoB,UAAyB,QAAiB;AAC5E,SAAO;AAAA,IACL,KAAK,UAAU,KAAK;AAAA,IACpB,MAAM,uBAAuB;AAAA,IAC7B,OAAO;AAAA,MACL,UAAU;AAAA,QACR,SAAS;AAAA,UACP;AAAA,YACE,UAAU;AAAA,YACV,OAAO;AAAA,cACL,OAAO;AAAA,cACP,OAAO,UAAU,IAAI,MAAM,CAAC,EAAE,CAAC;AAAA,YACjC;AAAA,UACF;AAAA,QACF;AAAA,QACA;AAAA,MACF;AAAA,IACF;AAAA,EACF;AACF;AAEA,MAAM,aAAa,CACjB,0BAEA,cAAc,yBACd,WAAW,yBACX,UAAU,yBACV,SAAS;AAEJ,SAAS,4BACd,uBACA;AAAA,EACE,YAAY,CAAC;AAAA,EACb,SAAS;AACX,IAAyF,CAAC,GACnE;AACvB,SAAO;AAAA,IACL,UAAU,WAAW,qBAAqB,IACtC,wBACA;AAAA,MACE,IAAI;AAAA,MACJ,MAAM,EAAE,IAAI,eAAe;AAAA,MAC3B,MAAM;AAAA,MACN,UAAU,CAAC;AAAA,MACX,OAAO,CAAC;AAAA,MACR,MAAM,CAAC;AAAA,MACP,KAAK,CAAC;AAAA,MACN,gBAAgB,CAAC;AAAA,MACjB;AAAA,IACF;AAAA,IACJ,WAAW;AAAA,MACT,GAAG,UAAU,MAAM;AAAA,MACnB,GAAG;AAAA,IACL;AAAA,EACF;AACF;AAEO,SAAS,iCACd,aACA;AAAA,EACE,YAAY,CAAC;AAAA,EACb,SAAS;AACX,IAA8F,CAAC,GACnE;AAC5B,SAAO;AAAA,IACL,KAAK,KAAK;AAAA,IACV,UAAU;AAAA,MACR,IAAI;AAAA,MACJ,MAAM;AAAA,MACN,QAAQ;AAAA,MACR,MAAM;AAAA,MACN,oBAAoB;AAAA,MACpB;AAAA,IACF;AAAA,IACA,MAAM;AAAA,MACJ,qBAAqB;AAAA,MACrB,iBAAiB;AAAA,IACnB;AAAA,IACA,WAAW;AAAA,MACT,GAAG,UAAU,MAAM;AAAA,MACnB,GAAG;AAAA,IACL;AAAA,EACF;AACF;","names":[]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/translations/index.ts"],"sourcesContent":["export { getTranslatableContent } from '../state/translations/get'\nexport { mergeTranslatedContent } from '../state/translations/merge'\nexport type {\n DescriptorsByComponentType,\n DescriptorsByProp,\n} from '../state/modules/prop-controllers'\nexport type { ElementData, Data, Element } from '../state/read-only-state'\nexport type { TranslationDto } from '@makeswift/controls'\n"],"mappings":"AAAA,SAAS,8BAA8B;AACvC,SAAS,8BAA8B;","names":[]}
1
+ {"version":3,"sources":["../../../src/translations/index.ts"],"sourcesContent":["export { getTranslatableContent } from '../state/translations/get'\nexport { mergeTranslatedContent } from '../state/translations/merge'\nexport type {\n DescriptorsByComponentType,\n DescriptorsByProp,\n} from '../state/modules/prop-controller-descriptors'\nexport type { ElementData, Data, Element } from '../state/read-only-state'\nexport type { TranslationDto } from '@makeswift/controls'\n"],"mappings":"AAAA,SAAS,8BAA8B;AACvC,SAAS,8BAA8B;","names":[]}
@@ -6,14 +6,14 @@ export declare const pagePathnameSlices: z.ZodArray<z.ZodNullable<z.ZodObject<{
6
6
  localizedPathname: z.ZodOptional<z.ZodString>;
7
7
  __typename: z.ZodLiteral<"PagePathnameSlice">;
8
8
  }, "strip", z.ZodTypeAny, {
9
- __typename: "PagePathnameSlice";
10
9
  id: string;
10
+ __typename: "PagePathnameSlice";
11
11
  pathname: string;
12
12
  basePageId: string;
13
13
  localizedPathname?: string | undefined;
14
14
  }, {
15
- __typename: "PagePathnameSlice";
16
15
  id: string;
16
+ __typename: "PagePathnameSlice";
17
17
  pathname: string;
18
18
  basePageId: string;
19
19
  localizedPathname?: string | undefined;
@@ -20,15 +20,15 @@ export declare const diffProjectionSchema: z.ZodObject<{
20
20
  pathname: z.ZodString;
21
21
  previousPathname: z.ZodOptional<z.ZodString>;
22
22
  }, "strip", z.ZodTypeAny, {
23
+ pageId: string;
23
24
  pathname: string;
24
25
  locale: string | null;
25
- pageId: string;
26
26
  changeType: "deleted" | "created" | "updated";
27
27
  previousPathname?: string | undefined;
28
28
  }, {
29
+ pageId: string;
29
30
  pathname: string;
30
31
  locale: string | null;
31
- pageId: string;
32
32
  changeType: "deleted" | "created" | "updated";
33
33
  previousPathname?: string | undefined;
34
34
  }>, "many">;
@@ -86,15 +86,15 @@ export declare const diffProjectionSchema: z.ZodObject<{
86
86
  pathname: z.ZodString;
87
87
  previousPathname: z.ZodOptional<z.ZodString>;
88
88
  }, "strip", z.ZodTypeAny, {
89
+ pageId: string;
89
90
  pathname: string;
90
91
  locale: string | null;
91
- pageId: string;
92
92
  changeType: "deleted" | "created" | "updated";
93
93
  previousPathname?: string | undefined;
94
94
  }, {
95
+ pageId: string;
95
96
  pathname: string;
96
97
  locale: string | null;
97
- pageId: string;
98
98
  changeType: "deleted" | "created" | "updated";
99
99
  previousPathname?: string | undefined;
100
100
  }>, "many">;
@@ -152,15 +152,15 @@ export declare const diffProjectionSchema: z.ZodObject<{
152
152
  pathname: z.ZodString;
153
153
  previousPathname: z.ZodOptional<z.ZodString>;
154
154
  }, "strip", z.ZodTypeAny, {
155
+ pageId: string;
155
156
  pathname: string;
156
157
  locale: string | null;
157
- pageId: string;
158
158
  changeType: "deleted" | "created" | "updated";
159
159
  previousPathname?: string | undefined;
160
160
  }, {
161
+ pageId: string;
161
162
  pathname: string;
162
163
  locale: string | null;
163
- pageId: string;
164
164
  changeType: "deleted" | "created" | "updated";
165
165
  previousPathname?: string | undefined;
166
166
  }>, "many">;
@@ -39,15 +39,15 @@ export declare const sitePublishedWebhookPayloadSchema: z.ZodObject<{
39
39
  pathname: z.ZodString;
40
40
  previousPathname: z.ZodOptional<z.ZodString>;
41
41
  }, "strip", z.ZodTypeAny, {
42
+ pageId: string;
42
43
  pathname: string;
43
44
  locale: string | null;
44
- pageId: string;
45
45
  changeType: "deleted" | "created" | "updated";
46
46
  previousPathname?: string | undefined;
47
47
  }, {
48
+ pageId: string;
48
49
  pathname: string;
49
50
  locale: string | null;
50
- pageId: string;
51
51
  changeType: "deleted" | "created" | "updated";
52
52
  previousPathname?: string | undefined;
53
53
  }>, "many">;
@@ -105,15 +105,15 @@ export declare const sitePublishedWebhookPayloadSchema: z.ZodObject<{
105
105
  pathname: z.ZodString;
106
106
  previousPathname: z.ZodOptional<z.ZodString>;
107
107
  }, "strip", z.ZodTypeAny, {
108
+ pageId: string;
108
109
  pathname: string;
109
110
  locale: string | null;
110
- pageId: string;
111
111
  changeType: "deleted" | "created" | "updated";
112
112
  previousPathname?: string | undefined;
113
113
  }, {
114
+ pageId: string;
114
115
  pathname: string;
115
116
  locale: string | null;
116
- pageId: string;
117
117
  changeType: "deleted" | "created" | "updated";
118
118
  previousPathname?: string | undefined;
119
119
  }>, "many">;
@@ -171,15 +171,15 @@ export declare const sitePublishedWebhookPayloadSchema: z.ZodObject<{
171
171
  pathname: z.ZodString;
172
172
  previousPathname: z.ZodOptional<z.ZodString>;
173
173
  }, "strip", z.ZodTypeAny, {
174
+ pageId: string;
174
175
  pathname: string;
175
176
  locale: string | null;
176
- pageId: string;
177
177
  changeType: "deleted" | "created" | "updated";
178
178
  previousPathname?: string | undefined;
179
179
  }, {
180
+ pageId: string;
180
181
  pathname: string;
181
182
  locale: string | null;
182
- pageId: string;
183
183
  changeType: "deleted" | "created" | "updated";
184
184
  previousPathname?: string | undefined;
185
185
  }>, "many">;
@@ -246,15 +246,15 @@ export declare const sitePublishedWebhookPayloadSchema: z.ZodObject<{
246
246
  pathname: z.ZodString;
247
247
  previousPathname: z.ZodOptional<z.ZodString>;
248
248
  }, "strip", z.ZodTypeAny, {
249
+ pageId: string;
249
250
  pathname: string;
250
251
  locale: string | null;
251
- pageId: string;
252
252
  changeType: "deleted" | "created" | "updated";
253
253
  previousPathname?: string | undefined;
254
254
  }, {
255
+ pageId: string;
255
256
  pathname: string;
256
257
  locale: string | null;
257
- pageId: string;
258
258
  changeType: "deleted" | "created" | "updated";
259
259
  previousPathname?: string | undefined;
260
260
  }>, "many">;
@@ -332,15 +332,15 @@ export declare const sitePublishedWebhookPayloadSchema: z.ZodObject<{
332
332
  pathname: z.ZodString;
333
333
  previousPathname: z.ZodOptional<z.ZodString>;
334
334
  }, "strip", z.ZodTypeAny, {
335
+ pageId: string;
335
336
  pathname: string;
336
337
  locale: string | null;
337
- pageId: string;
338
338
  changeType: "deleted" | "created" | "updated";
339
339
  previousPathname?: string | undefined;
340
340
  }, {
341
+ pageId: string;
341
342
  pathname: string;
342
343
  locale: string | null;
343
- pageId: string;
344
344
  changeType: "deleted" | "created" | "updated";
345
345
  previousPathname?: string | undefined;
346
346
  }>, "many">;
@@ -432,15 +432,15 @@ declare const webhookPayloadSchema: z.ZodObject<{
432
432
  pathname: z.ZodString;
433
433
  previousPathname: z.ZodOptional<z.ZodString>;
434
434
  }, "strip", z.ZodTypeAny, {
435
+ pageId: string;
435
436
  pathname: string;
436
437
  locale: string | null;
437
- pageId: string;
438
438
  changeType: "deleted" | "created" | "updated";
439
439
  previousPathname?: string | undefined;
440
440
  }, {
441
+ pageId: string;
441
442
  pathname: string;
442
443
  locale: string | null;
443
- pageId: string;
444
444
  changeType: "deleted" | "created" | "updated";
445
445
  previousPathname?: string | undefined;
446
446
  }>, "many">;
@@ -498,15 +498,15 @@ declare const webhookPayloadSchema: z.ZodObject<{
498
498
  pathname: z.ZodString;
499
499
  previousPathname: z.ZodOptional<z.ZodString>;
500
500
  }, "strip", z.ZodTypeAny, {
501
+ pageId: string;
501
502
  pathname: string;
502
503
  locale: string | null;
503
- pageId: string;
504
504
  changeType: "deleted" | "created" | "updated";
505
505
  previousPathname?: string | undefined;
506
506
  }, {
507
+ pageId: string;
507
508
  pathname: string;
508
509
  locale: string | null;
509
- pageId: string;
510
510
  changeType: "deleted" | "created" | "updated";
511
511
  previousPathname?: string | undefined;
512
512
  }>, "many">;
@@ -564,15 +564,15 @@ declare const webhookPayloadSchema: z.ZodObject<{
564
564
  pathname: z.ZodString;
565
565
  previousPathname: z.ZodOptional<z.ZodString>;
566
566
  }, "strip", z.ZodTypeAny, {
567
+ pageId: string;
567
568
  pathname: string;
568
569
  locale: string | null;
569
- pageId: string;
570
570
  changeType: "deleted" | "created" | "updated";
571
571
  previousPathname?: string | undefined;
572
572
  }, {
573
+ pageId: string;
573
574
  pathname: string;
574
575
  locale: string | null;
575
- pageId: string;
576
576
  changeType: "deleted" | "created" | "updated";
577
577
  previousPathname?: string | undefined;
578
578
  }>, "many">;
@@ -639,15 +639,15 @@ declare const webhookPayloadSchema: z.ZodObject<{
639
639
  pathname: z.ZodString;
640
640
  previousPathname: z.ZodOptional<z.ZodString>;
641
641
  }, "strip", z.ZodTypeAny, {
642
+ pageId: string;
642
643
  pathname: string;
643
644
  locale: string | null;
644
- pageId: string;
645
645
  changeType: "deleted" | "created" | "updated";
646
646
  previousPathname?: string | undefined;
647
647
  }, {
648
+ pageId: string;
648
649
  pathname: string;
649
650
  locale: string | null;
650
- pageId: string;
651
651
  changeType: "deleted" | "created" | "updated";
652
652
  previousPathname?: string | undefined;
653
653
  }>, "many">;
@@ -725,15 +725,15 @@ declare const webhookPayloadSchema: z.ZodObject<{
725
725
  pathname: z.ZodString;
726
726
  previousPathname: z.ZodOptional<z.ZodString>;
727
727
  }, "strip", z.ZodTypeAny, {
728
+ pageId: string;
728
729
  pathname: string;
729
730
  locale: string | null;
730
- pageId: string;
731
731
  changeType: "deleted" | "created" | "updated";
732
732
  previousPathname?: string | undefined;
733
733
  }, {
734
+ pageId: string;
734
735
  pathname: string;
735
736
  locale: string | null;
736
- pageId: string;
737
737
  changeType: "deleted" | "created" | "updated";
738
738
  previousPathname?: string | undefined;
739
739
  }>, "many">;