@makeswift/runtime 0.23.12 → 0.23.14

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 (567) hide show
  1. package/dist/cjs/api/graphql/fragments.js +40 -0
  2. package/dist/cjs/api/graphql/fragments.js.map +1 -0
  3. package/dist/cjs/api/graphql/types.js +40 -0
  4. package/dist/cjs/api/graphql/types.js.map +1 -0
  5. package/dist/cjs/api/resource-types.js +24 -0
  6. package/dist/cjs/api/resource-types.js.map +1 -0
  7. package/dist/cjs/builder/serialization/controls/combobox.js +45 -0
  8. package/dist/cjs/builder/serialization/controls/combobox.js.map +1 -0
  9. package/dist/cjs/builder/serialization/controls/list.js +50 -0
  10. package/dist/cjs/builder/serialization/controls/list.js.map +1 -0
  11. package/dist/cjs/builder/serialization/controls/rich-text-v2.js +106 -0
  12. package/dist/cjs/builder/serialization/controls/rich-text-v2.js.map +1 -0
  13. package/dist/cjs/builder/serialization/controls/shape.js +54 -0
  14. package/dist/cjs/builder/serialization/controls/shape.js.map +1 -0
  15. package/dist/cjs/builder/serialization/controls/style-v2.js +62 -0
  16. package/dist/cjs/builder/serialization/controls/style-v2.js.map +1 -0
  17. package/dist/cjs/builder/unstructured-introspection/__fixtures__/element-containing-resources.js +899 -0
  18. package/dist/cjs/builder/unstructured-introspection/__fixtures__/element-containing-resources.js.map +1 -0
  19. package/dist/cjs/builder/unstructured-introspection/__fixtures__/index.js +23 -0
  20. package/dist/cjs/builder/unstructured-introspection/__fixtures__/index.js.map +1 -0
  21. package/dist/cjs/builder/unstructured-introspection/index.js +29 -0
  22. package/dist/cjs/builder/unstructured-introspection/index.js.map +1 -0
  23. package/dist/cjs/builder/unstructured-introspection/unstructured-introspection.js +85 -0
  24. package/dist/cjs/builder/unstructured-introspection/unstructured-introspection.js.map +1 -0
  25. package/dist/cjs/components/shared/BackgroundsContainer/components/BackgroundVideo/index.js +1 -0
  26. package/dist/cjs/components/shared/BackgroundsContainer/components/BackgroundVideo/index.js.map +1 -1
  27. package/dist/cjs/controls/checkbox.js +41 -0
  28. package/dist/cjs/controls/checkbox.js.map +1 -0
  29. package/dist/cjs/controls/color.js +55 -0
  30. package/dist/cjs/controls/color.js.map +1 -0
  31. package/dist/cjs/controls/combobox.js +34 -0
  32. package/dist/cjs/controls/combobox.js.map +1 -0
  33. package/dist/cjs/controls/control-data-type-key.js +29 -0
  34. package/dist/cjs/controls/control-data-type-key.js.map +1 -0
  35. package/dist/cjs/controls/icon-radio-group.js +45 -0
  36. package/dist/cjs/controls/icon-radio-group.js.map +1 -0
  37. package/dist/cjs/controls/image.js +34 -0
  38. package/dist/cjs/controls/image.js.map +1 -0
  39. package/dist/cjs/controls/list.js +156 -0
  40. package/dist/cjs/controls/list.js.map +1 -0
  41. package/dist/cjs/controls/number.js +41 -0
  42. package/dist/cjs/controls/number.js.map +1 -0
  43. package/dist/cjs/controls/rich-text/copy.js +121 -0
  44. package/dist/cjs/controls/rich-text/copy.js.map +1 -0
  45. package/dist/cjs/controls/rich-text/dto-types.js +43 -0
  46. package/dist/cjs/controls/rich-text/dto-types.js.map +1 -0
  47. package/dist/cjs/controls/rich-text/dto.js +228 -0
  48. package/dist/cjs/controls/rich-text/dto.js.map +1 -0
  49. package/dist/cjs/controls/rich-text/fixtures/blockquote.js +77 -0
  50. package/dist/cjs/controls/rich-text/fixtures/blockquote.js.map +1 -0
  51. package/dist/cjs/controls/rich-text/fixtures/empty-blocks.js +176 -0
  52. package/dist/cjs/controls/rich-text/fixtures/empty-blocks.js.map +1 -0
  53. package/dist/cjs/controls/rich-text/fixtures/index.js +27 -0
  54. package/dist/cjs/controls/rich-text/fixtures/index.js.map +1 -0
  55. package/dist/cjs/controls/rich-text/fixtures/list.js +137 -0
  56. package/dist/cjs/controls/rich-text/fixtures/list.js.map +1 -0
  57. package/dist/cjs/controls/rich-text/fixtures/typography.js +926 -0
  58. package/dist/cjs/controls/rich-text/fixtures/typography.js.map +1 -0
  59. package/dist/cjs/controls/rich-text/fixtures/v2-data-types.js +114 -0
  60. package/dist/cjs/controls/rich-text/fixtures/v2-data-types.js.map +1 -0
  61. package/dist/cjs/controls/rich-text/introspection.js +104 -0
  62. package/dist/cjs/controls/rich-text/introspection.js.map +1 -0
  63. package/dist/cjs/controls/rich-text-v2/copy.js +115 -0
  64. package/dist/cjs/controls/rich-text-v2/copy.js.map +1 -0
  65. package/dist/cjs/controls/rich-text-v2/dto.js +44 -0
  66. package/dist/cjs/controls/rich-text-v2/dto.js.map +1 -0
  67. package/dist/cjs/controls/rich-text-v2/introspection.js +69 -0
  68. package/dist/cjs/controls/rich-text-v2/introspection.js.map +1 -0
  69. package/dist/cjs/controls/select.js +34 -0
  70. package/dist/cjs/controls/select.js.map +1 -0
  71. package/dist/cjs/controls/shape.js +149 -0
  72. package/dist/cjs/controls/shape.js.map +1 -0
  73. package/dist/cjs/controls/style-v2.js +74 -0
  74. package/dist/cjs/controls/style-v2.js.map +1 -0
  75. package/dist/cjs/controls/style.js +125 -0
  76. package/dist/cjs/controls/style.js.map +1 -0
  77. package/dist/cjs/controls/text-area.js +41 -0
  78. package/dist/cjs/controls/text-area.js.map +1 -0
  79. package/dist/cjs/controls/text-input.js +41 -0
  80. package/dist/cjs/controls/text-input.js.map +1 -0
  81. package/dist/cjs/controls/types.js +17 -0
  82. package/dist/cjs/controls/types.js.map +1 -0
  83. package/dist/cjs/controls/typography.js +47 -0
  84. package/dist/cjs/controls/typography.js.map +1 -0
  85. package/dist/cjs/next/api-handler/handlers/clear-draft.js +64 -0
  86. package/dist/cjs/next/api-handler/handlers/clear-draft.js.map +1 -0
  87. package/dist/cjs/next/api-handler/handlers/manifest.js +1 -1
  88. package/dist/cjs/next/api-handler/handlers/redirect-draft.js +77 -0
  89. package/dist/cjs/next/api-handler/handlers/redirect-draft.js.map +1 -0
  90. package/dist/cjs/next/api-handler/handlers/redirect-preview.js +68 -0
  91. package/dist/cjs/next/api-handler/handlers/redirect-preview.js.map +1 -0
  92. package/dist/cjs/next/api-handler/handlers/utils/draft.js +53 -0
  93. package/dist/cjs/next/api-handler/handlers/utils/draft.js.map +1 -0
  94. package/dist/cjs/next/api-handler/handlers/webhook/site-published.js +2 -4
  95. package/dist/cjs/next/api-handler/handlers/webhook/site-published.js.map +1 -1
  96. package/dist/cjs/next/cache.js +29 -0
  97. package/dist/cjs/next/cache.js.map +1 -0
  98. package/dist/cjs/next/client.js +2 -2
  99. package/dist/cjs/next/client.js.map +1 -1
  100. package/dist/cjs/next/context/makeswift-host-api-client.js +46 -0
  101. package/dist/cjs/next/context/makeswift-host-api-client.js.map +1 -0
  102. package/dist/cjs/next/context/react-runtime.js +44 -0
  103. package/dist/cjs/next/context/react-runtime.js.map +1 -0
  104. package/dist/cjs/next/hooks/use-sync-cache-data.js +41 -0
  105. package/dist/cjs/next/hooks/use-sync-cache-data.js.map +1 -0
  106. package/dist/cjs/prop-controllers/base.js +34 -0
  107. package/dist/cjs/prop-controllers/base.js.map +1 -0
  108. package/dist/cjs/prop-controllers/copy/backgrounds.js +86 -0
  109. package/dist/cjs/prop-controllers/copy/backgrounds.js.map +1 -0
  110. package/dist/cjs/prop-controllers/copy/element-id.js +36 -0
  111. package/dist/cjs/prop-controllers/copy/element-id.js.map +1 -0
  112. package/dist/cjs/prop-controllers/copy/grid.js +36 -0
  113. package/dist/cjs/prop-controllers/copy/grid.js.map +1 -0
  114. package/dist/cjs/prop-controllers/copy/image.js +35 -0
  115. package/dist/cjs/prop-controllers/copy/image.js.map +1 -0
  116. package/dist/cjs/prop-controllers/copy/images.js +49 -0
  117. package/dist/cjs/prop-controllers/copy/images.js.map +1 -0
  118. package/dist/cjs/prop-controllers/copy/navigation-links.js +58 -0
  119. package/dist/cjs/prop-controllers/copy/navigation-links.js.map +1 -0
  120. package/dist/cjs/prop-controllers/copy/rich-text.js +121 -0
  121. package/dist/cjs/prop-controllers/copy/rich-text.js.map +1 -0
  122. package/dist/cjs/prop-controllers/copy/table-form-fields.js +39 -0
  123. package/dist/cjs/prop-controllers/copy/table-form-fields.js.map +1 -0
  124. package/dist/cjs/prop-controllers/copy/table.js +33 -0
  125. package/dist/cjs/prop-controllers/copy/table.js.map +1 -0
  126. package/dist/cjs/runtimes/react/components/DocumentReference.js +42 -0
  127. package/dist/cjs/runtimes/react/components/DocumentReference.js.map +1 -0
  128. package/dist/cjs/runtimes/react/components/draft-switcher/draft-switcher.js +72 -0
  129. package/dist/cjs/runtimes/react/components/draft-switcher/draft-switcher.js.map +1 -0
  130. package/dist/cjs/runtimes/react/components/draft-switcher/draft-toolbar.js +79 -0
  131. package/dist/cjs/runtimes/react/components/draft-switcher/draft-toolbar.js.map +1 -0
  132. package/dist/cjs/runtimes/react/components/hooks/use-builder-connection-ping.js +67 -0
  133. package/dist/cjs/runtimes/react/components/hooks/use-builder-connection-ping.js.map +1 -0
  134. package/dist/cjs/runtimes/react/components/hooks/use-builder-handshake.js +45 -0
  135. package/dist/cjs/runtimes/react/components/hooks/use-builder-handshake.js.map +1 -0
  136. package/dist/cjs/runtimes/react/controls/checkbox.js +34 -0
  137. package/dist/cjs/runtimes/react/controls/checkbox.js.map +1 -0
  138. package/dist/cjs/runtimes/react/controls/color.js +58 -0
  139. package/dist/cjs/runtimes/react/controls/color.js.map +1 -0
  140. package/dist/cjs/runtimes/react/controls/combobox.js +31 -0
  141. package/dist/cjs/runtimes/react/controls/combobox.js.map +1 -0
  142. package/dist/cjs/runtimes/react/controls/icon-radio-group.js +31 -0
  143. package/dist/cjs/runtimes/react/controls/icon-radio-group.js.map +1 -0
  144. package/dist/cjs/runtimes/react/controls/image.js +53 -0
  145. package/dist/cjs/runtimes/react/controls/image.js.map +1 -0
  146. package/dist/cjs/runtimes/react/controls/link.js +110 -0
  147. package/dist/cjs/runtimes/react/controls/link.js.map +1 -0
  148. package/dist/cjs/runtimes/react/controls/list.js +58 -0
  149. package/dist/cjs/runtimes/react/controls/list.js.map +1 -0
  150. package/dist/cjs/runtimes/react/controls/number.js +34 -0
  151. package/dist/cjs/runtimes/react/controls/number.js.map +1 -0
  152. package/dist/cjs/runtimes/react/controls/select.js +31 -0
  153. package/dist/cjs/runtimes/react/controls/select.js.map +1 -0
  154. package/dist/cjs/runtimes/react/controls/shape.js +44 -0
  155. package/dist/cjs/runtimes/react/controls/shape.js.map +1 -0
  156. package/dist/cjs/runtimes/react/controls/style-v2.js +92 -0
  157. package/dist/cjs/runtimes/react/controls/style-v2.js.map +1 -0
  158. package/dist/cjs/runtimes/react/controls/text-area.js +34 -0
  159. package/dist/cjs/runtimes/react/controls/text-area.js.map +1 -0
  160. package/dist/cjs/runtimes/react/controls/text-input.js +34 -0
  161. package/dist/cjs/runtimes/react/controls/text-input.js.map +1 -0
  162. package/dist/cjs/runtimes/react/hooks/use-document-key.js +36 -0
  163. package/dist/cjs/runtimes/react/hooks/use-document-key.js.map +1 -0
  164. package/dist/cjs/runtimes/react/hooks/use-head-marker.js +40 -0
  165. package/dist/cjs/runtimes/react/hooks/use-head-marker.js.map +1 -0
  166. package/dist/cjs/slate/LinkPlugin/linkPluginWithoutRenderElement.js +48 -0
  167. package/dist/cjs/slate/LinkPlugin/linkPluginWithoutRenderElement.js.map +1 -0
  168. package/dist/cjs/state/makeswift-api-client.js +2 -2
  169. package/dist/cjs/state/makeswift-api-client.js.map +1 -1
  170. package/dist/cjs/utils/coalesce.js +33 -0
  171. package/dist/cjs/utils/coalesce.js.map +1 -0
  172. package/dist/cjs/utils/index-signature-hack.js +17 -0
  173. package/dist/cjs/utils/index-signature-hack.js.map +1 -0
  174. package/dist/cjs/utils/shallowMerge.js +44 -0
  175. package/dist/cjs/utils/shallowMerge.js.map +1 -0
  176. package/dist/cjs/utils/tests/breakpoint-test-util.js +35 -0
  177. package/dist/cjs/utils/tests/breakpoint-test-util.js.map +1 -0
  178. package/dist/cjs/utils/tests/element-data-test-test.js +75 -0
  179. package/dist/cjs/utils/tests/element-data-test-test.js.map +1 -0
  180. package/dist/esm/api/graphql/fragments.js +6 -0
  181. package/dist/esm/api/graphql/fragments.js.map +1 -0
  182. package/dist/esm/api/graphql/types.js +16 -0
  183. package/dist/esm/api/graphql/types.js.map +1 -0
  184. package/dist/esm/api/resource-types.js +8 -0
  185. package/dist/esm/api/resource-types.js.map +1 -0
  186. package/dist/esm/builder/serialization/controls/combobox.js +20 -0
  187. package/dist/esm/builder/serialization/controls/combobox.js.map +1 -0
  188. package/dist/esm/builder/serialization/controls/list.js +25 -0
  189. package/dist/esm/builder/serialization/controls/list.js.map +1 -0
  190. package/dist/esm/builder/serialization/controls/rich-text-v2.js +81 -0
  191. package/dist/esm/builder/serialization/controls/rich-text-v2.js.map +1 -0
  192. package/dist/esm/builder/serialization/controls/shape.js +32 -0
  193. package/dist/esm/builder/serialization/controls/shape.js.map +1 -0
  194. package/dist/esm/builder/serialization/controls/style-v2.js +37 -0
  195. package/dist/esm/builder/serialization/controls/style-v2.js.map +1 -0
  196. package/dist/esm/builder/unstructured-introspection/__fixtures__/element-containing-resources.js +875 -0
  197. package/dist/esm/builder/unstructured-introspection/__fixtures__/element-containing-resources.js.map +1 -0
  198. package/dist/esm/builder/unstructured-introspection/__fixtures__/index.js +2 -0
  199. package/dist/esm/builder/unstructured-introspection/__fixtures__/index.js.map +1 -0
  200. package/dist/esm/builder/unstructured-introspection/index.js +5 -0
  201. package/dist/esm/builder/unstructured-introspection/index.js.map +1 -0
  202. package/dist/esm/builder/unstructured-introspection/unstructured-introspection.js +61 -0
  203. package/dist/esm/builder/unstructured-introspection/unstructured-introspection.js.map +1 -0
  204. package/dist/esm/components/shared/BackgroundsContainer/components/BackgroundVideo/index.js +1 -0
  205. package/dist/esm/components/shared/BackgroundsContainer/components/BackgroundVideo/index.js.map +1 -1
  206. package/dist/esm/controls/checkbox.js +14 -0
  207. package/dist/esm/controls/checkbox.js.map +1 -0
  208. package/dist/esm/controls/color.js +27 -0
  209. package/dist/esm/controls/color.js.map +1 -0
  210. package/dist/esm/controls/combobox.js +9 -0
  211. package/dist/esm/controls/combobox.js.map +1 -0
  212. package/dist/esm/controls/control-data-type-key.js +5 -0
  213. package/dist/esm/controls/control-data-type-key.js.map +1 -0
  214. package/dist/esm/controls/icon-radio-group.js +19 -0
  215. package/dist/esm/controls/icon-radio-group.js.map +1 -0
  216. package/dist/esm/controls/image.js +10 -0
  217. package/dist/esm/controls/image.js.map +1 -0
  218. package/dist/esm/controls/list.js +132 -0
  219. package/dist/esm/controls/list.js.map +1 -0
  220. package/dist/esm/controls/number.js +14 -0
  221. package/dist/esm/controls/number.js.map +1 -0
  222. package/dist/esm/controls/rich-text/copy.js +97 -0
  223. package/dist/esm/controls/rich-text/copy.js.map +1 -0
  224. package/dist/esm/controls/rich-text/dto-types.js +19 -0
  225. package/dist/esm/controls/rich-text/dto-types.js.map +1 -0
  226. package/dist/esm/controls/rich-text/dto.js +203 -0
  227. package/dist/esm/controls/rich-text/dto.js.map +1 -0
  228. package/dist/esm/controls/rich-text/fixtures/blockquote.js +53 -0
  229. package/dist/esm/controls/rich-text/fixtures/blockquote.js.map +1 -0
  230. package/dist/esm/controls/rich-text/fixtures/empty-blocks.js +151 -0
  231. package/dist/esm/controls/rich-text/fixtures/empty-blocks.js.map +1 -0
  232. package/dist/esm/controls/rich-text/fixtures/index.js +4 -0
  233. package/dist/esm/controls/rich-text/fixtures/index.js.map +1 -0
  234. package/dist/esm/controls/rich-text/fixtures/list.js +113 -0
  235. package/dist/esm/controls/rich-text/fixtures/list.js.map +1 -0
  236. package/dist/esm/controls/rich-text/fixtures/typography.js +902 -0
  237. package/dist/esm/controls/rich-text/fixtures/typography.js.map +1 -0
  238. package/dist/esm/controls/rich-text/fixtures/v2-data-types.js +90 -0
  239. package/dist/esm/controls/rich-text/fixtures/v2-data-types.js.map +1 -0
  240. package/dist/esm/controls/rich-text/introspection.js +78 -0
  241. package/dist/esm/controls/rich-text/introspection.js.map +1 -0
  242. package/dist/esm/controls/rich-text-v2/copy.js +91 -0
  243. package/dist/esm/controls/rich-text-v2/copy.js.map +1 -0
  244. package/dist/esm/controls/rich-text-v2/dto.js +19 -0
  245. package/dist/esm/controls/rich-text-v2/dto.js.map +1 -0
  246. package/dist/esm/controls/rich-text-v2/introspection.js +43 -0
  247. package/dist/esm/controls/rich-text-v2/introspection.js.map +1 -0
  248. package/dist/esm/controls/select.js +9 -0
  249. package/dist/esm/controls/select.js.map +1 -0
  250. package/dist/esm/controls/shape.js +125 -0
  251. package/dist/esm/controls/shape.js.map +1 -0
  252. package/dist/esm/controls/style-v2.js +48 -0
  253. package/dist/esm/controls/style-v2.js.map +1 -0
  254. package/dist/esm/controls/style.js +95 -0
  255. package/dist/esm/controls/style.js.map +1 -0
  256. package/dist/esm/controls/text-area.js +14 -0
  257. package/dist/esm/controls/text-area.js.map +1 -0
  258. package/dist/esm/controls/text-input.js +14 -0
  259. package/dist/esm/controls/text-input.js.map +1 -0
  260. package/dist/esm/controls/types.js +1 -0
  261. package/dist/esm/controls/types.js.map +1 -0
  262. package/dist/esm/controls/typography.js +20 -0
  263. package/dist/esm/controls/typography.js.map +1 -0
  264. package/dist/esm/next/api-handler/handlers/clear-draft.js +50 -0
  265. package/dist/esm/next/api-handler/handlers/clear-draft.js.map +1 -0
  266. package/dist/esm/next/api-handler/handlers/manifest.js +1 -1
  267. package/dist/esm/next/api-handler/handlers/redirect-draft.js +63 -0
  268. package/dist/esm/next/api-handler/handlers/redirect-draft.js.map +1 -0
  269. package/dist/esm/next/api-handler/handlers/redirect-preview.js +54 -0
  270. package/dist/esm/next/api-handler/handlers/redirect-preview.js.map +1 -0
  271. package/dist/esm/next/api-handler/handlers/utils/draft.js +24 -0
  272. package/dist/esm/next/api-handler/handlers/utils/draft.js.map +1 -0
  273. package/dist/esm/next/api-handler/handlers/webhook/site-published.js +1 -2
  274. package/dist/esm/next/api-handler/handlers/webhook/site-published.js.map +1 -1
  275. package/dist/esm/next/cache.js +5 -0
  276. package/dist/esm/next/cache.js.map +1 -0
  277. package/dist/esm/next/client.js +1 -1
  278. package/dist/esm/next/client.js.map +1 -1
  279. package/dist/esm/next/context/makeswift-host-api-client.js +21 -0
  280. package/dist/esm/next/context/makeswift-host-api-client.js.map +1 -0
  281. package/dist/esm/next/context/react-runtime.js +19 -0
  282. package/dist/esm/next/context/react-runtime.js.map +1 -0
  283. package/dist/esm/next/hooks/use-sync-cache-data.js +17 -0
  284. package/dist/esm/next/hooks/use-sync-cache-data.js.map +1 -0
  285. package/dist/esm/prop-controllers/base.js +10 -0
  286. package/dist/esm/prop-controllers/base.js.map +1 -0
  287. package/dist/esm/prop-controllers/copy/backgrounds.js +62 -0
  288. package/dist/esm/prop-controllers/copy/backgrounds.js.map +1 -0
  289. package/dist/esm/prop-controllers/copy/element-id.js +12 -0
  290. package/dist/esm/prop-controllers/copy/element-id.js.map +1 -0
  291. package/dist/esm/prop-controllers/copy/grid.js +12 -0
  292. package/dist/esm/prop-controllers/copy/grid.js.map +1 -0
  293. package/dist/esm/prop-controllers/copy/image.js +11 -0
  294. package/dist/esm/prop-controllers/copy/image.js.map +1 -0
  295. package/dist/esm/prop-controllers/copy/images.js +25 -0
  296. package/dist/esm/prop-controllers/copy/images.js.map +1 -0
  297. package/dist/esm/prop-controllers/copy/navigation-links.js +34 -0
  298. package/dist/esm/prop-controllers/copy/navigation-links.js.map +1 -0
  299. package/dist/esm/prop-controllers/copy/rich-text.js +97 -0
  300. package/dist/esm/prop-controllers/copy/rich-text.js.map +1 -0
  301. package/dist/esm/prop-controllers/copy/table-form-fields.js +15 -0
  302. package/dist/esm/prop-controllers/copy/table-form-fields.js.map +1 -0
  303. package/dist/esm/prop-controllers/copy/table.js +9 -0
  304. package/dist/esm/prop-controllers/copy/table.js.map +1 -0
  305. package/dist/esm/runtimes/react/components/DocumentReference.js +18 -0
  306. package/dist/esm/runtimes/react/components/DocumentReference.js.map +1 -0
  307. package/dist/esm/runtimes/react/components/draft-switcher/draft-switcher.js +48 -0
  308. package/dist/esm/runtimes/react/components/draft-switcher/draft-switcher.js.map +1 -0
  309. package/dist/esm/runtimes/react/components/draft-switcher/draft-toolbar.js +55 -0
  310. package/dist/esm/runtimes/react/components/draft-switcher/draft-toolbar.js.map +1 -0
  311. package/dist/esm/runtimes/react/components/hooks/use-builder-connection-ping.js +43 -0
  312. package/dist/esm/runtimes/react/components/hooks/use-builder-connection-ping.js.map +1 -0
  313. package/dist/esm/runtimes/react/components/hooks/use-builder-handshake.js +21 -0
  314. package/dist/esm/runtimes/react/components/hooks/use-builder-handshake.js.map +1 -0
  315. package/dist/esm/runtimes/react/controls/checkbox.js +13 -0
  316. package/dist/esm/runtimes/react/controls/checkbox.js.map +1 -0
  317. package/dist/esm/runtimes/react/controls/color.js +24 -0
  318. package/dist/esm/runtimes/react/controls/color.js.map +1 -0
  319. package/dist/esm/runtimes/react/controls/combobox.js +7 -0
  320. package/dist/esm/runtimes/react/controls/combobox.js.map +1 -0
  321. package/dist/esm/runtimes/react/controls/icon-radio-group.js +7 -0
  322. package/dist/esm/runtimes/react/controls/icon-radio-group.js.map +1 -0
  323. package/dist/esm/runtimes/react/controls/image.js +29 -0
  324. package/dist/esm/runtimes/react/controls/image.js.map +1 -0
  325. package/dist/esm/runtimes/react/controls/link.js +76 -0
  326. package/dist/esm/runtimes/react/controls/link.js.map +1 -0
  327. package/dist/esm/runtimes/react/controls/list.js +34 -0
  328. package/dist/esm/runtimes/react/controls/list.js.map +1 -0
  329. package/dist/esm/runtimes/react/controls/number.js +13 -0
  330. package/dist/esm/runtimes/react/controls/number.js.map +1 -0
  331. package/dist/esm/runtimes/react/controls/select.js +7 -0
  332. package/dist/esm/runtimes/react/controls/select.js.map +1 -0
  333. package/dist/esm/runtimes/react/controls/shape.js +20 -0
  334. package/dist/esm/runtimes/react/controls/shape.js.map +1 -0
  335. package/dist/esm/runtimes/react/controls/style-v2.js +72 -0
  336. package/dist/esm/runtimes/react/controls/style-v2.js.map +1 -0
  337. package/dist/esm/runtimes/react/controls/text-area.js +13 -0
  338. package/dist/esm/runtimes/react/controls/text-area.js.map +1 -0
  339. package/dist/esm/runtimes/react/controls/text-input.js +13 -0
  340. package/dist/esm/runtimes/react/controls/text-input.js.map +1 -0
  341. package/dist/esm/runtimes/react/hooks/use-document-key.js +11 -0
  342. package/dist/esm/runtimes/react/hooks/use-document-key.js.map +1 -0
  343. package/dist/esm/runtimes/react/hooks/use-head-marker.js +16 -0
  344. package/dist/esm/runtimes/react/hooks/use-head-marker.js.map +1 -0
  345. package/dist/esm/slate/LinkPlugin/linkPluginWithoutRenderElement.js +24 -0
  346. package/dist/esm/slate/LinkPlugin/linkPluginWithoutRenderElement.js.map +1 -0
  347. package/dist/esm/state/makeswift-api-client.js +1 -1
  348. package/dist/esm/state/makeswift-api-client.js.map +1 -1
  349. package/dist/esm/utils/coalesce.js +13 -0
  350. package/dist/esm/utils/coalesce.js.map +1 -0
  351. package/dist/esm/utils/index-signature-hack.js +1 -0
  352. package/dist/esm/utils/index-signature-hack.js.map +1 -0
  353. package/dist/esm/utils/shallowMerge.js +14 -0
  354. package/dist/esm/utils/shallowMerge.js.map +1 -0
  355. package/dist/esm/utils/tests/breakpoint-test-util.js +9 -0
  356. package/dist/esm/utils/tests/breakpoint-test-util.js.map +1 -0
  357. package/dist/esm/utils/tests/element-data-test-test.js +50 -0
  358. package/dist/esm/utils/tests/element-data-test-test.js.map +1 -0
  359. package/dist/types/api/graphql/fragments.d.ts +4 -0
  360. package/dist/types/api/graphql/fragments.d.ts.map +1 -0
  361. package/dist/types/api/graphql/types.d.ts +8 -0
  362. package/dist/types/api/graphql/types.d.ts.map +1 -0
  363. package/dist/types/api/resource-types.d.ts +20 -0
  364. package/dist/types/api/resource-types.d.ts.map +1 -0
  365. package/dist/types/builder/serialization/controls/combobox.d.ts +5 -0
  366. package/dist/types/builder/serialization/controls/combobox.d.ts.map +1 -0
  367. package/dist/types/builder/serialization/controls/list.d.ts +5 -0
  368. package/dist/types/builder/serialization/controls/list.d.ts.map +1 -0
  369. package/dist/types/builder/serialization/controls/rich-text-v2.d.ts +5 -0
  370. package/dist/types/builder/serialization/controls/rich-text-v2.d.ts.map +1 -0
  371. package/dist/types/builder/serialization/controls/shape.d.ts +5 -0
  372. package/dist/types/builder/serialization/controls/shape.d.ts.map +1 -0
  373. package/dist/types/builder/serialization/controls/style-v2.d.ts +5 -0
  374. package/dist/types/builder/serialization/controls/style-v2.d.ts.map +1 -0
  375. package/dist/types/builder/unstructured-introspection/__fixtures__/element-containing-resources.d.ts +3 -0
  376. package/dist/types/builder/unstructured-introspection/__fixtures__/element-containing-resources.d.ts.map +1 -0
  377. package/dist/types/builder/unstructured-introspection/__fixtures__/index.d.ts +2 -0
  378. package/dist/types/builder/unstructured-introspection/__fixtures__/index.d.ts.map +1 -0
  379. package/dist/types/builder/unstructured-introspection/index.d.ts +2 -0
  380. package/dist/types/builder/unstructured-introspection/index.d.ts.map +1 -0
  381. package/dist/types/builder/unstructured-introspection/unstructured-introspection.d.ts +10 -0
  382. package/dist/types/builder/unstructured-introspection/unstructured-introspection.d.ts.map +1 -0
  383. package/dist/types/builder/unstructured-introspection/unstructured-introspection.test.d.ts +2 -0
  384. package/dist/types/builder/unstructured-introspection/unstructured-introspection.test.d.ts.map +1 -0
  385. package/dist/types/components/shared/BackgroundsContainer/components/BackgroundVideo/index.d.ts.map +1 -1
  386. package/dist/types/controls/checkbox.d.ts +21 -0
  387. package/dist/types/controls/checkbox.d.ts.map +1 -0
  388. package/dist/types/controls/color.d.ts +25 -0
  389. package/dist/types/controls/color.d.ts.map +1 -0
  390. package/dist/types/controls/combobox.d.ts +22 -0
  391. package/dist/types/controls/combobox.d.ts.map +1 -0
  392. package/dist/types/controls/control-data-type-key.d.ts +2 -0
  393. package/dist/types/controls/control-data-type-key.d.ts.map +1 -0
  394. package/dist/types/controls/icon-radio-group.d.ts +32 -0
  395. package/dist/types/controls/icon-radio-group.d.ts.map +1 -0
  396. package/dist/types/controls/image.d.ts +4 -0
  397. package/dist/types/controls/image.d.ts.map +1 -0
  398. package/dist/types/controls/image.test.d.ts +2 -0
  399. package/dist/types/controls/image.test.d.ts.map +1 -0
  400. package/dist/types/controls/link.test.d.ts +2 -0
  401. package/dist/types/controls/link.test.d.ts.map +1 -0
  402. package/dist/types/controls/list.d.ts +78 -0
  403. package/dist/types/controls/list.d.ts.map +1 -0
  404. package/dist/types/controls/number.d.ts +26 -0
  405. package/dist/types/controls/number.d.ts.map +1 -0
  406. package/dist/types/controls/rich-text/__tests__/copy.test.d.ts +2 -0
  407. package/dist/types/controls/rich-text/__tests__/copy.test.d.ts.map +1 -0
  408. package/dist/types/controls/rich-text/__tests__/dto.test.d.ts +2 -0
  409. package/dist/types/controls/rich-text/__tests__/dto.test.d.ts.map +1 -0
  410. package/dist/types/controls/rich-text/__tests__/introspection.test.d.ts +2 -0
  411. package/dist/types/controls/rich-text/__tests__/introspection.test.d.ts.map +1 -0
  412. package/dist/types/controls/rich-text/copy.d.ts +4 -0
  413. package/dist/types/controls/rich-text/copy.d.ts.map +1 -0
  414. package/dist/types/controls/rich-text/dto-types.d.ts +132 -0
  415. package/dist/types/controls/rich-text/dto-types.d.ts.map +1 -0
  416. package/dist/types/controls/rich-text/dto.d.ts +8 -0
  417. package/dist/types/controls/rich-text/dto.d.ts.map +1 -0
  418. package/dist/types/controls/rich-text/fixtures/blockquote.d.ts +3 -0
  419. package/dist/types/controls/rich-text/fixtures/blockquote.d.ts.map +1 -0
  420. package/dist/types/controls/rich-text/fixtures/empty-blocks.d.ts +4 -0
  421. package/dist/types/controls/rich-text/fixtures/empty-blocks.d.ts.map +1 -0
  422. package/dist/types/controls/rich-text/fixtures/index.d.ts +4 -0
  423. package/dist/types/controls/rich-text/fixtures/index.d.ts.map +1 -0
  424. package/dist/types/controls/rich-text/fixtures/list.d.ts +3 -0
  425. package/dist/types/controls/rich-text/fixtures/list.d.ts.map +1 -0
  426. package/dist/types/controls/rich-text/fixtures/typography.d.ts +3 -0
  427. package/dist/types/controls/rich-text/fixtures/typography.d.ts.map +1 -0
  428. package/dist/types/controls/rich-text/fixtures/v2-data-types.d.ts +3 -0
  429. package/dist/types/controls/rich-text/fixtures/v2-data-types.d.ts.map +1 -0
  430. package/dist/types/controls/rich-text/introspection.d.ts +5 -0
  431. package/dist/types/controls/rich-text/introspection.d.ts.map +1 -0
  432. package/dist/types/controls/rich-text-v2/copy.d.ts +4 -0
  433. package/dist/types/controls/rich-text-v2/copy.d.ts.map +1 -0
  434. package/dist/types/controls/rich-text-v2/dto.d.ts +5 -0
  435. package/dist/types/controls/rich-text-v2/dto.d.ts.map +1 -0
  436. package/dist/types/controls/rich-text-v2/introspection.d.ts +5 -0
  437. package/dist/types/controls/rich-text-v2/introspection.d.ts.map +1 -0
  438. package/dist/types/controls/select.d.ts +22 -0
  439. package/dist/types/controls/select.d.ts.map +1 -0
  440. package/dist/types/controls/shape.d.ts +50 -0
  441. package/dist/types/controls/shape.d.ts.map +1 -0
  442. package/dist/types/controls/style-v2.d.ts +64 -0
  443. package/dist/types/controls/style-v2.d.ts.map +1 -0
  444. package/dist/types/controls/style.d.ts +179 -0
  445. package/dist/types/controls/style.d.ts.map +1 -0
  446. package/dist/types/controls/text-area.d.ts +22 -0
  447. package/dist/types/controls/text-area.d.ts.map +1 -0
  448. package/dist/types/controls/text-input.d.ts +22 -0
  449. package/dist/types/controls/text-input.d.ts.map +1 -0
  450. package/dist/types/controls/types.d.ts +14 -0
  451. package/dist/types/controls/types.d.ts.map +1 -0
  452. package/dist/types/controls/typography.d.ts +33 -0
  453. package/dist/types/controls/typography.d.ts.map +1 -0
  454. package/dist/types/locale.d.ts +1 -1
  455. package/dist/types/next/api-handler/handlers/clear-draft.d.ts +20 -0
  456. package/dist/types/next/api-handler/handlers/clear-draft.d.ts.map +1 -0
  457. package/dist/types/next/api-handler/handlers/redirect-draft.d.ts +18 -0
  458. package/dist/types/next/api-handler/handlers/redirect-draft.d.ts.map +1 -0
  459. package/dist/types/next/api-handler/handlers/redirect-preview.d.ts +18 -0
  460. package/dist/types/next/api-handler/handlers/redirect-preview.d.ts.map +1 -0
  461. package/dist/types/next/api-handler/handlers/utils/draft.d.ts +16 -0
  462. package/dist/types/next/api-handler/handlers/utils/draft.d.ts.map +1 -0
  463. package/dist/types/next/api-handler/handlers/webhook/site-published.d.ts +1 -2
  464. package/dist/types/next/api-handler/handlers/webhook/site-published.d.ts.map +1 -1
  465. package/dist/types/next/api-handler/handlers/webhook/types.d.ts +12 -12
  466. package/dist/types/next/cache.d.ts +2 -0
  467. package/dist/types/next/cache.d.ts.map +1 -0
  468. package/dist/types/next/client.d.ts +8 -8
  469. package/dist/types/next/components/tests/controls/color-control.test.d.ts +3 -0
  470. package/dist/types/next/components/tests/controls/color-control.test.d.ts.map +1 -0
  471. package/dist/types/next/components/tests/controls/style-control.test.d.ts +2 -0
  472. package/dist/types/next/components/tests/controls/style-control.test.d.ts.map +1 -0
  473. package/dist/types/next/context/makeswift-host-api-client.d.ts +8 -0
  474. package/dist/types/next/context/makeswift-host-api-client.d.ts.map +1 -0
  475. package/dist/types/next/context/react-runtime.d.ts +8 -0
  476. package/dist/types/next/context/react-runtime.d.ts.map +1 -0
  477. package/dist/types/next/hooks/use-sync-cache-data.d.ts +3 -0
  478. package/dist/types/next/hooks/use-sync-cache-data.d.ts.map +1 -0
  479. package/dist/types/prop-controllers/base.d.ts +7 -0
  480. package/dist/types/prop-controllers/base.d.ts.map +1 -0
  481. package/dist/types/prop-controllers/copy/backgrounds.d.ts +4 -0
  482. package/dist/types/prop-controllers/copy/backgrounds.d.ts.map +1 -0
  483. package/dist/types/prop-controllers/copy/element-id.d.ts +3 -0
  484. package/dist/types/prop-controllers/copy/element-id.d.ts.map +1 -0
  485. package/dist/types/prop-controllers/copy/grid.d.ts +4 -0
  486. package/dist/types/prop-controllers/copy/grid.d.ts.map +1 -0
  487. package/dist/types/prop-controllers/copy/image.d.ts +4 -0
  488. package/dist/types/prop-controllers/copy/image.d.ts.map +1 -0
  489. package/dist/types/prop-controllers/copy/image.test.d.ts +2 -0
  490. package/dist/types/prop-controllers/copy/image.test.d.ts.map +1 -0
  491. package/dist/types/prop-controllers/copy/images.d.ts +4 -0
  492. package/dist/types/prop-controllers/copy/images.d.ts.map +1 -0
  493. package/dist/types/prop-controllers/copy/images.test.d.ts +2 -0
  494. package/dist/types/prop-controllers/copy/images.test.d.ts.map +1 -0
  495. package/dist/types/prop-controllers/copy/navigation-links.d.ts +4 -0
  496. package/dist/types/prop-controllers/copy/navigation-links.d.ts.map +1 -0
  497. package/dist/types/prop-controllers/copy/navigation-links.test.d.ts +2 -0
  498. package/dist/types/prop-controllers/copy/navigation-links.test.d.ts.map +1 -0
  499. package/dist/types/prop-controllers/copy/rich-text.d.ts +4 -0
  500. package/dist/types/prop-controllers/copy/rich-text.d.ts.map +1 -0
  501. package/dist/types/prop-controllers/copy/rich-text.test.d.ts +2 -0
  502. package/dist/types/prop-controllers/copy/rich-text.test.d.ts.map +1 -0
  503. package/dist/types/prop-controllers/copy/table-form-fields.d.ts +4 -0
  504. package/dist/types/prop-controllers/copy/table-form-fields.d.ts.map +1 -0
  505. package/dist/types/prop-controllers/copy/table-form-fields.test.d.ts +2 -0
  506. package/dist/types/prop-controllers/copy/table-form-fields.test.d.ts.map +1 -0
  507. package/dist/types/prop-controllers/copy/table.d.ts +4 -0
  508. package/dist/types/prop-controllers/copy/table.d.ts.map +1 -0
  509. package/dist/types/prop-controllers/copy/table.test.d.ts +2 -0
  510. package/dist/types/prop-controllers/copy/table.test.d.ts.map +1 -0
  511. package/dist/types/runtimes/react/components/DocumentReference.d.ts +9 -0
  512. package/dist/types/runtimes/react/components/DocumentReference.d.ts.map +1 -0
  513. package/dist/types/runtimes/react/components/draft-switcher/draft-switcher.d.ts +4 -0
  514. package/dist/types/runtimes/react/components/draft-switcher/draft-switcher.d.ts.map +1 -0
  515. package/dist/types/runtimes/react/components/draft-switcher/draft-toolbar.d.ts +6 -0
  516. package/dist/types/runtimes/react/components/draft-switcher/draft-toolbar.d.ts.map +1 -0
  517. package/dist/types/runtimes/react/components/hooks/use-builder-connection-ping.d.ts +4 -0
  518. package/dist/types/runtimes/react/components/hooks/use-builder-connection-ping.d.ts.map +1 -0
  519. package/dist/types/runtimes/react/components/hooks/use-builder-handshake.d.ts +4 -0
  520. package/dist/types/runtimes/react/components/hooks/use-builder-handshake.d.ts.map +1 -0
  521. package/dist/types/runtimes/react/controls/checkbox.d.ts +4 -0
  522. package/dist/types/runtimes/react/controls/checkbox.d.ts.map +1 -0
  523. package/dist/types/runtimes/react/controls/color.d.ts +4 -0
  524. package/dist/types/runtimes/react/controls/color.d.ts.map +1 -0
  525. package/dist/types/runtimes/react/controls/combobox.d.ts +4 -0
  526. package/dist/types/runtimes/react/controls/combobox.d.ts.map +1 -0
  527. package/dist/types/runtimes/react/controls/icon-radio-group.d.ts +4 -0
  528. package/dist/types/runtimes/react/controls/icon-radio-group.d.ts.map +1 -0
  529. package/dist/types/runtimes/react/controls/image.d.ts +4 -0
  530. package/dist/types/runtimes/react/controls/image.d.ts.map +1 -0
  531. package/dist/types/runtimes/react/controls/link.d.ts +4 -0
  532. package/dist/types/runtimes/react/controls/link.d.ts.map +1 -0
  533. package/dist/types/runtimes/react/controls/list.d.ts +12 -0
  534. package/dist/types/runtimes/react/controls/list.d.ts.map +1 -0
  535. package/dist/types/runtimes/react/controls/number.d.ts +4 -0
  536. package/dist/types/runtimes/react/controls/number.d.ts.map +1 -0
  537. package/dist/types/runtimes/react/controls/select.d.ts +4 -0
  538. package/dist/types/runtimes/react/controls/select.d.ts.map +1 -0
  539. package/dist/types/runtimes/react/controls/shape.d.ts +12 -0
  540. package/dist/types/runtimes/react/controls/shape.d.ts.map +1 -0
  541. package/dist/types/runtimes/react/controls/style-v2.d.ts +13 -0
  542. package/dist/types/runtimes/react/controls/style-v2.d.ts.map +1 -0
  543. package/dist/types/runtimes/react/controls/text-area.d.ts +4 -0
  544. package/dist/types/runtimes/react/controls/text-area.d.ts.map +1 -0
  545. package/dist/types/runtimes/react/controls/text-input.d.ts +4 -0
  546. package/dist/types/runtimes/react/controls/text-input.d.ts.map +1 -0
  547. package/dist/types/runtimes/react/hooks/use-document-key.d.ts +4 -0
  548. package/dist/types/runtimes/react/hooks/use-document-key.d.ts.map +1 -0
  549. package/dist/types/runtimes/react/hooks/use-head-marker.d.ts +3 -0
  550. package/dist/types/runtimes/react/hooks/use-head-marker.d.ts.map +1 -0
  551. package/dist/types/slate/LinkPlugin/linkPluginWithoutRenderElement.d.ts +16 -0
  552. package/dist/types/slate/LinkPlugin/linkPluginWithoutRenderElement.d.ts.map +1 -0
  553. package/dist/types/state/react-builder-preview.test.d.ts +2 -0
  554. package/dist/types/state/react-builder-preview.test.d.ts.map +1 -0
  555. package/dist/types/state/react-page.test.d.ts +2 -0
  556. package/dist/types/state/react-page.test.d.ts.map +1 -0
  557. package/dist/types/utils/coalesce.d.ts +3 -0
  558. package/dist/types/utils/coalesce.d.ts.map +1 -0
  559. package/dist/types/utils/index-signature-hack.d.ts +4 -0
  560. package/dist/types/utils/index-signature-hack.d.ts.map +1 -0
  561. package/dist/types/utils/shallowMerge.d.ts +2 -0
  562. package/dist/types/utils/shallowMerge.d.ts.map +1 -0
  563. package/dist/types/utils/tests/breakpoint-test-util.d.ts +4 -0
  564. package/dist/types/utils/tests/breakpoint-test-util.d.ts.map +1 -0
  565. package/dist/types/utils/tests/element-data-test-test.d.ts +51 -0
  566. package/dist/types/utils/tests/element-data-test-test.d.ts.map +1 -0
  567. package/package.json +3 -3
@@ -0,0 +1,15 @@
1
+ function copy(value, context) {
2
+ if (value == null)
3
+ return value;
4
+ return { ...value, fields: value.fields.map(copyFormFieldsPanelItem) };
5
+ function copyFormFieldsPanelItem(item) {
6
+ return {
7
+ ...item,
8
+ tableColumnId: context.replacementContext.tableColumnIds.get(item.tableColumnId) ?? item.tableColumnId
9
+ };
10
+ }
11
+ }
12
+ export {
13
+ copy
14
+ };
15
+ //# sourceMappingURL=table-form-fields.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/prop-controllers/copy/table-form-fields.ts"],"sourcesContent":["import { CopyContext } from '../../state/react-page'\nimport { TableFormFieldsValue } from '../descriptors'\n\nexport function copy(\n value: TableFormFieldsValue | undefined,\n context: CopyContext,\n): TableFormFieldsValue | undefined {\n if (value == null) return value\n\n return { ...value, fields: value.fields.map(copyFormFieldsPanelItem) }\n\n function copyFormFieldsPanelItem(item: any): any {\n return {\n ...item,\n tableColumnId:\n context.replacementContext.tableColumnIds.get(item.tableColumnId) ?? item.tableColumnId,\n }\n }\n}\n"],"mappings":"AAGO,SAAS,KACd,OACA,SACkC;AAClC,MAAI,SAAS;AAAM,WAAO;AAE1B,SAAO,EAAE,GAAG,OAAO,QAAQ,MAAM,OAAO,IAAI,uBAAuB,EAAE;AAErE,WAAS,wBAAwB,MAAgB;AAC/C,WAAO;AAAA,MACL,GAAG;AAAA,MACH,eACE,QAAQ,mBAAmB,eAAe,IAAI,KAAK,aAAa,KAAK,KAAK;AAAA,IAC9E;AAAA,EACF;AACF;","names":[]}
@@ -0,0 +1,9 @@
1
+ function copy(value, context) {
2
+ if (value == null)
3
+ return value;
4
+ return context.replacementContext.tableIds.get(value) ?? value;
5
+ }
6
+ export {
7
+ copy
8
+ };
9
+ //# sourceMappingURL=table.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/prop-controllers/copy/table.ts"],"sourcesContent":["import { CopyContext } from '../../state/react-page'\nimport { TableValue } from '../descriptors'\n\nexport function copy(value: TableValue | undefined, context: CopyContext): TableValue | undefined {\n if (value == null) return value\n\n return context.replacementContext.tableIds.get(value) ?? value\n}\n"],"mappings":"AAGO,SAAS,KAAK,OAA+B,SAA8C;AAChG,MAAI,SAAS;AAAM,WAAO;AAE1B,SAAO,QAAQ,mBAAmB,SAAS,IAAI,KAAK,KAAK;AAC3D;","names":[]}
@@ -0,0 +1,18 @@
1
+ import { jsx } from "react/jsx-runtime";
2
+ import { forwardRef, memo } from "react";
3
+ import { useDocument } from "../hooks/use-document";
4
+ import { FallbackComponent } from "../../../components/shared/FallbackComponent";
5
+ import { Document } from "./Document";
6
+ const DocumentReference = memo(
7
+ forwardRef(function DocumentReference2({ documentReference }, ref) {
8
+ const document = useDocument(documentReference.key);
9
+ if (document == null) {
10
+ return /* @__PURE__ */ jsx(FallbackComponent, { ref, text: "Document not found" });
11
+ }
12
+ return /* @__PURE__ */ jsx(Document, { ref, document });
13
+ })
14
+ );
15
+ export {
16
+ DocumentReference
17
+ };
18
+ //# sourceMappingURL=DocumentReference.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../src/runtimes/react/components/DocumentReference.tsx"],"sourcesContent":["import { Ref, forwardRef, memo } from 'react'\nimport { DocumentReference as ReactPageDocumentReference } from '../../../state/react-page'\nimport { ElementImperativeHandle } from '../element-imperative-handle'\nimport { useDocument } from '../hooks/use-document'\nimport { FallbackComponent } from '../../../components/shared/FallbackComponent'\nimport { Document } from './Document'\n\ntype DocumentReferenceProps = {\n documentReference: ReactPageDocumentReference\n}\n\nexport const DocumentReference = memo(\n forwardRef(function DocumentReference(\n { documentReference }: DocumentReferenceProps,\n ref: Ref<ElementImperativeHandle>,\n ): JSX.Element {\n const document = useDocument(documentReference.key)\n\n if (document == null) {\n return <FallbackComponent ref={ref as Ref<HTMLDivElement>} text=\"Document not found\" />\n }\n\n return <Document ref={ref} document={document} />\n }),\n)\n"],"mappings":"AAmBa;AAnBb,SAAc,YAAY,YAAY;AAGtC,SAAS,mBAAmB;AAC5B,SAAS,yBAAyB;AAClC,SAAS,gBAAgB;AAMlB,MAAM,oBAAoB;AAAA,EAC/B,WAAW,SAASA,mBAClB,EAAE,kBAAkB,GACpB,KACa;AACb,UAAM,WAAW,YAAY,kBAAkB,GAAG;AAElD,QAAI,YAAY,MAAM;AACpB,aAAO,oBAAC,qBAAkB,KAAiC,MAAK,sBAAqB;AAAA,IACvF;AAEA,WAAO,oBAAC,YAAS,KAAU,UAAoB;AAAA,EACjD,CAAC;AACH;","names":["DocumentReference"]}
@@ -0,0 +1,48 @@
1
+ import { Fragment, jsx, jsxs } from "react/jsx-runtime";
2
+ import { useEffect, useRef, useState } from "react";
3
+ import { createPortal } from "react-dom";
4
+ import { useIsInBuilder } from "../../hooks/use-is-in-builder";
5
+ import { DraftToolbar } from "./draft-toolbar";
6
+ const ClearDraftModeRequestPath = "/api/makeswift/clear-draft";
7
+ async function exitDraftMode() {
8
+ try {
9
+ await fetch(ClearDraftModeRequestPath);
10
+ window.location.reload();
11
+ } catch (err) {
12
+ console.error("Could not clear Makeswift cookies. Please report this error to your developer.");
13
+ console.error(err);
14
+ }
15
+ }
16
+ function DraftSwitcher({ isDraft }) {
17
+ const shadowContainerRef = useRef(null);
18
+ const [shadowRoot, setShadowRoot] = useState(null);
19
+ const isInBuilder = useIsInBuilder();
20
+ const showToolbar = !isInBuilder && isDraft;
21
+ useEffect(() => {
22
+ if (!showToolbar)
23
+ return;
24
+ if (shadowContainerRef.current && shadowContainerRef.current.shadowRoot == null && shadowRoot == null) {
25
+ const root = shadowContainerRef.current.attachShadow({ mode: "open" });
26
+ setShadowRoot(root);
27
+ }
28
+ }, [showToolbar, shadowRoot, setShadowRoot]);
29
+ if (!showToolbar)
30
+ return null;
31
+ return /* @__PURE__ */ jsxs(Fragment, { children: [
32
+ showToolbar && /* @__PURE__ */ jsx("span", { id: "makeswift-draft-switcher", ref: shadowContainerRef, children: shadowRoot ? createPortal(/* @__PURE__ */ jsx(DraftToolbar, { onExitDraft: exitDraftMode }), shadowRoot) : null }),
33
+ /* @__PURE__ */ jsx(
34
+ "script",
35
+ {
36
+ type: "application/json",
37
+ id: "makeswift-draft-info",
38
+ dangerouslySetInnerHTML: {
39
+ __html: JSON.stringify({ draft: isDraft, inBuilder: isInBuilder })
40
+ }
41
+ }
42
+ )
43
+ ] });
44
+ }
45
+ export {
46
+ DraftSwitcher
47
+ };
48
+ //# sourceMappingURL=draft-switcher.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../../src/runtimes/react/components/draft-switcher/draft-switcher.tsx"],"sourcesContent":["import { useEffect, useRef, useState } from 'react'\nimport { createPortal } from 'react-dom'\n\nimport { useIsInBuilder } from '../../hooks/use-is-in-builder'\nimport { DraftToolbar } from './draft-toolbar'\n\nconst ClearDraftModeRequestPath = '/api/makeswift/clear-draft'\n\nasync function exitDraftMode() {\n try {\n await fetch(ClearDraftModeRequestPath)\n window.location.reload()\n } catch (err) {\n console.error('Could not clear Makeswift cookies. Please report this error to your developer.')\n console.error(err)\n }\n}\n\nexport function DraftSwitcher({ isDraft }: { isDraft: boolean }) {\n const shadowContainerRef = useRef<HTMLSpanElement | null>(null)\n const [shadowRoot, setShadowRoot] = useState<ShadowRoot | null>(null)\n const isInBuilder = useIsInBuilder()\n\n const showToolbar = !isInBuilder && isDraft\n\n useEffect(() => {\n if (!showToolbar) return\n if (\n shadowContainerRef.current &&\n shadowContainerRef.current.shadowRoot == null &&\n shadowRoot == null\n ) {\n const root = shadowContainerRef.current.attachShadow({ mode: 'open' })\n setShadowRoot(root)\n }\n }, [showToolbar, shadowRoot, setShadowRoot])\n\n if (!showToolbar) return null\n\n return (\n <>\n {showToolbar && (\n <span id=\"makeswift-draft-switcher\" ref={shadowContainerRef}>\n {shadowRoot\n ? createPortal(<DraftToolbar onExitDraft={exitDraftMode} />, shadowRoot)\n : null}\n </span>\n )}\n <script\n type=\"application/json\"\n id=\"makeswift-draft-info\"\n dangerouslySetInnerHTML={{\n __html: JSON.stringify({ draft: isDraft, inBuilder: isInBuilder }),\n }}\n />\n </>\n )\n}\n"],"mappings":"AAwCI,mBAIuB,KAJvB;AAxCJ,SAAS,WAAW,QAAQ,gBAAgB;AAC5C,SAAS,oBAAoB;AAE7B,SAAS,sBAAsB;AAC/B,SAAS,oBAAoB;AAE7B,MAAM,4BAA4B;AAElC,eAAe,gBAAgB;AAC7B,MAAI;AACF,UAAM,MAAM,yBAAyB;AACrC,WAAO,SAAS,OAAO;AAAA,EACzB,SAAS,KAAK;AACZ,YAAQ,MAAM,gFAAgF;AAC9F,YAAQ,MAAM,GAAG;AAAA,EACnB;AACF;AAEO,SAAS,cAAc,EAAE,QAAQ,GAAyB;AAC/D,QAAM,qBAAqB,OAA+B,IAAI;AAC9D,QAAM,CAAC,YAAY,aAAa,IAAI,SAA4B,IAAI;AACpE,QAAM,cAAc,eAAe;AAEnC,QAAM,cAAc,CAAC,eAAe;AAEpC,YAAU,MAAM;AACd,QAAI,CAAC;AAAa;AAClB,QACE,mBAAmB,WACnB,mBAAmB,QAAQ,cAAc,QACzC,cAAc,MACd;AACA,YAAM,OAAO,mBAAmB,QAAQ,aAAa,EAAE,MAAM,OAAO,CAAC;AACrE,oBAAc,IAAI;AAAA,IACpB;AAAA,EACF,GAAG,CAAC,aAAa,YAAY,aAAa,CAAC;AAE3C,MAAI,CAAC;AAAa,WAAO;AAEzB,SACE,iCACG;AAAA,mBACC,oBAAC,UAAK,IAAG,4BAA2B,KAAK,oBACtC,uBACG,aAAa,oBAAC,gBAAa,aAAa,eAAe,GAAI,UAAU,IACrE,MACN;AAAA,IAEF;AAAA,MAAC;AAAA;AAAA,QACC,MAAK;AAAA,QACL,IAAG;AAAA,QACH,yBAAyB;AAAA,UACvB,QAAQ,KAAK,UAAU,EAAE,OAAO,SAAS,WAAW,YAAY,CAAC;AAAA,QACnE;AAAA;AAAA,IACF;AAAA,KACF;AAEJ;","names":[]}
@@ -0,0 +1,55 @@
1
+ import { Fragment, jsx, jsxs } from "react/jsx-runtime";
2
+ const makeswiftIcon = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACIAAAAiCAYAAAA6RwvCAAAACXBIWXMAABcRAAAXEQHKJvM/AAABjElEQVRYhc2XzU3EMBCFB8TddAAXn6EE6GCpgNABZ1/IXnymBOgAOmA7YM8+ABVsXEHQQFaKQryeN3Yk3ilKJtEnv/nLUd/3pFG0riGi88yrnQn+UfJ5FUi0riWiB2H4nQn+KRd0DFP8agXEfkqCYJBoHdtxIQxfm+DfFgEhoith3NYE30o/qgGR2BJB+xY7kdYEL8oNFUi0jiFMJuxVWrJqEMFxsyUNCsE6AeNztvBp7aJ143vXksoRnwhYtmNdSoIQa6RlO9YXEWW7KgoCleOgxgTf1QZBT+RZ2lXFING6UxCCq+ceeUE8fYdknY599v9sJvzGBP+yCEgC7GPmETc0OJ+0awAlkhe2pAbIXAeFZ8xe2g2Nk3c3ub0xwWt6zY9qbmiqGVMbZK21ZC/YmhlbeBMTzZNDQqcvDb1kM1x32iqZSt1HaqukfKvq34BAOTLsrH+ETNmUkKHHA+428RgeclPVWozeSyAI2EdWB34jtqXNTAySOY3i/KgFIlqOa4GkFmBegorzg4joG07he/M7zl6jAAAAAElFTkSuQmCC";
3
+ const styles = `
4
+ .exit-preview-container {
5
+ position: fixed;
6
+ bottom: 16px;
7
+ right: 16px;
8
+ z-index: 2147483647;
9
+ }
10
+
11
+ .exit-preview-button {
12
+ background: #2e2e2e;
13
+ padding: 10px 18px 10px 14px;
14
+ border: 0px;
15
+ border-radius: 32px;
16
+ color: #efefef;
17
+ box-shadow:
18
+ 0 11px 40px 0 rgba(0, 0, 0, 0.25),
19
+ 0 2px 10px 0 rgba(0, 0, 0, 0.12);
20
+ transition: 150ms;
21
+
22
+ font-family: system-ui, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif, 'Apple Color Emoji',
23
+ 'Segoe UI Emoji';
24
+ font-size: 14px;
25
+ cursor: pointer;
26
+
27
+ display: flex;
28
+ align-items: center;
29
+ gap: 6px;
30
+ }
31
+
32
+ .exit-preview-button > .label {
33
+ transform: translateY(-1px);
34
+ }
35
+
36
+ .exit-preview-container:hover > .exit-preview-button {
37
+ transform: translateY(-2px);
38
+ box-shadow:
39
+ 0 15px 40px 0 rgba(0, 0, 0, 0.3),
40
+ 0 6px 10px 0 rgba(0, 0, 0, 0.15);
41
+ }
42
+ `;
43
+ function DraftToolbar({ onExitDraft }) {
44
+ return /* @__PURE__ */ jsxs(Fragment, { children: [
45
+ /* @__PURE__ */ jsx("style", { dangerouslySetInnerHTML: { __html: styles } }),
46
+ /* @__PURE__ */ jsx("div", { className: "exit-preview-container", children: /* @__PURE__ */ jsxs("button", { className: "exit-preview-button", onClick: onExitDraft, children: [
47
+ /* @__PURE__ */ jsx("img", { src: makeswiftIcon, alt: "Makeswift Logo", width: 18, height: 18 }),
48
+ /* @__PURE__ */ jsx("span", { className: "label", children: "Exit Preview" })
49
+ ] }) })
50
+ ] });
51
+ }
52
+ export {
53
+ DraftToolbar
54
+ };
55
+ //# sourceMappingURL=draft-toolbar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../../src/runtimes/react/components/draft-switcher/draft-toolbar.tsx"],"sourcesContent":["const makeswiftIcon =\n 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACIAAAAiCAYAAAA6RwvCAAAACXBIWXMAABcRAAAXEQHKJvM/AAABjElEQVRYhc2XzU3EMBCFB8TddAAXn6EE6GCpgNABZ1/IXnymBOgAOmA7YM8+ABVsXEHQQFaKQryeN3Yk3ilKJtEnv/nLUd/3pFG0riGi88yrnQn+UfJ5FUi0riWiB2H4nQn+KRd0DFP8agXEfkqCYJBoHdtxIQxfm+DfFgEhoith3NYE30o/qgGR2BJB+xY7kdYEL8oNFUi0jiFMJuxVWrJqEMFxsyUNCsE6AeNztvBp7aJ143vXksoRnwhYtmNdSoIQa6RlO9YXEWW7KgoCleOgxgTf1QZBT+RZ2lXFING6UxCCq+ceeUE8fYdknY599v9sJvzGBP+yCEgC7GPmETc0OJ+0awAlkhe2pAbIXAeFZ8xe2g2Nk3c3ub0xwWt6zY9qbmiqGVMbZK21ZC/YmhlbeBMTzZNDQqcvDb1kM1x32iqZSt1HaqukfKvq34BAOTLsrH+ETNmUkKHHA+428RgeclPVWozeSyAI2EdWB34jtqXNTAySOY3i/KgFIlqOa4GkFmBegorzg4joG07he/M7zl6jAAAAAElFTkSuQmCC'\n\nconst styles = `\n.exit-preview-container {\n position: fixed;\n bottom: 16px;\n right: 16px;\n z-index: 2147483647;\n}\n\n.exit-preview-button {\n background: #2e2e2e;\n padding: 10px 18px 10px 14px;\n border: 0px;\n border-radius: 32px;\n color: #efefef;\n box-shadow:\n 0 11px 40px 0 rgba(0, 0, 0, 0.25),\n 0 2px 10px 0 rgba(0, 0, 0, 0.12);\n transition: 150ms;\n\n font-family: system-ui, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif, 'Apple Color Emoji',\n 'Segoe UI Emoji';\n font-size: 14px;\n cursor: pointer;\n\n display: flex;\n align-items: center;\n gap: 6px;\n}\n\n.exit-preview-button > .label {\n transform: translateY(-1px);\n}\n\n.exit-preview-container:hover > .exit-preview-button {\n transform: translateY(-2px);\n box-shadow:\n 0 15px 40px 0 rgba(0, 0, 0, 0.3),\n 0 6px 10px 0 rgba(0, 0, 0, 0.15);\n}\n`\n\ntype Props = {\n onExitDraft: () => void\n}\n\nexport function DraftToolbar({ onExitDraft }: Props) {\n return (\n <>\n <style dangerouslySetInnerHTML={{ __html: styles }} />\n <div className=\"exit-preview-container\">\n <button className=\"exit-preview-button\" onClick={onExitDraft}>\n <img src={makeswiftIcon} alt=\"Makeswift Logo\" width={18} height={18} />\n <span className=\"label\">Exit Preview</span>\n </button>\n </div>\n </>\n )\n}\n"],"mappings":"AAkDI,mBACE,KAEE,YAHJ;AAlDJ,MAAM,gBACJ;AAEF,MAAM,SAAS;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AA6CR,SAAS,aAAa,EAAE,YAAY,GAAU;AACnD,SACE,iCACE;AAAA,wBAAC,WAAM,yBAAyB,EAAE,QAAQ,OAAO,GAAG;AAAA,IACpD,oBAAC,SAAI,WAAU,0BACb,+BAAC,YAAO,WAAU,uBAAsB,SAAS,aAC/C;AAAA,0BAAC,SAAI,KAAK,eAAe,KAAI,kBAAiB,OAAO,IAAI,QAAQ,IAAI;AAAA,MACrE,oBAAC,UAAK,WAAU,SAAQ,0BAAY;AAAA,OACtC,GACF;AAAA,KACF;AAEJ;","names":[]}
@@ -0,0 +1,43 @@
1
+ import { useEffect } from "react";
2
+ import { ActionTypes } from "../../../../react";
3
+ const CONNECTION_PING_INTERVAL_MS = 20;
4
+ function useBuilderConnectionPing({ appOrigin }) {
5
+ useEffect(() => {
6
+ let connectionInterval;
7
+ if (window.parent !== window) {
8
+ window.addEventListener("message", messageHandler);
9
+ window.parent.postMessage(
10
+ { type: ActionTypes.MAKESWIFT_CONNECTION_INIT },
11
+ { targetOrigin: appOrigin }
12
+ );
13
+ }
14
+ return () => {
15
+ window.removeEventListener("message", messageHandler);
16
+ if (connectionInterval != null) {
17
+ window.clearInterval(connectionInterval);
18
+ connectionInterval = null;
19
+ }
20
+ };
21
+ function messageHandler(event) {
22
+ if (event.origin === appOrigin && event.data.type === ActionTypes.MAKESWIFT_CONNECTION_INIT) {
23
+ if (connectionInterval != null) {
24
+ window.clearInterval(connectionInterval);
25
+ connectionInterval = null;
26
+ }
27
+ connectionInterval = window.setInterval(() => {
28
+ window.parent.postMessage(
29
+ {
30
+ type: ActionTypes.MAKESWIFT_CONNECTION_CHECK,
31
+ payload: { currentUrl: window.location.href }
32
+ },
33
+ { targetOrigin: appOrigin }
34
+ );
35
+ }, CONNECTION_PING_INTERVAL_MS);
36
+ }
37
+ }
38
+ }, [appOrigin]);
39
+ }
40
+ export {
41
+ useBuilderConnectionPing
42
+ };
43
+ //# sourceMappingURL=use-builder-connection-ping.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../../src/runtimes/react/components/hooks/use-builder-connection-ping.ts"],"sourcesContent":["import { useEffect } from 'react'\nimport { ActionTypes } from '../../../../react'\n\nconst CONNECTION_PING_INTERVAL_MS = 20\n\nexport function useBuilderConnectionPing({ appOrigin }: { appOrigin: string }) {\n useEffect(() => {\n let connectionInterval: number | null\n\n if (window.parent !== window) {\n window.addEventListener('message', messageHandler)\n window.parent.postMessage(\n { type: ActionTypes.MAKESWIFT_CONNECTION_INIT },\n { targetOrigin: appOrigin },\n )\n }\n\n return () => {\n window.removeEventListener('message', messageHandler)\n if (connectionInterval != null) {\n window.clearInterval(connectionInterval)\n connectionInterval = null\n }\n }\n\n function messageHandler(event: MessageEvent): void {\n if (event.origin === appOrigin && event.data.type === ActionTypes.MAKESWIFT_CONNECTION_INIT) {\n if (connectionInterval != null) {\n window.clearInterval(connectionInterval)\n connectionInterval = null\n }\n\n connectionInterval = window.setInterval(() => {\n window.parent.postMessage(\n {\n type: ActionTypes.MAKESWIFT_CONNECTION_CHECK,\n payload: { currentUrl: window.location.href },\n },\n { targetOrigin: appOrigin },\n )\n }, CONNECTION_PING_INTERVAL_MS)\n }\n }\n }, [appOrigin])\n}\n"],"mappings":"AAAA,SAAS,iBAAiB;AAC1B,SAAS,mBAAmB;AAE5B,MAAM,8BAA8B;AAE7B,SAAS,yBAAyB,EAAE,UAAU,GAA0B;AAC7E,YAAU,MAAM;AACd,QAAI;AAEJ,QAAI,OAAO,WAAW,QAAQ;AAC5B,aAAO,iBAAiB,WAAW,cAAc;AACjD,aAAO,OAAO;AAAA,QACZ,EAAE,MAAM,YAAY,0BAA0B;AAAA,QAC9C,EAAE,cAAc,UAAU;AAAA,MAC5B;AAAA,IACF;AAEA,WAAO,MAAM;AACX,aAAO,oBAAoB,WAAW,cAAc;AACpD,UAAI,sBAAsB,MAAM;AAC9B,eAAO,cAAc,kBAAkB;AACvC,6BAAqB;AAAA,MACvB;AAAA,IACF;AAEA,aAAS,eAAe,OAA2B;AACjD,UAAI,MAAM,WAAW,aAAa,MAAM,KAAK,SAAS,YAAY,2BAA2B;AAC3F,YAAI,sBAAsB,MAAM;AAC9B,iBAAO,cAAc,kBAAkB;AACvC,+BAAqB;AAAA,QACvB;AAEA,6BAAqB,OAAO,YAAY,MAAM;AAC5C,iBAAO,OAAO;AAAA,YACZ;AAAA,cACE,MAAM,YAAY;AAAA,cAClB,SAAS,EAAE,YAAY,OAAO,SAAS,KAAK;AAAA,YAC9C;AAAA,YACA,EAAE,cAAc,UAAU;AAAA,UAC5B;AAAA,QACF,GAAG,2BAA2B;AAAA,MAChC;AAAA,IACF;AAAA,EACF,GAAG,CAAC,SAAS,CAAC;AAChB;","names":[]}
@@ -0,0 +1,21 @@
1
+ import { useEffect, useMemo } from "react";
2
+ import { useIsPagesRouter } from "../../../../next/hooks/use-is-pages-router";
3
+ const PAGES_ROUTER_HANDSHAKE_MESSAGE = "makeswift_preview_mode";
4
+ const APP_ROUTER_HANDSHAKE_MESSAGE = "makeswift_draft_mode";
5
+ function useBuilderHandshake({ appOrigin }) {
6
+ const isPagesRouter = useIsPagesRouter();
7
+ const handshakeInitiationMessage = useMemo(() => {
8
+ if (isPagesRouter)
9
+ return PAGES_ROUTER_HANDSHAKE_MESSAGE;
10
+ return APP_ROUTER_HANDSHAKE_MESSAGE;
11
+ }, [isPagesRouter]);
12
+ useEffect(() => {
13
+ if (window.parent !== window) {
14
+ window.parent.postMessage({ type: handshakeInitiationMessage }, { targetOrigin: appOrigin });
15
+ }
16
+ }, [appOrigin, handshakeInitiationMessage]);
17
+ }
18
+ export {
19
+ useBuilderHandshake
20
+ };
21
+ //# sourceMappingURL=use-builder-handshake.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../../src/runtimes/react/components/hooks/use-builder-handshake.ts"],"sourcesContent":["import { useEffect, useMemo } from 'react'\nimport { useIsPagesRouter } from '../../../../next/hooks/use-is-pages-router'\n\nconst PAGES_ROUTER_HANDSHAKE_MESSAGE = 'makeswift_preview_mode'\nconst APP_ROUTER_HANDSHAKE_MESSAGE = 'makeswift_draft_mode'\n\nexport function useBuilderHandshake({ appOrigin }: { appOrigin: string }) {\n const isPagesRouter = useIsPagesRouter()\n\n const handshakeInitiationMessage = useMemo(() => {\n if (isPagesRouter) return PAGES_ROUTER_HANDSHAKE_MESSAGE\n return APP_ROUTER_HANDSHAKE_MESSAGE\n }, [isPagesRouter])\n\n useEffect(() => {\n if (window.parent !== window) {\n window.parent.postMessage({ type: handshakeInitiationMessage }, { targetOrigin: appOrigin })\n }\n }, [appOrigin, handshakeInitiationMessage])\n}\n"],"mappings":"AAAA,SAAS,WAAW,eAAe;AACnC,SAAS,wBAAwB;AAEjC,MAAM,iCAAiC;AACvC,MAAM,+BAA+B;AAE9B,SAAS,oBAAoB,EAAE,UAAU,GAA0B;AACxE,QAAM,gBAAgB,iBAAiB;AAEvC,QAAM,6BAA6B,QAAQ,MAAM;AAC/C,QAAI;AAAe,aAAO;AAC1B,WAAO;AAAA,EACT,GAAG,CAAC,aAAa,CAAC;AAElB,YAAU,MAAM;AACd,QAAI,OAAO,WAAW,QAAQ;AAC5B,aAAO,OAAO,YAAY,EAAE,MAAM,2BAA2B,GAAG,EAAE,cAAc,UAAU,CAAC;AAAA,IAC7F;AAAA,EACF,GAAG,CAAC,WAAW,0BAA0B,CAAC;AAC5C;","names":[]}
@@ -0,0 +1,13 @@
1
+ import { match } from "ts-pattern";
2
+ import {
3
+ CheckboxControlDataTypeKey,
4
+ CheckboxControlDataTypeValueV1
5
+ } from "@makeswift/controls";
6
+ function useCheckboxControlValue(data, definition) {
7
+ const value = match(data).with({ [CheckboxControlDataTypeKey]: CheckboxControlDataTypeValueV1 }, (val) => val.value).otherwise((val) => val) ?? definition.config.defaultValue;
8
+ return value;
9
+ }
10
+ export {
11
+ useCheckboxControlValue
12
+ };
13
+ //# sourceMappingURL=checkbox.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../src/runtimes/react/controls/checkbox.ts"],"sourcesContent":["import { match } from 'ts-pattern'\nimport {\n CheckboxControlData,\n CheckboxControlDataTypeKey,\n CheckboxControlDataTypeValueV1,\n CheckboxControlDefinition,\n} from '@makeswift/controls'\n\nexport type CheckboxControlValue<T extends CheckboxControlDefinition> =\n undefined extends T['config']['defaultValue'] ? boolean | undefined : boolean\n\nexport function useCheckboxControlValue<T extends CheckboxControlDefinition>(\n data: CheckboxControlData | undefined,\n definition: T,\n): CheckboxControlValue<T> {\n const value: boolean | undefined =\n match(data)\n .with({ [CheckboxControlDataTypeKey]: CheckboxControlDataTypeValueV1 }, val => val.value)\n .otherwise(val => val) ?? definition.config.defaultValue\n\n return value as CheckboxControlValue<T>\n}\n"],"mappings":"AAAA,SAAS,aAAa;AACtB;AAAA,EAEE;AAAA,EACA;AAAA,OAEK;AAKA,SAAS,wBACd,MACA,YACyB;AACzB,QAAM,QACJ,MAAM,IAAI,EACP,KAAK,EAAE,CAAC,0BAA0B,GAAG,+BAA+B,GAAG,SAAO,IAAI,KAAK,EACvF,UAAU,SAAO,GAAG,KAAK,WAAW,OAAO;AAEhD,SAAO;AACT;","names":[]}
@@ -0,0 +1,24 @@
1
+ import Color from "color";
2
+ import { useSwatch } from "../hooks/makeswift-api";
3
+ function useColorValue(data, definition) {
4
+ const swatchId = data?.swatchId ?? null;
5
+ const swatch = useSwatch(swatchId);
6
+ const alpha = data?.alpha ?? 1;
7
+ if (swatch == null) {
8
+ const { defaultValue } = definition.config;
9
+ if (defaultValue === void 0)
10
+ return void 0;
11
+ let defaultColor;
12
+ try {
13
+ defaultColor = Color(definition.config.defaultValue);
14
+ } catch {
15
+ defaultColor = Color();
16
+ }
17
+ return defaultColor.rgb().string();
18
+ }
19
+ return Color({ h: swatch.hue, s: swatch.saturation, l: swatch.lightness }).alpha(alpha).rgb().string();
20
+ }
21
+ export {
22
+ useColorValue
23
+ };
24
+ //# sourceMappingURL=color.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../src/runtimes/react/controls/color.ts"],"sourcesContent":["import Color from 'color'\n\nimport { type DataType, type ResolvedValueType } from '@makeswift/controls'\n\nimport { ColorDefinition } from '../../../controls'\n\nimport { useSwatch } from '../hooks/makeswift-api'\n\nexport function useColorValue(\n data: DataType<ColorDefinition> | undefined,\n definition: ColorDefinition,\n): ResolvedValueType<ColorDefinition> {\n const swatchId = data?.swatchId ?? null\n const swatch = useSwatch(swatchId)\n const alpha = data?.alpha ?? 1\n\n if (swatch == null) {\n const { defaultValue } = definition.config\n\n if (defaultValue === undefined) return undefined\n\n let defaultColor\n try {\n defaultColor = Color(definition.config.defaultValue)\n } catch {\n defaultColor = Color()\n }\n\n return defaultColor.rgb().string()\n }\n\n return Color({ h: swatch.hue, s: swatch.saturation, l: swatch.lightness })\n .alpha(alpha)\n .rgb()\n .string()\n}\n"],"mappings":"AAAA,OAAO,WAAW;AAMlB,SAAS,iBAAiB;AAEnB,SAAS,cACd,MACA,YACoC;AACpC,QAAM,WAAW,MAAM,YAAY;AACnC,QAAM,SAAS,UAAU,QAAQ;AACjC,QAAM,QAAQ,MAAM,SAAS;AAE7B,MAAI,UAAU,MAAM;AAClB,UAAM,EAAE,aAAa,IAAI,WAAW;AAEpC,QAAI,iBAAiB;AAAW,aAAO;AAEvC,QAAI;AACJ,QAAI;AACF,qBAAe,MAAM,WAAW,OAAO,YAAY;AAAA,IACrD,QAAQ;AACN,qBAAe,MAAM;AAAA,IACvB;AAEA,WAAO,aAAa,IAAI,EAAE,OAAO;AAAA,EACnC;AAEA,SAAO,MAAM,EAAE,GAAG,OAAO,KAAK,GAAG,OAAO,YAAY,GAAG,OAAO,UAAU,CAAC,EACtE,MAAM,KAAK,EACX,IAAI,EACJ,OAAO;AACZ;","names":[]}
@@ -0,0 +1,7 @@
1
+ function useComboboxControlValue(data) {
2
+ return data?.value;
3
+ }
4
+ export {
5
+ useComboboxControlValue
6
+ };
7
+ //# sourceMappingURL=combobox.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../src/runtimes/react/controls/combobox.ts"],"sourcesContent":["import {\n ComboboxControlData,\n ComboboxControlDefinition,\n ComboboxControlDefinitionOption,\n} from '../../../controls'\n\nexport type ComboboxControlValue<T extends ComboboxControlDefinition> =\n | ComboboxControlDefinitionOption<T>\n | undefined\n\nexport function useComboboxControlValue<T extends ComboboxControlDefinition>(\n data: ComboboxControlData<T> | undefined,\n): ComboboxControlValue<T> {\n return data?.value\n}\n"],"mappings":"AAUO,SAAS,wBACd,MACyB;AACzB,SAAO,MAAM;AACf;","names":[]}
@@ -0,0 +1,7 @@
1
+ function useIconRadioGroupValue(iconRadioGroupControlData, controlDefinition) {
2
+ return iconRadioGroupControlData ?? controlDefinition.config.defaultValue;
3
+ }
4
+ export {
5
+ useIconRadioGroupValue
6
+ };
7
+ //# sourceMappingURL=icon-radio-group.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../src/runtimes/react/controls/icon-radio-group.ts"],"sourcesContent":["import { IconRadioGroupControlData, IconRadioGroupControlDefinition } from '@makeswift/controls'\n\nexport type IconRadioGroupControlValue<T extends IconRadioGroupControlDefinition> =\n undefined extends T['config']['defaultValue']\n ? IconRadioGroupControlData | undefined\n : IconRadioGroupControlData\n\nexport function useIconRadioGroupValue<T extends IconRadioGroupControlDefinition>(\n iconRadioGroupControlData: IconRadioGroupControlData | undefined,\n controlDefinition: T,\n): IconRadioGroupControlValue<T> {\n return (iconRadioGroupControlData ??\n controlDefinition.config.defaultValue) as IconRadioGroupControlValue<T>\n}\n"],"mappings":"AAOO,SAAS,uBACd,2BACA,mBAC+B;AAC/B,SAAQ,6BACN,kBAAkB,OAAO;AAC7B;","names":[]}
@@ -0,0 +1,29 @@
1
+ import { P, match } from "ts-pattern";
2
+ import { Image } from "../../../controls";
3
+ import { useFile } from "../hooks/makeswift-api";
4
+ function useImageControlValue(data, definition) {
5
+ const format = definition.config.format ?? Image.Format.URL;
6
+ const fileId = match(data).with(P.string, (id) => id).with({ type: "makeswift-file" }, ({ id }) => id).otherwise(() => null);
7
+ const file = useFile(fileId);
8
+ return match([file, data, format]).with([{ __typename: "File" }, P.any, Image.Format.URL], ([file2]) => file2.publicUrl).with(
9
+ [{ __typename: "File", dimensions: P.not(P.nullish) }, P.any, Image.Format.WithDimensions],
10
+ ([file2]) => ({
11
+ url: file2.publicUrl,
12
+ dimensions: file2.dimensions
13
+ })
14
+ ).with([P.any, { type: "external-file" }, Image.Format.URL], ([, d]) => d.url).with(
15
+ [
16
+ P.any,
17
+ { type: "external-file", width: P.number, height: P.number },
18
+ Image.Format.WithDimensions
19
+ ],
20
+ ([, d]) => ({
21
+ url: d.url,
22
+ dimensions: { width: d.width, height: d.height }
23
+ })
24
+ ).otherwise(() => void 0);
25
+ }
26
+ export {
27
+ useImageControlValue
28
+ };
29
+ //# sourceMappingURL=image.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../src/runtimes/react/controls/image.ts"],"sourcesContent":["import { P, match } from 'ts-pattern'\n\nimport { type DataType, type ResolvedValueType } from '@makeswift/controls'\n\nimport { Image, ImageDefinition } from '../../../controls'\n\nimport { useFile } from '../hooks/makeswift-api'\n\nexport function useImageControlValue(\n data: DataType<ImageDefinition> | undefined,\n definition: ImageDefinition,\n): ResolvedValueType<ImageDefinition> {\n const format = definition.config.format ?? Image.Format.URL\n\n const fileId = match(data)\n .with(P.string, id => id)\n .with({ type: 'makeswift-file' }, ({ id }) => id)\n .otherwise(() => null)\n\n const file = useFile(fileId)\n\n return match([file, data, format])\n .with([{ __typename: 'File' }, P.any, Image.Format.URL], ([file]) => file.publicUrl)\n .with(\n [{ __typename: 'File', dimensions: P.not(P.nullish) }, P.any, Image.Format.WithDimensions],\n ([file]) => ({\n url: file.publicUrl,\n dimensions: file.dimensions,\n }),\n )\n .with([P.any, { type: 'external-file' }, Image.Format.URL], ([, d]) => d.url)\n .with(\n [\n P.any,\n { type: 'external-file', width: P.number, height: P.number },\n Image.Format.WithDimensions,\n ],\n ([, d]) => ({\n url: d.url,\n dimensions: { width: d.width, height: d.height },\n }),\n )\n .otherwise(() => undefined)\n}\n"],"mappings":"AAAA,SAAS,GAAG,aAAa;AAIzB,SAAS,aAA8B;AAEvC,SAAS,eAAe;AAEjB,SAAS,qBACd,MACA,YACoC;AACpC,QAAM,SAAS,WAAW,OAAO,UAAU,MAAM,OAAO;AAExD,QAAM,SAAS,MAAM,IAAI,EACtB,KAAK,EAAE,QAAQ,QAAM,EAAE,EACvB,KAAK,EAAE,MAAM,iBAAiB,GAAG,CAAC,EAAE,GAAG,MAAM,EAAE,EAC/C,UAAU,MAAM,IAAI;AAEvB,QAAM,OAAO,QAAQ,MAAM;AAE3B,SAAO,MAAM,CAAC,MAAM,MAAM,MAAM,CAAC,EAC9B,KAAK,CAAC,EAAE,YAAY,OAAO,GAAG,EAAE,KAAK,MAAM,OAAO,GAAG,GAAG,CAAC,CAACA,KAAI,MAAMA,MAAK,SAAS,EAClF;AAAA,IACC,CAAC,EAAE,YAAY,QAAQ,YAAY,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,KAAK,MAAM,OAAO,cAAc;AAAA,IACzF,CAAC,CAACA,KAAI,OAAO;AAAA,MACX,KAAKA,MAAK;AAAA,MACV,YAAYA,MAAK;AAAA,IACnB;AAAA,EACF,EACC,KAAK,CAAC,EAAE,KAAK,EAAE,MAAM,gBAAgB,GAAG,MAAM,OAAO,GAAG,GAAG,CAAC,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,EAC3E;AAAA,IACC;AAAA,MACE,EAAE;AAAA,MACF,EAAE,MAAM,iBAAiB,OAAO,EAAE,QAAQ,QAAQ,EAAE,OAAO;AAAA,MAC3D,MAAM,OAAO;AAAA,IACf;AAAA,IACA,CAAC,CAAC,EAAE,CAAC,OAAO;AAAA,MACV,KAAK,EAAE;AAAA,MACP,YAAY,EAAE,OAAO,EAAE,OAAO,QAAQ,EAAE,OAAO;AAAA,IACjD;AAAA,EACF,EACC,UAAU,MAAM,MAAS;AAC9B;","names":["file"]}
@@ -0,0 +1,76 @@
1
+ import { useCallback, useMemo } from "react";
2
+ import scrollIntoView from "scroll-into-view-if-needed";
3
+ import { useElementId } from "../";
4
+ import { usePagePathnameSlice } from "../hooks/makeswift-api";
5
+ function useLinkControlValue(link, _definition) {
6
+ const pageId = link && link.type === "OPEN_PAGE" ? link.payload.pageId : null;
7
+ const page = usePagePathnameSlice(pageId ?? null);
8
+ const elementKey = link?.type === "SCROLL_TO_ELEMENT" ? link.payload.elementIdConfig?.elementKey : null;
9
+ const elementId = useElementId(elementKey);
10
+ let href = "#";
11
+ let target;
12
+ let block;
13
+ if (link) {
14
+ switch (link.type) {
15
+ case "OPEN_PAGE": {
16
+ if (page)
17
+ href = `/${page.localizedPathname ?? page.pathname}`;
18
+ target = link.payload.openInNewTab ? "_blank" : "_self";
19
+ break;
20
+ }
21
+ case "OPEN_URL": {
22
+ href = link.payload.url;
23
+ target = link.payload.openInNewTab ? "_blank" : "_self";
24
+ break;
25
+ }
26
+ case "SEND_EMAIL": {
27
+ const { to, subject = "", body = "" } = link.payload;
28
+ if (to != null)
29
+ href = `mailto:${to}?subject=${subject}&body=${body}`;
30
+ break;
31
+ }
32
+ case "CALL_PHONE": {
33
+ href = `tel:${link.payload.phoneNumber}`;
34
+ break;
35
+ }
36
+ case "SCROLL_TO_ELEMENT": {
37
+ href = `#${elementId ?? ""}`;
38
+ block = link.payload.block;
39
+ break;
40
+ }
41
+ default:
42
+ throw new RangeError(`Invalid link type "${link.type}."`);
43
+ }
44
+ }
45
+ const handleClick = useCallback(
46
+ (event) => {
47
+ if (event.defaultPrevented)
48
+ return;
49
+ if (link && link.type === "SCROLL_TO_ELEMENT") {
50
+ let hash;
51
+ try {
52
+ hash = new URL(`http://www.example.com/${href}`).hash;
53
+ } catch (error) {
54
+ console.error(`Link received invalid href: ${href}`, error);
55
+ }
56
+ if (href != null && href === hash) {
57
+ event.preventDefault();
58
+ const view = event.view;
59
+ scrollIntoView(view.document.querySelector(hash), {
60
+ behavior: "smooth",
61
+ block
62
+ });
63
+ if (view.location.hash !== hash)
64
+ view.history.pushState({}, "", hash);
65
+ }
66
+ }
67
+ },
68
+ [link, href, block]
69
+ );
70
+ const res = useMemo(() => ({ href, target, onClick: handleClick }), [href, target, handleClick]);
71
+ return res;
72
+ }
73
+ export {
74
+ useLinkControlValue
75
+ };
76
+ //# sourceMappingURL=link.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../src/runtimes/react/controls/link.ts"],"sourcesContent":["import { MouseEvent, useCallback, useMemo } from 'react'\n\nimport { type DataType, type ResolvedValueType } from '@makeswift/controls'\n\nimport { LinkDefinition } from '../../../controls'\n\nimport scrollIntoView from 'scroll-into-view-if-needed'\nimport { useElementId } from '../'\nimport { usePagePathnameSlice } from '../hooks/makeswift-api'\n\nexport function useLinkControlValue(\n link: DataType<LinkDefinition> | undefined,\n _definition: LinkDefinition,\n): ResolvedValueType<LinkDefinition> {\n const pageId = link && link.type === 'OPEN_PAGE' ? link.payload.pageId : null\n const page = usePagePathnameSlice(pageId ?? null)\n\n const elementKey =\n link?.type === 'SCROLL_TO_ELEMENT' ? link.payload.elementIdConfig?.elementKey : null\n const elementId = useElementId(elementKey)\n\n let href = '#'\n let target: '_blank' | '_self' | undefined\n let block: 'start' | 'center' | 'end' | undefined\n\n if (link) {\n switch (link.type) {\n case 'OPEN_PAGE': {\n if (page) href = `/${page.localizedPathname ?? page.pathname}`\n\n target = link.payload.openInNewTab ? '_blank' : '_self'\n\n break\n }\n\n case 'OPEN_URL': {\n href = link.payload.url\n\n target = link.payload.openInNewTab ? '_blank' : '_self'\n\n break\n }\n\n case 'SEND_EMAIL': {\n const { to, subject = '', body = '' } = link.payload\n\n if (to != null) href = `mailto:${to}?subject=${subject}&body=${body}`\n\n break\n }\n\n case 'CALL_PHONE': {\n href = `tel:${link.payload.phoneNumber}`\n\n break\n }\n\n case 'SCROLL_TO_ELEMENT': {\n href = `#${elementId ?? ''}`\n block = link.payload.block\n\n break\n }\n\n default:\n throw new RangeError(`Invalid link type \"${(link as any).type}.\"`)\n }\n }\n\n const handleClick = useCallback(\n (event: MouseEvent<Element>) => {\n if (event.defaultPrevented) return\n\n if (link && link.type === 'SCROLL_TO_ELEMENT') {\n let hash: string | undefined\n\n try {\n hash = new URL(`http://www.example.com/${href}`).hash\n } catch (error) {\n console.error(`Link received invalid href: ${href}`, error)\n }\n\n if (href != null && href === hash) {\n event.preventDefault()\n const view = event.view as unknown as Window\n\n scrollIntoView(view.document.querySelector(hash)!, {\n behavior: 'smooth',\n block,\n })\n\n if (view.location.hash !== hash) view.history.pushState({}, '', hash)\n }\n }\n },\n [link, href, block],\n )\n\n const res = useMemo(() => ({ href, target, onClick: handleClick }), [href, target, handleClick])\n\n return res\n}\n"],"mappings":"AAAA,SAAqB,aAAa,eAAe;AAMjD,OAAO,oBAAoB;AAC3B,SAAS,oBAAoB;AAC7B,SAAS,4BAA4B;AAE9B,SAAS,oBACd,MACA,aACmC;AACnC,QAAM,SAAS,QAAQ,KAAK,SAAS,cAAc,KAAK,QAAQ,SAAS;AACzE,QAAM,OAAO,qBAAqB,UAAU,IAAI;AAEhD,QAAM,aACJ,MAAM,SAAS,sBAAsB,KAAK,QAAQ,iBAAiB,aAAa;AAClF,QAAM,YAAY,aAAa,UAAU;AAEzC,MAAI,OAAO;AACX,MAAI;AACJ,MAAI;AAEJ,MAAI,MAAM;AACR,YAAQ,KAAK,MAAM;AAAA,MACjB,KAAK,aAAa;AAChB,YAAI;AAAM,iBAAO,IAAI,KAAK,qBAAqB,KAAK,QAAQ;AAE5D,iBAAS,KAAK,QAAQ,eAAe,WAAW;AAEhD;AAAA,MACF;AAAA,MAEA,KAAK,YAAY;AACf,eAAO,KAAK,QAAQ;AAEpB,iBAAS,KAAK,QAAQ,eAAe,WAAW;AAEhD;AAAA,MACF;AAAA,MAEA,KAAK,cAAc;AACjB,cAAM,EAAE,IAAI,UAAU,IAAI,OAAO,GAAG,IAAI,KAAK;AAE7C,YAAI,MAAM;AAAM,iBAAO,UAAU,EAAE,YAAY,OAAO,SAAS,IAAI;AAEnE;AAAA,MACF;AAAA,MAEA,KAAK,cAAc;AACjB,eAAO,OAAO,KAAK,QAAQ,WAAW;AAEtC;AAAA,MACF;AAAA,MAEA,KAAK,qBAAqB;AACxB,eAAO,IAAI,aAAa,EAAE;AAC1B,gBAAQ,KAAK,QAAQ;AAErB;AAAA,MACF;AAAA,MAEA;AACE,cAAM,IAAI,WAAW,sBAAuB,KAAa,IAAI,IAAI;AAAA,IACrE;AAAA,EACF;AAEA,QAAM,cAAc;AAAA,IAClB,CAAC,UAA+B;AAC9B,UAAI,MAAM;AAAkB;AAE5B,UAAI,QAAQ,KAAK,SAAS,qBAAqB;AAC7C,YAAI;AAEJ,YAAI;AACF,iBAAO,IAAI,IAAI,0BAA0B,IAAI,EAAE,EAAE;AAAA,QACnD,SAAS,OAAO;AACd,kBAAQ,MAAM,+BAA+B,IAAI,IAAI,KAAK;AAAA,QAC5D;AAEA,YAAI,QAAQ,QAAQ,SAAS,MAAM;AACjC,gBAAM,eAAe;AACrB,gBAAM,OAAO,MAAM;AAEnB,yBAAe,KAAK,SAAS,cAAc,IAAI,GAAI;AAAA,YACjD,UAAU;AAAA,YACV;AAAA,UACF,CAAC;AAED,cAAI,KAAK,SAAS,SAAS;AAAM,iBAAK,QAAQ,UAAU,CAAC,GAAG,IAAI,IAAI;AAAA,QACtE;AAAA,MACF;AAAA,IACF;AAAA,IACA,CAAC,MAAM,MAAM,KAAK;AAAA,EACpB;AAEA,QAAM,MAAM,QAAQ,OAAO,EAAE,MAAM,QAAQ,SAAS,YAAY,IAAI,CAAC,MAAM,QAAQ,WAAW,CAAC;AAE/F,SAAO;AACT;","names":[]}
@@ -0,0 +1,34 @@
1
+ import { jsx } from "react/jsx-runtime";
2
+ import { useEffect, useState } from "react";
3
+ import { ControlValue } from "./control";
4
+ function ListControlValue({
5
+ definition,
6
+ data,
7
+ children,
8
+ control
9
+ }) {
10
+ const [controls, setControls] = useState(/* @__PURE__ */ new Map());
11
+ useEffect(() => {
12
+ if (control == null || data == null)
13
+ return;
14
+ const childControls = control.childControls(data.map((item) => item.id));
15
+ control.setChildControls(childControls);
16
+ setControls(childControls);
17
+ }, [data, control]);
18
+ return (data ?? []).reduce(
19
+ (renderFn, item) => (listControlValue) => /* @__PURE__ */ jsx(
20
+ ControlValue,
21
+ {
22
+ definition: definition.config.type,
23
+ data: item.value,
24
+ control: controls?.get(item.id),
25
+ children: (value) => renderFn([value, ...listControlValue])
26
+ }
27
+ ),
28
+ children
29
+ )([]);
30
+ }
31
+ export {
32
+ ListControlValue
33
+ };
34
+ //# sourceMappingURL=list.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../src/runtimes/react/controls/list.tsx"],"sourcesContent":["import { useEffect, useState } from 'react'\n\nimport { ControlInstance, type DataType, type ResolvedValueType } from '@makeswift/controls'\n\nimport { ListDefinition, ListControl } from '../../../controls'\n\nimport { ControlValue } from './control'\n\ntype ListControlValueProps = {\n definition: ListDefinition\n data: DataType<ListDefinition> | undefined\n children(value: ResolvedValueType<ListDefinition>): JSX.Element\n control: ListControl\n}\n\nexport function ListControlValue({\n definition,\n data,\n children,\n control,\n}: ListControlValueProps): JSX.Element {\n const [controls, setControls] = useState<Map<string, ControlInstance> | undefined>(new Map())\n\n useEffect(() => {\n if (control == null || data == null) return\n\n // This is not ideal because we're setting the itemsControl from the ListControlValue.\n // This is because right now we don't have a subscribeToValue function inside the control.\n // We can improve this by adding the subscribeToValue to createPropController and by\n // moving the setItemsControl to the control itself.\n const childControls = control.childControls(data.map(item => item.id))\n control.setChildControls(childControls)\n setControls(childControls)\n }, [data, control])\n\n return (data ?? []).reduce(\n (renderFn, item) => listControlValue => (\n <ControlValue\n definition={definition.config.type}\n data={item.value}\n control={controls?.get(item.id)}\n >\n {value => renderFn([value, ...listControlValue])}\n </ControlValue>\n ),\n children,\n )([])\n}\n"],"mappings":"AAqCM;AArCN,SAAS,WAAW,gBAAgB;AAMpC,SAAS,oBAAoB;AAStB,SAAS,iBAAiB;AAAA,EAC/B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAAuC;AACrC,QAAM,CAAC,UAAU,WAAW,IAAI,SAAmD,oBAAI,IAAI,CAAC;AAE5F,YAAU,MAAM;AACd,QAAI,WAAW,QAAQ,QAAQ;AAAM;AAMrC,UAAM,gBAAgB,QAAQ,cAAc,KAAK,IAAI,UAAQ,KAAK,EAAE,CAAC;AACrE,YAAQ,iBAAiB,aAAa;AACtC,gBAAY,aAAa;AAAA,EAC3B,GAAG,CAAC,MAAM,OAAO,CAAC;AAElB,UAAQ,QAAQ,CAAC,GAAG;AAAA,IAClB,CAAC,UAAU,SAAS,sBAClB;AAAA,MAAC;AAAA;AAAA,QACC,YAAY,WAAW,OAAO;AAAA,QAC9B,MAAM,KAAK;AAAA,QACX,SAAS,UAAU,IAAI,KAAK,EAAE;AAAA,QAE7B,qBAAS,SAAS,CAAC,OAAO,GAAG,gBAAgB,CAAC;AAAA;AAAA,IACjD;AAAA,IAEF;AAAA,EACF,EAAE,CAAC,CAAC;AACN;","names":[]}
@@ -0,0 +1,13 @@
1
+ import { match } from "ts-pattern";
2
+ import {
3
+ NumberControlDataTypeKey,
4
+ NumberControlDataTypeValueV1
5
+ } from "@makeswift/controls";
6
+ function useNumber(data, definition) {
7
+ const value = match(data).with({ [NumberControlDataTypeKey]: NumberControlDataTypeValueV1 }, (val) => val.value).otherwise((val) => val) ?? definition.config.defaultValue;
8
+ return value;
9
+ }
10
+ export {
11
+ useNumber
12
+ };
13
+ //# sourceMappingURL=number.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../src/runtimes/react/controls/number.ts"],"sourcesContent":["import { match } from 'ts-pattern'\nimport {\n NumberControlData,\n NumberControlDataTypeKey,\n NumberControlDataTypeValueV1,\n NumberControlDefinition,\n} from '@makeswift/controls'\n\nexport type NumberControlValue<T extends NumberControlDefinition> =\n undefined extends T['config']['defaultValue'] ? number | undefined : number\n\nexport function useNumber<T extends NumberControlDefinition>(\n data: NumberControlData | undefined,\n definition: T,\n): NumberControlValue<T> {\n const value: number | undefined =\n match(data)\n .with({ [NumberControlDataTypeKey]: NumberControlDataTypeValueV1 }, val => val.value)\n .otherwise(val => val) ?? definition.config.defaultValue\n\n return value as NumberControlValue<T>\n}\n"],"mappings":"AAAA,SAAS,aAAa;AACtB;AAAA,EAEE;AAAA,EACA;AAAA,OAEK;AAKA,SAAS,UACd,MACA,YACuB;AACvB,QAAM,QACJ,MAAM,IAAI,EACP,KAAK,EAAE,CAAC,wBAAwB,GAAG,6BAA6B,GAAG,SAAO,IAAI,KAAK,EACnF,UAAU,SAAO,GAAG,KAAK,WAAW,OAAO;AAEhD,SAAO;AACT;","names":[]}
@@ -0,0 +1,7 @@
1
+ function useSelectControlValue(data, definition) {
2
+ return data ?? definition?.config.defaultValue;
3
+ }
4
+ export {
5
+ useSelectControlValue
6
+ };
7
+ //# sourceMappingURL=select.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../src/runtimes/react/controls/select.ts"],"sourcesContent":["import {\n SelectControlData,\n SelectControlDefinition,\n SelectControlDefinitionOption,\n} from '../../../controls'\n\nexport type SelectControlValue<T extends SelectControlDefinition> =\n undefined extends T['config']['defaultValue']\n ? SelectControlDefinitionOption<T> | undefined\n : SelectControlDefinitionOption<T>\n\nexport function useSelectControlValue<T extends SelectControlDefinition>(\n data: SelectControlData<T> | undefined,\n definition: T,\n): SelectControlValue<T> {\n return (data ?? definition?.config.defaultValue) as SelectControlValue<T>\n}\n"],"mappings":"AAWO,SAAS,sBACd,MACA,YACuB;AACvB,SAAQ,QAAQ,YAAY,OAAO;AACrC;","names":[]}
@@ -0,0 +1,20 @@
1
+ import { jsx } from "react/jsx-runtime";
2
+ import { ControlValue } from "./control";
3
+ function ShapeControlValue({ definition, data, children, control }) {
4
+ return Object.entries(definition.config.type).reduceRight(
5
+ (renderFn, [key, controlDefinition]) => (shapeControlValue) => /* @__PURE__ */ jsx(
6
+ ControlValue,
7
+ {
8
+ definition: controlDefinition,
9
+ data: data?.[key],
10
+ control: control?.child(key),
11
+ children: (value) => renderFn({ ...shapeControlValue, [key]: value })
12
+ }
13
+ ),
14
+ children
15
+ )({});
16
+ }
17
+ export {
18
+ ShapeControlValue
19
+ };
20
+ //# sourceMappingURL=shape.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../src/runtimes/react/controls/shape.tsx"],"sourcesContent":["import { type DataType, type ResolvedValueType } from '@makeswift/controls'\n\nimport { ShapeControl, ShapeDefinition } from '../../../controls'\n\nimport { ControlValue } from './control'\n\ntype ShapeControlValueProps = {\n definition: ShapeDefinition\n data: DataType<ShapeDefinition> | undefined\n children(value: ResolvedValueType<ShapeDefinition>): JSX.Element\n control: ShapeControl\n}\n\nexport function ShapeControlValue({ definition, data, children, control }: ShapeControlValueProps) {\n return Object.entries(definition.config.type).reduceRight(\n (renderFn, [key, controlDefinition]) =>\n shapeControlValue => (\n <ControlValue\n definition={controlDefinition}\n data={data?.[key]}\n control={control?.child(key)}\n >\n {value => renderFn({ ...shapeControlValue, [key]: value })}\n </ControlValue>\n ),\n children,\n )({} as ResolvedValueType<ShapeDefinition>)\n}\n"],"mappings":"AAiBQ;AAbR,SAAS,oBAAoB;AAStB,SAAS,kBAAkB,EAAE,YAAY,MAAM,UAAU,QAAQ,GAA2B;AACjG,SAAO,OAAO,QAAQ,WAAW,OAAO,IAAI,EAAE;AAAA,IAC5C,CAAC,UAAU,CAAC,KAAK,iBAAiB,MAChC,uBACE;AAAA,MAAC;AAAA;AAAA,QACC,YAAY;AAAA,QACZ,MAAM,OAAO,GAAG;AAAA,QAChB,SAAS,SAAS,MAAM,GAAG;AAAA,QAE1B,qBAAS,SAAS,EAAE,GAAG,mBAAmB,CAAC,GAAG,GAAG,MAAM,CAAC;AAAA;AAAA,IAC3D;AAAA,IAEJ;AAAA,EACF,EAAE,CAAC,CAAuC;AAC5C;","names":[]}